/*
Theme Name: グローバルコミュニケーションズ
Version: 1.0
*/
@charset "utf-8";
@import url(/css/default.css);
@import url(/css/base.css);


/*####################################################################################

  	トップページ

　####################################################################################*/

/* ==================================================
    メインビジュアル
   ================================================== */

	#mainvisual {
		position: relative;
		overflow: hidden;
		background: #0f354d;
	}

		#mainvisual .mv_img {
			margin: 0;
		}

			#mainvisual .mv_img img {
				display: block;
				width: 100%;
				height: auto;
			}

			@media screen and (max-width: 767px) {
				#mainvisual .mv_img img {
					height: 240px;
					object-fit: cover;
					object-position: 70% center; /* 機器が写っている側を残す */
				}
			}

/* テキスト */
		#mainvisual .mv_text {
			position: absolute;
			top: 50%;
			left: 6%;
			transform: translateY(-50%);
			color: #fff;
		}

		@media screen and (max-width: 1000px) {
			#mainvisual .mv_text {
				left: 5%;
			}
		}

		@media screen and (max-width: 767px) {
			#mainvisual .mv_text {
				position: static;
				transform: none;
				padding: 28px 5% 32px;
			}
		}

		#mainvisual .mv_catch {
			margin: 0 0 0.6em;
			font-family: 'Sawarabi Mincho', Helvetica, Arial, sans-serif;
			font-size: clamp(26px, 3.34vw, 64px);   /* 1920px幅で64px */
			font-weight: 700;
			line-height: 1.625;
			letter-spacing: 0.02em;
			white-space: nowrap;
			animation: mvFadeUp 1.2s ease-out 0.6s both;
		}

		@media screen and (max-width: 767px) {
			#mainvisual .mv_catch {
				font-size: 24px;
				line-height: 1.6;
				white-space: normal;
			}
		}

		#mainvisual .mv_lead {
			margin: 0;
			font-size: clamp(14px, 1.36vw, 26px);   /* 1920px幅で26px */
			line-height: 1.95;
			letter-spacing: 0.04em;
			animation: mvFadeUp 1.2s ease-out 1s both;
		}

		@media screen and (max-width: 767px) {
			#mainvisual .mv_lead {
				font-size: 14px;
				line-height: 1.9;
				letter-spacing: 0;
			}
		}

			@media screen and (max-width: 767px) {
				#mainvisual .mv_lead br {
					display: none;
				}
			}

