
.-x-richtext ul, .-x-richtext ol {
	list-style-position: inside;
}
[data-legal]{
	position:relative;
	--legal-offset-h:attr(data-legal-offset-h px);
	--legal-offset-v:attr(data-legal-offset-v px);
}
[data-legal][data-legal-safe="1"]::after{
	position: absolute;
	opacity: 0.5;
	color: black;
	content: "墨";
	font-size: 16px;
	display: block;
	height: 24px;
	padding-top: 0px;
	background-image: url(/_lib/lc.png);
	background-size: auto 20px;
	background-repeat: no-repeat;
	padding-left: 50px;
	background-position: left top;
}
[data-legal][data-legal-safe="1"]:hover::after {
    position: absolute;
    opacity: 0.5;
    color: black;
    content: attr(data-legal-check-at);
    white-space:nowrap;
    font-size: 11px;
    display: block;
    height: 24px;
    background-image: url(/_lib/lc.png);
    background-size: auto 20px;
    background-repeat: no-repeat;
    padding-top: 15px;
    padding-left: 0px;
    background-position: left top;
}

[data-legal-position="left-top"]::after{
	left:var(--legal-offset-h);
	top:var(--legal-offset-v);
}
[data-legal-position="left-bottom"]::after{
	left:var(--legal-offset-h);
	bottom:var(--legal-offset-v);
}
[data-legal-position="right-top"]::after{
	right:var(--legal-offset-h);
	top:var(--legal-offset-v);
}
[data-legal-position="right-bottom"]::after{
	right:var(--legal-offset-h);
	bottom:var(--legal-offset-v);
}
/*common_css*/
/**
-------------------------------------
■メインサイトのstyle.css
レイアウト「サイト」＞「CSS/JS/画像」

■LPのstyle.css
レイアウト「LP」＞「CSS/JS/画像」
-------------------------------------
**/


@charset "utf-8";
/* CSS Document */
/* -------------------------------------
Browser：Edge over
-------------------------------------
00: ベース
01: アーティクル用
02: フォーム用
-------------------------------------*/

/* -------------------------------------
この記述を入れると、ウィジェット設置時に
「コンテンツ幅を選んでの設置」をする選択肢が出るようになります。
対象ウィジェットには<div data-w-width=""></div>を記述
-------------------------------------*/
/*ウィンドウ幅での設置*/
[data-w-width] {
    max-width: 100%;
}

@media screen and (max-width: 768px){
    [data-w-width="1"] {
        width: 90%;
    }
}

/* -------------------------------------
パンくず
-------------------------------------*/
#breadcrumb{
	margin:0 auto;
	padding:5px 0 15px;
	max-width:980px;
	width:94%;
	font-size:12px;
}
/*家アイコン*/
#breadcrumb ol:before {
	display: inline-block;
	content: "\e88a";
	vertical-align: middle;
	font-size: 14px;
	font-family: 'Material Icons';
}
#breadcrumb ol li{
	display:inline-block;
	padding:0 5px;
}
#breadcrumb ol li+li:before{
	content:">";
}
#breadcrumb a{
	text-decoration: underline;
}#breadcrumb a:hover{
	text-decoration: none;
}

/* -------------------------------------
リッチテキスト
-------------------------------------*/
.richtext{
}
.richtext *[style*="font-size: 10px"]{
    font-size: 10px!important;
}
.richtext *[style*="font-size: 11px"]{
    font-size: 11px!important;
}
.richtext *[style*="font-size: 12px"]{
    font-size: 12px!important;
}
.richtext *[style*="font-size: 13px"]{
    font-size: 13px!important;
}
.richtext *[style*="font-size: 14px"]{
    font-size: 14px!important;
}
.richtext *[style*="font-size: 15px"]{
    font-size: 15px!important;
}
.richtext p{
	margin: 0 auto 10px;
}
.richtext strong {
}/*リセットしていないので不要*/
.richtext s{
}/*リセットしていないので不要*/
.richtext u{
}/*リセットしていないので不要*/
.richtext em {
	font-style: italic;
}
.richtext ul {
    line-height: 1.4;
}
.richtext ul li {
    list-style: outside decimal;
}
.richtext ol {
    line-height: 1.4;
}
.richtext ol li{
	list-style: outside decimal;
}
.richtext h1{
	font-size: 2.0em;
}
.richtext h2{
	font-size: 1.5em;
}
.richtext h3{
	font-size: 1.17em;
}
.richtext h4{
	font-size: 1.0em;
}
/*▽▽追加▽▽*/
.richtext p a{
    border-bottom: 1px dotted var(--main-color);
    text-decoration: none;
}.richtext p a:hover{
	border-bottom: none;
}
.richtext p a[href^="tel"]{
    border-bottom: none;
}
.richtext ul li{
    display: block;
    margin-bottom: 10px;
    margin-left: 1em;
    text-indent: -1em;
    list-style: none;
}
.richtext ul li::before{
    content: "●";
}
/*△△追加△△*/
.richtext table{
	max-width: 100%;
	border: none;
	border-collapse: collapse;
	table-layout: fixed;
	empty-cells: show;
}
.richtext table tr td{
	border: 1px solid #ccc;
	vertical-align: middle;
	text-align: left;
	-webkit-user-select: text;
	-moz-user-select: text;
	-ms-user-select: text;
	user-select: text;
}
.richtext img{
	max-width: 100%;
}
.richtext iframe{
	max-width: 100%;
}

@media screen and (max-width: 768px) {
	.richtext *[style*="font-size: 8px"]{
	}
	.richtext *[style*="font-size: 9px"]{
	}
	.richtext *[style*="font-size: 10px"]{
        font-size: 10px!important;
	}
	.richtext *[style*="font-size: 11px"]{
        font-size: 10px!important;
	}
	.richtext *[style*="font-size: 12px"]{
        font-size: 10px!important;
	}
	.richtext *[style*="font-size: 13px"]{
        font-size: 12px!important;
	}
	.richtext *[style*="font-size: 14px"]{
        font-size: 12px!important;
	}
    .richtext *[style*="font-size: 15px"]{
        font-size: 14px!important;
    }
	.richtext *[style*="font-size: 16px"]{
	    font-size: 1rem!important;
	}
	.richtext *[style*="font-size: 18px"]{
		font-size: 1rem!important;
	}
	.richtext *[style*="font-size: 24px"]{
		font-size: 1.2rem!important;
	}
	.richtext *[style*="font-size: 30px"]{
		font-size: 1.3rem!important;
	}
	.richtext *[style*="font-size: 36px"]{
		font-size: 1.6rem!important;
	}
	.richtext *[style*="font-size: 48px"]{
		font-size: 1.65rem!important;
	}
	.richtext *[style*="font-size: 60px"]{
		font-size: 1.7rem!important;
	}
	.richtext *[style*="font-size: 72px"]{
		font-size: 1.75rem!important;
	}
	.richtext *[style*="font-size: 96px"]{
		font-size: 1.8rem!important;
	}
}




