@charset "UTF-8";
/*変数*/
:root {
	--main_color: #302C2C;
	--main_color_rgb: 54 69 66;
	--main_color2: #668f87;
	--main_color3: #e9eeed;

	--filter_main_color: invert(22%) sepia(9%) saturate(934%) hue-rotate(118deg) brightness(95%) contrast(86%);
	--filter_white: invert(100%) sepia(100%) saturate(0%) hue-rotate(137deg) brightness(106%) contrast(101%);
	--filter_black: invert(16%) sepia(10%) saturate(13%) hue-rotate(348deg) brightness(99%) contrast(89%);

	--table_bg_color: #EFF2FB;
	--form_bg_color: #F2F2F2;
	--black:#333;
	--gray: #9C9C9C;
	--black-gray: #444444;
	--light-gray: #F2F2F2;
	--red: #a5233b;
	--blue: #3956B7;
	--light_blue: #EFF2FB;
	--light_blue02: #A9B9F0;

	--white: #fff;
	--border: 1px solid var(--gray);
}


/*--------------------------------------
リセットCSS
--------------------------------------*/
*, ::before, ::after {-webkit-box-sizing: border-box; box-sizing: border-box; border-style: solid; border-width: 0;}
html { line-height: 1.15; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent;}
body { margin: 0;}
main { display: block;}
p, table, blockquote, address, pre, iframe, form, figure, dl { margin: 0;}
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; margin: 0;}
ul, ol { margin: 0; padding: 0; list-style: none;}
dt { font-weight: 700;}
dd { margin-left: 0;}
hr { -webkit-box-sizing: content-box; box-sizing: content-box; height: 0; overflow: visible; border-top-width: 1px; margin: 0; clear: both; color: inherit;}
pre { font-family: monospace, monospace; font-size: inherit;}
address { font-style: inherit;}
a { background-color: transparent; text-decoration: none; color: inherit;}
abbr[title] { -webkit-text-decoration: underline dotted;text-decoration: underline dotted;
}
/* b, strong {font-weight: bolder;} */
code, kbd, samp { font-family: monospace, monospace; font-size: inherit;}
small { font-size: 80%;}
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}
sub { bottom: -0.25em;}
sup { top: -0.5em;}
svg, img, embed, object, iframe { vertical-align: bottom;}
button, input, optgroup, select, textarea { -webkit-appearance: none; -moz-appearance: none; appearance: none; vertical-align: middle; color: inherit; font: inherit; background: transparent; padding: 0; margin: 0; border-radius: 0; text-align: inherit; text-transform: inherit;}
[type=checkbox] { -webkit-appearance: checkbox; -moz-appearance: checkbox; appearance: checkbox;}
[type=radio] { -webkit-appearance: radio; -moz-appearance: radio; appearance: radio;}
button, [type=button], [type=reset], [type=submit] { cursor: pointer;}
button:disabled, [type=button]:disabled, [type=reset]:disabled, [type=submit]:disabled { cursor: default;}
:-moz-focusring { outline: auto;}
select:disabled { opacity: inherit;}
option { padding: 0;}
fieldset { margin: 0; padding: 0; min-width: 0;}
legend { padding: 0;}
progress { vertical-align: baseline;}
textarea { overflow: auto;}
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button { height: auto;}
[type=search] { outline-offset: -2px;}
[type=search]::-webkit-search-decoration { -webkit-appearance: none;}
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit;}
label[for] { cursor: pointer;}
details { display: block;}
summary { display: list-item;}
[contenteditable]:focus { outline: auto;}
table { border-color: inherit;}
caption { text-align: left;}
td, th { vertical-align: top; padding: 0;}
th { text-align: left; font-weight: 700;}
img{
	max-width: 100%;
	height:auto;
}

/*--------------------------------------
サイト共通定義
--------------------------------------*/
html {
	scroll-behavior: smooth;
}

body {
	line-height: 1.8;
	margin: 0 auto;
	min-height: 800px;
	min-width: 320px;
	width: 100%;
	color: var(--black);
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	/* font-family: "Times New Roman", "Hiragino Mincho ProN", "YuMincho", "Yu Mincho", "MS PMincho", serif; */
	font-family: "Noto Sans JP", "Helvetica Neue", "Helvetica, Arial", "Roboto", "Droid Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 400;
	font-style: normal;
	position: relative;
	font-size: 14px;
	font-feature-settings: "palt";
	letter-spacing: 1px;
}
body.open {
	overflow: hidden !important;
}
@media (min-width: 1025px) {
	body.open {
		overflow: auto !important;
	}
}

body::-webkit-scrollbar {
	width: 10px;
}

body::-webkit-scrollbar-track {
	background-color: #fff;
}

body::-webkit-scrollbar-thumb {
	background-color: var(--main_color);
	border-radius: 100px;
}

::-moz-selection {
	background: var(--black);
	color: #fff;
}

::selection {
	background: var(--black);
	color: #fff;
}

ul::-webkit-scrollbar {
	display: none;
}

main{
	background: var(--white);
}

main.index{
	background: none;
}

main.contents_blast,
main.contents_contact,
main.contents_maintenance,
main.contents_recruit,
main.contents_news,
main.contents_service,
main.contents_used,
main.contents_post_detail,
main.contents_product_collector,
main.contents_product_abrasive,
main.contents_product_part{
	background: var(--light_blue);
}

.wrapper {
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
}

.inner {
	width: 100%;
	max-width: 1000px;
	margin: auto;
}

.inner_outer {
	background:var(--white);
	margin-bottom:40px;
	padding: 40px;
}
@media (max-width: 768px) {
	.inner_outer {
		margin-bottom:20px;
		padding: 20px;
	}
}
.inner_outer:last-child{
	margin-bottom:0;
}

.bg_color {
	background: var(--main_color3);
}