@keyframes mvFadeUp {
	from { opacity: 0; transform: translateY(16px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ==================================================
    すべてはお客様のために
   ================================================== */

	.home_advantage {
		padding: 70px 5% 90px;
		text-align: center;
	}

	@media screen and (max-width: 1000px) {
		.home_advantage {
			padding: 56px 5% 70px;
		}
	}

	@media screen and (max-width: 767px) {
		.home_advantage {
			padding: 44px 5% 56px;
		}
	}

		.home_advantage h2 {
			margin: 0 0 40px;
			color: #005080;
			font-size: 60px;
			font-family: 'Sawarabi Mincho', Helvetica, Arial, sans-serif;
			line-height: 1.4;
			letter-spacing: 0.05em;
		}

		@media screen and (max-width: 1440px) {
			.home_advantage h2 {
				font-size: 48px;
			}
		}

		@media screen and (max-width: 1000px) {
			.home_advantage h2 {
				margin-bottom: 28px;
				font-size: 36px;
			}
		}

		@media screen and (max-width: 767px) {
			.home_advantage h2 {
				font-size: 26px;
				letter-spacing: 0.02em;
			}
		}

		.home_advantage .advantage_lead {
			margin: 0 0 70px;
			font-size: 24px;
			font-weight: 700;
			line-height: 1.75;
		}

		@media screen and (max-width: 1440px) {
			.home_advantage .advantage_lead {
				font-size: 20px;
			}
		}

		@media screen and (max-width: 1000px) {
			.home_advantage .advantage_lead {
				margin-bottom: 50px;
				font-size: 17px;
			}
		}

		@media screen and (max-width: 767px) {
			.home_advantage .advantage_lead {
				margin-bottom: 36px;
				font-size: 15px;
				text-align: left;
			}
		}

			@media screen and (max-width: 767px) {
				.home_advantage .advantage_lead br {
					display: none;
				}
			}

/* 3つの強み：横並び＋背面に連結線 */

		.advantage_points {
			position: relative;
			display: flex;
			justify-content: center;
			max-width: 1600px;
			margin: 0 auto;
			padding: 0;
			list-style: none;
		}

		@media screen and (max-width: 767px) {
			.advantage_points {
				display: block;
			}
		}

		.advantage_points::before {
			content: "";
			position: absolute;
			top: 50%; 
			left: 20%;
			right: 20%;
			height: 4px;
			background: #479ed4;
		}

		@media screen and (max-width: 767px) {
			.advantage_points::before {
				top: 40px;
				bottom: 40px;
				left: 50%;
				right: auto;
				width: 4px;
				height: auto;
				margin-left: -2px;
			}
		}

			.advantage_points li {
				position: relative;
				z-index: 1;
				flex: 1;
				max-width: 500px;
				box-sizing: border-box;
				padding: 34px 32px 42px;
				background: #ccebff;
				border-radius: 10px;
				overflow: hidden;
				text-align: left;
			}

			@media screen and (max-width: 1440px) {
				.advantage_points li {
					padding: 28px 24px 34px;
				}
			}

			@media screen and (max-width: 1000px) {
				.advantage_points li {
					padding: 24px 18px 28px;
				}
			}

			@media screen and (max-width: 767px) {
				.advantage_points li {
					max-width: none;
					padding: 22px 20px 24px;
				}
			}

			.advantage_points li + li {
				margin-left: 50px;
			}

			@media screen and (max-width: 1440px) {
				.advantage_points li + li {
					margin-left: 30px;
				}
			}

			@media screen and (max-width: 1000px) {
				.advantage_points li + li {
					margin-left: 20px;
				}
			}

			@media screen and (max-width: 767px) {
				.advantage_points li + li {
					margin: 24px 0 0;
				}
			}

		/* 左上の三角 */
			.advantage_points li::before {
				content: "";
				position: absolute;
				top: 0;
				left: 0;
				width: 0;
				height: 0;
				border-top: 62px solid #99d8ff;
				border-right: 62px solid transparent;
			}

			@media screen and (max-width: 767px) {
				.advantage_points li::before {
					border-top-width: 40px;
					border-right-width: 40px;
				}
			}

			.advantage_points h4 {
				margin: 0 0 20px;
				color: #005080;
				font-size: 27px;
				font-weight: 700;
				line-height: 1.4;
				text-align: center;
			}

			@media screen and (max-width: 1440px) {
				.advantage_points h4 {
					font-size: 22px;
				}
			}

			@media screen and (max-width: 1000px) {
				.advantage_points h4 {
					margin-bottom: 14px;
					font-size: 18px;
				}
			}

			@media screen and (max-width: 767px) {
				.advantage_points h4 {
					font-size: 18px;
				}
			}

/* ================================================== */

			.advantage_points h4 br {
				display: none;
			}

			@media screen and (max-width: 1600px) {
				.advantage_points h4 br {
					display: inline;
				}
			}

			@media screen and (max-width: 770px) {
				.advantage_points h4 br {
					display: none;
				}
			}

/* ================================================== */


			.advantage_points p {
				margin: 0;
				font-size: 18px;
				line-height: 1.9;
			}

			@media screen and (max-width: 1440px) {
				.advantage_points p {
					font-size: 16px;
				}
			}

			@media screen and (max-width: 1000px) {
				.advantage_points p {
					font-size: 14px;
					line-height: 1.8;
				}
			}



		/* ボタン */

		.home_advantage .btn_more {
			margin: 80px 0 0;
		}

		@media screen and (max-width: 1000px) {
			.home_advantage .btn_more {
				margin-top: 56px;
			}
		}

		@media screen and (max-width: 767px) {
			.home_advantage .btn_more {
				margin-top: 40px;
			}
		}

			.home_advantage .btn_more a {
				position: relative;
				display: inline-block;
				box-sizing: border-box;
				width: 480px;
				max-width: 100%;
				height: 50px;
				padding: 0 40px;
				color: #fff;
				background: #5cb1e6;
				border-radius: 25px;
				font-size: 18px;
				font-weight: 700;
				line-height: 50px;
				text-decoration: none;
				transition: background 0.2s;
			}

			@media screen and (max-width: 767px) {
				.home_advantage .btn_more a {
					font-size: 15px;
				}
			}

			.home_advantage .btn_more a::after {
				/* 右端の黄色い矢印 */
				content: "";
				position: absolute;
				top: 50%;
				right: 24px;
				width: 10px;
				height: 10px;
				margin-top: -6px;
				border-top: 2px solid #f7fb09;
				border-right: 2px solid #f7fb09;
				transform: rotate(45deg);
				transition: right 0.2s;
			}

			.home_advantage .btn_more a:hover {
				background: #3d9ad6;
			}

			.home_advantage .btn_more a:hover::after {
				right: 18px;
			}


/* ==================================================
   共通：セクション見出し
   ================================================== */

		.sec_ttl h2 {
			margin: 0;
			color: #4d0f0f;
			font-size: 27px;
			font-weight: 700;
			line-height: 1.3;
			letter-spacing: 0.05em;
		}

		@media screen and (max-width: 1000px) {
			.sec_ttl h2 {
				font-size: 22px;
			}
		}

		@media screen and (max-width: 767px) {
			.sec_ttl h2 {
				font-size: 18px;
			}
		}

		.sec_ttl p {
			margin: 0;
			color: #d1c6c5;
			font-size: 60px;
			font-weight: 700;
			line-height: 1.1;
			letter-spacing: 0.02em;
		}

		@media screen and (max-width: 1440px) {
			.sec_ttl p {
				font-size: 50px;
			}
		}

		@media screen and (max-width: 1000px) {
			.sec_ttl p {
				font-size: 42px;
			}
		}

		@media screen and (max-width: 767px) {
			.sec_ttl p {
				font-size: 34px;
			}
		}

/* ==================================================
   トップページ：事業内容
   デザイン案：背景 #f1f2f1／左端に白丸の装飾／写真600×600
   ================================================== */

	.home_service {
		position: relative;
		overflow: hidden;
		padding: 84px 5% 86px;
		background: #f1f2f1;
	}

	@media screen and (max-width: 1000px) {
		.home_service {
			padding: 60px 5% 64px;
		}
	}

	@media screen and (max-width: 767px) {
		.home_service {
			padding: 44px 5% 52px;
		}
	}

	.home_service::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 240px;
		height: 1080px;
		pointer-events: none;
		background:
		radial-gradient(circle at  47px 112px, rgba(255,255,255,0.5) 100px, rgba(255,255,255,0) 101px),
		radial-gradient(circle at 133px 259px, rgba(255,255,255,0.5) 100px, rgba(255,255,255,0) 101px),
		radial-gradient(circle at  80px 394px, rgba(255,255,255,0.5) 100px, rgba(255,255,255,0) 101px),
		radial-gradient(circle at 135px 618px, rgba(255,255,255,0.5) 100px, rgba(255,255,255,0) 101px),
		radial-gradient(circle at 133px 829px, rgba(255,255,255,0.5) 100px, rgba(255,255,255,0) 101px),
		radial-gradient(circle at  90px 957px, rgba(255,255,255,0.5) 100px, rgba(255,255,255,0) 101px);
	}

	@media screen and (max-width: 1800px) {
		.home_service::before {
			opacity: 0.6;
		}
	}

	@media screen and (max-width: 767px) {
		.home_service::before {
			display: none;
		}
	}

		.home_service .inner {
			position: relative;
			z-index: 1;
			left: 100px;
			max-width: 1400px;
			margin: 0 auto;
		}

		@media screen and (max-width: 1800px) {
			.home_service .inner {
				left: 0;
			}
		}

		.home_service .sec_ttl {
			margin-bottom: 37px;
		}

		@media screen and (max-width: 1000px) {
			.home_service .sec_ttl {
				margin-bottom: 30px;
			}
		}


		.home_service .body {
			display: flex;
			justify-content: space-between;
			align-items: flex-start;
		}

		@media screen and (max-width: 767px) {
			.home_service .body {
				display: block;
			}
		}

		.home_service .body ul{
			flex: 1;
			max-width: 720px;
			margin: 0;
			padding: 0;
			list-style: none;
		}

			@media screen and (max-width: 1000px) {
				.home_service .svc_list p,
		.home_service .body ul li li {
					font-size: 14px;
				}
			}

			.home_service .body ul > li + li {
				margin-top: 72px;
			}

			@media screen and (max-width: 1440px) {
				.home_service .body ul > li + li {
					margin-top: 56px;
				}
			}

			@media screen and (max-width: 1000px) {
				.home_service .body ul > li + li {
					margin-top: 40px;
				}
			}

			.home_service .body ul h3 {
				margin: 0 0 30px;
				color: #005080;
				font-size: 27px;
				font-weight: 700;
				line-height: 1.4;
				letter-spacing: 0.05em;
			}

			@media screen and (max-width: 1440px) {
				.home_service .body ul h3 {
					margin-bottom: 22px;
					font-size: 24px;
				}
			}

			@media screen and (max-width: 1000px) {
				.home_service .body ul h3 {
					margin-bottom: 14px;
					font-size: 20px;
				}
			}

			@media screen and (max-width: 767px) {
				.home_service .body ul h3 {
					font-size: 18px;
				}
			}

			.home_service .body ul p,
			.home_service .body ul li li {
				margin: 0;
				font-size: 16px;
				line-height: 1.75;
			}

			.home_service .body ul ul {
				margin: 0;
				padding: 0;
				list-style: none;
			}

			.home_service .body ul li li {
				position: relative;
				padding-left: 1.2em;
			}

			.home_service .body ul li li::before {
				content: "・";
				position: absolute;
				left: 0;
			}

			.home_service .body ul strong {
				font-weight: 700;
			}

		.home_service .service-image {
			flex: 0 0 600px;
			margin: 0 0 0 80px;
		}

		@media screen and (max-width: 1440px) {
			.home_service .service-image {
				flex-basis: 480px;
				margin-left: 60px;
			}
		}

		@media screen and (max-width: 1000px) {
			.home_service .service-image {
				flex-basis: 40%;
				margin-left: 40px;
			}
		}

		@media screen and (max-width: 767px) {
			.home_service .service-image {
				max-width: 360px;
				width:80%;
				margin: 36px auto 0;
			}
		}

			.home_service .service-image img {
				display: block;
				width: 100%;
				height: auto;
				aspect-ratio: 1 / 1;
				object-fit: cover;
			}

/* 枠線ボタン（赤い細長の矢印） */
	.btn_line {
		margin: 0;
		text-align: center;
	}

		.home_service .btn_line {
			position: relative;
			z-index: 1;
			margin-top: 141px;
		}

		@media screen and (max-width: 1440px) {
			.home_service .btn_line {
				margin-top: 100px;
			}
		}

		@media screen and (max-width: 1000px) {
			.home_service .btn_line {
				margin-top: 64px;
			}
		}

		@media screen and (max-width: 767px) {
			.home_service .btn_line {
				margin-top: 40px;
			}
		}

		.btn_line a {
			position: relative;
			display: inline-block;
			box-sizing: border-box;
			width: 480px;
			max-width: 100%;
			height: 50px;
			padding: 0 40px;
			color: #4d0f0f;
			border: 1px solid #4c4c4c;
			border-radius: 25px;
			font-size: 18px;
			font-weight: 700;
			line-height: 48px;
			text-decoration: none;
			transition: background 0.2s;
		}

		@media screen and (max-width: 767px) {
			.btn_line a {
				font-size: 15px;
			}
		}

		.btn_line a::after {
			content: "";
			position: absolute;
			top: 50%;
			right: 22px;
			width: 13px;
			height: 27px;
			margin-top: -13px;
			background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 27'%3E%3Cpath d='M1 1l11 12.5L1 26' fill='none' stroke='%23e65c5c' stroke-width='2'/%3E%3C/svg%3E") no-repeat center / contain;
			transition: right 0.2s;
		}

		.btn_line a:hover {
			background: #fff;
		}

		.btn_line a:hover::after {
			right: 16px;
		}

/* ==================================================
   特別なお客様へ（クルーザー案内バナー）
   ================================================== */

	.home_special {
		padding: 82px 5% 100px;
		background: #ccebff;
	}

	@media screen and (max-width: 1000px) {
		.home_special {
			padding: 60px 5% 70px;
		}
	}

	@media screen and (max-width: 767px) {
		.home_special {
			padding: 44px 5% 52px;
		}
	}

		.home_special .inner {
			position: relative;
			left: 100px;                 /* 事業内容と左端を揃える */
			max-width: 1400px;
			margin: 0 auto;
		}

		@media screen and (max-width: 1800px) {
			.home_special .inner {
				left: 0;
			}
		}

		.home_special .sec_ttl {
			margin-bottom: 66px;
		}

		@media screen and (max-width: 1000px) {
			.home_special .sec_ttl {
				margin-bottom: 36px;
			}
		}

		@media screen and (max-width: 767px) {
			.home_special .sec_ttl {
				margin-bottom: 28px;
			}
		}

			.home_special .sec_ttl h2 {
				color: #005080;
			}

			.home_special .sec_ttl h2 span {
				/* 【お取引先様限定】だけ明朝 */
				font-family: 'Sawarabi Mincho', Helvetica, Arial, sans-serif;
				font-weight: 700;
				letter-spacing: 0;
			}

			@media screen and (max-width: 767px) {
				.home_special .sec_ttl h2 span {
					display: block;          /* 【お取引先様限定】を2行目に */
					margin-left: -0.5em;     /* 先頭の【の余白を詰める */
				}
			}

			.home_special .sec_ttl p {
				color: #fff;
			}

		.home_special .body {
			display: flex;
			align-items: flex-start;
		}

		@media screen and (max-width: 1000px) {
			/* 1000px以下：バナーを中央に、案内文はその下 */
			.home_special .body {
				display: block;
			}
		}

		.home_special .sp_ban {
			flex: 0 1 770px;             /* 幅が足りなければ案内文と同じ比率で縮む */
			min-width: 0;
			margin: 0;
			line-height: 0;
		}

		@media screen and (max-width: 1000px) {
			.home_special .sp_ban {
				max-width: 640px;
				width:90%;
				margin: 0 auto;
			}
		}

			.home_special .sp_ban a {
				display: block;
				transition: opacity 0.2s;
			}

			.home_special .sp_ban a:hover {
				opacity: 0.85;
			}

			.home_special .sp_ban img {
				display: block;
				width: 100%;
				height: auto;
			}

		.home_special .sp_text {
			flex: 0 1 390px;
			min-width: 0;
			margin: -6px 0 0 49px;       /* 1行目をバナー上端に揃える */
			color: #005080;
			font-size: 18px;
			font-weight: 400;
			line-height: 1.78;
		}

		@media screen and (max-width: 1000px) {
			.home_special .sp_text {
				max-width: 640px;
				margin: 24px auto 0;
				font-size: 16px;
			}
		}

		@media screen and (max-width: 767px) {
			.home_special .sp_text {
				margin-top: 18px;
				font-size: 14px;
			}
		}

/* ==================================================
    お知らせ
   ================================================== */

	.home_news {
		padding: 92px 5% 93px;
		background: #fff;
	}

	@media screen and (max-width: 1000px) {
		.home_news {
			padding: 60px 5% 64px;
		}
	}

	@media screen and (max-width: 767px) {
		.home_news {
			padding: 44px 5% 52px;
		}
	}

		.home_news .inner {
			position: relative;
			left: 100px;                 /* 事業内容・特別なお客様へと左端を揃える */
			display: flex;
			align-items: flex-start;
			max-width: 1400px;
			margin: 0 auto;
		}

		@media screen and (max-width: 1800px) {
			.home_news .inner {
				left: 0;
			}
		}

		@media screen and (max-width: 1000px) {
			.home_news .inner {
				display: block;
			}
		}

		.home_news .sec_ttl {
			flex: 0 0 360px;
		}

		@media screen and (max-width: 1200px) {
			.home_news .sec_ttl {
				flex-basis: 280px;
			}
		}

		@media screen and (max-width: 1000px) {
			.home_news .sec_ttl {
				margin-bottom: 30px;
			}
		}

		@media screen and (max-width: 767px) {
			.home_news .sec_ttl {
				margin-bottom: 24px;
			}
		}

			.home_news .sec_ttl h2 {
				color: #005080;
			}

			.home_news .sec_ttl p {
				color: #dbcfcf;              /* 白背景上での #4d0f0f の20%相当 */
			}

/* 一覧 */
		.home_news .inner ul{
			flex: 1;
			min-width: 0;
			margin: 0;
			padding: 0;
			list-style: none;
		}

			.home_news .inner ul li {
				display: flex;
				align-items: baseline;
				font-size: 14px;
				line-height: 1.6;
			}

			@media screen and (max-width: 767px) {
				.home_news .inner ul li {
					display: block;          /* 日付の下にタイトル */
					padding-bottom: 14px;
					border-bottom: 1px solid #e3e6ea;
				}
			}

			.home_news .inner ul li + li {
				margin-top: 28px;
			}

			@media screen and (max-width: 767px) {
				.home_news .inner ul li + li {
					margin-top: 14px;
				}
			}

			.home_news .inner ul time {
				flex: 0 0 103px;
				font-size: 13px;
			}

			@media screen and (max-width: 767px) {
				.home_news .inner ul time {
					display: block;
					margin-bottom: 2px;
					color: #005080;
				}
			}

			.home_news .inner ul time::before {
				content: "[";
			}

			.home_news .inner ul time::after {
				content: "]";
			}

			.home_news .inner ul a {
				color: #000;
				text-decoration: none;
				transition: color 0.2s;
			}

			.home_news .inner ul a:hover {
				color: #005080;
				text-decoration: underline;
			}

/* 紺の塗りボタン（黄色の細長い矢印） */
	.btn_navy {
		margin: 0;
		text-align: center;
	}

		.home_news .btn_navy {
			margin-top: 87px;
		}

		@media screen and (max-width: 1000px) {
			.home_news .btn_navy {
				margin-top: 50px;
			}
		}

		@media screen and (max-width: 767px) {
			.home_news .btn_navy {
				margin-top: 36px;
			}
		}

		.btn_navy a {
			position: relative;
			display: inline-block;
			box-sizing: border-box;
			width: 480px;
			max-width: 100%;
			height: 50px;
			padding: 0 40px;
			color: #fff;
			background: #005080;
			border-radius: 25px;
			font-size: 18px;
			font-weight: 700;
			line-height: 50px;
			text-decoration: none;
			transition: background 0.2s;
		}

		@media screen and (max-width: 767px) {
			.btn_navy a {
				font-size: 15px;
			}
		}

		.btn_navy a::after {
			content: "";
			position: absolute;
			top: 50%;
			right: 22px;
			width: 13px;
			height: 27px;
			margin-top: -13px;
			background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 27'%3E%3Cpath d='M1 1l11 12.5L1 26' fill='none' stroke='%23ffff00' stroke-width='2'/%3E%3C/svg%3E") no-repeat center / contain;
			transition: right 0.2s;
		}

		.btn_navy a:hover {
			background: #1a6fa8;
		}

		.btn_navy a:hover::after {
			right: 16px;
		}





/*####################################################################################

  	挨拶・理念

　####################################################################################*/

/* ==================================================
    代表挨拶
   ================================================== */

	.president-message{
		padding: 72px 5% 74px;
		background:
			linear-gradient(rgba(255, 255, 255, 0) 68%, #fff 90%) no-repeat center -118px / 1920px 800px,
			url(/images/bg_message.jpg) no-repeat center -118px / 1920px 800px,
			#fff;
	}

@media screen and (max-width: 1000px) {
	.president-message{
		padding-top: 30px;
		background-size: 1400px 583px;
		background-position: center -86px;
	}
}

@media screen and (max-width: 767px) {
	.president-message{
		padding: 24px 5% 60px;
		background-size: 960px 400px;
		background-position: center -59px;
	}
}

		.president-message .msg_en {
			margin: 0;
			font-family: "Source Sans 3", sans-serif;
			color: rgba(255, 255, 255, 0.5);
			font-size: 200px;
			font-weight: 700;
			line-height: 1.2;
			letter-spacing: 0;
			text-align: center;
		}

	@media screen and (max-width: 1000px) {
		.president-message .msg_en {
			font-size: 130px;
		}
	}

	@media screen and (max-width: 767px) {
		.president-message .msg_en {
			font-size: 76px;
		}
	}

		.president-message .inner {
			max-width: 1000px;
			margin: 0 auto;
		}

		.president-message h3 {
			margin: 92px 0 78px;
			color: #000;
			font-family: 'Sawarabi Mincho', Helvetica, Arial, sans-serif;
			font-size: 42px;
			font-weight: 400;
			line-height: 1.67;
			letter-spacing: 0.04em;
			text-shadow: 0 0 4px #fff, 0 0 4px #fff, 0 0 8px #fff, 0 0 4px #fff, 0 0 4px #fff,
				0 0 4px #fff, 0 0 4px #fff, 0 0 8px #fff, 0 0 4px #fff, 0 0 4px #fff;
		}

	@media screen and (max-width: 1000px) {
		.president-message h3 {
			margin: 60px 0 48px;
			font-size: 32px;
		}
	}

	@media screen and (max-width: 767px) {
		.president-message h3 {
			margin: 70px 0 36px;
			font-size: 21px;
			letter-spacing: 0;
		}
	}

		@media screen and (max-width: 767px) {
			.president-message h3 br {
				display: none;
			}
		}

			.president-message .body p {
				margin: 0 0 36px;
				font-size: 18px;
				line-height: 2;
			}

		@media screen and (max-width: 1000px) {
			.president-message .body p {
				font-size: 16px;
			}
		}

		@media screen and (max-width: 767px) {
			.president-message .body p {
				margin-bottom: 24px;
				font-size: 14px;
				line-height: 1.9;
			}
		}

		.president-message .sign {
			margin: 50px 0 0;
			font-size: 16px;
			line-height: 1.85;
			text-align: right;
		}

	@media screen and (max-width: 767px) {
		.president-message .sign {
			margin-top: 36px;
			font-size: 14px;
		}
	}

			.president-message .sign strong {
				display: block;
				margin-top: 6px;
				font-family: 'Sawarabi Mincho', Helvetica, Arial, sans-serif;
				font-size: 24px;
				font-weight: 400;
				letter-spacing: 0.1em;
			}

		@media screen and (max-width: 767px) {
			.president-message .sign strong {
				font-size: 20px;
			}
		}

/* ==================================================
    企業理念・行動指針
   ================================================== */

	.philosophy {
		padding: 94px 5% 113px;
		background: #ccebff;
	}

@media screen and (max-width: 1000px) {
	.philosophy {
		padding: 60px 5% 70px;
	}
}

@media screen and (max-width: 767px) {
	.philosophy {
		padding: 44px 5% 52px;
	}
}

		.philosophy .inner {
			max-width: 1200px;
			margin: 0 auto;
		}

			.philosophy .sec_ttl h2 {
				color: #0f354d;
			}

			.philosophy .sec_ttl p {
				color: #a4cde6;
			}

		.philosophy .catch {
			margin: 56px 0 0;
			color: #005080;
			font-size: 60px;
			font-family: 'Sawarabi Mincho', Helvetica, Arial, sans-serif;
			line-height: 1.4;
			letter-spacing: 0.05em;
			text-align: center;
		}

	@media screen and (max-width: 1440px) {
		.philosophy .catch {
			font-size: 48px;
		}
	}

	@media screen and (max-width: 1000px) {
		.philosophy .catch {
			margin-top: 40px;
			font-size: 36px;
		}
	}

	@media screen and (max-width: 767px) {
		.philosophy .catch {
			margin-top: 32px;
			font-size: 26px;
			letter-spacing: 0.02em;
		}
	}

		.philosophy .lead {
			margin: 44px 0 0;
			font-size: 24px;
			font-weight: 700;
			line-height: 1.75;
			text-align: center;
		}

	@media screen and (max-width: 1440px) {
		.philosophy .lead {
			font-size: 20px;
		}
	}

	@media screen and (max-width: 1000px) {
		.philosophy .lead {
			margin-top: 28px;
			font-size: 17px;
		}
	}

	@media screen and (max-width: 767px) {
		.philosophy .lead {
			margin-top: 20px;
			font-size: 15px;
		}
	}

/* 行動指針：紺の丸 */

		.philosophy .principles_ttl {
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
			width: 180px;
			height: 180px;
			margin: 86px auto 35px;
			color: #fff;
			background: #0f354d;
			border-radius: 50%;
		}

	@media screen and (max-width: 1000px) {
		.philosophy .principles_ttl {
			width: 150px;
			height: 150px;
			margin: 50px auto 30px;
		}
	}

	@media screen and (max-width: 767px) {
		.philosophy .principles_ttl {
			width: 120px;
			height: 120px;
			margin: 40px auto 24px;
		}
	}

			.philosophy .principles_ttl h3 {
				margin: 0;
				font-size: 27px;
				font-weight: 700;
				line-height: 1.3;
				letter-spacing: 0.05em;
			}

		@media screen and (max-width: 1000px) {
			.philosophy .principles_ttl h3 {
				font-size: 22px;
			}
		}

		@media screen and (max-width: 767px) {
			.philosophy .principles_ttl h3 {
				font-size: 18px;
			}
		}

			.philosophy .principles_ttl p {
				margin: 0;
				color: rgba(255, 255, 255, 0.5);
				font-size: 32px;
				font-weight: 700;
				line-height: 1.2;
			}

		@media screen and (max-width: 1000px) {
			.philosophy .principles_ttl p {
				font-size: 26px;
			}
		}

		@media screen and (max-width: 767px) {
			.philosophy .principles_ttl p {
				font-size: 21px;
			}
		}

/* 行動指針：2列×2段のカード */

		.philosophy .principles {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 20px 24px;
			margin: 0;
			padding: 0;
			list-style: none;
		}

	@media screen and (max-width: 767px) {
		.philosophy .principles {
			grid-template-columns: 1fr;
			gap: 14px;
		}
	}

			.philosophy .principles li {
				padding: 32px 50px 30px;
				background: #fff;
				border-radius: 6px;
			}

		@media screen and (max-width: 1000px) {
			.philosophy .principles li {
				padding: 26px 28px 30px;
			}
		}

		@media screen and (max-width: 767px) {
			.philosophy .principles li {
				padding: 20px 20px 22px;
			}
		}

			.philosophy .principles h4 {
				margin: 0 0 22px;
				color: #003366;
				font-size: 32px;
				font-weight: 700;
				line-height: 1.4;
				letter-spacing: 0.08em;
			}

		@media screen and (max-width: 1440px) {
			.philosophy .principles h4 {
				font-size: 26px;
			}
		}

		@media screen and (max-width: 1000px) {
			.philosophy .principles h4 {
				margin-bottom: 14px;
				font-size: 21px;
				letter-spacing: 0.04em;
			}
		}

		@media screen and (max-width: 767px) {
			.philosophy .principles h4 {
				margin-bottom: 8px;
				font-size: 18px;
			}
		}

			.philosophy .principles p {
				margin: 0;
				font-size: 18px;
				line-height: 1.6;
			}

		@media screen and (max-width: 1440px) {
			.philosophy .principles p {
				font-size: 16px;
			}
		}

		@media screen and (max-width: 1000px) {
			.philosophy .principles p {
				font-size: 15px;
			}
		}

		@media screen and (max-width: 767px) {
			.philosophy .principles p {
				font-size: 14px;
			}
		}




/*####################################################################################

  	当社の強み

　####################################################################################*/


/* ==================================================
    ワンストップ対応・3つの強み
   ================================================== */

	.advantage .intro {
		padding: 96px 5% 101px;
	}

@media screen and (max-width: 1000px) {
	#.advantage .intro {
		padding: 60px 5% 70px;
	}
}

@media screen and (max-width: 767px) {
	.advantage .intro {
		padding: 40px 5% 52px;
	}
}

		.advantage .intro .inner {
			max-width: 1000px;
			margin: 0 auto;
		}

		.advantage .intro h3 {
			margin: 0 0 52px;
			font-family: 'Sawarabi Mincho', Helvetica, Arial, sans-serif;
			font-size: 42px;
			font-weight: 400;
			line-height: 1.67;
			letter-spacing: 0.04em;
		}

	@media screen and (max-width: 1000px) {
		.advantage .intro h3 {
			margin-bottom: 36px;
			font-size: 32px;
		}
	}

	@media screen and (max-width: 767px) {
		.advantage .intro h3 {
			margin-bottom: 24px;
			font-size: 22px;
			letter-spacing: 0;
		}
	}

		.advantage .intro .intro_lead {
			margin: 0;
			font-size: 18px;
			line-height: 2;
		}

	@media screen and (max-width: 1000px) {
		.advantage .intro .intro_lead {
			font-size: 16px;
		}
	}

	@media screen and (max-width: 767px) {
		.advantage .intro .intro_lead {
			font-size: 14px;
			line-height: 1.9;
		}
	}

/* 3つの強み：トップページと同じカード */

		.advantage .intro .advantage_points {
			margin: 90px auto 0;
		}

	@media screen and (max-width: 1000px) {
		.advantage .intro .advantage_points {
			margin-top: 56px;
		}
	}

	@media screen and (max-width: 767px) {
		.advantage .intro .advantage_points {
			display: block;
			margin-top: 36px;
		}
	}

/* ==================================================
    こんなお困りごとはありませんか？
   ================================================== */

	.advantage .trouble {
		padding: 100px 5% 116px;
		background: #ccebff;
	}

@media screen and (max-width: 1000px) {
	.advantage .trouble {
		padding: 60px 5% 70px;
	}
}

@media screen and (max-width: 767px) {
	.advantage .trouble {
		padding: 40px 5% 52px;
	}
}

		.advantage .trouble > .inner {
			max-width: 1600px;
			margin: 0 auto;
		}

		.advantage .trouble h3 {
			margin: 0 0 66px;
			color: #005080;
			font-family: 'Sawarabi Mincho', Helvetica, Arial, sans-serif;
			font-size: 42px;
			font-weight: 400;
			line-height: 1.4;
			letter-spacing: 0.04em;
		}

	@media screen and (max-width: 1000px) {
		.advantage .trouble h3 {
			margin-bottom: 36px;
			font-size: 32px;
		}
	}

	@media screen and (max-width: 767px) {
		.advantage .trouble h3 {
			margin-bottom: 24px;
			font-size: 22px;
			letter-spacing: 0;
		}
	}

/* お困りごと：2列×3段 */

		.advantage .trouble .trouble_list {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 35px 41px;
			margin: 0;
			padding: 0;
			list-style: none;
		}

	@media screen and (max-width: 1000px) {
		.advantage .trouble .trouble_list {
			grid-template-columns: 1fr;
			gap: 16px;
		}
	}

			.advantage .trouble .trouble_list li {
				position: relative;
				box-sizing: border-box;
				min-height: 120px;
				padding: 17px 36px 17px 77px;
				background: #fff;
				border-radius: 6px;
				font-size: 24px;
				line-height: 1.67;
			}

		@media screen and (max-width: 1440px) {
			.advantage .trouble .trouble_list li {
				font-size: 20px;
			}
		}

		@media screen and (max-width: 1000px) {
			.advantage .trouble .trouble_list li {
				min-height: 0;
				padding: 16px 24px 16px 64px;
				font-size: 17px;
			}
		}

		@media screen and (max-width: 767px) {
			.advantage .trouble .trouble_list li {
				padding: 14px 16px 14px 50px;
				font-size: 15px;
			}
		}

			.advantage .trouble .trouble_list li::before {
				/* 赤いチェック */
				content: "";
				position: absolute;
				top: 28px;
				left: 27px;
				width: 33px;
				height: 28px;
				background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 33 28'%3E%3Cpath d='M2 15l9 10L31 2' fill='none' stroke='%23cc3333' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
			}

		@media screen and (max-width: 1440px) {
			.advantage .trouble .trouble_list li::before {
				top: 24px;
			}
		}

		@media screen and (max-width: 1000px) {
			.advantage .trouble .trouble_list li::before {
				top: 22px;
				left: 22px;
				width: 26px;
				height: 22px;
			}
		}

		@media screen and (max-width: 767px) {
			.advantage .trouble .trouble_list li::before {
				top: 18px;
				left: 16px;
				width: 22px;
				height: 19px;
			}
		}

/* そのお悩み、当社ひとつの窓口で解決できます。 */

		.advantage .trouble .trouble_answer {
			margin: 56px 0 66px;
			color: #cc3333;
			font-size: 42px;
			font-weight: 700;
			line-height: 1.4;
			letter-spacing: 0.04em;
			text-align: center;
		}

	@media screen and (max-width: 1440px) {
		.advantage .trouble .trouble_answer {
			font-size: 36px;
		}
	}

	@media screen and (max-width: 1000px) {
		.advantage .trouble .trouble_answer {
			margin: 44px 0 40px;
			font-size: 28px;
		}
	}

	@media screen and (max-width: 767px) {
		.advantage .trouble .trouble_answer {
			margin: 32px 0 28px;
			font-size: 19px;
			letter-spacing: 0;
		}
	}

		.advantage .trouble .trouble_img {
			max-width: 1536px;
			margin: 0 auto;
			line-height: 0;
		}

			.advantage .trouble .trouble_img img {
				display: block;
				width: 100%;
				height: auto;
			}

/* ==================================================
    別々の業者に依頼される場合との違い
   ================================================== */

	.advantage .compare {
		padding: 104px 5% 110px;
	}

@media screen and (max-width: 1000px) {
	.advantage .compare {
		padding: 60px 5% 70px;
	}
}

@media screen and (max-width: 767px) {
	.advantage .compare {
		padding: 40px 5% 52px;
	}
}

		.advantage .compare > .inner {
			max-width: 1600px;
			margin: 0 auto;
		}

		.advantage .compare h3 {
			margin: 0 0 44px;
			color: #005080;
			font-family: 'Sawarabi Mincho', Helvetica, Arial, sans-serif;
			font-size: 42px;
			font-weight: 400;
			line-height: 1.4;
			letter-spacing: 0.04em;
		}

	@media screen and (max-width: 1000px) {
		.advantage .compare h3 {
			margin-bottom: 28px;
			font-size: 32px;
		}
	}

	@media screen and (max-width: 767px) {
		.advantage .compare h3 {
			margin-bottom: 20px;
			font-size: 22px;
			letter-spacing: 0;
		}
	}

		.advantage .compare .compare_lead {
			margin: 0 0 46px;
			font-size: 18px;
			line-height: 1.8;
		}

	@media screen and (max-width: 1000px) {
		.advantage .compare .compare_lead {
			margin-bottom: 28px;
			font-size: 16px;
		}
	}

	@media screen and (max-width: 767px) {
		.advantage .compare .compare_lead {
			font-size: 14px;
		}
	}

/* 比較表 */

		.advantage .compare .compare_wrap {
			overflow-x: auto;
			-webkit-overflow-scrolling: touch;
		}

		.advantage .compare table {
			width: 100%;
			border-collapse: collapse;
			table-layout: fixed;
		}

	@media screen and (max-width: 767px) {
		.advantage .compare table {
			min-width: 640px;
		}
	}

		.advantage .compare th, .advantage .compare td {
			height: 100px;
			padding: 0 37px;
			border-bottom: 1px solid #7985b8;
			font-size: 21px;
			line-height: 1.5;
			text-align: left;
			vertical-align: middle;
		}

	@media screen and (max-width: 1440px) {
		.advantage .compare th, .advantage .compare td {
			height: 84px;
			padding: 0 24px;
			font-size: 18px;
		}
	}

	@media screen and (max-width: 1000px) {
		.advantage .compare th, .advantage .compare td {
			height: 70px;
			padding: 0 16px;
			font-size: 15px;
		}
	}

	@media screen and (max-width: 767px) {
		.advantage .compare th, .advantage .compare td {
			height: 64px;
			padding: 0 12px;
			font-size: 14px;
		}
	}

			.advantage .compare thead th {
				font-size: 24px;
				font-weight: 700;
				text-align: center;
			}

		@media screen and (max-width: 1440px) {
			.advantage .compare thead th {
				font-size: 20px;
			}
		}

		@media screen and (max-width: 1000px) {
			.advantage .compare thead th {
				font-size: 16px;
			}
		}

		.advantage .compare .col_label {
			width: 200px;
		}

	@media screen and (max-width: 1440px) {
		.advantage .compare .col_label {
			width: 170px;
		}
	}

	@media screen and (max-width: 1000px) {
		.advantage .compare .col_label {
			width: 130px;
		}
	}

	@media screen and (max-width: 767px) {
		.advantage .compare .col_label {
			width: 110px;
		}
	}

		.advantage .compare .col_other {
			background: #f1f2f1;
		}

			.advantage .compare thead .col_ours {
				color: #807e00;
			}

			.advantage .compare tbody th {
				padding: 0 10px;
				color: #003366;
				font-weight: 700;
				text-align: center;
			}

			.advantage .compare tbody td {
				font-weight: 400;
			}

			.advantage .compare tbody .col_ours {
				color: #005080;
				font-weight: 700;
			}

		.advantage .compare .note {
			margin-top: 20px;
			font-size: 14px;
			line-height: 1.6;
		}

	@media screen and (max-width: 767px) {
		.advantage .compare .note {
			font-size: 12px;
		}
	}

/* ==================================================
    こんなときにご相談ください
   ================================================== */

	.advantage .scene {
		padding: 106px 5% 115px;
		background: #fffdcc;
	}

@media screen and (max-width: 1000px) {
	.advantage .scene {
		padding: 60px 5% 70px;
	}
}

@media screen and (max-width: 767px) {
	.advantage .scene {
		padding: 40px 5% 52px;
	}
}

		.advantage .scene .scene_inner {
			max-width: 1600px;
			margin: 0 auto;
		}

		.advantage .scene h3 {
			margin: 0 0 50px;
			color: #4d4b0f;
			font-family: 'Sawarabi Mincho', Helvetica, Arial, sans-serif;
			font-size: 42px;
			font-weight: 400;
			line-height: 1.4;
			letter-spacing: 0.04em;
		}

	@media screen and (max-width: 1000px) {
		.advantage .scene h3 {
			margin-bottom: 32px;
			font-size: 32px;
		}
	}

	@media screen and (max-width: 767px) {
		.advantage .scene h3 {
			margin-bottom: 24px;
			font-size: 22px;
			letter-spacing: 0;
		}
	}

/* 利用シーン */

		.advantage .scene .scene_list {
			display: flex;
			justify-content: space-between;
			max-width: 840px;/* アイテム3個の場合は必要ない */
			margin: 0 auto;
			padding: 0;
			list-style: none;
		}

	@media screen and (max-width: 1000px) {
		.advantage .scene .scene_list {
			display: block;
			max-width: 640px;
		}
	}

			.advantage .scene .scene_list > li {
				flex: 0 1 500px;
				box-sizing: border-box;
				background: #fff;
			}

			.advantage .scene .scene_list > li + li {
				margin-left: 50px;
			}

		@media screen and (max-width: 1440px) {
			.advantage .scene .scene_list > li + li {
				margin-left: 30px;
			}
		}

		@media screen and (max-width: 1000px) {
			.advantage .scene .scene_list > li + li {
				margin: 24px 0 0;
			}
		}

			.advantage .scene .scene_list h4 {
				display: flex;
				justify-content: center;
				align-items: center;
				height: 130px;
				margin: 0;
				padding: 0 20px;
				color: #fff;
				background: #807d00;
				font-size: 27px;
				font-weight: 700;
				line-height: 1.5;
				text-align: center;
			}

		@media screen and (max-width: 1440px) {
			.advantage .scene .scene_list h4 {
				height: 110px;
				font-size: 22px;
			}
		}

		@media screen and (max-width: 1000px) {
			.advantage .scene .scene_list h4 {
				height: auto;
				padding: 18px 20px;
				font-size: 20px;
			}
		}

		@media screen and (max-width: 767px) {
			.advantage .scene .scene_list h4 {
				padding: 14px 16px;
				font-size: 17px;
			}
		}

		.advantage .scene .scene_body {
			padding: 22px 32px 40px;
		}

	@media screen and (max-width: 1440px) {
		.advantage .scene .scene_body {
			padding: 20px 24px 32px;
		}
	}

	@media screen and (max-width: 767px) {
		.advantage .scene .scene_body {
			padding: 16px 18px 22px;
		}
	}

			.advantage .scene .scene_body ol {
				margin: 0 0 20px;
				padding: 0;
				list-style: none;
			}

			.advantage .scene .scene_body ol li {
				margin-bottom: 10px;
				color: #4d4b0f;
				font-size: 24px;
				font-weight: 700;
				line-height: 1.5em;
			}

		@media screen and (max-width: 1440px) {
			.advantage .scene .scene_body ol li {
				font-size: 19px;
			}
		}

		@media screen and (max-width: 1000px) {
			.advantage .scene .scene_body ol li {
				font-size: 17px;
			}
		}

		@media screen and (max-width: 767px) {
			.advantage .scene .scene_body ol li {
				font-size: 15px;
			}
		}

			.advantage .scene .scene_body p {
				margin: 0;
				font-size: 18px;
				line-height: 1.9;
			}

		@media screen and (max-width: 1440px) {
			.advantage .scene .scene_body p {
				font-size: 16px;
			}
		}

		@media screen and (max-width: 1000px) {
			.advantage .scene .scene_body p {
				font-size: 15px;
			}
		}

		@media screen and (max-width: 767px) {
			.advantage .scene .scene_body p {
				font-size: 14px;
			}
		}

/* ==================================================
    私たちがお届けしたいのは
   ================================================== */

	.advantage .closing {
		padding: 80px 5% 86px;
	}

@media screen and (max-width: 1000px) {
	.advantage .closing {
		padding: 56px 5% 60px;
	}
}

@media screen and (max-width: 767px) {
	.advantage .closing {
		padding: 40px 5% 44px;
	}
}

		.advantage .closing p {
			max-width: 1600px;
			margin: 0 auto;
			color: #4d4b0f;
			font-family: 'Sawarabi Mincho', Helvetica, Arial, sans-serif;
			font-size: 36px;
			font-weight: 400;
			line-height: 1.7;
			letter-spacing: 0.04em;
		}

	@media screen and (max-width: 1440px) {
		.advantage .closing p {
			font-size: 30px;
		}
	}

	@media screen and (max-width: 1000px) {
		.advantage .closing p {
			font-size: 22px;
		}
	}

	@media screen and (max-width: 767px) {
		.advantage .closing p {
			font-size: 16px;
			letter-spacing: 0;
		}
	}

		@media screen and (max-width: 767px) {
			.advantage .closing p br {
				display: none;
			}
		}




/*####################################################################################

  	事業内容

　####################################################################################*/


/* ==================================================
    イントロ
   ================================================== */

	.service .intro {
		padding: 86px 5% 107px;
	}

@media screen and (max-width: 1000px) {
	.service .intro {
		padding: 60px 5% 64px;
	}
}

@media screen and (max-width: 767px) {
	.service .intro {
		padding: 40px 5% 48px;
	}
}

		.service .intro .inner {
			max-width: 1000px;
			margin: 0 auto;
		}

		.service .intro h3 {
			margin: 0 0 72px;
			font-family: 'Sawarabi Mincho', Helvetica, Arial, sans-serif;
			font-size: 42px;
			font-weight: 400;
			line-height: 1.67;
			letter-spacing: 0.04em;
		}

	@media screen and (max-width: 1000px) {
		.service .intro h3 {
			margin-bottom: 36px;
			font-size: 32px;
		}
	}

	@media screen and (max-width: 767px) {
		.service .intro h3 {
			margin-bottom: 24px;
			font-size: 22px;
			letter-spacing: 0;
		}
	}

		.service .intro .intro_lead {
			margin: 0;
			font-size: 18px;
			line-height: 2;
		}

	@media screen and (max-width: 1000px) {
		.service .intro .intro_lead {
			font-size: 16px;
		}
	}

	@media screen and (max-width: 767px) {
		.service .intro .intro_lead {
			font-size: 14px;
			line-height: 1.9;
		}
	}

/* ==================================================
    Service 1〜3 共通
   ================================================== */

	.service-sec {
		position: relative;
		padding: 94px 5% 96px;
		background: #ccebff url(/images/bg_service-label1.png) no-repeat left top;
	}

@media screen and (max-width: 1000px) {
	.service-sec {
		padding: 80px 5% 70px;
		background-size: 240px auto;
	}
}

@media screen and (max-width: 767px) {
	.service-sec {
		padding: 64px 5% 52px;
		background-size: 160px auto;
	}
}

		.service-sec .num {
			position: absolute;
			top: 20px;
			left: 45px;
			margin: 0;
			color: #fff;
			font-family: "Source Sans 3", sans-serif;
			font-size: 48px;
			font-weight: 700;
			line-height: 1.2;
			letter-spacing: 0;
		}

	@media screen and (max-width: 1000px) {
		.service-sec .num {
			top: 20px;
			left: 5%;
			font-size: 36px;
		}
	}

	@media screen and (max-width: 767px) {
		.service-sec .num {
			top: 17px;
			font-size: 28px;
		}
	}

		.service-sec .inner {
			position: relative;
			max-width: 1600px;
			margin: 0 auto;
		}

		.service-sec h3 {
			margin: 8px 0 0;
			color: #005080;
			font-size: 36px;
			font-weight: 700;
			line-height: 1.4;
			letter-spacing: 0.05em;
		}

	@media screen and (max-width: 1440px) {
		.service-sec h3 {
			font-size: 28px;
		}
	}

	@media screen and (max-width: 1000px) {
		.service-sec h3 {
			font-size: 26px;
		}
	}

	@media screen and (max-width: 767px) {
		.service-sec h3 {
			margin-top: 0;
			font-size: 21px;
			letter-spacing: 0.02em;
		}
	}

		.service-sec .catch {
			margin: 20px 0 0;
			font-family: 'Sawarabi Mincho', Helvetica, Arial, sans-serif;
			font-size: 32px;
			font-weight: 400;
			line-height: 1.5;
			letter-spacing: 0.04em;
		}
	@media screen and (max-width: 1670px) {
		.service-sec .catch .br1670{
			display: none;
		}
	}
	@media screen and (max-width: 1440px) {
		.service-sec .catch {
			font-size: 26px;
		}
		.service-sec .catch .br1670{
			display: inline;
		}
	}

	@media screen and (max-width: 1000px) {
		.service-sec .catch {
			margin-top: 20px;
			font-size: 22px;
		}
	}

	@media screen and (max-width: 767px) {
		.service-sec .catch {
			margin-top: 14px;
			font-size: 17px;
			letter-spacing: 0;
		}
	}

		@media screen and (max-width: 1240px) {
			.service-sec .catch br {
				display: none;
			}
		}

/* 左：説明／右：写真 */

		.service-sec .body {
			display: flex;
			justify-content: space-between;
			align-items: flex-start;
		}

	@media screen and (max-width: 1000px) {
		.service-sec .body {
			display: block;
		}
	}

		.service-sec .service-note{
			flex: 1;
			min-width: 0;
		}

		.service-sec .service-image{
			flex: 0 0 600px;
			margin: 0 0 0 90px;
			line-height: 0;
		}

	@media screen and (max-width: 1440px) {
		
		.service-sec .service-image{
			flex-basis: 480px;
			margin-left: 40px;
		}
		
	}

	@media screen and (max-width: 1240px) {
		
		.service-sec .service-image{
			flex-basis: 360px;
		}
		
	}

	@media screen and (max-width: 1000px) {
		
		.service-sec .service-image{
			max-width: 480px;
			width:80%;
			margin: 36px auto 0;
		}
		
	}

			.service-sec .service-image img {
				display: block;
				width: 100%;
				height: auto;
			}

/* ==================================================
    Service 1：OA機器・IT・システムの販売・開発
   ================================================== */

		.service1 .service-cat {
			margin: 47px 0 0;
		}

	@media screen and (max-width: 1000px) {
		.service1 .service-cat {
			margin-top: 30px;
		}
	}

			.service1 .service-cat div {
				display: flex;
				align-items: center;
			}

		@media screen and (max-width: 767px) {
			.service1 .service-cat div {
				display: block;
			}
		}

			.service1 .service-cat div + div {
				margin-top: 20px;
			}

		@media screen and (max-width: 1000px) {
			.service1 .service-cat div + div {
				margin-top: 14px;
			}
		}

			.service1 .service-cat dt {
				flex: 0 0 230px;
				height: 50px;
				color: #fff;
				background: #005080;
				border-radius: 4px;
				font-family: "Source Sans 3", sans-serif;
				font-size: 21px;
				font-weight: 700;
				line-height: 50px;
				text-align: center;
			}

		@media screen and (max-width: 1440px) {
			.service1 .service-cat dt {
				flex-basis: 190px;
				font-size: 18px;
			}
		}

		@media screen and (max-width: 1000px) {
			.service1 .service-cat dt {
				flex-basis: 170px;
				height: 42px;
				font-size: 16px;
				line-height: 42px;
			}
		}

		@media screen and (max-width: 767px) {
			.service1 .service-cat dt {
				display: inline-block;
				width: 150px;
				height: 32px;
				font-size: 14px;
				line-height: 32px;
			}
		}

			.service1 .service-cat dd {
				margin: 0 0 0 28px;
				color: #005080;
				font-size: 21px;
				font-weight: 700;
				line-height: 1.5;
			}

		@media screen and (max-width: 1440px) {
			.service1 .service-cat dd {
				margin-left: 20px;
				font-size: 14px;
			}
		}

		@media screen and (max-width: 1000px) {
			.service1 .service-cat dd {
				font-size: 18px;
			}
		}

		@media screen and (max-width: 767px) {
			.service1 .service-cat dd {
				margin: 6px 0 0;
				font-size: 16px;
			}
		}

/* ==================================================
    Service 2：電気通信工事・電気工事
   ================================================== */

	.service2 {
		padding-bottom: 67px;
		background: url(/images/bg_service-label2.png) no-repeat left top, url(/images/img_service2.png) no-repeat right center / 1200px auto, /* 写真は背景として右に配置 */
		#fff;
	}

@media screen and (max-width: 1000px) {
	.service2 {
		background: url(/images/bg_service-label2.png) no-repeat left top / 240px auto, linear-gradient(rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0.85)), /* 写真を薄くして文字を読みやすく */
		url(/images/img_service2.png) no-repeat right top / cover, #fff;
	}
}

@media screen and (max-width: 767px) {
	.service2 {
		background-size: 160px auto, auto, cover, auto;
	}
}

		.service2 .num {
			color: #479ed4;
		}

		.service2 .svc_head {
			display: flex;
			align-items: flex-end;
		}

	@media screen and (max-width: 1240px) {
		.service2 .svc_head {
			display: block;
		}
	}

		.service2 .license {
			box-sizing: border-box;
			width: 480px;
			margin: -60px 0 0 146px;
			padding: 12px 10px 13px;
			color: #fff;
			background: #005080;
			border-radius: 4px;
			font-size: 18px;
			line-height: 1.6;
			text-align: center;
		}

	@media screen and (max-width: 1440px) {
		.service2 .license {
			margin-left: 60px;
		}
	}

	@media screen and (max-width: 1240px) {
		
		.service2 .license {
			display: flow-root;
			width: 620px;
			margin: 20px 0 0;
			padding-bottom: 5px;
			font-size: 16px;
		}
		.service2 .license strong{
			margin-right: 10px;
			float: left;
			position: relative;
			top:-3px;
		}
			
	}

	@media screen and (max-width: 1000px) {
		.service2 .license {
			max-width: 360px;
			width: auto !important;
			padding:10px;
			font-size: 15px;
		}
		.service2 .license strong{
			float:none;
			top:0;
		}
	}

	@media screen and (max-width: 767px) {
		.service2 .license {
			padding: 10px 8px;
			font-size: 13px;
		}
	}

			.service2 .license strong {
				display: block;
				font-size: 21px;
				font-weight: 700;
			}

		@media screen and (max-width: 1000px) {
			.service2 .license strong {
				font-size: 17px;
			}
		}

		@media screen and (max-width: 767px) {
			.service2 .license strong {
				font-size: 15px;
			}
		}

		.service2 .catch {
			text-shadow: 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff,
				0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff;
		}

/* 3つのカード */

		.service2 .cards {
			display: flex;
			justify-content: space-between;
			margin: 37px 0 0;
			padding: 0;
			list-style: none;
		}

	@media screen and (max-width: 1000px) {
		.service2 .cards {
			display: block;
			margin-top: 28px;
		}
	}

			.service2 .cards li {
				flex: 0 1 500px;
				box-sizing: border-box;
				min-height: 251px;
				padding: 20px 30px 20px;
				background: #ffcccc;
				border-radius: 6px;
			}

		@media screen and (max-width: 1440px) {
			.service2 .cards li {
				padding: 20px 22px 20px;
			}
		}

		@media screen and (max-width: 1000px) {
			.service2 .cards li {
				min-height: 0;
			}
		}

		@media screen and (max-width: 767px) {
			.service2 .cards li {
				padding: 14px 16px 14px;
			}
		}

			.service2 .cards li + li {
				margin-left: 50px;
			}

		@media screen and (max-width: 1440px) {
			.service2 .cards li + li {
				margin-left: 30px;
			}
		}

		@media screen and (max-width: 1000px) {
			.service2 .cards li + li {
				margin: 20px 0 0;
			}
		}

			.service2 .cards h4 {
				height: 50px;
				margin: 0 0 15px;
				color: #fff;
				background: #800001;
				border-radius: 4px;
				font-size: 24px;
				font-weight: 700;
				line-height: 50px;
				text-align: center;
			}

		@media screen and (max-width: 1440px) {
			.service2 .cards h4 {
				font-size: 21px;
				letter-spacing: 0;
			}
		}

		@media screen and (max-width: 1240px) {
			.service2 .cards h4 {
				font-size: 17px;
			}
		}

		@media screen and (max-width: 1000px) {
			.service2 .cards h4 {
				height: 44px;
				font-size: 19px;
				line-height: 44px;
			}
		}

		@media screen and (max-width: 767px) {
			.service2 .cards h4 {
				height: 38px;
				font-size: 16px;
				line-height: 38px;
			}
		}

			.service2 .cards p {
				margin: 0;
				padding: 0 2px;
				font-size: 18px;
				line-height: 1.7em;
			}

		@media screen and (max-width: 1440px) {
			.service2 .cards p {
				font-size: 16px;
			}
		}

		@media screen and (max-width: 1000px) {
			.service2 .cards p {
				font-size: 15px;
			}
		}

		@media screen and (max-width: 767px) {
			.service2 .cards p {
				font-size: 14px;
			}
		}

			.service2 .cards strong {
				display: block;
				margin-left: -0.5em; /* 先頭の（の余白を詰める */
				color: #800001;
				font-weight: 700;
			}

/* ==================================================
    Service 3：保守運用サポート
   ================================================== */

	.service3 {
		padding-bottom: 91px;
	}

@media screen and (max-width: 1000px) {
	.service3 {
		padding-bottom: 70px;
	}
}

@media screen and (max-width: 767px) {
	.service3 {
		padding-bottom: 52px;
	}
}

		.service3 .svc_lead {
			margin: 38px 0 0;
			font-size: 18px;
			line-height: 2;
		}

	@media screen and (max-width: 1000px) {
		.service3 .svc_lead {
			margin-top: 22px;
			font-size: 16px;
		}
	}

	@media screen and (max-width: 767px) {
		.service3 .svc_lead {
			font-size: 14px;
			line-height: 1.9;
		}
	}

/* サポートメニュー */

		.service3 .menu_ttl {
			margin: 65px 0 37px;
			color: #005080;
			font-size: 27px;
			font-weight: 700;
			line-height: 1.4;
			letter-spacing: 0.05em;
		}

	@media screen and (max-width: 1000px) {
		.service3 .menu_ttl {
			margin: 56px 0 20px;
			font-size: 22px;
		}
	}

	@media screen and (max-width: 767px) {
		.service3 .menu_ttl {
			margin-top: 40px;
			font-size: 18px;
		}
	}

		.service3 .support_menu {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 0 42px;
		}

	@media screen and (max-width: 1000px) {
		.service3 .support_menu {
			grid-template-columns: 1fr;
			gap: 20px;
		}
	}

		.service3 .menu_box {
			padding: 24px 40px 38px;
			background: #f1f4ff;
		}

	@media screen and (max-width: 1440px) {
		.service3 .menu_box {
			padding: 22px 28px 32px;
		}
	}

	@media screen and (max-width: 767px) {
		.service3 .menu_box {
			padding: 18px 16px 22px;
		}
	}

			.service3 .menu_box h5 {
				margin: 0;
				color: #800001;
				font-size: 21px;
				font-weight: 700;
				line-height: 1.5;
			}

		@media screen and (max-width: 1440px) {
			.service3 .menu_box h5 {
				font-size: 18px;
			}
		}

		@media screen and (max-width: 767px) {
			.service3 .menu_box h5 {
				font-size: 16px;
			}
		}

			.service3 .menu_box > p {
				margin: 10px 0 29px;
				font-size: 16px;
				line-height: 1.75;
				letter-spacing: 0;
			}

		@media screen and (max-width: 1440px) {
			.service3 .menu_box > p {
				font-size: 15px;
			}
		}

		@media screen and (max-width: 767px) {
			.service3 .menu_box > p {
				margin-bottom: 16px;
				font-size: 14px;
			}
		}

			.service3 .menu_box dl {
				margin: 0;
			}

			.service3 .menu_box dl div {
				padding: 12px 24px 19px;
				background: #fff;
			}

		@media screen and (max-width: 1440px) {
			.service3 .menu_box dl div {
				padding: 12px 18px 16px;
			}
		}

		@media screen and (max-width: 767px) {
			.service3 .menu_box dl div {
				padding: 10px 14px 14px;
			}
		}

			.service3 .menu_box dl div + div {
				margin-top: 15px;
			}

		@media screen and (max-width: 767px) {
			.service3 .menu_box dl div + div {
				margin-top: 10px;
			}
		}

			.service3 .menu_box dt {
				margin: 0 0 7px;
				color: #003366;
				font-size: 21px;
				font-weight: 700;
				line-height: 1.5;
			}

		@media screen and (max-width: 1440px) {
			.service3 .menu_box dt {
				font-size: 18px;
			}
		}

		@media screen and (max-width: 767px) {
			.service3 .menu_box dt {
				font-size: 16px;
			}
		}

			.service3 .menu_box dd {
				margin: 0;
				font-size: 16px;
				line-height: 1.75;
				letter-spacing: 0;
			}

		@media screen and (max-width: 1440px) {
			.service3 .menu_box dd {
				font-size: 15px;
			}
		}

		@media screen and (max-width: 767px) {
			.service3 .menu_box dd {
				font-size: 14px;
			}
		}

/* ==================================================
    ご依頼の流れ
   ================================================== */

	.service .flow {
		padding: 88px 5% 98px;
	}

@media screen and (max-width: 1000px) {
	.service .flow {
		padding: 60px 5% 70px;
	}
}

@media screen and (max-width: 767px) {
	.service .flow {
		padding: 44px 5% 52px;
	}
}

		.service .flow .sec_ttl {
			text-align: center;
		}

			.service .flow .sec_ttl h2 {
				color: #0f354d;
			}

			.service .flow .sec_ttl p {
				color: #cddde6;
			}

/* 5つの丸：横並び＋間に三角 */

		.service .flow ol{
			display: flex;
			justify-content: space-between;
			max-width: 1400px;
			margin: 50px auto 0;
			padding: 0;
			list-style: none;
		}

	@media screen and (max-width: 1440px) {
		.service .flow ol{
			max-width: 1200px;
		}
	}

	@media screen and (max-width: 1200px) {
		.service .flow ol{
			display: block;
			max-width:840px;
			margin-top: 32px;
		}
	}

	@media screen and (max-width: 1000px) {
		.service .flow ol{
			max-width: 640px;
		}
	}

			.service .flow ol li {
				position: relative;
				display: flex;
				flex-direction: column;
				justify-content: flex-start;
				align-items: center;
				box-sizing: border-box;
				width: 250px;
				height: 250px;
				padding: 40px 30px 0;
				color: #fff;
				background: #469ed3;
				border-radius: 50%;
				text-align: center;
			}

		@media screen and (max-width: 1600px) {
			
			.service .flow ol li {
				width: 230px;
				height: 230px;
				padding: 40px 20px 0;
			}
			
		}

		@media screen and (max-width: 1440px) {
			
			.service .flow ol li {
				width: 200px;
				height: 200px;
				padding: 20px 10px 0;
			}
			
		}

/*
		@media screen and (max-width: 1440px) {
			.service .flow ol li {
				width: 18.5%;
				height: auto;
				aspect-ratio: 1 / 1;
				padding: 0 4% 6px;
			}
		}
*/
		@media screen and (max-width: 1200px) {
			.service .flow ol li {
				display: grid;
				grid-template-columns: 64px 1fr;
				align-items: center;
				width: auto;
				height: auto;
				aspect-ratio: auto;
				padding: 16px 24px;
				border-radius: 10px;
				text-align: left;
			}
		}

		@media screen and (max-width: 767px) {
			.service .flow ol li {
				grid-template-columns: 48px 1fr;
				padding: 14px 18px;
			}
		}

		@media screen and (max-width: 1200px) {
			.service .flow ol li + li {
				margin-top: 36px;
			}
		}

			.service .flow ol li + li::before {
				content: "";
				position: absolute;
				top: 50%;
				left: -32px;
				margin-top: -25px;
				border-top: 25px solid transparent;
				border-bottom: 25px solid transparent;
				border-left: 25px solid #99d7ff;
			}
/*
		@media screen and (max-width: 1440px) {
			.service .flow ol li + li::before {
				left: -10%;
				margin-top: -18px;
				border-top-width: 18px;
				border-bottom-width: 18px;
				border-left-width: 18px;
			}
		}
*/
		@media screen and (max-width: 1200px) {
			.service .flow ol li + li::before {
				top: -29px;
				left: 50%;
				margin: 0 0 0 -16px;
				border-top: 16px solid #99d7ff;
				border-right: 16px solid transparent;
				border-bottom: none;
				border-left: 16px solid transparent;
			}
		}

		.service .flow .flow_num {
			display: block;
			color: rgba(255, 255, 255, 0.5);
			font-family: "Source Sans 3", sans-serif;
			font-size: 72px;
			font-weight: 700;
			line-height: 1.1;
		}
/*
	@media screen and (max-width: 1440px) {
		.service .flow .flow_num {
			font-size: 50px;
		}
	}
*/
	@media screen and (max-width: 1200px) {
		.service .flow .flow_num {
			grid-row: 1 / 3;
			font-size: 48px;
		}
	}

	@media screen and (max-width: 767px) {
		.service .flow .flow_num {
			font-size: 38px;
		}
	}

			.service .flow ol h3 {
				margin: 6px 0 12px;
				font-size: 22px;
				font-weight: 700;
				line-height: 1.37;
				letter-spacing:0;
			}
/*
		@media screen and (max-width: 1440px) {
			.service .flow ol h3 {
				margin: 2px 0 6px;
				font-size: 20px;
				letter-spacing: 0;
			}
		}
*/
		@media screen and (max-width: 1200px) {
			.service .flow ol h3 {
				margin: 13px 0 0;
				font-size: 20px;
			}
			.service .flow ol h3 br {
				display: none;
			}
		}

		@media screen and (max-width: 767px) {
			.service .flow ol h3 {
				margin: 9px 0 0;
				font-size: 17px;
			}
		}

			.service .flow ol p {
				margin: 0;
				font-size: 18px;
				font-weight: 700;
				line-height: 1.56;
			}
/*
		@media screen and (max-width: 1440px) {
			.service .flow ol p {
				font-size: 14px;
			}
		}
*/
		@media screen and (max-width: 1200px) {
			.service .flow ol p {
				font-size: 15px;
			}
		}

		@media screen and (max-width: 767px) {
			.service .flow ol p {
				font-size: 14px;
				font-weight: 400;
			}
		}




/*####################################################################################

  	会社概要

　####################################################################################*/


/* ==================================================
    会社概要の表
   ================================================== */

	#company {
		padding: 112px 5% 118px;
	}

