@charset "UTF-8";
 
@import url('https://use.fontawesome.com/releases/v5.9.0/css/all.css');
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500|Noto+Serif+JP:400,600&display=swap&subset=japanese');

* {
	margin: 0;
	padding: 0;
	word-break: normal;
}
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	height: 100%;
    -ms-scroll-snap-type: y proximity;
    scroll-snap-type: y proximity;
    scroll-padding-top: 70px;
    scroll-behavior: smooth;
}

body {
	margin:0;
	padding-top:70px;
	background:#FFF;
	color:#000;
	font-size: 100.0%;
	line-height:1.8;
	letter-spacing:1px;
	/* text-align: center; */
	/* font-family:Arial,'Noto Sans JP', "メイリオ", Meiryo, sans-serif; */
	font-family: 'Noto Sans JP', sans-serif;
	-webkit-text-size-adjust: 100%;	/* iPhone版Safari対策 */
}
@media only screen and (max-width:768px) {
	body {
		font-size: 14px;
	}
}

html.android .fab,
.fab{
	font-family: "Font Awesome 5 Brands" !important;
}
html.android .fas,
.fas{
	font-family: "Font Awesome 5 Free" !important;
}
html.android .far,
.far{
	font-family: "Font Awesome 5 Free" !important;
}


/*------ フォントサイズ ------
font-size:62.5%;	10px
font-size:75.0%;	12px
font-size:87.5%;	14px
font-size:100.0%;	16px
font-size:112.5%;	18px
font-size:125.0%;	20px
font-size:137.5%;	22px
font-size:150.0%;	24px
font-size:162.5%;	26px
font-size:175.0%;	28px
font-size:187.5%;	30px
font-size:200.0%;	32px
font-size:212.5%;	34px
font-size:225.0%;	36px
font-size:237.5%;	38px
font-size:250.0%;	40px
-----------------------------*/


img {
	max-width: 100%;
}
img,
a img {
	border:none;
}
p {
	margin-top:1.8em;
	margin-bottom:1.8em;
}

/*--------------------------------------------------------------------
  「レスポンシブ」固有
--------------------------------------------------------------------*/
.pc,
.pc_tablet{
display:inline-block;
}

.tablet_sp,
.tablet,
.sp{
display:none;
}
.block_pc{	/* PCの時だけ改行する */
display:block;
}

@media only screen and (max-width:768px) {
	img{
	width:auto;
	height:auto;
	max-width: 100%;
	}
	.block_tablet_sp{	/* タブレット・スマホの時だけ改行する */
	display:block;
	}
	.block_pc{	/* PCの時だけ改行する */
	display:inline-block;
	}
}

@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	.pc,
	.sp{
	display:none !important;
	}
	.tablet_sp,
	.pc_tablet,
	.tablet{
	display:inline-block !important;
	}
	.block_tablet{	/* タブレット・スマホ横の時だけ改行する */
	display:block;
	}
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	*{
	word-break: break-all;
	}
	.pc_tablet,
	.pc,
	.tablet{
	display:none !important;
	}
	.tablet_sp,
	.sp{
	display:inline-block !important;
	}
	.block_sp{	/* スマホ縦の時だけ改行する */
	display:block;
	}
}

.pc_none{
display:none;
}

/*--------------------------------------------------------------------
  「スマホ（横）」「タブレット」固有の設定
--------------------------------------------------------------------*/
@media only screen and (min-width:541px) and (max-width:768px) {
	.pc_none{
	display:inherit;
	}
	.tablet_none{
	display:none;
	}
}

/*--------------------------------------------------------------------
  「スマホ（縦）」固有の設定
--------------------------------------------------------------------*/
@media only screen and (max-width:540px) {
	.pc_none{
	display:inherit;
	}
	.sp_none{
	display:none;
	}
}

/*--------------------------------------------------------------------
リンクテキスト
---------------------------------------------------------------------*/
a {
	text-decoration:none;
	color:#000;
	transition: all 0.5s ease;
}
/* #content a{
text-decoration:underline;
color:#006;
}
#content a:visited{
color:#336;
}
a:hover{
color:#069;
}
#content a:hover{
color:#900;
text-decoration:none;
} */


/*------ 外部リンクアイコン ------*/
/* .content a[href^="https://"]::after,
.content a[href^="http://"]::after {
	margin-left:0.25em;
	content: "\f35d";
	font-family: "Font Awesome 5 Free";
	font-weight : 900;
	text-decoration:none;
	display:inline-block;
}
.content .banner_item LI a::after,
.content a[href*="yamamototosouten.com"]::after {
content:none;
} */

/*--------------------------------------------------------------------
見出し 
---------------------------------------------------------------------*/
H1,H2,H3,H4,H5,H6{
margin:0;
padding:0;
font-size:100.0%;	/* 16px */
border:none;
background:none;
font-weight:normal;
}


/*------------------------------------------------
H2
------------------------------------------------*/
#content_header.index {
	color:#FFF;
	background-repeat:no-repeat;
	background-image:url(../assets/images/home.jpg);
	background-position:center 90%;
	background-size:cover;
	text-align: center;
}

/* #content_header {
	color:#FFF;
	background-repeat:no-repeat;
	background-size:cover;
} */


/*------ スモールヘッダー（お問い合わせ・更新履歴・お知らせ等） ------*/

/*------ 各コンテンツのヘッダー画像設定 ------*/
/* #home #content_header{
background-position:center 90%;
background-image:url(../assets/images/home.jpg);
} */

/* #content_header.small_header {
	background-image:url(../assets/images/small_header.jpg);
} */


H2 {
	margin:0 auto;
	padding:1.0em 2%;
	background:rgba(0,115,190,0.6) ;	/* #0073BE */
	color:#FFF;
	line-height:1.4;
	font-size:300.0%;	/* 48px */
	text-align: center;
	letter-spacing:5px;
	/* font-family: "Georgia", 'Noto Serif JP', "メイリオ", Meiryo, sans-serif; */
}
#content_header.index H2{
	padding:3.2em 2% 2.8em 2%;
}
#content_header.index H2{
	padding:4.5em 2% 4.1em 2%;
}

#content_header H2 .small{
display:block;
font-size:37.5%;	/* 18px */
}



@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#content_header H2{
	font-size:200.0%;	/* 32px */
	}
	#content_header H2 .small{
	font-size:43.75%;	/* 14px */
	}
}



/*------------------------------------------------
   H3
------------------------------------------------*/
H3{
font-size:225.0%;	/* 36px */
line-height:1.3;
color:#09C;
}


/*------ 他要素隣接時 ------*/
*+H3,
H3~H3{
margin-top:3em;
}
H3+*{
margin-top:1em !important;
}


@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	H3{
	font-size:200.0%;	/* 32px */
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	H3{
	font-size:175.0%;	/* 28px */
	}
}



/*------------------------------------------------
   H4
------------------------------------------------*/
/*------ H4基本設定 ------*/
H4{
font-size:150.0%;	/* 24px */
clear:both;
line-height:1.3;
color:#09C;
}
ARTICLE *:not(H3)+H4,
ARTICLE H4~H4{
margin-top:2em;
}


/*------ 他要素隣接時 ------*/
ARTICLE H4+*{
margin-top:0.7em;
}





/*------------------------------------------------
   H5
------------------------------------------------*/
/*------ H5基本設定 ------*/
H5{
font-weight:normal;
line-height:1.3;
/* background:url(../assets/images/spacer.gif) no-repeat; */
}
ARTICLE H5{
padding-left:1.1em;
text-indent:-0.95em;
font-size:125.0%;	/* 20px */
}
ARTICLE H5::before{
margin-top:-0.1em;
margin-right:0.35em;
content:"\f0c8";
font-family: "Font Awesome 5 Free";
font-weight : 900;
color:#09C;
font-size:70.0%;	/* 14px */
vertical-align:middle;
display:inline-block;
line-height:1.45;
text-indent:0;
}



/*------ 他要素隣接時 ------*/
ARTICLE H4+H5{
margin-top:0.2em;
}

ARTICLE *+H5{
margin-top:2.0em;	/* 各要素と隣接時には上余白を多めに */
}

/*------------------------------------------------
   H6
------------------------------------------------*/
/*------ H6基本設定 ------*/
H6{
margin:10px 0 5px 0;
padding:0;
font-weight:normal;
font-size:112.5%;
line-height:1.3;
/* background:url(../assets/images/spacer.gif) no-repeat; */
}

/*------ 他要素隣接時 ------*/
H5+H6{
margin-top:0;
}
H6+P,
H6+UL,
H6+OL,
H6+DL{
margin-top:0 !important;
}
*+H6{
margin-top:20px;	/* 各要素と隣接時には上余白を多めに */
}



/*--------------------------------------------------------------------
  インデント
--------------------------------------------------------------------*/
.indent2em{
margin-left:2em;
display:block;
line-height:1.5;
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.indent2em{
	margin-left:0;
	line-height:1.3;
	}

}

/*--------------------------------------------------------------------
  画像レイアウト枠
--------------------------------------------------------------------*/
/*------ 1枚・複数共通 ------*/
.photo,
.photos{
text-align:center;
}
.photo img,
.photos img{
margin:0 auto;
}

/*------ 1枚 ------*/
.photo img{
display:block;
}
/*------ 複数 ------*/
.photos img{
display:inline-block !important;
vertical-align:middle;
}
.photos img:nth-child(n+2){	/* 2個目以降 */
margin-left:10px;
}


@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	.photos BR{
	display:none;
	}
	.photos img:nth-child(n+2){	/* 2個目以降 */
	margin-left:10px !important;
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.photos img:nth-child(n+2){	/* 2個目以降 */
	margin-left:auto;
	display:block;
	}
}


