@charset "utf-8";

/*slide.cssの読み込み
------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*@import url(slide.css);*/

/*全端末（PC・タブレット・スマホ）共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*全体の設定
---------------------------------------------------------------------------*/
body {
	margin: 0px;
	padding: 0px;
	color: #666;	/*全体の文字色*/
    font-family: 'BIZ UDPGothic', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    -webkit-text-size-adjust: none;
	font-size: clamp(16px, (100vw - 375px) * 10 / (1280 - 375) + 16px, 17px);
	line-height: 1.8;		/*行間*/
	background: #fff;	/*背景色*/
	-webkit-text-size-adjust: none;
	overflow-x: hidden;
}


h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form,select,input,textarea {margin: 0px;padding: 0px;font-weight: normal;}
ul {list-style-type: none;}
img {border: none;max-width: 100%;height: auto;vertical-align: middle;object-fit: cover;}
table {border-collapse:collapse;font-size: 100%;border-spacing: 0;}
iframe {width: 100%;}
video,audio {max-width: 100%;}

.inner{
	max-width: 1200px;
    margin: 0 auto;
	padding: 3% 5%;
}
.other .inner{
	padding: 0 5% 2em;
}
.other footer .inner{
	padding: 2em 5%;
}
@media screen and (min-width:768px){
	.other .inner{
		padding: 2em 5%;
	}
}

/*左寄せ*/
.L {display: block;text-align : left;}
/*右寄せ*/
.R {display: block;text-align : right;}
/*中央寄せ*/
.C {display: block;text-align : center;}

/*flex*/
.flex{display: flex;}

/*grid*/
.grid{display: grid;}

/*アイコン設定*/
i.las.la-brush {
    transform: rotate(315deg);
}
.la, .las,
.fa, .far, .fas {
    margin: 0 0.2em;
}

/*フォントカラー設定*/
.f-wt{
	color: #fff!important;
}

/*bg設定*/
.bgGN {
    background: #f7fff7;
}
.bgGY {
    background: #f1f1f1;
}

/*画像角丸*/
.img_radius{
	border-radius: 20px;
}

/*pc・sp切り替え
---------------------------------------------------------------------------*/
.smart-only {
    display: block!important;
}
.pc-only {
    display: none!important;
}
@media screen and (min-width:768px){
    .pc-only {
        display: block!important;
    }
    .smart-only {
        display: none!important;
    }
}

/*改行設定
---------------------------------------------------------------------------*/
/* スマホ用<br> */
@media screen and (max-width:767px) {
	.br-sp { display: block; }
	.br-tb { display: none; }
	.br-pc { display: none; }
}
/* tablet 縦用<br> */
@media only screen and (min-width:768px) and (max-width:1023px) {
	.br-sp { display: none; }
	.br-tb { display: block; }
	.br-pc { display: none; }
}
/* pc用<br> */
@media screen and (min-width:1024px) {
	.br-sp { display: none; }
	.br-tb { display: none; }
	.br-pc { display: block; }
}

/*btn設定
---------------------------------------------------------------------------*/
.btn {
    text-align: center;
    text-decoration: none;
    display: block;
	cursor: pointer;
	border-radius: 5rem;
	width: auto;
	font-size: clamp(16px, (100vw - 375px) * 10 / (1280 - 375) + 16px, 18px);
	margin: 3em auto;
    padding: 1rem;
	width: 15em;
}
.btn:hover{
	opacity: 0.7;
}

/*ボタン緑*/
.btnGN {
	background: #679b87;
	border: none;
    color: #fff;
}
a.btnGN {
    color: #fff;
}

/*ボタン白*/
.btnWT {
	background: #fff;
    border: 1px solid #000;
}
a.btnWT {
    color: #000;
}
@media screen and (min-width:768px){
	.btnWT {
		width: 50%;
	}
}