@media screen and (max-width: 1000px) {
	#company {
		padding: 60px 5% 70px;
	}
}

@media screen and (max-width: 767px) {
	#company {
		padding: 40px 5% 52px;
	}
}

		#company table {
			max-width: 1000px;
			width: 100%;
			margin: 0 auto;
			border: 1px solid #7985b8;
			border-collapse: collapse;
		}

		#company th, #company td {
			padding: 26px 43px 37px;
			border-bottom: 1px solid #7985b8;
			font-size: 21px;
			line-height: 1.71;
			text-align: left;
			vertical-align: top;
		}

	@media screen and (max-width: 1440px) {
		#company th, #company td {
			padding: 22px 32px 28px;
			font-size: 18px;
		}
	}

	@media screen and (max-width: 1000px) {
		#company th, #company td {
			padding: 18px 20px 22px;
			font-size: 16px;
		}
	}

	@media screen and (max-width: 767px) {
		#company th, #company td {
			display: block; /* 項目名を上、内容を下に */
			font-size: 15px;
		}
	}

		#company th {
			width: 300px;
			box-sizing: border-box;
			padding-right: 20px;
			padding-left: 20px;
			color: #003366;
			background: #ccebff;
			font-weight: 700;
			text-align: center;
		}

	@media screen and (max-width: 1440px) {
		#company th {
			width: 240px;
		}
	}

	@media screen and (max-width: 1000px) {
		#company th {
			width: 160px;
		}
	}

	@media screen and (max-width: 767px) {
		#company th {
			width: auto;
			padding: 10px 16px;
			border-bottom: none;
			text-align: left;
		}
	}

		#company td {
			font-weight: 400;
		}

	@media screen and (max-width: 767px) {
		#company td {
			padding: 14px 16px 18px;
		}
	}

			#company td p {
				margin: 0;
			}

			#company td p + p {
				margin-top: 18px;
			}

		@media screen and (max-width: 1000px) {
			#company td p + p {
				margin-top: 12px;
			}
		}