/*------------------------------------------------
  キャプション付き
------------------------------------------------*/
.caption{
text-align:center;
}
.caption img{
padding:0 0 0.5em 0;
display:block;
overflow:hidden;
line-height:0;
}
.caption .label{
font-size:87.5%;
background:#666;
color:#FFF;
}



/*--------------------------------------------------------------------
左寄せ・右寄せ
---------------------------------------------------------------------*/
.text_alignleft{
text-align:left;
}
ARTICLE.text_aligncenter *,
.text_aligncenter{
text-align:center;
}
.text_alignright{
text-align:right;
}


/*------------------------------------------------
画像の左寄せ・右寄せ
------------------------------------------------*/
.aligncenter{
display: block;
margin-left: auto;
margin-right: auto;
}
.alignright{
float:right;
}
.alignleft{
float:left;
}
.clear{
clear:both;
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#content .alignleft,
	#content .alignright{
	margin-right:auto;
	margin-left:auto;
	display:block;
	float:none;
	}
}


/*--------------------------------------------------------------------
  フォントサイズ・色
---------------------------------------------------------------------*/
.font_m{
font-family: "Georgia", 'Noto Serif JP', "メイリオ", Meiryo, sans-serif;
}

/*------------------------------------------------
   文字サイズ
------------------------------------------------*/
.extrasmall{
font-size:75.0%;	/* 12px */
}
.small{
font-size:87.5%;	/* 14px */
}
.large{
font-size:125.0%;	/* 20px */
}
.extralarge{
font-size:162.5%;	/* 26px */
}
.normal{
font-weight:normal;
}
SUP,SUB{
font-size:62.5%;	/* 10px */
}

/*------------------------------------------------
   強調下線
------------------------------------------------*/
.borderbottom {
	border-bottom:2px solid #000;
}
.underline {
	display:inline;
	background: linear-gradient(
	to top,
	rgba(204,255,0,1),
	rgba(204,255,0,1) 34%,
	rgba(204,255,0,0) 35%);
}

/*------------------------------------------------
   前後の線
------------------------------------------------*/
.line::before,
.line::after,
.line_white::before,
.line_white::after {
	margin:-0.2em 10px 0 10px;
	content:"";
	display:inline-block;
	background-position:center;
	background-repeat:repeat-x;
	width:50px;
	height:1px;
	vertical-align:middle;
}
.line::before,
.line::after{
	background-image:url(../assets/images/line.gif);
}
.line_white::before,
.line_white::after{
	background-image:url(../assets/images/line_white.gif);
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.line::before,
	.line::after,
	.line_white::before,
	.line_white::after{
	width:20px;
	}
}

/*------------------------------------------------
   文字色
------------------------------------------------*/
.red{
color:#E60011;	/* ロゴ色 */
}
.blue{
color:#39C;
}
.green{
color:#690;
}
.orange{
color:#F08200;	/* 暗いオレンジ */
}


/*--------------------------------------------------------------------
  リストスタイル
---------------------------------------------------------------------*/
UL{
padding:0;
list-style:none;
}
ARTICLE UL{
margin:1.2em 0;
}
ARTICLE UL:not(.text) LI{
margin-top:0.5em;
margin-bottom:0.5em;
line-height:1.8;
}
ARTICLE LI LI{
margin-top:0.2em;
margin-bottom:0.2em;
}

/*------------------------------------------------
  ネスト時
------------------------------------------------*/
LI UL,
DD UL,
TD UL{
margin-top:0;
margin-bottom:0.3em;
}

/*------------------------------------------------
  箇条書きリスト
------------------------------------------------*/
UL.list>LI,
UL>LI.list{
padding-left:1.3em;
text-indent:-1.3em;
}
UL.list>LI *,
UL>LI.list *{
padding-left:0;
text-indent:0;
}

LI.list:not(.kome)::before,
.list>LI:not(.kome)::before{
margin:-0.22em 0.5em 0 0.5em;
text-indent:0;
content:"\f111";
font-family: "Font Awesome 5 Free";
font-weight : 900;
font-size:0.6em;
vertical-align:middle;
display:inline-block;
color:#554738;	/* 涅色 */
}

/*------------------------------------------------
  横並びリスト
------------------------------------------------*/
UL.inline{
display:block;
letter-spacing:-1em;
text-align: left;
text-justify: none;
}
UL.inline.table{
display:table;
}
UL.inline LI{
margin-top:0.25em !important;
margin-bottom:0.25em;
padding-right:1.25em;
display:inline-block;
vertical-align:middle;
letter-spacing:1px;
}

/*------------------------------------------------
  番号付きリスト
------------------------------------------------*/
OL{
margin:1.2em 0;
padding:0;
}

/*------ ネスト時 ------*/
LI OL,
DD OL,
TD OL{
margin-top:0;
margin-bottom:0.3em;
}
OL>LI{
margin-left:2.2em;
list-style-type : decimal;
}

/*------ 両側に()カッコ ------*/
OL.kakko>LI{
margin-left:0;
padding-left:2.2em;
text-indent: -2.1em;
list-style-type:none;
list-style-position:inside;
counter-increment: cnt;
}
OL.kakko>LI:before{
display: marker;
content: "(" counter(cnt) ") ";
}

/*------------------------------------------------
  説明付きリスト
------------------------------------------------*/
DL{
margin:1.2em 0;
padding:0;
}
LI>DL{
margin-top:0.6em;
}
DT{
margin:0;
padding:0;
font-size:112.5%;
}
DD{
margin:0;
padding:0;
}
DT+DT,
DD+DT{
margin-top:1.5em;
}
LI>DL DT+DT,
LI>DL DD+DT{
margin-top:1em;
}

/*------------------------------------------------
  注釈 ※ リスト
------------------------------------------------*/
UL.kome>LI,
LI.kome{
padding-left:1.3em;
text-indent:-1.3em;
line-height:1.3;
}
UL.kome>LI::before,
LI.kome::before{
margin-right:0.2em;
display:inline-block;
content:"※";
color:#E7346D;
/* d24141 */
text-indent:0;
}

/*------------------------------------------------
  PDF・Word・Excelリスト
------------------------------------------------*/
/*------ 共通 ------*/
UL.pdf LI,
UL.word LI,
UL.excel LI,
LI.pdf,
LI.word,
LI.excel{
margin-top:0 !important;
margin-bottom:0 !important;
padding:0.4em 0 0.4em 40px;
background-repeat:no-repeat;
background-position:0 0.2em;
background-position:0 0.2em;
list-style:none;
min-height:36px;
box-sizing: border-box;
}
.pdf a,
.word a,
.excel a{
vertical-align:top;	/* IE7対策 */
}

/*------ PDFリスト ------*/
UL.pdf LI,
LI.pdf{
background-image:url(../assets/images/pdf.png);
}

/*------ Wordリスト ------*/
UL.word LI,
LI.word{
background-image:url(../assets/images/word.png);
}

/*------ Excelリスト ------*/
UL.excel LI,
LI.excel{
background-image:url(../assets/images/excel.png);
}
/*--------------------------------------------------------------------
  表
---------------------------------------------------------------------*/
TABLE{
margin-top:1.5em;
margin-bottom:1.5em;
font-size:100%;
line-height:1.3;
}
TH{
text-align:center;
font-weight:normal;
font-size:100%;
}
TD{
font-size:100%;
}
TH>*,
TD>*{
margin-top:0;
margin-bottom:0;
}
TH>*~*,
TD>*~*{
margin-top:5px;
}

/*------------------------------------------------
  罫線を表示するタイプの表
------------------------------------------------*/
TABLE.data_table{
border-collapse:collapse;
border:1px solid #CCC;
background:#EAF4FC;
}

@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	TABLE.data_table{
	width:100%;
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	TABLE.data_table{
	width:100%;
	}
}

TABLE.data_table CAPTION{
text-align:right;
}
.data_table tr > th {
padding:0.3em 1.0em;
border:1px solid #CCC;
text-align:center;
}
.data_table tr > td {
padding:0.7em;
border:1px solid #CCC;
background:rgba(255,255,255,0.5);
}
.data_table tr:nth-child(even){
background:rgba(255,255,255,0.8);
}

@media only screen and (max-width:540px) {
	.data_table {
		border: 0;
	}
	.data_table tr > th {
		border-top:0;
		border-bottom:0;
	}
	.data_table tr > td {
		border-top:0;
		/* border-bottom: 1px solid #CCC; */
	}
	.data_table tr:first-of-type > th {
		border-top: 1px solid #CCC;
	}
}