/*ボタングレー*/
.btnGY {
	background: #999;
	border: none;
    color: #fff;
}
a.btnGY {
	color: #fff;
}

/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #333;
    transition: 0.3s;
    text-decoration: none;
}
a:hover {
	text-decoration: none;
}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
header {
	background: #fff;	/*背景色*/
	border-top: 4px solid #679b87;
	padding-bottom: 0.5em;
}
header a {
	color: #fff;	/*リンクテキストの文字色*/
}
header .hd.flex.inner {
	justify-content: flex-start;
	background: #ffffff;
	padding: 0 5%;
	align-items: center;
	height: 120px;
}
header #logo img{
    height: auto;
}
header .smart-only i.fas.fa-phone.fa-flip-horizontal {
	font-size: 1.5em;
    margin: 0 0 0 1em;
    padding-top: 0.2em;
    color: #193b4b;
}
header h1.text.inner {
	font-size: clamp(12px, (100vw - 375px) * 10 / (1280 - 375) + 12px, 12px);
    font-weight: normal;
    padding: 0.5% 0 0 0;
	width: 90%;
}

@media screen and (min-width:768px){
	header .hd.flex.inner {
		justify-content: space-between;
		padding: 0 1%;
		height: auto;
	}
	header #logo img{
		height: 60px;
	}
	.hd_tel_pc.flex {
		flex-direction: column;
	}
	.hd_tel_pc.flex span {
		text-align: right;
	}
	.hd_tel_pc.flex span.tel {
		font-size: 1.5em;
	}
	.hd_tel_pc.flex span.tel a {
		color: #333;
	}
}

/*ヘッダー内メニュー（「お問い合わせ」と「見積もり依頼」ボタン）
---------------------------------------------------------------------------*/
/*メニューブロック全体*/
.header_contact {
	justify-content: flex-end;
    gap: 20px;
	font-size: 90%;
}
/*メニュー１個あたり*/
.header_contact li {
	margin-left: 10px;	/*左側にスペースを空ける*/
	margin-top: 5px;
}
.header_contact li a {
text-decoration: none;
    display: inline-block;
    background: #ff9626;
    color: #FFF;
    padding: 0px 15px;
    border-radius: 5px;
    border: 1px solid #ff9626;
}
/*マウスオン時*/
.header_contact li a:hover {
	color: #555555;	/*文字色*/
	background: #fff;	/*背景色*/
}

/*メインメニューのブロック
---------------------------------------------------------------------------*/
/*メニューブロック*/
#menubar {
	clear: both;
    height: 75px;
    text-align: center;
	background: #ffffff;
	border-top: 1px solid #dcdcdc;
    border-bottom: 1px solid #dcdcdc;
}
#menubar ul.menubar_inner.flex {
    margin: 0 auto;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
}
/*メニュー１個あたりの設定*/
#menubar li {
	flex:1;
	position: relative;
}
#menubar li a {
	display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    height: 75px;
	transition: 0s;
	border-right: 1px solid #dcdcdc;
}
/*１つ目のメニューへの追加設定*/
#menubar li:first-child a {
	border-left: 1px solid #dcdcdc;
}
/*飾り文字*/
#menubar li span {
	display: block;
	font-size: 9px;			/*文字サイズ*/
	font-weight: normal;	/*文字を太字でなく標準に戻す設定*/
	letter-spacing: 0.2em;	/*文字間隔を少しあける設定*/
	opacity: 0.5;			/*透明度50％*/
}
/*マウスオン時、現在表示中(current)のメニューの共通設定*/
#menubar li a:hover, #menubar li.current a {
	background: #679b87;
    color: #fff;
}
/*スマホ用メニューを表示させない*/
#menubar-s {display: none;}
/*３本バーアイコンを表示させない*/
#menubar_hdr {display: none;}

@media screen and (min-width:1024px){
	#menubar ul.menubar_inner.flex {
		width: 80%;
	}
}