/** ================================================================================
01: アーティクル用
================================================================================ **/
/* -------------------------------------
公開日
-------------------------------------*/
.time{
	font-size: 14px;
	display: inline-block;
	margin: 0 2px;
	vertical-align:middle;
	padding:5px 0;
	line-height: 1.0;
}

@media screen and (max-width: 768px) {
    .time{
        font-size: 11px;
    }
}

/* -------------------------------------
boxLR
 お知らせ一覧のタグ+日付
-------------------------------------*/
.boxLR{
	display: flex;
	margin: 14px auto 0;
	font-size: 14px;
}
.boxLR em.cat{
	display: inline-block;
	margin-left: 6%;
	padding: 6px 20px;
	font-size: 12px;
	color: #fff;
	text-align: center;
	line-height: 1.0;
	background: var(--main-color);
}

@media screen and (max-width: 480px) {
	.boxLR{
		font-size: 13px;
	}
	.boxLR em.cat{
		padding: 4px 0.5em 0;
		font-size: 11px;
	}
}

/* -------------------------------------
カテゴリボタン
 一覧のディレクトリーボタン
-------------------------------------*/
.catBtn{
    display: flex;
    justify-content: center;
    flex-flow: row wrap;
    margin:  25px auto;
}
.catBtn a{
    position: relative;
    display: block;
    margin: 5px;
    padding: 10px 60px 10px 40px;
    min-width: 8em;
    line-height: 1.2;
    border: 1px solid var(--m-grn);
    background: var(--m-grn);
    color: #fff;
    text-align: left;
    font-weight: bold;
	/* border-radius:6px; */
    display: flex;
    align-items: center;
    flex-flow: column;
    justify-content: center;
}
.catBtn a:after{
    position: absolute;
    top: 50%;
    right: 10px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    content: "\e5cc";
    font-family: 'Material Icons';
}
.catBtn a:hover{
    opacity: .8;
}

@media screen and (max-width: 768px) {
    .catBtn{
        margin:  20px auto;
        width: 90%;
        max-width: 480px;
    }
    .catBtn a{
        margin: 0 4px 8px;
        padding: 4px 15px 4px 10px;
        min-width: 8em;
        width: 45%;
        /*max-width: 160px;*/
        font-size: 0.7rem;
		font-weight: normal;
		min-height: 3.0em;
    }
    .catBtn a:after{
        right: 5px;
    }
}

/* -------------------------------------
カテゴリ（採用）
-------------------------------------*/
/*背景あり*/
.ctgr{
	display: inline-block;
	font-size: 13px;
	margin: 0 2px;
	padding: 8px 10px;
	position: relative;
	line-height: 1.0;
	vertical-align:middle;
    background:var(--grn);
    color: #fff;
/*    border-radius: 3px;*/
}
.subctgr{
	display: inline-block;
	font-size: 10px;
	color: inherit;
	margin:0 2px;
	line-height: 1.0;
	padding: 5px 0;
	position: relative;
	line-height: 1.0;
}
.subctgr:before{
	content: "\e2c7";
	font-family: 'Material Icons';
	height: 1em;
	font-size: 1.2em;
	vertical-align: middle;
}

/* -------------------------------------
ページャー
-------------------------------------*/
.pagenation{
	margin: 30px auto;
	text-align: center;
}
.pagenation span{
	display: inline-block;
	margin: 5px;
	width: 40px;
	height: 40px;
/*	border-radius: 50%;*/
	/* border: 1px solid red; */
	text-align: center;
	line-height: 38px;
	color: #bbb;
}
.pagenation span.page{
	/* background: #efefef; */
}
.pagenation span a{
	display: block;
	width: 100%;
	height: 100%;
/*	border-radius: 50%;*/
	/* background: #fff; */
	color: var(--main-color);
}

@media screen and (max-width: 768px) {
	.pagenation span{
		margin: 3px;
		width: 30px;
		height: 30px;
		line-height: 27px;
	}
}

/* -------------------------------------
category
 記事詳細のタグ+日付
-------------------------------------*/
.category {
	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: 0 5%;
	text-align: center;
}
.category time{
	margin: 0 20px;
	font-family: var(--webf);
}

/* -------------------------------------
SNS
-------------------------------------*/
.sns{
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 30px 0;
	flex-wrap: wrap;
}
.sns > *{
	margin: 0 5px 5px 0;
	color: #fff;
	padding: 3px 0;
	width: 100px;
	font-size: 13px;
	text-align: center;
	border-radius: 5px;
}
.sns  i{
	margin: 0 5px 0 0;
}
.sns .line{
    background: #00b900;
}
.sns .line i{
	width: 20px;
	height: 20px;
	overflow:hidden;
	display: inline-block;
	position: relative;
	vertical-align: middle;
}
.sns .line i:before{
    position: absolute;
    top: -5px;
    left: -5px;
    color: #00b900;
    background: #fff;
    font-size: 30px;
}
.sns .gb{
	background: #3a5b97;
}
.sns .ht{
	background: #4e73b5;
}
.sns .pk{
	background: #ec4058;
}
.sns .pr{
	background: #d7071d;
}
.sns .tw{
	background: #50aff0;
}


/* -------------------------------------
目次
-------------------------------------*/
.entry-content{
	margin: 50px 5% 0;
	padding: 20px 30px;
	border: 1px dotted #aaa;
	background: #fafafa;
}
.entry-content dt{
    text-align:center;
    font-weight: bold;
    font-size: 1.1em;
}
.entry-content dd{
    counter-increment: list;
    padding:15px 0 0 1.2em;
    text-indent: -1.2em;
}.entry-content dd:before{
    content: counter(list)". ";
}
.entry-content dd a{
    text-decoration: underline;
}.entry-content dd a:hover{
    text-decoration: none;
}

@media screen and (max-width: 768px) {
	.entry-content{
		padding:15px;
		margin:30px 5% 0;
	}
}