/*------------------------------------------------
  スマホ表示時にセルをスライドさせるタイプの表
------------------------------------------------*/
@media only screen and (min-width:541px) and (max-width:768px) {
	TABLE.float_table{
	width:100%;
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	TABLE.float_table{
		border:0;
	/* border-top:none;
	border-right:none; */
	}
	.float_table TH,
	.float_table TD{
	padding-right:3%;
	padding-left:3%;
	float:left;
	width: 100%;
	/* width:94% !important; */
	}
	.float_table TH{
	line-height:1.2;
	border-top:1px solid #CCC;
	border-right:1px solid #CCC;
	border-bottom:none;
	border-left:none;
	background:#EAF4FC;
	text-align:left;
	}
	.float_table TD{
	border-top:none;
	border-right:1px solid #CCC;
	border-bottom:none;
	border-left:none;
	background:#FFF;
	}
	.data_table.float_table TR:nth-child(odd){
	background:none;
	}
}

/*------------------------------------------------
  スマホ表示時にセルをスライドさせるタイプの表(WIDE)
------------------------------------------------*/

.float_table_wide SPAN.t_label{
display:none;
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.data_table.float_table_wide{
	border-top:none;
	border-right:none;
	border-left:none;
	}
	.float_table_wide THEAD{
	display:none;
	}
	.float_table_wide TBODY TD{
	padding:0 10px 10px 10px;
	display:block;
	border-top:none;
	border-bottom:none;
	}
	.float_table_wide TH SPAN.t_label{
	margin-right:1em;
	display:inline-block;
	font-size:87.5%;
	}
	.float_table_wide TD SPAN.t_label{
	margin:0 -10px 10px -10px;
	padding:5px 10px;
	display:block;
	border-top:1px solid #999;
	background:#DCDCDC;
	}
	.float_table_wide TD~TD SPAN.t_label{
	border-top:none;
	}
}

/*------------------------------------------------
  テーブルレイアウト
------------------------------------------------*/
DIV.island,
TABLE.island,
UL.island,
OL.island,
DL.island{
margin-right:auto !important;
margin-left:auto !important;
display: table;
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	DIV.island,
	TABLE.island,
	UL.island,
	OL.island,
	DL.island{
	margin-right:0 !important;
	margin-left:0 !important;
	}
}

/*--------------------------------------------------------------------
  「トップページ」固有の設定
---------------------------------------------------------------------*/

/*-----------------------------------------------
  トップページ「PR欄」
------------------------------------------------*/
.top_pr{
margin:0;
padding:6em 0 5em 0;
}

/*------ 各パーツ ------*/
.top_pr>*{
margin-right:auto;
margin-left:auto;
}
.top_pr>H3,
.top_pr>H4,
.top_pr>P{
	max-width:1150px;
	text-align: center;
}
.top_pr H3{
padding:0 0 10px 0;
font-size:300.0%;
color:#000;
}
.top_pr H3 .small{
display:block;
font-size:33.3%;
/* font-family: 'Noto Sans JP', "メイリオ", Meiryo, sans-serif; */
}
.top_pr H4 .small{
display:block;
}
.top_pr .icon.fas{
margin:0.2em auto;
display:block;
color:#09C;
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	.top_pr{
	padding:3em 0;
	}
	.top_pr H3 .small{
	font-size:50%;
	}
	.top_pr>H3,
	.top_pr>H4,
	.top_pr>P,
	.top_pr .item{
	width:90% !important;
	max-width:auto;
	max-width:initial;
	}
}
@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	.top_pr#concept H3{
	font-size:225.0%;	/* 36px */
	}
	.top_pr .item A{
	font-size:137.5%;	/* 22px */
	}
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.top_pr#concept H3{
	font-size:200.0%;	/* 32px */
	}
	.top_pr P{
	text-align:left;
	line-height:1.5;
	font-size:87.5%;	/* 14px */
	}
	.top_pr .item A{
	font-size:112.5%;	/* 18px */
	}
}


/*-----------------------------------------------
  トップページ「制作事例」
------------------------------------------------*/
.top_pr#concept{
background-color:#FFF;
}
.top_pr#concept .item{
padding:0;
max-width:1170px;
display:table;
border-spacing:20px 15px;	/* 前の数字：横方向　後ろの数字 縦方向 */
text-align:left;
}
.top_pr#concept .item LI{
padding-bottom:0.5em;
background:#FFF;
display:table-cell;
letter-spacing:1px;
}
.top_pr#concept .item img {
display:block;
/* vertical-align:top; */
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	.top_pr#concept .item,
	.top_pr#concept .item LI{
	padding:0;
	display:block;
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.top_pr#concept{
	padding-bottom:10px;
	}
}

/*-----------------------------------------------
  トップページお知らせ欄
------------------------------------------------*/
#news {
	padding-inline:2%;
}
#news H4 {
	margin-bottom:1em;
}

.top-news-list {
	display: flex;
	width:100%;
	max-width:650px;
	margin:0 auto;
	text-align:left;
	box-sizing: border-box;
	border-bottom:1px solid #B0C4DE;
}
.top-news-list dt {
	width:22%;
	padding:1.2em 0.5em 0.8em;
	color:#535353;
	font-size:75%;
	line-height: 1.4;
	position:relative;
}
.top-news-list dt.new::before{
	content:"NEW";
	font-size:71.4%;
	color:#C00;
	line-height:1.2;
	letter-spacing:0;
	font-weight:bold;
	position:absolute;
	top:0.6em;
	left:-1.9em;
}
.top-news-list dd {
	width:78%;
	padding:0.8em 0.5em;
	line-height: 1.4;
}
.top-news-list:first-of-type {
	border-top:1px solid #B0C4DE;
}
.top-news-list:last-of-type {
	margin-bottom: 2em;
}
.top-news-list dd::before {
	margin-top:-0.2em;
	margin-right:0.5em;
	display:inline-block;
	vertical-align:middle;
	font-family: "Font Awesome 5 Free";
	font-size:85.7%;
	content: "\f138";
	font-weight : 900;
	color:#09C;
	text-indent:0;
}
.top-news-forlist {
	text-align:center;
}
.top-news-forlist .link_large{
	font-size:100%;
}
@media only screen and (max-width:768px) {
	.top-news-list {
		width:94%;
		max-width:auto;
		flex-direction: column;
	}
	.top-news-list dt {
		width:100%;
		padding:1.2em 0.5em 0;
	}
	.top-news-list dt.new::before {
		position: relative;
		top: 0;
		left: 0;
	}
	.top-news-list dd {
		width: 100%;
	}

}

/*-----------------------------------------------
  トップページ施工事例
------------------------------------------------*/
.top-gallery-list {
	max-width: 1170px;
	display: flex;
	flex-wrap: wrap;
	gap: 64px;
	margin-block:64px;
}
.gallery-item {
	/* width: 330px; */
	width: calc((100% - 128px) / 3);
	position: relative;
}
.gallery-item > a {
	display: block;
	height: 100%;
	color:#000;
	background-color: rgba(255 255 255 /0.7);
	border: 1px solid #B1AEAD;
	transition: .2s all ease-out;
}
.top-gallery-list .gallery-item a {
	padding-bottom: 10px;
}

.gallery-item .thumb {
	width: 100%;
	height: 219px;
	overflow: hidden;
	margin-bottom: 8px;
}
.gallery-item .thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .2s all ease-out;
}
.gallery-item .category {
	display: inline-block;
	padding: 3px 8px 5px;
	position: absolute;
	top: 0;
	left: 0;
	color:#FFF;
	background-color:#544A47;
	font-size: 87.5%;
	line-height: 1.2;
}
.gallery-item .place {
	padding: 0 16px;
	color:#535353;
	font-size: 87.5%;
	text-align: left;
}
.gallery-item .title {
	margin-bottom: 4px;
	padding: 0 16px;
	font-size: 125.0%;
	font-weight: bold;
	line-height: 1.4;
	text-align: left;
}
.gallery-item .date {
	margin-bottom: 8px;
	padding: 0 10px;
	font-size: 87.5%;
	text-align: right;
}
.gallery-item > a:hover {
	color:#696969;
	border-color:#544A47;
}
.gallery-item > a:hover .thumb img {
	transform: scale(1.1);
}
@media only screen and (max-width:768px) {
	.top-gallery-list {
		flex-direction: column;
		gap: 32px;
		margin-block:32px;
	}
	.gallery-item {
		width: 100%;
		max-width: 90%;
		margin-inline: auto;
	}
	.gallery-item .thumb {
		margin-bottom: 8px;
	}
	.gallery-item .place {
		margin-bottom:0;
		padding: 0 8px;
		font-size: 75%;
	}
	.gallery-item .title {
		margin-bottom:0;
		padding: 0 8px;
		font-size: 100%;
	}
	.gallery-item .date {
		margin-bottom: 8px;
		padding: 0 8px;
		font-size: 75%;
	}
}

/* 下層のコンテンツ */
.site-main {
	padding: 5em 0;
}
.main-content {
	margin-inline: auto;
	padding-inline: 24px;
    max-width: 1150px;
    min-width: 930px;
}
.main-content:has(.tight-content) {
	text-align: center;
}
.main-content .tight-content {
	display: inline-block;
	max-width: 700px;
	text-align: left;
}
@media (max-width: 768px) {
	.site-main {
		padding: 2em 1em;
	}
	.site-main.sp-wide-main {
		padding: 2em 0;
	}
	.main-content {
		max-width: initial;
		min-width: initial;
		padding-inline:1em
	}
}

/* ページネーション */
.pagination {
	margin-top: 40px;
	display: flex;
	justify-content: center;
}
.nav-links {
	display:flex;
}
.page-numbers {
	display:inline-block;
	margin-right:16px;
	padding:8px 16px;
	color:#080808;
	background:#fff;
	border-radius:3px;
	border: 1px solid #B1AEAD;
}
.page-numbers.current {
	padding:8px 16px;
	color:#fff;
	background:#0299CC;
}
.page-numbers.prev,
.page-numbers.next{
	color:#080808; 
	background:transparent;
	box-shadow:none;
}
.page-numbers.dots {
	color:#080808;
	background:transparent;
	box-shadow:none;
	border:none;
}
@media (max-width: 768px) {
	.page-numbers,
	.page-numbers.current {
		padding:5px 10px;
		font-size: 87.5%;
	}
}