/*ドロップダウンメニュー用
----------------------------------------------------------------------------------------------------------------------------------*/
/*メニューブロック*/
#menubar ul.ddmenu {
	position: absolute;
    z-index: 10;
    width: 100%;
    top: 75px;
}
/*メニュー１個あたりの設定*/
#menubar ul.ddmenu li {
	width: 100%;
}
#menubar ul.ddmenu li a {
	width: 100%;
	height: auto;
	font-weight: normal;
	border: none;	/*線を一旦リセット*/
	border-bottom: 1px solid #fff;	/*下の線の幅、線種、色*/
	background: #000;	/*背景色（古いブラウザ用）*/
	background: rgba(0,0,0,0.7);	/*背景色。0,0,0は黒の事で0.7は70%色がついた状態の事。*/
	color: #fff;	/*文字色*/
	padding: 10px 0;	/*上下、左右への余白*/
	font-size: 90%;
}
/*マウスオン時*/
#menubar ul.ddmenu li a:hover {
	background: #000;	/*背景色*/
}

/*fixmenu設定（メニューが画面上部に到達した際のスタイル）
---------------------------------------------------------------------------*/
/*上の設定の「is-fixed-menu」を「is-fixed」に変更したものをそのまま記入します。fixmenuスクリプトを２つ使う為に必要な設定になります。*/
body.is-fixed .nav-fix-pos {
	width: 100%;
	z-index: 100;
	position: fixed;
	top: 0;
	left: 0;
}
body.is-fixed header {
	margin-bottom: 75px;
}

/*contents
---------------------------------------------------------------------------*/
#contents {
	clear: both;
	overflow: hidden;
}

/*mainコンテンツのタグ設定
---------------------------------------------------------------------------*/
/*mainコンテンツのh2タグ設定*/
main h2 {
	clear: both;
	margin-bottom: 20px;
	padding: 10px 20px;	/*上下、左右への余白*/
    font-size: clamp(20px, (100vw - 375px) * 10 / (1280 - 375) + 20px, 22px);
	color: #fff;		/*文字色*/
	background: #679b87;	/*背景色*/
	letter-spacing: 1.5px;
}
/*mainコンテンツのh3タグ設定*/
main h3 {
	clear: both;
	font-size: clamp(19px, (100vw - 375px) * 10 / (1280 - 375) + 19px, 22px);
    padding: 0 2%;
	letter-spacing: 1.5px;
}
/*h3タグの１文字目への追加設定*/
main h3::first-letter {
	border-left: 3px solid #679b87;	/*左の線の幅、線種、色*/
	padding-left: 15px;				/*線とテキストとの余白*/
}

/*mainコンテンツのh4タグ設定*/
main h4 {
    color: #5a8f7b;
    padding: 0 0 1.5rem 0;
    font-weight: bold;
	font-size: clamp(19px, (100vw - 375px) * 10 / (1280 - 375) + 19px, 23px);
}
main h4::first-letter {
	border-left: none;
	padding-left: 0;
}
/*mainコンテンツのh5タグ設定*/
main h5 {
    color: #5a8f7b;
    padding: 0;
    font-weight: bold;
    font-size: clamp(18px, (100vw - 375px) * 10 / (1280 - 375) + 18px, 20px);
    border-bottom: 1.5px solid #e3e3e3;
    margin-bottom: 0.5em;
	padding: 0 20px;
}

/*indexメニュー設定*/
body.index .head_border {
	display: flex;
    justify-content: center;
    align-items: center;
}

body.index h2 {
	color: #666;
    background: none;
    text-align: center;
	font-size: clamp(23px, (100vw - 375px) * 10 / (1280 - 375) + 23px, 35px);
    letter-spacing: 5px;
	display: inline-block;
	position: relative;
}
body.index h2:before {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0; /*下線の上下位置調整*/
	display: inline-block;
	width: 100px; /*下線の幅*/
	height: 5px; /*下線の太さ*/
	-moz-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translate(-50%); /*位置調整*/
	background-color: #679b87;
    border-radius: 50px;
}