/* -------------------------------------
記事本文
-------------------------------------*/
.post-detail .tit{
	font-weight: var(--fw-b);
}
.post-detail figure{
	text-align: center;
}
.post-detail .richtext{
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}




/** ================================================================================
02: フォーム用
================================================================================ **/

/* -------------------------------------
フォーム
-------------------------------------*/
/**エラー**/
.alert {
	margin: 5px 0;
	color: #f00;
}
form table th{
	position: relative;
}

/**必須**/
.require {
	display: inline-block;
	width: 3em;
	height: 2em;
	border-radius: 3px;
	background: var(--ylw);
	color: #fff;
	text-align: center;
	font-weight: bold;
	font-size: 14px;
	line-height: 2em;
	position: absolute;
    top: 0;
    right: 0.5em;
    bottom: 0;
	margin: auto 5px;
}

/*入力タグ*/
form input[type="text"],
form textarea,
form select{
	padding: 5px 4px;
	height:40px;
	background: #fff;
	border:1px solid #cccccc;
	font-size: 14px;
	line-height: 1.2;
	margin: 5px 5px 5px 0;
	-webkit-box-shadow: none;
	box-shadow: none;
	border-radius: 5px;
}
form input[type="text"]{
   width: 100%;
}
form textarea {
	padding: 2px;
	min-height: 150px;
}
form select{
	display: grid;
	place-items: center;
	padding: 0 10px;
	font-size: 14px;
}
td input[type="button"]{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: linear-gradient(to bottom, rgba(255,255,255,1.0) 40%,rgba(200,200,200,0.1) 100% ); /* グラデーション */
	background: #ddd;
	border: 1px solid #ccc; /* 枠線 */
	border-radius: 0.3em;      /* 角丸 */
	height: 40px;
	padding:0 10px;
	font-size: 0.85em;
}
form input[type="file"]{
    display: block;
    margin: 8px 0;
}
/*電話*/
form input.owlet-input-tel1,
form input.owlet-input-tel2,
form input.owlet-input-tel3{
    width: 5em;
	margin: 5px;
}
/*名前*/
form input.owlet-input-name-sei,
form input.owlet-input-name-mei{
    width: 8em;
}
/*郵便番号*/
form input.zip1,
form input.zip2{
    width: 5em;
	margin: 5px;
}
/**住所**/
form input.address{
    display: block;
}
/*label 縦並び*/

form label {
	display: block;
    margin: 5px 0;
}

/*label 横並び*/
/* form label {
	margin: 5px 10px;
	font-size: 1.2em;
} */
/*ボタン*/
form button{
	margin: 0 10px;
	padding: 5px 10px;
	border-radius: 5px;
	background: #fff;
}
/*記入例*/
form .owlet-input-sample {
	margin-top: 5px;
	color: #505050;
	font-size: 14px;
	margin-left: 8px;
}
/**フォーム規約**/
.owlet-rules {
	margin: 0 auto 30px;
	width: 100%;
}
.owlet-rules-title {
	margin-bottom: 10px;
	text-align: center;
	font-weight: bold;
	display: none;
}
.owlet-rules-body {
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	margin-bottom: 20px;
	border-top:1px dashed #000;
	padding:15px;

	/*iframeの場合は設定*/
	overflow-y:scroll;
	height:200px;
	border:1px solid #dcdcdc;
	background: #fff;
	/*/iframeの場合は設定*/
}
.owlet-rules-agree {
	position: relative;
	margin-bottom: 20px;
	text-align: center;
}
.owlet-rules-agree .require{
	position: static;
	margin: 0 15px;
}

/**送信ボタン**/
.form_button {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-flow: column-reverse;
	margin: 50px auto 20px;
	text-align: center;
	position: relative;
}
.form_button button[type="submit"],
.form_button input[type="submit"],
.form_button input.submit,
.form_button a{
	display: inline-block;
	margin: 0 30px 10px;
	padding: 15px 30px;
	width: 80vw;
	max-width: 450px;
	border: 1px solid var(--grn);
	background: var(--grn);
	color: #fff;
	text-align: center;
	font-size: 15px;
	transition: var(--transition);
}
.form_button button[type="submit"]:hover,
.form_button input[type="submit"]:hover,
.form_button input.submit:hover,
.form_button a:hover{
	opacity: .8;
}

@media screen and (max-width: 768px) {
	/**テーブル**/
	.owlet-form {
		width: 100%;
		max-width: 700px;
	}

	/**これで.tableAでも.tableBでも何でもOK！**/
	form table tr{
		border-bottom: 1px dotted red;
    }
	form table th,
	form table td{
        display: block;
		width: 100% !important;
    }

	/**必須**/
	.require {
		font-size: 12px;
	}

	/*iPhone独自スタイル解除*/
	form input[type="button"],
	form input[type="text"],
	form input[type="submit"] {
		-webkit-appearance: none;
	}
}

@media screen and (max-width: 480px) {
	/**テーブル**/
	.owlet-form {
		width: 96vw;
		margin-left: -4vw;
		margin-right: -3vw;
	}

	/**送信ボタン**/
	.form_button button[type="submit"],
	.form_button input[type="submit"],
	.form_button input.submit,
	.form_button a{
		margin-left: auto;
		margin-right: auto;
	}

}
/*widget:bb9c0390-45da-4909-9110-cdc95d75b7c6*/
/*widget:55c2b7f2-16e8-4251-ae12-5f16d07173c1*/
/*widget:1899710b-71fe-4873-8506-2c017f56e613*/
/*widget:2fd91860-340c-44a7-923d-afce96081e88*/
/*widget:254d5154-faa1-4a5e-bd4d-f0538ce5ad8f*/
/*instance:14*/[data-instance="14"]{background-image:url(/_img/ja/cms/14/bg_img/_/?1779005750);}/*widget:0b57ec4f-5ea2-4cdf-bf9c-bfa72bc8f5bf*/
/*widget:b323a7a0-c3fa-4f07-b6d3-93b78f8ed051*/
/*instance:19*/[data-instance="19"]{background-image:url(/_img/ja/cms/19/bg_img/_/?1779005750);}/*widget:b3665d10-17e8-4ce8-91f0-eaf28b097031*/
/*widget:60fe0fe4-f1f2-4fc2-902f-4e3e435ca191*/
/*widget:eae80a87-7d53-4ee1-ab03-df40be17626a*/
/*instance:36*/[data-instance="36"]{background-image:url(/_img/ja/cms/36/bg_img/_/?1779005750);}/*widget:2d38dabf-1a92-4ecd-81d6-bd24bfef4ee4*/
/*instance:42*/[data-instance="42"]{background-image:url(/_img/ja/cms/42/bg_img/_/?1779005750);}/*widget:f5610c53-f74f-41ea-b1de-8f0faac34861*/
/*instance:49*/[data-instance="49"]{background-image:url(/_img/ja/cms/49/bg_img/_/?1779005750);}/*widget:8d828c99-5bb8-48a1-a050-e3851683218d*/
/*instance:58*/[data-instance="58"]{background-image:url(/_img/ja/cms/58/bg_img/_/?1779005750);}/*layout:1*//*layout:2*/@charset "utf-8";
/* CSS Document */
/* -------------------------------------
Browser：Edge over
-------------------------------------
01: 共通
02: テンプレート
03: ヘッダー＆フッター
04: ページ
-------------------------------------*/