.flex {
	display: block;
}
@media (min-width: 769px) {
	.flex {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.mb_10{
	margin-bottom:10px !important;
}
.mb_20{
	margin-bottom:20px !important;
}
.mb_30{
	margin-bottom:30px !important;
}
.mb_40{
	margin-bottom:40px !important;
}
.mb_50{
	margin-bottom:50px !important;
}
.txt_center{
	text-align:center !important;
}
.txt_left{
	text-align:left !important;
}
.table_img{
	width: 100%;
	max-width:300px;
}

br.pc_768{
	display:none;
}

@media (max-width: 768px) {
	br.sp{
		display:none;
	}
}

@media (max-width: 480px) {
	br.sp_480{
		display:none;
	}
	br.pc_768{
		display:block;
	}
}

.color_b{
	color: var(--blue);
}
.icon_blue{
	padding: 2px 10px 4px;
	border-radius: 50px;
	background: var(--blue);
	color: var(--white);
}

.template_link{
	color: var(--blue);
	transition: 0.5s;
}
.template_link:hover{
	opacity: 0.5;
}


/*--------------------------------------
共通のtable
--------------------------------------*/

table {
	border-spacing: 0;
}

.table_01 {
	width: min(100%, 1000px);
	margin: auto;
	font-size: 14px;
}
.table_01 tr{
	display: flex;
	padding: 5px 0;
	border-bottom: 1px solid var(--light_blue02);
}
.table_01 tr th,
.table_01 tr td {
	padding: 15px;
}
.table_01 tr th {
	background: var(--light_blue);
	color: var(--blue);
}
.table_01 tr th {
	width: 30%;
	display: flex;
	align-items: center;
}
.table_01 tr td{
	width: 75%;
}
.table_01 p{
	margin-bottom:5px;
}

@media (min-width: 769px) {

}

/* レスポンシブ
.table_02 {
  width: 100%;
  margin: 0 auto 30px;
  font-size: 14px;
  table-layout:fixed;
}
.table_02 tr th,
.table_02 tr td {
  display: table-cell;
  padding: 15px;
  border-bottom: 1px solid #9C9C9C;
  /* outline: 1px solid #fff; */
}
.table_02 tr th {
	background: var(--light-gray);
}
@media (min-width: 769px) {
	.table_02 {
		font-size: 16px;
	}
	.table_02 tr th,
	.table_02 tr td {
		display: table-cell;
		/* width: 50%; */
		padding: 15px;
		vertical-align: middle;
		text-align: left;
	}
}

@media (max-width: 768px) {
	.table_inner{
		overflow-x: scroll;
		margin-bottom:20px;
	}
	.table_inner > table {
		width:600px;
		margin-bottom:0;
	}
}

/* 3カラム */
.table_03 {
	width: min(100%, 1040px);
	margin: auto;
	font-size: 14px;
	border-collapse: collapse;
}
.table_03 tr th,
.table_03 tr td {
	width: 33%;
	padding: 16px 8px;
	vertical-align: middle;
	/* text-align: center; */
	border-left: 1px solid var(--light_blue);
	border-right: 1px solid var(--light_blue);
	border-bottom: 1px solid var(--light_blue);
	line-height: 1.5;
}
.table_03 tr th {
	background: var(--blue);
	color: #fff;
	font-weight: 700;
	/* background: var(--table_bg_color); */
	/* color: var(--black); */
}
.table_03 tr:not(:first-child) th {
	/* background: var(--table_bg_color); */
	/* color: var(--black); */
}
@media (min-width: 769px) {
	.table_03 tr th,
	.table_03 tr td {
		padding: 24px;
	}
}

.table_04 {
	width: min(100%, 1000px);
	margin: auto;
	font-size: 14px;
}
.table_04 tr{
	display: flex;
	padding: 5px 0;
	border-bottom: 1px solid var(--light_blue02);
}
.table_04 tr:nth-child(odd) th,
.table_04 tr:nth-child(odd) td {
	background: var(--light_blue);
}
.table_04 tr th{
;
	color: var(--blue);
}
.table_04 tr th,
.table_04 tr td {
	padding: 15px 20px;
}
/*.table_04 tr th {
  background: var(--light_blue);
  color: var(--blue);
}*/
.table_04 tr th {
	width: 10%;
	display: flex;
	align-items: center;
	font-weight: normal;
}
.table_04 tr td{
	width: 90%;
}


@media (max-width: 768px) {
	.table_04 tr th {
		width: 30%;
	}
	.table_04 tr td{
		width: 70%;
	}
}

.table_05 {
	width: min(100%, 1000px);
	margin: 0 auto 30px;
	font-size: 14px;
}
.table_05 tr{
	display: flex;
	padding: 5px 0;
	border-bottom: 1px solid #9C9C9C;
}
.table_05 tr th,
.table_05 tr td {
	padding: 15px;
}
.table_05 tr th {
	background: #F2F2F2;
	color: #302C2C;
}
.table_05 tr th {
	width: 25%;
	display: flex;
	align-items: center;
}
.table_05 tr td{
	width: 75%;
	display: flex;
	align-items: center;
}


/*レスポンシブ*/
.table_06 {
	width: min(100%, 1000px);
	margin: 0 auto 20px;
	font-size: 14px;
}
.table_06 tr{
	display: flex;
	padding: 5px 0;
	border-bottom: 1px solid #9C9C9C;
}
.table_06 tr th,
.table_06 tr td {
	padding: 15px;
}
.table_06 tr th {
	background: #F2F2F2;
	color: #302C2C;
}
.table_06 tr th {
	width: 25%;
	display: flex;
	align-items: center;
}
.table_06 tr td{
	width: 25%;
	display: flex;
	align-items: center;
}
@media (max-width: 768px) {

}

/*----------------------------------
テンプレートボックス
----------------------------------*/
.subtitle_02 > .content_borderbox{
	padding: 0 20px 20px 20px;
}
.content_borderbox{
	width: 100%;
	padding: 20px;
	margin: 0 auto 40px;
	color: #3c3c3c;
	background: #ececec;
}
.content_borderbox:last-child{
	margin-bottom: 0;
}
.content_borderbox p{
	font-size: 1.1em;
	border-bottom: 1px solid #3c3c3c;
	padding: 10px 0;
	text-align: left;
}
.content_borderbox p:last-child{
	border-bottom: none;
}


.content_colorbox{
	width: 100%;
	padding: 40px;
	margin: 0 auto 40px;
	background: #1a4375;
	color: #fff;
}
.content_colorbox.bgcolor_none{
	padding: 20px;
	color: #333!important;;
	background: none!important;
}
.subttile > .content_colorbox{
	padding: 0 30px;
}
.content_colorbox:last-child{
	margin-bottom: 0;
}
.content_colorbox div{
	margin-bottom: 70px;
}
.content_colorbox div:last-of-type{
	margin-bottom: 0;
}
.content_colorbox p{
	text-align:left;
}
.content_colorbox p span{
	display: block;
	font-size: 20px;
	margin-bottom: 30px;
}
.content_colorbox p.vect{
	border-bottom: none;
}
.content_colorbox p:last-child{
	margin-bottom:0;
	padding-bottom: 0;
	border-bottom: none;
}

.content_colorbox_02{
	padding: 20px;
	margin: 0 auto 30px;
	background: #fbf5ea;
	border-radius: 4px;
	color: #3c3c3c;
}
.content_colorbox_02 p{
	margin-bottom:20px;
}
.content_colorbox_02 p:last-child{
	margin-bottom:0;
}

.template_linkbox{

}
.template_linkbox ul{
	display:flex;
	gap: 10px 20px;
	justify-content: center;
	margin-bottom: 50px;
}
.template_linkbox ul li{
	width: 100%;
	max-width: 200px;
}
@media (max-width: 768px) {
	.template_linkbox ul{
		flex-wrap: wrap;
	}
	.template_linkbox ul li{
		max-width: 100%;
	}
}

.template_linkbox ul li a{
	display: block;
	background: #fff;
	width: 100%;
	/* width: 200px; */
	padding: 10px 0 15px 0;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	color: var(--blue);
	margin: auto;
	transition: all 0.5s;
}
.template_linkbox ul li a:hover{
	opacity: 0.5;
}

.template_linkbox .template_linkbox_arrow {
	width: 10px;
	height: 10px;
	border-top: 2px solid var(--blue);
	border-right: 2px solid var(--blue);
	transform: rotate(135deg);
	margin: auto;
	display: block;
}



.template_txtbox{
	max-width: 1000px;
	margin: 0 auto 30px;
}
.template_txtbox p{
	margin: 0 0 20px;
}
.template_txtbox p:last-child{
	margin: 0;
}
@media (max-width: 768px) {
	.template_txtbox{
		margin: 0 auto 20px;
	}
}


.template_box{
	max-width: 1000px;
	margin: 0 auto 60px;
	display: flex;
	text-align: justify;
	justify-content: center;
	/* align-items: center; */
	gap: 10px;
	flex-wrap: wrap;
}
@media (max-width: 768px) {
	.template_box{
		margin: 0 auto 30px;
	}
}


.inner_outer .template_box:last-child{
	margin: 0 auto;
}
.template_box:last-child{
	margin: 0 auto 20px;
}
.template_box > div:first-child{
	margin-right: 20px;
}
.template_box div.content_borderbox:first-child{
	margin-right: 0;
}
.template_box div.content_colorbox:first-child{
	margin-right: 0;
}

.template_box > div.col_1:first-child,
.template_box > div.col_3:first-child,
.template_box > div.col_4:first-child,
.template_box > div.col_5:first-child{
	margin-right: 0
}
.template_photo .content_colorbox,
.template_photo .content_borderbox,
.template_text .content_colorbox,
.template_text .content_borderbox{
	margin-bottom: 0;
	/* padding: 10px 0; */
}
.template_photo{
	width: 43%;
	max-width: 400px;
}
.template_photo img{
	width:100%;
	max-width: 400px;
}
.template_photo.min img{
	width:100%;
	max-width: 150px;
}
.template_text{
	width: 53%;
}
/* #clinical_greeting .template_text{
  width: 100%;
} */
.template_text p{
	margin-bottom: 10px;
}
.template_text p:last-child{
	margin-bottom: 0;
}
.template_btn{
	width: 100%;
	order: 3;
	width: 100%;
	max-width: 768px;
	background: none;
	text-align: center;
	margin: 20px auto 10px;
	/* border: 1px solid #3c3c3c; */
	position:relative;
}
.template_btn a{
	max-width: 300px;
	margin: auto;
	color: #fff;
	background: #fb9618;
	display: block;
	padding: 10px 20px;
	border-radius: 2px;
}
.template_btn span{
	position: absolute;
	background: #3c3c3c;
	padding: 10px 15px;
	top: 0;
	right: 0;
	color: #fff;
}
.template_box:last-child table.table_collum_03{
	margin: 0 auto 0;
}

.template_bnr_btn {
	width: 100%;
	order: 3;
	width: 100%;
	max-width: 768px;
	padding: 10px 20px;
	text-align: center;
	margin: 0 auto;
	position:relative;
	padding:10px;
	border: 1px solid;
}
.template_bnr_btn span{
	position:absolute;
	top: 0;
	right: 0;
	background: #3c3c3c;
	color: #fff;
	padding: 10px 15px;
}




/*テーブルパターン*/
.table-fixed{
	table-layout: fixed;
}
.table-fixed th,
.table-fixed td{
	width: auto !important;
}
.table-fixed th, .table-fixed td{
	text-align: center !important;
}


.table_collum_01 tbody tr th {
	border-bottom: dashed 1px rgba(0, 0, 0, 0.17);
}
.table_collum_01 {
	width: 100%;
	margin: 0 auto 20px;
	padding: 10px;
	box-shadow: 1px 1px 4px 1px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 1px 1px 4px 1px rgba(0, 0, 0, 0.1);
	-webkit-box-shadow: 1px 1px 4px 1px rgba(0, 0, 0, 0.1);
}
.table_collum_01 tr {
	display: block;
	margin: 10px 0;
}
.table_collum_01 th {
	padding: 15px 0 15px 0;
	text-align: center;
	font-size: 20px;
}
.table_collum_01 td {
	padding: 15px 30px;
	text-align: center;
	border-top: none;
	border-bottom: none;
}
.table_collum_01 td,
.table_collum_01 th {
	width: 100%;
	display: block;
}
.table_collum_02 {
	width: 100%;
	margin: 0 auto 20px;
	text-align: center;
}
.table_collum_02 input{
	border: 1px solid #e0e0e0;
}
.table_collum_02 tr {
	margin-bottom: 10px;
}
.table_collum_02 tr.check_list input{
	width: auto;
}
.table_collum_02 th,
.table_collum_02 td {
	padding: 8px;
	vertical-align: middle;
	border: 2px solid #1a4375;
	text-align: left;
}
.table_collum_02 th {
	font-size: 20px;
	padding: 15px;
	color: #4d4d4d;
	vertical-align: middle;
	width: 30%;
	background: #fbfbfb;
	background: #1a4375;
	color: #fff;
}
.table_collum_02 td {
	text-align: left;
	font-size: 14px;
	background: #fff;
}
.table_collum_02 th span,
.table_collum_02 td span{
	font-size: 21px;
}
.table_collum_02 th span.large,
.table_collum_02 td span.large{
	font-size: 24px;
}
.table_collum_02 td a{
	color: #000;
}

/*1列*/
.col_1{
	width:100%;
}
/*2列*/
.col_2{
	width: 48%;
}
.col_1 img,
.col_2 img,
.col_3 img,
.col_4 img,
.col_5 img{
	max-width: 100%;
}
.col_1 img,
.col_2 img,
.col_3 img,
.col_4 img,
.col_5 img{
	/* margin-bottom: 10px; */
}
/*.col_2 img:last-child,
.col_3 img:last-child,
.col_4 img:last-child,
.col_5 img:last-child{
    margin-bottom: 10px;
}*/
.col_2.lg img,
.col_3.lg img,
.col_4.lg img,
.col_5.lg img{
	max-width: 100%;
}
/*3列*/
.col_3{
	width: 32%;
}

/*4列*/
.col_4{
	width: 23.5%;
}

.col_2.bg_blue,
.col_3.bg_blue,
.col_4.bg_blue{
	padding: 20px;
	background: var(--light_blue);
}
@media (max-width: 768px) {
	.col_2.bg_blue,
	.col_3.bg_blue,
	.col_4.bg_blue{
		padding: 10px;
		margin-bottom:0;
	}
}

@media (max-width: 768px) {
	.template_photo{
		width:100%;
		order: 1;
		margin-bottom: 10px;
		text-align: center;
	}
	.template_box{
		margin-right: 0px;
		/* margin: 0 auto 40px; */
	}
	.template_box > div:first-child {
		margin-right: 0px;
	}
	.template_text{
		width:100%;
		order: 2;
		/*padding: 0 20px;*/
	}
	.content_colorbox {
		padding: 20px;
	}
	.col_2 , .col_3 , .col_4 ,.col_5 {
		width: 100%;
		margin-bottom: 10px;
	}
	.col_3:last-child{
		margin-bottom: 0px;
	}
	.col_4:nth-last-child(-n+4) {
		/* margin-bottom: 20px; */
	}
}

ul.list-check{
	margin: 0 auto 30px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: center;
}
ul.list-check:last-child{
	margin: 0 auto 0;
}
ul.list-check li{
	margin-bottom: 10px;
	padding: 10px 5px;
	display: block;
	-moz-border-radius: 4px;
	color: #ffffff;
	font-size: 13px;
	border: dotted 1px #fff;
	text-align: center;
}
ul.list-check li:nth-child(odd){
	background: #ffae62;
	box-shadow: 0px 0px 0px 3px #ffae62;
}
ul.list-check li:nth-child(even){
	background: #66ccba;
	box-shadow: 0px 0px 0px 3px #66ccba;
}
ul.list-check li:last-child{
	margin-bottom: 0;
}


/*--------------------------------------
共通のform
--------------------------------------*/
form {
	width: 100%;
	margin: auto;
	font-size: 12px;
}
@media (min-width: 769px) {
	form {
		font-size: 16px;
	}
}
form .required_red {
	margin-left: 4px;
	padding: 0px 10px 2px;
	background: var(--blue);
	color: #fff;
	font-size: 12px;
	font-weight: 300;
	border-radius: 50px;
}
form .item {
	overflow: hidden;
	/* margin-bottom: 4px; */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: nowrap;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	border-bottom: 1px solid var(--light_blue02);
	padding: 15px 10px;
}
@media (min-width: 800px) {
	form .item {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		/* height: 80px; */
		padding: 5px 0;
	}
}

form .item .label {
	/* background: #e9eeed; */
	width: 100%;
	margin-right: 4px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	text-align: center;
	padding: 20px 10px;
	cursor: auto;
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 10px;
	color: var(--blue);
	background: var(--light_blue);
}

@media (max-width: 768px) {
	.comfirm form .item .label {
		padding: 0;
	}
}



@media (min-width: 769px) {
	form .item .label {
		margin-bottom: 0;
	}
}
@media (min-width: 800px) {
	form .item .label {
		width: 30%;
	}
}
form .item > div {
	width: 100%;
	/* border: solid 1px #9c9c9c; */
	/* padding: 10px; */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	flex-wrap: wrap;
	font-size: 14px;
}
@media (min-width: 769px) {
	form .item > div {
		/* padding: 20px 10px; */
		font-size: 16px;
	}
}
@media (min-width: 800px) {
	form .item > div {
		width: 70%;
		padding: 15px;
	}
}
form .item > div .inputs {
	height: 100%;
	width: 100%;
	outline: none;
	background: var(--form_bg_color);
	padding: 10px;
	font-size: 16px;
}
@media (min-width: 769px) {
	form .item > div .inputs {
		padding: 15px;
		font-size: 14px;
	}
}

::placeholder {
	color: var(--gray);
}

form  .item .post_code_box input {
	width: 40%;
}
.error {
	/* margin-bottom: 30px; */
}
.error li {
	color: var(--red);
}

.btn_area {
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	max-width: 300px;
	margin: 30px auto 20px;
}
.btn_area input[type=submit],
.btn_area a {
	width: 100%;
	height: 65px;
	background: var(--main_color);
	border: none;
	color: #fff;
	font-size: 14px;
	/* font-weight: bold; */
	padding: 10px 20px;
	margin: 0 0 10px;
	/* letter-spacing: 0.1em; */
}
.btn_area input[type=reset],
.btn_area input[type=button] {
	width: 100%;
	height: 65px;
	background: #9C9C9C;
	border: none;
	color: #fff;
	font-size: 14px;
	/* font-weight: bold; */
	padding: 10px 20px;
	position:relative;
	/* letter-spacing: 0.1em; */
}


.btn_area span{
	transition: all 0.5s;
}
.btn_area span:hover{
	opacity: 0.5;
}

.btn_area span{
	display:block;
	position:relative;
}
.btn_area span.btn_area01:before {
	content: "";
	position: absolute;
	top: 0;
	right: -1px;
	width: 30px;
	height: 65px;
	background: #444;
	clip-path: polygon(30% 0, 100% 0, 100% 100%, 0% 100%);
	z-index: 999;
}
.btn_area span.btn_area02:before {
	content: "";
	position: absolute;
	top: 0;
	right: -1px;
	width: 30px;
	height: 65px;
	background: #c2c2c2;
	clip-path: polygon(30% 0, 100% 0, 100% 100%, 0% 100%);
	z-index: 999;
}

.btn_area span:after {
    content: "";
    position: absolute;
    top: 30px;
    bottom: 0;
    right: 10px;
    width: 7px;
    height: 7px;
    border-top: 1px solid #ffffff;
    border-right: 1px solid #ffffff;
    transform: rotate(45deg);
    z-index: 1000;
}

/* ページネーション */
.page_list {
	margin-top: 20px;
	padding: 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 10px;
}
.page_list li {
	border: 1px solid;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 40px;
	height: 40px;
	text-align: center;
	vertical-align: middle;
	background: var(--light_blue02);
	color: var(--white);
}
.page_list li.active {
	background: var(--blue);
	color: #fff;
}
.page_list li.arrow {
	background: none;
	border: none;
	color: var(--blue);
}
.page_list li.disabled.arrow {
	opacity: 0;
}
.page_list li.arrow img {
	width: 8px;
	height: auto;
	vertical-align: middle;
	/* filter: var(--filter_black); */
	filter: invert(26%) sepia(89%) saturate(1478%) hue-rotate(
		211deg) brightness(95%) contrast(93%);
}
.page_list li.arrow.prev img {
	transform: rotate(180deg);
}
.page_list li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	height: 100%;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
@media (min-width: 769px) {
	.page_list {
		/* margin-top: 64px; */
	}
}

/* 属性ごとのスタイル */
form .comment{
	height: auto;
}
form .radiobtn .inputs,
form .checkbox .inputs  {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
@media (min-width: 769px) {
	form .radiobtn .inputs,
	form .checkbox .inputs  {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
	}
}
form .radiobtn .inputs .contact_item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

form .radiobtn .inputs label,
form .checkbox .inputs label {
	margin-left: 3px;
	font-size: 14px;
}
@media (min-width: 769px) {
	form .radiobtn .inputs label {
		margin-right: 15px;
	}
}
form .checkbox input {
	vertical-align: baseline;
}
@media (min-width: 769px) {
	form .checkbox  label {
		margin-right: 15px;
	}
}

form .pulldown select {
	width: 100%;
	position: relative;
	padding: 0 15px;
	height: 40px;
}
form .pulldown div {
	/* width: 70%; */
	position: relative;
	background: var(--form_bg_color);
}
form .pulldown div::before {
	position: absolute;
	right: 0;
	display: inline-block;
	width: 40px;
	height: 40px;
	border-radius: 0 3px 3px 0;
	background-color: var(--main_color);
	content: '';
}
form .pulldown div::after {
	position: absolute;
	right: 16px;
	content: "";
	width: 8px;
	height: 8px;
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.inputs label{
	display:block;
	width:100%;
}

/*--------------------------------------
ローディングアニメーション
--------------------------------------*/
#loading {
	position: fixed;
	width: 100%;
	height: 100vh;
	background: #fafafa;
	z-index: 99999;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}
.loader {
	width: 60px;
	aspect-ratio: 3;
	--dot: no-repeat radial-gradient(circle closest-side,var(--blue) 90%,#0000);
	background:
	var(--dot) 0%   50%,
	var(--dot) 50%  50%,
	var(--dot) 100% 50%;
	background-size: calc(100%/3) 50%;
	animation: loading-dot 1s infinite linear;
}
@keyframes loading-dot {
	20%{background-position:0%   0%, 50%  50%,100%  50%}
	40%{background-position:0% 100%, 50%   0%,100%  50%}
	60%{background-position:0%  50%, 50% 100%,100%   0%}
	80%{background-position:0%  50%, 50%  50%,100% 100%}
}

/*--------------------------------------
ヘッダー
--------------------------------------*/
header {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: var(--main_color);
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1fr 58px;
	grid-template-columns: 1fr 1fr 0px;
	position: fixed;
	width: 100%;
	/* height: 58px; */
	/* padding: 10px 0px; */
	z-index: 99999;
}

@media (max-width: 769px) {
	header{
		height:50px;
	}
}

/*ヘッダーの内部スクロール対策*/
[id] {
	scroll-margin-top: 70px;
}

@media (min-width: 769px) {
	header {
		-ms-grid-columns: auto 400px 58px;
		grid-template-columns: auto 400px 0px;
	}
}
@media (min-width: 769px) {
	header {
		-ms-grid-columns: auto 2fr 400px 58px;
		grid-template-columns: auto 2fr 0 0px;
	}
}
header h1 {
	padding: 10px 0 10px 30px;
	position: relative;
	z-index: 1;
}
header h1 img {
	width: 100%;
	max-width: 210px;
	display: inline-block;
	vertical-align: middle;
}
@media (max-width: 768px) {
	header h1{
		padding: 10px;
	}
}
/* PC用ナビゲーション */
header .header_nav {
	display: none;
}
.header_contact{
	background:var(--blue);
}

@media (min-width: 820px) {
	header .header_nav {
		display: block;
	}
	header .header_nav > ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: flex-end;
		/* margin: 0 24px; */
		text-align: center;
		align-items: center;
	}
	header .header_nav > ul li{
		width: 16%;
		max-width: 160px;
	}
	header .header_nav ul li a {
		color: #fff;
		position: relative;
		padding: 15px 5px;
		display: block;
		line-height: 18px;
	}
	header .header_nav ul li.nav_blast > a {
		pointer-events: none;
	}
/*	header .header_nav ul li.nav_product > a {
		pointer-events: none;
	}*/
	header .header_nav ul li a .ja{
		font-size: clamp(12px, 1.2vw, 12px);
	}
	header .header_nav ul li a .en{
		font-size: clamp(10px, 1.2vw, 10px);
		color: var(--light_blue02);
	}
	header .header_nav ul li a {
/*    position: absolute;
    content: "";
    display: block;
    height: 2px;
    background-color: #fff;
    bottom: -5px;
    left: 0;
    width: 0;*/
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
header .header_nav ul li a:hover {
	opacity: 0.8;
}
}

header p:hover {
	opacity: 0.7;
}


header p a img {
	filter: var(--filter_white);
}

header p a span {
	display: none;
	margin-left: 10px;
}
@media (min-width: 769px) {
	header p a span {
		display: inline-block;
		color: #fff;
	}
}
/* ハンバーガーメニューボタン */
header nav {
	-ms-grid-column-align: end;
	justify-self: end;
	border-left: 1px solid #fff;
	position: relative;
	width: 56px;
	height: 100%;
	display: none;
}
@media (max-width: 819px) {
	header nav {
		border-left: none;
		display: block;
	}
}
/* ハンバーガーメニュー */
header nav .nav_list {
	position: fixed;
	-webkit-overflow-scrolling: auto;
	width: 100%;
	height: calc(100dvh - 50px);
	top: 50px;
	right: 0;
	display: flex;
	flex-wrap: wrap;
	padding: 20px 0 40px;
	background: var(--main_color);
	-webkit-transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	-webkit-transform: scale(1, 0);
	transform: scale(1, 0);
	-webkit-transform-origin: top;
	transform-origin: top;
	-ms-flex-line-pack: center;
	align-content: space-between;
	overflow-y: scroll;
}


@media (min-width: 769px) {
	header nav .nav_list {
		padding: 50px;
	}
}
@media (min-width: 1025px) {
	header nav .nav_list {
		position: absolute;
		width: 458px;
		padding: 50px 120px;
	}
}
header nav .nav_list > ul {
	width: 100%;
	/* height: 60%; */
	padding: 0 10px 30px;
	overflow-y: scroll;
	/* display: flex; */
	flex-wrap: wrap;
	gap: 0px 5px;
}
@media (min-width: 769px) {
	header nav .nav_list > ul {
		padding: 0;
	}
}
header nav .nav_list > ul li {
	opacity: 0;
	-webkit-transition: 0.5s;
	transition: 0.5s;
	position: relative;
	line-height: 3.3;
	width: 100%;
	margin: 0;
}
header nav .nav_list > ul li > a {
	text-decoration: none;
	font-weight: 500;
	letter-spacing: 2px;
	font-size: 13px;
	color: #fff;
	width: 100%;
	/* padding: 5px 0; */
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	/* -webkit-box-align: center; */
	-ms-flex-align: center;
	align-items: center;
	z-index: 1;
	padding: 5px 10px;
	border-bottom: 1px solid #a3a3a3;
	/*	transition: -webkit-transform 0.5s;
	transition: all 0.5s;*/
}
header nav .nav_list > ul li > a:before {
	content: "";
	display: block;
	width: 100%;
	height: calc(100% + 1px);
	position: absolute;
	left: 0;
	bottom: -1px;
	margin: auto;
	-webkit-transform: scale(0, 1);
	transform: scale(0, 1);
	-webkit-transform-origin: right top;
	transform-origin: right top;
/*	-webkit-transition: -webkit-transform 0.5s;
	transition: -webkit-transform 0.5s;
	transition: transform 0.5s;
	transition: transform 0.5s, -webkit-transform 0.5s;*/
	z-index: -1;
}
header nav .nav_list > ul li > a:after {
	display: block;
	content: "";
	width: 4px;
	height: 8px;
	background: url(../images/icon_arrow.svg) center / cover no-repeat;
	filter: var(--filter_white);
}
header nav .nav_list > ul li > a:hover {
	color: var(--main_color);
}
header nav .nav_list > ul li > a:hover:before {
	background: #fff;
	-webkit-transform-origin: left top;
	transform-origin: left top;
	-webkit-transform: scale(1, 1);
	transform: scale(1, 1);
}
header nav .nav_list > ul li > a:hover:after {
	filter: var(--filter_main_color);
}
/*@media (min-width: 769px) {
	header nav .nav_list > ul li > a {
		font-size: 20px;
	}
}*/
/* header nav .nav_list > ul li:nth-last-child(2) {
  margin-bottom: 30px;
} */
header nav .nav_list > ul li:last-child {
	margin-bottom: 0;
	border-bottom: none;
}
/* SNSアイコン */
header nav .nav_list > ul li:last-child .sns {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	margin-bottom: 0;
}
header nav .nav_list > ul li:last-child .sns a {
	background: #fff;
}
header nav .nav_list > ul li:last-child .sns a img {
	filter: var(--filter_main_color);
}
header nav .menu-btn {
	display: none;
}
header nav .menu-btn:checked ~ .nav_list {
	-webkit-transform: scale(1, 1);
	transform: scale(1, 1);
	-webkit-transform-origin: top;
	transform-origin: top;
	-webkit-transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	/* border-top: 1px solid #fff; */
}
@media (min-width: 769px) {
	header nav .menu-btn:checked ~ .nav_list {
		border: none;
	}
}
header nav .menu-btn:checked ~ .nav_list a,
header nav .menu-btn:checked ~ .nav_list li {
	opacity: 1;
}
header nav .menu-btn:checked ~ .bg {
	display: block;
}
header nav .menu-btn:checked ~ .menu-icon .navicon:before {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
header nav .menu-btn:checked ~ .menu-icon .navicon:after {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
header nav .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before {
	top: 0;
}
header nav .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
	bottom: 0;
}
header nav .menu-btn:checked ~ .menu-icon .navicon {
	background: rgb(0 0 0 / 0);
	-webkit-transition: 0.2192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	transition: 0.2192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
header nav .menu-btn:checked ~ nav {
	border-left: 1px solid #000;
}
header nav .menu-icon {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
	height: 100%;
	cursor: pointer;
	-webkit-tap-highlight-color: rgb(0 0 0 / 0);
	z-index: 1;
	position: relative;
}
header nav .menu-icon .navicon {
	background: #fff;
	display: block;
	height: 3px;
	width: 30px;
	position: relative;
	-webkit-transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
header nav .menu-icon .navicon:before, header nav .menu-icon .navicon:after {
	content: "";
	display: block;
	height: 100%;
	width: 100%;
	position: absolute;
	background: #fff;
	-webkit-transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
header nav .menu-icon .navicon:before {
	top: 9px;
}
header nav .menu-icon .navicon:after {
	bottom: 9px;
}

/*ドロワー ドロップダウン*/
.nav_sublist_top{
		text-decoration: none;
    font-weight: 500;
    letter-spacing: 2px;
    font-size: 13px;
    color: #fff;
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    z-index: 1;
    padding: 5px 10px;
    border-bottom: 1px solid #a3a3a3;
}
.nav_sublist_top_in{
	padding: 10px;
}

.nav_sublist_top::before,
.nav_sublist_top::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 8px;
  background: #fff;
  transition: all 0.3s;
}
.nav_sublist_top::before {
  width: 8px;
  height: 1px;
  transform: translate(0, -50%);
}
.nav_sublist_top::after {
  width: 1px;
  height: 8px;
  transform: translate(-3.5px, -50%);
}
.nav_sublist_top.nav_sublist_top_open::after {
  height: 0;
  opacity: 0;
}

.megamenu {
  background: #000;
  left: 0;
  opacity: 0;
  position: absolute;
  text-align: center;
  visibility: hidden;
  width: 100%;
  transition: 0.3s;
}
.megamenu_list {
  padding: 10px 0;
}
.megamenu_item {
  display: inline-block;
}
.nav_blast:hover .megamenu {
  opacity: 1;
  visibility: visible;
}
.nav_product:hover .megamenu {
  opacity: 1;
  visibility: visible;
}






.nav_drawer_btn{
	padding: 0px 20px;
	display: flex;
	gap: 0 10px;
	width: 100%;
}

.nav_drawer_btn p{
	width: 100%;
	flex-shrink:1;
}

/*--------------------------------------
メイン
--------------------------------------*/
/* メインビジュアル */
.swiper{
	overflow:auto;
}

main .mainvisual {
	position: relative;
}
main .mainvisual .swiper-pagination-horizontal {
	bottom: 20px;
}
main .mainvisual .swiper-pagination-bullet {
	width: 15px;
	height: 15px;
	background: transparent;
	border: 1px solid #fff;
	opacity: 1;
}
main .mainvisual .swiper-pagination-bullet-active {
	background: #fff;
}
main .mainvisual .swiper-pagination {
	z-index: 1;
}
main .mainvisual ul li{
	position: relative;
}

main .mainvisual .mainvisual_txt_outer{
	width: 100%;
	position: absolute;
	right: 0;
	bottom: -40px;
	z-index: 999;
}

main .mainvisual .mainvisual_txt_area{
	background: #3956B7;
	padding: 10px;
	position: relative;
	max-width: 85%;
	margin: 0 0 0 auto;
	padding: 2%;
}
@media (max-width: 768px) {
	main .mainvisual .mainvisual_txt_area{
		max-width: 95%;
	}
}

main .mainvisual .txt_en{
	color: #fff;
	letter-spacing: 0px;
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 600;
	font-style: normal;
	/* font-size: 108px; */
	line-height: 6vw;
	position: absolute;
	z-index: 9999;
	bottom: 85px;
	/* left: 10px; */
	font-size: clamp(40px, 8vw, 108px);
}
@media (max-width: 1024px) {
	main .mainvisual .txt_en{
		/* line-height: 8vh; */
	}
}

main .mainvisual .txt_en span{
	color: #A9B9F0;
	font-weight: 300;
}
@media (max-width: 768px) {
	main .mainvisual .txt_en{
		/* line-height: 50px; */
		bottom: 60px;
	}
}
@media (max-width: 480px) {
	main .mainvisual .txt_en{
		line-height: 35px;
		bottom: 50px;
	}
}

main .mainvisual .txt_ja{
	font-size: 20px;
	padding: 20px 0px 10px 10px;
	color: #fff;
}
@media (max-width: 768px) {
	main .mainvisual .txt_ja{
		font-size: 14px;
	}
}

main .mainvisual img {
	width: 100%;
	height:auto;
	max-height: 90svh;
	min-height: 85svh;
	object-fit: cover;
	object-position: right;
}

/* 下層ページ サブビジュアル */
main .subvisual {
	background: url(../images/title_bg.jpg) no-repeat 50% 0/cover;
	height: 35vh;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	/* margin-bottom: 40px; */
}
@media (max-width: 768px) {
	main .subvisual {
		height: 25vh;
	}
}

main .subvisual h2 {
	color: #3956B7;
	font-size: clamp(70px, 8vw, 90px);
	line-height: clamp(30px, 4vw, 40px);
	margin-top: 90px;
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 600;
	font-style: normal;
	text-align: center;
}
main .subvisual h2 span{
	font-size: 20px;
}
@media (max-width: 768px) {
	main .subvisual h2 {
		color: #3956B7;
		margin-top: 60px;
	}
	main .subvisual h2 span{
		font-size: 14px;
	}
}


/* セクション共通 */
main.index .sec {
	padding: 80px 20px;
}
@media (min-width: 769px) {
	main.index .sec {
		padding: 120px 20px;
	}
}
main.index .sec .text {
	font-size: 12px;
	max-width: 800px;
	margin: 0 auto 40px;
}
@media (min-width: 769px) {
	main.index .sec .text {
		font-size: 14px;
		margin: 0 auto 20px;
	}
}
/* ---------- トップページ ABOUT ---------- */
main.index .sec.section_about {
	padding: 200px 20px 20px 0;
	background: #FBFCFE url(../images/aboutus_bg.jpg) no-repeat 0 0 / cover;
	position: relative;
}
@media (max-width: 850px) {
	main.index .sec.section_about {
		padding: 80px 20px 20px 20px;
	}
}

.section_about > .section_about_inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	gap: 24px;
}
.section_about > .section_about_inner img {
	width: 100%;
	height: auto;
}
.section_about_inner{
	position: relative;
	z-index: 999;
}
.section_about > .section_about_inner img {
	width: 100%;

}
.section_about .about_text {
	width: 100%;
}

@media (min-width: 850px) {
	.section_about {
		/* margin-top: -80px; */
	}
	.section_about > .section_about_inner {
		flex-direction: row;
		gap: min(4%, 40px);
	}
	.section_about > .section_about_inner img {
		width: 45%;
		min-width: 380px;
	}
	.section_about .about_text {
		width: 55%;
	}
}

.about_bg_txt{
	color: #E4EAFC;
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 200;
	font-style: normal;
	font-size: 210px;
	position: absolute;
	top: 173px;
	right: -24px;
	z-index: 1;
}
@media (max-width: 1024px) {
	.about_bg_txt{
		/* font-size:160px; */
	}
}
@media (max-width: 768px) {
	.about_bg_txt{
		bottom: 110px;
		top: inherit;
		font-size: 160px;
	}
}
@media (max-width: 480px) {
	.about_bg_txt{
		font-size:120px;
		bottom: 130px;
	}
}
@media (max-width: 375px) {
	.about_bg_txt{
		bottom: 160px;
	}
}

/* ---------- トップページ BLASTING ---------- */

.section_blasting{
	margin: 40px 0 0 0;
	padding: 0px 20px 60px;
	position: relative;
}
.inner_blasting{
	max-width: 850px;
	margin: auto 0px auto 70px;
}
.title_blasting {
	font-size: 60px;
	font-size: clamp(30px, 8vw, 60px);
	text-align: center;
	position: relative;
	z-index: 999;
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 200;
	font-style: normal;
	/* line-height: 70px; */
	line-height: 8vw;
	text-align: left;
	color: var(--blue);
	margin-bottom: 20px;
}
.title_blasting span{
	display: block;
	font-size: 90px;
	font-size: clamp(70px, 8vw, 90px);
	line-height: 90px;
	letter-spacing: 0px;
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 600;
	font-style: normal;
	color: var(--blue);
}

.content_blasting{
	width: 100%;
	max-width: 560px;
	background: var(--blue);
	color:var(--white);
	padding: 40px;
}
.bg_blasting{
	background: url(../images/blasting_bg.jpg) top right no-repeat;
	position: absolute;
	top: 44px;
	left: calc(50px);
	bottom: 0;
	right: 0;
	z-index: -100;
	center center;
	background-size: cover;
}

@media (max-width: 768px) {
	.inner_blasting {
		margin: auto 0px auto 20px;
	}
	.bg_blasting {
		left: calc(20px);
		top: 45px;
	}
}

@media (max-width: 480px) {
	.title_blasting{
		margin-bottom: 180px;
	}
	.section_blasting {
	    padding: 0px 20px 30px;
	}
/*	.content_blasting{
		width: 80%;
	}*/
	.bg_blasting{
		background: url(../images/blasting_sp_bg.jpg) top right no-repeat;
		background-size: contain;
		background-color: #e0ecfa;
	}
}

/* ---------- トップページ BUSINESS ---------- */
.section_busshiness{
	margin:40px 0 0;
	padding:60px 20px;
	background: url(../images/business_bg.jpg) no-repeat;
	background-size: cover;
	position:relative;
}
.section_busshiness::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 700px;
	height: 100%;
	background: var(--blue);
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 0% 100%);
	z-index: 999;
}
@media (max-width: 768px) {
.section_busshiness{
		background: url(../images/business_sp_bg.jpg) right 90px no-repeat;
		background-size: contain;
		background-color: #2c2828;
	}
	.section_busshiness::before {
	    clip-path: polygon(120% 0, 100% 0, 100% 100%, 0% 220%);
	}
}

.busshiness_inner {
	max-width: 1000px;
	margin: auto 0 auto auto;
	padding: 40px;
	color: var(--white);
	position: relative;
	z-index: 999;
}
@media (max-width: 768px) {
	.busshiness_inner {
		padding: 20px;
	}
}

.title_busshiness {
	font-size: 60px;
	font-size: clamp(30px, 8vw, 60px);
	text-align: center;
	position: relative;
	z-index: 999;
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 200;
	font-style: normal;
	line-height: 70px;
	line-height: 8vw;
	text-align: right;
	color: var(--white);
	margin-bottom: 20px;
}

.title_busshiness span{
	display: block;
	font-size: 95px;
	font-size: clamp(70px, 8vw, 90px);
	letter-spacing: 0px;
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 600;
	font-style: normal;
	color: var(--white);
	margin-bottom: 20px;
}
.sub_title_busshiness{
	font-size: 30px;
	line-height: 35px;
	font-weight:500;
	margin-bottom: 10px;
}

.content_busshiness ul{
	display: flex;
	gap: 10px;
}
@media (max-width: 768px) {
	.content_busshiness ul{
		flex-wrap:wrap;
		justify-content:center;
	}
}

.content_busshiness ul li > a{
	width: 100%;
	max-width: 300px;
	margin: auto;
	height: 100%;
	min-height: 400px;
	padding: 40px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}
.content_busshiness ul li > a:hover{
	opacity: 0.7;
	background: rgba(0, 0, 0, 0.5);
}
.content_busshiness ul li div {
	/* height: 100%; */
	/* min-height: 400px; */
	/* display: flex; */
}

.content_busshiness ul li div .circle {
	width: 45px;
	height: 45px;
	border-radius: 50%;
	border: 1px solid #aeb5e3; /* 画像の薄紫色 */
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: auto;
}
.content_busshiness ul li div .allow_right {
	width: 10px;
	height: 10px;
	border-top: 1px solid #aeb5e3;
	border-right: 1px solid #aeb5e3;
	transform: rotate(45deg);
	margin-left: -4px;
}

.content_busshiness ul li h4 {
	text-align: center;
	font-size: 24px;
	font-weight: 500;
	line-height: 25px;
	margin-bottom: 20px;
}

.content_busshiness ul li h4 span {
	font-size: 14px;
}

.content_busshiness ul li{
	width: 32%;
}
@media (max-width: 768px) {
	.content_busshiness ul li{
		width: 100%;
	}
}

.content_busshiness ul li.no_01 a{
	background: url(../images/business_bg_products.jpg) no-repeat;
	background-size: cover;
}

.content_busshiness ul li.no_02 a{
	background: url(../images/business_bg_service1.jpg) no-repeat;
	background-size: cover;
}

.content_busshiness ul li.no_03 a{
	background: url(../images/business_bg_used.jpg) no-repeat;
	background-size: cover;
}

/* ---------- トップページ RECRUIT ---------- */

.section_recruit{
	background: url(../images/recruit_bg.jpg) no-repeat;
	background-size: cover;
	padding: 60px 20px;
}
.recruit_inner {
	max-width: 1000px;
	margin: auto;
	padding: 40px;
	background:#302C2CE5;
	color: var(--white);
}
.section_recruit .title{
	color: var(--white);
}





/* ---------- トップページ SERVICE ---------- */
main .section_service {
	background: var(--main_color3);
}
main .section_service .inner > .service_list section {
	margin-bottom: 40px;
}
main .section_service .inner > .service_list section img {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 16px;
}
main .section_service .inner > .service_list section h3 {
	margin-bottom: 16px;
	color: var(--main_color);
	font-size: 24px;
	text-align: center;
}
@media (min-width: 769px) {
	main .section_service .inner > .service_list {
		display: -ms-grid;
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(calc((100% - 48px) / 3), 1fr));
		gap: 0 min(2%, 24px);
		margin-bottom: 64px;
	}
	main .section_service .inner > .service_list section {
		margin-bottom: 0;
	}
	main .section_service .inner > .service_list section .text {
		margin-bottom: 0;
	}
}

/* ---------- トップページ WORKS ---------- */
main .section_works .works_wrap {
	position: relative;
	width: min(90%, 960px);
	margin: auto;
}
main .section_works .works_list {
	margin-bottom: 40px;
}
main .section_works .works_list li {
	width: calc(100% / 2);
	height: auto;
}
main .section_works .works_list article {
	height: 100%;
}
main .section_works .works_list article a {
	height: 100%;
	display: block;
	padding: 8px;
	border: var(--border);
	background: #fff;
}
main .section_works .works_list article a .thum {
	width: 100%;
	aspect-ratio: 3 / 2;
	margin-bottom: 16px;
	overflow: hidden;
}
main .section_works .works_list article a img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: all 0.4s ease-out;
}
main .section_works .works_list article a h3 {
	color: var(--main_color);
	font-size: clamp(16px, 2vw, 20px);
	line-height: 1.2;
	margin-bottom: 8px;
	text-align: center;
	transition: all 0.4s ease-out;
}
main .section_works .works_list article a .text {
	margin: 0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	-webkit-line-clamp: 3;
	line-height: 1.5;
	transition: all 0.4s ease-out;
}
/* ホバー */
main .section_works .works_list article a:hover img {
	transform: scale(1.1);
}
main .section_works .works_list article a:hover h3 {
	color: var(--main_color2);
}
main .section_works .works_list article a:hover .text {
	opacity: 0.6;
}

@media (min-width: 769px) {
	main .section_works .works_list {
		margin-bottom: 64px;
	}
	main .section_works .works_list li {
		width: calc(100% / 3);
	}
	main .section_works .works_list article a {
		padding: 10px;
	}
}
/* スライダー矢印の装飾　*/
.works_wrap .swiper-button-prev:after,
.works_wrap .swiper-button-next:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 1rem;
	height: 1rem;
	margin: auto;
	border: 0;
	border-top: solid 3px var(--main_color);
	border-right: solid 3px var(--main_color);
}
.works_wrap .swiper-button-prev {
	left: -1.75rem;
}
.works_wrap .swiper-button-prev:after {
	transform: rotate(-135deg);
}
.works_wrap .swiper-button-next {
	right: -1.75rem;
}
.works_wrap .swiper-button-next:after {
	transform: rotate(45deg);
}
@media (min-width: 769px) {
	.works_wrap .swiper-button-prev:after,
	.works_wrap .swiper-button-next:after {
		width: 1.2rem;
		height: 1.2rem;
	}
	.works_wrap .swiper-button-prev {
		left: -2rem;
	}
	.works_wrap .swiper-button-next {
		right: -2rem;
	}
}