body.index .index_about .title{
    color: #5a8f7b;
    font-weight: bold;
	font-size: clamp(19px, (100vw - 375px) * 10 / (1280 - 375) + 19px, 23px);
}

/*otherメニュー設定*/
body.other section.option_top h4 {
    padding: 0;
}

/*page_block
---------------------------------------------------------------------------*/
.pageContentsWrap{
	padding: 1% 2%;
}
.img_box,
.img_box2{
	width: 100%;
}
.img_all_box{
	display:block;
	width:100%;
	margin:auto;
}
.text_contencts {
    width: 100%;
	margin-top: 1rem;
}
.page_text,
.page_text2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	align-items: flex-start;
	column-gap: 30px;
}
.page_all_text{
	display:block;
	width:100%;
}

/*対応エリア・施設利用者の健診*/
.service .img_box2,
.kenshin .img_box2 {
	display: flex;
	justify-content: center;
}
@media screen and (min-width:768px){
	.index_about .img_box2 {
		width: 80%;
		margin: 0 auto;
	}
	.service .img_box2,
	.kenshin .img_box2 {
		width: 80%;
		margin: 0 auto;
	}
}
@media screen and (min-width:1024px){
	.text_contencts {
		width: calc((100% - 30px * 2) /2);
		margin-top: 0;
		font-size: 100%;
	}
	.page_text {
		flex-direction: row;
	}
	.page_text2 {
		flex-direction: row-reverse;
	}
	.img_box,
	.img_box2 {
		width: calc((100% - 30px * 2) /2);
	}
	.index_about .img_box2 {
		width: calc((100% - 30px * 2) /2);
	}
	.service .text_contencts,
	.kenshin .text_contencts {
		width: 55%;
	}
	.service .img_box2,
	.kenshin .img_box2  {
		width: 40%;
	}
	.service.area .text_contencts{
		flex: 1;
	}
	.option_top .pageContentsWrap{
		padding: 0;
	}
}

/*kenshin.phpの設定
---------------------------------------------------------------------------*/
/*利用者健診のbox
--------------------------------*/
.kenshin .box {
    background: #e1fdf2;
    padding: 0.5em;
    text-align: center;
    border-radius: 10px;
}
/*職員健診のテーブル
--------------------------------*/
.kenshin_shokuin_wrap.flex {
	flex-direction: column;
}
table.kenshin_shokuin_table {
    width: 100%;
    border: 1px solid #c7c7c7;
    margin-top: -1px;
    margin-left: -1px;
}
table.kenshin_shokuin_table thead {
    background: #ededed;
}
table.kenshin_shokuin_table thead th{
	padding: 3% 0;
	height: 30px;
}
table.kenshin_shokuin_table tbody {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
	padding: 5%;
}
@media screen and (min-width:768px){
	.kenshin_shokuin_wrap.flex {
		flex-direction: row;
	}
	table.kenshin_shokuin_table {
		width: calc(100% / 3);
	}
}

/*option.phpの設定
---------------------------------------------------------------------------*/
/*topに戻る
--------------------------------*/
.option p.top {
    font-size: 80%;
    background: #efefef;
    padding: 0.2em;
    margin-right: 0;
    margin-left: auto;
    width: 100%;
    display: block;
    text-align: center;
    margin-top: 1em;
}
@media screen and (min-width:768px){
	.option p.top {
		width: 15%;
	}
}

/*お知らせ
---------------------------------------------------------------------------*/
ul.ul_news{
	margin: 0 auto;
}
span.icon.news {
    background: #6f6d6d;
    color: #fff;
    padding: 5px 20px;
    margin-right: 0.5em;
    border-radius: 3px;
}
ul.ul_news .dash_hr {
    border: none;
    border-top: dashed 1px #cccccc;
    height: 1px;
}
span.newicon {
    background: #ff0000;
    color: #fff;
    padding: 5px 10px;
    margin-left: 0.5em;
    border-radius: 3px;
    font-size: 80%;
}