/* お知らせ記事 */
.news-post {
	max-width: 700px;
	margin-inline: auto;
	padding: 0;
	overflow-x: hidden;
}
.news-post figure {
	margin: 0;
}
.news-post img {
	max-width:100%;
}
.news-post-header {
	margin-bottom: 40px;
}
.news-post-header .news-post-date {
	margin-bottom: 8px;
	color:#535353;
	font-size: 87.5%;
}
.news-post-header .news-post-title {
	margin: 0;
	padding: 0 0 2px;
	font-size: 125%;
	font-weight: bold;
	border-bottom:2px solid #09C;
}
.news-post-image {
	margin-bottom: 24px;
}
.news-post-image img {
	display: block;
	margin-inline: auto;
}
.news-post-content {
	max-width: 100%;
	margin-bottom: 100px;
}
.news-post-backlist > a {
	font-size: 87.5%;
	transition: all 0.3s ease;
}
.news-post-backlist > a::before {
    content: "\f137";
	margin-top: -0.2em;
	margin-right: 0.4em;
    display: inline-block;
	color:#09C;
	font-family: "Font Awesome 5 Free";
	font-size: 87.5%;
    transition: all 0.3s ease;
    font-weight: 900;
    vertical-align: middle;
}
.news-post-backlist > a:hover,
.news-post-backlist > a:hover::before {
	opacity: .7;
}

/* 施工事例一覧 */
.gallery-intro-text {
	max-width: 700px;
	margin-inline: auto;
}
.gallery-intro-text > p {
	margin-top: 0;
}

.listpage-gallery-list {
	max-width: 1170px;
	display: flex;
	flex-wrap: wrap;
	gap: 64px;
	margin-top: 60px;
	margin-bottom: 100px;
}
.gallery-cat-title {
	margin-bottom: 40px;
}
@media only screen and (max-width:768px) {
	.listpage-gallery-list {
		flex-direction: column;
	}
}

/* 施工事例 記事 */
.works-content {
	max-width: 790px;
	margin-inline:auto;
}
.works-content figure {
	margin: 0;
	padding: 0;
}
.works-content img {
	max-width: 100%;
}
.works-category {
	margin-bottom: 16px;
}
.works-category .category {
	display: inline-block;
	padding: 3px 8px 5px;
	color:#FFF;
	background-color:#544A47;
	line-height: 1.2;
}
.works-title {
	margin:0 0 24px;
	padding: 0;
	color:#121212;
	font-size: 200%;
	font-weight: bold;
}
.works-mainimage {
	margin-bottom: 40px;
}
.works-mainimage img {
	display: block;
	margin-inline: auto;
}
.works-detail-wrap {
	margin-bottom: 80px;
}
.works-detail {
	width: 100%;
	max-width: 700px;
	display: flex;
	align-items: flex-start;
	gap: 40px;
	margin:0 auto 24px;
}
.works-detail dt {
	width: 6em;
	padding: 3px 8px 5px;
	color:#FFF;
	background-color:#544A47;
	font-size: 100%;
	font-weight: normal;
	text-align: center;
	line-height: 1.2;
}
.works-detail dd {
	width: calc(100% - (6em + 40px));
	padding: 0;
}
.works-sub-images {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 40px;
	margin-bottom: 60px;
}
.works-sub-images .item {
	width: calc((100% - 40px) / 2);
}
.works-free-content {
	margin-bottom: 100px;
}
.works-next-prev {
	max-width: 790px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin:0 auto 40px;
	padding: 24px 0;
	border-top: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
}
.works-next-prev__prev,
.works-next-prev__next {
	width: 35%;
}
.works-next-prev__next {
	text-align: right;
}
.works-next-prev__prev a,
.works-next-prev__next a {
	font-size: 87.5%;
	transition: .3s all ease-out;
}
.works-next-prev__prev a::before,
.works-next-prev__next a::after {
	margin-inline:4px;
	font-family: "Font Awesome 5 Free";
	font-weight : 900;
	color:#39C;
	transition: .3s all ease-out;
}
.works-next-prev__prev a::before {
	content:"\f0a8";
}
.works-next-prev__next a::after {
	content:"\f0a9";
}
.works-next-prev__prev a:hover,
.works-next-prev__next a:hover {
	opacity: .7;
}
.works-next-prev__list {
	width: 30%;
	text-align: center;
}
.works-next-prev__list a {
	display: inline-block;
	padding: 3px 24px;
	font-size: 75%;
	text-align: center;
	border-radius: 24px;
	border: 2px solid #39C;
	transition: .3s all ease-out;
}
.works-next-prev__list a:hover {
	background: rgba(51 153 204 / .3);
}

.navigation + .works-category-wrap {
	margin-top: 80px;
}
.works-category-wrap {
	/* max-width: 790px; */
	margin-inline: auto;
	padding: 24px;
	background-color: #EBF5FC;
}
.works-category-wrap .works-category-mds {
	margin:0 0 24px;
	padding:0;
	color:#39C;
	font-size: 150%;
	font-weight: bold;
	text-align: center;
}
.works-category-list {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 24px;
}
.works-category-list > li {
	width: calc((100% - 48px) / 3);
}
.works-category-list > li > a {
	display: block;
	padding: 8px 0;
	color:#FFF;
	background-color: #39C;
	font-size:100%;
	text-align: center;
	letter-spacing: 0;
	border-radius: 4px;
	transition: .3s all ease-out;
}
.works-category-list > li > a:hover {
	opacity: .7;
}

@media only screen and (max-width:768px) {
	.works-detail-wrap {
		margin-bottom: 40px;
	}
	.works-category .category {
		font-size: 87.5%;
	}
	.works-title {
		font-size:162.5%;
	}
	.works-detail {
		gap: 16px;
		margin-bottom: 8px;
	}
	.works-detail dt,
	.works-detail dd {
		font-size:87.5%;
	}
	.works-next-prev {
		padding:0;
		flex-direction: column;
		gap: 8px;
	}
	.works-next-prev__prev,
	.works-next-prev__next,
	.works-next-prev__list {
		width: 100%;
		text-align: center;
	}
	.works-next-prev__prev {
		border-bottom:1px solid #CCC;
	}
	.works-next-prev__next {
		border-top: 1px solid #CCC;
	}
	.works-category-wrap .works-category-mds {
		font-size: 125%;
	}
	.works-category-list {
		justify-content: center;
		gap: 16px;
	}
	.works-category-list > li {
		width: auto;
	}
	.works-category-list > li > a {
		padding: 4px 8px;
		font-size: 87.5%;
	} 
}

/* 施工事例：消火栓の記事 */
.gallery-works-step {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	gap: 60px 24px;
}
.gallery-works-step > li {
	width: calc((100% - 24px) / 2);
	position: relative;
}
.gallery-works-step > li img {
	max-width: 100%;
}
.gallery-works-step > li .title {
	margin-top: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1em;
}
.gallery-works-step > li .title .title-txt {
    line-height: 1.2;
}
.gallery-works-step > li .title .label {
	display: inline-block;
	padding: 0 0.7em;
	color: #FFF;
    background: #544A47;
    font-size: 87.5%;
    text-align: center;
    text-indent: 0;
    line-height: 1.8;
}
.gallery-works-step li + li::before {
	padding-left:0.01em;
	width:36px;
	height:36px;
	position:absolute;
	top:41%;
	left:-0.9em;
	color:#544A47;
	font-family: "Font Awesome 5 Free";
	font-size:32px;
	font-weight: 900;
	content:"\f0a9";
	line-height:1;
	border:2px solid #FFF;
	border-radius:50%;
	z-index:2;
}
@media only screen and (max-width:768px) {
	.gallery-works-step {
		gap: 40px 24px;
	}
	.gallery-works-step > li .title {
		margin-top: 4px;
		gap: 0.5em;
	}
	.gallery-works-step > li .title .title-txt {
		font-size:87.5%;
	}
	.gallery-works-step > li .title .label {
		padding: 0 0.4em;
		font-size: 75%;
	}
	.gallery-works-step li + li::before {
		width:26px;
		height:26px;
		top:32%;
		left:-1em;
		font-size:22px;
		border: 0;
	}
}

/*--------------------------------------------------------------------
  「会社案内」固有の設定
---------------------------------------------------------------------*/
#profile_table {
	width:100%;
	border-collapse: collapse;
}
.data_sub_table {
	border-collapse: collapse;
	border: 0;
}
.data_sub_table tr > th,
.data_sub_table tr > td {
	padding: 0.4em 0.7em;
	background: transparent;
	border-top:0;
	border-right:0;
	border-left: 0;
	border-bottom: 1px dotted #CCC;
}
.data_sub_table tr:last-of-type > th,
.data_sub_table tr:last-of-type > td {
	border-bottom: 0;
}
@media only screen and (max-width:768px) {
	.data_sub_table tr {
		background: transparent !important;
	}
	.data_sub_table tr > td {
		float: none;
	}
	.data_sub_table tr > td:first-of-type {
		width: 82%;
	}
	.data_sub_table tr > td:last-of-type {
		width: 18%;
		white-space: nowrap;
	}
}


/*------------------------------------------------
  主な取引先・所属団体・主要仕入先
------------------------------------------------*/
.inline.profile_item LI{
margin:0;
}

/*------------------------------------------------
  代表あいさつ
------------------------------------------------*/
#greeting.photobg {
	padding: 5em 0 3em;
	background-image:url(../assets/images/greeting_bg.jpg);
}
#greeting .text-shadow>P{
text-shadow: 1px 1px 0px #EAF4FC;	/* 月白 */
}
/*------------------------------------------------
  会社方針
------------------------------------------------*/
#company_policy H4{
	font-size:225.0%;
}
#company_policy{
	background:rgba(0,115,190,0.6);
	color:#FFF;
}
@media only screen and (max-width:768px) {
	#company_policy {
		max-width: 92%;
		margin-inline: auto !important;
	}
}