main .section_works .btn_01 {
	margin-bottom: 40px;
}
@media (min-width: 769px) {
	main .section_works .btn_01 {
		margin-bottom: 64px;
	}
}
main .section_works picture img {
	width: 100%;
}

/* ---------- トップページ BLOG ---------- */
main .sec.section_blog {
	padding-top: 0;
}
main .section_blog .blog_list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 8px;
	margin-bottom: 40px;
	position: relative;
}
@media (max-width: 768px) {
	main .section_blog .blog_list {
		grid-template-columns: 1fr;
	}
}

main .section_blog .blog_list .blog_list_fierd{
	display: grid;
	grid-template-columns: 30% 70%;
	align-items: center;
	gap: 10px;
}


main .section_blog .blog_list article {
	gap: 4px;
	margin-bottom: 10px;
}
main .section_blog .blog_list article a {
	display: inherit;
	grid-template-rows: auto auto auto 1fr auto;
	/* grid-template-rows: subgrid; */
	grid-row: inherit;
	gap: inherit;
	padding: 15px 50px 15px 15px;
	border: #3c3c3c;
	background: #fff;
	position:relative;
	transition: all 0.5s;
}
main .section_blog .blog_list article a:hover{
	opacity: 0.5;
}
main .section_blog .blog_list article a:before {
	content: "";
	position: absolute;
	top: 0;
	right: -1px;
	width: 40px;
	height: 100%;
	background-color: var(--light_blue02);
	clip-path: polygon(30% 0, 100% 0, 100% 100%, 0% 100%);
}
main .section_blog .blog_list article a:after {
	content: "";
	position: absolute;
	top: 50%;
	bottom: 0;
	right: 14px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
	transform: rotate(45deg);
}