/*検便検査申し込みの流れ
---------------------------------------------------------------------------*/
.flow_wrap {
	justify-content: center;
	align-items: center;
	counter-reset: number 0;
}
.flow_list {
	padding-left: 0;
}
.flow_list > li {
	list-style-type: none;
	background: #f2ffe7;
	padding: 2rem;
}
.flow_list > li:not(:last-child) {
	margin-bottom: 20px;
	position: relative;
}
.flow_list > li:not(:last-child)::after {
	content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    border-top: 50px solid #f2ffe7;
    border-right: 50px solid transparent;
    border-left: 50px solid transparent;
}
.flow_list > li dl dt {
	font-size: 1.3em;
	font-weight: bold;
    border-bottom: 0.5px dashed #ccc;
	padding-bottom: 0.5em;
	margin-bottom: 0.5em;
}
.flow_list > li dl dd {
	margin: 0;
}
.count {
	color: #679b87;
    font-weight: bold;
	margin-right: 1rem;
}
.count::after {
    counter-increment: number 1;
    content: counter(number) " ";
}

/*個人情報保護方針・サイトポリシー
---------------------------------------------------------------------------*/
dl.pp_list,
dl.site_porlicy_list {
	display: flex;
	flex-flow: column;
	width: 100%;
}
.pp_list dt,
.site_porlicy_list dt{
	font-weight: bold;
	font-size: 1.1em;
}
.pp_list dt,
.pp_list dd,
.site_porlicy_list dt,
.site_porlicy_list dd {
	flex-basis: 100%;
}
.pp_list dd,
.site_porlicy_list dd {
	padding: 0 0 20px;
	border-bottom: 1px solid #ccc;
}
.pp_list dt,
.site_porlicy_list dt {
	 padding: 20px 0 0;
}
.pp h3{
	padding: 0 0 2% 0;
}

/*テーブル
---------------------------------------------------------------------------*/
/*会社概要*/
table.table_profile{
	width: 100%;
    text-align: left;
    margin: 0 auto;
	margin: 2% auto;
}
table.table_profile tr{
	border: 1px solid #c7c7c7;
}
table.table_profile th,table.table_profile td {
	display: block;
    border-spacing: 0px;
	width: auto;
	padding: 10px;
}
table.table_profile th{
	background: #ededed;
}
@media screen and (min-width:768px){
	table.table_profile th{
		width: 20%;
	}
	table.table_profile th,table.table_profile td{
		display: table-cell;
		padding: 20px;
	}
}

/*サイトマップ
---------------------------------------------------------------------------*/
dl.sitemap_list {
	display: flex;
	flex-flow: column;
	width: 100%;
}
.sitemap_list dt {
    padding: 10px 20px 0;
	border-bottom: none;
    font-weight: bold;
}
.sitemap_list dt .sm_list {
    position: relative;
    padding-left: 15px;
    color: #666;
    text-decoration: none;
}
.sitemap_list dt .sm_list:before {
    content: "";
    position: absolute;
    top: 0.25em;
    left: 0;
    width: 0;
    height: 0;
    border-width: 6px;
    border-style: solid;
    border-color: transparent transparent transparent #679b87;
}
.sitemap_list dt .sm_clist {
    position: relative;
    padding-left: 15px;
}
.sitemap_list dt .sm_clist:before {
    content: "";
    position: absolute;
    top: 0.45em;
    left: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 5px;
    height: 5px;
    border-top: 2px solid #93c9ff;
    border-right: 2px solid #93c9ff;
}
.sitemap_list dd {
    padding: 10px 20px;
	border-bottom: 1px solid #ccc;
}
@media screen and (min-width:768px){
    dl.sitemap_list{
		flex-flow: row wrap;
		justify-content: center;
	}
    .sitemap_list dt {
		width: 25%;
        border-bottom: 1px solid #ccc;
        padding: 20px;
    }
    .sitemap_list dd {
		width: 65%;
        padding: 20px;
    }
}