/** ==============================================
01.共通
============================================== **/
/* -------------------------------------
tel
-------------------------------------*/
a[href^="tel:"] {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--webf);
  font-weight: bold;
  line-height: 1;
}
a[href^="tel:"] i {
  margin: 7px 6px 0 0;
  font-size: 0.8em;
}
a[href^="tel:"] i img {
  vertical-align: middle;
}

/* -------------------------------------
ovf_L
ovf_R
-------------------------------------*/
.ovf_L {
  width: 60vw;
  margin-left: var(--ovf-half-mns);
}
.ovf_R {
  width: 60vw;
  margin-right: var(--ovf-half-mns);
}

@media screen and (min-width: 1301px) {
  /* .ovf_L{
		width: 650px;
		margin-left: -160px;
	}
	.ovf_R{
		width: 650px;
		margin-right: -160px;
	} */
}
@media screen and (min-width: 1501px) {
  .ovf_L {
    width: 750px;
    margin-left: -260px;
  }
  .ovf_R {
    width: 750px;
    margin-right: -260px;
  }
}

@media screen and (max-width: 520px) {
  .ovf_L {
    width: 100vw;
    margin-left: -6vw;
  }
  .ovf_R {
    width: 100vw;
    margin-right: -6vw;
    margin-left: -6vw;
  }
}

/* -------------------------------------
ovr-flx
-------------------------------------*/
.ovr-flx {
  display: flex;
  align-items: flex-start;
}
.ovr-flx .text {
  width: 40%;
}
.ovr-flx .ovf_L {
  margin-right: 3vw;
}
.ovr-flx .ovf_R {
  margin-left: 3vw;
}

@media screen and (max-width: 520px) {
  .ovr-flx {
    flex-flow: column-reverse;
  }
  .ovr-flx .text {
    width: 100%;
  }
  .ovr-flx .ovf_L {
    margin-right: -6vw;
  }
  .ovr-flx .ovf_R {
    margin-left: -6vw;
  }
}

/* -------------------------------------
p-btn-flx
-------------------------------------*/
.p-btn-flx {
  display: flex;
  justify-content: space-between;
}
.p-btn-flx .text {
  flex: 1;
}
.p-btn-flx .btn-wrap {
  margin-left: 22%;
}

@media screen and (max-width: 520px) {
  .p-btn-flx {
    flex-flow: column;
  }
  .p-btn-flx .text {
    flex: 1;
  }
  .p-btn-flx .btn-wrap {
    margin-left: 22%;
  }
}

/* -------------------------------------
hr
-------------------------------------*/
.hr {
  width: 100%;
  height: 1px;
  border-top: 2px solid var(--purple_l);
}

/* -------------------------------------
スライド パーツ
-------------------------------------*/
.slide-parts {
  --slide-parts-height: 40px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin: 24px;
}
.slide-parts .swiper-button-next,
.slide-parts .swiper-button-prev {
  width: var(--slide-parts-height);
  height: var(--slide-parts-height);
  margin: 0 0 0 10px;
  position: static;
  transition: var(--transition);
}
.slide-parts .swiper-button-next::after,
.slide-parts .swiper-button-prev::after {
  display: none;
}
.slide-parts .swiper-button-next::before,
.slide-parts .swiper-button-prev::before {
  content: "\e5e1";
  font-family: "Material Icons";
  display: grid;
  place-items: center;
  width: var(--slide-parts-height);
  height: var(--slide-parts-height);
  color: #3c3c3c;
  border-radius: 50%;
  border: 1px solid #3c3c3c;
}
.slide-parts .swiper-button-prev::before {
  transform: scale(-1, 1);
}
.slide-parts .swiper-button-next:hover::before,
.slide-parts .swiper-button-prev:hover::before {
  opacity: 0.6;
}
.slide-parts .swiper-pagination {
  width: auto;
  margin-right: 20px;
  font-size: 1.5rem;
  color: #9c9c9c;
  line-height: 1;
  position: static;
}
.slide-parts .swiper-pagination .swiper-pagination-current {
  color: var(--main-color);
}

@media screen and (max-width: 520px) {
  /* スライドパーツ */
  .slide-parts {
    --slide-parts-height: 30px;
  }
  .slide-parts .swiper-pagination {
    font-size: 1rem;
  }
}

/* -------------------------------------
bdr
-------------------------------------*/
/* .bdr{
	border: 6px solid var(--orange);
}

@media screen and (max-width: 520px) {
	.bdr{
		border-width: 4px;
	}
} */

/* -------------------------------------
maru-bf
-------------------------------------*/
.maru-bf > * {
  margin: 0 1.5em 10px 1.2em;
  line-height: 1.5;
}
.maru-bf > *::before {
  content: "●";
  margin-right: 0.2em;
  margin-left: -1.2em;
}

.maru-bf > div p {
  display: inline;
}

/* -------------------------------------
check-list
-------------------------------------*/
.check-list li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 6px;
  font-size: 1.1em;
  color: var(--purple);
  font-weight: var(--fw-b);
  border-bottom: 10px solid var(--purple_l);
}
.check-list li::before {
  content: "\e5ca";
  font-family: "Material Icons";
  font-size: 1.8em;
  font-weight: normal;
  line-height: 1;
  color: var(--purple);
  margin-right: 0.5em;
  flex-shrink: 0;
}

@media screen and (max-width: 520px) {
  .check-list li {
    margin-bottom: 4px;
    font-size: 1em;
    border-bottom-width: 2px;
  }
}