/* ==================================================
    アクセス
   ================================================== */

	#access {
		padding: 88px 5% 91px;
		background: #f1f2f1;
	}

@media screen and (max-width: 1000px) {
	#access {
		padding: 60px 5% 70px;
	}
}

@media screen and (max-width: 767px) {
	#access {
		padding: 44px 5% 52px;
	}
}

		#access .inner {
			max-width: 1600px;
			margin: 0 auto;
		}

		#access .sec_ttl {
			margin-bottom: 45px;
		}

	@media screen and (max-width: 1000px) {
		#access .sec_ttl {
			margin-bottom: 30px;
		}
	}

	@media screen and (max-width: 767px) {
		#access .sec_ttl {
			margin-bottom: 24px;
		}
	}

			#access .sec_ttl h2 {
				color: #0f354d;
			}

			#access .sec_ttl p {
				color: #c2d3db;
			}

/* 地図 */

		#access .map {
			height: 600px;
			background: #b2b2b2;
			line-height: 0;
		}

	@media screen and (max-width: 1000px) {
		#access .map {
			height: 450px;
		}
	}

	@media screen and (max-width: 767px) {
		#access .map {
			height: 320px;
		}
	}

			#access .map iframe {
				display: block;
				width: 100%;
				height: 100%;
				border: 0;
			}