/*------------------------------------------------
  沿革
------------------------------------------------*/
.history-main {
	padding-top: 5em;
}
.history-table {
	width: 100%;
	max-width: 800px;
	margin-inline: auto;
	margin-bottom: 0;
	border-collapse:collapse;
}
.history-table td {
	padding: 0.7em 1em;
	font-size:87.5%;
	vertical-align: top;
	border-bottom:1px solid #CCC;
}
.history-table tr td:first-of-type {
	text-align: right;
	white-space: nowrap;
}
@media only screen and (max-width:768px) {
	.history-main {
		padding-inline: 1em;
	}
	.history-table td {
		display: block;
		width: 100%;
	}
	.history-table td {
		padding: 0.4em;
		font-size: 100%;
	}
	.history-table tr td:first-of-type {
		padding-bottom: 0;
		text-align: left;
		border-bottom:0;
	}
}

/* #history_item{
margin-bottom:0.5em;
border-bottom:1px solid #CCC;
}
#history_item>DT{
margin:0.5em 0 0 0;
padding:0.15em 0.5em 0.15em 1.5em;
text-indent:-0.55em;
font-size:87.5%;
text-align:left;
width:10em;
}
#history_item>DT .y,
#history_item>DT .m,
#history_item>DT .d{
text-indent:0;
text-align:right;
display: inline-block;
}
#history_item>DT .y{
width:5.0em;
}
#history_item>DT .m,
#history_item>DT .d{
width:2.6em;
}
#history_item>DD:first-of-type{
border-top:1px solid #CCC;
}
#history_item>DD{
margin:0 0 0.5em 0;
padding:0.6em 0 0 12em;
border-top:1px solid #DCDCDC;
line-height:1.4;
}
#history_item>DD+DD{
padding-top:0;
border-top:none;
} */

/*------------------------------------------------
  3点～4点PHOTO
------------------------------------------------*/
.images{
margin:0;
padding:0;
display:table;
table-layout:fixed;
overflow:hidden;
text-align:center;
position:relative;
z-index:1;
width:100%;
}
.images LI{
display:table-cell;
vertical-align:top;
}
.images img{
margin-bottom:-2px;
vertical-align:bottom;
width:100%;
}
@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#profile_table .table{
	display:block;
	}
	#profile_table .em4,
	#profile_table .em20{
	width:auto;
	display:inline;
	}


	.images.part4{
	display:block;
	text-align:left;
	}
	.images.part4 LI{
	margin:0;
	padding:0;
	display:block;
	width:50%;
	float:left;
	}
	.images.part4 LI img{
	margin-bottom:0;
	}

	.images.part4::after{	/* clearfix */
    content: ""; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
	}
}

@media only screen and (max-width:540px) {
	#greeting.photobg{
		padding-bottom: 0;
		background-image:none;
	}
	#greeting.photobg P{
	text-align:left;
	}
	#greeting_item {
		margin-bottom: 54vh;
		padding-inline: 1em;
		position: relative;
	}
	#greeting_item::after{
		/* margin:0 -25px -2em -25px; */
		content:"";
		display:block;
		width:100%;
		height:50vh;
		position: absolute;
		top: 100%;
		left: 0;
		background:url(../assets/images/greeting_bg.jpg);
		background-size:cover;
	}

	#history_item>DT{
	padding-left:1.4em;
	float:none;
	display:block;
	border-top:1px solid #DCDCDC;
	width:auto !important;
	}
	#history_item>DT:first-of-type{
	border-color:#CCC;
	}
	#history_item>DT .y,
	#history_item>DT .m,
	#history_item>DT .d{
	width:auto;
	text-align:left;
	}

	#history_item>DD+DT{
	margin-top:0;
	}
	#history_item>DD:first-of-type,
	#history_item>DD{
	padding-top:0;
	padding-left:1.3em !important;
	border-top:none;
	}
	#history_item>DD SPAN{
	margin-left:0;
	padding-left:0;
	}
}


/*--------------------------------------------------------------------
  「施工事例」固有の設定
---------------------------------------------------------------------*/
/*------------------------------------------------
  ギャラリー
------------------------------------------------*/
/* UL.item.part2.gallery_item >LI:nth-child(n+3){
margin-top:50px;
} */

/*------ 物件名キャプション（トップページも含む） ------*/
/* .gallery_item .title{
	padding:0.5em 0.5em 0.5em 7.8em;
	text-indent:-7.8em;
	display:block;
	line-height:1.2;
	text-align:left;
}
.gallery_item .label{
	margin-right:1em;
	padding:0;
	color:#FFF;
	background:#544A47;
	font-size:87.5%;
	width:7.0em;
	text-align:center;
	text-indent:0;
	line-height:1.8;
}
.gallery_item .title:first-of-type {
	margin-top:0.5em;
} */

/*------ 施工工程 ------*/
.gallery_item.flow li {
	position:relative;
	z-index:1;
}
.gallery_item.flow li+li::before{
	padding-left:0.01em;
	width:1.0em;
	line-height:1.0em;
	font-family: "Font Awesome 5 Free";
	font-weight : 900;
	content:"\f0a9";
	color:#544A47;
	background:#FFF;
	border:1px solid #FFF;
	border-radius:50%; 
	-webkit-border-radius:50%;
	-moz-border-radius:50%;
	position:absolute;
	top:41.0%;
	left:-0.9em;
	z-index:2;
	font-size:200%;
}
.gallery_item.flow li .title {
	display: block;
	margin-top: 4px;
	text-align:center;
}
.gallery_item.flow .label {
	display: inline-block;
	width:5em;
	margin:-6px 1em 0 0;
	/* margin-right:1em; */
	padding:0;
	color:#FFF;
	background:#544A47;
	font-size:87.5%;
	text-align:center;
	text-indent:0;
	line-height:1.8;
}

@media only screen and (max-width:768px) {
	/* UL.item.part2.gallery_item >LI{
	background:#EAF4FC;
	} */
	UL.item.part2.gallery_item >LI:nth-child(n+2){	
	margin-top:2.0em;
	}
	.gallery_item.flow LI+LI::before{
	content:"\f0ab";
	top:-1.4em;
	left:50%;
	transform:translate(-50%,0);
	}
	.gallery_item .title:first-of-type{
	margin-top:0;
	}
} 
@media only screen and (min-width:541px) and (max-width:768px) {
	.gallery_item .label{
	padding:0.5em 0;
	}
}
@media only screen and (max-width:540px) {
	.gallery_item .title:first-of-type{
	margin-top:0px;
	}

	.gallery_item:not(.flow) .title{
	padding:0 0.5em 1.5em 0.5em;
	text-indent:0;
	}
	.gallery_item:not(.flow) .label{
	margin:0 -0.6em 0.5em -0.6em;
	padding:0.3em 0.7em;
	display:block;
	width:auto;
	text-align:left;
	}
}


/*--------------------------------------------------------------------
  「お問い合わせ」固有の設定
---------------------------------------------------------------------*/
#contactus ARTICLE,
#contactus ARTICLE:not(#privacypolicy) P{
text-align:center;
}
#contactus ARTICLE .link_large{
padding:1em;
width:100%;
max-width:600px;
line-height:1.2;
}

/* トップページに戻る */
.back-to-toppage {
	margin-top: 60px;
}
.back-to-toppage > a {
	transition: all 0.3s ease;
}
.back-to-toppage > a::before {
    content: "\f137";
	margin-top: -0.2em;
	margin-right: 0.4em;
    display: inline-block;
	color:#09C;
	font-family: "Font Awesome 5 Free";
    transition: all 0.3s ease;
    font-weight: 900;
    vertical-align: middle;
}
.back-to-toppage > a:hover,
.back-to-toppage > a:hover::before {
	opacity: .7;
}


/*--------------------------------------------------------------------
  「コンテンツ」固有の設定
--------------------------------------------------------------------*/
/*------------------------------------------------
  ギャラリー設定
------------------------------------------------*/
/* ポップアップ不要？ */
/* .gallery-popup A{
margin:0 auto;
cursor: url(../assets/images/magnify_plus.cur), pointer;	
line-height:normal;
vertical-align:top;
display:block;
position:relative;
outline:none;
}
#photos .gallery-popup A{
margin:0 auto 5px auto;
display:table;
}
.gallery-popup A:hover{
opacity:0.8;
}
.gallery-popup A img{
margin-top:-1px !important;
vertical-align:top;
display:block;
} */

/*------------------------------------------------
  レイアウト
------------------------------------------------*/
.inline{
display:inline-block;
}
.block{
margin-right:auto;
margin-left:auto;
display:block;
}
.table{
margin-right:auto;
margin-left:auto;
display:table;
width:auto;
}

/*------------------------------------------------
  準備中表示
------------------------------------------------*/
/* .underconstruction{
margin:2em auto;
padding:200px 25px 100px 25px;
background-color:#F5F5F5;
background-image:url(../assets/images/comingsoon.png);
background-position:center 80px;
background-repeat:no-repeat;
text-align:center;
width:90%;
}
#information .underconstruction{
padding:0 25px;
background:url(../assets/images/spacer.gif) no-repeat;
} */

/* @media only screen and (max-width:540px) {
	.underconstruction{
	padding:50px 25px;
	background-position:center;
	width:100%;
	}
} */

/*------------------------------------------------
  署名
------------------------------------------------*/
.signature .large{
margin-top:0.5em;
display:block;
}

/*------------------------------------------------
  区切りのスラッシュ / 表示
------------------------------------------------*/
.dot::before,
.slash::before{
display:inline-block;
text-indent:0;
}
.dot::before{
content:"・";
}
.slash::before{
margin-right:0.5em;
margin-left:0.5em;
content:"/";
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.dot::before,
	.slash::before{
	margin-right:auto;
	margin-left:auto;
	display:block;
	content:"";
	}
}



/*------------------------------------------------
  アイテム横並び
------------------------------------------------*/
UL.item{
margin:1.5em auto;
padding:0;
/* display:table; */
width:auto;
text-align:center;
letter-spacing:-1em;	/* 横並びの隙間対策 */
}