/** ==============================================
02.テンプレート
============================================== **/

/* -------------------------------------
news-list
-------------------------------------*/
.news-list {
  border-top: 1px solid #bbb;
}
.news-list li a {
  display: flex;
  align-items: flex-start;
  padding: 2em 1em;
  border-bottom: 1px solid #bbb;
}
.news-list li a time {
  width: 7em;
  font-family: var(--webf);
  font-size: 0.9em;
  font-weight: var(--fw-b);
}
.news-list li a .ctgr {
  margin-bottom: 6px;
}
.news-list li a p {
  flex: 1;
}
.news-list li a:hover p {
  color: var(--grn);
}

@media screen and (max-width: 768px) {
  .news-list li a {
    flex-wrap: wrap;
    align-items: center;
    padding: 1em 0.5em;
    font-size: 0.9em;
  }
  .news-list li a .ctgr {
    padding: 6px 8px;
    font-size: 12px;
  }
  .news-list li a p {
    flex: auto;
    width: 100%;
  }
}

/**==============================================
03: ヘッダー
==============================================**/
header {
  width: 100%;
  background: #fff;
  z-index: 1000;
  position: fixed;
}
header .inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2vw;
  position: relative;
}
header .inner .logo {
  font-size: clamp(1rem, 2vw + 0.9rem, 1.2rem);
  font-weight: var(--fw-bb);
  line-height: 1.2;
}
header nav {
  display: flex;
  justify-content: space-between;
  flex-flow: row;
}
header nav .menu1 {
  display: flex;
}
header nav .menu1 li {
  display: flex;
}
header nav .menu1 li > *:not(.mega-content) {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 10px;
  margin-right: 1vw;
  padding: 10px;
  cursor: pointer;
}
header nav .menu1 li > *:not(.mega-content):hover {
  color: #fff;
  background: var(--main-color);
}

/* メガメニュー */
.mega-content {
  width: 100vw;
  height: 0;
  visibility: hidden;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  top: 100%;
  left: 0;
  display: flex;
  justify-content: space-between;
  padding: 20px var(--over-width-half);
  color: #fff;
  background: var(--main-color);
  transition: 0.5s all;
}
.mega-nav:hover .mega-content {
  visibility: visible;
  opacity: 1;
  height: auto;
}
.mega-content p {
  display: flex;
  margin-right: auto;
  flex-flow: column;
  text-align: center;
}
.mega-content a.btn-grn {
  max-width: 300px;
  margin: 0 0 0 20px;
}

header nav .menu2 {
  margin-left: 30px;
  background-color: var(--m-grn);
}
header nav .menu2 a {
  width: 120px;
  height: 100%;
  display: grid;
  place-items: center;
  padding: 30px 0;
  color: #fff;
  font-size: 1.2em;
  font-weight: var(--fw-bb);
  text-align: center;
  line-height: 1.3;
}
header nav .menu2 a:hover {
  opacity: var(--opacity);
}
header nav p {
  display: flex;
  flex-flow: column;
  justify-content: center;
  line-height: 1.5;
}

@media screen and (max-width: 980px) {
  header {
    position: static;
  }
  header .inner {
    display: block;
    padding: 15px 2%;
  }
  header .inner .logo {
    width: auto;
    margin-left: 2%;
    font-size: 1.1em;
  }
  #menu {
    --size: 50px;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1500;
    width: var(--size);
    height: var(--size);
    background: var(--grn);
    text-align: center;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  #menu:before {
    color: #fff;
    content: "\e3c7";
    font-size: 30px;
    font-family: "Material Icons";
    line-height: var(--size);
  }
  .on #menu:before {
    content: "\e5cd";
  }
  header nav {
    display: block;
    position: fixed;
    top: 0px;
    right: min(-100vw, -480px);
    width: min(100vw, 480px) !important;
    height: 100vh;
    padding: 50px 0 0;
    background: var(--grn);
    z-index: 1499;
    transition: 0.5s all;
    overflow: scroll;
  }
  .on nav {
    right: 0;
    box-shadow: 0px 0 10px -4px #333;
  }
  header nav ul.menu1 {
    display: block;
  }
  header nav .menu1 li {
    /* display: block; */
    flex-flow: column;
    border-bottom: 1px solid #fff;
  }
  header nav .menu1 li > *:not(.mega-content) {
    margin: 0;
    padding: 1em;
    font-size: 1.1rem;
    color: #fff;
    font-weight: var(--fw-bb);
  }
  header nav .menu1 li > *:not(.mega-content):hover {
    background: var(--grn);
  }
  header nav .menu1 li.mega-nav {
    position: relative;
  }
  header nav .menu1 li.mega-nav .mega-nav-tit {
    display: flex;
    flex-flow: column;
    transition: var(--transition);
  }
  header nav .menu1 li.mega-nav .mega-nav-tit.active {
    padding-bottom: 0;
  }
  header nav .menu1 li.mega-nav .mega-nav-tit::after {
    content: "expand_more";
    font-family: "Material Icons";
    position: absolute;
    right: 8%;
    top: 20px;
    transition: 0.3s all;
  }
  header nav .menu1 li.mega-nav .mega-nav-tit.active::after {
    transform: rotate(-180deg);
    transform-origin: center;
  }

  /* メガメニュー */
  .mega-content {
    display: none;
    height: auto;
    visibility: visible;
    opacity: 1;
    position: static;
    flex-flow: column;
    margin-top: 20px;
    padding: 20px 20px 30px;
    transition: none;
  }
  .mega-content a.btn-grn {
    max-width: 300px;
    margin: 10px auto 0;
  }

  header nav .menu2 {
    width: 80%;
    margin: 30px auto 0;
  }
  header nav .menu2 a {
    width: 100%;
    margin: 0 auto 16px;
    padding: 16px 0;
  }

  header nav p.h-tel-wrap {
    margin-top: 30px;
    color: #fff;
    text-align: center;
  }
  header nav p.h-tel-wrap a.fz24 {
    margin-bottom: 6px;
    font-size: 30px;
    color: var(--ylw);
  }
}

/**==============================================
03: フッター
==============================================**/
footer {
  display: flex;
  flex-wrap: wrap;
  padding: 80px var(--over-width-half);
  color: #fff;
}
footer > * {
  width: 50%;
}
footer a:not(.btn-wh):hover {
  color: var(--ylw);
}
footer .f-address-warp {
  width: 44%;
}
footer address .f-logo {
  display: block;
  font-size: 24px;
  font-weight: var(--fw-bb);
}
footer address p a {
  display: inline-block;
  margin-left: 10px;
  text-decoration: underline;
}
footer address a[href^="tel:"] {
  justify-content: flex-start;
}
footer address + .btn-wh {
  max-width: 280px;
  height: 62px;
  margin-left: 0;
}