/* 住所＋Googleマップで開く */

		#access .addr {
			display: flex;
			align-items: center;
			margin: 21px 0 0;
		}

	@media screen and (max-width: 767px) {
		#access .addr {
			display: block;
			margin-top: 14px;
		}
	}

			#access .addr p {
				margin: 0;
				font-size: 18px;
				line-height: 1.6;
			}

		@media screen and (max-width: 1000px) {
			#access .addr p {
				font-size: 16px;
			}
		}

		@media screen and (max-width: 767px) {
			#access .addr p {
				font-size: 14px;
			}
		}

			#access .addr .btn_map {
				margin-left: 52px;
			}

		@media screen and (max-width: 1000px) {
			#access .addr .btn_map {
				margin-left: 32px;
			}
		}

		@media screen and (max-width: 767px) {
			#access .addr .btn_map {
				margin: 14px 0 0;
			}
		}

			#access .btn_map a {
				display: block;
				width: 240px;
				height: 40px;
				color: #fff;
				background: #005080;
				border-radius: 20px;
				font-family: 'Sawarabi Mincho', Helvetica, Arial, sans-serif;
				font-size: 14px;
				font-weight: 400;
				line-height: 40px;
				text-align: center;
				text-decoration: none;
				transition: background 0.2s;
			}

		@media screen and (max-width: 767px) {
			#access .btn_map a {
				margin: 0 auto;
			}
		}

			#access .btn_map a:hover {
				background: #1a6fa8;
			}