main .section_blog .blog_list article a .thum {
	/* width: 100%; */
	/* aspect-ratio: 3 / 2; */
	/* margin-bottom: 8px; */
	overflow: hidden;
}
main .section_blog .blog_list article a img {
	display: block;
	width: 120px;
	height: 120px;
	/* aspect-ratio: 3 / 2; */
	-o-object-fit: cover;
	object-fit: cover;
	/* transition: all 0.4s ease-out; */
}
main .section_blog .blog_list article a .article_text {
	color: var(--blue);
	font-weight: bold;
}
main .section_blog .blog_list article a h3 {
	font-size: clamp(14px, 2vw, 20px);
	line-height: 1.2;
	transition: all 0.4s ease-out;
}
main .section_blog .blog_list article a time {
	font-size: 12px;
	color: var(--main_color2);
	transition: all 0.4s ease-out;
}
main .section_blog .blog_list article a .text {
	margin: 0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	-webkit-line-clamp: 3;
	font-size: 12px;
	line-height: 1.5;
	text-align: left;
	transition: all 0.4s ease-out;
}
main .section_blog .blog_list article a .stickarrow {
	width: 60px;
	height: 8px;
	margin: 8px 0 8px auto;
	border-bottom: var(--border);
	border-right: var(--border);
	-webkit-transform: skew(45deg);
	transform: skew(45deg);
}
.blog_list_fierd .article_text p{
	margin-bottom:0 !important;
}