/*nav*/
footer nav {
  width: 56%;
}
footer nav ul {
  display: flex;
  justify-content: end;
  gap: 40px;
  padding-left: 5%;
}
footer nav ul li {
  max-width: 12em;
  break-inside: avoid; /*ブロックの途中で改行させない*/
  font-weight: var(--fw-b);
}
footer nav ul li a.sub {
  font-size: 0.9em;
  font-weight: normal;
}
footer nav ul li a {
  display: block;
  padding: 0 6px 12px;
}
footer nav ul li a.sub:first-of-type {
  margin-top: 12px;
}

/* f-sns */
footer .f-sns {
  order: 4;
  transform: translate(60px, -50px);
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  gap: 0;
}
footer .f-sns a:hover img {
  opacity: var(--opacity);
}
footer a.f-insta {
  width: 152px;
}
footer a.f-insta img {
  width: 100%;
}
footer a.f-youtube {
  width: 300px;
}
footer a.f-youtube p {
  margin-top: 10px;
}
footer a[href*="privacy"] {
  order: 3;
  margin-top: 40px;
}

/** コピーライト **/
.copyright {
  order: 5;
}
.copyright small {
  display: block;
  width: 100%;
  margin-top: -20px;
  font-size: 12px;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  footer {
    padding: 40px 5% 30px;
  }
  footer .f-address-warp {
    width: 35%;
    margin-right: 10%;
  }
  footer address .f-logo {
    font-size: 20px;
  }
  footer address a[href^="tel:"] {
    font-size: 26px;
  }
  footer address + .btn-wh {
    height: 54px;
  }

  /*nav*/
  footer nav {
    width: 54%;
  }
  footer nav ul {
    display: block;
    column-count: 2;
    margin: 30px 0 40px;
    /* justify-content: start;
    gap: 40px; */
    padding-left: 0;
  }

  /* f-sns */
  footer .f-sns {
    flex-direction: column;
    gap: 20px;
    transform: translate(-40px, -50px);
  }
  footer a[href*="privacy"] {
    display: block;
    margin-top: 80px;
  }

  /** コピーライト **/
  .copyright small {
    margin-top: 30px;
  }
}

@media screen and (max-width: 480px) {
  footer {
    display: block;
    padding: 40px 10% 30px;
  }
  footer > * {
    width: 100%;
  }
  footer .f-address-warp {
    width: 100%;
    margin-right: 0;
  }
  footer address {
    text-align: center;
  }
  footer address p a {
    font-size: 0.9em;
  }
  footer address a[href^="tel:"] {
    justify-content: center;
  }
  footer address + .btn-wh {
    max-width: 100%;
    margin-left: auto;
  }

  /*nav*/
  footer nav {
    width: 100%;
  }
  footer nav ul {
    flex-flow: row wrap;
    gap: 10px;
  }
  footer nav ul li {
    max-width: 100%;
  }
  footer nav ul li:first-child {
    width: 100%;
  }
  footer nav ul li b {
    display: block;
  }
  footer nav ul li a {
    display: inline-block;
    margin-right: 1em;
    padding: 0 0 12px;
  }
  footer nav ul li a.sub {
    padding-left: 0.8em;
  }

  /* f-sns */
  footer .f-sns {
    transform: translate(0);
  }
  footer a.f-youtube {
    width: 90%;
  }
  footer a.f-youtube p {
    padding-top: 6px;
    font-size: 12px;
  }
}

/* -------------------------------------
ページトップへ戻る
-------------------------------------*/
#pagetop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 999;
  transition: 0.5s all;
}

@media screen and (max-width: 768px) {
  #pagetop {
    right: 16px;
    bottom: 70px;
  }
}

/**==============================================
TOPページ
==============================================**/

/**================================================================================
HERO
================================================================================**/
.hero {
  --height: 50vw;
  /* aspect-ratio: 2 / 1; */
  height: var(--height);
  overflow: hidden;
  position: relative;
}
.hero .swiper-slide {
  height: var(--height);
  position: relative;
  overflow: hidden;
  mix-blend-mode: plus-lighter; /* ←クロスフェード */
}
.hero .swiper-slide::after {
  content: "";
  display: block;
  width: 100%;
  height: var(--height);
  background: rgb(255, 255, 255);
  background: linear-gradient(
    130deg,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 1) 15%,
    rgba(255, 255, 255, 0.7) 15%,
    rgba(255, 255, 255, 0.7) 45%,
    rgba(255, 255, 255, 0.4) 45%,
    rgba(255, 255, 255, 0.4) 50%,
    rgba(255, 255, 255, 0.1) 50%
  );
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  pointer-events: none;
}
.hero .swiper-slide img {
  width: 100vw;
  height: var(--height);
  object-fit: cover;
}
.hero .catch {
  color: var(--grn);
  font-weight: var(--fw-bb);
  font-size: clamp(4.2rem, 2.5vw + 4rem, 7rem);
  line-height: 1.25;
  position: absolute;
  left: 5%;
  top: 10vw;
  z-index: 3;
}

/* アニメーション */
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}
.hero .swiper-slide-active img,
.hero .swiper-slide-duplicate-active img,
.hero .swiper-slide-prev img {
  animation: zoomUp 10s linear 0s 1 normal both;
}

@media screen and (max-width: 768px) {
  .hero {
    --height: 64vw;
  }
  .hero .swiper-slide::after {
    background: linear-gradient(
      130deg,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 1) 15%,
      rgba(255, 255, 255, 0.7) 15%,
      rgba(255, 255, 255, 0.7) 45%,
      rgba(255, 255, 255, 0.4) 45%,
      rgba(255, 255, 255, 0.4) 50%,
      rgba(255, 255, 255, 0.1) 50%
    );
  }
  .hero .catch {
    font-size: clamp(3rem, 3vw + 2.5rem, 4rem);
    line-height: 1.25;
    position: absolute;
    left: 5%;
    top: 10vw;
    z-index: 3;
  }
}

@media screen and (max-width: 480px) {
  .hero {
    --height: 64vh;
  }
  .hero .catch {
    font-size: calc(4vw + 2rem);
  }
}