/*お問合わせ
---------------------------------------------------------------------------*/
a .tel {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
}
.contact_form .inquiry_form {
    width: 90%;
    margin: 0 auto;
}
.contact_telArea {
    margin-top: 1em;
}
.contact_form .contact_tel_fax {
    margin-bottom: 1em;
}
.contact_form .contact_tel_fax p.txt {
	margin-bottom: 1em;
}
.contact_form .contact_tel_fax .tel {
	font-size: 130%;
    font-weight: bold;
}
.contact_form .contact_item {
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;
    border-bottom-width: 1px;
    border-bottom-style: dashed;
    border-bottom-color: #CCCCCC;
	padding: 20px 0;
}
.contact_form .contact_article {
    font-weight: bold;
    text-align: left;
    padding: 5px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    flex-wrap: wrap;
}
.contact_form span.memo {
    font-weight: normal;
    width: 100%;
}
.contact_form .contact_input_area {
    width: 100%;
    text-align: left;
}
.contact_form .contact_input_area .wrap {
	display: flex;
}
.contact_form .contact_input_area .wrap_radio01 {
    display: flex;
    flex-direction: column;
}
.contact_form .contact_input_area .wrap_radio02 {
    display: flex;
}
.contact_form .contact_input_area span{
    font-size: 90%;
}

.contact_form .contact_article_comments {
	text-align: left;
	font-size: 0.8em;
	padding: 1em 5em;
	clear: both;
}
.contact_form .text_area {
    padding: 2em 0 1em;
}
.contact_form select {
    margin-right: 1rem;
    line-height: 30px;
    outline: none;
    background: #fff;
    padding: 0.5rem;
    border: solid 1px #ccc;
	border-radius: 3px;
}
::placeholder {
	color: #acacac;
}
label {
	white-space: nowrap;
	width: 50%;
}
/*記入枠の色*/
.contact_form .contact_input_area input ,
.contact_form .contact_input_area textarea {
	font-size: 1em;
	color: #666;
	background-color:#fff;
	border: solid 1px #ccc;
	border-radius: 3px;
    box-sizing: border-box;
	font-family: auto;
}
/*必須表示*/
.contact .need {
	padding: 0.1em 0.5em;
    font-size: 0.7em;
    color: #FFFFFF;
    background-color: #F00;
    margin: 0 1em 0 0;
    border-radius: 4px;
}
.contact_form .contact_input_area .input_space_01,
.contact_form .contact_input_area .input_space_03 {
    width: 100%;
    height: 2em;
    padding: 3px 10px;
}
.contact_form .contact_input_area .input_space_02 {
	width:100%;
    padding: 3px 10px;
}

@media screen and (min-width:768px){
    .contact_form .inquiry_form {
        width: 100%;
    }
/*    .contact_form span.memo {
        margin-left: 2em;
    }*/
    .contact_form .contact_article {
        width: 40%;
    }
    .contact_form .contact_input_area {
		width: 55%;
	}
	.contact_form .contact_input_area .input_space_03 {
		width: 70%;
	}
}

/*確認ボタン*/
.contact .btnArea_submit2 {
    clear: both;
    padding-top: 2em;
    flex-wrap: nowrap;
    width: 100%;
    align-items: center;
    justify-content: center;
}
.contact_mailform .btn {
	margin: 1.5em;
}

/*内容確認*/
dl.contact_confirm {
	display: flex;
	flex-flow: column;
	width: 100%;
    text-align: left;
    padding: 2em 0 0;
}
.contact_confirm dt {
	flex-basis: 35%;
    padding: 10px 20px 0;
	border-bottom: none;
    font-weight: bold;
}
.contact_confirm dd {
	flex-basis: 50%;
    padding: 10px 20px;
	border-bottom: 1px solid #ccc;
}