/* ホバー */
/*main .section_blog .blog_list article a:hover img {
  transform: scale(1.1);
}
main .section_blog .blog_list article a:hover h3 {
  color: var(--main_color2);
}
main .section_blog .blog_list article a:hover time,
main .section_blog .blog_list article a:hover .text {
  opacity: 0.6;
}*/

@media (min-width: 769px) {
	main .section_blog .blog_list {
		/* grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); */
		/* gap: 0 16px; */
		/* margin-bottom: 64px; */
	}
	main .section_blog .blog_list article {
		/* margin-bottom: 16px; */
	}
	main .section_blog .blog_list article a .article_text {
	}
	main .section_blog .blog_list article a time,
	main .section_blog .blog_list article a .text {
		font-size: 14px;
	}
}

.paren_style {
	font-size: 0.8em;
	color: var(--blue);
	vertical-align: middle;
	display:block;
	margin: 0px;
	font-weight: bold;
}
.blog_category_badge{background: var(--light-gray);padding: 0px 12px 2px;/* line-height: 20px; */border-radius: 50px;display: block;width: max-content;margin-bottom: 5px;font-size: 11px;color: #000;/* letter-spacing: -1px; */font-weight: normal;}

/* ---------- トップページ CORPORATE ---------- */
main .section_corporate {
	background: url(../images/bg_cat_02.jpg) no-repeat 100% 0/cover;
}
main .section_corporate .box {
	display: flex;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin: auto;
}
main .section_corporate .box .info,
main .section_corporate .box .btn {
	width: min(100%, 350px);
}
main .section_corporate .box .btn .corporate img {
	width: 18px;
	height: auto;
}
main .section_corporate .box .btn .recruit img {
	width: 22px;
	height: auto;
}

main .section_corporate .box .info ul {
	margin-bottom: 24px;
}
main .section_corporate .box .info ul li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	width: 100%;
	font-size: 16px;
	line-height: 1.4;
	margin-bottom: 5px;
}
main .section_corporate .box .info ul li span {
	width: min(20%, 72px);
	margin-right: 10px;
	font-size: 16px;
	color: var(--main_color);
	text-align: left;
}
@media (min-width: 769px) {
}
@media (min-width: 960px) {
	main .section_corporate .box {
		width: 100%;
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: 40% 60%;
		grid-template-columns: 40% 60%;
	}
	main .section_corporate .box .info ul li {
		font-size: 16px;
		line-height: 1.6;
	}
	main .section_corporate .box .info .sns {
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		margin-bottom: 0;
	}
	main .section_corporate .box .btn {
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: end;
		-ms-flex-pack: end;
		justify-content: flex-end;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		gap: min(5%, 40px);
	}
	main .section_corporate .box .btn .btn_02 {
		-ms-flex-direction: column;
		flex-direction: column;
		font-size: 24px;
		margin-bottom: 0;
		padding: 64px 10px;
		letter-spacing: 0.1em;
	}
	main .section_corporate .box .btn .corporate img {
		width: 24px;
	}
	main .section_corporate .box .btn .recruit img {
		width: 30px;
	}
}

/* ---------- トップページ　NEWS＆SNS ---------- */
main .section_information .inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	/* gap: 80px; */
}
@media (min-width: 999px) {
	main .section_information .inner {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		/* gap: 80px; */
	}
	main .section_information section {
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 40px;
		padding: 60px 80px;
		border: 1px solid var(--blue);
	}
}

.section_information .news_title{
	font-size: clamp(14px,8vw,20px);
	text-align: center;
	letter-spacing: 0.05em;
	/* line-height: 1.1; */
	margin-bottom: 20px;
	font-weight: bold;
	position: relative;
	z-index: 999;
	line-height: 5vh;
	text-align: left;
	min-width: 250px;
}
.section_information .news_title span {
	/* color: var(--gray); */
	display: block;
	font-size: clamp(70px,8vw,90px);
	/* line-height: 6vw; */
	letter-spacing: 0px;
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 600;
	font-style: normal;
	margin-bottom: 10px;
}
@media (max-width: 999px) {
	.section_information .news_title{
		text-align: center;
	}
	}
/* NEWS */
.section_news .news_list {
	/*margin-bottom: 64px;*/
}
@media (max-width: 999px) {
	.section_news .news_list {
		margin-bottom: 20px;
	}
}
.section_news .news_list li a {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-size: 12px;
	border-bottom: 1px solid var(--light_blue02);
	padding: 16px 20px;
}
#news_top.section_news .news_list li:nth-child(4),
#news_top.section_news .news_list li:nth-child(5)  {
	display:none;
}
.section_news .news_list li:first-of-type a {
	/* padding-top: 0; */
}
@media (min-width: 769px) {
	.section_news .news_list li a {
		font-size: 14px;
	}
}
/* カテゴリ装飾 */
span[class^="notice"] {
	display: inline-block;
	min-width: 100px;
	background: var(--main_color);
	text-align: center;
	color: #fff;
	/* line-height: 15px; */
	padding: 2px 10px 4px 10px;
	border-radius: 20px;
	font-size: 12px;
	margin: 0 8px;
}
span.notice_1 {
	background: #c41b1b;
}
span.notice_2 {
	background: #eb9600;
}
span.notice_3 {
	background: #1a6fb4;
}
span.notice_4 {
	background: #5e3179;
}
span.notice_5 {
	background: #c41b73;
}
span.notice_6 {
	background: var(--main_color);
}
.section_news .news_list li a time {
	/* margin-right: 8px; */
	font-weight: 500;
}
.section_news .news_list li a h3 {
	display: inline;
	margin: 8px 0;
	font-size: 15px;
	line-height: 1.5;
	font-weight: 500;
}
@media (max-width: 767px) {
	.section_news .news_list li a {
		flex-wrap: wrap;
	}
	.section_news .news_list li a h3 {
		width: 100%;
		display: block;
	}
}

/* SNS */
main .section_information section .twitter_box {
}
main .section_information section .twitter_box .twitter-timeline {
	width: 100% !important;
}

.btn_pc{
	display:block !important;
}
.btn_sp{
	display:none !important;
}

@media (max-width: 768px) {
	.btn_pc{
		display:none !important;
	}
	.btn_sp{
		display:block !important;
	}
}


.btn_pc_1000{
	display:block !important;
}
.btn_sp_1000{
	display:none !important;
}

@media (max-width: 999px) {
	.btn_pc_1000{
		display:none !important;
	}
	.btn_sp_1000{
		display:block !important;
	}
}



/*--------------------------------------
フッター
--------------------------------------*/
footer{
	background: var(--main_color);
}

.footer_nav{
	display:none;
}

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

	footer{
		padding-bottom:40px;
	}

  /*フッターナビ用*/
  .footer_nav {
    width: 100%;
    max-width: 1200px;
    /* margin: 5px auto 0; */
    padding: 2px;
    box-sizing: border-box;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    /* display: none; */
    display: flex;
    justify-content: space-around;
    align-items: center;
    background: var(--light_blue);
}
.footer_nav div{
    text-align: center;
    width: 35%;
    padding: 2px 2px 2px;
    /* box-shadow: 0px 3px 0px 0px #8c7d27; */
}
.footer_nav a{
    display: block;
    line-height: 50px;
    border-radius: 2px;
    background: var(--main_color);
    color: var(
    --white);
    position: relative;
    letter-spacing: 0;
    font-weight: bold;
    font-size: 11px;
    /* text-align: left; */
    padding: 0 10px 0 0;
}
.footer_nav a:before{
	/*content: "";*/
	position: absolute;
	top:0;
	right: 0px;
	width: 20px;
	height: 100%;
	background-color: #fff;
	clip-path: polygon(30% 0, 100% 0, 100% 100%, 0% 100%);
}
.footer_nav a:after{
	content: "";
	position: absolute;
	top: 23px;
	bottom: 0;
	right: 8px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
	transform: rotate(45deg);
}

}

/* ---------- お問い合わせ ---------- */
footer address {
	/* background: url(../images/bg_cat_03.jpg) no-repeat 50% 70%/cover; */
	color: #fff;
	/* margin-bottom: 80px; */
	padding: 40px 20px 0;
	text-align: center;
}
footer address .title {
	color: #fff;
}
footer address .title span {
	color: #fff;
}
@media (max-width: 769px) {
	footer address .title span {
		/* font-size: 75px; */
	}
	footer address {
		padding: 40px 20px 0;
	}
}

footer address p {
	font-size: 12px;
	margin-bottom: 40px;
}
footer address p br {
	display: block;
}
footer address .btn {
	max-width: 520px;
	margin: auto;
}
footer address .btn img {
	margin-right: 10px;
}
footer address .btn .tel_btn img {
	width: 24px;
	height: auto;
	filter: var(--filter_white);
}
footer address .btn .mail_btn img {
	width: 30px;
	height: auto;
	filter: var(--filter_main_color);
}
@media (min-width: 769px) {
	footer address .btn {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		gap: 40px;
		max-width: 800px;
	}
	footer address .btn a {
		width: 50%;
	}
}
@media (min-width: 769px) {
	footer address {
		padding: 80px 20px 0px;
	}
	footer address p {
		font-size: 14px;
		margin-bottom: 40px;
	}
	footer address p br {
		display: none;
	}
}

/* ---------- パンくずリスト ---------- */
footer ul.breadcrumb {
	padding: 20px;
	font-size: 12px;
}
footer ul.breadcrumb li {
	display: inline-block;
	color: var(--white);
	text-transform: uppercase;
}
/* footer ul.breadcrumb li:not(:nth-of-type(3)) {
  text-transform: uppercase;
} */
footer ul.breadcrumb li:before {
	margin: 0 8px 0;
	display: inline-block;
	content: "";
	width: 5px;
	height: 9px;
	mask-image: url(../images/icon_arrow.svg);
	background-color: #fff;
}
footer ul.breadcrumb li:first-child:before {
	display: none;
}
footer ul.breadcrumb li a {
	color: var(--white);
}



/* ---------- フッター ---------- */
footer .footer_bottom {
	padding: 40px 0;
	width: min(100%, 1000px);
	margin: auto;
}
@media (min-width: 769px) {
	footer .footer_bottom {
		/* padding: 80px 0 40px; */
	}
}
footer .footer_bottom figure {
	text-align: center;
}
footer .footer_bottom figure img {
	width: 250px;
	display: inline-block;
	margin: 0 auto 30px;
}
@media (min-width: 769px) {
	footer .footer_bottom figure img {
		width: 350px;
		margin-bottom: 50px;
	}
}
/* フッターナビ */
footer .footer_bottom ul {
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 14px;
	gap: 8px;
	padding: 0 20px;
	text-align: center;
	margin-bottom: 20px;
}
footer .footer_bottom ul li {
	width: 48%;
}
footer .footer_bottom ul a {
	-webkit-transition: 0.5s;
	transition: 0.5s;
	color: var(--gray);
}
footer .footer_bottom ul a:hover {
	opacity: 0.7;
}
@media (min-width: 769px) {
	footer .footer_bottom ul li {
		width: auto;
	}
}
footer .footer_bottom .copyright {
	display: block;
	color: var(--gray);
	font-size: 12px;
	text-align: center;
}
footer .arrow_top {
	display: -webkit-box;
	display: -ms-flexbox;
	display: none;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}
footer .arrow_top a {
	display: none;
}
@media (min-width: 1025px) {
	footer .arrow_top a {
		font-size: 1.5em;
		position: fixed;
		bottom: 130px;
		right: 40px;
		background: #fff;
		-webkit-box-shadow: 2px 2px 6px rgb(0 0 0 / 0.1);
		box-shadow: 2px 2px 6px rgb(0 0 0 / 0.1);
		border-radius: 100%;
		/* color: var(--main_color); */
		background:  var(--blue);
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		width: 60px;
		height: 60px;
		z-index: 999;
	}
}
footer .arrow_top a img {
	width: 21px;
	height: auto;
	filter: var(--filter_white);
}

/*--------------------------------------
タイトル
--------------------------------------*/
/* トップページの共通タイトル */
.title {
	font-size: clamp(14px,2vw,20px);
	text-align: center;
	letter-spacing: 0.05em;
	line-height: 1.1;
	margin-bottom: 40px;
	font-weight:bold;
	position: relative;
	z-index: 999;
}
@media (min-width: 769px) {
	.title {
		/* font-size: 14px; */
	}
}
.title span {
	/* color: var(--gray); */
	display: block;
	font-size: clamp(70px,8vw,90px);
	letter-spacing: 0px;
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 600;
	font-style: normal;
	margin-bottom: 10px;
}

.sub_title{
	font-size: 30px;
	line-height: 40px;
	margin-bottom: 10px;
}

.about_sub_title{
	font-size: 30px;
	font-size: clamp(30px, 3vw, 50px);
	/*line-height: clamp(35px, 3.5vw, 55px);*/
	letter-spacing: 0.1em;
	margin-bottom: 15px;
	line-height: 1.3;
}

.section_about_txt{
	font-size: clamp(14px, 1vw, 19px);
	margin-bottom: 20px;
}

