@charset "UTF-8";
:root {
	--color_main: 45, 109, 225; /* #2d6de1 メインのブルー */
	--color_text: 0, 3, 51; /* #000333 通常テキスト */
	--color_gray: 130, 130, 130; /* #828282 グレーテキスト */
	--color_red: 255, 00, 00; /* #ff0000 */
	--color_blue: 18, 180, 254; /* #12b4fe スカイブルー*/
	--color_green: 20, 165, 59; /* #14a53b */
	--color_yellow: 255, 255, 0; /* #ffff00 */
	--color_orange: 248, 207, 122; /* #f8cf7a */
	--color_pink: 236, 64, 122; /* #ec407a */
	--color_gold: 181, 149, 74; /* #b5954a */

	--font_noto: "Noto Sans JP", sans-serif; /*Noto Sans JP R400 M500 B700*/
	--font_en: "Oswald", sans-serif; /*Oswald R400*/
	--font_mincho: "Zen Old Mincho", serif; /*Zen Old Mincho R400*/

	--text_size_small: 12px;
	--text_size_medium: 16px;
	--text_size_large: 22px;

	--contents_width_l: 1200px;
	--contents_width_m: 1086px;
	--contents_width_s: 850px;
	--contents_width_sp: 90%;
	--contents_width_header: 250px;
	--col_main: 615px;
	--col_side: 220px;
}

/*
// カラー
*/
/* テキストカラー */
.color_text {
	/* ベーステキストカラー */
	color: rgb(var(--color_text));
}
.color_main {
	/* メインカラー */
	color: rgb(var(--color_main));
}
.color_sub {
	/* サブカラー */
	color: rgb(var(--color_sub));
}
.color_gray {
	/* グレイ */
	color: rgb(var(--color_gray));
}
.color_red {
	/* 赤 */
	color: rgb(var(--color_red));
}
.color_blue {
	/* 青 */
	color: rgb(var(--color_blue));
}
.color_green {
	/* 緑 */
	color: rgb(var(--color_green));
}
.color_yellow {
	/* 黄色 */
	color: rgb(var(--color_yellow));
}
.color_orange {
	/* オレンジ */
	color: rgb(var(--color_orange));
}
.color_pink {
	/* ピンク */
	color: rgb(var(--color_pink));
}
.color_gold {
	/* ゴールド */
	color: rgb(var(--color_gold));
}

/*
// 背景色
*/
.dot_pattern_gray{
	background: url(../images/dot_pattern_gray.png) 0 0 repeat;
	background-size: 30px auto;
	width: 100vw;
	margin: 0 calc(50% - 50vw) 5%;
	padding: 30px calc(50vw - 50%);
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/* 背景色 PC */
	.dot_pattern_gray{
		margin: 0 calc(50% - 50vw);
		padding: 70px calc(50vw - 50%);
	}
}

/*
// FONT-VARIABLE
*/
.wf-loading {
	/*Adobe Fontsラグ対策*/
    opacity: 0;
}

.font_noto {
	font-family: var(--font_noto);
	font-style: normal;
}
.font_noto,strong,
strong {
	font-family: var(--font_noto);
	font-style: normal;
	font-weight: 700;
}
.font_en {
	font-family: var(--font_en);
	font-weight: 500;
	font-style: normal;
	translate:  0px;
}

.font_mincho {
	font-family: var(--font_mincho);
	font-weight: 400;
	font-style: normal;
}


/*
// 左右中央寄せ
*/
/* 画像 左右中央寄せ */
.img_center,
.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.img_left,
.alignleft {
	float: left;
	margin: 0 1em 1em 0;
}
.img_right,
.alignright {
	float: right;
	margin: 0 0 1em 1em;
}

/* テキスト 左右中央寄せ */
.center {
	text-align: center;
}
.left {
	text-align: left !important;
}
.right {
	text-align: right !important;
}

/* 画像はスマホでは全幅 */
@media screen and (max-width: 768px) { /* SP用 メディアクエリー */
	.img_left,
	.img_right,
	.img_center,
	.aligncenter,
	.alignleft,
	.alignright {
		clear: both;
		display: block;
		width: 100%;
		height: auto;
		margin: 0 0 1em;
	}
}

/*
// 表示設定
*/
.none,
.is_hide {
	display: none;
}
.is_active {
	display: block;
}

/*
// 各デバイスのみ表示
*/
/* スマホでPC用非表示 */
@media screen and (max-width: 768px) { /* SP用 メディアクエリー */
	.pc_only,.tab_only {
		display: none !important;
	}
	.sp_only {
		display: inherit;
	}
}
/* PCでスマホ用非表示 */
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/* .not_tab {
		display: none !important;
	} */
	.pc_only {
		display: inherit;
	}
	.sp_only,.tab_only {
		display: none !important;
	}
	.and_tab {
		display: inherit !important;
	}
}
/* TABも含めるかどうか */
@media screen and (min-width: 769px) and (max-width: 1180px) { /* Tablet用 メディアクエリー */ 
	.tab_only {
		display: inherit !important;
	}
	.and_tab {
		display: inherit !important;
	}
	.not_tab {
		display: none !important;
	}
}


/* 周囲にシャドウ */
.shadow {
	-webkit-box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2);
	box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2);
}

/*	改行しない */
.nowrap {
	white-space: nowrap;
}

/*
// リストスタイル
*/
.list {
	margin-left: 2.5em;
}

.list li:not(:first-of-type) {
	margin-top: 0.3em;
}

.list li:last-child {
	margin-bottom: 0;
}

.list_none {
	/*リストスタイル 無し*/
	list-style-type: none !important;
	margin-left: 0;
}

.list_disc {
	/*黒丸*/
	list-style-type: disc;
}

.list_decimal {
	/*数字*/
	list-style-type: decimal;
}

.list_circle {
	/*白丸*/
	list-style-type: circle;
}

.list_square {
	/*黒四角*/
	list-style-type: square;
}

.list_upper_latin {
	/*大文字アルファベット*/
	list-style-type: upper-latin;
}

.list_upper_roman {
	/*大文字のローマ数字*/
	list-style-type: upper-roman;
}