.contact input.btn.btnGY {
	width: 15em;
}

@media screen and (min-width:768px){
    dl.contact_confirm{
		flex-flow: row wrap;
	}
    .contact_confirm dt {
        border-bottom: 1px solid #ccc;
        padding: 20px;
    }
    .contact_confirm dd {
        padding: 20px;
    }
}

/*フッター設定
---------------------------------------------------------------------------*/
footer {
	clear: both;
	text-align: center;
	background: #fffef5;
}
footer a {text-decoration: none;}
footer a:hover {}
footer .pr {display: block;}

footer hr.hrGN {
    border-top: 4px solid #679b87;
    width: 80%;
    margin: 0;
}

/*アドレスエリア*/
footer .footerAddress {
    width: 100%;
}
footer ul.addressArea.flex {
	align-items: flex-start;
    column-gap: 40px;
    flex-wrap: wrap;
    justify-content: center;
	padding-bottom: 10%;
}
footer ul.addressArea.flex li {
    width: 100%;
    text-align: left;
}
footer img.footerLogo {
    width: 65%;
}
footer ul.addressArea.flex li.addressArea_add p {
	padding: 1rem 0;
}
footer .addressArea_add span.footerTel {
    color: #679b87;
    font-size: clamp(25px, (100vw - 375px) * 10 / (1280 - 375) + 25px, 35px);
}
@media screen and (min-width:768px){
	footer ul.addressArea.flex li.addressArea_map {
		margin-bottom: 0;
	}
}

/*見積もり依頼ボタン*/
footer span.footer_contact a {
	display: none;
}
@media screen and (min-width:768px){
	footer span.footer_contact a {
		text-decoration: none;
		display: inline-block;
		background: #ff9626;
		color: #FFF;
		padding: 10px;
		border-radius: 4px;
		border: 1px solid #ff9626;
		width: 50%;
		text-align: center;
	}
}

/*マウスオン時*/
footer span.footer_contact a:hover {
	color: #555555;	/*文字色*/
	background: #fff;	/*背景色*/
}
@media screen and (min-width:768px){
	footer ul.addressArea li.addressArea_add {
		width: 50%;
	}
	footer ul.addressArea li.addressArea_map {
		width: 40%;
	}
	footer ul.addressArea.flex {
		padding-bottom: 0%;
	}
}

/*siteMapエリア*/
footer nav.footernav {
	display: none;
}
@media screen and (min-width:1280px){
	footer nav.footernav {
		display: block;
		background: #fffef5;
		font-size: 85%;
	}
	footer nav.footernav .inner.flex {
		justify-content: center;
		padding: 1% 0;
		border-top: 1px solid #dfdfdf;
	}
	footer nav.footernav ul.title {
		margin: 0 1%;
	}
}

/*コピーライトエリア*/
footer .footerCopyright {
	padding: 1% 0;
    font-size: 50%;
    background: #679b87;
    color: #fff;
}
footer .footerCopyright img{
	display: none;
}

/*login_form_top_block.php*/
table.login_wrap {
	margin: 1% auto;
	width: 90%;
}

/*スマホフローティング*/
footer .smart-only.footerFloatingMenu {
    display: block;
    width: 100%;
    position: fixed;
    left: 0px;
    bottom: 0;
    z-index: 9999;
    text-align: center;
    background: #679b87;
	border-top: 2px solid #fff;
}
footer .smart-only.footerFloatingMenu .flex {
    justify-content: center;
    align-items: center;
	padding: 1em 0;
}
footer .smart-only.footerFloatingMenu i.fas {
    font-size: 1.3em;
    color: #fff;
    padding-top: 0.3em;
}
.smart-only.footerFloatingMenu .btn {
	width: 85%;
    padding: 0.5em;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border-radius: 50px;
    margin: 0 1em;
    font-size: 80%;
}