@media (max-width: 768px) {
	.about_sub_title {
		/* font-size: 25px; */
		/* line-height: 30px; */
	}
}
.sub_title02{
	margin-bottom: 10px;
	position: relative;
	max-width: 1000px;
	margin: 0 auto 40px;
	text-align: center;
	z-index: 999;
}
.sub_title02::after{
	content: "";
	width: 40px;
	height: 1px;
	background: var(--blue);
	position: absolute;
	bottom: -15px;
	left: 0;
	right: 0;
	margin: auto;
}
.sub_title02 span.en{
	font-size: 20px;
	display: block;
	color: #A9B9F0;
	font-family: "Barlow Condensed", sans-serif;
	font-style: normal;
}
.sub_title02 span.ja{
	font-size: 30px;
	font-weight: 500;
	line-height: 40px;
}
@media (max-width: 767px) {
	.sub_title02 span.ja{
		font-size: 25px;
	}
}

.sub_title03 {
	margin: 15px 0 10px;
	padding: 10px 15px;
	border-left: 3px solid var(--blue);
	line-height: 25px;
	text-align:left;
}
.sub_title03 span.en{
	color: var(--light_blue02);
	font-size:20px;
	font-family: "Barlow Condensed", sans-serif;
	/* font-weight: 500; */
	font-style: normal;
}
.sub_title03 span.ja{
	font-size:24px;
	font-weight: 500;
}
.sub_title04 {
	margin-bottom: 10px;
	padding: 0px 10px 10px 0;
	border-bottom:1px solid var(--light_blue02);
	color: var(--blue);
	text-align:left;
	font-size: 16px;
	line-height: 20px;
}
.sub_title05 {
	color: var(--blue);
	text-align: left;
	font-size: 24px;
	font-weight: 400;
	line-height: 30px;
	margin-bottom: 20px !important;
}

.sub_title06{
	max-width: 1000px;
	margin: auto;
	color: var(--blue);
	font-size:32px;
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 500;
	font-style: normal;
	position: relative;
	z-index: 999;
}

.sub_title07{
	color: var(--white);
	font-size:30px;
	text-align:center;
	margin-bottom: 20px;
}
@media (max-width: 767px) {
	.sub_title07{
		font-size:20px;
	}
}

.sub_title08 {
	margin-bottom: 10px;
	padding: 0 0 0 10px;
	color:var(--blue);
	border-left: 3px solid var(--blue);
	text-align:left;
	font-size: 20px;
}
.sub_title09 {
	/*margin-bottom: 20px;*/
	padding: 0px 0px 10px 0;
	border-bottom:1px solid var(--light_blue02);
	color: var(--black);
	text-align:left;
	font-size: 16px;
}
.sub_title09:first-letter{
	color: var(--blue);
	font-size: 22px;
}

/* 下層ページの共通タイトル1 */
.secondary_title {
	margin-bottom: 24px;
}
@media (min-width: 769px) {
	.secondary_title {
		margin-bottom: 40px;
	}
}
h3.secondary_title  {
	color: var(--main_color);
	font-size: clamp(26px, 4vw, 34px);
	line-height: 1;
}
h3.secondary_title span {
	display: inline-block;
	margin-left: 8px;
	font-size: 0.4em;
	color: var(--gray);
	letter-spacing: 0.1em;
}

/* 下層ページの共通タイトル2 */
h4.tertiary_title  {
	margin-bottom: 24px;
	font-size: clamp(20px, 3vw, 28px);
	line-height: 1.5;
}

/*--------------------------------------
共通のボタン
--------------------------------------*/
/* Moreボタン */
.btn_01 {
	font-size: 14px;
	background: var(--main_color);
	/* border: 1px solid var(--main_color); */
	/* border-radius: 40px; */
	color: #fff;
	display: block;
	margin: 0 auto;
	max-width: 300px;
	padding: 17px 10px;
	text-align: center;
	width: 100%;
	/* height: 64px; */
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	position:relative;
}
.btn_01:before{
	content: "";
	position: absolute;
	top:0;
	right:0;
	width: 30px;
	height: 100%;
	background-color: #4a4a4a;
	clip-path: polygon(30% 0, 100% 0, 100% 100%, 0% 100%);
}
.btn_01:after{
	content: "";
	position: absolute;
	top: 26px;
	bottom: 0;
	right: 10px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
	transform: rotate(45deg);
}


.btn_01.btn_left{
	margin: 0;
}
.btn_01:hover {
	opacity: 0.5;
}

/* カテゴリリンクボタン、一覧へ戻るボタン */
.btn_02 {
	background: #fff;
	color: var(--main_color);
	border: 1px solid var(--main_color);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	gap: 8px;
	margin: 0 auto 10px;
	max-width: 350px;
	padding: 15px 10px;
	text-align: center;
	width: 100%;
	position: relative;
	z-index: 0;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}
.btn_02:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background: var(--main_color);
	border: 1px solid var(--main_color);
	-webkit-transform-origin: 100% 50%;
	transform-origin: 100% 50%;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transition: -webkit-transform ease 0.3s;
	transition: -webkit-transform ease 0.3s;
	transition: transform ease 0.3s;
	transition: transform ease 0.3s, -webkit-transform ease 0.3s;
}
.btn_02:hover {
	color: #fff;
}
.btn_02:hover:before {
	-webkit-transform-origin: 0% 50%;
	transform-origin: 0% 50%;
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}
.btn_02 img {
	filter: var(--filter_main_color);
	-webkit-transition: all ease 0.3s;
	transition: all ease 0.3s;
}
.btn_02:hover img {
	filter: var(--filter_white);
}
@media (min-width: 1025px) {
	.btn_02 {
		margin: 0 auto;
	}
}

/* footerのお問い合わせボタン */
.btn_03 {
	color: var(--blue);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-size: clamp(16px, 3vw, 16px);
	text-align: left;
	padding: 0 15px;
	line-height: 1.5;
	margin-bottom: 10px;
	height: 70px;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
	line-height: 1.4;
	font-weight: bold;
	position:relative;
}
.btn_03:before{
	content: "";
	position: absolute;
	top:0;
	right: -1px;
	width: 30px;
	height: 100%;
	background-color: #5675DB;
	clip-path: polygon(30% 0, 100% 0, 100% 100%, 0% 100%);
}
.btn_03:after{
	content: "";
	position: absolute;
	top: 32px;
	bottom: 0;
	right: 10px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
	transform: rotate(45deg);
}

.btn_drawer01 {
	color: var(--blue);
	background: var(--white);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-size: 13px;
	text-align: left;
	padding: 0 15px;
	line-height: 1.5;
	margin-bottom: 10px;
	height: 70px;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
	line-height: 1.4;
	font-weight: bold;
	position:relative;
}
.btn_drawer01:after{
	content: "";
	position: absolute;
	top: 32px;
	bottom: 0;
	right: 13px;
	width: 7px;
	height: 7px;
	border-top: 1px solid var(--blue);
	border-right: 1px solid var(--blue);
	transform: rotate(45deg);
}

.btn_drawer02 {
	background: var(--blue);
	color: var(--white);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-size: 13px;
	text-align: left;
	padding: 0 15px;
	line-height: 1.5;
	margin-bottom: 10px;
	height: 70px;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
	line-height: 1.4;
	font-weight: bold;
	position:relative;
}
.btn_drawer02:after{
	content: "";
	position: absolute;
	top: 32px;
	bottom: 0;
	right: 13px;
	width: 7px;
	height: 7px;
	border-top: 1px solid var(--white);
	border-right: 1px solid var(--white);
	transform: rotate(45deg);
}

/*.btn_03.btn_03_drawer {
	 height:50px;
}
.btn_03.btn_03_drawer:after{
	top: 22px;
}*/
@media (min-width: 769px) {
	.btn_03 {
		padding: 0 30px;
	}
}
.btn_03.tel_btn{
	background: var(--white);
}
.btn_03.tel_btn:hover {
	opacity: 0.5;
}
.btn_03.tel_btn:before{

}

.btn_03.mail_btn {
	background: var(--blue);
	color: var(--white);
}
.btn_03.mail_btn:hover {
	opacity: 0.5;
}
.btn_03.mail_btn:before{

}

.btn_04 {
	position: relative;
	font-size: 14px;
	background: var(--main_color);
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	padding: 16px;
	text-align: center;
	transition: all 0.3s;
	max-width: 140px;
	padding: 7px;
	margin-left: 10px;
	transition: all 0.3s;
	width: min(100%, 360px);
	padding: 12px;
}
.btn_04:hover{
	opacity:0.5;
}
.btn_04:before {
	content: "";
	position: absolute;
	top: 0;
	right: -1px;
	width: 25px;
	height: 100%;
	background: var(--black-gray);
	clip-path: polygon(30% 0, 100% 0, 100% 100%, 0% 100%);
}
.btn_04::after {
	position: absolute;
	right: 7px;
	content: "";
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}


@media (min-width: 769px) {
	.btn_04 {
		/* padding: 12px; */
		/* width: min(100%, 360px); */
	}
}
@media (min-width: 1025px) {
	.btn_04 {
		font-size: 14px;
	}
}
/* Moreボタン */
.btn_05 {
	/* height: 35px; */
	font-size: 13px;
	background: var(--main_color);
	border: 1px solid var(--main_color);
	/* border-radius: 40px; */
	color: #fff;
	display: block;
	margin: 0 auto;
	max-width: 500px;
	padding: 10px 20px 10px 10px;
	width: 100%;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	position:relative;
}
.btn_05:before{
	content: "";
	position: absolute;
	top:0;
	right: 0px;
	width: 30px;
	height: 100%;
	background: #444;
	clip-path: polygon(30% 0, 100% 0, 100% 100%, 0% 100%);
}
.btn_05:after{
	content: "";
	position: absolute;
	top: 42%;
	bottom: 0;
	right: 10px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
	transform: rotate(45deg);
}
@media (max-width: 480px) {
	.btn_05.fs_sp {
		font-size:11px;
	}
}
.btn_05.btn_left{
	margin: 0;
}
.btn_05:hover {
	opacity: 0.5;
}

.btn_06 {
	font-size: 14px;
	background: var(--blue);
	/* border: 1px solid var(--blue); */
	color: #fff;
	display: block;
	margin: 0 auto;
	max-width: 300px;
	padding: 17px 10px;
	text-align: center;
	width: 100%;
	/* height: 64px; */
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	position:relative;
}
.btn_06:before{
	content: "";
	position: absolute;
	top:0;
	right:0;
	width: 30px;
	height: 100%;
	background-color: #5675DB;
	clip-path: polygon(30% 0, 100% 0, 100% 100%, 0% 100%);
}
.btn_06:after{
	content: "";
	position: absolute;
	top: 26px;
	bottom: 0;
	right: 10px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
	transform: rotate(45deg);
}
.btn_06.btn_left{
	margin: 0;
}
.btn_06:hover {
	opacity: 0.5;
}


.btn_07 {
	position: relative;
	font-size: 14px;
	background: var(--main_color);
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	padding: 16px;
	text-align: center;
	transition: all 0.3s;
	max-width: 140px;
	padding: 7px;
	margin: 0 0 10px 0;
	transition: all 0.3s;
}
.btn_07:hover{
	opacity:0.5;
}
.btn_07:before {
	content: "";
	position: absolute;
	top: 0;
	right: -1px;
	width: 25px;
	height: 100%;
	background: var(--black-gray);
	clip-path: polygon(30% 0, 100% 0, 100% 100%, 0% 100%);
}
.btn_07::after {
	position: absolute;
	right: 7px;
	content: "";
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}


@media (min-width: 769px) {
	.btn_07 {
		/* padding: 12px; */
		/* width: min(100%, 360px); */
	}
}
@media (min-width: 1025px) {
	.btn_07 {
		/* font-size: 14px; */
	}
}

/*--------------------------------------
共通のSNSアイコン
--------------------------------------*/
.sns {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 16px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-bottom: 40px;
}
.sns a {
	background: var(--main_color);
	color: #fff;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-size: 18px !important;
	-webkit-transition: 0.5s !important;
	transition: 0.5s !important;
}
.sns a:hover {
	opacity: 0.7 !important;
}
.sns a:last-child {
	margin-right: 0;
}
.sns a img {
	width: 18px;
	height: auto;
	filter: var(--filter_white);
}

/*--------------------------------------
下層ページ
--------------------------------------*/
main:not(.index) .inner {
	padding: 80px 20px 80px;
}
@media (max-width: 767px) {
	main:not(.index) .inner {
		padding: 40px 20px;
	}
}
main:not(.index) .sec {
	margin-bottom: 64px;
}
main:not(.index) .sec:last-child {
	margin-bottom: 0;
}
@media (min-width: 769px) {
	main:not(.index) .sec {
		margin-bottom: 40px;
	}
}
@media (min-width: 1200px) {
	main:not(.index) .inner {
		padding: 80px 0;
	}
}

main:not(.index) .sec p {
	/*margin-bottom: 10px;*/
	/* color: var(--blue); */
	/* font-weight: bold; */
}
main:not(.index) .sec .text {
	/* padding: 40px 20px; */
	font-size: 14px;
	line-height: 1.75;
	overflow-wrap: anywhere;
	word-break: normal;
	line-break: strict;
}

.spacing {
	padding: 0 20px;
}
@media (min-width: 1025px) {
	.spacing {
		padding: 0;
	}
}


/*下層ページ 上部の説明*/
/*.contents_about {
  overflow-x: hidden;
}*/
/*下層ページ 上部の説明*/
.contents_about .section_concept,
.contents_contact .section_concept{
	width: 100%;
	padding: 80px 20px 60px;
	margin: 0 !important;
	background: var(--light_blue);
}

.contents_recruit .section_concept{
	width: 100%;
	padding: 80px 20px 20px;
	margin: 0 !important;
	background: var(--light_blue);
}


.section_concept .concept_text {
	width: min(100%, 1000px);
	margin: auto;
	font-size: 16px;
	position: relative;
	z-index: 999;
}
.section_concept .concept_text p{
	margin-bottom:10px;
}
.section_concept .concept_text p:last-of-type{
	margin-bottom: 0;
}