/*
// マーカー
*/
.marker{
	display: inline;
	background: linear-gradient(transparent 60%, rgba(var(--color_blue),0.2) 0%);
	padding: 0 1px 0px;
}

/*
// iframeレスポンシブ対応
*/
iframe {
	max-width: 100%;
}

.gmap {
	position: relative;
	aspect-ratio: 6/3;
}

.gmap iframe {
	width: 100%;
	height: 100%;
}

/*
// CLEARFIX
*/
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

/*
// 重要度BOX
*/
.box_wide {
	background-color: rgba(var(--color_gray), 0.12);
	border: solid 1px var(--color_gray);
	width: 100vw;
	margin: 0 calc(50% - 50vw) 5%;
	padding: 20px calc(50vw - 50%);
}
.box_important {
	border: solid 1px var(--color_red);
	background-color: rgba(var(--color_red), 0.12);
	padding: 5%;
}

.box_warning {
	border: solid 1px var(--color_yellow);
	background-color: rgba(var(--color_yellow), 0.15);
	padding: 5%;
}

.box_info {
	background-color: rgba(var(--color_main), 0.12);
	padding: 5%;
}

.box_success {
	border: solid 1px var(--color_green);
	background-color: rgba(var(--color_green), 0.12);
	padding: 5%;
}
.box_gray {
	background-color: rgba(var(--color_text), 0.12);
	padding: 5%;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	.box_wide {
		margin: 0 calc(50% - 50vw) 40px;
	}
	.box_important,
	.box_warning,
	.box_info,
	.box_success,
	.box_gray {
		padding: 20px;
	}
}

/*
// 注釈
*/
.annotation{
	display: flex;
	flex-wrap: wrap;
	gap: 4px 0;
}
.annotation li{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 0 5px;
	font-weight: 400;
	line-height: 1.5;
}
.annotation li .head{
	font-size: 0.687rem;
	flex: 0 0 auto;
}
.annotation li .txt{
	flex: 1;
}
.annotation li .txt p{
	font-size: 0.687rem;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
}

/*
// TEXT SIZE
*/
.text_size_base {
	font-size: var(--text_size_medium);
}

.text_size_large {
	font-size: 150%;
}

.text_size_small {
	font-size: 75%;
}

.text_size_sub {
	font-size: 10px;
}

/*
// LINK
*/
.contents a {
	color: rgba(var(--color_main), 1);
}
.contents a:hover {
	color: rgba(var(--color_main), 1);
	text-decoration: underline;
}
.contents a[href^="tel:"]{
	color: rgba(var(--color_text), 1);
	text-decoration: none;
}
.contents a[href^="tel:"]:hover{
	text-decoration: underline;
}

/*
// コンテンツBASE
*/
body, html {
	position: relative;
	height: 100%;
	z-index: 0;
	-webkit-text-size-adjust: 100%;
}
html{
	/*
	固定ヘッダーのページ内リンクズレ対策
	※JSのFIXEDヘッダーのページ内リンク位置のズレ調整も併せて必要
	*/
	scroll-padding-top: 65px;
	/* スムーススクロール */
	/* scroll-behavior: smooth; */
}
html.text_size_small {
	font-size: var(--text_size_small);
}
html.text_size_medium {
	font-size: var(--text_size_medium);
}
html.text_size_large {
	font-size: var(--text_size_large);
}
body {
	position: relative;
	color: rgb(var(--color_text));
	line-height: 1.8;
	font-family: var(--font_noto);
	font-weight: 400;
}
body.js-nav-active{
	height: 100%;
	overflow: hidden;
}
.body_inner {}

/* body:has(#wpadminbar) header{
	margin-top: 32px;
} */

@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	html{
		/*
		固定ヘッダーのページ内リンクズレ対策
		※JSのFIXEDヘッダーのページ内リンク位置のズレ調整も併せて必要
		*/
		scroll-padding-top: 0;
	}

	.body_inner {
		justify-content: flex-start;
		align-items: flex-start;
		width: 100%;
	}

}