ARTICLE UL.item>LI{
margin-top:0;
margin-bottom:0.7em;
padding:0;
background:none;
display:inline-block;
vertical-align:top;
letter-spacing:1px;
box-sizing: border-box;
}
UL.item>LI>*{
margin-top:0;
margin-bottom:0;
}
UL.item>LI>*:not(SPAN)~*:not(SPAN){
margin-top:1.8em;
}
UL.item>LI img{
width:100%;
}

/*------ 2列 ------*/
UL.item.part2>LI{
margin-left:2%;
width:48.5%;
text-align:center;
}
UL.item.part2>LI:nth-child(odd){	/* 奇数 */
margin-left:0;
}
UL.item.part2>LI:nth-child(n+3){	/* 3個目以降 */
margin-top:20px;
}

/*------ 3列 ------*/
UL.item.part3>LI{
margin-left:2%;
width:32.0%;
}
UL.item.part3>LI:nth-child(3n+1){	/* 1、4、7番目… */
margin-left:0;
}
UL.item.part3>LI:nth-child(n+4){	/* 3個目以降 */
margin-top:20px;
}

/*------ 左右振り分け 任意の幅 ------*/

.layoutbox LI *:first-child{
margin-top:0;
}
.layoutbox LI img {
width:100%;
}
.w400{
min-width:400px;
width:30%;
}
.w-400{
width : -webkit-calc(100% - 450px) ;
width : calc(100% - 450px);
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	UL.item.part2>LI,
	UL.item.part3>LI{
	margin:0 0 1.5em 0;
	padding:1px 0;
	width:100%;
	}
	UL.item>LI img{
	width:auto;
	}
	.layoutbox{
	text-align:center;
	}
	.layoutbox>LI{
	margin-left:auto;
	margin-right:auto;
	min-width:auto !important;
	min-width:initial !important;
	display:inline-block !important;
	float:none !important;
	width:auto !important;
	text-align:left;
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	UL.item img{
	margin-right:auto;
	margin-left:auto;
	display:block;
	}
}	

/*------------------------------------------------
  電話番号自動リンク(with JavaScript)
------------------------------------------------*/
A.tellink {
pointer-events: none;	/* PCの時はリンクしない */
cursor: default;
text-decoration: none;
display:block;
}
A.tellink.tel {
pointer-events: auto;
}
.tel .label{
padding:0;
background:none;
line-height:1.8;
}
ARTICLE .tellink::before{
margin-right:0.5em;
display:inline-block;
font-family: "Font Awesome 5 Free";
content:"\f095";
font-weight:bold;
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	footer .tel .label{
	display:none;
	}
	footer .tel::before{
	margin-right:0.5em;
	display:inline-block;
	font-family: "Font Awesome 5 Free";
	content:"\f095";
	font-weight:bold;
	}
}



/*------------------------------------------------
  上部サブメニュー
------------------------------------------------*/


/*------------------------------------------------
  丸数字
------------------------------------------------*/
.number{
display:inline-block;
background:#C7DC68;
color:#FFF;
width:1.5em;
line-height:1.5;
text-align:center;
text-indent:0;
}
H4.numbering{
padding-left:1.8em;
text-indent:-1.8em;
}
H4 .number{
margin-right:0.3em;
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	H4.numbering{
	margin-left:-2%;
	}
}


/*------------------------------------------------
  ラベル
------------------------------------------------*/
.label{
padding:0 0.5em;
display: inline-block;
line-height:1.5;
vertical-align:middle;
}

.em2,
.em4,
.em8,
.em12,
.em16,
.em20{
display: inline-block;
vertical-align:middle;
}

.em2{
width:2em;
}
.em4{
width:4em;
}
.em8{
width:8em;
}
.em12{
width:12em;
}
.em16{
width:16em;
}
.em20{
width:20em;
}



/*------------------------------------------------
  フロー
------------------------------------------------*/
#content .flow{
padding:0;
}
#content .flow>LI{
margin:0 0 15px 0;
padding:0;
background:none;
vertical-align:middle;
text-align:left;
}

#content .flow LI+LI{
padding:20px 0 0 0;
background:url(../assets/images/flow_arrow_t.png) no-repeat 2.8em top;
}
.flow LI>DIV{
padding:10px 50px 10px 30px;
background:#003D6C; /* 濃青 */
color:#FFF;
font-size:112.5%;	/* 18px */
}
.flow .number{
margin:0 20px 0 0;
display:inline-block;
color:#69C;
font-weight:bold;
font-family: 'Noto Serif JP', "メイリオ", Meiryo, sans-serif;
font-size:250.0%;	/* 45px */
width:1.1em;
height:1.1em;
line-height:1.1;
vertical-align:middle;
background:none;
border:none;
}
.flow .user,
.flow .hmc{
margin:0 1em 0 0;
display:inline-block;
font-size:88.9%;	/* 16px */
text-align:center;
vertical-align:middle;
width:4em;
background-repeat:no-repeat;
}
.flow .user{
padding:0.2em 0.2em 0.2em 1.8em;
background-color:#093;
background-image:url(../assets/images/icon_user.png);
background-position:5px center;
}
.flow .hmc{
padding:0.2em 0.3em 0.2em 1.7em;
background-color:#FFF;
background-image:url(../assets/images/icon_hmc.png);
background-position:12px center;
color:#000;
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	#content .flow>LI{
	margin:0 0 7px 0;
	}

	#content .flow LI+LI{
	padding:15px 0 0 0;
	background-position:1.0em top;
	}
	.flow LI>DIV{
	padding:10px 10px 10px 0;
	}
	.flow .number{
	margin:0 0 0 0;
	}

	.flow .textdata{
	display:block;
	margin-left:2.6em;
	}
}


/*------------------------------------------------
  2列の表のようなDLリスト
------------------------------------------------*/
.dl_table DT{
margin:0;
padding:0.2em 0.5em;
clear:left;
float:left;
display:inline;
width:9em;	/* 10em */
background:#EAF4FC;
text-align:center;
font-size:100.0%;	/* 16px */
font-weight:normal;
text-align:center;
}

.dl_table DD{
margin:0.5em 0;
padding:0.2em 1em 0.2em 11em;
/* background:url(../assets/images/spacer.gif) no-repeat; */
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.dl_table DT{
	width:auto !important;
	float:none;
	display:block;
	text-align:left;
	}
	.dl_table DD+DT{
	margin-top:1.2em;
	}
	.dl_table DT BR{
	display:none;
	}
	.dl_table DD{
	margin:0.2em 0 0.8em 0;
	padding:0 0.5em;
	}

}



/*------------------------------------------------
   行頭アイコン
------------------------------------------------*/
.icon A::before{
margin-right:0.2em;
font-family: "Font Awesome 5 Free";
display:inline-block;
vertical-align:middle;
transition: all 0.5s ease;
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
}
.heart{
content:"\f004";
}

.icon.fas{
margin-top:-0.2em;
margin-right:0.3em;
display:inline-block;
vertical-align:middle;
}

/*------------------------------------------------
   リンクボタン（共通）
------------------------------------------------*/
.link_small,
.link_large {
	color:#FFF;
	text-decoration:none;
	zoom: 1;
	outline: none;
	text-align:center;
	display:inline-block;
	color:#FFF;
	background:#690;
	border:1px solid #690;
	box-sizing: border-box;
	border-radius:4px; 
}
MAIN .link_small,
MAIN .link_large{
	background:#09C;
	border:1px solid #09C;
}
#footermenu A::before,
.link_small.before::before,
.link_large.before::before,
.link_small.after::after,
.link_large.after::after {
	font-family: "Font Awesome 5 Free";
	display:inline-block;
	transition: all 0.5s ease;
	content: "\f138";
	font-weight : 900;
	vertical-align:middle;
}
.link_small.after::after,
.link_large.after::after{
	margin-left:0.5em;
}
.link_small.before::before,
.link_large.before::before{
	margin-right:0.5em;
}
.link_small:hover,
.link_large:hover {
	color:#FFF;
	background:#87CEFA;
	border-color:#87CEFA;
}

/*------------------------------------------------
   リンクボタン（小）
------------------------------------------------*/
.link_small,
.link_small:visited{
padding:0 0.5em;
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	A.link_small{
	padding:0.5em 10px;
	}
}

/*------------------------------------------------
   リンクボタン（大）
------------------------------------------------*/
.link_large,
.link_large:visited{
margin:auto;
padding:0.3em 1em;
font-size:125.0%;	/* 20px */
}
.link_large SPAN.far,
.link_large SPAN.fas{
margin:-0.15em 0.5em 0 0;
font-size:120.0%;	/* 24px */
vertical-align:middle;
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	.link_large{
	padding:0.5em 0;
	display:block;
	width:100%;
	}
}
@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	.link_large{
	max-width:600px;
	}
}

/*------------------------------------------------
  お問い合わせ枠
------------------------------------------------*/
.check{
	margin-top:1.8em;
	margin-bottom:1.8em;
	padding:1em 2em;
	box-sizing: border-box;
	background:#EAF4FC;
}
.check>*{
	margin-top:0;
	margin-bottom:0;
}
.check>*~*{
	margin-top:15px;
}
/* .check.island{
margin-right:auto;
margin-left:auto;
display: table;
min-width:600px;
} */

/*------ TEL・Mail ------*/
.check LI.fax::before,
.check LI.mail::before{
margin-right:0.5em;
display:inline-block;
font-family: "Font Awesome 5 Free";
font-weight:bold;
}
.check LI.tel{
font-size:125.0%;	/* 20px */
}
.fax::before{
content:"\f1ac";
font-size:125.0%;	/* 20px */
}
.mail::before{
margin-top:-0.1em;
content:"\f0e0" !important;
font-size:125.0%;	/* 20px */
line-height:1;
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	.check,
	.check.island{
	margin-right:0;
	margin-left:0;
	min-width:auto;
	min-width:initial;
	display: block;
	width:auto;
	}
}