.section_concept{
	position: relative;
}
.concept_bg_txt{
	color: #fff;
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 200;
	font-style: normal;
	font-size: 130px;
	position: absolute;
	top: 20px;
	right: -24px;
	z-index: 1;
}
@media (min-width: 768px) {
	.concept_bg_txt{
		position: absolute;
		top: -50px;
		right: -24px;
		z-index: 1;
		font-size: 238px;
	}
}
.concept_bg_txt02{
	color: #fff;
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 200;
	font-style: normal;
	font-size: 120px;
	position: absolute;
	top: 25px;
	right: 20px;
	z-index: 1;
}
@media (min-width: 768px) {
	.concept_bg_txt02{
		position: absolute;
		top: -50px;
		right: -24px;
		z-index: 1;
		font-size: 238px;
	}
}

/* ミッション */
.section_mission > div {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	gap: 24px;
}
.contents_about .section_mission > div img {
	width: 100%;
	height: auto;
}
@media (min-width: 960px) {
	.contents_about .section_concept,
	.contents_recruit .section_concept,
	.contents_contact .section_contact {
		/* margin-top: -40px; */
	}
	.section_mission > div {
		flex-direction: row;
		gap: min(4%, 40px);
	}
	.section_mission > div img {
		width: 45%;
	}
	.section_mission .mission_text {
		width: 55%;
	}
}

/* バリュー */
.contents_about .section_value .value_item {
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 24px;
}
.contents_about .section_value .value_item:last-of-type {
	margin-bottom: 0;
}
.contents_about .section_value .value_item .num {
	font-size: 2rem;
	line-height: 1;
	color: var(--main_color2);
}
.contents_about .section_value .value_item .value_text h4 {
	font-size: clamp(20px, 3vw, 26px);
	line-height: 1.3;
	margin-bottom: 8px;
}


/* ---------- 下層ページ CORPORATE ---------- */
/* ABOUTのページで使う場合は
   .contents_corporate → .contents_about に書き換えてください */
   .contents_corporate .section_message > div {
   	display: -webkit-box;
   	display: -ms-flexbox;
   	display: flex;
   	flex-direction: column;
   	-webkit-box-pack: justify;
   	-ms-flex-pack: justify;
   	justify-content: space-between;
   	-webkit-box-align: start;
   	-ms-flex-align: start;
   	align-items: flex-start;
   	gap: 24px;
   }
   .contents_corporate .section_message .message_pic {
   	width: 100%;
   	height: auto;
   }
   .contents_corporate .section_message .message_pic img {
   	width: 100%;
   	height: 100%;
   	object-fit: cover;
   }
   @media (min-width: 769px) {
   	.contents_corporate .section_message > div {
   		flex-direction: row;
   		gap: min(4%, 40px);
   	}
   	.contents_corporate .section_message .message_text {
   		width: 55%;
   	}
   	.contents_corporate .section_message .message_pic {
   		width: 45%;
   		aspect-ratio: 3 / 2;
   	}
   }

/* 事業所案内 */
.contents_corporate .section_office .office_wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 24px;
}
.contents_corporate .section_office .office_wrap > div {
	width: 100%;
}
/* 支店情報がある場合は、マップの下と各支店に下線を入れる */
.contents_corporate .section_office .office_wrap:has(+ div) div.map,
.contents_corporate .section_office .office_wrap:nth-of-type(2) > div {
	padding-bottom: 24px;
	border-bottom: var(--border);
}
.contents_corporate .section_office .office_wrap:nth-of-type(2) {
	display: grid;
	grid-template-columns: 1fr;
}
.contents_corporate .section_office .office_wrap div.map {
	order: 1;
}
.contents_corporate .section_office .office_wrap address ul li {
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	width: 100%;
}
.contents_corporate .section_office .office_wrap address ul li:first-child {
	margin-bottom: 1rem;
}
.contents_corporate .section_office .office_wrap address ul li span {
	width: min(30%, 72px);
	margin-right: 10px;
	text-align: left;
}
.contents_corporate .section_office .office_wrap .btn_01 {
	margin: 24px 0 0;
	padding: 10px;
	font-size: 16px;
	display: flex;
	justify-content: center;
	gap: 5px;
}
.contents_corporate .section_office .office_wrap .btn_01 img {
	width: 16px;
	height: auto;
	filter: var(--filter_white);
	-webkit-transition: all ease 0.3s;
	transition: all ease 0.3s;
}
.contents_corporate .section_office .office_wrap .btn_01:hover img {
	filter: var(--filter_main_color);
}
@media (min-width: 769px) {
	.contents_corporate .section_office .office_wrap {
		flex-direction: row;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		gap: 0 40px;
		margin-bottom: 40px;
	}
	.contents_corporate .section_office .office_wrap:nth-of-type(2) {
		grid-template-columns: repeat(3, 1fr); /* 支店数によって増減してください */
		align-items: stretch;
	}
	.contents_corporate .section_office .office_wrap:nth-of-type(2) > div {
		display: grid;
		grid-template-rows: auto 1fr;
		grid-template-rows: subgrid;
		grid-row: span 4;
		align-content: start;
		gap: 0;
		padding: 0;
		border: none;
	}
	.contents_corporate .section_office .office_wrap:nth-of-type(2) address,
	.contents_corporate .section_office .office_wrap:nth-of-type(2) address ul {
		display: grid;
		grid-template-rows: 1fr auto auto;
		grid-template-rows: subgrid;
		grid-row: span 3;
		gap: inherit;
	}
	.contents_corporate .section_office .office_wrap div.map {
		order: 0;
		border: none !important;
	}
}

/* ---------- 下層ページ SERVICE ---------- */
/* 表示パターン01 */
.contents_service .section_service.wrap_01 {
	background: none;
}
.contents_service .section_service.wrap_01 .service_block {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 24px;
	width: min(100%, 640px);
	margin: auto;
}
.contents_service .section_service.wrap_01 .service_block:not(:last-of-type) {
	margin-bottom: 40px;
}
.contents_service .section_service.wrap_01 .service_block h3 {
	margin-bottom: 16px;
	color: var(--main_color);
	font-size: clamp(24px, 4vw, 28px);;
	text-align: center;
}
.contents_service .section_service.wrap_01 .service_block img {
	width: 100%;
	height: auto;
}
@media (min-width: 960px) {
	.contents_service .section_service.wrap_01 .service_block {
		flex-direction: row;
		gap: min(4%, 40px);
		width: 100%;
	}
	.contents_service .section_service.wrap_01 .service_block:nth-of-type(even) {
		flex-direction: row-reverse;
	}
	.contents_service .section_service.wrap_01 .service_block:not(:last-of-type) {
		margin-bottom: 80px;
	}
	.contents_service .section_service.wrap_01 .service_block img {
		width: 45%;
	}
	.contents_service .section_service.wrap_01 .service_text {
		width: 55%;
	}
}
/* 表示パターン02 */
.contents_service .section_service.wrap_02 {
	margin-bottom: 80px !important;
}
.contents_service .section_service.wrap_02 .service_list,
.contents_service .section_service.wrap_02 .service_list section:last-of-type {
	margin-bottom: 0;
}

@media (max-width: 600px) {
	.contents_service .section_service.wrap_02 .inner {
		padding-bottom: 40px;
	}
}

/* ---------- 下層ページ MENU ---------- */
.contents_menu .section_menu .menu_box:not(:last-of-type) {
	margin-bottom: 40px;
}
/* 料金ページ用のtable_01 */
.contents_menu .section_menu .table_01 th,
.contents_menu .section_menu .table_01 td {
	display: table-cell;
	width: 50%;
	padding: 24px;
	text-align: center;
	border-bottom: var(--border);
}
.contents_menu .section_menu .table_01 tr:nth-of-type(even) {
	background: var(--table_bg_color);
}


/* ---------- 下層ページ FAQ ---------- */
.contents_faq .faq_list {
	width: min(100%, 1040px);
	margin: auto;
}
.contents_faq .faq_list dt {
	position: relative;
	margin-bottom: 8px;
	padding: 16px 32px 16px 16px;
	cursor: pointer;
}
.contents_faq .faq_list dd {
	padding: 16px;
}
/* アコーディオンボタン装飾 */
.contents_faq .faq_list dt:before,
.contents_faq .faq_list dt:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
	display: block;
	width: 16px;
	height: 3px;
	background: var(--main_color2);
	transition: all 0.4s ease-out;
}
.contents_faq .faq_list dt:before {
	top: 48.5%;
	transform: rotate(-90deg);
}
.contents_faq .faq_list dt.open:before {
	opacity: 0;
	transform: rotate(-360deg);
}

.contents_faq .faq_list h3 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	gap: 8px;
	line-height: 1.5;
}
.contents_faq .faq_list h3 span {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 32px;
	height: 32px;
	padding: 12px;
	background: var(--main_color);
	font-size: 1.2rem;
	font-weight: 300;
	text-align: center;
	line-height: 1;
	color: #fff;
}
.contents_faq .faq_list .question {
	background: var(--main_color3);
}
.contents_faq .faq_list .answer {
	display: none;
}
.contents_faq .faq_list .answer h3 {
	font-weight: 700;
	margin-bottom: 8px;
}
.contents_faq .faq_list .answer h3 span {
	background: var(--main_color2);
}
.contents_faq .faq_list .answer p {
	text-align: justify;
}
@media (min-width: 769px) {
	.contents_faq .faq_list h3 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		gap: 16px;
	}
	.contents_faq .faq_list h3 span {
		width: 40px;
		height: 40px;
		font-size: 1.5rem;
	}
}


/* ---------- 下層ページ RECRUIT ---------- */
/* メッセージ */
.contents_recruit .sec.section_recruit_message {
	width: 100%;
	text-align: center;
	background: #fff;
	margin-bottom: 0;
}
.contents_recruit .section_recruit_message h3 {
	margin-bottom: 40px;
	font-size: clamp(26px, 4vw, 34px);
	line-height: 1.5;
}
.contents_recruit .sec.section_recruit_message .text {
	width: min(100%, 1040px);
	margin: auto;
	font-size: 16px;
}
.contents_recruit .sec.section_recruit_message p:last-of-type {
	margin-bottom: 0;
}

/* 福利厚生 */
.contents_recruit .sec.section_job_benefit {
	width: 100%;
	background: var(--main_color3);
	margin-bottom: 0;
}
.contents_recruit .section_job_benefit .benefit_list .benefit_item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.contents_recruit .section_job_benefit .benefit_list .benefit_item:not(:last-of-type) {
	margin-bottom: 40px;
}
.contents_recruit .section_job_benefit .benefit_list .benefit_item h4 {
	margin-bottom: 16px;
	font-size: clamp(20px, 3vw, 24px);
	text-align: center;
}
.contents_recruit .section_job_benefit .benefit_list .benefit_item img {
	width: 50%;
	height: auto;
}
.contents_recruit .section_job_benefit .benefit_list .benefit_item p {
	font-size: 14px;
	margin-bottom: 0;
}

@media (min-width: 769px) {
	.contents_recruit .section_job_benefit .benefit_list {
		display: -ms-grid;
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(calc((100% - 48px) / 3), 1fr));
		gap: 0 min(2%, 24px);
	}
	.contents_recruit .section_job_benefit .benefit_list .benefit_item {
		margin-bottom: 0 !important;
	}
}