/* @media screen and (max-width: 768px){
	.hero{
		--height: min(80vh, 560px);
	}
	.hero .hero-logo{
		top: 10px;
	}
	.hero .hero-logo img{
		width: min(30vw, 140px);
	}
	.hero .catch{
		bottom: 6vw;
	}
} */

/* -------------------------------------
sec-top-about
-------------------------------------*/
.sec-top-about .titC span {
  font-size: 0.6em;
  font-weight: var(--fw-b);
}

/* -------------------------------------
sec-top-service
-------------------------------------*/
.sec-top-service > div {
  padding-bottom: 300px;
}
.sec-top-service .service-box > div {
  padding: 30px;
  background: #fff;
  border: var(--border);
}
.sec-top-service .service-box figure img {
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .sec-top-service > div {
    padding-bottom: 200px;
  }
  .sec-top-service .service-box > div {
    padding: 20px;
    margin-bottom: 20px;
  }
}

/* -------------------------------------
sec-top-news
-------------------------------------*/
.sec-top-news > div {
  margin-top: -180px;
}
.sec-top-news .titC {
  margin-top: -1.7em;
}
.sec-top-news .btn-ylw {
  margin-bottom: -90px;
}

@media screen and (max-width: 768px) {
  .sec-top-news > div {
    margin-top: -140px;
  }
  .sec-top-news .titC {
    margin-top: -1.7em;
  }
  .sec-top-news .btn-ylw {
    margin: 40px auto -60px;
  }
}

/* -------------------------------------
sec-top-company
-------------------------------------*/
.sec-top-company .h-text-img .text {
  width: 380px;
  flex: inherit;
}
.sec-top-company .h-text-img .text .titC {
  text-align: left;
  margin-left: 0;
}
.sec-top-company .h-text-img .text .btn-grn {
  margin-left: 0;
}
.sec-top-company .h-text-img figure {
  flex: 1;
  height: 440px;
  margin-right: calc(var(--over-width-half) * -1);
}

@media screen and (min-width: 1499px) {
  .sec-top-company .h-text-img figure {
    margin-right: -260px;
  }
}

@media screen and (max-width: 979px) {
  .sec-top-company .h-text-img figure {
    margin-right: var(--over-width-half);
  }
}

@media screen and (max-width: 768px) {
  .sec-top-company .h-text-img .text {
    width: 300px;
  }
  .sec-top-company .h-text-img figure {
    height: 360px;
  }
}

@media screen and (max-width: 480px) {
  .sec-top-company .h-text-img .text {
    width: 90%;
  }
  .sec-top-company .h-text-img figure {
    margin: 0 -6vw 20px;
  }
}

/* -------------------------------------
sec-top-policy
-------------------------------------*/
.policy-list li {
  max-width: 31%;
  display: flex;
  flex-flow: column;
  align-items: center;
  background: #fff;
}
.policy-list li h3 {
  display: inline-block;
  width: 5em;
  padding: 0.4em;
  color: #fff;
  font-weight: var(--fw-bb);
  text-align: center;
  line-height: 1.2;
  background: var(--grn);
}
.policy-list li p {
  padding: 30px;
}

@media screen and (max-width: 768px) {
  .policy-list li h3 {
    width: 4.5em;
    padding: 0.4em;
    font-size: 30px;
  }
  .policy-list li p {
    padding: 20px;
    font-size: 14px;
  }
}

@media screen and (max-width: 480px) {
  .policy-list li {
    max-width: 75%;
    margin-bottom: 20px;
  }
  .policy-list li h3 {
    width: 90%;
    margin-top: 10px;
    padding: 0.4em;
    font-size: 20px;
  }
}

/* -------------------------------------
sec-top-recruit
-------------------------------------*/
/* top-rec */
.top-rec {
  display: flex;
  justify-content: space-between;
}
.top-rec .text {
  width: 50%;
  margin-top: 120px;
  padding: 50px 50px 80px;
  position: relative;
}
.top-rec .text::before {
  content: "";
  display: block;
  width: 160%;
  height: 100%;
  background: #fff;
  position: absolute;
  left: 0;
  top: 0;
}
.top-rec .text > * {
  position: relative;
}
.top-rec .text .titC {
  margin-left: 0;
  text-align: left;
}
.top-rec .text .btn-grn {
  margin-left: 0;
}
.top-rec figure {
  width: 46%;
  position: relative;
}
.top-rec figure img {
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .top-rec .text {
    width: 50%;
    margin-top: 80px;
    padding: 30px 10px 50px 40px;
  }
}

@media screen and (max-width: 480px) {
  .sec-top-recruit > div {
    padding-bottom: 90px;
  }
  .top-rec {
    flex-flow: column-reverse;
    justify-content: space-between;
    justify-content: center;
  }
  .top-rec .text {
    width: 100%;
    margin-top: 20px;
    padding: 50px 20px 20px 0;
  }
  .top-rec .text::before {
    width: 94vw;
    top: -100px;
    left: -6vw;
    height: calc(100% + 110px);
  }
  .top-rec figure {
    width: 100%;
    overflow: visible;
  }
  .top-rec figure img:first-child {
    width: 250px;
    height: 160px;
    object-fit: cover;
    object-position: right top;
    margin-left: -6vw;
  }
  .top-rec figure img:last-child {
    position: absolute;
    right: -13vw;
    bottom: -140px;
    width: 230px;
  }
}

/**==============================================
サービス紹介
==============================================**/
/* -------------------------------------
sec-service
-------------------------------------*/
.sec-service::before {
  content: "";
  display: block;
  width: 54%;
  height: calc(800px + 10vw);
  background: url(/common/images/bg-stripe_20.png), var(--def-bg-color);
  clip-path: polygon(100% 0, 0 0, 0 100%);
  position: absolute;
  left: 0;
  top: 0;
}

@media screen and (max-width: 768px) {
  .sec-service::before {
    width: 105%;
    height: 500px;
  }
}

/* service-list */
.service-list {
  border: var(--border);
}
.service-list dl {
  display: flex;
  background: #fff;
  counter-increment: num;
}
.service-list dl + dl {
  border-top: var(--border);
}
.service-list dl > * {
  padding: 24px;
}
.service-list dl dt {
  width: 35%;
  display: flex;
  color: #fff;
  font-weight: var(--fw-b);
  line-height: 1.5;
  background: var(--grn);
}
.service-list dl dt::before {
  content: counter(num) ".";
  font-family: var(--webf);
  font-size: 1.4em;
  line-height: 1.2;
  padding-right: 0.5em;
  color: var(--ylw);
}
.service-list dl dd {
  flex: 1;
}