/*####################################################################################

  	お知らせ一覧

　####################################################################################*/


/* ==================================================
    お知らせ一覧
   ================================================== */

	#news_archive {
		padding: 112px 5% 113px;
	}

@media screen and (max-width: 1000px) {
	#news_archive {
		padding: 60px 5% 70px;
	}
}

@media screen and (max-width: 767px) {
	#news_archive {
		padding: 40px 5% 52px;
	}
}

		#news_archive .inner {
			max-width: 1200px;
			margin: 0 auto;
		}

		#news_archive .inner ul{
			margin: 0;
			padding: 0;
			border-top: 1px solid #7985b8;
			border-bottom: 1px solid #7985b8;
			list-style: none;
		}

			#news_archive .inner ul li {
				display: flex;
				align-items: baseline;
				padding: 13px 10px 13px;
				border-bottom: 1px dashed #b2b2b2;
				font-size: 14px;
				line-height: 1.6;
			}

		@media screen and (max-width: 767px) {
			#news_archive .inner ul li {
				display: block; /* 日付の下にタイトル */
				padding: 12px 4px 14px;
			}
		}

			#news_archive .inner ul li:last-child {
				border-bottom: none;
			}

			#news_archive .inner ul time {
				flex: 0 0 110px;
				font-size: 13px;
			}

		@media screen and (max-width: 767px) {
			#news_archive .inner ul time {
				display: block;
				margin-bottom: 2px;
				color: #005080;
			}
		}

			#news_archive .inner ul time::before {
				content: "[";
			}

			#news_archive .inner ul time::after {
				content: "]";
			}

			#news_archive  .inner ul a {
				color: #000;
				text-decoration: none;
				transition: color 0.2s;
			}

			#news_archive .inner ul a:hover {
				color: #005080;
				text-decoration: underline;
			}