@media only screen and (max-width:540px) {	/* スマホ縦用 */
	.check{
	padding:1em;
	}
}

/*--------------------------------------------------------------------
  共通レイアウト枠
--------------------------------------------------------------------*/
@media only screen and (min-width:769px) and (max-width:1009px) {
	BODY{
	width:1010px; 
	}
}

/* @media only screen and (min-width:769px) {
	MAIN{
	min-height:70vh;
	}
} */

ARTICLE{
/* padding:5em 0 3em 0; */
text-align:left;
}

/* ARTICLE P,
ARTICLE DIV{
text-align: justify;
text-justify: inter-ideograph;
} */

/* ARTICLE>*{
margin-right:auto;
margin-left:auto;
padding-left:25px;
padding-right:25px;
max-width:1150px;
min-width:930px;
} */

.wallbg_all{
background-image:url(../assets/images/bg_pattern.png);
}
.wallbg_top{
background-image:url(../assets/images/bg_pattern_top.png);
background-repeat:repeat-x;
background-position:top;
}
.wallbg_bottom{
background-image:url(../assets/images/bg_pattern_bottom.png);
background-repeat:repeat-x;
background-position:bottom;
}
@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	.wallbg_bottom{
	background-color:#EAF4FC !important;
	}
}

/*------------------------------------------------
  SECTION
------------------------------------------------*/
.content{	/* コンテンツタイプ */
padding-top:0.5em;
padding-bottom:0.5em;
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
}
H3+.content{
padding-top:0.1em;
}
H3+.content *:first-child{
margin-top:0;
}

.pastelblue{
background:#EAF4FC;	/* 月白 */
}

.photobg{
background-repeat:no-repeat;
background-attachment:fixed;
background-position:center;
background-size:cover;
-webkit-background-size:cover;
-moz-background-size:cover;
-o-background-size:cover;
-ms-background-size:cover;
}
.ios .photobg{
background-attachment:scroll;
}


@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	article{
		padding:3em 0;
	}
	article>*{
		max-width:auto;
		max-width:initial;
		min-width:auto;
		min-width:initial;
	}
	article > p {
		margin-top: 0;
	}
	.photobg{
		background-attachment:scroll;
	}

}

/*--------------------------------------------------------------------
  ヘッダー
--------------------------------------------------------------------*/
#header {
	margin:0 auto;
	background:#FFF;
	width:100%;
	/* IE7以下でプルダウンメニューが隠れるための対策 */
	/* z-index:10; */
}
#header.fixed {
	position:fixed;
	top:0;
	left:0;
	z-index:10000;
	background:rgba(255,255,255,0.95);
}
#header_inner {
	margin:0 auto;
	padding:11px 1% 9px 1%;	/* 高さ50+20=70px */
	min-width:980px;
	max-width:1200px;
	overflow: hidden;
}
/* #header LI {
	background:url(../assets/images/spacer.gif) no-repeat;
} */

/*------------------------------------------------
  ヘッダーロゴ 
------------------------------------------------*/
#header H1 {
	margin:0;
	width:auto;
	float:left;
	height:50px;
}
#header H1 a {
	display:inline-block;
}
#header H1 img {
	height:50px;
	margin:auto;
	vertical-align:top;
	transition: all 0.5s ease;
} 
#header H1 a:hover img {
	opacity:0.7;
}


@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	#header_inner{
		margin:0;
		padding:0;
		min-width: initial;
		/* min-width:auto; */
		max-width: initial;
		/* max-width:auto; */
		height:70px;
		text-align:left;
		position:relative;
	}

	.fixed{	/* ヘッダー上部固定用を解除（現在ヘッダー上部固定を使用中） */
	position:static;
	}
	#header H1{
	margin:0;
	padding:0;
	height:70px;
	width:auto;
	width : -webkit-calc(100% - 80px) ;
	width : calc(100% - 80px);
	float:none;
	height:70px;
	position:relative;
	}
	#header H1 A{
	padding:0 10px;
	vertical-align:middle;
	position:absolute;
	top:50%;
	left:0;
	height:auto;
	transform:translate(0,-50%);
	}
	#header H1 A img{
	width:100%;
	}
}

/*--------------------------------------------------------------------
  プライマリーナビゲーションメニュー(PrimaryMenu)
--------------------------------------------------------------------*/
UL#primarymenu{
margin:0 auto;
padding:0;
position:absolute;
right:1.5%;
bottom:12px;
}
UL#primarymenu LI{
margin:0;
padding:0;
display:inline-block;
vertical-align:top;
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
font-size:81.25%;	/* 13px */
}
UL#primarymenu LI A::before{
margin-top:-0.1em;
margin-right:3px;
content:"\f138";
font-family: "Font Awesome 5 Free";
font-weight : 900;
display:inline-block;
vertical-align:middle;
}
UL#primarymenu LI A,
UL#primarymenu LI A:visited{
padding:0;
display:block;
text-decoration:none;
}
UL#primarymenu LI+LI{
margin-left:15px;
}

@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	UL#primarymenu{
	margin-top:15px;
	width:100%;
	position:static;
	display: block;
	clear:both;
	}
	UL#primarymenu:after {
    content: ""; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
	}
	UL#primarymenu LI+LI{
	margin-left:0;
	}
	UL#primarymenu LI A,
	UL#primarymenu LI A:visited{
	padding:0.5em 0;
	}
	UL#primarymenu LI{
	float:left;
	}
}
@media only screen and (min-width:541px) and (max-width:768px) {	/* スマホ横用 */
	UL#primarymenu LI{
	width:25% ;
	font-size:87.5%;	/* 14px */
	}
	#p_menu02 A,
	#p_menu03 A,
	#p_menu04 A{
	border-left:1px solid #CCC;
	}
}
@media only screen and (max-width:540px) {	/* スマホ縦用 */
	UL#primarymenu{
	border-top:1px solid #DCDCDC;
	border-bottom:1px solid #DCDCDC;
	}
	UL#primarymenu LI{
	float:left;
	width:50% ;
	font-size:100%;	/* 16px */
	}
	UL#primarymenu LI A{
	background:#F5F5F5;
	}

	#p_menu02 A,
	#p_menu04 A{
	border-left:1px solid #DCDCDC;
	}
	#p_menu03 A,
	#p_menu04 A{
	border-top:1px solid #DCDCDC;
	}
}

/*--------------------------------------------------------------------
  グローバルナビゲーションメニュー(menubar)
--------------------------------------------------------------------*/
#global_navi{
	margin:0 auto;
	padding:0;
	width:auto;
	max-width:700px;
	position:relative;
	z-index:100;
	float:right;
	font-family:'Noto Sans JP', sans-serif;
}

/*------------------------------------------------
  全体 
------------------------------------------------*/
#hamburger {
	display: none;
}
#global_navi li {
	position: relative;
}
#global_navi li a {
	display: block;
}

/*------------------------------------------------
  PCメインメニュー第一階層
------------------------------------------------*/
#globalmenu{
	margin:0 auto;
	padding:0;
	width:100%;
	height:50px;
	display:table;
	font-size:87.5%;
	font-weight:500;
}
#globalmenu>li {
	margin:0;
	padding:0;
	display:table-cell;
	vertical-align:middle;
}
#globalmenu>LI >A:not(.link_small),
#globalmenu>LI >A:not(.link_small):visited{
	padding:0 1.0em;
	line-height:30px;
	display: block;
	color:#000;
}
#globalmenu>LI.active >A,
#globalmenu>LI.active >A:hover{
	color:#09C !important;
}
#globalmenu>LI.active >A::after{
	margin:0 -5% -2px -5%;
	content:"";
	display:block;
	background:#09C;
	width:110%;
	height:2px;
}
#globalmenu>LI >A:not(.link_small):hover{
	color:#09C;
}
#g_menu02 A,
#g_menu03 A,
#g_menu04 A{
	border-left:1px solid #CCC;
}
#globalmenu>LI >A.link_small{
	margin-left:10px;
	padding:0 1.5em;
	line-height:48px;
}

@media only screen and (max-width:768px) {
	
	/* ------ スマホ：メインメニュー ------ */

	#global_navi {
		width: 80px;
		height: 100%;
		max-width: 80px;
		margin:0;
		position:absolute;
		top:0;
		right:0;
		float:none;
	}
	#hamburger {
		display: block;
		width: 40px;
		height: 100%;
		position: absolute;
		top: 0;
		right: 24px;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		border: 0;
		padding: 0;
		margin: 0;
		background: transparent;
		cursor: pointer;
	}
	#hamburger span {
		position: absolute;
		display: block;
		content: "";
		width: 100%;
		height: 4px;
		background-color: #09C;
		border-radius: 2px;
		transition: all 0.3s;
	}
	#hamburger span::before,
	#hamburger span::after {
		position: absolute;
		display: block;
		content: "";
		width: 100%;
		height: 4px;
		background-color: #09C;
		border-radius: 2px;
		transition: all 0.3s;
	}
	#hamburger span::before {
		top: -12px;
	}
	#hamburger span::after {
		bottom: -12px;
	}
	#hamburger.open span {
		background-color: transparent;
	}
	#hamburger.open span::before {
		top: 0;
		transform: rotate(45deg);
	}
	#hamburger.open span::after {
		bottom: 0;
		transform: rotate(-45deg);
	}

	/*------------------------------------------------
	  スマホ：メインメニュー第一階層
	------------------------------------------------*/
	#globalmenu{
		/* display: none; */
		margin:0 auto;
		width:100%;
		height: auto !important;
		position: fixed;
		top:70px;
		right:0;
		font-weight:normal;
		font-size:112.5%;
		opacity:0;
		z-index:110;
		transform: translateX(100%);
		transition: .3s all ease-in-out;
	}
	#globalmenu.open{
		/* display: block; */
		opacity:0.94;
		transform: translateX(0);
	}
	#globalmenu>LI{
		float:left;
		width:50%;
		border-top:solid 1px #CCC;
	}
	#globalmenu LI#g_menu05{
		border-top:none;
		width:100% !important;
	}
	#globalmenu>LI>A:not(.link_small),
	#globalmenu>LI>A:not(.link_small):visited{
		padding:1.2em 0.5em;
		line-height:1.3em;
		text-align:center;
		background:#FFF;
	}
	#globalmenu>LI >A:not(.link_small):hover{
		background:#544A47;
		color:#FFF !important;
	}

	#g_menu02 A,
	#g_menu04 A{
		border-left:1px solid #CCC;
	}
	#g_menu03 A{
		border-left:none;
	}
	#globalmenu>LI.active >A::after{
		margin:0;
		display:none;
	}
	#globalmenu>LI >A.link_small{
		margin-left:0;
		padding:1.5em 0.5em;
		line-height:1.3em;
		border-radius:0; 
	}
}