/*
// コンテンツ幅
//
//L：1200px
//M：1000px
//S：800px
//SP：90%
//FULL：100%
*/
.contents_width_l,
.contents_width_m,
.contents_width_s,
.contents_width_header {}
.contents_width_sp {
	width: var(--contents_width_sp);
	margin-left: auto;
	margin-right: auto;
}
.contents_width_sp img {
	max-width: 100%;
}
.contents_width_full {
	width: 100%;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	.contents_width_l {
		width: var(--contents_width_l);
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.contents_width_m {
		width: var(--contents_width_m);
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.contents_width_s {
		width: var(--contents_width_s);
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.contents_width_header {
		width: var(--contents_width_header);
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}

@media screen and (min-width: 961px) and (max-width: 1200px) { /* Tablet用 メディアクエリー */ }
/* デバイス共通マージン */
.mt0,
.mt_none {
	margin-top: 0 !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mt60 {
	margin-top: 60px !important;
}

.mt70 {
	margin-top: 70px !important;
}

.mt80 {
	margin-top: 80px !important;
}

.mt90 {
	margin-top: 90px !important;
}

.mt100 {
	margin-top: 100px !important;
}

.mb0,
.mb-none {
	margin-bottom: 0 !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.mb70 {
	margin-bottom: 70px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}

.mb90 {
	margin-bottom: 90px !important;
}

.mb100 {
	margin-bottom: 100px !important;
}

/* スマホ用マージン */
@media screen and (max-width: 768px) { /* SP用 メディアクエリー */
	.sp_mt0,
	.sp_mt_none {
		margin-top: none !important;
	}
	.sp_mt10 {
		margin-top: 10px !important;
	}
	.sp_mt20 {
		margin-top: 20px !important;
	}
	.sp_mt30 {
		margin-top: 30px !important;
	}
	.sp_mt40 {
		margin-top: 40px !important;
	}
	.sp_mt50 {
		margin-top: 50px !important;
	}
	.sp_mt60 {
		margin-top: 60px !important;
	}
	.sp_mt70 {
		margin-top: 70px !important;
	}
	.sp_mt80 {
		margin-top: 80px !important;
	}
	.sp_mt90 {
		margin-top: 90px !important;
	}
	.sp_mt100 {
		margin-top: 100px !important;
	}
	.sp_mb0,
	.sp_mb-none {
		margin-bottom: 0 !important;
	}
	.sp_mb10 {
		margin-bottom: 10px !important;
	}
	.sp_mb20 {
		margin-bottom: 20px !important;
	}
	.sp_mb30 {
		margin-bottom: 30px !important;
	}
	.sp_mb40 {
		margin-bottom: 40px !important;
	}
	.sp_mb50 {
		margin-bottom: 50px !important;
	}
	.sp_mb60 {
		margin-bottom: 60px !important;
	}
	.sp_mb70 {
		margin-bottom: 70px !important;
	}
	.sp_mb80 {
		margin-bottom: 80px !important;
	}
	.sp_mb90 {
		margin-bottom: 90px !important;
	}
	.sp_mb100 {
		margin-bottom: 100px !important;
	}
}
/* PC用マージン */
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	.pc_mt0,
	.pc_mt_none {
		margin-top: none !important;
	}
	.pc_mt10 {
		margin-top: 10px !important;
	}
	.pc_mt20 {
		margin-top: 20px !important;
	}
	.pc_mt30 {
		margin-top: 30px !important;
	}
	.pc_mt40 {
		margin-top: 40px !important;
	}
	.pc_mt50 {
		margin-top: 50px !important;
	}
	.pc_mt60 {
		margin-top: 60px !important;
	}
	.pc_mt70 {
		margin-top: 70px !important;
	}
	.pc_mt80 {
		margin-top: 80px !important;
	}
	.pc_mt90 {
		margin-top: 90px !important;
	}
	.pc_mt100 {
		margin-top: 100px !important;
	}
	.pc_mb0,
	.pc_mb-none {
		margin-bottom: 0 !important;
	}
	.pc_mb10 {
		margin-bottom: 10px !important;
	}
	.pc_mb20 {
		margin-bottom: 20px !important;
	}
	.pc_mb30 {
		margin-bottom: 30px !important;
	}
	.pc_mb40 {
		margin-bottom: 40px !important;
	}
	.pc_mb50 {
		margin-bottom: 50px !important;
	}
	.pc_mb60 {
		margin-bottom: 60px !important;
	}
	.pc_mb70 {
		margin-bottom: 70px !important;
	}
	.pc_mb80 {
		margin-bottom: 80px !important;
	}
	.pc_mb90 {
		margin-bottom: 90px !important;
	}
	.pc_mb100 {
		margin-bottom: 100px !important;
	}
}

/*
// FLEXBOX
*/
.flex {
	clear: both;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
			flex-wrap: wrap;
	-webkit-box-pack: justify;
			-ms-flex-pack: justify;
					justify-content: space-between;
}

.flex_item img {
	max-width: 100%;
	height: auto;
}

.flex_1 .flex_item {
	width: 100%;
	margin-right: 0;
}

.flex_2 .flex_item {
	width: 48%;
	margin-right: 4%;
}

.flex_2 .flex_item:nth-of-type(even) {
	margin-right: 0;
}

.flex_3 .flex_item {
	width: 30%;
	margin-right: 5%;
}

.flex_3 .flex_item:nth-of-type(3n) {
	margin-right: 0;
}

.flex_4 .flex_item {
	width: 22%;
	margin-right: 4%;
}

.flex_4 .flex_item:nth-of-type(4n) {
	margin-right: 0;
}

.flex_5 .flex_item {
	width: 18.4%;
	margin-right: 2%;
}

.flex_5 .flex_item:nth-of-type(5n) {
	margin-right: 0;
}

/*
// SP FLEXBOX
*/
@media screen and (max-width: 768px) { /* SP用 メディアクエリー */
	.sp_flex_1 .flex_item {
		width: 100% !important;
	}
	.sp_flex_2 .flex_item {
		width: 46% !important;
		margin-right: 7% !important;
	}
	.sp_flex_2 .flex_item:nth-of-type(even) {
		margin-right: 0 !important;
	}
	.sp_flex_3 .flex_item {
		width: 30%;
		margin-right: 5%;
	}
	.sp_flex_3 .flex_item:nth-of-type(3n) {
		margin-right: 0;
	}
	.sp_flex_4 .flex_item {
		width: 23.5%;
		margin-right: 2%;
	}
	.sp_flex_4 .flex_item:nth-of-type(4n) {
		margin-right: 0;
	}
}
/*
// PC FLEXBOX
*/
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	.pc_flex_2 .flex_item {
		width: 48%;
		margin-right: 4%;
	}
	.pc_flex_2 .flex_item:nth-of-type(even) {
		margin-right: 0;
	}
	.pc_flex_3 .flex_item {
		width: 30%;
		margin-right: 5%;
	}
	.pc_flex_3 .flex_item:nth-of-type(3n) {
		margin-right: 0;
	}
	.pc_flex_4 .flex_item {
		width: 22%;
		margin-right: 4%;
	}
	.pc_flex_4 .flex_item:nth-of-type(4n) {
		margin-right: 0;
	}
	.pc_flex_5 .flex_item {
		width: 18.4%;
		margin-right: 2%;
	}
	.pc_flex_5 .flex_item:nth-of-type(5n) {
		margin-right: 0;
	}
}
/*
// 共通デバイス 表示順序
*/
.order_1 {
	-webkit-box-ordinal-group: 2;
			-ms-flex-order: 1;
					order: 1;
}

.order_2 {
	-webkit-box-ordinal-group: 3;
			-ms-flex-order: 2;
					order: 2;
}

.order_3 {
	-webkit-box-ordinal-group: 4;
			-ms-flex-order: 3;
					order: 3;
}

.order_4 {
	-webkit-box-ordinal-group: 5;
			-ms-flex-order: 4;
					order: 4;
}

.order_5 {
	-webkit-box-ordinal-group: 6;
			-ms-flex-order: 5;
					order: 5;
}

.order_6 {
	-webkit-box-ordinal-group: 7;
			-ms-flex-order: 6;
					order: 6;
}

.order_7 {
	-webkit-box-ordinal-group: 8;
			-ms-flex-order: 7;
					order: 7;
}

.order_8 {
	-webkit-box-ordinal-group: 9;
			-ms-flex-order: 8;
					order: 8;
}

.order_9 {
	-webkit-box-ordinal-group: 10;
			-ms-flex-order: 9;
					order: 9;
}

.order_10 {
	-webkit-box-ordinal-group: 11;
			-ms-flex-order: 10;
					order: 10;
}

.order_11 {
	-webkit-box-ordinal-group: 12;
			-ms-flex-order: 11;
					order: 11;
}

.order_12 {
	-webkit-box-ordinal-group: 13;
			-ms-flex-order: 12;
					order: 12;
}

/*
// SP 表示順序
*/
@media screen and (max-width: 768px) { /* SP用 メディアクエリー */
	.sp_order_1 {
		-webkit-box-ordinal-group: 2;
				-ms-flex-order: 1;
						order: 1;
	}
	.sp_order_2 {
		-webkit-box-ordinal-group: 3;
				-ms-flex-order: 2;
						order: 2;
	}
	.sp_order_3 {
		-webkit-box-ordinal-group: 4;
				-ms-flex-order: 3;
						order: 3;
	}
	.sp_order_4 {
		-webkit-box-ordinal-group: 5;
				-ms-flex-order: 4;
						order: 4;
	}
	.sp_order_5 {
		-webkit-box-ordinal-group: 6;
				-ms-flex-order: 5;
						order: 5;
	}
	.sp_order_6 {
		-webkit-box-ordinal-group: 7;
				-ms-flex-order: 6;
						order: 6;
	}
	.sp_order_7 {
		-webkit-box-ordinal-group: 8;
				-ms-flex-order: 7;
						order: 7;
	}
	.sp_order_8 {
		-webkit-box-ordinal-group: 9;
				-ms-flex-order: 8;
						order: 8;
	}
	.sp_order_9 {
		-webkit-box-ordinal-group: 10;
				-ms-flex-order: 9;
						order: 9;
	}
	.sp_order_10 {
		-webkit-box-ordinal-group: 11;
				-ms-flex-order: 10;
						order: 10;
	}
}
/*
// PC 表示順序
*/
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	.pc_order_1 {
		-webkit-box-ordinal-group: 2;
				-ms-flex-order: 1;
						order: 1;
	}
	.pc_order_2 {
		-webkit-box-ordinal-group: 3;
				-ms-flex-order: 2;
						order: 2;
	}
	.pc_order_3 {
		-webkit-box-ordinal-group: 4;
				-ms-flex-order: 3;
						order: 3;
	}
	.pc_order_4 {
		-webkit-box-ordinal-group: 5;
				-ms-flex-order: 4;
						order: 4;
	}
	.pc_order_5 {
		-webkit-box-ordinal-group: 6;
				-ms-flex-order: 5;
						order: 5;
	}
	.pc_order_6 {
		-webkit-box-ordinal-group: 7;
				-ms-flex-order: 6;
						order: 6;
	}
	.pc_order_7 {
		-webkit-box-ordinal-group: 8;
				-ms-flex-order: 7;
						order: 7;
	}
	.pc_order_8 {
		-webkit-box-ordinal-group: 9;
				-ms-flex-order: 8;
						order: 8;
	}
	.pc_order_9 {
		-webkit-box-ordinal-group: 10;
				-ms-flex-order: 9;
						order: 9;
	}
	.pc_order_10 {
		-webkit-box-ordinal-group: 11;
				-ms-flex-order: 10;
						order: 10;
	}
}
/*
// インプット
*/
input[type=text],
input[type=url],
input[type=search],
input[type=email],
input[type=password],
input[type=date],
input[type=tel] {
	border-radius: 8px;
	border: solid 1px rgba(var(--color_main), 1);
	width: 100%;
	max-width: 100%;
	padding: 8px;
	font-size: 0.875rem;
	line-height: 1.8;
	font-weight: 400;
}

/*
// テキストエリア
*/
textarea {
	border-radius: 8px;
	border: solid 1px rgba(var(--color_main), 1);
	width: 100%;
	max-width: 100%;
	min-height: 4em;
	padding: 5px;
	font-size: 0.875rem;
	line-height: 1.8;
	font-weight: 400;
}

/*
// チェックボックス
*/
input[type=checkbox] {
	border: solid 1px rgba(var(--color_main), 1);
	margin: 10px 8px 10px 0;
	vertical-align: -1px;
	overflow: auto;
	-webkit-transform: scale(1.4);
	transform: scale(1.4);
}

/*
// ラジオボックス
*/
input[type=radio] {
	border-radius: 50%;
	border: solid 1px rgba(var(--color_main), 1);
	margin: 10px 8px 10px 0;
	vertical-align: -1px;
	overflow: auto;
	-webkit-transform: scale(1.4);
	transform: scale(1.4);
}

/*
// セレクトボックス
*/
select {
	border-radius: 8px;
	text-transform: none;
	display: block;
	width: 100%;
	height: 48px;
	padding: 8px 12px;
	font-size: 0.875rem;
	font-weight: 400;
	border: solid 1px rgba(var(--color_main), 1);
	/* -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); */
	/* box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); */
	-webkit-transition: border_color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
	transition: border_color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
	transition: border_color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
	transition: border_color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
}

/*
// ラベル
*/
label {
	margin-right: 14px;
}

/*
// プレイスホルダー
*/
::-webkit-input-placeholder {
	color: rgba(0, 0, 0, 0.4);
}
::-moz-placeholder {
	color: rgba(0, 0, 0, 0.4);
}
:-ms-input-placeholder {
	color: rgba(0, 0, 0, 0.4);
}
::-ms-input-placeholder {
	color: rgba(0, 0, 0, 0.4);
}
::placeholder {
	color: rgba(0, 0, 0, 0.4);
}

/*
// 送信ボタン
*/
.submit_button input[type=submit] {
	background-color: rgb(var(--color_main));
	padding: 10px 40px;
	color: #fff;
}
.submit_button input[type=submit]:hover {
	background-color: rgb(var(--color_sub));
}

.table {
	border_collapse: collapse;
	border: none;
	background-color: #fff;
	width: 100%;
	font-size: 0.687rem;
	line-height: 1.6;
}
.table th,
.table td {
	text-align: center;
	border: solid 1px #fff;
	padding: 8px 5px;
	font-weight: 400;
	vertical-align: middle;
}
.table th {
	background-color: rgb(var(--color_main));
	color: #fff;
	vertical-align: middle;
	white-space: nowrap;
	line-height: 1.4;
}
.table th.head {
	text-align: center;
	background-color: rgba(var(--color_main),0.5);
	padding: 10px;
	line-height: 1.2;
	vertical-align: top;
	white-space: inherit;
}
.table td {
	text-align: center;
	background-color: rgba(var(--color_main),0.15);
}
.table th.head {
	text-align: center;
	background-color: rgba(var(--color_main),0.5);
	padding: 10px;
	line-height: 1.2;
	vertical-align: top;
	white-space: inherit;
}
.table .w1rem {
	/*1文字幅固定用*/
	width: 1em;
}
.table .blank {
	/*空白 白背景*/
	background-color: transparent !important;
	border: none !important;
}

.table_simple {
	border_collapse: collapse;
	border: none;
	width: 100%;
	font-size: .6875rem;
	line-height: 1.6;
}
.table_simple th, .table_simple td {
	border: none;
	background-color: transparent;
	text-align: left;
	padding: 8px 5px;
	font-weight: 400;
	vertical-align: top;
	color: rgb(var(--color_text));
}
.table_simple th {
	white-space: nowrap;
	line-height: 1.4;
}
.table_simple .w1rem {
	/*1文字幅固定用*/
	width: 1em;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	.table {
		line-height: 1.6;
	}
	.table th,
	.table td {
		border: solid 2px #fff;
		padding: 8px 10px;
		font-size: 1rem;
	}
	.table th.head {
		padding: 10px;
	}
	.table td {
		font-size: 0.937rem;
	}
	.table th.head {
		padding: 10px;
		line-height: 1.2;
		vertical-align: top;
		white-space: inherit;
	}
	.table .w1rem {
		/*1文字幅固定用*/
		width: auto;
	}

	.table_simple {
		font-size: .9375rem;
	}
	.table_simple th, .table_simple td {
		border: none;
		padding: 8px 5px;
		font-size: .9375rem;
	}
}
@media screen and (min-width: 768px) and (max-width: 959px) { /* Tablet用 メディアクエリー */
	.table th,
	.table td {
		font-size: .875rem;
	}

	.table_simple {
		font-size: .875rem;
	}
	.table_simple th, .table_simple td {
		border: none;
		padding: 8px 5px;
		font-size: .875rem;
	}
}

/*
// スライドテーブル
*/
.slide_table {
	display: block;
	overflow-x: auto;
	position: relative;
	width: 100%;
}
.slide_table .slide_table_item {
	min-width: 1000px;
}

/* スマホのみテーブルをスライド */
@media screen and (max-width: 768px) { /* SP用 メディアクエリー */
	.sp_slide_table {
		display: block;
		overflow-x: auto;
		position: relative;
		width: 100%;
	}
	.sp_slide_table .sp_slide_table_item {
		min-width: 700px;
	}
}
/*
// テーブルの要素を全て縦並びで表示
*/
.block_table,
.block_table tbody,
.block_table tr,
.block_table th,
.block_table td {
	display: block;
}
.block_table th {
	border-bottom: none;
}
.block_table td {
	border-top: none;
}

/* スマホのみテーブルの要素を縦並び */
@media screen and (max-width: 768px) { /* SP用 メディアクエリー */
	.sp_block_table,
	.sp_block_table tbody,
	.sp_block_table tr,
	.sp_block_table th,
	.sp_block_table td {
		display: block;
	}
	.sp_block_table {
	}
	.sp_block_table th {
		border_top: none;
		border-bottom: none;
	}
	.sp_block_table td {
		border-top: none;
	}
}

/* 共通 */
.more_btn{
	text-align: center;
	box-sizing: border-box;
	width: max-content;
	margin: 0;
	font-size: 1rem;
	line-height: 1;
	font-family: var(--font_en);
	font-weight: 400;
	font-style: normal;
}
.more_btn a{
	display: inline-block;
	border: solid 1px rgb(var(--color_main));
	padding: 6px 20px;
	text-decoration: none;
	letter-spacing: 0.1em;
	color: rgb(var(--color_main));
}
.more_btn a:hover{
	background-color: rgba(var(--color_main),0.2);
	text-decoration: none !important;
}

.contact_btn:not(.home){
	margin-top: 60px;
}
.contact_btn a{
	display: block;
	text-align: center;
	background-color: rgba(var(--color_gray),1);
	padding: 40px 0;
	font-size: 2.0625rem;
	line-height: 1;
	color: #fff;
	font-family: var(--font_en);
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.02em;
}
.contact_btn a:hover{
	background-color: #999;
	text-decoration: none;
	color: #fff;
}
.contact_btn .click_txt{
	display: inline-block;
	border: solid 1px #fff;
	text-align: center;
	padding: 5px 20px;
	margin-left: 25px;
	font-size: 1rem;
	letter-spacing: 0.1em;
	vertical-align: 6px;
}

.click_btn {}
.click_btn a{
	display: block;
	text-align: center;
	background-color: rgba(var(--color_main),1);
	padding: 30px 0;
	font-size: .875rem;
	line-height: 1;
	color: #fff;
	font-family: var(--font_en);
	font-weight: 400;
	font-style: normal;
}
.click_btn a:hover{
	background-color: rgba(var(--color_main),0.9);
	text-decoration: none;
	color: #fff;
}
.click_btn a .cap{
	line-height: 1.4;
}
.click_btn .click_txt{
	display: block;
	border: solid 1px #fff;
	text-align: center;
	width: max-content;
	padding: 5px 20px;
	margin: 10px auto 0;
	font-size: 1rem;
	letter-spacing: 0.1em;
	vertical-align: 8px;
}

.page_title{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: relative;
	background-color: rgb(var(--color_main));
	text-align: center;
	width: 100%;
	height: 68vw;
	margin: 0 auto 20px;
	color: #fff;
	font-size: 1.562rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.2em;
}
.page_title img{
	position: relative;
	aspect-ratio: 375 / 255;
	object-fit: cover;
	width: 100%;
	height: 100%;
	z-index: 0;
}
.page_title span{
	display: block;
	position: absolute;
	padding: 0 5%;
	z-index: 1;
}

.page_title_2row{}
.page_title_2row .page_title_cap{
	position: absolute;
	inset: 0;
	width: 100%;
	height: max-content;
	margin: auto;
}
.page_title_2row span{
	position: relative;
	inset: auto;
	display: block;
	width: 100%;
	color: rgb(var(--color_main));
	letter-spacing: 0;
}
.page_title_2row .en{
	font-size: 2.1875rem;
	font-family: var(--font_en);
	font-weight: 400;
	font-style: normal;
	line-height: 1.1;
}
.page_title_2row .jp{
	margin-top: 15px;
	font-size: .75rem;
	font-weight: 500;
}

.section_title{
	border: solid 1px rgb(var(--color_main));
	background-color: #fff;
	width: 100%;
	padding: 14px 10px;
	margin-bottom: 10px;
	font-size: 0.875rem;
	color: rgb(var(--color_main));
	line-height: 1.5;
	font-weight: 700;
}

.section_box{
	background-color: #fff;
}
.section_box:not(:first-of-type){
	margin-top: 30px;
}
.section_box_title{
	background-color: rgb(var(--color_main));
	padding: 5px 15px;
	color: #fff;
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: 0.25em;
}
.section_box_contents{
	padding: 15px 25px;
}
.section_box_contents p:not(:first-of-type){
	margin-top: 1em;
}

.privacy_img{
	display: block;
	max-width: 100%;
	height: auto;
	margin: 30px auto 0;
}

.privacy_img2{
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0px auto 0;
}

.blue_box,
.fukidashi_box{
	background-color: rgba(var(--color_main), 0.12);
}
.blue_box:not(:first-of-type),
.fukidashi_box:not(:first-of-type){
	margin-top: 50px;
}
.fukidashi_box_title{
	position: relative;
	text-align: center;
	background-color: rgb(var(--color_main));
	width: 100%;
	padding: 5px 15px;
	color: #fff;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.25em;
	line-height: 1.5;
}
.fukidashi_box_title::before{
	position: absolute;
	left: 0;
	right: 0;
	bottom: -12px;
	margin: 0 auto;
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 7.5px 0px 7.5px;
	border-color: rgb(var(--color_main)) transparent transparent transparent;
	content: "";
}
.fukidashi_box_title .sub{
	display: inline-block;
	background-color: #fff;
	border-radius: 15px;
	padding: 2px 15px;
	margin-left: 5px;
	font-size: .875rem;
	line-height: 1.2;
	letter-spacing: 0.05em;
	color: rgb(var(--color_main));
}
.blue_box_contents,
.fukidashi_box_contents{
	background-color: #fff;
	width: 100%;
	margin: 30px 5% 25px;
	padding: 20px 20px;
	font-size: .6875rem;
}
.blue_box_contents p:not(:first-of-type),
.fukidashi_box_contents p:not(:first-of-type){
	margin-top: 1em;
}

.num_title{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	position: relative;
	border: solid 2px rgb(var(--color_main));
	background-color: #fff;
	width: 100%;
	font-weight: 700;
}
.num_title .num{
	display: inline-block;
	position: absolute;
	top: -1px;
	background-color: rgb(var(--color_main));
	text-align: center;
	width: 30px;
	height: 30px;
	line-height: 1.3;
	font-size: 1.375rem;
	color: #fff;
	vertical-align: top;
}
.num_title:has(.num + .ttl) .num{
/*'.num'が左にある場合*/
	left: -2px;
}
.num_title:has(.ttl + .num) .num{
/*'.num'が右にある場合*/
	right: -2px;
}

.num_title .ttl{
	display: inline-block;
	position: relative;
	/* width: calc(100% - 30px); */
	width: 100%;
	font-size: 1rem;
	line-height: 1.4;
	color: rgb(var(--color_main));
}
.num_title:has(.num + .ttl) .ttl{
/*'.num'が左にある場合*/
	padding: 2px 8px 4px 38px;
}
.num_title:has(.ttl + .num) .ttl{
/*'.num'が右にある場合*/
	padding: 2px 38px 4px 8px;
}

.left_border_title{
	position: relative;
	border: solid 1px rgb(var(--color_main));
	border-left: solid 12px rgb(var(--color_main));
	background-color: #fff;
	width: 100%;
	padding: 5px 5px 5px 12px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
	color: rgb(var(--color_main));
}

.square_brackets{}
.square_brackets_inner{
	position: relative;
	display: block;
	width: max-content;
	max-width: 100%;
	margin: 0 auto;
	padding: 5px 20px;
}
.square_brackets_inner::before{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	border: solid 1px rgb(var(--color_main));
	border-right: none;
	width: 10px;
	height: 100%;
	margin: auto 0;
	content: "";
}
.square_brackets_inner::after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	border: solid 1px rgb(var(--color_main));
	border-left: none;
	width: 10px;
	height: 100%;
	margin: auto 0;
	content: "";
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/* 共通 PC */
	.more_btn{
		font-size: 1.25rem;
	}
	.more_btn a{
		padding: 5px 20px 7px;
	}

	.contact_btn:not(.home){
		margin-top: 120px;
	}
	.contact_btn a{
		padding: 60px 0;
		font-size: 2.75rem;
	}
	.contact_btn .click_txt{
		padding: 10px 35px;
		margin-left: 25px;
		font-size: 1.25rem;
		vertical-align: 11px;
	}

	.click_btn a{
		padding: 44px 20px;
		font-size: 1.25rem;
	}
	.click_btn a .cap{
		font-size: 1.25rem;
		vertical-align: middle;
	}
	.click_btn .click_txt{
		display: inline-block;
		padding: 10px 35px;
		margin: 5px 0 5px 25px;
		font-size: 1.25rem;
		vertical-align: middle;
	}

	.page_title{
		width: 100%;
		height: 300px;
		margin: 0 auto 20px;
		font-size: 1.875rem;
	}
	.page_title img{
		aspect-ratio: inherit;
	}
	.page_title span{
		padding: 0 40px;
	}

	.page_title_2row .en{
		font-size: 3.75rem;
	}
	.page_title_2row .jp{
		font-size: 1.375rem;
	}

	.section_title{
		padding: 16px 18px;
		margin-bottom: 10px;
		font-size: 1.25rem;
		line-height: 1.4;
	}

	.section_box{}
	.section_box:not(:first-of-type){
		margin-top: 60px;
	}
	.section_box_title{
		padding: 8px 20px;
		font-size: 1.25rem;
	}
	.section_box_contents{
		padding: 30px 70px;
	}
	.section_box_contents p:not(:first-of-type){
		margin-top: .9375rem;
	}

	.privacy_img{
		margin: 60px auto 0;
	}

	.blue_box:not(:first-of-type),
	.fukidashi_box:not(:first-of-type){
		margin-top: 70px;
	}
	.fukidashi_box_title{
		padding: 8px 15px;
		font-size: 1.25rem;
	}
	.fukidashi_box_title .sub{
		padding: 2px 12px;
		font-size: 1rem;
		vertical-align: 1px;
	}
	.blue_box_contents,
	.fukidashi_box_contents{
		width: calc(100% - 100px);
		max-width: 100%;
		margin: 40px 50px 70px;
		padding: 45px 55px;
		font-size: .9375rem;
	}

	.num_title{
		border: solid 3px rgb(var(--color_main));
	}
	.num_title .num{
		width: 35px;
		height: 35px;
		font-size: 1.625rem;
	}
	.num_title .ttl{
		/* width: calc(100% - 35px); */
		font-size: 1.3125rem;
	}
	.num_title:has(.num + .ttl) .ttl{
	/*'.num'が左にある場合*/
		padding: 2px 10px 2px 43px;
	}
	.num_title:has(.ttl + .num) .ttl{
	/*'.num'が右にある場合*/
		padding: 2px 43px 2px 10px;
	}

	.left_border_title{
		border-left: solid 16px rgb(var(--color_main));
		padding: 8px 8px 8px 15px;
		font-size: 1.25rem;
	}

	.square_brackets_inner{
		padding: 0 30px;
	}
	.square_brackets_inner::before,
	.square_brackets_inner::after{
		width: 15px;
	}
}
@media screen and (min-width: 768px) and (max-width: 959px) {
	/* 共通 Tablet */
	.contact_btn:not(.home){
		margin-top: 80px;
	}
	.section_box_contents{
		padding: 30px 40px;
	}

	.fukidashi_box_title{
		padding: 5px 15px;
	}
	.blue_box_contents,
	.fukidashi_box_contents{
		width: calc(100% - 40px);
		margin: 40px 20px 50px;
		padding: 30px 20px;
	}
}

/* HEADER */
header{
	position: fixed;
	top: 0;
	left: 0;
	background-color: #fff;
	width: 100%;
	height: 65px;
	padding: 0 4%;
	z-index: 99;
}
.header_inner{
	box-sizing: border-box;
	width: 100%;
	height: 100%;
}
header h1{
	width: max-content;
	height: max-content;
	padding: 20px 0 0;
}
header h1 img{
	width: auto;
	height: 22px;
	vertical-align: top;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/* HEADER PC 共通 */
	header{
		position: sticky;
		box-sizing: border-box;
		width: var(--contents_width_header);
		height: 100dvh;
		margin: 0;
		padding: 30px 20px;
		/*スクロールバー非表示*/
		overflow: auto;
		-ms-overflow-style: none;  /* IE, Edge */
		scrollbar-width: none;      /* Firefox */
	}
	header::-webkit-scrollbar {
		/*スクロールバー非表示*/
		display: none; /* Chrome, Safari, Edge */
	}
	.header_inner{
		margin: 0;
	}
	header h1{
		padding: 0;
	}


}
@media screen and (min-width: 769px) and (max-width: 1180px) { /* Tablet用 メディアクエリー */ 
	/* HEADER TAB */

}

/* CONTENTS */
.contents{
	width: 100%;
	max-width: 100%;
	padding-top: 65px;
}
.contents_inner{
	/*'.box_wide'などの強制全幅要素の横スクロールバー表示対策*/
	overflow: hidden;
}
.content{}

main p{
	font-size: 0.687rem;
}
main img{
	max-width: 100%;
	height: auto;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/* CONTENTS PC 共通 */
	.contents{
		width: calc(100% - var(--contents_width_header));
		padding-top: 0;
	}
	.content{
		padding: 0 40px;
	}
	main p{
		font-size: 0.937rem;
	}
}


/* FOOTER */
footer {
	position: relative;
	margin-top: 40px;
}
.footer_inner{}

.footer_nav{
	justify-content: center;
	gap: 14px 0;
	text-align: center;
}
.footer_nav li{
	border-left: solid 1px rgb(var(--color_main));
	font-size: 0.812rem;
	font-weight: 500;
}
.footer_nav li:nth-of-type(4),
.footer_nav li:nth-of-type(6){
	border-right: solid 1px rgb(var(--color_main));
}
.footer_nav li a{
	display: inline-block;
	padding: 0 15px;
	color: rgb(var(--color_main));
}
.footer_nav li a:hover{
	color: rgb(var(--color_main));
}

.footer_info{
	text-align: center;
	margin: 60px auto 0;
}
.footer_info .logo{
	width: 295px;
	margin: 0 auto;
}
.footer_info .logo img{
	width: 100%;
	height: auto;
}
.footer_info .address{
	margin-top: 5px;
	font-size: 0.75rem;
	order: 2;
}
.footer_info .tel{
	width: 100%;
	margin-top: 60px;
	color: rgb(var(--color_main));
	font-family: var(--font_en);
	font-weight: 400;
	font-style: normal;
	font-size: 1.75rem;
	line-height: 1;
	order: 1;
}
.footer_info .tel a,
.footer_info .tel a:hover{
	color: rgb(var(--color_main));
	text-decoration: none;
}
.footer_info .fax{
	margin-left: 10px;
	font-size: 0.812rem;
	color: rgb(var(--color_text));
	vertical-align: baseline;
}
.footer_info .fax a,
.footer_info .fax a:hover{
	color: rgb(var(--color_text));
	text-decoration: none;
}
footer .copy{
	text-align: center;
	background-color: rgb(var(--color_main));
	margin-top: 15px;
	padding: 15px 5%;
	color: #fff;
	letter-spacing: 0.075em;
	line-height: 1;
	font-size: 0.625rem;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	footer {
		margin-top: 80px;
	}
	.footer_inner{
		padding: 0 40px;
	}

	.footer_nav{
		gap: 14px 0;
		text-align: center;
	}
	.footer_nav li{
		font-size: 0.875rem;
		font-weight: 400;
	}
	.footer_nav li:nth-of-type(4),
	.footer_nav li:nth-of-type(6){
		border-right: none;
	}
	.footer_nav li:last-of-type{
		border-right: solid 1px rgb(var(--color_main));
	}
	.footer_nav li a{
		padding: 0 15px;
	}

	.footer_info{
		align-items: center;
		gap: 10px 0;
	}
	.footer_info .logo{
		width: 312px;
		margin: 0;
		order: 1;
	}
	.footer_info .address{
		margin: 0 0 0 10px;
		font-size: 0.875rem;
		order: 2;
	}
	.footer_info .tel{
		text-align: right;
		width: max-content;
		margin: 0 0 0 30px;
		font-size: 2rem;
		order: 3;
	}
	.footer_info .fax{
		display: block;
		margin: 3px 0 0;
		font-size: 0.875rem;
		vertical-align: baseline;
	}
	footer .copy{
		margin-top: 50px;
		padding: 18px 5%;
	}
}
@media screen and (max-width: 1340px){ /* Tablet用 メディアクエリー */ 
	/* FOOTER TABLET */
	.footer_info{
		align-items: center;
	}
	.footer_info .logo{
		width: 312px;
		margin: 0 auto;
	}
	.footer_info .address{
		width: 100%;
	}
	.footer_info .tel{
		text-align: center;
		width: 100%;
	}
	.footer_info .fax{
		display: inline-block;
		margin-left: 5px;
	}
}

/* パンくずリスト */
.breadcrumb{
	/* display: flex;
	flex-wrap: wrap;
	gap: 10px 20px; */
	width: 100%;
	margin: 0 0 40px;
	line-height: 1;
}
.breadcrumb li{
	position: relative;
	display: inline;
	margin: 0 20px 10px 0;
	vertical-align: top;
	font-size: 0.687rem;
	font-weight: 500;
	color: rgba(var(--color_main), 1);
}
.breadcrumb li:has(a)::before{
	border-bottom: solid 1px rgb(var(--color_gray));
	border-right: solid 1px rgb(var(--color_gray));
	position: absolute;
	bottom: 5px;
	right: -12px;
	width: 6px;
	height: 6px;
	transform: rotate(-45deg);
	content: "";
}
.breadcrumb li a{
	color: rgba(var(--color_text), 0.5);
}
.breadcrumb li a:hover{
	color: rgba(var(--color_text), 0.5);
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/* パンくずリスト PC */
	.breadcrumb{
		gap: 10px 30px;
		margin: 0 0 100px;
		line-height: 1.4;
	}
	.breadcrumb li{
		font-size: 0.937rem;
	}
	.breadcrumb li:has(a)::before{
		right: -11px;
		width: 8px;
		height: 8px;
		content: "";
	}
}


/*下層ページトップ（業務別ソリューション、業種別ソリューション）*/
.top_page_link{
	gap: 60px 0;
}
.top_page_link .item{
	position: relative;
	text-align: center;
	background-color: #fff;
	width: 100%;
}
.top_page_link .item:not(:first-of-type)::before{
	position: absolute;
	top: -30px;
	left: 0;
	background: url(../images/dot_border_ptn.png) 0 0 repeat-x;
	background-size: 10px 3px;
	width: 100%;
	height: 3px;
	content: "";
}
.top_page_link .item a{
	display: block;
	position: relative;
	border: solid 7px rgb(var(--color_main));
	box-sizing: border-box;
	width: 100%;
	color: rgb(var(--color_main));
}
.top_page_link .item img{
	position: relative;
	z-index: 1;
}
.top_page_link .item .box{
	position: absolute;
	inset: 0;
	width: max-content;
	height: max-content;
	margin: auto;
	z-index: 1;
}
.top_page_link .item h3{
	letter-spacing: 0.1em;
	font-size: 1.0625rem;
	font-weight: 700;
	text-shadow:
		0 0 8px #fff,
		0 0 8px #fff,
		0 0 8px #fff,
		0 0 8px #fff;
}
.top_page_link .item .click_txt{
	display: inline-block;
	background-color: #fff;
	border: solid 1px rgb(var(--color_main));
	text-align: center;
	padding: 2px 20px 0;
	margin: 5px auto 0;
	font-size: 1.0625rem;
	letter-spacing: 0.1em;

	font-family: var(--font_en);
	font-weight: 400;
	font-style: normal;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/*下層ページトップ（業務別ソリューション、業種別ソリューション）PC*/
	.top_page_link{
		gap: 140px 0;
	}
	.top_page_link .item:not(:first-of-type)::before{
		top: -70px;
	}
	.top_page_link .item h3{
		font-size: 1.625rem;
	}
	.top_page_link .item .click_txt{
		padding: 7px 30px;
		font-size: 1.25rem;
		line-height: 1;
	}
}
@media screen and (min-width: 768px) and (max-width: 959px) { /* Tablet用 メディアクエリー */
	/* 下層ページトップ（業務別ソリューション、業種別ソリューション）TAB */
	.top_page_link{
		gap: 100px 0;
	}
	.top_page_link .item:not(:first-of-type)::before{
		top: -50px;
	}
	.top_page_link .item h3{
		font-size: 1.125rem;
	}
	.top_page_link .item .click_txt{
		padding: 7px 30px 5px;
		font-size: 1rem;
	}
}
@media (orientation: landscape) and (min-width: 519px) and (max-width: 896px) { /*スマホ横向き用*/
	/* 下層ページトップ（業務別ソリューション、業種別ソリューション）スマホ横向き */

}