/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
/*アニメーションのキーグレーム設定（変更不要）*/
@keyframes scroll {
0% {opacity: 0;}
100% {opacity: 1;}
}

	/*デフォルトでは非表示に*/
	body .nav-fix-pos-pagetop a {display: none;}
	/*ボタンの設定*/
	body.is-fixed-pagetop .nav-fix-pos-pagetop a {
		display: block;
		text-decoration: none;
		text-align: center;
		z-index: 100;
		position: fixed;
		width: 50px;		/*幅*/
		line-height: 50px;	/*高さ*/
		bottom: 120px;		/*下から50pxの場所に配置*/
		right: 3%;			/*右から3%の場所に配置*/
		background: #000;	/*背景色（古いブラウザ用）*/
		background: rgba(0,0,0,0.6);	/*背景色。0,0,0は黒の事で0.6は透明度60%の事。*/
		color: #fff;		/*文字色*/
		border-radius: 50%;
		border: 1px solid #fff;	/*枠線の幅、線種、色*/
		animation-name: scroll;	/*上のアニメーションで指定しているkeyframesの名前（scroll）*/
		animation-duration: 1S;	/*アニメーションの実行時間*/
		animation-fill-mode: forwards;	/*アニメーションの完了後、最後のキーフレームを維持する*/
	}
	/*マウスオン時*/
	body.is-fixed-pagetop .nav-fix-pos-pagetop a:hover {
		background: #999;	/*背景色*/
	}

	@media screen and (min-width:900px){
		body.is-fixed-pagetop .nav-fix-pos-pagetop a {
			bottom: 50px;		/*下から50pxの場所に配置*/
		}
	}


@media screen and (max-width:767px){
/*fixmenu設定（メニューが画面上部に到達した際のスタイル）
---------------------------------------------------------------------------*/
/*fixmenuから折りたたみメニューになるのでリセット。*/
body.is-fixed-menu header,body.is-fixed header {margin-bottom: 0px;}

/*メインメニュー
---------------------------------------------------------------------------*/
/*アニメーションのフレーム設定。全100コマアニメーションだと思って下さい。透明(0%)から色を100%出すアニメーション指定。*/
@keyframes menu1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}
/*スマホ用メニューを非表示から表示に切り替える*/
#menubar-s {
	display: block;overflow: hidden;
	position: absolute;
	border-top: 1px solid #fff;
	width: 100%;
	z-index: 10;
	animation-name: menu1;		/*上のkeyframesの名前*/
	animation-duration: 0.5S;	/*アニメーションの実行時間。0.5秒。*/
	animation-fill-mode: both;	/*アニメーションの完了後、最後のキーフレームを維持する*/
}
/*メニュー１個あたりの設定*/
#menubar-s li a {
	display: block;text-decoration: none;
	padding: 15px 5%;
	border-bottom: 1px solid #fff;
    background: #2b2f2de3;
	color: #fff;
}
/*PC用メニューを非表示にする*/
#menubar {
	display: none;
}

/*３本バーアイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
#menubar_hdr {
	display: block;
	position: absolute;
	top: 4%;	/*上から3%の場所に配置*/
	right: 3%;	/*右から3%の場所に配置*/
}
/*アイコン共通設定*/
#menubar_hdr.close,
#menubar_hdr.open {
	width: 50px;	/*幅*/
	height: 50px;	/*高さ*/
	border: 1px solid #000;	/*枠線の幅、線種、色*/
}
/*三本バーアイコン*/
#menubar_hdr.close {
	background: #fff url(../images/icon_menu.png) no-repeat center top/50px;
}
/*閉じるアイコン*/
#menubar_hdr.open {
	background: #fff url(../images/icon_menu.png) no-repeat center bottom/50px;
}
}