/*------------------------------------------------
  コンテンツメニュー
------------------------------------------------*/
/*------ コンテンツメニュー ------*/
.contentmenu{
padding:2em 0;
}
.contentmenu.brownbg{
background-position:center top;
}
.contentmenu.banner UL{
margin:0 auto;
max-width:1200px;
min-width:980px;
display:table;
table-layout:fixed;
border-collapse: separate;
border-spacing:10px 5px;	/* 前の数字：横方向　後ろの数字 縦方向 */
width:100%;
}
.contentmenu.banner LI{
vertical-align:middle;
/* background:url(../assets/images/spacer.gif) no-repeat; */
display:table-cell;
}
.contentmenu.banner LI .extrasmall{
display:block;
}


@media only screen and (max-width:768px) {	/* スマホ横以下用 */
	.contentmenu.brownbg{
	background-position:center bottom;
	}
	.contentmenu.banner UL{
	max-width:auto;
	max-width:initial;
	min-width:auto;
	min-width:initial;
	width:90%;
	display:block;
	}
	.contentmenu.banner LI{
	margin:10px 0;
	display:block;
	}
}


.contentmenu.banner A{
padding:1em;
text-decoration:none;
background:rgba(0,0,0,0.0);
display:block;
position:relative;
font-size:112.5%;	/* 18px */
border:1px solid #887F7A;	/* 煤色  */
}
.contentmenu.banner.brownbg A{
color:#FFF;
}

.contentmenu.banner .active A,
.contentmenu.banner A:hover{
background:#C7DC68;	/* 若苗色 */
color:#300;
}
.contentmenu.banner A::after{
font-family: "Font Awesome 5 Free";
font-weight:bold;
content:"\25E2";
font-size:12px;
right:1px;
bottom:2px;
position:absolute;
transform:translate(0,0);
line-height:1em;
}

/*------------------------------------------------
  アンカー 
------------------------------------------------*/
#pt{
margin:0;
z-index:100;
position: fixed;
bottom:8px;
right:12px;
width: 40px;
height: 40px;
}
#pt A{
margin:0 auto;
display: block;
width: 40px;
height: 40px;
background:url(../assets/images/pt.png) 0 0 no-repeat;
zoom: 1;
text-indent: -9999px;
outline: none;
font-size: 1px;
overflow: hidden;
}
#pt A:hover{
background:url(../assets/images/pt_hover.png) 0 0 no-repeat;
}

/*--------------------------------------------------------------------
  フッター
--------------------------------------------------------------------*/
footer {
margin:0 auto;
background-color:#544A47;	/* 黒橡 くろつるばみ */
color:#FFF;
}
footer a {
color:#FFF;
}
footer a:hover{
color:#EEE9E6;
}

#footer_inner{
margin:0 auto;
padding:3em 20px 20px 20px;
max-width:1150px;
text-align:center;
box-sizing: border-box;

}
/* #footer_inner li {
background:url(../assets/images/spacer.gif) no-repeat;
}
#footer_inner H4{
} */
#footer_inner H4+P{
	margin-top:1em;
}


/*------------------------------------------------
  footer 住所欄
-------------------------------------------------*/
#footer_info{
margin:0 auto;
padding:0;
display:inline-block;
}
#footer_info >LI{
margin:0 auto;
padding:0;
}
#footer_info LI LI{
padding:0;
}

/*------ H5社名 ------*/
#footer_inner H5{
margin:0 auto 1.0em auto;
font-weight:normal;
font-size:125.0%;	/* 20px */
}
#footer_inner H5 A{
/* margin:0 0 0 -10px;
padding:0 0 0 40px; */
/* background:url(../assets/images/logomark.png) no-repeat left center; */
/* background-size:auto 30px;
-webkit-background-size:auto 30px;
-moz-background-size:auto 30px;
-o-background-size:auto 30px;
-ms-background-size:auto 30px; */
display:inline-block;
line-height:30px;
}
#footer_inner h5 a:hover{
	opacity:0.8;
}

#footer_inner h6 {
	margin:0 auto;
	font-size:100%;
}
#footer_inner h6+p {
	margin:0 auto;
}
#footer_inner .link_large {
	margin:0.8em auto;
	padding:0.8em 1em;
}
#footer_inner .link_large::after {
	content:"はこちら";
}

/*------ 連絡先 ------*/
#footer_info ul {
	margin:0 auto;
}

/*------ フッター 連絡先欄（住所） ------*/
#footer_address {
	margin:0;
	padding:0;
	font-size:87.5%;
}
#footer_zip{
	margin-right:0.5em;
}
#footer_tel {
	margin:0;
	padding:0;
	letter-spacing:2px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
}
#footer_tel .label {
	margin: 0;
	padding: 0;
	background:none;
	font-size:100.0%;
}
#footer_tel strong {
	font-weight:500;
	font-size:175.0%;
}

/*------ フッターメニュー ------*/
#footermenu {
	width: 100%;
	display: flex;
	justify-content: center;
	gap: 32px;
	margin:0 auto 1.5em;
}
#footermenu li {
	padding:0;
}
#footermenu a {
	margin:0 0.5em;
	padding:0.5em;
	display:block;
	font-size:87.5%;
}
#footermenu a::before {
	margin-top:-0.2em;
	margin-right:0.4em;
	font-size:85%;
	vertical-align:middle;
}

@media only screen and (max-width:768px) {
	#footer_inner{
		max-width:initial;
		width:100%;
		padding:2em 0 20px 0;
		text-align:center;
	}
	#footer_info{
		padding:0;
		display:block;
	}	
}

@media only screen and (max-width:540px) {
	#footer_info>LI{
		margin:0;
		display:block;
	}
	#footer_inner H5,
	#footer_inner H6{
		padding:0 20px;
	}
	/* #footer_inner H5{
		font-size:112.5%;
	} */
	/* #footer_inner H5 A{
		margin:0 auto 5px auto;
		padding:0;
		background-position:center top;
		background-size:auto 50px;
		-webkit-background-size:auto 50px;
		-moz-background-size:auto 50px;
		-o-background-size:auto 50px;
		-ms-background-size:auto 50px;
	} */
	#footer_inner H6 {
		margin-bottom: 24px;
		font-size:87.5%;
		line-height:1.4;
	}
	#footer_inner A.link_large{
		max-width: 92%;
		/* margin-bottom:0; */
		padding:0.8em 0.5em;
		font-size:100.0%;
		line-height:1.3;
		/* width:auto;
		border-radius:0;  */
	}
	#footer_inner .link_large::before{
		margin-right:auto;
		font-size:240.0%;
		display:block;
	}
	#footer_inner A.link_large::after{
		content:"";
	}
	#footermenu{
		flex-wrap: wrap;
		gap: 0 24px;
	}
	/* #footermenu LI{
	padding:0;
	display:table-cell;
	text-align:center;
	border-bottom:1px solid #999;
	} */
	#footermenu A{
	margin:0;
	padding:0.6em 0.2em 0.6em 0.1em;
	font-size:100.0%;
	}
	/* #footermenu LI+LI A{
	border-left:1px solid #999;
	} */
	#footermenu A::before{
	margin-top:-0.1em;
	}

	#footer_tel{
	margin:0.5em auto;
	}
	#footer_tel STRONG{	
	font-size:150.0%;
	}

	#footer_zip,
	#footer_fax,
	#footer_mail{
	margin:0;
	display:block;
	}
}

#copyright{
	margin:0 auto;
	padding:30px 20px 20px 20px;
	font-size:68.75%;
}

/*--------------------------------------------------------------------
  clearfix
--------------------------------------------------------------------*/
/* #header_inner::after,
#box::after,
#top_banner::after,
#news DL::after,
DL.dl_table::after,
#update DL::after{
    content: ""; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
} */


/* Win版IE7とMac版IE5対策 
#header_inner,
#box,
#top_banner,
#news DL,
DL.dl_table,
#update DL{
	display: inline-table;
min-height:1%;
}*/


/* Win版IE5および6対策
* html #header_inner,
* html #box,
* html #top_banner,
* html #news DL,
* html DL.dl_table,
* html #update DL{
	height: 1%;
}
#header_inner,
#box,
#top_banner,
#news DL,
DL.dl_table,
#update DL{
	display: block;
}
 */


/*------ 個別に回り込み解除（clearfix） ------*/
.clearfix:after {
    content: ""; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}

.clearfix {
	display: inline-table;
}

/* Hides from IE-mac \
* html .clearfix {
	height: 1%;
}
.clearfix {
	display: block;
}
*/