/* ==================================================  */


		#news_archive .navigation {
			margin: 25px 0 0;
		}

	@media screen and (max-width: 767px) {
		#news_archive .navigation {
			margin-top: 20px;
		}
	}

		#news_archive .wp-pagenavi {
			display: flex;
			flex-wrap: wrap;
			gap: 10px;
		}

	@media screen and (max-width: 767px) {
		#news_archive .wp-pagenavi {
			justify-content: center;
		}
	}

			#news_archive .wp-pagenavi .pages {
				/* 「1 / 4」の表示は使わない */
				display: none;
			}

			#news_archive .wp-pagenavi .current,
			#news_archive .wp-pagenavi a {
				float: none;
				box-sizing: border-box;
				min-width: 30px;
				height: 38px;
				margin: 0;
				padding: 0 8px;
				border: 1px solid #656665;
				font-size: 18px;
				font-weight: 700;
				line-height: 36px;
				text-align: center;
				text-decoration: none;
			}

		@media screen and (max-width: 767px) {
			#news_archive .wp-pagenavi .current,
			#news_archive .wp-pagenavi a {
				height: 36px;
				font-size: 16px;
				line-height: 34px;
			}
		}

			#news_archive .wp-pagenavi .current {
				width: auto;
				color: #000;
				background: #fff;
			}

			#news_archive .wp-pagenavi a {
				width: auto;
				color: #fff;
				background: #666;
				transition: background 0.2s;
			}

			#news_archive .wp-pagenavi a:hover {
				background: #005080;
				border-color: #005080;
			}




/*####################################################
	お知らせ詳細（single.php）
####################################################*/

/* ==================================================
    記事
   ================================================== */

		#news_single {
			max-width: 1000px;
			width: 90%;
			margin: 0 auto;
			padding: 80px 0 100px;
		}

	@media screen and (max-width: 767px) {
		#news_single {
			padding: 40px 0 60px;
		}
	}

			#news_single .entry_head {
				margin: 0 0 40px;
				padding: 0 0 20px;
				border-bottom: 2px solid #005080;
			}

		@media screen and (max-width: 767px) {
			#news_single .entry_head {
				margin: 0 0 24px;
				padding: 0 0 14px;
			}
		}

				#news_single .entry_head time {
					display: block;
					margin: 0 0 8px;
					color: #666;
					font-size: 14px;
					font-weight: 500;
				}

				#news_single .entry_head h3 {
					color: #005080;
					font-size: 26px;
					font-weight: 700;
					line-height: 1.5;
				}

			@media screen and (max-width: 767px) {
				#news_single .entry_head h3 {
					font-size: 19px;
				}
			}

			#news_single .entry_thumb {
				margin: 0 0 30px;
				text-align: center;
			}

				#news_single .entry_thumb img {
					max-width: 100%;
					height: auto;
				}

/* ==================================================
    本文（エディタで入力された内容）
   ================================================== */

			#news_single .entry_body {
				font-size: 16px;
				line-height: 1.9;
			}

		@media screen and (max-width: 767px) {
			#news_single .entry_body {
				font-size: 14px;
			}
		}

				#news_single .entry_body p {
					margin: 0 0 1.6em;
				}

				#news_single .entry_body h2,
				#news_single .entry_body h3 {
					margin: 2em 0 0.8em;
					padding: 0 0 0 12px;
					border-left: 4px solid #005080;
					color: #005080;
					font-size: 20px;
					font-weight: 700;
				}

			@media screen and (max-width: 767px) {
				#news_single .entry_body h2,
				#news_single .entry_body h3 {
					font-size: 17px;
				}
			}

				#news_single .entry_body a {
					color: #005080;
					text-decoration: underline;
				}

				#news_single .entry_body ul,
				#news_single .entry_body ol {
					margin: 0 0 1.6em 1.5em;
				}

					#news_single .entry_body ul li {
						list-style: disc;
					}

					#news_single .entry_body ol li {
						list-style: decimal;
					}

				#news_single .entry_body img {
					max-width: 100%;
					height: auto;
				}

				#news_single .entry_body .aligncenter {
					display: block;
					margin: 0 auto 1.6em;
				}

				#news_single .entry_body .alignleft {
					float: left;
					margin: 0 20px 20px 0;
				}

				#news_single .entry_body .alignright {
					float: right;
					margin: 0 0 20px 20px;
				}

			@media screen and (max-width: 767px) {
				#news_single .entry_body .alignleft,
				#news_single .entry_body .alignright {
					float: none;
					display: block;
					margin: 0 auto 1.6em;
				}
			}

				#news_single .entry_body::after {
					content: "";
					display: block;
					clear: both;
				}

/* ==================================================
    一覧へ戻る
   ================================================== */

			#news_single .entry_back {
				margin: 60px 0 0;
				padding: 30px 0 0;
				border-top: 1px solid #ccc;
				text-align: center;
			}

		@media screen and (max-width: 767px) {
			#news_single .entry_back {
				margin: 40px 0 0;
				padding: 20px 0 0;
			}
		}

				#news_single .entry_back a {
					display: inline-block;
					padding: 10px 40px;
					border-radius: 20px;
					background: #005080;
					color: #fff;
					font-size: 14px;
					font-weight: 500;
					text-decoration: none;
				}

			@media screen and (max-width: 767px) {
				#news_single .entry_back a {
					padding: 8px 30px;
					font-size: 13px;
				}
			}






/*####################################################################################

  	お問い合わせ

　####################################################################################*/


/* ==================================================
    電話でのご連絡
   ================================================== */

	#contact_tel {
		padding: 80px 5% 90px;
	}

@media screen and (max-width: 1000px) {
	#contact_tel {
		padding: 56px 5% 60px;
	}
}

@media screen and (max-width: 767px) {
	#contact_tel {
		padding: 40px 5% 44px;
	}
}

		#contact_tel .inner {
			display: flex;
			align-items: flex-start;
			max-width: 1600px;
			margin: 0 auto;
		}

	@media screen and (max-width: 1000px) {
		#contact_tel .inner {
			display: block;
		}
	}

		#contact_tel h3 {
			flex: 0 0 400px;
			margin: -12px 0 0;
			color: #003366;
			font-size: 36px;
			font-weight: 700;
			line-height: 1.4;
			letter-spacing: 0.04em;
		}

	@media screen and (max-width: 1000px) {
		#contact_tel h3 {
			margin: 0 0 20px;
			font-size: 28px;
		}
	}

	@media screen and (max-width: 767px) {
		#contact_tel h3 {
			margin-bottom: 14px;
			font-size: 21px;
		}
	}

/* 点線で挟んだ電話番号 */

		#contact_tel .tel_box {
			flex: 0 1 1000px;
			padding: 4px 0 20px;
			border-top: 1px dashed #7f7f7f;
			border-bottom: 1px dashed #7f7f7f;
			text-align: center;
		}

			#contact_tel .tel_box p {
				display: inline-block;
				margin: 0;
				text-align: left;
			}

		#contact_tel .tel_num {
			display: block;
			color: #00414d;
			font-family: "Source Sans 3", sans-serif;
			font-size: 27px;
			font-weight: 700;
			line-height: 1.8;
			letter-spacing: 0.04em;
			text-decoration: none;
		}

	@media screen and (max-width: 767px) {
		#contact_tel .tel_num {
			font-size: 24px;
		}
	}

		#contact_tel .tel_time {
			display: block;
			color: #003366;
			font-size: 16px;
			line-height: 1.4;
		}

	@media screen and (max-width: 767px) {
		#contact_tel .tel_time {
			font-size: 14px;
		}
	}

/* ==================================================
    お問い合わせフォーム
   ================================================== */

	#contact_form {
		padding: 66px 5% 69px;
		background: #f1f2f1;
	}

@media screen and (max-width: 1000px) {
	#contact_form {
		padding: 56px 5% 60px;
	}
}

@media screen and (max-width: 767px) {
	#contact_form {
		padding: 40px 5% 48px;
	}
}

		#contact_form .inner {
			max-width: 1600px;
			margin: 0 auto;
		}

		#contact_form h3 {
			margin: 0 0 65px;
			color: #003366;
			font-size: 36px;
			font-weight: 700;
			line-height: 1.4;
			letter-spacing: 0.04em;
		}

	@media screen and (max-width: 1000px) {
		#contact_form h3 {
			margin-bottom: 32px;
			font-size: 28px;
		}
	}

	@media screen and (max-width: 767px) {
		#contact_form h3 {
			margin-bottom: 24px;
			font-size: 21px;
		}
	}

/* 入力 → 確認 → 完了 */

		#contact_form .form_steps {
			position: relative;
			display: flex;
			justify-content: space-between;
			max-width:1200px;
			margin: 0 auto 52px;
			padding: 0;
			list-style: none;
		}

	@media screen and (max-width: 1000px) {
		#contact_form .form_steps {
			margin-bottom: 32px;
		}
	}

	@media screen and (max-width: 767px) {
		#contact_form .form_steps {
			margin-bottom: 24px;
		}
	}

		#contact_form .form_steps::before {
			/* 背面のつなぎ線 */
			content: "";
			position: absolute;
			top: 28px;
			left: 23%;
			right: 23%;
			height: 4px;
			background: #bbd2eb;
		}

	@media screen and (max-width: 1000px) {
		#contact_form .form_steps::before {
			top: 23px;
		}
	}

	@media screen and (max-width: 767px) {
		#contact_form .form_steps::before {
			display: none;
		}
	}

			#contact_form .form_steps li {
				position: relative;
				z-index: 1;
				flex: 0 1 480px;
				height: 60px;
				color: #fff;
				background: #003366;
				border-radius: 6px;
				font-size: 21px;
				font-weight: 700;
				line-height: 60px;
				letter-spacing: 0.3em;
				text-align: center;
			}

		@media screen and (max-width: 1000px) {
			#contact_form .form_steps li {
				height: 50px;
				font-size: 17px;
				line-height: 50px;
			}
		}

		@media screen and (max-width: 767px) {
			#contact_form .form_steps li {
				height: 40px;
				font-size: 14px;
				line-height: 40px;
				letter-spacing: 0.1em;
			}
		}

			#contact_form .form_steps li + li {
				margin-left: 80px;
			}

		@media screen and (max-width: 1440px) {
			#contact_form .form_steps li + li {
				margin-left: 40px;
			}
		}

		@media screen and (max-width: 1000px) {
			#contact_form .form_steps li + li {
				margin-left: 24px;
			}
		}

		@media screen and (max-width: 767px) {
			#contact_form .form_steps li + li {
				margin-left: 8px;
			}
		}

			#contact_form .form_steps .is_active {
				/* 今いるステップ */
				color: #003366;
				background: #fff;
			}

/* 白いパネル */

		#contact_form .form_panel {
			max-width:1200px;
			margin:0 auto;
			padding: 30px 5% 58px;
			background: #fff;
		}

	@media screen and (max-width: 767px) {
		#contact_form .form_panel {
			padding: 20px 16px 30px;
		}
	}

		#contact_form .form_table {
			max-width: 1192px;
			margin: 0 auto;
		}

		#contact_form .req_note {
			margin: 0 0 17px;
			color: #e61f19;
			font-size: 14px;
			line-height: 1.5;
			text-align: right;
		}

	@media screen and (max-width: 767px) {
		#contact_form .req_note {
			font-size: 12px;
		}
	}