/* 募集要項 */
.contents_recruit .section_job_description .job_tab_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 8px;
	width: min(100%, 1040px);
	margin: 0 auto 8px;
}
.contents_recruit .section_job_description .job_tab_list .job_tab {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	padding: 8px 0;
	border-radius: 99px;
	background: var(--main_color3);
	font-size: 14px;
	cursor: pointer;
}
.contents_recruit .section_job_description .job_tab_list .job_tab.active {
	background: var(--main_color);
	color: #fff;
}
.contents_recruit .section_job_description .job_box {
	display: none;
}
.contents_recruit .section_job_description .job_box.active {
	display: block;
	animation: tab_fade 0.8s ease-out forwards;
}
@keyframes tab_fade {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@media (min-width: 769px) {
	.contents_recruit .section_job_description .job_tab_list {
		gap: 24px;
		margin-bottom: 40px;
	}
	.contents_recruit .section_job_description .job_tab_list .job_tab {
		padding: 16px 0;
		font-size: 16px;
	}
}


/* ---------- 下層ページ CONTACT ---------- */
.contents_contact h3.secondary_title {
	font-size: clamp(24px, 4vw, 34px);
}

.contents_contact p {
	/* text-align: center; */
	font-size: 16px;
}
@media (max-width: 767px) {
	.contents_contact p {font-size: 16px;}
}

/* ---------- 下層ページ PRODUCT ---------- */
.blast_bg{
	background: var(--blue);
	/*margin-bottom: 40px;*/
}
.blast_inner{
	width: 100%;
	max-width: 1000px;
	margin: auto;
	padding: 40px 0;
}

.blast_qa{
	margin-bottom:20px;
}
.blast_qa ul {
	padding: 0 10px;
	display: grid;
	/* grid-template-columns: auto 1fr 0 0px; */
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
.blast_qa ul li {
	background: #fff;
	padding: 20px;
	color: var(--blue);
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 25px;
	line-height: 30px;
	font-weight: 300;
}
.blast_qa ul li::before {
	content: "";
	background: url(../images/icon_arrow02.svg);
	width: 36px;
	height: 36px;
	flex-shrink: 0;
}
@media (max-width: 768px) {
	.blast_inner{
		padding: 20px 0;
	}
	.blast_qa ul {
		grid-template-columns: repeat(1, 1fr);
	}
	.blast_qa ul li {
		font-size: 20px;
		line-height: 25px;
		padding: 10px;
	}
	.blast_qa ul li::before {
		background-size: 25px;
		width: 25px;
		height: 25px;
	}
}

.template_type{
	margin-bottom:20px;
}
.template_type ul {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
}
@media (max-width: 768px) {
	.template_type ul {
		grid-template-columns: repeat(2, 1fr);
	}
}

.template_type ul li {
	background: var(--light_blue);
	padding: 10px 20px;
	color: var(--blue);
	display: flex;
	align-items: center;
	min-height: 70px;
	font-weight: bold;
}


.template_list_frame{
	display: grid;
	grid-template-columns: 60% 40%; /* ← 左60%・右40% */
	align-items: center;
	gap: 10px;
	background: var(--light_blue);
	padding: 20px;
	margin-bottom:20px;
}
@media (max-width: 768px) {
	.template_list_frame {
		grid-template-columns: 1fr; /* スマホは1列 */
		padding: 0;
	}
}
.template_list_frame > .template_list{
	margin-bottom:0;
}
.template_list_frame > .template_list_photo img{
	width: 100%;
	max-width:260px;
	display:block;
	margin:auto;
	padding: 20px 0;
}

.template_list{
	background: var(--light_blue);
	margin-bottom:20px;
	padding: 20px;
	color: var(--blue);
}
.template_list ul li{
	padding: 10px;
	/* font-size: 18px; */
	font-size: 25px;
	line-height: 30px;
	font-weight: 300;
	/* line-height: 36px; */
	display: flex;
	align-items: center;
	gap: 10px;
}
.template_list ul li::before{
	content: "";
	background: url("../images/icon_arrow02.svg");
	width: 36px;
	height: 36px;
	flex-shrink: 0;
}
@media (max-width: 768px) {
	.template_list{
		padding: 10px;
	}
	.template_list ul li::before{
		background-size: 25px;
		width: 25px;
		height: 25px;
	}
}


/* ---------- 下層ページ WORKS & BLOG ---------- */
.contents_works .works_list,
.contents_blog .section_blog .blog_list {
	margin-bottom: 0;
}

.contents_works .works_list {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 16px 1fr;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	width: 100%;
	position: relative;
}
.contents_works .works_list article {
	display: inherit;
	grid-template-rows: subgrid;
	grid-row: span 3;
	gap: 0;
}
.contents_works .works_list article a {
	display: grid;
	grid-template-rows: inherit;
	grid-row: inherit;
	align-items: center;
	gap: 0;
	padding: 8px;
	border: var(--border);
}
.contents_works .works_list article .thum {
	width: 100%;
	aspect-ratio: 3 / 2;
	margin-bottom: 16px;
	overflow: hidden;
}
.contents_works .works_list article a img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: all 0.4s ease-out;
}
.contents_works .works_list article a:hover img {
	transform: scale(1.1);
}
/* .contents_works .works_list article a time {
  font-size: 12px;
} */
.contents_works .works_list article a h3 {
	margin-bottom: 8px;
	text-align: center;
	color: var(--main_color);
	font-size: clamp(14px, 2vw, 20px);
	line-height: 1.2;
	transition: all 0.4s ease-out;
}
.contents_works .works_list article a .text {
	margin: 0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	-webkit-line-clamp: 3;
	font-size: 12px;
	line-height: 1.5;
	text-align: left;
	transition: all 0.4s ease-out;
}
.contents_works .works_list article a .any_text {
	margin-bottom: 0;
}
/* ホバー */
.contents_works .works_list article a:hover img {
	transform: scale(1.1);
}
.contents_works .works_list article a:hover h3 {
	color: var(--main_color2);
}
.contents_works .works_list article a:hover .text {
	opacity: 0.6;
}
/* .contents_works .works_list article a .stickarrow {
  width: 60px;
  height: 8px;
  margin-left: auto;
  border-bottom: 1px solid;
  border-right: 1px solid;
  -webkit-transform: skew(45deg);
          transform: skew(45deg);
} */
@media (min-width: 769px) {
	.contents_works .works_list {
		grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
		gap: 16px;
	}
	.contents_works .works_list article a {
		padding: 10px;
	}
	.contents_works .works_list article a .text {
		font-size: 14px;
	}
}

/* WORKS モーダルver. の調整 */
/* モーダルの内容を非表示にしておく */
.modal_works_detail {
	display: none;
}
/* モーダル装飾調整 */
.modaal-wrapper .modaal-close {
	top: 10px;
	right: 10px;
	width: 40px;
	height: 40px;
	background: #fff;
	box-shadow: 0 0 8px rgba(0 0 0 / 0.2);
}
.modaal-close:after, .modaal-close:before {
	top: 9px;
	left: 18px;
	background: var(--main_color);
}
.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
	background: var(--main_color2);
}
.modaal-container {
	width: min(100%, 800px);
}
.modaal-container img {
	width: 100%;
	max-width: 100% !important;
	height: auto !important;
	margin-bottom: 16px;
}
.modaal-content-container {
	padding: 16px;
}
.modaal-content-container h3 {
	margin-bottom: 16px;
	text-align: center;
	color: var(--main_color);
	font-size: clamp(14px, 2vw, 20px);
	line-height: 1.2;
}
.modaal-content-container .text {
	font-size: clamp(12px, 2vw, 14px);
	overflow-wrap: anywhere;
	word-break: normal;
	line-break: strict;
}


/* ---------- 下層ページ WORKS & BLOG詳細 ---------- */
.contents_post_detail {padding: 0 0 30px 0;}
/* ブログページ用サブタイトル */
.contents_post_detail .subvisual p.subtitle {
	color: #fff;
	font-size: 32px;
	margin-top: 58px;
}
/* 記事　*/
.section_post_detail {
	width: 100%;
}
.section_post_detail article {
	margin-bottom: 64px;
}
.section_post_detail article .post_title {
	margin-bottom: 24px;
	margin-top: -0.5rem;
	font-size: clamp(26px, 4vw, 34px);
	line-height: 1.5;
}
/* ブログの場合の見出し */
.section_post_detail article .post_title.blog {
	margin-bottom: 0;
}
.section_post_detail article time {
	display: inline-block;
	margin-bottom: 16px;
	font-size: 16px;
	color: var(--main_color2);
}
.section_post_detail article .post_eyecatch {
	margin-bottom: 24px;
}
.section_post_detail article .text a,
.text.modal_works_text a {
	color: var(--main_color2);
}
.section_post_detail article .text img {
	max-width: 100% !important;
	height: auto !important;
	margin-bottom: 16px;
}
/* 任意テキスト(WORKSモーダルにも適用) */
.section_post_detail article .text.any_text,
.text.modal_works_text .any_text {
	margin-bottom: 24px;
	font-size: clamp(16px, 2vw, 18px);
}
.section_post_detail article .text.any_text span,
.text.modal_works_text .any_text span {
	display: inline-block;
	padding: 2px 8px;
	margin-right: 8px;
	background: var(--main_color);
	color: #fff;
}
/* 任意テキストが改行ありの場合 */
.section_post_detail article .text.any_text span.nl2,
.text.modal_works_text .any_text span.nl2 {
	margin-bottom: 8px;
}

/* ブログ記事用 見出しH2〜H4 */
.section_post_detail.blog article h2 {
	font-size: clamp(22px, 2.8vw, 20px);
	/* line-height: 1.5; */
	margin: 20px 0 10px;
	padding: 8px 16px;
	background: var(--light_blue);
	color: var(--blue);
}
.section_post_detail.blog article h3 {
	font-size: clamp(18px, 2.6vw, 24px);
	line-height: 1.5;
	margin: 0px 0 20px;
	padding: 8px 8px 8px 12px;
	color: var(--blue);
	font-weight: bold;
}
.section_post_detail.blog article h4 {
	font-size: 14px;
	/* line-height: 1.5; */
	margin: 20px 0 10px;
	padding: 8px 16px;
	background: var(--light_blue);
	color: var(--blue);
}
/*.section_post_detail.blog article h4:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 2px;
  width: 8px;
  height: 8px;
  background: var(--main_color2);
  transform: translateY(-50%) rotate(45deg);
}*/
/* テーブル(WORKSモーダルにも適用) */
.section_post_detail article table,
.text.modal_works_text table {
	width: min(100%, 1040px);
	margin: auto;
	border-collapse: collapse;
	/* font-size: 14px; */
}
.section_post_detail article table tr th,
.section_post_detail article table tr td,
.text.modal_works_text table tr th,
.text.modal_works_text table tr td {
	padding: 16px 8px;
	border: var(--border);
}
.section_post_detail article table tr th,
.text.modal_works_text table tr th {
	background: var(--table_bg_color);
}
@media (min-width: 769px) {
  /* .section_post_detail article table,
  .text.modal_works_text table {
    font-size: 16px;
  } */
  .section_post_detail article table tr th,
  .section_post_detail article table tr td,
  .text.modal_works_text table tr th,
  .text.modal_works_text table tr td {
  	padding: 24px;
  	vertical-align: middle;
  }
}
/* リスト(WORKSモーダルにも適用) */
.section_post_detail article ul,
.section_post_detail article ol,
.text.modal_works_text ul,
.text.modal_works_text ol {
	padding-inline-start: 1rem;
}
.section_post_detail article ul li,
.text.modal_works_text ul li {
	position: relative;
}
.section_post_detail article ul li:before,
.text.modal_works_text ul li:before {
	content: '';
	color: var(--main_color2);
	position: absolute;
	top: 0.6rem;
	left: -0.75rem;
	width: 4px;
	height: 4px;
	border-radius: 2px;
	background: var(--main_color2);
}
.section_post_detail article ol,
.text.modal_works_text ol {
	list-style: decimal;
}
.section_post_detail article ol li::marker,
.text.modal_works_text ol li::marker {
	color: var(--main_color2);
	font-weight: 700;
}
.section_post_detail article dt,
.text.modal_works_text dt {
	color: var(--main_color2);
}

/* 最新の投稿 */
.contents_post_detail aside {
	width: 100%;
	margin-top: 50px;
}
.contents_post_detail aside h4 {
	font-size: clamp(20px, 3vw, 24px);
}
.contents_post_detail aside .new-post_list {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 8px 1fr;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}
/* @media (max-width: 480px) {
.contents_post_detail aside .new-post_list {
  grid-template-columns: 1fr;
}
} */
.contents_post_detail aside .new-post_list article {
	/* border: var(--border); */
	background: #fff;
	margin-bottom: 10px;
}
.contents_post_detail aside .new-post_list a {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 8px;
	padding: 8px 20px 8px 8px;
	position:relative;
	transition: all 0.5s;
}
.contents_post_detail aside .new-post_list a:hover{
	opacity: 0.5;
}


.contents_post_detail aside .new-post_list a:before {content: "";position: absolute;top: 0;right: -1px;width: 25px;height: 100%;background-color: var(--light_blue02);clip-path: polygon(50% 0, 100% 0, 100% 100%, 0% 100%);}
.contents_post_detail aside .new-post_list a:after {
	content: "";
	position: absolute;
	top: 48%;
	bottom: 0;
	right: 5px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
	transform: rotate(45deg);
}
.contents_post_detail aside .new-post_list h4 {
	font-size: clamp(12px, 2vw, 12px);
	line-height: 1.5;
	color: var(--blue);
	font-weight: bold;
	width: 100%;
}
.contents_post_detail aside .new-post_list .thum {
	width: 100%;
	aspect-ratio: 3 / 2;
	overflow: hidden;
}
.contents_post_detail aside .new-post_list .thum img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (600px < width < 961px ) {
	.contents_post_detail .flex {
		flex-direction: column;
	}
	.contents_post_detail aside .new-post_list {
		gap: 16px;
	}
}

@media (min-width: 768px) and (max-width: 961px) {
	.contents_post_detail .flex {
		flex-direction: column;
	}
	.contents_post_detail aside .new-post_list {
		gap: 16px;
	}
}

.contents_post_detail .sec.section_post_detail {
	margin-bottom: 0;
}

.contents_post_detail .bg_white{
	padding: 20px;
	margin-bottom:20px;
	background: var(--white);
}

@media (min-width: 960px) {
	.section_post_detail {
		width: 68%;
	}
	.contents_post_detail aside {
		width: 28%;
		margin: 0;
	}
}

.contents_post_detail aside .new-post_list {
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr;
	gap: 0;
}
.contents_post_detail aside .new-post_list article {
	border-left: 0;
	border-right: 0;
}
.contents_post_detail aside .new-post_list article:not(:first-of-type) {
	border-top: 0;
}
.contents_post_detail aside .new-post_list a {
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	gap: 9px;
}

.contents_post_detail aside .new-post_list h4 {
	width: 65%;
}
.contents_post_detail aside .new-post_list .thum {
	width: 35%;
	aspect-ratio: 1 / 1;
}

/* ---------- 下層ページ NEWS ---------- */
.contents_news {
}
.contents_news .section_news .news_list {
	width: min(100%, 800px);
	margin: auto;
}
@media (min-width: 769px) {
	.contents_news .section_news .news_list {
	}
}

/* ---------- 下層ページ NEWS詳細 ---------- */
.contents_news_detail {
}
.contents_news_detail article {
	width: min(100%, 800px);
	margin: 0 auto 64px;
}
.contents_news_detail article h3 {
	font-size: clamp(26px, 4vw, 34px);
	margin-bottom: 24px;
	margin-top: -0.5rem;
	line-height: 1.5;
}
.contents_news_detail article time {
	margin-left: 8px;
	font-weight: bold;
}
.contents_news_detail .news_info {
	font-size: 12px;
	margin-bottom: 36px;
}
.contents_news_detail article .text a {
	color: var(--main_color2);
}
.contents_news_detail article .text img {
	max-width: 100% !important;
	height: 100% !important;
}
@media (min-width: 769px) {
	.contents_news_detail .news_info {
		font-size: 14px;
	}
}

/* ---------- 下層ページ 404 ---------- */
.contents_err {
}