@media screen and (max-width: 768px) {
  .service-list dl {
    flex-flow: column;
  }
  .service-list dl > * {
    padding: 14px 20px 20px;
  }
  .service-list dl dt {
    width: 100%;
    padding: 12px 20px;
  }
  .service-list dl dt::before {
    content: counter(num) ".";
    font-family: var(--webf);
    font-size: 1.4em;
    padding-right: 0.5em;
    color: var(--ylw);
  }
}

/* gallary_slide */
.gallary_slide {
  padding: 0;
}
.gallary_slide figure {
  margin-right: 10px;
  position: relative;
}
/* .gallary_slide figure::after{
    content: "";
    display: block;
    width: 50px;
    height: 60px;
    clip-path: polygon(100% 0, 0 0, 0 100%);
	background: #fff;
    position: absolute;
    left: -1px;
    top: -1px;
} */
.gallary_slide figure img {
  height: 340px;
}

@media screen and (max-width: 768px) {
  .gallary_slide figure {
    margin-right: 10px;
  }
  /* .gallary_slide figure::after{
		width: 40px;
		height: 50px;
	} */
  .gallary_slide figure img {
    height: 180px;
  }
}

/**==============================================
施工事例
==============================================**/
/* -------------------------------------
sec-works
-------------------------------------*/
/* works-list */
.works-list li {
  display: flex;
  margin-bottom: 20px;
  padding: 30px;
  background: #fff;
  border: var(--border);
}
.works-list li figure {
  width: 40%;
  margin-right: 5%;
}
.works-list li .text {
  flex: 1;
}
.works-list li .text * + * {
  margin-top: 15px;
}
.works-list li .text time {
  display: block;
  padding: 8px 1em;
  color: #fff;
  font-weight: var(--fw-b);
  background: var(--grn);
}

@media screen and (max-width: 480px) {
  .sec-works .lead.t_C {
    text-align: left;
  }

  /* works-list */
  .works-list li {
    flex-flow: column;
    padding: 20px;
  }
  .works-list li figure {
    width: 100%;
    margin: 0 0 10px;
  }
  .works-list li .text * + * {
    margin-top: 8px;
  }
}

/**==============================================
会社概要
==============================================**/
/* -------------------------------------
メイン画像
-------------------------------------*/
/* co-photos */
.co-photos {
  position: relative;
}
#company .co-photos::before {
  content: "";
  display: block;
  width: 110%;
  height: 220%;
  background: url(/common/images/bg-stripe_20.png), var(--def-bg-color);
  clip-path: polygon(100% 0, 0 0, 0 100%);
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
.co-photos figure {
  max-width: 1500px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  position: relative;
}
.co-photos figure img {
  width: 52%;
  border: 8px solid #fff;
}
.co-photos figure img:last-child {
  margin-top: 6vw;
  margin-left: -2%;
  z-index: -1;
}

@media screen and (max-width: 480px) {
  .co-photos {
    margin-bottom: 30px;
  }
  #company .co-photos::before {
    width: 110%;
    height: 140%;
  }
  .co-photos figure {
    flex-flow: column;
  }
  .co-photos figure img {
    width: 70%;
    border-width: 4px;
  }
  .co-photos figure img:last-child {
    width: 90%;
    margin: -5vw 0 0 10vw;
  }
}

/* -------------------------------------
sec-message
-------------------------------------*/
.sec-message .titC {
  text-align: left;
}
.message {
  align-items: flex-start;
}
.message figure {
  flex: 1;
  height: 500px;
  margin: 30px 0 0 calc(var(--over-width-half) * -1);
}
.message .text {
  width: 50%;
  flex: inherit;
}

@media screen and (min-width: 1499px) {
  .message {
    margin-right: -130px;
  }
  .message figure {
    margin-left: -260px;
  }
}
@media screen and (max-width: 979px) {
  .message figure {
    margin-left: var(--over-width-half);
  }
}
@media screen and (max-width: 768px) {
  .message figure {
    height: 360px;
  }
  /* .message figure img{
		object-position: left bottom;
	} */
}
@media screen and (max-width: 480px) {
  .message.h-text-img figure {
    margin: 0 -6vw 20px;
  }
  .message .text {
    width: 100%;
  }
}

/* -------------------------------------
sec-history
-------------------------------------*/
@media screen and (max-width: 768px) {
  .sec-history .tableA th {
    min-width: 7.5em;
  }
}

/**==============================================
お知らせ
==============================================**/
.sec-kanren .titC span {
  font-weight: var(--fw-b);
  font-size: 1.2rem;
}
.sec-kanren .news-list {
  font-size: 0.9em;
}
.sec-kanren .news-list li a {
  padding: 1em 0.5em;
}

/**==============================================
採用情報
==============================================**/
/* -------------------------------------
メイン画像
-------------------------------------*/
#recruit .co-photos {
  z-index: 2;
}

@media screen and (max-width: 480px) {
  #recruit .co-photos {
    margin-bottom: -4px;
  }
  #recruit .co-photos figure img {
    width: 100%;
  }
  #recruit .co-photos figure img:last-child {
    display: none;
  }
}

/* -------------------------------------
sec-recruit
-------------------------------------*/
.sec-recruit .content-box {
  margin: -40px 0 40px;
  padding: 30px;
}
.sec-recruit .tableB {
  border: var(--border);
}
.sec-recruit .tableB th,
.sec-recruit .tableB td {
  padding: 1em;
}
.sec-recruit .tableB:nth-child(even) th {
  background: var(--ylw);
}
.sec-recruit .tableB tr:first-child td {
  font-size: 1.2em;
  font-weight: var(--fw-b);
}
.sec-recruit .tableB td .more {
  display: inline-block;
}

@media screen and (max-width: 979px) {
  .sec-recruit .content-box {
    margin-top: -20px;
  }
}
@media screen and (max-width: 480px) {
  .sec-recruit .content-box {
    padding: 24px 10px 24px 1%;
    font-size: 18px;
    margin: 0 auto 15px -6vw;
  }
}

/**==============================================
お問い合わせ
==============================================**/
/* -------------------------------------
sec-web
-------------------------------------*/
.sec-web .titC span {
  font-weight: var(--fw-b);
}
.sec-web .tableB table {
  border: var(--border);
}
/*layout:4*/