/* 1行（項目名＋入力欄） */

		#contact_form .form_row {
			display: flex;
			align-items: flex-start;
			padding: 15px 0 14px;
			border-top: 1px dashed #7f7f7f;
		}

	@media screen and (max-width: 767px) {
		#contact_form .form_row {
			display: block; /* 項目名を上、入力欄を下に */
			padding: 14px 0 16px;
		}
	}

		#contact_form .form_row:last-child {
			border-bottom: 1px dashed #7f7f7f;
		}

		#contact_form .form_label {
			position: relative;
			flex: 0 0 305px;
			box-sizing: border-box;
			margin: 0;
			padding: 12px 0 0 40px;
			color: #336699;
			font-size: 16px;
			font-weight: 700;
			line-height: 1.5;
		}

	@media screen and (max-width: 1440px) {
		#contact_form .form_label {
			flex-basis: 260px;
		}
	}

	@media screen and (max-width: 1000px) {
		#contact_form .form_label {
			flex-basis: 220px;
			padding-left: 20px;
		}
	}

	@media screen and (max-width: 767px) {
		#contact_form .form_label {
			margin-bottom: 8px;
			padding: 0 0 0 16px;
			font-size: 14px;
		}
	}

		#contact_form .form_label::before {
			/* 先頭の赤い「-」 */
			content: "";
			position: absolute;
			top: 23px;
			left: 24px;
			width: 5px;
			height: 2px;
			background: #c0371f;
		}

	@media screen and (max-width: 1000px) {
		#contact_form .form_label::before {
			left: 6px;
		}
	}

	@media screen and (max-width: 767px) {
		#contact_form .form_label::before {
			top: 10px;
			left: 2px;
		}
	}

			#contact_form .form_label .req {
				/* 必須の「※」 */
				position: relative;
				top: -0.6em;
				margin-left: 2px;
				color: #ff0000;
				font-size: 10px;
				font-weight: 400;
			}

		#contact_form .form_field {
			flex: 1;
			min-width: 0;
		}

/* 入力欄 */

		#contact_form input[type="text"],
		#contact_form input[type="email"],
		#contact_form input[type="tel"],
		#contact_form select,
		#contact_form textarea {
			box-sizing: border-box;
			max-width: 100%;
			height: 50px;
			margin: 0;
			padding: 0 14px;
			color: #000;
			background: #fff;
			border: 1px solid #cbcccb;
			border-radius: 4px;
			font-family: inherit;
			font-size: 16px;
			letter-spacing: 0.04em;
			transition: border-color 0.2s, box-shadow 0.2s;
		}

		#contact_form input[type="text"],
		#contact_form input[type="email"] {
			width: 560px;
		}

	@media screen and (max-width: 1000px) {
		#contact_form input[type="text"],
		#contact_form input[type="email"] {
			width: 100%;
		}
	}

		#contact_form input.w_short,
		#contact_form input[type="tel"],
		#contact_form select {
			width: 316px;
		}

	@media screen and (max-width: 767px) {
		#contact_form input.w_short,
		#contact_form input[type="tel"],
		#contact_form select {
			width: 100%;
		}
	}

		#contact_form select {
			padding-right: 40px;
			color: #666;
			font-size: 14px;
			background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 11'%3E%3Cpath d='M1 1l9 9 9-9' fill='none' stroke='%237f7f7f' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center / 19px auto;
			-webkit-appearance: none;
			appearance: none;
			cursor: pointer;
		}

		#contact_form textarea {
			display: block;
			width: 800px;
			height: 178px;
			padding: 12px 14px;
			line-height: 1.7;
			resize: vertical;
		}

	@media screen and (max-width: 1000px) {
		#contact_form textarea {
			width: 100%;
		}
	}

		#contact_form input:focus,
		#contact_form select:focus,
		#contact_form textarea:focus {
			outline: none;
			border-color: #5cb0e6;
			box-shadow: 0 0 0 3px rgba(92, 176, 230, 0.25);
		}

/* 次へボタン */

		#contact_form .form_btn {
			margin: 74px 0 0;
			text-align: center;
		}

	@media screen and (max-width: 1000px) {
		#contact_form .form_btn {
			margin-top: 48px;
		}
	}

	@media screen and (max-width: 767px) {
		#contact_form .form_btn {
			margin-top: 36px;
		}
	}

			#contact_form .form_btn button {
				position: relative;
				box-sizing: border-box;
				width: 480px;
				max-width: 100%;
				height: 50px;
				padding: 0 40px;
				color: #fff;
				background: #5cb0e6;
				border: none;
				border-radius: 25px;
				font-family: inherit;
				font-size: 18px;
				font-weight: 700;
				letter-spacing: 0.3em;
				cursor: pointer;
				transition: background 0.2s;
			}

		@media screen and (max-width: 767px) {
			#contact_form .form_btn button {
				font-size: 16px;
			}
		}

			#contact_form .form_btn button::after {
				/* 黄色の細長い矢印 */
				content: "";
				position: absolute;
				top: 50%;
				right: 22px;
				width: 13px;
				height: 26px;
				margin-top: -13px;
				background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 27'%3E%3Cpath d='M1 1l11 12.5L1 26' fill='none' stroke='%23ffff00' stroke-width='2'/%3E%3C/svg%3E") no-repeat center / contain;
				transition: right 0.2s;
			}

			#contact_form .form_btn button:hover {
				background: #3d9ad6;
			}

			#contact_form .form_btn button:hover::after {
				right: 16px;
			}

/* ==================================================
    確認画面（check.php）
   ================================================== */

		#contact_form .confirm_lead {
			margin: -20px 0 32px;
			font-size: 18px;
			line-height: 1.8;
			text-align: center;
		}

	@media screen and (max-width: 767px) {
		#contact_form .confirm_lead {
			margin: -8px 0 20px;
			font-size: 15px;
			text-align: left;
		}
	}

		#contact_form .confirm_value {
			padding: 12px 0 13px;
			font-size: 16px;
			line-height: 1.6;
			word-break: break-all;
		}

	@media screen and (max-width: 767px) {
		#contact_form .confirm_value {
			padding: 0;
			font-size: 15px;
		}
	}

			#contact_form .confirm_value .empty {
				color: #999;
			}

/* 入力エラー */

		#contact_form .form_error {
			padding: 10px 0;
			color: #e61f19;
		}

			#contact_form .form_error .error_ttl {
				margin: 0 0 12px;
				font-size: 18px;
				font-weight: 700;
			}

			#contact_form .form_error ul {
				margin: 0;
				padding: 0 0 0 1.4em;
				font-size: 16px;
				line-height: 1.9;
			}

/* 戻る・送信するを横並び */

		#contact_form .form_btns {
			display: flex;
			justify-content: center;
			margin: 74px 0 0;
		}

	@media screen and (max-width: 1000px) {
		#contact_form .form_btns {
			margin-top: 48px;
		}
	}

	@media screen and (max-width: 767px) {
		#contact_form .form_btns {
			flex-direction: column-reverse; /* スマホは「送信する」を上に */
			align-items: center;
			margin-top: 36px;
		}
	}

			#contact_form .form_btns .form_btn {
				margin: 0;
			}

		@media screen and (max-width: 767px) {
			#contact_form .form_btns .form_btn {
				width: 100%;
			}
		}


			#contact_form .form_btns .form_btn + .form_btn {
				margin-left: 24px;
			}

		@media screen and (max-width: 767px) {
			#contact_form .form_btns .form_btn + .form_btn {
				margin: 0 0 14px;
			}
		}

/* 戻るボタン：灰色・矢印は左向き */

			#contact_form .form_btn .btn_back {
				background: #999;
			}

			#contact_form .form_btn .btn_back::after {
				right: auto;
				left: 22px;
				transform: scaleX(-1);
			}

			#contact_form .form_btn .btn_back:hover {
				background: #7f7f7f;
			}

			#contact_form .form_btn .btn_back:hover::after {
				right: auto;
				left: 16px;
			}

/* ==================================================
    完了画面（thanks.php）
   ================================================== */

		#contact_form .form_complete {
			max-width: 1000px;
			margin: 0 auto;
			padding: 30px 0 10px;
			text-align: center;
		}

	@media screen and (max-width: 767px) {
		#contact_form .form_complete {
			padding: 10px 0 0;
			text-align: left;
		}
	}

			#contact_form .form_complete p {
				margin: 0 0 20px;
				font-size: 18px;
				line-height: 2;
			}

		@media screen and (max-width: 767px) {
			#contact_form .form_complete p {
				font-size: 15px;
				line-height: 1.9;
			}
		}

			#contact_form .form_complete .complete_ttl {
				margin-bottom: 30px;
				color: #003366;
				font-size: 30px;
				font-weight: 700;
				line-height: 1.5;
			}

		@media screen and (max-width: 767px) {
			#contact_form .form_complete .complete_ttl {
				margin-bottom: 20px;
				font-size: 20px;
				text-align: center;
			}
		}

			#contact_form .form_complete .complete_tel {
				margin: 30px 0 0;
				color: #003366;
				font-weight: 700;
			}

			#contact_form .form_complete .complete_tel a {
				color: #003366;
				text-decoration: none;
			}

/* トップページへ戻る（リンクを青いボタンの見た目に） */

			#contact_form .form_btn a {
				position: relative;
				display: inline-block;
				box-sizing: border-box;
				width: 480px;
				max-width: 100%;
				height: 50px;
				padding: 0 40px;
				color: #fff;
				background: #5cb0e6;
				border-radius: 25px;
				font-size: 18px;
				font-weight: 700;
				line-height: 50px;
				text-decoration: none;
				transition: background 0.2s;
			}

		@media screen and (max-width: 767px) {
			#contact_form .form_btn a {
				font-size: 16px;
			}
		}

			#contact_form .form_btn a::after {
				content: "";
				position: absolute;
				top: 50%;
				right: 22px;
				width: 13px;
				height: 26px;
				margin-top: -13px;
				background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 27'%3E%3Cpath d='M1 1l11 12.5L1 26' fill='none' stroke='%23ffff00' stroke-width='2'/%3E%3C/svg%3E") no-repeat center / contain;
			}

			#contact_form .form_btn a:hover {
				background: #3d9ad6;
			}



/*#### 404ページ ####*/

.notfound {
	padding-bottom: 100px;
}

	@media screen and (max-width: 770px) {
		.notfound {
			padding-bottom: 60px;
		}
	}

	.notfound .content-title {
		margin: 0 0 60px;
		padding: 80px 20px 64px;
		background: #f3f5f8;
		color: #1f3a5f;
		font-family: 'Source Sans 3', Helvetica, Arial, sans-serif;
		font-size: 26px;
		font-weight: 700;
		letter-spacing: 0.08em;
		line-height: 1.3;
		text-align: center;
	}

	@media screen and (max-width: 770px) {
		.notfound .content-title {
			margin-bottom: 40px;
			padding: 56px 16px 44px;
			font-size: 20px;
		}
	}

		.notfound .content-title span {
			display: block;
			margin-bottom: 12px;
			color: #c5d0dc;
			font-size: 120px;
			letter-spacing: 0.04em;
			line-height: 1;
		}

		@media screen and (max-width: 770px) {
			.notfound .content-title span {
				font-size: 80px;
			}
		}

	.notfound .thanksnote {
		margin: 0 0 48px;
		color: #444;
		font-size: 16px;
		line-height: 2;
		text-align: center;
	}

	@media screen and (max-width: 770px) {
		.notfound .thanksnote {
			margin-bottom: 36px;
			font-size: 15px;
			line-height: 1.9;
		}
	}

	.notfound .notfound_btn {
		margin: 0;
		text-align: center;
	}

		.notfound .notfound_btn a {
			display: inline-block;
			box-sizing: border-box;
			min-width: 280px;
			padding: 16px 40px;
			border: 1px solid #1f3a5f;
			background: #1f3a5f;
			color: #fff;
			font-size: 16px;
			font-weight: 500;
			letter-spacing: 0.05em;
			text-decoration: none;
			transition: background 0.3s, color 0.3s;
		}

		@media screen and (max-width: 770px) {
			.notfound .notfound_btn a {
				min-width: 0;
				width: 100%;
				max-width: 320px;
				padding: 14px 20px;
				font-size: 15px;
			}
		}

		.notfound .notfound_btn a:hover {
			background: #fff;
			color: #1f3a5f;
		}


