@charset "utf-8";

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
 Body
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
body {
	position: relative;
	overflow: hidden;
	font-size: 100%;
	word-wrap: break-word;
	-webkit-overflow-scrolling: touch;
	-webkit-text-size-adjust: none;
}
a {
	color: #000;
	text-decoration: none;
}
a:hover {
	text-decoration: none;
	opacity: 1;
	filter: alpha(opacity=100);
	-moz-opacity: 1;
}
.pc, .nobr {
	display: none!important;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
 Header
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
header {
	position: fixed;
    width: 100%;
	height: 60px;
	display: flex;
		justify-content: flex-start;
        align-content: center;
		align-items: center;
    z-index: 20000;
    background: #fff;
}
header .header_bg {
	display: none;
}
header a.headerLogo {
	position: absolute;
    width: calc(100% - 185px);
    height: 32px;
    left: 5px;
	display: flex;
		justify-content: center;
        align-content: center;
		align-items: center;
    z-index: 20000;
    background: url("../images/logo.svg") no-repeat left center;
    background-size: contain;
}
header a.btn {
	position: absolute;
    width: 60px;
    height: 36px;
    top: 12px;
	display: flex;
		justify-content: center;
        align-content: center;
		align-items: center;
        flex-wrap: wrap;
	font-size: 0.8em;
	line-height: 1em;
	color: #fff;
	border-radius: 2px;
	background: #133571;
	box-sizing: border-box;
}
header a.btn.service {
	right: 115px;
}
header a.btn.customer {
	right: 50px;
}
header a.btn::after {
	content: 'CONTACT';
	width: 80%;
	display: block;
	padding-top: 5px;
	font: 200 0.6em/1em "avenir-lt-pro", sans-serif;
	letter-spacing: 0.05em;
	text-align: center;
}
header a.btn:hover,
body.home header a.btn:hover {
	background: #549bef;
	transition: all 200ms;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【ヘッダー】グローバルナビ
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
.openMenu {
	position: fixed;
	width: 100%;
	top: 0;
	right: 0;
    z-index: 20000;
}
.btn_nav {
	position: absolute;
	width: 40px;
	height: 40px;
	top: 10px;
	right: 5px;
    border-radius: 20px;
    background: rgba(255,255,255,1);
}
.open_nav,
.close_nav {
	display: flex;
		justify-content: center;
        align-content: center;
		align-items: center;
	cursor: pointer;
}
.open_nav .line1,
.open_nav .line2,
.open_nav .line3 {
	position: absolute;
	width: 24px;
	height: 1px;
	left: calc(50% - 12px);
    display: block;
	background: #133571;
	transform: rotate(0deg);
    transition: all 200ms;
}
.open_nav .line1 {
	top: 13px;
}
.open_nav .line2,
.close_nav .line2 {
	top: 20px;
}
.open_nav .line3 {
	top: 27px;
}
.close_nav .line1,
.close_nav .line3 {
	position: absolute;
    width: 28px;
	height: 1px;
    top: 20px;
	left: calc(50% - 14px);
    display: block;
	background: #133571;
    transition: all 200ms;
}
.close_nav .line1 {
	transform: rotate(-45deg);
}
.close_nav .line2 {
	display: none;
}
.close_nav .line3 {
	transform: rotate(45deg);
}
.sp_nav_wrap {
	position: absolute;
	width: 100%;
	height: calc(100vh);
	top: 0;
	right: 0;
	display: none;/*表示・非表示*/
	z-index: 10000;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
	background: #133571;
	box-sizing: border-box;
}
.sp_nav {
	width: 80%;
	height: auto;
	display: block;
	margin: 60px auto 200px;
}
.sp_nav ul.sp_nav_menu,
.sp_nav ul.sp_nav_menu_sub {
	width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
    margin: 0 auto;
}
.sp_nav ul.sp_nav_menu li,
.sp_nav ul.sp_nav_menu_sub li {
	position: relative;
    width: 100%;
	display: block;
}
.sp_nav ul.sp_nav_menu li+li {
	border-top: solid 1px rgba(255,255,255,0.2);
}
.sp_nav ul.sp_nav_menu_sub li {
	border-top: solid 1px rgba(255,255,255,0.2);
}
.sp_nav ul.sp_nav_menu li a,
.sp_nav ul.sp_nav_menu_sub li a {
	position: relative;
	width: 100%;
    height: 60px;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
    font-size: 1.2em;
    line-height: 1em;
	color: #fff;
    letter-spacing: 0.05em;
    box-sizing: border-box;
}
.sp_nav ul.sp_nav_menu li a::after,
.sp_nav ul.sp_nav_menu_sub li a::after {
	position: absolute;
	content: '';
    width: 10px;
    aspect-ratio: 1/1;
	right: 0;
    display: block;
	background: url("../images/arrow.svg") no-repeat center center;
    background-size: contain;
	filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);
}
.sp_nav ul.sp_nav_menu li a:active,
body.home .sp_nav ul.sp_nav_menu li a:active {
	color: #549bef;
	transition: all 200ms;
}
.sp_nav ul.sp_nav_menu li div.pullDownMenu {
	display: none;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
 Common
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
main {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: space-between;
        align-content: flex-start;
        align-items: flex-start;
		flex-wrap: wrap;
    padding-top: 60px;
}
.wrap {
    position: relative;
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	padding: 40px 0;
}
.block {
	position: relative;
    width: 90%;
    display: flex;
        justify-content: space-between;
        align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
    margin: 0 auto;
}
.reverse {
	
}
.scroll {
	position: relative;
	display: block;
	overflow-x: scroll;
	padding: 1em 0 10px;
}
.scroll::before {
	position: absolute;
	content: '※横にスクロールしてご覧ください。';
	width: 100%;
	top: 5px;
	left: 0;
	display: block;
	font-size: 0.8em;
	line-height: 1em;
}
.bgc_Blue {
	background: #133571;
}
.bgc_lightBlue {
	background: #dae9f2;
}
.bgc_darkBlue {
	background: #060d2d;
}
.bgc_lightGray {
	background: #f7f7f7;
}
.bgy {/*テキスト背景ハイライト色*/
	display: inline;
	padding: 0;
	background: yellow;
}
sup {
	font-size: 0.7em;
}
.anchor {
	position: absolute;
	width: 1px;
	height: 80px;
	top: -80px;
	left: 0;
	display: block;
	opacity: 0;
}
.slash::before {
	content: '/';
	display: inline-block;
	margin: 0 0.5em;
}

/*【共通】ページタイトル*/
.pageTitle {
    position: relative;
    width: 100%;
	display: flex;
		justify-content: flex-start;
        align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	background: #dae9f2;
    box-sizing: border-box;
}
.pageTitle .photo {
    position: relative;
    width: 100%;
	height: 160px;
	display: flex;
		justify-content: center;
        align-content: center;
		align-items: center;
}
.pageTitle.short .photo {
	height: 160px;
}
.pageTitle .photo img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: 50% 50%;
}
.pageTitle section {
	position: relative;
	width: 90%;
	display: flex;
		justify-content: flex-start;
        align-content: flex-start;
        align-items: flex-start;
		flex-wrap: wrap;
	z-index: 1000;
	margin: -20px auto 20px;
	padding: 40px 5% 20px;
	background: url("../images/page_title_bg.webp") no-repeat right top;
	background-size: cover;
	box-sizing: border-box;
	box-shadow: 5px 5px 20px rgba(0,0,0,0.2);
}
.pageTitle section::before {
	position: absolute;
	content: '';
	width: 10%;
	aspect-ratio: 14/23;
	top: 10px;
	left: 10px;
	display: block;
    background: url("../images/midtitle_deco.svg") no-repeat center center;
	background-size: contain;
	filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);
	opacity: 0.3;
}
.pageTitle section .title {
    position: relative;
    width: 100%;
	display: flex;
		justify-content: flex-start;
        align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	color: #fff;
    box-sizing: border-box;
}
.pageTitle section .title .en {
	width: 100%;
	display: block;
	margin-bottom: 10px;
	font-family: "avenir-lt-pro", sans-serif;
	font-size: 2.4em;
	font-weight: 200;
	line-height: 1em;
}
.pageTitle section h2 {
    width: 100%;
	display: block;
    font-size: 1.2em;
	font-weight: 400;
	line-height: 1.2em;
	font-feature-settings: "palt";
}
.pageTitle section h2 span {
    width: 100%;
	display: block;
	margin-top: 10px;
    font-size: 1.1em;
	font-weight: 700;
	color: #549bef;
}
.pageTitle section ul.menu {
    width: 100%;
	display: flex;
		justify-content: flex-start;
        align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	margin-top: 20px;
	padding: 15px 0;
	border-top: solid 5px rgba(255,255,255,0.5);
	/*border-bottom: solid 5px rgba(255,255,255,0.5);*/
    box-sizing: border-box;
}
.pageTitle section ul.menu li {
    width: 100%;
	display: block;
}
.pageTitle section ul.menu li a {
    position: relative;
    width: 100%;
	display: flex;
		justify-content: flex-start;
        align-content: center;
		align-items: center;
	padding: 5px 0 5px 20px;
	font-size: 1.1em;
	color: #fff;
	box-sizing: border-box;
}
/*法人のお客さまへ*/
#service .pageTitle section ul.menu li a {
    padding: 5px 0 5px 20px;
}
.pageTitle section ul.menu li a::before {
	position: absolute;
	content: '';
    width: 10px;
    height: 10px;
	left: 0;
    display: block;
    margin-left: 5px;
	background: url("../images/arrow.svg") no-repeat center center;
    background-size: contain;
	filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);
}
.pageTitle section ul.menu li a:hover {
    color: #549bef;
	transition: all 200ms;
}

/*【共通】パンくずリスト*/
ul.topicpath {
    display: none;
}

/*【共通】中タイトル*/
.midTitle {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	margin: 20px 0;
	text-align: left;
	color: #133571;
}
.midTitle h3 {
	position: relative;
	width: 100%;
	min-height: 40px;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
    font-size: 1.5em;
	font-weight: bold;
	line-height: 1.2em;
	font-feature-settings: "palt";
}
.midTitle h3::before {
	position: absolute;
	content: '';
	width: 16px;
	aspect-ratio: 14/23;
	top: -14px;
	left: -14px;
	display: block;
    background: url("../images/midtitle_deco.svg") no-repeat center center;
	background-size: contain;
	filter: invert(16%) sepia(18%) saturate(6498%) hue-rotate(204deg) brightness(95%) contrast(96%);
}
.midTitle span {
	position: relative;
	width: auto;
	display: block;
	padding: 5px 0 20px;
    font: 200 1em/1em "avenir-lt-pro", sans-serif;
	color: #698fbc;
}
.midTitle span::after {
	position: absolute;
	content: '';
	width: 70px;
	height: 1px;
	bottom: 0px;
	display: block;
	margin: 0;
    background: #133571;
}

/*【共通】ボタンデザイン*/
.btnBlock {
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
}
a.btnDetail {
	position: relative;
	width: auto;
	min-width: 200px;
    height: 50px;
	display: flex;
		justify-content: center;
        align-content: center;
		align-items: center;
        flex-wrap: wrap;
	padding: 0;
	font-size: 1.2em;
	line-height: 1.2em;
	transition: 0.3s;
	color: #fff;
	border: solid 1px rgba(255,255,255,0.5);
	border-radius: 3px;
	background-color: #133571;
	box-sizing: border-box;
	box-shadow: 3px 3px 0 rgba(0,0,0,0.2);
}
a.btnDetail.white {
	color: #133571;
	background: #fff;
}
a.btnDetail::after {
	position: absolute;
	content: '';
	width: 12px;
	aspect-ratio: 1/1;
	right: 10px;
	background: url("../images/arrow.svg") no-repeat center center;
	background-size: contain;
	filter: invert(100%) sepia(0%) saturate(715%) hue-rotate(101deg) brightness(113%) contrast(108%);
}
a.btnDetail.down::after {
	transform: rotate(90deg);
}
a.btnDetail.white::after {
	filter: invert(16%) sepia(18%) saturate(6498%) hue-rotate(204deg) brightness(95%) contrast(96%);
}
a.btnDetail.white:hover::after {
	filter: invert(100%) sepia(0%) saturate(715%) hue-rotate(101deg) brightness(113%) contrast(108%);
}
a.btnDetail.pdf {
	padding: 0 10px 0 30px;
	text-align: center;
}
a.btnDetail.pdf::after {
	width: 20px;
	right: inherit;
	left: 10px;
	background: url("../images/icon_pdf.svg") no-repeat center center;
	background-size: contain;
	filter: invert(100%) sepia(0%) saturate(715%) hue-rotate(101deg) brightness(113%) contrast(108%);
}
a.btnDetail.white.pdf::after {
	filter: invert(16%) sepia(18%) saturate(6498%) hue-rotate(204deg) brightness(95%) contrast(96%);
}
a.btnDetail.download::after {
	width: 16px;
	background: url("../images/icon_download.svg") no-repeat center center;
	background-size: contain;
	filter: invert(100%) sepia(0%) saturate(715%) hue-rotate(101deg) brightness(113%) contrast(108%);
}
a.btnDetail.linkout::after {
	width: 17px;
	background: url("../images/icon_linkout.svg") no-repeat center center;
	background-size: contain;
	filter: invert(16%) sepia(18%) saturate(6498%) hue-rotate(204deg) brightness(95%) contrast(96%);
}
a.btnDetail span {
	position: relative;
}
a.btnDetail.white:hover span {
	color: #fff;
}
a.btnDetail::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: block;
	transform: scaleX(0);
	transform-origin: right;
	transition: all 0.3s ease;
	transition-property: transform;
	background: #549bef;
	box-sizing: border-box;
}
a.btnDetail:hover::before {
	transform: scaleX(1);
	transform-origin: left;
}
a.btnDetail.faq,
a.btnDetail.entry,
a.btnDetail.backnumber,
a.btnDetail.mail,
a.btnDetail.login {
	padding: 0 10px 0 20px;
}
a.btnDetail.entry {
	
}
a.btnDetail.faq img,
a.btnDetail.entry img,
a.btnDetail.backnumber img,
a.btnDetail.mail img,
a.btnDetail.login img {
	position: absolute;
	width: 20px;
	left: 10px;
	filter: invert(100%) sepia(0%) saturate(715%) hue-rotate(101deg) brightness(113%) contrast(108%);
}
a.btnDetail.mail img {
	width: 24px;
}
a.btnDetail.login img {
	width: 24px;
}

/*透明ボタン*/
a.btnTrans {
	position: absolute;
    width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: block;
	z-index: 1000;
	background: #fff;
	opacity: 0;
	transition: all 200ms;
}
a.btnTrans:active {
	transition: all 200ms;
	opacity: 0.5;
}


/*テキストリンク（矢印）*/
a.linkArrow,
a.linkBack,
a.linkPDF,
a.linkOut {
	position: relative;
	width: auto;
	min-height: 24px;
	display: flex;
		justify-content: flex-start;
        align-content: center;
		align-items: center;
	margin: 10px 0;
	padding-right: 30px;
	font-size: 1em;
	line-height: 1em;
	box-sizing: border-box;
}
a.linkOut {
	padding-right: 30px;
}
a.linkOut.alignR {
	margin: 10px 0 10px auto;
}
a.linkBack {
	padding-left: 30px;
}
a.linkArrow:hover,
a.linkBack:hover,
a.linkPDF:hover,
a.linkOut:hover {
	text-decoration: underline;
	color: #06c;
}
a.linkArrow::before,
a.linkArrow::after,
a.linkBack::before,
a.linkBack::after {
	position: absolute;
	content: '';
    width: 24px;
	aspect-ratio: 1/1;
    display: block;
}
a.linkArrow::before,
a.linkArrow::after {
	right: 0;
}
a.linkBack::before,
a.linkBack::after {
	left: 0;
}
a.linkArrow::before,
a.linkBack::before {
	border-radius: 12px;
	background: #133571;
}
a.linkArrow::after,
a.linkBack::after {
	background: url("../images/arrow.svg") no-repeat center center;
	background-size: 10px 10px;
	filter: invert(100%) sepia(0%) saturate(2%) hue-rotate(171deg) brightness(104%) contrast(101%);
}
a.linkBack::after {
	transform: scaleX(-1);
}
a.linkPDF::after {
	position: absolute;
	content: '';
    width: 20px;
	aspect-ratio: 1/1;
	right: 0;
    display: block;
	background: url("../images/icon_pdf.svg") no-repeat center center;
	background-size: contain;
	filter: invert(16%) sepia(18%) saturate(6498%) hue-rotate(204deg) brightness(95%) contrast(96%);
}
a.linkOut::after {
	position: absolute;
	content: '';
    width: 16px;
	aspect-ratio: 1/1;
	right: 0;
    display: block;
	background: url("../images/icon_linkout.svg") no-repeat center center;
	background-size: contain;
	filter: invert(16%) sepia(18%) saturate(6498%) hue-rotate(204deg) brightness(95%) contrast(96%);
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【共通】全支店電話番号
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
ul.commonTel {
	width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	margin: 0 auto;
}
ul.commonTel li {
	width: 49%;
    display: flex;
		justify-content: center;
		align-content: flex-end;
		align-items: flex-end;
		flex-wrap: wrap;
	margin: 0;
	padding: 15px 0;
	font-size: 1em;
	line-height: 1.6em;
	text-align: center;
	border-bottom: solid 1px #ccc;
}
ul.commonTel li span {
	width: 100%;
    display: block;
	margin-bottom: 5px;
	font-size: 0.8em;
	line-height: 1.2em;
	text-align: center;
}
ul.commonTel li a {
	display: inline-block;
	margin-left: 5px;
	font-size: 1.1em;
	line-height: 1.5em;
}
ul.commonTel p {
	width: 100%;
    display: block;
	margin: 20px 0;
	font-size: 0.8em;
	line-height: 1.6em;
	text-align: center;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【共通】コンテンツメニュー
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
.contentsMenu {
	position: relative;
    width: 100%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	background: #133571;
}
.contentsMenu .block {
	justify-content: flex-start;
}
.contentsMenu .contentsMenu_title {
	position: relative;
    width: 100%;
	height: 100px;
    display: flex;
		justify-content: flex-start;
		align-content: flex-end;
		align-items: flex-end;
        flex-wrap: wrap;
	padding: 20px;
	color: #fff;
	border-left: solid 1px #fff;
	box-sizing: border-box;
}
.contentsMenu .contentsMenu_title .en {
	width: 100%;
	display: block;
	margin-bottom: 10px;
	font-family: "avenir-lt-pro", sans-serif;
	font-size: 2em;
	font-weight: 200;
	line-height: 1em;
}
.contentsMenu .contentsMenu_title .jp {
    width: 100%;
	display: block;
    font-size: 1em;
	font-weight: 400;
	line-height: 1.2em;
}
.contentsMenu ul {
    width: 100%;
	display: flex;
		justify-content: flex-start;
        align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	margin: 20px 0;
	padding-left: 10px;
    box-sizing: border-box;
}
.contentsMenu ul li {
    width: 100%;
	display: block;
}
.contentsMenu ul li a {
    position: relative;
    width: 100%;
	display: flex;
		justify-content: flex-start;
        align-content: center;
		align-items: center;
	padding: 5px 0 5px 20px;
	font-size: 1.2em;
	color: #fff;
	box-sizing: border-box;
}
.contentsMenu ul li a::before {
	position: absolute;
	content: '';
    width: 10px;
    height: 10px;
	left: 0;
    display: block;
    margin-left: 5px;
	background: url("../images/arrow.svg") no-repeat center center;
    background-size: contain;
	filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);
}
.contentsMenu ul li a:hover {
    color: #549bef;
	transition: all 200ms;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【共通】コピー／テキスト
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
.commonText,
.commonText.half {
	position: relative;
    width: 90%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin: 0 auto;
}
.commonText .copy {
	width: 100%;
    display: block;
	margin-bottom: 20px;
	font: 500 1.5em/1.4em "source-han-serif-japanese", "游明朝", "Yu Mincho", serif;
	font-feature-settings: "palt";
	text-align: center;
	color: #133571;
}
.commonText .read {
	width: 100%;
    display: block;
	font-size: 1.4em;
    line-height: 1.6em;
    text-align: justify;
}
.commonText .text {
	width: 100%;
    display: block;
	font-size: 1.2em;
    line-height: 1.6em;
    text-align: justify;
}
.commonText .note {
    width: calc(100% - 1em);
	display: block;
	margin: 20px 0 0 auto;
    font-size: 0.8em;
	line-height: 1.2em;
}
.commonText .note::before {
    content: '※';
	display: inline-block;
    text-indent: -1em;
}
figure.commonPhoto {
	width: 70%;
	display: block;
	margin: 0 auto 20px;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【共通】注釈
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
ul.note,
ol.note {
	width: 100%;
	display: flex;
		justify-content: flex-start;
        align-content: flex-start;
        align-items: flex-start;
		flex-wrap: wrap;
	margin: 5px 0;
}
ol.note {
	counter-reset: note;
}
ul.note li,
ol.note li {
    display: list-item;
	margin: 5px 0 5px auto;
    font-size: 1.2em;
	line-height: 1.4em;
}
ul.note li {
    width: calc(100% - 1em);
}
ol.note li {
    width: calc(100% - 2em);
	list-style: none;
    counter-increment: note;
}
ul.note li::before {
    content: '※';
	display: inline-block;
    text-indent: -1em;
}
ol.note li::before {
    content: "※" counter(note);
	display: inline-block;
	text-indent: -2em;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【Home】ニセ調査員にご注意！
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
.overlay {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: none;
	z-index: 90000;
	background: rgba(0,0,0,0.5);
}
.btn_area {
	position: absolute;
	width: 90%;
	aspect-ratio: 2/1;
	top: 50%;
	left: 50%;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
	z-index: 90000;
	transform: translate(-50%,-50%);
	box-sizing: border-box;
}
.btn_area img {
	width: 100%;
	display: block;
}
.btn_area button {
	position: absolute;
	width: 30px;
	height: 30px;
	top: -10px;
	right: -5px;
	display: block;
	font-size: 1.6em;
	line-height: 30px;
	text-align: center;
	color: #fff;
	cursor: pointer;
	border: none;
	border-radius: 15px;
	background: #000;
	transition: all 200ms;
}
.btn_area button:hover {
	color: #000;
	background: #fff;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【Home】共通
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#home {
	padding: 0;
}
#home .homeTitle,
#home .homeTitle_side {
	width: auto;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	margin: 10px auto;
	text-align: center;
	color: #133571;
}
#home .homeTitle.white,
#home .homeTitle_side.white {
	color: #fff;
}
#home .homeTitle span,
#home .homeTitle_side span {
	position: relative;
	width: auto;
	display: block;
    font: 200 1.5em/1em "avenir-lt-pro", sans-serif;
	letter-spacing: 0.05em;
}
#home .homeTitle span::before,
#home .homeTitle_side span::before {
	position: absolute;
	content: '';
	width: 16px;
	aspect-ratio: 14/23;
	top: -16px;
	left: -20px;
	display: block;
    background: url("../images/midtitle_deco.svg") no-repeat center center;
	background-size: contain;
	filter: invert(16%) sepia(18%) saturate(6498%) hue-rotate(204deg) brightness(95%) contrast(96%);
}
#home .homeTitle.white span::before,
#home .homeTitle_side.white span::before {
	filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);
}
#home .homeTitle h2,
#home .homeTitle_side h2 {
	width: 100%;
	height: 40px;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
    font-size: 1.2em;
	line-height: 1em;
}
#home .homeTitle h2::before,
#home .homeTitle h2::after,
#home .homeTitle_side h2::before,
#home .homeTitle_side h2::after {
	content: '';
	width: 30px;
	height: 1px;
	display: block;
	margin: 0 10px;
    background: #133571;
}
#home .homeTitle.white h2::before,
#home .homeTitle.white h2::after,
#home .homeTitle_side.white h2::before,
#home .homeTitle_side.white h2::after {
	background: #fff;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【Home】メインビジュアル
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#home .mainVisual {
	position: relative;
	width: 100%;
	height: calc(100vh - 60px);
	/*max-height: 1280px;*/
	display: flex;
		justify-content: center;
        align-content: center;
        align-items: center;
        flex-wrap: wrap;
	z-index: 1000;
    box-sizing: border-box;
}

/*スライド*/
#home .mainVisual ul.bxslider {
	position: relative;
	width: 100%;
    display: block;
}
#home .mainVisual ul.bxslider li {
	position: relative;
	width: 100%;
    display: flex;
		justify-content: space-between;
        align-content: center;
        align-items: center;
}
#home .mainVisual ul.bxslider li img.image {
	width: 100%;
    height: calc(100vh - 60px);
	/*max-height: 1280px;*/
	display: block;
	object-fit: cover;
}
#home .mainVisual ul.bxslider li:nth-of-type(1) img.image {
	object-position: 55% 100%;
}
#home .mainVisual ul.bxslider li:nth-of-type(2) img.image {
	object-position: 25% 100%;
}
#home .mainVisual ul.bxslider li:nth-of-type(3) img.image {
	object-position: 50% 70%;
}
#home .mainVisual ul.bxslider li img.copy {
	position: absolute;
	display: block;
	filter: drop-shadow(0 0 10px rgba(0,0,0,1));
}
#home .mainVisual ul.bxslider li:nth-of-type(1) img.copy {
	width: 60%;
	top: 40%;
	left: 5%;
}
#home .mainVisual ul.bxslider li:nth-of-type(2) img.copy {
	width: 75%;
	top: 15%;
	right: 5%;
}
#home .mainVisual ul.bxslider li:nth-of-type(3) img.copy {
	width: 70%;
	top: 15%;
	right: 5%;
}

/*-- 【Home】お知らせ --*/
#home .homeNews {
    position: absolute;
	width: 90%;
	bottom: 20px;
	display: flex;
		justify-content: space-between;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
	margin: 0 auto;
	padding: 20px 5%;
	background: rgba(255,255,255,0.9);
	background-size: cover;
    box-sizing: border-box;
}
#home .homeNews .homeNews_title {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: center;
		align-items: center;
}
#home .homeNews h2 {
	width: 100%;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin-bottom: 20px;
	padding-bottom: 20px;
    font: 200 2em/1em "avenir-lt-pro", sans-serif;
    color: #133571;
	border-bottom: solid 1px #133571;
}
#home .homeNews dl {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
}
#home .homeNews dl dt {
	position: relative;
    width: 100%;
	display: block;
	margin-bottom: 10px;
	font-size: 1.1em;
	line-height: 1.2em;
}
#home .homeNews dl dd {
	width: 100%;
	display: block;
	font-size: 1.2em;
	line-height: 1.4em;
}
#home .homeNews dl dd a:hover {
	text-decoration: underline;
    color: #06c;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【Home】ピックアップ
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#home .homePickup {
	position: relative;
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	padding: 40px 0;
    background: url("../images/top/pickup_bg.webp") no-repeat center center;
	background-size: cover;
}
#home .homePickup p {
	width: 100%;
	display: block;
	margin-bottom: 20px;
	font-size: 1.5em;
	line-height: 1.4em;
	text-align: center;
	color: #fff;
}

/*スライド*/
#home .homePickup ul.slider_pickup {
    position: relative;
    width: 96%;
    display: block;
	margin: 0 auto 30px;
}
#home .homePickup ul.slider_pickup li {
	width: auto;
    display: inline-block;
    margin: 0 10px;
}
#home .homePickup ul.slider_pickup li img {
    width: 100%;
	aspect-ratio: 5/3;
	display: block;
    object-fit: cover;
	object-position: 50% 50%;
	border-radius: 4px;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
#home .homePickup ul.slider_pickup li a:hover {
    opacity: 0.5;
    transition: all 200ms;
}
#home .homePickup ul.slider_pickup li span {
	width: 100%;
	display: block;
	margin-top: 10px;
	font-size: 1.2em;
	line-height: 1.2em;
	text-align: center;
	color: #fff;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【Home】事業内容
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#home .homeService {
	position: relative;
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	padding: 40px 0 80px;
    background: url("../images/top/service_bg.webp") no-repeat right 20% center;
	background-size: cover;
}
#home .homeService dl {
	position: relative;
    width: 100%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin: 20px 0;
	color: #fff;
}
#home .homeService dl dt {
	width: 100%;
    display: block;
	font-family: "source-han-serif-japanese", "游明朝", "Yu Mincho", serif;
	font-size: 1.5em;
	font-weight: 500;
	line-height: 1.4em;
	letter-spacing: 0.1em;
	font-feature-settings: "palt";
	text-align: center;
}
#home .homeService dl dd {
	width: 100%;
    display: block;
	margin: 15px 0;
	font-size: 1.2em;
    line-height: 1.6em;
    text-align: justify;
}
#home .homeService ul {
	position: relative;
    width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
}
#home .homeService ul li {
	position: relative;
    width: 49%;
    display: block;
	margin: 5px 0;
}
#home .homeService ul li:nth-of-type(1) {
	width: 100%;
}
#home .homeService ul li a {
	position: relative;
	width: 100%;
    height: 80px;
	display: flex;
		justify-content: flex-start;
        align-content: center;
		align-items: center;
        flex-wrap: wrap;
	padding: 10px 0 20px 10px;
	font-size: 1.2em;
	font-weight: 700;
	line-height: 1.2em;
	font-feature-settings: "palt";
	border: solid 1px rgba(255,255,255,0.5);
	border-radius: 3px;
	background: url("../images/light_bulb.svg") no-repeat left center #fff;
	background-size: 60%;
	box-sizing: border-box;
	box-shadow: 3px 3px 0 rgba(0,0,0,0.2);
}
#home .homeService ul li:nth-of-type(1) a {
	height: 60px;
	padding: 10px 0 10px 10px;
	background: #133571;
}
#home .homeService ul li:nth-of-type(1) a br {
	display: none;
}
#home .homeService ul li a::after {
	position: absolute;
	content: 'Read More';
	width: auto;
	height: 20px;
	bottom: 5px;
	right: 10px;
	display: block;
	padding-right: 20px;
	font-size: 0.6em;
	line-height: 20px;
	background: url("../images/arrow.svg") no-repeat right center;
	background-size: 12px 12px;
	box-sizing: border-box;
	filter: invert(16%) sepia(18%) saturate(6498%) hue-rotate(204deg) brightness(95%) contrast(96%);
}
#home .homeService ul li:nth-of-type(1) a::after {
	filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);
}
#home .homeService ul li a:hover::after {
	filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);
}
#home .homeService ul li a span {
	position: relative;
}
#home .homeService ul li:nth-of-type(1) a span {
	display: flex;
		justify-content: flex-start;
        align-content: center;
		align-items: center;
	color: #fff;
}
#home .homeService ul li:nth-of-type(1) a span::before {
	content: '';
	width: 36px;
	aspect-ratio: 1/1;
	display: inline-block;
	margin-right: 10px;
	background: url("../images/icon_contact_hojin.svg") no-repeat center center;
	background-size: contain;
	filter: invert(100%) sepia(0%) saturate(715%) hue-rotate(101deg) brightness(113%) contrast(108%);
}
#home .homeService ul li a:hover span {
	color: #fff;
}
#home .homeService ul li a::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: block;
	transform: scaleX(0);
	transform-origin: right;
	transition: all 0.3s ease;
	transition-property: transform;
	background: #549bef;
	box-sizing: border-box;
}
#home .homeService ul li a:hover::before {
	transform: scaleX(1);
	transform-origin: left;
}
#home .homeService a.linkArrow {
	position: absolute;
	bottom: -60px;
	right: 0;
	font-size: 1.2em;
	color: #fff;
}
#home .homeService a.linkArrow::before {
	border-radius: 15px;
	border: solid 1px #fff;
	border-radius: 15px;
	background: transparent;
	box-sizing: border-box;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【Home】沖縄電気保安協会について
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#home .homeAbout {
	position: relative;
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	padding: 40px 0;
    background: url("../images/top/about_bg.webp") no-repeat center top;
	background-size: cover;
}
#home .homeAbout .textBox {
	position: relative;
    width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	z-index: 1000;
	margin: 20px 0;
}
#home .homeAbout .textBox dl {
	position: relative;
    width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin-bottom: 40px;
	color: #fff;
}
#home .homeAbout .textBox dl dt {
	width: 100%;
    display: block;
	font-family: "source-han-serif-japanese", "游明朝", "Yu Mincho", serif;
	font-size: 1.5em;
	font-weight: 500;
	letter-spacing: 0.1em;
	font-feature-settings: "palt";
	text-align: center;
}
#home .homeAbout .textBox dl dd {
	width: 100%;
    display: block;
	margin-top: 20px;
	font-size: 1.2em;
    line-height: 1.6em;
    text-align: justify;
}
#home .homeAbout .textBox a.btnDetail {
	width: 100%;
	margin: 0 auto;
}
#home .homeAbout .mapBox {
	width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: flex-end;
		align-items: flex-end;
		flex-wrap: wrap;
	margin: 0 0 240px;
}
#home .homeAbout .mapBox img:nth-of-type(1) {
    width: 100%;
    display: block;
	margin-bottom: 20px;
}
#home .homeAbout .empty {
	width: 100%;
	aspect-ratio: 3/2;
	display: block;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【Home】お役立ち情報
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#home .homeUseful {
	position: relative;
	width: 90%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
}
#home .homeUseful ul {
	width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
}
#home .homeUseful ul li {
	position: relative;
	width: 48%;
    display: block;
	align-self: stretch;
	margin: 15px 0;
	box-shadow: 0 0 20px rgba(0,0,0,0.1);
}
#home .homeUseful ul li a {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: center;
        align-content: center;
		align-items: center;
		flex-wrap: wrap;
	overflow: visible;
	padding: 10px 0;
	font-size: 1.3em;
	font-weight: 600;
	line-height: 1.2em;
	text-align: center;
	font-feature-settings: "palt";
	color: #133571;
	border-radius: 10px;
	background: #fff;
	box-sizing: border-box;
}
#home .homeUseful ul li a:hover {
	color: #549bef;
}
#home .homeUseful ul li a img {
	position: relative;
	width: 50%;
	display: block;
	filter: invert(16%) sepia(18%) saturate(6498%) hue-rotate(204deg) brightness(95%) contrast(96%);
}
#home .homeUseful ul li a:hover img {
	filter: invert(53%) sepia(75%) saturate(573%) hue-rotate(183deg) brightness(95%) contrast(97%);
	opacity: 1;
}
#home .homeUseful ul li a span {
	width: 100%;
	display: block;
	margin: 10px 0;
}
#home .homeUseful ul li a::before,
#home .homeUseful ul li a::after {
	position: absolute;
	content: '';
    width: 30px;
	aspect-ratio: 1/1;
	bottom: -15px;
    display: block;
}
#home .homeUseful ul li a::before {
	border-radius: 20px;
	background: #133571;
}
#home .homeUseful ul li a:hover::before {
	background: #549bef;
	transition: all 200ms;
}
#home .homeUseful ul li a::after {
	background: url("../images/arrow.svg") no-repeat center center;
	background-size: 12px 12px;
	filter: invert(100%) sepia(0%) saturate(2%) hue-rotate(171deg) brightness(104%) contrast(101%);
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【Home】広報誌「電気と保安」
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#home .homeMagazine {
	width: 90%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
}
#home .homeMagazine .homeTitle_side {
	margin-bottom: 40px;
}
#home .homeMagazine .new_vol {
	position: relative;
	width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin-bottom: 40px;
}
#home .homeMagazine .new_vol img {
	position: relative;
	width: 60%;
    display: block;
	margin: 0 auto;
}
#home .homeMagazine .new_vol::before {
	position: absolute;
	content: '';
	width: 60px;
	aspect-ratio: 1/1;
	top: -20px;
	left: 5%;
    display: block;
	z-index: 1000;
	background: url("../images/pr-media/mark_new.svg") no-repeat center center;
	background-size: contain;
}
#home .homeMagazine .new_vol .textBox {
	position: relative;
	width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	color: #fff;
}
#home .homeMagazine .new_vol .textBox h3 {
	width: 100%;
    display: block;
	margin-bottom: 20px;
	padding: 20px 0;
	font-size: 1.4em;
	font-weight: bold;
	line-height: 1em;
	text-align: center;
	border-bottom: solid 5px rgba(255,255,255,0.5);
}
#home .homeMagazine .new_vol .textBox .contents {
	width: 100%;
    display: block;
	margin-bottom: 20px;
	font-size: 1.2em;
	line-height: 1.6em;
}
#home .homeMagazine .new_vol .textBox a.btnDetail {
	width: 100%;
	bottom: 0;
	right: 0;
}
#home .homeMagazine ul.archive {
	display: none;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【Home】採用情報
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#home .homeRecruit {
	position: relative;
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	padding: 40px 0;
    background: url("../images/top/recruit_bg.webp") no-repeat left 50px top #dae9f2;
	background-size: 200%;
}
#home .homeRecruit .midTitle_side {
	width: 100%;
}
#home .homeRecruit .textBox {
	position: relative;
    width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	z-index: 1000;
	margin: 20px 0;
}
#home .homeRecruit .textBox dl {
	position: relative;
    width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin-bottom: 20px;
}
#home .homeRecruit .textBox dl dt {
	width: 100%;
    display: block;
	font-family: "source-han-serif-japanese", "游明朝", "Yu Mincho", serif;
	font-size: 1.5em;
	font-weight: 500;
	line-height: 1.4em;
	letter-spacing: 0.1em;
	font-feature-settings: "palt";
	text-align: center;
	color: #133571;
}
#home .homeRecruit .textBox dl dd {
	width: 100%;
    display: block;
	margin-top: 20px;
	font-size: 1.2em;
    line-height: 1.6em;
    text-align: justify;
}
#home .homeRecruit .textBox a.btnDetail {
	width: 100%;
	margin-right: auto;
	padding: 0;
}
#home .homeRecruit .textBox a.btnDetail img {
	position: absolute;
	width: 30px;
	left: 20px;
	display: block;
	filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);
}
#home .homeRecruit .textBox a.btnDetail:hover img {
	opacity: 1;
}
#home .homeRecruit .slideBox {
	width: 96%;
    display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	z-index: 1000;
}
/*スライド*/
#home .homeRecruit .slideBox ul.slider_recruit {
    position: relative;
    width: 180%;
    display: block;
	margin: 0 -40%;
}
#home .homeRecruit .slideBox ul.slider_recruit li {
	width: auto;
    display: inline-block;
    margin: 20px 10px;
}
#home .homeRecruit .slideBox ul.slider_recruit li img {
    width: 100%;
	aspect-ratio: 1/1;
	display: block;
    object-fit: cover;
	object-position: 50% 50%;
	border-radius: 4px;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
沖縄電気保安協会について
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/*ご挨拶*/
#about .greeting_photo {
	position: relative;
    width: 60%;
    display: flex;
		justify-content: center;
		align-content: flex-end;
		align-items: flex-end;
        flex-wrap: wrap;
	margin: 0 auto 40px;
}
#about .greeting_photo figcaption {
	width: 100%;
    display: block;
	margin-top: 10px;
	font-size: 1.2em;
    line-height: 1.2em;
    text-align: center;
}
#about dl.greeting_text {
	position: relative;
    width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
}
#about dl.greeting_text dt {
	width: 100%;
    display: block;
	font-family: "source-han-serif-japanese", "游明朝", "Yu Mincho", serif;
	font-size: 1.6em;
	font-weight: 500;
	line-height: 1.4em;
	letter-spacing: 0.1em;
	font-feature-settings: "palt";
	text-align: center;
}
#about dl.greeting_text dd {
	width: 100%;
    display: block;
	margin-top: 20px;
	font-size: 1.2em;
    line-height: 1.6em;
    text-align: justify;
}

/*協会方針*/
#about .philosophy {
	padding: 20px 0 160px;
    background: url("../images/about/philosophy_bg.webp") no-repeat center top;
	background-size: cover;
}
#about .philosophy figure {
	position: relative;
	width: 100%;
    display: block;
}

/*目標・概要*/
#about .purpose,
#about .overview {
	position: relative;
    width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin-bottom: 20px;
}
#about .purpose p {
	width: 100%;
    display: block;
	font-size: 1.2em;
    line-height: 1.6em;
    text-align: justify;
}
#about .purpose p+p {
	margin-top: 20px;
}
#about .overview table {
    width: 100%;
    display: table;
}
#about .overview table tr+tr {
    border-top: solid 1px #ccc;
}
#about .overview table th,
#about .overview table td {
    display: table-cell;
    padding: 15px 5px;
    font-size: 1.2em;
	line-height: 1.6em;
}
#about .overview table th {
    width: 5em;
    vertical-align: top;
    text-align: left;
    color: #698fbc;
}

/*組織図*/
#about .chart {
	width: 100%;
    display: block;
}

/*沿革*/
#about .history {
	position: relative;
    width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
}
#about .history::before {
	content: '';
    position: absolute;
    width: 4px;
    height: calc(100% - 70px);
    top: 40px;
    left: 20px;
	display: block;
    background: #fff;
}
#about .history .box {
	position: relative;
    width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
    margin: 10px 0;
}
#about .history .box ul {
	position: relative;
    width: 100%;
	display: block;
	padding-left: 50px;
	box-sizing: border-box;
}
#about .history .box ul li {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
        align-items: flex-start;
		flex-wrap: wrap;
    padding: 5px 0 5px 0;
    font-size: 1.2em;
	line-height: 1.6em;
	box-sizing: border-box;
}
#about .history .box:nth-of-type(1) ul li {
	width: 100%;
}
#about .history .box ul li::before {
	position: absolute;
    content: '';
    width: 24px;
    height: 24px;
    top: 5px;
    left: -40px;
	display: block;
    z-index: 1000;
    border: solid 4px #fff;
    border-radius: 12px;
    background: #133571;
    box-sizing: border-box;
}
#about .history .box ul li .time {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
	margin-bottom: 5px;
	font-size: 0.9em;
	color: #133571;
}
#about .history .box ul li .time .year {
	width: auto;
	display: block;
}
#about .history .box ul li .time .month {
	width: auto;
	display: block;
	text-align: right;
}
#about .history .box ul li figure {
	width: 100%;
	display: block;
	margin: 10px 0;
}
#about .history .box ul li figure figcaption {
	width: 100%;
	display: block;
    margin-top: 10px;
    font-size: 0.8em;
	line-height: 1.4em;
	text-align: center;
}
#about .history .box ul figure img {
	width: 100%;
	display: block;
	object-fit: cover;
	object-position: 50% 50%;
    border: solid 8px #fff;
    box-sizing: border-box;
    box-shadow: 5px 5px 20px 0 rgba(0,0,0,0.2)
}
#about .history .box ul li figure.photo_02 {
	top: -20px
}
#about .history .box ul li figure.photo_03 {
	top: 50px
}
#about .history .box ul li figure.photo_04 img {
	width: 60%;
	margin: 0 auto;
}
#about .history .box ul li figure.photo_05 {
	bottom: 0;
}

/*事業所*/
#about .office.branch {
	padding: 20px 0 0;
}
#about .office.branch+.branch {
}
#about .office .head_box {
	width: 100%;
	display: block;
	margin-bottom: 20px;
}
#about .office .addressBox {
	position: relative;
    width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
}
#about .office .addressBox+.addressBox {
	margin-top: 20px;
}
#about .office.branch .addressBox {
	width: 100%;
	margin-bottom: 20px;
}
#about .office .addressBox h4 {
	width: 100%;
	display: block;
    margin-bottom: 20px;
	padding-bottom: 10px;
    font-size: 1.4em;
	font-weight: bold;
	line-height: 1.2em;
	color: #133571;
	border-bottom: solid 2px #133571;
}
#about .office .addressBox h4 span {
	font-size: 0.8em;
}
#about .office.branch .addressBox img {
	margin-bottom: 15px;
}
#about .office .addressBox address {
	width: 100%;
	display: block;
    font-size: 1.2em;
	line-height: 1.6em;
}
#about .office .head_box .addressBox address {
	margin-bottom: 20px;
}
#about .office .head_box .addressBox address .head_only {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
}
#about .office .head_box .addressBox address .head_only p {
	position: relative;
	width: calc(100% - 4.5em);
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
        align-items: flex-start;
	margin-left: auto;
}
#about .office .head_box .addressBox address .head_only .ht {
	 position: absolute;
	 width: 5em;
	 display: inline-block;
	 text-indent: -5em;
}
#about .office iframe {
	width: 100%;
	aspect-ratio: 4/3;;
	display: block;
}
#about .office.branch iframe {
	width: 100%;
	align-self: stretch;
}

/*公開情報*/
#about .public {
	margin: 20px auto;
}
#about .public ul {
	position: relative;
    width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
	margin: 0 auto;
	box-sizing: border-box;
}
#about .public ul li {
	position: relative;
    width: 90%;
	display: block;
	margin: 5px auto;
}
#about .public ul li a.btnDetail {
	width: 100%;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
法人のお客さまへ
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#service ul.index,
#useful-info ul.index {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
}
#service ul.index li,
#useful-info ul.index li {
	position: relative;
    width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
	align-self: stretch;
	margin-bottom: 20px;
	padding: 20px;
	border-radius: 4px;
	background: #fff;
	box-sizing: border-box;
	box-shadow: 3px 3px 0 rgba(0,0,0,0.1);
}
#service ul.index li::after,
#useful-info ul.index li::after {
	position: absolute;
	content: '';
    width: 16px;
	aspect-ratio: 1/1;
	bottom: 20px;
	right: 10px;
	display: block;
	background: url("../images/arrow.svg") no-repeat center center;
	background-size: contain;
	filter: invert(16%) sepia(18%) saturate(6498%) hue-rotate(204deg) brightness(95%) contrast(96%);
}
#service ul.index li img,
#useful-info ul.index li img {
	width: 70%;
	display: block;
	margin: 0 auto 10px;
}
#service ul.index li div,
#useful-info ul.index li div {
	position: relative;
    width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
	box-sizing: border-box;
}
#service ul.index li div h4,
#useful-info ul.index li div h4 {
	width: 100%;
	display: flex;
		justify-content: center;
		align-content: center;
        align-items: center;
	margin: 10px 0;
    font-size: 1.6em;
	font-weight: bold;
	line-height: 1.2em;
	text-align: center;
	color: #133571;
}
#service ul.index li div p,
#useful-info ul.index li div p {
	width: 100%;
	display: block;
	padding-right: 20px;
    font-size: 1.2em;
	line-height: 1.4em;
	text-align: justify;
	box-sizing: border-box;
}

/*【限定】PCB廃棄物の期限内処理について*/
#service ul.index li:nth-of-type(7) {
	padding-bottom: 50px;
}
#service ul.index li:nth-of-type(7) a.textlink {
	position: absolute;
    width: 100%;
	bottom: 20px;
	display: block;
	z-index: 2000;
	font-size: 0.8em;
	line-height: 1em;
	text-decoration: underline;
	color: #06c;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
法人のお客さまへ（01.保安管理業務）
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
/*対象となる事業*/
#service .test .target {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
	margin: 40px 0;
	padding: 20px;
	background: #fff;
	box-sizing: border-box;
	box-shadow: 10px 10px 0 #abbcd0;
}
#service .test .target h4 {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	padding: 0 0 10px 0;
	font-size: 1.4em;
	font-weight: bold;
	line-height: 1.2em;
	text-align: center;
	color: #133571;
	border-bottom: solid 4px #133571;
	box-sizing: border-box;
}
#service .test .target ul {
	position: relative;
    width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
}
#service .test .target ul li {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
        align-items: flex-start;
		flex-wrap: wrap;
    padding: 20px 0 20px 50px;
    font-size: 1.4em;
	line-height: 1.4em;
	box-sizing: border-box;
}
#service .test .target ul li+li {
	border-top: solid 1px #ccc;
}
#service .test .target ul li span {
	position: absolute;
    content: '';
    width: auto;
    top: 12px;
    left: 5px;
	display: block;
    font-size: 1.6em;
	line-height: 1.6em;
	color: #133571;
}
#service .test .target ul li p {
	width: 100%;
	display: block;
	margin-top: 10px;
    font-size: 0.8em;
	line-height: 1.4em;
}
#service .test .target figure {
	width: 60%;
	display: block;
	margin: 0 auto;
}
#service .test .support_title,
#service .update .update_title {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: center;
		align-content: center;
        align-items: center;
		flex-wrap: wrap;
    margin-left: auto;
	padding: 20px 0;
	box-sizing: border-box;
}
#service .test .support_title::before,
#service .update .update_title::before {
	content: '';
    width: 40%;
	aspect-ratio: 1/1;
    display: block;
	margin: 0 auto;
	background: url("../images/illust_guide_female.svg") no-repeat center center;
	background-size: contain;
}
#service .test .support_title p,
#service .update .update_title p {
	width: 100%;
	display: block;
	margin: 10px 0;
    font-size: 1.4em;
	font-weight: bold;
	line-height: 1.2em;
	text-align: center;
	color: #133571;
}
#service .test .support_title span,
#service .update .update_title span {
	width: 32%;
	aspect-ratio: 1/1;
	display: block;
	border-radius: 10px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 70%;
    background-color: #fff;
}
#service .test .support_title span.icon_01 {
    background-image: url("../images/service/security-management/icon_01.svg");
}
#service .test .support_title span.icon_02 {
    background-image: url("../images/service/security-management/icon_02.svg");
}
#service .update .update_title span.icon_01 {
    background-image: url("../images/service/equipment-renovation/icon_01.svg");
}
#service .update .update_title span.icon_02 {
    background-image: url("../images/service/equipment-renovation/icon_02.svg");
}
#service .test .support_title span+span,
#service .update .update_title span+span {
	margin-left: 4%;
}

/*受電設備保証保険*/
#service .guarantee {
	
}
#service .guarantee figure.cover {
	position: relative;
	width: 90%;
	display: block;
    margin: 20px auto;
}
#service .guarantee .guaranteeBlock {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: center;
        align-items: center;
		flex-wrap: wrap;
    margin: 20px 0;
	padding: 40px 10px 20px;
	border: solid 6px #dae9f2;
	box-sizing: border-box;
}
#service .guarantee .guaranteeBlock::after {
	position: absolute;
	content: '';
	width: 30%;
	aspect-ratio: 46/38;
	top: 20px;
	right: -2%;
	display: block;
    background: url("../images/service/security-management/guarantee_thunder.webp") no-repeat center top;
	background-size: contain;
}
#service .guarantee .guaranteeBlock img.title {
	position: absolute;
	width: 80%;
	top: -20px;
	left: calc(50% - 40%);
	display: block;
}
#service .guarantee figure.diagram {
	position: relative;
	width: 100%;
	display: block;
}
#service .guarantee figure.diagram figcaption {
	width: 100%;
	display: block;
	margin-top: 5px;
    font-size: 0.8em;
	line-height: 1.2em;
	text-align: center;
}
#service .guarantee ul {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
}
#service .guarantee ul li {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
        align-items: flex-start;
		flex-wrap: wrap;
    padding: 15px 0 15px 40px;
    font-size: 1.2em;
	line-height: 1.6em;
	box-sizing: border-box;
}
#service .guarantee ul li+li {
	border-top: solid 1px #ccc;
}
#service .guarantee ul li span {
	position: absolute;
    content: '';
    width: 30px;
	aspect-ratio: 1/1;
    top: 15px;
    left: 5px;
	display: flex;
		justify-content: center;
		align-content: center;
        align-items: center;
    font-size: 1.1em;
	line-height: 1em;
	color: #133571;
	border-radius: 3px;
	background: #dae9f2;
}
#service .guarantee ul li p {
	width: 100%;
	display: block;
	margin-top: 5px;
    font-size: 0.7em;
	line-height: 1.2em;
}
#service .guarantee ul .note {
	width: 100%;
	display: block;
	margin-top: 5px;
    font-size: 1em;
	line-height: 1.2em;
}
#service .commonText .read {
	margin-bottom: 10px;
	font-size: 1.2em;
}
#service .commonText .read span {
	position: relative;
	width: auto;
	display: inline-block;
	padding: 0;
	z-index: 0;
}
#service .commonText .read span::after {
	position: absolute;
	content: '';
	width: 100%;
	height: 1em;
	top: 0.7em;
	left: 0;
	display: block;
	z-index: -1;
	background: #ffe384;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
法人のお客さまへ（02.試験・技術業務）
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#service .test {
	margin: 0;
}
#service .test .testBlock,
#service .test .testBlock_s {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
	border-top: solid 1px #133571;
	box-sizing: border-box;
}
#service .test .testBlock.bgw {
	width: 100%;
	margin: 0 0 40px 0;
	border-top: none;
	background: #fff;
	box-shadow: 10px 10px 0 #abbcd0;
}
#service .test .testBlock_s.full {
	width: 100%;
}
#service .test .testBlock figure {
	position: relative;
	width: 100%;
	aspect-ratio: 4/3;
}
#service .test .testBlock figure img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: 50% 50%;
}
#service .test .testBlock .textBox,
#service .test .testBlock_s .textBox {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
	padding: 20px;
	box-sizing: border-box;
}
#service .test .testBlock_s .textBox {
	position: relative;
	width: calc(100% - 60px);
	margin-left: auto;
	padding: 20px 0;
}
#service .test .testBlock .textBox h4 {
	position: relative;
	width: 100%;
	height: 60px;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
	margin-bottom: 10px;
	padding: 0 0 10px 60px;
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1.2em;
	color: #133571;
	border-bottom: solid 3px #133571;
	box-sizing: border-box;
}
#service .test .testBlock_s .textBox h4 {
	position: relative;
	width: 100%;
	display: block;
	padding: 10px 0;
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1.2em;
	color: #133571;
	box-sizing: border-box;
}
#service .test .testBlock .textBox h4 span,
#service .test .testBlock_s .textBox h4 span {
	position: absolute;
	width: 50px;
	height: 50px;
	top: 0;
	left: 0;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
	font-family: "avenir-lt-pro", sans-serif;
    font-size: 1.1em;
	font-weight: 200;
	line-height: 1em;
	text-align: center;
	color: #fff;
	background: #133571;
}
#service .test .testBlock_s .textBox h4 span {
	top: 0;
	left: -60px;
}
#service .test .testBlock .textBox h4 span::before,
#service .test .testBlock_s .textBox h4 span::before {
	width: 100%;
	display: block;
	margin-bottom: 5px;
    font-size: 0.4em;
	line-height: 1em;
	color: #dae9f2;
}
#service .test.course .testBlock .textBox h4 span::before,
#service .test.course .testBlock_s .textBox h4 span::before {
	content: 'Course';
}
#service .test.support .testBlock_s .textBox h4 span::before {
	content: 'Support';
}
#service .test.service .testBlock .textBox h4 span::before {
	content: 'Service';
}
#service .test .testBlock .textBox p,
#service .test .testBlock_s .textBox p {
	width: 100%;
	display: block;
    font-size: 1.2em;
	line-height: 1.6em;
	text-align: justify;
}
#service .test .testBlock .textBox ul.list {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	padding: 10px;
	box-sizing: border-box;
}
#service .test .testBlock .textBox ul.list li {
	width: 100%;
	display: block;
	margin: 5px 0;
	padding-left: 1em;
    font-size: 1.1em;
	line-height: 1.2em;
	box-sizing: border-box;
}
#service .test .testBlock .textBox ul.list li::before {
	content: '●';
	display: inline-block;
	text-indent: -1em;
	color: #133571;
}
#service .test .testBlock .textBox.full {
	width: 100%;
	justify-content: space-between;
}
#service .test .testBlock .textBox .box {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	margin-top: 20px;
}
#service .test .testBlock .textBox .box h5 {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
	margin: 10px 0;
	padding: 7px 5px 5px;
	font-size: 1.3em;
	line-height: 1em;
	color: #133571;
	background: #dae9f2;
	box-sizing: border-box;
}
#service .test .testBlock .textBox .box ul.list li {
	width: 100%;
}
#service .test .testBlock .textBox ul.list li ul.s li {
	width: 100%;
	display: block;
	margin: 5px 0;
	padding-left: 1em;
    font-size: 0.9em;
	line-height: 1.2em;
	box-sizing: border-box;
}
#service .test .testBlock .textBox ul.list li ul.s li::before {
	content: '・';
	display: inline-block;
	text-indent: -1em;
}

/*お取引実績*/
#service .test ul.business_records {
	width: 100%;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
	margin: 0 auto;
}
#service .test ul.business_records h4 {
	width: 100%;
	display: block;
	margin-bottom: 10px;
    font-size: 1.3em;
	line-height: 1em;
	text-indent: -0.5em;
	color: #133571;
}
#service .test ul.business_records li {
	width: calc(100% - 1em);
	display: block;
	margin: 5px 0 5px auto;
    font-size: 1.2em;
	line-height: 1em;
}
#service .test ul.business_records li::before {
	content: '●';
	display: inline-block;
	text-indent: -1em;
	color: #133571;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
法人のお客さまへ（03.設備改修業務）
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#service .update {
	background: url("../images/service/equipment-renovation/bg.webp") no-repeat center top #dae9f2;
	background-size: 100%;
}
#service .update figure.diagram {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin: 0 auto 40px;
}
#service .update figure.diagram a {
	position: absolute;
	width: 15%;
	aspect-ratio: 4/1;
	top: 0;
	left: 0;
	display: block;
	border-radius: 5px;
	background: #000;
	opacity: 0;
}
#service .update figure.diagram a:hover {
	transition: all 200ms;
	opacity: 0.3;
}
#service .update figure.diagram a:nth-of-type(1) {
	top: calc(50% - 48.1%);
	left: calc(50% - 23.7%);
}
#service .update figure.diagram a:nth-of-type(2) {
	top: calc(50% - 31.2%);
	left: calc(50% - 17.2%);
}
#service .update figure.diagram a:nth-of-type(3) {
	top: calc(50% + 1%);
	left: calc(50% - 28%);
}
#service .update figure.diagram a:nth-of-type(4) {
	top: calc(50% + 9.5%);
	left: calc(50% - 31.5%);
}
#service .update figure.diagram a:nth-of-type(5) {
	top: calc(50% + 19.7%);
	left: calc(50% - 26.2%);
}
#service .update figure.diagram a:nth-of-type(6) {
	top: calc(50% + 27.4%);
	left: calc(50% - 27.3%);
}
#service .update figure.diagram a:nth-of-type(7) {
	top: calc(50% + 35.4%);
	left: calc(50% - 24.9%);
}
#service .update figure.diagram a:nth-of-type(8) {
	top: calc(50% - 5.2%);
	left: calc(50% - 8.7%);
}
#service .update figure.diagram a:nth-of-type(9) {
	top: calc(50% - 5.2%);
	left: calc(50% + 7.8%);
}
#service .update figure.diagram a:nth-of-type(10) {
	top: calc(50% + 37.5%);
	left: calc(50% - 0.6%);
}
#service .update figure.diagram a:nth-of-type(11) {
	width: 18.4%;
	aspect-ratio: 4/0.82;
	top: calc(50% - 2.4%);
	left: calc(50% + 25%);
}
#service .update figure.diagram a:nth-of-type(12) {
	top: calc(50% + 14.2%);
	left: calc(50% + 25%);
}
#service .update figure.diagram a:nth-of-type(13) {
	top: calc(50% + 37.5%);
	left: calc(50% + 25%);
}
#service .update figure.diagram a:nth-of-type(14) {
	top: calc(50% + 20.2%);
	left: calc(50% - 48.1%);
}
#service .update .updateBlock,
#service .fire .fireBlock {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
	align-self: stretch;
	margin: 0;
	padding: 20px 0;
	border-top: solid 1px #133571;
	box-sizing: border-box;
}
#service .update .updateBlock figure,
#service .fire .fireBlock figure {
	position: relative;
	width: 70%;
	aspect-ratio: 1/1;
	display: block;
	margin: 0 auto 10px;
}
#service .update .updateBlock .textBox,
#service .fire .fireBlock .textBox {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
	box-sizing: border-box;
}
#service .update .updateBlock .textBox h4,
#service .fire .fireBlock .textBox h4 {
	position: relative;
	width: 100%;
	min-height: 50px;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
	margin-bottom: 10px;
	padding: 0 0 0 60px;
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1.2em;
	color: #133571;
	box-sizing: border-box;
}
#service .update .updateBlock .textBox h4 sup {
	margin-top: -1em;
}
#service .update .updateBlock .textBox h4 span,
#service .fire .fireBlock .textBox h4 span {
	position: absolute;
	width: 50px;
	height: 50px;
	top: 0;
	left: 0;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	font-family: "avenir-lt-pro", sans-serif;
    font-size: 1.2em;
	font-weight: 200;
	line-height: 1em;
	text-align: center;
	color: #fff;
	background: #133571;
}
#service .fire .fireBlock .textBox h5 {
	width: 100%;
	display: block;
	margin-bottom: 10px;
    font-size: 1.2em;
	font-weight: bold;
	line-height: 1.4em;
}
#service .update .updateBlock .textBox p,
#service .fire .fireBlock .textBox p {
	width: 100%;
	display: block;
	margin-bottom: 10px;
    font-size: 1.2em;
	line-height: 1.6em;
	text-align: justify;
}
#service .update .updateBlock .textBox p.note {
	width: 100%;
	display: block;
    font-size: 1em;
	line-height: 1.4em;
	text-align: left;
}
#service .update .updateBlock dl.period {
	width: 100%;
	min-height: 50px;
	display: flex;
		justify-content: space-between;
		align-content: center;
		align-items: center;
        /*flex-wrap: wrap;*/
	font-size: clamp(1em, 1vw, 1.4em);
	line-height: 1.4em;
	border: solid 1px #ed8945;
	border-radius: 4px;
	background: #fff;
	box-sizing: border-box;
}
#service .update .updateBlock dl.period dt {
	width: 6em;
	min-height: 50px;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	align-self: stretch;
	color: #ed8945;
	border-right: solid 1px #ed8945;
	border-top-left-radius: 7px;
	border-bottom-left-radius: 7px;
	background: #fcffe4;
}
#service .update .updateBlock dl.period dd {
	width: calc(100% - 6em);
	display: inline-block;
	text-align: center;
	box-sizing: border-box;
}
#service .update .updateBlock dl.period dd b {
	font-size: 1.4em;
}
#service .update .reference {
	width: auto;
	display: block;
	margin: 0 auto;
    font-size: 0.8em;
	line-height: 1.2em;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
法人のお客さまへ（04.消防点検）
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#service .fire .block {
	margin: 0 auto 40px;
}
#service .fire table {
	width: 200%;
	display: table;
	margin: 10px auto;
	border-top: solid 1px #698fbc;
	border-left: solid 1px #698fbc;
	background: #fff;
}
#service .fire table th,
#service .fire table td {
	display: table-cell;
	padding: 15px 5px;
	font-size: 1.2em;
	line-height: 1.2em;
	border-right: solid 1px #698fbc;
	border-bottom: solid 1px #698fbc;
}
#service .fire table th {
	width: 100px;
	color: #fff;
	background: #133571;
}
#service .fire table td:nth-last-of-type(1) {
	width: 80px;
	text-align: right;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
法人のお客さまへ（05.非常用発電機の模擬負荷試験）
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/*emergency power generation = epg*/
#service figure.diagram_epg {
	position: relative;
	width: 100%;
	display: block;
	margin: 40px 0;
}
#service figure.diagram_epg figcaption {
    width: calc(100% - 1em);
	display: block;
	margin: 10px 0 0 auto;
    font-size: 1em;
	line-height: 1.4em;
}
#service figure.diagram_epg figcaption::before {
    content: '※';
	display: inline-block;
    text-indent: -1em;
}

/*リーフレット*/
#service .leaflet ul {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	margin: 0 auto;
}
#service .leaflet ul li {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: center;
		align-content: space-between;
		align-items: flex-start;
		flex-wrap: wrap;
	align-self: stretch;
	margin: 20px 0;
}
#service .leaflet ul li figure {
	width: 100%;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
}
#service .leaflet ul li figure img {
	width: 50%;
	display: block;
	object-fit: contain;
	object-position: 50% 50%;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
#service .leaflet ul li:nth-of-type(3) figure img,
#service .leaflet ul li:nth-of-type(4) figure img {
	width: 70%;
}
#service .leaflet ul li h4 {
	width: 100%;
	display: block;
	margin: 20px 0;
    font-size: 1.2em;
	font-weight: bold;
	line-height: 1.4em;
	text-align: center;
	color: #133571;
}
#service .leaflet ul li a.btnDetail {
	width: 70%;
	min-width: 180px;
}
#service .leaflet p {
	width: auto;
	display: block;
	margin-left: auto;
	font-size: 0.8em;
	line-height: 1em;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
法人のお客さまへ（06.監視システム）
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#service .system .block {
	margin: 0 auto 40px;
}
#service .system .commonText a {
	margin: 30px 0 0 auto;
}

/*システム導入のメリット*/
#service .system .merit {
	position: relative;
	width: 90%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
        align-items: flex-start;
		flex-wrap: wrap;
    margin: 0 auto 40px;
	padding: 20px;
	box-shadow: 10px 10px 0 #abbcd0;
	background: #fff;
	box-sizing: border-box;
}
#service .system .merit h4 {
	width: 100%;
	display: block;
	margin-bottom: 10px;
    font-size: 1.4em;
	font-weight: bold;
	line-height: 1.4em;
	text-align: center;
	color: #133571;
}
#service .system .merit ul {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
        align-items: flex-start;
		flex-wrap: wrap;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: solid 5px #133571;
}
#service .system .merit ul li {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: center;
		align-content: flex-start;
        align-items: flex-start;
		flex-wrap: wrap;
	margin: 10px 0;
}
#service .system .merit ul li .number {
	position: relative;
	width: 100%;
	height: 50px;
	display: flex;
		justify-content: space-between;
		align-content: center;
        align-items: center;
	padding: 0 10px;
	font-family: "avenir-lt-pro", sans-serif;
    font-size: 1.8em;
	font-weight: 200;
	line-height: 1em;
	color: #fff;
	background: #133571;
	box-sizing: border-box;
}
#service .system .merit ul li .number::before {
	content: 'Merit';
	width: 100%;
	height: 40px;
	display: block;
	padding-left: 40px;
    font-size: 0.5em;
	color: #dae9f2;
	background: url("../images/service/monitoring-system/icon_thumbsup.svg") no-repeat left center;
	background-size: 30px 30px;
	box-sizing: border-box;
}
#service .system .merit ul li h5 {
	width: 100%;
	display: flex;
		justify-content: center;
		align-content: center;
        align-items: center;
		flex-wrap: wrap;
	margin: 20px 0;
    font-size: 1.6em;
	line-height: 1.4em;
	text-align: center;
}
#service .system .merit ul li h5 b {
	width: 100%;
	display: block;
	font-size: 1.2em;
}
#service .system .merit ul li figure {
	width: 50%;
	display: block;
	margin: 0 auto 10px;
}
#service .system .merit ul li dl {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
        align-items: flex-start;
		flex-wrap: wrap;
	text-align: justify;
}
#service .system .merit ul li dl dt {
	width: 100%;
	display: block;
	margin-bottom: 20px;
	font-size: 1.2em;
	line-height: 1.4em;
}
#service .system .merit ul li dl dd {
	width: 100%;
	display: block;
	font-size: 1em;
	line-height: 1.4em;
}
#service .system .merit ul li dl dd::before {
	content: '《効果》';
	width: 100%;
	display: block;
	margin-bottom: 10px;
	padding-bottom: 5px;
	font-size: 1em;
	line-height: 1em;
	font-weight: bold;
	text-indent: -0.5em;
	color: #133571;
	border-bottom: solid 1px #133571;
}
#service .system .merit .contactBox,
#service .system .merit .loginBox {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
        align-items: flex-start;
		flex-wrap: wrap;
	padding: 20px 0;
	box-sizing: border-box;
}

#service .system .merit .contactBox.center {
	margin: 0 auto;
}
#service .system .merit .loginBox {
	width: 100%;
	border-top: solid 1px #ccc;
}
#service .system .merit .contactBox h6,
#service .system .merit .loginBox h6 {
	width: calc(100% - 1em);
	display: block;
	margin: 0 0 10px auto;
    font-size: 1.2em;
	line-height: 1.2em;
	text-indent: -1em;
	color: #133571;
}
#service .system .merit .contactBox a.mail,
#service .system .merit .loginBox a.login {
	width: 100%;
}
#service .system .merit .contactBox .tel {
	width: 100%;
	display: flex;
		justify-content: center;
		align-content: center;
        align-items: center;
		flex-wrap: wrap;
	padding-top: 20px;
	text-align: center;
	box-sizing: border-box;
}
#service .system .merit .contactBox .tel a {
	width: 100%;
	display: block;
	font-family: "avenir-lt-pro", sans-serif;
	font-size: clamp(1.6em, 1.6vw, 2.4em);
	font-weight: 200;
	line-height: 1.2em;
	color: #133571;
}
#service .system .merit .contactBox .tel a span {
	font-size: 1.4em;
}
#service .system .merit .contactBox .tel p {
	position: relative;
	width: 100%;
	display: block;
	margin-top: 5px;
    font-size: 1em;
	line-height: 1em;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
法人のお客さまへ（07.PCB廃棄物の期限内処理について）
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#service .pcb {
	margin: -80px auto 40px;
	padding-top: 20px;
	border-top: solid 10px #dae9f2;
}
#service .pcb figure.commonPhoto {
	width: 70%;
	margin: 20px auto 0;
}
#service .pcb .commonText {
	width: 100%;
}

/*PCBってなに？*/
#service .step {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
        align-items: flex-start;
		flex-wrap: wrap;
    margin: 30px auto;
	padding: 20px;
	box-shadow: 10px 10px 0 #abbcd0;
	background: #fff;
	box-sizing: border-box;
}
#service .step figure {
	position: relative;
	width: 140px;
	display: flex;
		justify-content: flex-end;
		align-content: flex-end;
        align-items: flex-end;
	margin: 20px auto 0;
	box-sizing: border-box;
}
#service .step figure img {
	width: 80%;
	display: block;
}
#service .step figure span {
	position: absolute;
	width: 100px;
	top: -20px;
	left: -40px;
	display: block;
	padding: 10px 0;
	font-family: "avenir-lt-pro", sans-serif;
	font-size: 2.4em;
	font-weight: 400;
	line-height: 1.2em;
	text-align: center;
	color: #698fbc;
}
#service .step figure span::before {
	content: 'Step';
	width: 100%;
	display: block;
	font-size: 0.4em;
	line-height: 1.2em;
	text-align: center;
}
#service .step dl {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
        align-items: flex-start;
		flex-wrap: wrap;
	padding: 0;
	box-sizing: border-box;
}
#service .step dl dt {
	width: 100%;
	display: block;
	margin: 15px 0;
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1.2em;
	text-align: center;
	color: #133571;
}
#service .step dl dd {
	width: 100%;
	display: block;
	font-size: 1.2em;
	line-height: 1.6em;
}
#service .step_arrow {
  width: 30px;
  height: calc(tan(60deg) * 20px / 2);
  display: block;
  margin: 0 auto;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  background: #133571;
  transform: rotate(180deg);
}

/*PCBパンフレットダウンロード*/
#service .leaflet_pcb {
	position: relative;
	width: 90%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
        align-items: flex-start;
		flex-wrap: wrap;
    margin: 0 auto;
	padding: 30px 0;
	border-top: solid 5px #133571;
	border-bottom: solid 5px #133571;
	box-sizing: border-box;

}
#service .leaflet_pcb figure {
	width: 50%;
	display: block;
	margin: 0 auto;
}
#service .leaflet_pcb .textBox {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
        align-items: flex-start;
		flex-wrap: wrap;
	align-self: stretch;
	padding-bottom: 1.2em;
	box-sizing: border-box;
}
#service .leaflet_pcb .textBox h3 {
	width: 100%;
	display: block;
	margin: 10px 0;
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1.2em;
	text-align: center;
	color: #133571;
}
#service .leaflet_pcb .textBox p {
	width: 100%;
	display: block;
	margin-bottom: 20px;
	font-size: 1.2em;
	line-height: 1.6em;
}
#service .leaflet_pcb .textBox a {
	width: 90%;
	margin: 0 auto;
}
#service .leaflet_pcb .textBox .reference {
	width: 100%;
	margin-top: 20px;
	display: block;
	font-size: 0.8em;
	line-height: 1.2em;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
ご家庭の皆さまへ
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#customer .indexBox {
	position: relative;
    width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
	margin: 10px 0;
	padding: 20px;
	border: solid 1px #ccc;
	border-radius: 4px;
	background: #fff;
	box-sizing: border-box;
	box-shadow: 3px 3px 0 rgba(0,0,0,0.1);
}
#customer .indexBox::after {
	position: absolute;
	content: '';
    width: 16px;
	aspect-ratio: 1/1;
	bottom: 20px;
	right: 10px;
	display: block;
	background: url("../images/arrow.svg") no-repeat center center;
	background-size: contain;
	filter: invert(16%) sepia(18%) saturate(6498%) hue-rotate(204deg) brightness(95%) contrast(96%);
}
#customer .indexBox img.thumb {
	width: 100%;
	display: block;
}
#customer .indexBox dl {
	position: relative;
    width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
}
#customer .indexBox dl dt {
	width: 100%;
	display: block;
	padding: 20px 0 10px;
    font-size: 1.5em;
	font-weight: bold;
	line-height: 1.2em;
	text-align: center;
	color: #133571;
}
#customer .indexBox dl dd {
	width: 100%;
	display: block;
    font-size: 1.2em;
	line-height: 1.6em;
	text-align: justify;
}
#customer .indexBox img.mark {
	position: absolute;
	width: 48px;
	top: 10px;
	right: 10px;
	display: block;
}
#customer .indexBox a.btnTrans {
	border-radius: 4px;
}
#customer .btnBlock {
	margin: 10px auto 0;
}
#customer .btnBlock .btn {
	position: relative;
	width: 90%;
    height: 60px;
	display: flex;
		justify-content: center;
        align-content: center;
		align-items: center;
        flex-wrap: wrap;
	padding: 0 0 0 10px;
	font-size: 1.2em;
	line-height: 1.2em;
	text-align: center;
	color: #133571;
	border: solid 1px #ccc;
	border-radius: 4px;
	background-color: #fff;
	box-sizing: border-box;
	box-shadow: 3px 3px 0 rgba(0,0,0,0.1);
}
#customer .btnBlock a.btn:hover {
	transition: all 200ms;
	opacity: 0.5;
}
#customer .btnBlock .btn::before {
	position: absolute;
	content: '';
	width: 24px;
	aspect-ratio: 1/1;
	left: 15px;
	background: url("../images/icon_mail.svg") no-repeat center center;
	background-size: contain;
	filter: invert(16%) sepia(18%) saturate(6498%) hue-rotate(204deg) brightness(95%) contrast(96%);
}
#customer .btnBlock .btn::after {
	position: absolute;
	content: '';
	width: 16px;
	aspect-ratio: 1/1;
	right: 10px;
	background: url("../images/arrow.svg") no-repeat center center;
	background-size: contain;
	filter: invert(16%) sepia(18%) saturate(6498%) hue-rotate(204deg) brightness(95%) contrast(96%);
}

/*調査業務*/
#customer .mainPhoto {
	width: 70%;
    display: block;
	margin: 0 auto 20px;
}
#customer .mainText {
	position: relative;
    width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
}
#customer .mainText dl {
	position: relative;
    width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin-bottom: 40px;
}
#customer .mainText dl dt {
	width: 100%;
    display: block;
	margin-bottom: 20px;
	font-family: "source-han-serif-japanese", "游明朝", "Yu Mincho", serif;
	font-size: 1.5em;
	font-weight: 500;
	line-height: 1.4em;
	letter-spacing: 0.1em;
	text-align: center;
	color: #133571;
}
#customer .mainText dl dd {
	width: 100%;
    display: block;
	font-size: 1.2em;
    line-height: 1.6em;
    text-align: justify;
}
#customer .bnrFake {
	position: relative;
    width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: center;
        align-items: center;
        flex-wrap: wrap;
	margin: 0 auto;
	padding: 20px;
	border: solid 1px #ccc;
	border-radius: 4px;
	background: #fff;
	box-sizing: border-box;
	box-shadow: 3px 3px 0 rgba(0,0,0,0.1);
}
#customer .bnrFake::after {
	position: absolute;
	content: '';
    width: 16px;
	aspect-ratio: 1/1;
	bottom: 20px;
	right: 10px;
	display: block;
	background: url("../images/arrow.svg") no-repeat center center;
	background-size: contain;
	filter: invert(16%) sepia(18%) saturate(6498%) hue-rotate(204deg) brightness(95%) contrast(96%);
}
#customer .bnrFake img {
	width: 70%;
	display: block;
	margin: 0 auto 20px;
}
#customer .bnrFake .text {
	position: relative;
    width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
}
#customer .bnrFake .text strong {
	width: 100%;
	display: block;
	margin-bottom: 10px;
    font-size: 1.4em;
	line-height: 1.2em;
	text-align: center;
	color: #133571;
}
#customer .bnrFake .text p {
	width: 100%;
	display: block;
    font-size: 1.2em;
	line-height: 1.6em;
	text-align: justify;
}
#customer .routine {
	justify-content: space-between;
}
#customer .routine .read {
	width: 100%;
    display: block;
	font-size: 1.2em;
    line-height: 1.6em;
	box-sizing: border-box;
}
#customer .routine .read br {
	display: none;
}
#customer .routine h4 {
	position: relative;
	width: 100%;
	height: 40px;
    display: flex;
		justify-content: flex-start;
		align-content: center;
        align-items: center;
	margin: 40px 0 20px;
	padding: 0 10px;
	font-size: 1.5em;
    line-height: 1em;
	color: #fff;
	background: #133571;
	box-sizing: border-box;
}
#customer .routine h4::after {
	position: absolute;
	content: '';
	width: 23%;
	max-width: 100px;
	aspect-ratio: 1/1;
	bottom: 0;
	right: 1%;
    display: block;
	background: url("../images/customer/investigation/img_illust.png") no-repeat center bottom;
	background-size: contain;
}
#customer .routine .step {
	position: relative;
    width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
	margin: 0 auto 40px;
	padding: 20px;
	background: #fff;
	box-sizing: border-box;
	box-shadow: 10px 10px 0 #abbcd0;
}
#customer .routine .step .title {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-end;
		align-items: flex-end;
		flex-wrap: wrap;
	margin: 0 0 20px 0;
}
#customer .routine .step .title .number {
	width: 100%;
	display: flex;
		justify-content: center;
		align-content: flex-end;
		align-items: flex-end;
		flex-wrap: wrap;
	margin-bottom: 20px;
	padding-bottom: 10px;
    font: 200 3.6em/1em "avenir-lt-pro", sans-serif;
	line-height: 1em;
	text-align: center;
    color: #133571;
	border-bottom: solid 1px #133571;
}
#customer .routine .step .title .number::before {
	content: 'Step';
	width: 100%;
	display: block;
	margin-bottom: 10px;
    font-size: 0.4em;
	line-height: 1em;
	text-align: center;
}
#customer .routine .step .title h5 {
	width: 100%;
	display: block;
    font-size: 1.3em;
	line-height: 1.6em;
	text-align: center;
	color: #133571;
}
#customer .routine .step.s1 .title h5 {
	text-indent: -0.7em;
}
#customer .routine .step .title h5 b {
	font-size: 1.2em;
	line-height: 1em;
	color: #f15a24;
}
#customer .routine .step p {
	width: 100%;
	display: block;
	margin: 0 0 10px 0;
	font-size: 1.2em;
	line-height: 1.6em;
}
#customer .investigation .routine .step.s2::before,
#customer .investigation .routine .step.s3::before {
	position: absolute;
	content: '';
	width: 40px;
	aspect-ratio: 5/4;
	top: -40px;
	left: calc(50% - 20px);
	background: url("../images/customer/investigation/arrow_down.svg") no-repeat center top;
	background-size: contain;
}
#customer .routine .step.s2,
#customer .routine .step.s3 {
	width: 100%;
}
#customer .routine .step.s2 img {
	width: 50%;
	margin: 0 auto;
}
#customer .routine .step.s3 img {
	width: 100%;
	margin: 0 auto;
}
#customer .routine .emphasis {
	width: 100%;
	display: block;
	margin: 10px 0;
	text-align: center;
}
#customer .routine .emphasis p {
	position: relative;
	width: auto;
	display: inline;
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.6em;
	color: #133571;
}
#customer .routine .emphasis p span {
	position: relative;
	width: auto;
	display: inline-block;
	padding: 0;
	z-index: 0;
}
#customer .routine .emphasis p span::after {
	position: absolute;
	content: '';
	width: 100%;
	height: 1em;
	top: 0.7em;
	left: 0;
	display: block;
	z-index: -1;
	background: #ffff00;
}
#customer .routine .exp {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
	margin: 20px auto 40px;
	padding: 20px 10px;
	border-top: solid 5px #fff;
	border-bottom: solid 5px #fff;
	box-sizing: border-box;
}
#customer .routine .exp ol {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
	margin: 10px 0;
}
#customer .investigation .routine .exp ol:nth-of-type(2) {
	width: 100%;
}
#customer .routine .exp ol span {
	width: 100%;
	display: block;
	margin-bottom: 5px;
	font-size: 1.3em;
	font-weight: bold;
	line-height: 1.2em;
	color: #133571;
}
#customer .routine .exp ol li {
	width: calc(100% - 2.5em);
	display: list-item;
	margin: 5px 0 5px auto;
	font-size: 1.2em;
	line-height: 1.4em;
	list-style: decimal outside;
}

/*ニセ調査員にご注意！*/
#customer .fake .copy {
	position: relative;
    width: 100%;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	margin-bottom: 20px;
	padding: 10px 0;
	border-radius: 10px;
	background: #c1272d;
}
#customer .fake .copy img {
	width: auto;
    display: inline-block;
	margin: 0 5px;
}
#customer .fake .copy img:nth-of-type(1) {
	height: 30px;
	margin: -10px 5px 0;
}
#customer .fake .copy img:nth-of-type(2) {
	height: 20px;
}
#customer .fake .copy img:nth-of-type(3) {
	height: 16px;
	margin-top: 5px;
}
#customer .fake .read {
	width: 100%;
	display: block;
	margin-bottom: 10px;
	font-size: 1.4em;
	font-weight: bold;
	line-height: 1.4em;
	text-align: center;
	color: #c1272d;
}
#customer .fake .mainPhoto {
	width: 60%;
}
#customer .fake .mainText {
	width: 100%;
}
#customer .fake p {
	width: 100%;
	display: block;
	margin-bottom: 10px;
	font-size: 1.2em;
	line-height: 1.6em;
}
#customer .fake ul {
	width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	padding: 0;
}
#customer .fake ul h4 {
	width: 100%;
	height: 30px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin: 10px 0 5px;
	padding: 0 20px;
	font-size: 1.3em;
	line-height: 1em;
	color: #ffff00;
	border-radius: 20px;;
	background: #000;
	box-sizing: border-box;
}
#customer .fake ul li {
	position: relative;
    width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
	padding: 15px 0 15px 40px;
	font-size: 1.2em;
	line-height: 1.2em;
	box-sizing: border-box;
}
#customer .fake ul li+li {
	border-top: dashed 2px #ccc;
}
#customer .fake ul li::before {
	position: absolute;
	content: '';
    width: 30px;
	top: 16px;
	left: 0;
	aspect-ratio: 2/1;
    display: block;
	margin-right: 10px;
	background: url("../images/customer/beware-fake-investigator/case_icon.svg") no-repeat center center;
	background-size: contain;
}
#customer .fake .caseList {
	width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin: 10px 0;
	padding: 20px;
	background: #fff;
	box-sizing: border-box;
}
#customer .fake .caseList h4 {
	width: calc(100% + 40px);
	height: 50px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin: -20px -20px 10px;
	border-bottom: solid 1px #000;
	background: #ffff00;
}
#customer .fake .caseList h4 img {
	height: 30px;
}
#customer .check {
	position: relative;
    width: 100%;
    margin: 40px 0;
}
#customer .check .check_text {
	position: relative;
    width: 90%;
    display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	margin: 0 auto;
	box-sizing: border-box;
}
#customer .check .check_text img {
	width: calc(100% - 90px);
    display: block;
}
#customer .check .check_text::before {
	content: '';
    width: 80px;
	aspect-ratio: 1/1;
    display: block;
	margin: -10px 10px 0 0;
	background: url("../images/illust_guide_female.svg") no-repeat center center;
	background-size: contain;
}
#customer .check .check_text p {
	width: 100%;
    display: block;
	margin: 20px 0;
	font-size: 1.2em;
	line-height: 1.6em;
	text-align: justify;
}
#customer .check .check_text p br {
	display: none;
}
#customer .check .check_text span {
	width: 100%;
    height: 50px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin: 5px 0 5px 0;
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1em;
	text-align: center;
	border-radius: 25px;
	background: #ffff00;
}
#customer .check figure {
	width: 90%;
	margin: 20px auto -20px;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
講習会のご案内
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#workshop .wrap:nth-of-type(odd) {
	background: #dae9f2;
}

/*一覧*/
#workshop .index {
	margin: 0 auto;
}
#workshop .index .photoBox {
	position: relative;
    width: 70%;
    display: block;
	margin: 0 auto 20px;
}
#workshop .index .textBox {
	position: relative;
	width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
}
#workshop .index .textBox p {
	width: 100%;
    display: block;
	font-size: 1.2em;
    line-height: 1.6em;
    text-align: justify;
}
#workshop .index .textBox p+p {
	margin-top: 20px;
}
#workshop .index .textBox .btnBlock {
	justify-content: center;
	margin-top: 20px;
}
#workshop .index .textBox .btnBlock .none {
	width: 100%;
	height: 50px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	padding: 0 20px;
	font-size: 1em;
    line-height: 1.2em;
	color: red;
	border: solid 1px red;
	background: #fff;
    box-sizing: border-box;
}
#workshop .index .textBox .btnDetail {
	width: 100%;
	margin: 0 auto 10px;
	padding: 0 10px 0 30px;
}
#workshop .index .textBox .btnDetail.ws img {
	position: absolute;
	width: 36px;
	left: 20px;
	filter: invert(100%) sepia(0%) saturate(715%) hue-rotate(101deg) brightness(113%) contrast(108%);
}

/*詳細*/
#workshop .content {
	margin: 0 auto 20px;
}
#workshop .content sup {
	font-size: 0.8em;
}
#workshop .content table {
	width: 300%;
    display: table;
	margin: 10px 0;
	border-top: solid 1px #133571;
	border-left: solid 1px #133571;
}
#workshop .content table th,
#workshop .content table td {
    display: table-cell;
	padding: 15px 5px;
	font-size: 1.2em;
    line-height: 1.4em;
	vertical-align: top;
	border-right: solid 1px #133571;
	border-bottom: solid 1px #133571;
}
#workshop .content table thead {
    color: #fff;
	background: #698fbc;
}
#workshop .content table thead td {
    text-align: center;
}
#workshop .content table tbody {
    background: #fff;
}


/*【表組】講習内容*/
#workshop .content table.table_content td:nth-of-type(1) {
    width: 120px;
}
#workshop .content table.table_content tbody td:nth-of-type(3) {
    width: 120px;
	text-align: right;
}
#workshop .content table.table_content tbody tr:nth-of-type(even) {
    background: #f6f9fc;
}

/*【表組】講習日程*/
#workshop .content table.table_schedule {
    width: 200%;
}
#workshop .content table.table_schedule td:nth-of-type(1),
#workshop .content table.table_schedule td:nth-of-type(2) {
    width: 15%;
}
#workshop .content table.table_schedule td:nth-of-type(4) {
    width: 20%;
}
#workshop .content a.btnDetail {
    margin: 20px 0 0 auto;
}

/*【表組】講習会受講料*/
#workshop .content table.table_fee {
    width: 200%;
}
#workshop .content table.table_fee tbody td:nth-of-type(2) {
    width: 20%;
	text-align: right;
}

/*【表組】受講資格者*/
#workshop .content table.table_participant {
    width: 100%;
}

/*お問い合わせ*/
#workshop .entry {
	position: relative;
	width: 90%;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	margin: 20px auto;
	padding: 20px;
	border: solid 1px #698fbc;
	background: #f9f6e4;
	box-sizing: border-box;
}
#workshop .entry p {
	width: 100%;
    display: block;
	margin-bottom: 20px;
	font-size: 1.2em;
    line-height: 1.6em;
    text-align: justify;
}
#workshop .entry p br {
	display: none;
}
#workshop .entry .btnDetail {
	padding: 0 10px 0 20px;
}
#workshop .entry .btnDetail img {
	position: absolute;
	width: 24px;
	left: 10px;
	filter: invert(100%) sepia(0%) saturate(715%) hue-rotate(101deg) brightness(113%) contrast(108%);
}

/*その他*/
#workshop .other {
	margin: 0;
}
#workshop .other dl {
	position: relative;
	width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin: 10px 0;
}
#workshop .other dl dt {
	width: 100%;
	height: 40px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	font-size: 1.3em;
    line-height: 1em;
    text-align: center;
	color: #fff;
	background: #698fbc;
}
#workshop .other dl dd {
	width: 100%;
    display: block;
	margin-top: 10px;
	font-size: 1.2em;
    line-height: 1.6em;
	text-align: justify;
}
#workshop .other dl dd sup {
	font-size: 0.8em;
}
#workshop .other dl dd address {
	width: 100%;
    display: block;
	margin-bottom: 20px;
}
#workshop .other dl dd address+address {
	margin-top: 10px;
	padding-top: 10px;
	border-top: solid 1px #698fbc;
}
#workshop .other dl dd address a {
	width: calc(5em + 35px);
	margin-left: auto;
	font-size: 1em;
	text-align: right;
}
#workshop .entry a.btnDetail {
	width: 90%;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
お役立ち情報
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#useful-info ul.index {
	/*【共有】法人のお客さまへ*/
}
#useful-info ul.index li div h4::before {
	content: '';
    width: 40px;
	aspect-ratio: 1/1;
	display: inline-block;
	margin: 0 5px 0 -10px;
	filter: invert(16%) sepia(18%) saturate(6498%) hue-rotate(204deg) brightness(95%) contrast(96%);
}
#useful-info ul.index li:nth-of-type(1) div h4::before {
	background: url("../images/useful-info/useful_01_icon.svg") no-repeat center center;
	background-size: contain;
}
#useful-info ul.index li:nth-of-type(2) div h4::before {
	background: url("../images/useful-info/useful_02_icon.svg") no-repeat center center;
	background-size: contain;
}
#useful-info ul.index li:nth-of-type(3) div h4::before {
	background: url("../images/useful-info/useful_03_icon.svg") no-repeat center center;
	background-size: contain;
}
#useful-info ul.index li:nth-of-type(4) div h4::before {
	background: url("../images/useful-info/useful_04_icon.svg") no-repeat center center;
	background-size: contain;
}
#useful-info ul.index li:nth-of-type(5) div h4::before {
	background: url("../images/useful-info/useful_05_icon.svg") no-repeat center center;
	background-size: contain;
}
#customer .indexBox img.mark {
	position: absolute;
	width: 48px;
	top: 10px;
	right: 10px;
	display: block;
}

/*【共通】*/
#useful-info .textBox {
	position: relative;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
	box-sizing: border-box;
}
#useful-info .textBox p {
	width: 100%;
	display: block;
	margin-bottom: 20px;
    font-size: 1.2em;
	line-height: 1.6em;
	text-align: justify;
}

/*01.「電気の安全使用ガイド」*/
#useful-info .stop,
#useful-info .trouble {
	width: 90%;
	margin: 0 auto 40px;
}
#useful-info .stop:nth-of-type(1) img {
	width: 40%;
	margin: 0 auto 20px;
}
#useful-info .stop:nth-of-type(2) img {
	width: 80%;
	margin: 0 auto 20px;
}
#useful-info .stop h4,
#useful-info .trouble dl dt {
	width: 100%;
	display: block;
	margin-bottom: 20px;
    font-family: "source-han-serif-japanese", "游明朝", "Yu Mincho", serif;
	font-size: 1.4em;
	font-weight: 500;
	text-align: center;
}
#useful-info .stop p,
#useful-info .trouble dl dd,
#useful-info .trouble p {
	width: 100%;
	display: block;
	margin-bottom: 20px;
    font-size: 1.2em;
	line-height: 1.6em;
	text-align: justify;
}
#useful-info .stop .textBox ul {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
	margin-bottom: 20px;
	border-top: solid 1px #000;
}
#useful-info .stop .textBox ul li {
	position: relative;
	width: 100%;
	display: block;
	padding: 15px 0 15px 40px;
    font-size: 1.2em;
	font-weight: bold;
	line-height: 1.4em;
	text-align: justify;
	color: #ed1c24;
	border-bottom: solid 1px #000;
	box-sizing: border-box;
}
#useful-info .stop .textBox ul li::before {
	position: absolute;
	content: '';
	width: 28px;
	aspect-ratio: 1/1;
	top: 15px;
	left: 0;
	display: block;
	background: url("../images/icon_check.svg") no-repeat center center;
	background-size: contain;
	filter: invert(17%) sepia(98%) saturate(3518%) hue-rotate(349deg) brightness(94%) contrast(97%);
}
#useful-info .trouble h4 {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: center;
        align-items: center;
	margin-bottom: 10px;
	padding: 10px;
    font-size: 1.3em;
	line-height: 1.2em;
	color: #fff;
	background: #698fbc;
	box-sizing: border-box;
}
#useful-info .trouble .textBox {
	width: 100%;
}
#useful-info .trouble p b {
	display: block;
	margin-bottom: 5px;
    font-size: 1.1em;
	color: #133571;
}
#useful-info .trouble figure {
	width: 90%;
	margin: 20px auto;
}
#useful-info .trouble figure figcaption {
	width: auto;
	display: block;
	margin-top: 20px;
	font-size: 0.8em;
	line-height: 1em;
	text-align: right;
}


/*02.「停電した時に」*/
#useful-info .recovery img.illust {
	position: absolute;
	width: 35%;
	top: -50px;
	right: -5%;
	display: block;
}

/*タブ切り替え全体のスタイル*/
#useful-info .menuTab {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
}
#useful-info .menuTab .menuTab_btn {
	position: relative;
	width: 32%;
	height: 40px;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	font-size: 0.8em;
	font-weight: bold;
	line-height: 1.2em;
	text-align: center;
	color: #FFF;
	cursor: pointer;
	caret-color: transparent;
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	background: url("../images/shops/arrow_down_w.svg") no-repeat right 5% center #133571;
	background-size: 12px 12px;
	box-sizing: border-box;
	box-shadow: 3px 3px 0 rgba(0,0,0,0.2);
}
#useful-info .menuTab .menuTab_btn::before {
	
}
#useful-info .menuTab .menuTab_btn::after {
	
}
#useful-info .menuTab .menuTab_btn:hover {
	opacity: 0.75;
}

/*ラジオボタンを全て消す*/
#useful-info .menuTab input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
#useful-info .menuTab .inner {
	position: relative;
	width: 100%;
	display: none;
	z-index: 1000;
	background: #fff;
	box-shadow: 10px 10px 0 #abbcd0;
}
#useful-info .menuTab .inner::before {
	position: absolute;
	content: '';
	width: 20%;
	aspect-ratio: 1/1;
	bottom: -10px;
	left: 2%;
	display: block;
	z-index: 1000;
	background: url("../images/illust_guide_female.svg") no-repeat center center;
	background-size: contain;
}
#useful-info .menuTab #n3_Block::before {
	left: inherit;
	right: 2%;
	transform: scaleX(-1);
}

/*選択されているタブのコンテンツのみを表示*/
#n1:checked ~ #n1_Block,
#n2:checked ~ #n2_Block,
#n3:checked ~ #n3_Block {
	display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	padding: 20px;
	box-sizing: border-box;
}

/*選択されているタブのスタイルを変える*/
#useful-info .menuTab input:checked + .menuTab_btn {
  color: #133571;
  background: #fff;
}

#useful-info .menuTab .inner h4 {
    width: 100%;
	display: block;
	margin: 10px 0;
    font-size: 1.3em;
	font-weight: bold;
	line-height: 1.2em;
	text-align: center;
	color: #133571;
}
#useful-info .menuTab .inner img {
    display: block;
	margin: 10px auto 20px;
}
#useful-info .menuTab #n1_Block img,
#useful-info .menuTab #n2_Block img {
    width: 100%;
}
#useful-info .menuTab #n3_Block img {
    width: 100%;
}
#useful-info .menuTab .note {
    width: calc(100% - 1em);
	display: block;
	margin: 20px 0 0 auto;
    font-size: 0.8em;
	line-height: 1.2em;
}
#useful-info .menuTab .note::before {
    content: '※';
	display: inline-block;
    text-indent: -1em;
}
#useful-info .breaker .breaker_btn {
	width: 100%;
	display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	margin: 40px 0;
}
#useful-info .breaker .breaker_btn dl {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	align-self: stretch;
	margin: 5px 0;
	padding: 15px 15px 15px 45px;
	border: solid 5px #dae9f2;
	border-radius: 10px;
	box-sizing: border-box;
}
#useful-info .breaker .breaker_btn dl::before {
	position: absolute;
	content: '';
	width: 24px;
	aspect-ratio: 1/1;
	top: 15px;
	left: 15px;
	display: block;
}
#useful-info .breaker .breaker_btn dl:nth-of-type(1)::before {
	background: url("../images/useful-info/power-outage/btn_yellow.svg") no-repeat center center;
	background-size: contain;
}
#useful-info .breaker .breaker_btn dl:nth-of-type(2)::before {
	background: url("../images/useful-info/power-outage/btn_red.svg") no-repeat center center;
	background-size: contain;
}
#useful-info .breaker .breaker_btn dl dt {
    width: 100%;
	display: block;
	margin: 5px 0;
    font-size: 1.2em;
	font-weight: bold;
	line-height: 1.2em;
}
#useful-info .breaker .breaker_btn dl dd {
    width: 100%;
	display: block;
    font-size: 1em;
	line-height: 1.4em;
}
#useful-info .breaker ul {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
}
#useful-info .breaker ul li {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	margin-bottom: 20px;
}
#useful-info .breaker ul li h4 {
	width: calc(100% - 50px);
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
	align-self: stretch;
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.2em;
	color: #133571;
}
#useful-info .breaker ul li::before {
	width: 40px;
	height: 40px;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	font-family: "avenir-lt-pro", sans-serif;
    font-size: 2em;
	font-weight: 200;
	line-height: 1em;
	color: #fff;
	background: #133571;
}
#useful-info .breaker ul li:nth-of-type(1):before {
	content: '1';
}
#useful-info .breaker ul li:nth-of-type(2):before {
	content: '2';
}
#useful-info .breaker ul li:nth-of-type(3):before {
	content: '3';
}
#useful-info .breaker ul li:nth-of-type(4):before {
	content: '4';
}
#useful-info .breaker ul li img {
	width: calc(90% - 50px);
	display: block;
	margin: 20px 10% 0 auto;
}
#useful-info .breaker .attention {
	position: relative;
	width: 90%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	margin: 20px auto;
	padding: 30px 15px 15px 15px;
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.4em;
	text-align: justify;
	color: red;
	border: solid 3px red;
	box-sizing: border-box;
}
#useful-info .breaker .attention::before {
	position: absolute;
	content: '';
	width: 80px;
	aspect-ratio: 17/12;
	top: -30px;
	left: -30px;
	display: block;
	background: url("../images/useful-info/power-outage/attention_mark.png") no-repeat center center;
	background-size: contain;
}

/*03.「地震・台風に備えて」*/
#useful-info .disaster+.disaster {
	margin-top: 40px;
}
#useful-info .disaster .textBox {
	width: 100%;
}
#useful-info .disaster figure {
	width: 80%;
	margin: 0 auto 20px;
}
#useful-info .disaster .textBox ul {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
	margin-top: 20px;
	padding: 40px 15px 15px;
	background: #fff;
	box-sizing: border-box;
	box-shadow: 5px 5px 0 #abbcd0;
}
#useful-info .disaster .textBox ul h4 {
	position: absolute;
	width: 200px;
	height: 30px;
	top: -10px;
	left: calc(50% - 100px);
	display: flex;
		justify-content: center;
		align-content: center;
        align-items: center;
    font-size: 1.2em;
	line-height: 1.2em;
	color: #fff;
	background: #133571;
	box-sizing: border-box;
}
#useful-info .disaster .textBox ul h4::before,
#useful-info .disaster .textBox ul h4::after {
	position: absolute;
	content: '';
	width: 30px;
	height: 2px;
	top: 14px;
	display: block;
	background: #fff;
}
#useful-info .disaster .textBox ul h4::before {
	left: 0;
}
#useful-info .disaster .textBox ul h4::after {
	right: 0;
}
#useful-info .disaster .textBox ul li {
	position: relative;
	width: 100%;
	display: block;
	margin: 10px 0;
	padding-left: 30px;
    font-size: 1.2em;
	line-height: 1.2em;
	box-sizing: border-box;
}
#useful-info .disaster .textBox ul li::before {
	position: absolute;
	content: '';
	width: 20px;
	aspect-ratio: 1/1;
	top: -3px;
	left: 0;
	display: block;
	background: url("../images/icon_check.svg") no-repeat center center;
	background-size: contain;
	filter: invert(16%) sepia(18%) saturate(6498%) hue-rotate(204deg) brightness(95%) contrast(96%);
}
#useful-info .disaster .textBox ul span {
	width: 100%;
	display: block;
	bottom: 10px;
	right: 10px;
    font-size: 0.8em;
	line-height: 1.2em;
}
#useful-info .online .textBox {
	width: 100%;
}
#useful-info .online figure {
	width: 80%;
	margin: 20px auto;
}
#useful-info .online a.linkOut {
	margin-left: auto;
}


/*04.「電気の正しい使い方」*/
#useful-info .checkpoint {
	padding: 0;
}
#useful-info .checkpoint .textBox {
	width: 100%;
}
#useful-info .checkpoint figure {
	position: relative;
	width: 100%;
	margin: 0 auto 20px;
}
#useful-info .checkpoint figure h4 {
	width: 100%;
	display: flex;
		justify-content: center;
		align-content: center;
        align-items: center;
        flex-wrap: wrap;
	padding: 15px 0;
	font-size: 2em;
	line-height: 1em;
	text-align: center;
	color: #fff;
	background: #133571;
	box-sizing: border-box;
}
#useful-info .checkpoint figure h4::before {
	content: 'Checkpoint';
	width: 100%;
	display: block;
	margin-bottom: 10px;
	font-family: "avenir-lt-pro", sans-serif;
    font-size: 0.5em;
	font-weight: 200;
	line-height: 1em;
	color: #dae9f2;
}
#useful-info .checkpoint ul.textBox li {
	width: 100%;
	display: block;
	padding: 0 0 30px 0;
}
#useful-info .checkpoint ul.textBox li+li {
	padding: 20px 0;
	border-top: dashed 1px #133571;
}
#useful-info .checkpoint ul.textBox li h5 {
	position: relative;
	width: 100%;
	display: block;
	margin: 10px 0;
	padding-left: 30px;
    font-size: 1.3em;
	font-weight: bold;
	line-height: 1.4em;
	color: #133571;
	box-sizing: border-box;
}
#useful-info .checkpoint ul.textBox li h5::before {
	position: absolute;
	content: '';
	width: 20px;
	aspect-ratio: 1/1;
	top: 0;
	left: 0;
	display: block;
	background: url("../images/icon_check.svg") no-repeat center center;
	background-size: contain;
	filter: invert(16%) sepia(18%) saturate(6498%) hue-rotate(204deg) brightness(95%) contrast(96%);
}
#useful-info .checkpoint ul.textBox li p {
	margin: 0;
}
#useful-info .s_mark .textBox {
	width: 100%;
}
#useful-info .s_mark figure {
	width: 60%;
	margin: 20px auto;
}
#useful-info .s_mark a.linkOut {
	margin-left: auto;
}

/*05.「家庭でできる省エネ」*/
#useful-info .eco {
	
}
#useful-info .eco .ecoBlock {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
	margin: 0 0 20px 0;
	background: #fff;
	box-sizing: border-box;
	box-shadow: 10px 10px 0 #abbcd0;
}
#useful-info .eco .ecoBlock+.ecoBlock {
	margin: 20px 0;
}
#useful-info .eco .ecoBlock figure {
	position: relative;
	width: 100%;
	aspect-ratio: 3/2;
}
#useful-info .eco .ecoBlock figure img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: 50% 50%;
}
#useful-info .eco .ecoBlock .textBox {
	width: 100%;
	padding: 20px;
}
#useful-info .eco .ecoBlock .textBox p {
	margin: 0;
}
#useful-info .eco .ecoBlock .textBox h4 {
	position: relative;
	width: 100%;
	height: 60px;
	display: flex;
		justify-content: flex-start;
		align-content: flex-end;
		align-items: flex-end;
	padding: 0 0 20px 80px;
	font-size: 1.6em;
	font-weight: bold;
	line-height: 1.2em;
	color: #133571;
	border-bottom: solid 2px #133571;
	box-sizing: border-box;
}
#useful-info .eco .ecoBlock .textBox h4 span {
	position: absolute;
	width: 60px;
	height: 60px;
	top: 0;
	left: 0;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
	font-family: "avenir-lt-pro", sans-serif;
    font-size: 1em;
	font-weight: 200;
	line-height: 1em;
	text-align: center;
	color: #fff;
	background: #133571;
}
#useful-info .eco .ecoBlock .textBox h4 span::before {
	content: 'Course';
	width: 100%;
	display: block;
	margin-bottom: 5px;
    font-size: 0.4em;
	line-height: 1em;
	color: #dae9f2;
}
#useful-info .eco .ecoBlock dl {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
	padding: 15px 0;
	font-size: 1.2em;
	line-height: 1.6em;
}
#useful-info .eco .ecoBlock dl+dl {
	border-top: solid 1px #ccc;
}
#useful-info .eco .ecoBlock dl dt {
	width: 100%;
	display: block;
	margin-bottom: 5px;
	font-size: 1.1em;
	color: #133571;
	box-sizing: border-box;
}
#useful-info .eco .ecoBlock dl dd {
	width: 100%;
	display: inline-block;
	text-align: justify;
}
#useful-info .portal_site .textBox {
	width: 100%;
}
#useful-info .portal_site figure {
	width: 80%;
	margin: 20px auto;
}
#useful-info .portal_site a.linkOut {
	margin-left: auto;
	text-align: right;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
広報・メディア
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#pr-media .new_vol {
	position: relative;
	width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin: 40px auto 0;
}
#pr-media .new_vol img.cover {
	position: relative;
	width: 50%;
    display: block;
	margin: 0 auto;
}
#pr-media .new_vol::before {
	position: absolute;
	content: '';
	width: 50px;
	aspect-ratio: 1/1;
	top: -30px;
	left: calc(50% - 35%);
    display: block;
	z-index: 1000;
	background: url("../images/pr-media/mark_new.svg") no-repeat center center;
	background-size: contain;
}
#pr-media .new_vol .textBox {
	position: relative;
	width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
}
#pr-media .new_vol .textBox h4 {
	width: 100%;
    display: block;
	margin-bottom: 20px;
	padding: 20px 0;
	font-size: 1.6em;
	font-weight: bold;
	line-height: 1em;
	text-align: center;
	color: #133571;
	border-bottom: solid 4px #133571;
}
#pr-media .new_vol .textBox h4 span {
	width: 100%;
	display: block;
	margin-top: 10px;
	font-size: 0.6em;
	font-weight: normal;
}
#pr-media .new_vol .textBox .contents {
	width: 100%;
    display: block;
}
#pr-media .new_vol .textBox .contents p {
	width: 100%;
    display: block;
	margin: 5px 0;
	font-size: 1.2em;
	line-height: 1.4em;
}
#pr-media .new_vol .textBox .btnBlock {
	justify-content: space-between;
	margin-top: 20px;
}
#pr-media .new_vol .textBox a.pdf {
	width: 80%;
}
#pr-media .new_vol .textBox a.backnumber {
	width: 80%;
}
#pr-media .new_vol .textBox a.btnDetail {
	margin: 10px auto;
}

/*YouTube動画*/
#pr-media .movie {
	position: relative;
	width: 90%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin: 20px auto;
}
#pr-media .movie.larger {
	width: 90%;
}
#pr-media .movie iframe {
	width: 100%;
	aspect-ratio: 16/9;
    display: block;
}
#pr-media .movie p {
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
	margin-top: 10px;
	font-size: 1.2em;
	line-height: 1.6em;
	text-align: center;
}
#pr-media .movie p span {
	width: 50%;
	display: block;
	margin: 5px 25% 0;
	padding: 3px 10px;
	font-size: 0.8em;
	text-align: center;
	border: solid 1px #698fbc;
	background: #dae9f2;
	box-sizing: border-box;
}
#pr-media .box {
	position: relative;
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin: 10px 0;
}
#pr-media .box figure {
	width: 100%;
	aspect-ratio: 16/9;
    display: block;
	margin: 0 auto;
}
#pr-media .box p {
	width: 100%;
    display: block;
	margin-top: 10px;
	font-size: 1.2em;
	line-height: 1.6em;
	text-align: justify;
}
#pr-media .box a {
	margin-left: auto;
}

/*広報誌一覧*/
#pr-media ul.magazineList {
	width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin: 0 auto;
}
#pr-media ul.magazineList li {
	position: relative;
	width: 44%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin: 20px 0 40px;
}
#pr-media ul.magazineList li img {
	width: 100%;
	aspect-ratio: 70/99;
    display: block;
	margin: 0 auto;
	object-fit: cover;
	object-position: 50% 50%;
	box-shadow: 0 0 20px rgba(0,0,0,0.2);
}
#pr-media ul.magazineList li h3 {
	width: 100%;
    display: block;
	margin: 20px 0;
	font-size: 0.9em;
	line-height: 1.6em;
	text-align: center;
}
#pr-media ul.magazineList li a {
	width: 96%;
	height: 40px;
	margin: 0 auto;
	font-size: 0.8em;
}
#pr-media ul.magazineList li a.btnDetail.pdf::after {
	width: 16px;
	left: 5px;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
よくあるご質問
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#faq .commonText {
	margin: 0 auto 20px;
}
#faq ul.tab {
	width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	overflow: hidden;
	margin: -80px 0 0;
	border-bottom: solid 5px #dae9f2;
}
#faq ul.tab li {
	width: 49%;
    display: block;
	overflow: hidden;
	margin: 0;
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	background: #dae9f2;
	box-shadow: 4px 4px 0 rgba(0,0,0,0.2);
}
#faq ul.tab li span,
#faq ul.tab li a {
	position: relative;
	width: 100%;
	height: 40px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	padding: 0 0 0 5px;
	font-size: 1em;
    font-weight: bold;
	line-height: 1.2em;
    color: #133571;
	background: #dae9f2;
	box-sizing: border-box;
}
#faq ul.tab li span {
	background: #dae9f2;
}
#faq ul.tab li a {
	color: #fff;
	background: #133571;
}
#faq ul.tab li a:hover {
	transition: all 200ms;
	opacity: 0.5;
}
#faq ul.tab li span::before,
#faq ul.tab li a::before {
	position: absolute;
	content: '';
    width: 20px;
    height: 20px;
	left: 10px;
    display: block;
}
#faq ul.tab li.hojin span::before,
#faq ul.tab li.hojin a::before {
	background: url("../images/icon_contact_hojin.svg") no-repeat center center;
    background-size: contain;
}
#faq ul.tab li.kojin span::before,
#faq ul.tab li.kojin a::before {
	background: url("../images/icon_contact_kojin.svg") no-repeat center center;
    background-size: contain;
}
#faq ul.tab li.hojin span::before,
#faq ul.tab li.kojin span::before {
	filter: invert(16%) sepia(18%) saturate(6498%) hue-rotate(204deg) brightness(95%) contrast(96%);
}
#faq ul.tab li.hojin a::before,
#faq ul.tab li.kojin a::before {
	filter: invert(100%) sepia(0%) saturate(715%) hue-rotate(101deg) brightness(113%) contrast(108%);
}
#faq ul.tab li a::after {
	position: absolute;
	content: '';
    width: 12px;
    height: 12px;
	right: 5px;
    display: block;
	background: url("../images/arrow.svg") no-repeat center center;
    background-size: contain;
	transform: rotate(90deg);
	filter: invert(100%) sepia(0%) saturate(715%) hue-rotate(101deg) brightness(113%) contrast(108%);
}
#faq ul.navi {
	width: 100%;
	clear: both;
	margin: 0 auto;
	overflow: hidden;
}
#faq ul.navi li {
	width: 100%;
	display: block;
    margin-bottom: 10px;
}
#faq div.question {
	position: relative;
	width: 100%;
	min-height: 60px;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	cursor: pointer;
	margin: 0 auto;
    padding: 5px 25px 5px 30px;
    border-radius: 4px;
    background: url("../images/faq/open.svg") no-repeat right 10px center #fff;
    background-size: 10px 10px;
	box-sizing: border-box;
}
#faq div.question::before,
#faq ul.answer::before {
	position: absolute;
    content: 'Q';
	width: 30px;
	left: 0px;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
    font: 200 1.6em/1em "avenir-lt-pro", sans-serif;
	text-align: center;
	color: #133571;
	box-sizing: border-box;
}
#faq div.question h4 {
	width: auto;
	font-size: 1.2em;
    font-weight: bold;
	line-height: 1.2em;
    color: #133571;
}
#faq div.open {
    cursor: pointer;
    background: url("../images/faq/close.svg") no-repeat right 10px center #fff;
    background-size: 10px 10px;
	box-sizing: border-box;
}
#faq ul.answer {
	position: relative;
	width: 100%;
	display: block;
	margin: 10px 0 10px auto;
	padding: 15px 15px 15px 30px;
    border-radius: 4px;
	background: rgba(255,255,255,0.5);
	box-sizing: border-box;
}
#faq ul.answer::before {
	content: 'A';
	color: #f15a24;
}
#faq ul.answer p {
	width: 100%;
	display: block;
	font-size: 1.2em;
	line-height: 1.6em;
    text-align: justify;
}
#faq ul.answer p a {
	text-decoration: underline;
    color: #06c;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
ピックアップ
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#pickup ul.pickupList {
    width: 90%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	margin: 0 auto 20px;
}
#pickup ul.pickupList li {
	width: 90%;
    display: block;
    margin: 10px auto;
}
#pickup ul.pickupList li img {
    width: 100%;
	aspect-ratio: 5/3;
	display: block;
    object-fit: cover;
	object-position: 50% 50%;
	border-radius: 4px;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
#pickup ul.pickupList li a:hover {
    opacity: 0.5;
    transition: all 200ms;
}
#pickup ul.pickupList li span {
	width: 100%;
	display: block;
	margin-top: 10px;
	font-size: 1.2em;
	line-height: 1.2em;
	text-align: center;
}

/*-- 詳細ページ --*/
#pickup figure {
	width: 100%;
	display: block;
}
#pickup .pickupTitle {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
	align-self: stretch;
	box-sizing: border-box;
}
#pickup .pickupTitle .date {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
	margin: 10px auto;
	font-size: 1em;
	line-height: 1em;
	color: #999;
}
#pickup .pickupTitle h3 {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
	font-size: 1.4em;
	font-weight: bold;
	line-height: 1.4em;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
ニュース
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
/*-- 一覧 --*/
.newsBlock {
    width: 90%;
	display: flex;
		justify-content: space-between;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
	margin: 0 auto 20px;
}
#news .newsBlock {
    margin: -20px auto 20px;
	border-bottom: solid 1px #ccc;
}
.newsBlock dl.list {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	padding: 15px 0;
    box-sizing: border-box;
}
.newsBlock dl.list+dl {
	border-top: solid 1px #ccc;
}
.newsBlock dl.list dt {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
	margin-bottom: 10px;
	font-size: 1.1em;
	line-height: 1.6em;
	color: #888;
}
.newsBlock dl.list dt::before,
#news .date::before {
	content: '';
	width: 100px;
	height: 30px;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin-right: 10px;
	font-size: 0.9em;
	color: #fff;
	background: #eee;
}
.newsBlock dl.list dt.info::before,
#news .date.info::before {
	content: 'お知らせ';
	background: #1879aa;
}
.newsBlock dl.list dt.hojin::before,
#news .date.hojin::before {
	content: '法人のお客さま';
	background: #133571;
}
.newsBlock dl.list dt.kojin::before,
#news .date.kojin::before {
	content: 'ご家庭の皆さま';
	background: #4891d3;
}
.newsBlock dl.list dt.event::before,
#news .date.event::before {
	content: 'イベント情報';
	background: #00a99d;
}
.newsBlock dl.list dt.activity::before,
#news .date.activity::before {
	content: '活動報告';
	background: #bab60f;
}
.newsBlock dl.list dt.workshop::before,
#news .date.workshop::before {
	content: '講習会';
	background: #534741;
}
.newsBlock dl.list dt.recruit::before,
#news .date.recruit::before {
	content: '採用情報';
	background: #f15a24;
}
.newsBlock dl.list dd {
	width: 100%;
	display: inline-block;
	font-size: 1.2em;
	line-height: 1.4em;
}
.newsBlock dl.list dd a:hover {
	text-decoration: underline;
    color: #06c;
}
#home .homeNews a.btnDetail {
	width: 300px;
}

/*ページネーション*/
.wp-pagenavi {
	width: 100%;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin: 20px auto;
	text-align: center;
	font-size: 1.2em;
	line-height: 1em;
}
.wp-pagenavi a,
.wp-pagenavi a.nextpostslink,
.wp-pagenavi a.prevpostslink {
	min-width: 30px;
    height: 30px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
    margin: 0 5px;
	text-decoration: none;
    border: none;
    background: #f5f5f5;
    box-sizing: border-box;
}
.wp-pagenavi a.nextpostslink,
.wp-pagenavi a.prevpostslink {
	border: none;
}
.wp-pagenavi a:hover {
	border-color: #133571;
}
.wp-pagenavi a,
.wp-pagenavi span {
    border: none;
	box-sizing: border-box;
}
.wp-pagenavi a.page,
.wp-pagenavi span.pages {
    border: none;
}
.wp-pagenavi span.current {
	width: 30px;
    height: 30px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
    margin: 0 5px;
	font-weight: bold;
	color: #FFF;
	border: none;
	background: #133571;
    box-sizing: border-box;
}
.wp-pagenavi span.extend {
	padding: 5px 10px;
    border: none;
}
.wp-pagenavi .first,
.wp-pagenavi .last {
	width: 50px;
    height: 30px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
    margin: 0 5px;
	font-size: 0.9em;
	color: #133571;
	border: solid 1px #133571;
	background: #fff;
    box-sizing: border-box;
}

/*-- News（詳細ページ） --*/
#news .date {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
	margin: 20px auto;
	font-size: 1em;
	line-height: 1em;
	color: #999;
}
#news h3.articleTitle {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
	margin: 0 auto;
	padding-bottom: 20px;
	font-size: 1.4em;
	font-weight: bold;
	line-height: 1.4em;
	border-bottom: solid 1px #CCC;
}
.newsArticle {
	width: 100%;
    display: block;
	padding: 30px 0;
    font-size: 1.2em;
	line-height: 1.6em;
}
.newsArticle div,
.newsArticle .wp-block-group {
	width: 100%;
	display: block;
	padding: 20px 0;
}
.newsArticle .w100 {width: 100%;}
.newsArticle .w90 {width: 90%;}
.newsArticle .w80 {width: 80%;}
.newsArticle .w70 {width: 70%;}
.newsArticle .w60 {width: 60%;}
.newsArticle .w50 {width: 50%;}

/*見出し*/
.newsArticle h1,
.newsArticle h2,
.newsArticle h3,
.newsArticle h4,
.newsArticle h5,
.newsArticle h6 {
	width: 100%;
    display: block;
	margin: 10px 0;
	font-weight: bold;
	line-height: 1.2em;
}
.newsArticle h1 {
	font-size: 1.4em;
}
.newsArticle h2 {
	font-size: 1.3em;
}
.newsArticle h3 {
	font-size: 1.2em;
}
.newsArticle h4 {
	position: relative;
	width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
	margin: 20px 0;
	padding: 5px 0 15px 40px;
	font-size: 1.1em;
	font-weight: bold;
	line-height: 1.2em;
	color: #133571;
	border-bottom: solid 1px #133571;
	box-sizing: border-box;
}
.newsArticle h4::before {
	position: absolute;
	content: '';
	width: 50px;
	aspect-ratio: 1/1;
	top: -5px;
	left: -10px;
    display: block;
	z-index: 1000;
	background: url("../images/midtitle_deco.svg") no-repeat center center;
	background-size: contain;
	filter: invert(16%) sepia(18%) saturate(6498%) hue-rotate(204deg) brightness(95%) contrast(96%);
}
.newsArticle h4::after {
	position: absolute;
	content: '';
	width: 100%;
	height: 7px;
	bottom: 0;
	left: 0;
    display: block;
	background: #dae9f2;
}
.newsArticle h5 {
	font-size: 1em;
}
.newsArticle h6 {
	font-size: 1em;
}
.newsArticle p {
	width: 100%;
    display: block;
	padding: 10px 0;
	font-size: 1em;
	font-weight: normal;
	line-height: 1.6em;
	box-sizing: border-box;
}
.newsArticle a {
	text-decoration: underline !important;
	color: #06c;
}
.newsArticle .fcRed {
	color: #ed1c24;
}
.newsArticle .fcBlue {
	color: #0095de;
}
.newsArticle .bgcRed {
	display: inline-block;
	margin: 10px 0;
	padding: 10px;
	color: #fff;
	background-color: #ed1c24;
	box-sizing: border-box;
}
.newsArticle .aligncenter {
	display: block;
    margin-left: auto;
    margin-right: auto;
}
.newsArticle .movie iframe {
	width: 100% !important;
	height: 100%;
	aspect-ratio: 16/9 !important;
    display: block;
	margin: 0;
	padding: 0;
}
.newsArticle ul,
.newsArticle ol {
	width: calc(100% - 2em);
    display: block;
	margin: 0 0 auto 20px;
	padding: 10px 20px;
	font-size: 1.4em;
	line-height: 1.8em;
	box-sizing: border-box;
}
.newsArticle ul li,
.newsArticle ol li {
	width: 100%;
	margin-bottom: 10px;
}
.newsArticle ul li {
	list-style: disc outside;
}
.newsArticle ol li {
	list-style: decimal outside;
}
.newsArticle .wp-block-table {
	margin: 0 auto;
}
.newsArticle .wp-block-table table {
	width: auto;
    display: table;
	margin: 0 auto 20px;
	border-collapse: inherit;
	border-top: solid 1px #ccc;
	border-left: solid 1px #ccc;
	box-sizing: border-box;
}
.newsArticle .wp-block-table table thead,
.newsArticle .wp-block-table table tbody,
.newsArticle .wp-block-table table tfoot {
	margin: 0;
	padding: 0;
	border-collapse: inherit;
	border-top: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
	border-left: solid 1px #ccc;
}
.newsArticle .wp-block-table table thead {
	text-align: center;
	color: #fff;
	background: #0095de;
}
.newsArticle table tbody tr:nth-of-type(even) {
	background: #f7f7f7;
}
.newsArticle .wp-block-table table th,
.newsArticle .wp-block-table table td {
	display: table-cell;
	margin: 0;
	padding: 20px;
	font-size: 1.4em;
	line-height: 1.4em;
	border-top: none;
	border-left: none;
	border-bottom: solid 1px #ccc;
	border-right: solid 1px #ccc;
}

/* デフォルトボタンの無効化 */
.wp-block-button__link {
  display: inline-block;
  background-color: inherit;
  color: inherit;
  text-decoration: none;
  padding: inherit;
  border-radius: inherit;
  font-size: 1em;
  transition: background-color 0.2s ease-in-out;
}
.wp-block-button__link:hover {
  background-color: inherit;
  color: inherit;
}
.wp-element-button,
.wp-block-button__link.wp-element-button {
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
  border: none;
  border-radius: inherit;
  padding: 0.5em 1.5em;
  font-size: 1em;
  line-height: 1.5;
  text-align: center;
  transition: all 0.2s ease-in-out;

  /* デフォルトの配色（テーマ変数対応） */
  background-color: inherit;
  color: inherit;
}
.wp-element-button:hover,
.wp-element-button:focus {
  background-color: inherit;
  color: inherit;
}
.wp-element-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.newsArticle figure {
	padding: 10px 20px;
	box-sizing: border-box;
}
.newsArticle figcaption {
	width: 100%;
	display: block;
	font-size: 1.3em;
	line-height: 1.6em;
	text-align: center;
}
.newsArticle .address {
	width: auto;
    display: block;
	margin: 20px auto;
	padding: 20px 40px;
	font-size: 1.4em;
	line-height: 1.8em;
	text-align: center;
	border: solid 5px #0095de;
	background: #f2f8f9;
}

/*一覧へ戻る*/
.pageNavi {
	position: relative;
	width: 100%;
    min-height: 60px;
	display: flex;
		justify-content: space-between;
		align-content: center;
		align-items: center;
		/*flex-wrap: wrap;*/
    margin: 0 auto;
	border-top: solid 1px #CCC;
}
.pageNavi a.btnList {
	position: absolute;
    width: 10%;
    left: calc(50% - 5%);
	display: block;
}
.pageNavi a.btnList span {
	width: 90%;
	max-width: 30px;
	height: 1px;
	display: block;
	margin: 7px auto;
	background: #000;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
お問い合わせ
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#form h3 {
	width: 100%;
    height: 40px;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
    font-size: 1.3em;
	font-weight: bold;
	line-height: 1em;
    color: #133571;
    border-bottom: solid 4px #133571;
    box-sizing: border-box;
}
#form h3.tel::before,
#form h3.web::before {
	content: '';
	width: 24px;
    height: 24px;
	display: inline-block;
    margin-right: 10px;
	filter: invert(16%) sepia(18%) saturate(6498%) hue-rotate(204deg) brightness(95%) contrast(96%);
}
#form h3.tel::before {
	background: url("../images/icon_tel.svg") no-repeat center center;
	background-size: contain;
}
#form h3.web::before {
	background: url("../images/icon_web.svg") no-repeat center center;
	background-size: contain;
}
#form a.btnDetail {
	display: block;
	margin: 0 auto;
}

/*プライバシーポリシー*/
#form .privacyArea {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	overflow: auto;
	margin: 0 auto;
	padding: 20px 5%;
	border: solid 5px #EEE;
	box-sizing: border-box;
}
#form .privacyArea .title {
	width: 100%;
	display: block;
	margin: 20px 0;
	font-size: 1.4em;
	line-height: 1.2em;
	text-align: center;
}
#form .privacyArea .box {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: stretch;
		align-items: flex-start;
		flex-wrap: wrap;
	margin: 10px auto;
}
#form .privacyArea .subject {
	width: 100%;
	display: block;
	font-size: 1.1em;
	font-weight: bold;
	line-height: 1em;
}
#form .privacyArea .text {
	width: 100%;
	display: block;
	margin-bottom: 10px;
	font-size: 1em;
	line-height: 1.4em;
	text-align: justify;
}
#form .privacyArea dl {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin: 10px 0;
	padding: 0;
}
#form .privacyArea dl dt {
	width: 25px;
	display: inline-block;
	font-size: 1em;
	line-height: 1.4em;
}
#form .privacyArea dl dd {
	width: calc(100% - 25px);
	display: inline-block;
	font-size: 1em;
	line-height: 1.4em;
}
#form .privacyArea ul {
	width: calc(100% - 25px);
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	margin: 10px 0 0 auto;
}
#form .privacyArea ul span {
	width: 100%;
	margin-bottom: 10px;
	font-size: 1.1em;
	line-height: 1.2em;
    text-indent: -1em;
}
#form .privacyArea ul li {
	width: 100%;
	margin-bottom: 10px;
	font-size: 1em;
	line-height: 1.4em;
    box-sizing: border-box;
}
#form .privacyArea ul.number li {
	padding-left: 1.5em;
    text-indent: -2em;
}
#form .privacyArea ul.disc li {
	text-indent: inherit;
    list-style-position: outside;
	list-style-type: disc;
}
#form .privacyArea ol {
	width: 90%;
	display: block;
	margin: 0 auto;
}
#form .privacyArea ol li {
	width: 100%;
	margin: 20px 0;
	font-size: 1em;
	line-height: 1.4em;
	list-style: decimal outside;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
採用情報
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#recruit .main {
    width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
	margin: -120px auto 0;
	padding: 120px 0 40px;
	background: url("../images/recruit/main_bg_sp.webp") no-repeat top center #dae9f2;
	background-size: 160%;
}
#recruit .main dl {
	width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin-left: auto;
}
#recruit .main dl dt {
	width: 100%;
    display: block;
	margin: 20px 0 0;
	font: 500 1.5em/1.4em "source-han-serif-japanese", "游明朝", "Yu Mincho", serif;
	text-align: center;
	color: #133571;
}
#recruit .main dl dd {
	width: 100%;
    display: block;
	margin-top: 20px;
	font-size: 1.2em;
    line-height: 1.6em;
    text-align: justify;
}
#recruit .main dl .btnDetail {
	width: 70%;
	margin: 20px auto 0;
}
#recruit .movie {
	width: 100%;
    display: flex;
		justify-content: center;
        flex-wrap: wrap;
	margin: 10px 0;
}
#recruit .movie iframe {
	width: 100%;
	aspect-ratio: 16/9;
    display: block;
}
#recruit .movie h3 {
	width: 100%;
    display: block;
	margin-top: 10px;
	font-size: 1.2em;
    line-height: 1.2em;
    text-align: center;
}

/*データで見る*/
#recruit .data .title,
#recruit .point .title {
	position: relative;
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin: 0 0 20px;
}
#recruit .data .title img,
#recruit .point .title img {
	width: 100%;
    display: block;
}
#recruit .data .title span {
	position: absolute;
	width: auto;
	bottom: -25px;
	right: 0;
    display: block;
	font-size: 0.8em;
    line-height: 1em;
}
#recruit .data ul {
	width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin: 0 auto;
}
#recruit .data ul li {
	width: 50%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin: 10px 0;
}
#recruit .data ul li h4 {
	width: 90%;
	aspect-ratio: 4/1;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin: 0 auto;
	font-size: 0.9em;
    line-height: 1em;
    text-align: center;
	color: #fff;
	background: url("../images/recruit/data_subject_bg.svg") no-repeat center center;
	background-size: contain;
}
#recruit .data ul li img {
	width: 70%;
    display: block;
	margin: 10px auto;
}
#recruit .data ul li .number {
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: flex-end;
		align-items: flex-end;
	font-size: 1.4em;
	font-weight: bold;
    line-height: 1.2em;
    text-align: center;
	color: #133571;
}
#recruit .data ul li .number span {
	display: inline-block;
	margin-right: 5px;
	font: 700 1.2em/1em "avenir-lt-pro", sans-serif;
	letter-spacing: -0.05em;
}
#recruit .data ul li .number p {
	width: 100%;
    display: block;
	font-size: 1em;
	font-weight: normal;
    line-height: 1em;
    text-align: center;
	color: #000;
}

/*当協会の魅力ポイント*/
#recruit .point {
	margin: 20px auto;
}
#recruit .point ul {
	width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
}
#recruit .point ul li {
	width: 100%;
	height: 70px;
    display: flex;
		justify-content: space-between;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
	margin: 5px 0;
	background: #fff;
}
#recruit .point ul li div {
	position: relative;
	width: 60px;
	height: 40px;
	display: flex;
		justify-content: flex-end;
		align-content: flex-end;
		align-items: flex-end;
	padding: 0 10px;
	font: 700 1.6em/1em "avenir-lt-pro", sans-serif;
	line-height: 1em;
	color: #133571;
	border-right: solid 1px #133571;
	box-sizing: border-box;
}
#recruit .point ul li div::before {
	position: absolute;
	content: '';
	width: 50px;
	aspect-ratio: 6/5;
	top: -15px;
	left: -10px;
	display: block;
	background: url("../images/recruit/point_good.png") no-repeat center center;
	background-size: contain;
}
#recruit .point ul li p {
	width: calc(100% - 60px);
    display: block;
	font-size: 1.1em;
    line-height: 1.2em;
    text-align: center;
}
#recruit .point ul li p b {
	font-size: 1.2em;
	color: #133571;
}
#recruit .point ul li p span {
	width: 100%;
	display: block;
	font-size: 0.7em;
}

/*募集要項*/
#recruit .job {
	
}
#recruit .job ul {
	width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin-bottom: 20px;
}
#recruit .job ul h4 {
	width: 100%;
	height: 30px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	font-size: 1.3em;
    line-height: 1.2em;
    text-align: center;
	color: #fff;
	background: #698fbc;
}
#recruit .job ul li {
	position: relative;
	width: 100%;
	min-height: 80px;
    display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
	padding: 0 30px 0 0;
}
#recruit .job ul li+li {
	border-top: solid 1px #133571;
}
#recruit .job ul li::after {
	position: absolute;
	content: '';
    width: 20px;
	aspect-ratio: 1/1;
	right: 0;
    display: block;
	border: solid 1px #000;
	border-radius: 15px;
	background: url("../images/arrow.svg") no-repeat center center;
	background-size: 10px 10px;
	box-sizing: border-box;
	filter: invert(16%) sepia(18%) saturate(6498%) hue-rotate(204deg) brightness(95%) contrast(96%);
}
#recruit .job ul li h5 {
	position: relative;
	width: 100%;
    display: block;
	margin-top: 10px;
	font-size: 1.2em;
    line-height: 1.2em;
	box-sizing: border-box;
}
#recruit .job span.catg {
	width: 50px;
	height: 20px;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin-right: 5px;
	font-size: 0.8em;
    line-height: 1em;
	color: #fff;
	background: #ccc;
}

/*高卒*/
#recruit .job span.hs {
	color: #25601d;
	background: #dcedda;
}
#recruit .job span.hs::before {
	content: '高 卒';
}

/*大卒・大卒等*/
#recruit .job span.univ,
#recruit .job span.univ_or {
	color: #133571;
	background: #dae9f2;
}
#recruit .job span.univ::before {
	content: '大 卒';
}
#recruit .job span.univ_or::before {
	content: '大卒等';
}

/*正社員*/
#recruit .job span.full {
	background: #365e99;
}
#recruit .job span.full::before {
	content: '正社員';
}

/*契約職員*/
#recruit .job span.contract {
	background: #7a9937;
}
#recruit .job span.contract::before {
	content: '契約職員';
}

/*嘱託職員*/
#recruit .job span.part {
	background: #d14e26;
}
#recruit .job span.part::before {
	content: '嘱託職員';
}

/*応募書類ダウンロード*/
#recruit .downloadBlock {
	width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin: 20px 0 0;
}
#recruit .downloadBlock h3 {
	position: relative;
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin-bottom: 20px;
	font-size: 1.2em;
	font-weight: bold;
    line-height: 1em;
	text-align: center;
	color: #133571;
}
#recruit .downloadBlock h3::before,
#recruit .downloadBlock h3::after {
	content: '';
	width: 30px;
	height: 1px;
    display: block;
	margin: 0 10px;
	background: #133571;
}
#recruit .downloadBlock a.btnDetail {
	width: 90%;
	margin: 5px auto;
	padding: 0 20px 0 0;
}

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
採用情報（募集要項）
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#recruit .job .head {
	margin: 0 auto -20px;
}
#recruit .job .head figure {
	width: 70%;
	display: block;
	margin: 0 auto 20px;
	object-fit: cover;
	object-position: 50% 50%;
}
#recruit .job .head .textBox {
	width: 100%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
}
#recruit .job .head .textBox h3 {
	width: 100%;
    display: block;
	margin: 20px 0;
	font-size: 1.4em;
	font-weight: bold;
    line-height: 1.2em;
	text-align: center;
	color: #133571;
}
#recruit .job .head .textBox p {
	width: 100%;
    display: block;
	font-size: 1.2em;
    line-height: 1.6em;
	text-align: justify;
}
#recruit .job .detail {
	margin: 0 auto 20px;
    padding: 10px 5%;
	background: #fff;
	box-sizing: border-box;
}
#recruit .job .detail table {
	width: 100%;
    display: table;
}
#recruit .job .detail table tr+tr {
	border-top: solid 1px #ccc;
}
#recruit .job .detail table th,
#recruit .job .detail table td {
    display: table-cell;
	padding: 20px 5px;
	vertical-align: top;
}
#recruit .job .detail table th {
	width: 6em;
	font-size: 1em;
    line-height: 1.4em;
	text-align: left;
	color: #133571;
}
#recruit .job .detail table td {
    font-size: 1.2em;
    line-height: 1.4em;
}
#recruit .job a.entry {
	width: 90%;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
関連リンク
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#links .map {
	position: relative;
	width: 90%;
    display: flex;
		justify-content: flex-end;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin: 0 auto 40px;
}
#links .map figure {
	position: relative;
	width: 90%;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin: 0 auto 40px;
}
#links .map figure a.btn {
	position: absolute;
	width: 36px;
	height: 18px;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	font-size: 0.8em;
	line-height: 1em;
	border: solid 1px #133571;
	border-radius: 4px;
	background: #fff;
	box-sizing: border-box;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
#links .map figure a.btn:hover {
	transition: all 200ms;
	opacity: 0.5;
}
/*北海道*/
#links .map figure a.btn.p1 {
	top: calc(50% - 37%);
	left: calc(50% + 36%);
}
/*東北*/
#links .map figure a.btn.p2 {
	top: calc(50% - 6%);
	left: calc(50% + 28%);
}
/*関東*/
#links .map figure a.btn.p3 {
	top: calc(50% + 20%);
	left: calc(50% + 28%);
}
/*中部*/
#links .map figure a.btn.p4 {
	top: calc(50% + 24%);
	left: calc(50% + 12%);
}
/*北陸*/
#links .map figure a.btn.p5 {
	top: calc(50% + 11%);
	left: calc(50% + 7%);
}
/*関西*/
#links .map figure a.btn.p6 {
	top: calc(50% + 27%);
	left: calc(50% - 2%);
}
/*中国*/
#links .map figure a.btn.p7 {
	top: calc(50% + 24%);
	left: calc(50% - 15%);
}
/*四国*/
#links .map figure a.btn.p8 {
	top: calc(50% + 38%);
	left: calc(50% - 14%);
}
/*九州*/
#links .map figure a.btn.p9 {
	top: calc(50% + 34%);
	left: calc(50% - 31%);
}
#links ul.list {
	width: 100%;
    display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
}
#links ul.list.esa {
	width: 100%;
}
#links ul.list h3 {
	position: relative;
	width: 100%;
    display: block;
	margin-bottom: 10px;
	font-size: 1.3em;
    line-height: 1em;
}
#links ul.list h3::before {
	content: '●';
    display: inline-block;
	color: #133571;
}
#links ul.list li {
	width: 100%;
    display: block;
	margin: 5px 0;
	border: solid 1px #ccc;
	box-sizing: border-box;
}
#links ul.list li a {
	position: relative;
	width: 100%;
	height: 50px;
    display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
	padding: 0 10px;
	font-size: 1.2em;
    line-height: 1em;
}
#links .group {
	padding: 30px 0;
	border-top: solid 5px #eee;
	border-bottom: solid 5px #eee;
}
#links a.bnrWatt {
	position: relative;
	width: 80%;
    display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin: 20px auto;
	font-size: 1.6em;
    line-height: 1em;
	border-radius: 4px;
	background: #fff;
	box-sizing: border-box;
	box-shadow: 4px 4px 0 rgba(0,0,0,0.1);
}
#links a.bnrWatt:hover {
	transition: all 200ms;
	opacity: 0.5;
}
#links a.bnrWatt img {
	width: 100%;
	display: block;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
サイトポリシー／個人情報保護方針
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#policy .block {
	margin: 20px auto;
}
#policy .block .box {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: stretch;
		align-items: flex-start;
		flex-wrap: wrap;
	margin: 0 auto;
	padding: 20px 0;
}
#policy .block hr {
	width: 100%;
	height: 1px;
	border: none;
	background: #ddd;
}
#policy .block .date {
	width: auto;
	display: block;
    margin-left: auto;
	font-size: 1em;
	line-height: 1.2em;
	margin-bottom: 20px;
	text-align: right;
}
#policy .block .text {
	width: 100%;
	display: block;
	font-size: 1.2em;
	line-height: 1.6em;
	text-align: justify;
}
#policy .block .titleLarge {
	width: 100%;
	display: block;
	margin: 20px 0 10px;
    padding-bottom: 10px;
	font-size: 1.4em;
    font-weight: 700;
	line-height: 1em;
    border-bottom: solid 4px #0074be;
}
#policy .block .txBlue {
	width: 100%;
	display: block;
	margin: 20px 0;
	font-size: 1.2em;
    font-weight: 700;
	line-height: 1em;
    color: #0074be;
}
#policy .block .subject {
	width: 100%;
	display: block;
	margin-bottom: 15px;
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1em;
}
#policy .block .text a {
	color: #06C;
	text-decoration: underline;
}
#policy .block dl {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin: 10px 0;
}
#policy .block dl dt {
	width: 25px;
	display: inline-block;
	font-size: 1.2em;
	line-height: 1.6em;
}
#policy .block dl dd {
	width: calc(100% - 25px);
	display: inline-block;
	font-size: 1.2em;
	line-height: 1.6em;
}
#policy .block ul {
	width: calc(100% - 25px);
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	margin: 15px 0 0 auto;
}
#policy .block ul li {
	width: 100%;
	margin-bottom: 5px;
	font-size: 1.2em;
	line-height: 1.4em;
    box-sizing: border-box;
}
#policy .block ul.number li {
	padding-left: 1.5em;
    text-indent: -2em;
}
#policy .block ul.disc li {
	text-indent: inherit;
    list-style-position: outside;
	list-style-type: disc;
}
#policy .block ol {
	width: 80%;
	display: block;
	margin: 0 auto;
}
#policy .block ol li {
	width: 100%;
	margin: 20px 0;
	font-size: 1.2em;
	line-height: 1.4em;
	list-style: decimal outside;
}
#policy .block .contact {
	width: 100%;
	display: block;
	margin: 0 auto 20px;
	font-size: 1.4em;
	line-height: 1em;
	text-align: center;
}
#policy .block address {
	width: 100%;
    display: block;
	margin: 20px auto;
	font-size: 1.2em;
	line-height: 1.6em;
}
#policy .block address strong {
	width: 100%;
    display: block;
    margin-bottom: 10px;
	font-size: 1.1em;
	line-height: 1.2em;
	text-align: center;
}
#policy .block .tel {
	width: 100%;
	display: block;
	margin-top: 20px;
	font-size: 1.6em;
	line-height: 1.4em;
	text-align: center;
}
#policy .block .tel span {
	font-size: 1.6em;
}
#policy .block .tel span.small {
	font-size: 0.6em;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
サイトマップ
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#sitemap .block {
	margin: 20px auto;
}
#sitemap ul.list {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	margin: 0 auto;
}
#sitemap ul.list li {
	width: 100%;
	display: block;
    align-self: stretch;
    border-bottom: solid 1px #DDD;
}
#sitemap ul.list li:nth-last-of-type(-n+1) {
	border-bottom: none;
}
#sitemap ul.list li a,
#sitemap ul.list li p {
	width: 100%;
	display: block;
	padding: 20px 0;
	font-size: 1.2em;
	line-height: 1em;
}
#sitemap ul.list li p {
	padding: 20px 10px;
}
#sitemap ul.list li a::before {
	content: '';
	width: 10px;
	height: 10px;
	display: inline-block;
	margin-right: 5px;
	background: url("../images/arrow.svg") no-repeat center center;
	background-size: contain;
	filter: invert(16%) sepia(18%) saturate(6498%) hue-rotate(204deg) brightness(95%) contrast(96%);
}
#sitemap ul.list li a:hover {
    text-decoration: underline;
	transition: all 200ms;
    opacity: 0.5;
}
#sitemap ul.list li.half {
	width: 100%;
}
#sitemap ul.listS {
	width: calc(100% - 15px);
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	margin: 0 0 10px 15px;
}
#sitemap ul.listS li {
	width: 100%;
    display: block;
	margin-bottom: 10px;
	border: none;
}
#sitemap ul.list li.half ul.listS li {
	width: 100%;
}
#sitemap ul.listS li a {
	width: 100%;
	display: block;
	padding: 5px 0;
	font-size: 1.1em;
	line-height: 1.2em;
    box-sizing: border-box;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【共通】お問い合わせ
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
.commonContact {
	align-content: center;
    align-items: center;
}
.commonContact div {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: center;
        align-content: flex-start;
        align-items: flex-start;
		flex-wrap: wrap;
	align-self: stretch;
	padding: 20px 0;
    box-sizing: border-box;
}
.commonContact div+div {
	border-top: solid 1px #ccc;
}
.commonContact .title span {
	width: 100%;
	display: block;
	margin-bottom: 10px;
	font-family: "avenir-lt-pro", sans-serif;
	font-size: 2.4em;
	font-weight: 200;
	line-height: 1em;
	text-align: center;
	color: #133571;
}
.commonContact .title h3 {
	position: relative;
	width: 100%;
	display: block;
    font-size: 1.2em;
	line-height: 1.4em;
	text-align: center;
}
.commonContact div h4 {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: center;
        align-content: center;
        align-items: center;
	margin-bottom: 20px;
    font-size: 1.2em;
	line-height: 1.2em;
	box-sizing: border-box;
}
.commonContact div h4::before {
	content: '';
	width: 24px;
	aspect-ratio: 1/1;
	display: inline-block;
}
.commonContact .tel h4::before {
	background: url("../images/icon_tel.svg") no-repeat center center;
	background-size: contain;
}
.commonContact .web h4::before {
	margin-right: 10px;
	background: url("../images/icon_web.svg") no-repeat center center;
	background-size: contain;
}
.commonContact .tel a.number {
	width: 100%;
	display: block;
	font-family: "avenir-lt-pro", sans-serif;
	font-size: 2.4em;
	font-weight: 200;
	line-height: 1em;
	letter-spacing: 0.05em;
	text-align: center;
	color: #133571;
}
.commonContact .tel p {
	position: relative;
	width: 100%;
	display: block;
	margin-top: 10px;
    font-size: 1.2em;
	line-height: 1.2em;
	text-align: center;
}
.commonContact .web a.btnDetail {
	width: 90%;
	height: 60px;
	padding: 0;
	font-size: 1.2em;
	text-align: center;
}
.commonContact .web a.btnDetail img {
	position: absolute;
	width: 20px;
	aspect-ratio: 1/1;
	left: 10px;
	display: block;
	filter: invert(100%) sepia(1%) saturate(3%) hue-rotate(345deg) brightness(103%) contrast(102%);
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
Footer
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
footer {
	position: relative;
    width: 100%;
	display: flex;
		justify-content: center;
		align-content: space-between;
		align-items: center;
        flex-wrap: wrap;
	padding: 40px 0;
	background: url("../images/footer_bg_sp.webp") no-repeat right 30% bottom;
    background-size: cover;
    box-sizing: border-box;
}
footer #page-top {
	position: fixed;
	width: 50px;
	right: 0;
	bottom: 0;
	z-index: 30000;
    border-radius: 25px;
	background: #133571;
}
footer img.copy {
	width: 50%;
    display: block;
	margin: 0 auto 40px;
}
footer a.logo {
    width: 70%;
	display: block;
	margin: 0 auto;
}
footer .office {
	position: relative;
    width: 100%;
    display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
	margin: 20px 0;
	box-sizing: border-box;
}
footer .office address {
	width: 100%;
    display: block;
	margin: 10px 0;
	font-size: 1em;
    line-height: 1.4em;
	text-align: center;
}
footer .office address b {
	width: 100%;
    display: block;
	margin-bottom: 5px;
	font-size: 1.1em;
    line-height: 1.2em;
}
footer .office a.linkArrow {
	margin: 20px 0;
}
footer .bottom {
	width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
}
footer .bottom ul {
	width: 100%;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
	margin-bottom: 20px;
}
footer .bottom ul li {
	display: block;
	padding-right: 1em;
	font-size: 0.8em;
	line-height: 1.2em;
	text-align: center;
}
footer .bottom ul li+li {
	padding-left: 1em;
	border-left: solid 1px rgba(0,0,0,0.5);
}
footer .bottom ul li a {
	
}
footer .bottom ul li a:hover {
	text-decoration: underline;
    color: #00b3ea;
}
footer .bottom .copyright {
	width: 100%;
    display: block;
	font: 300 0.8em/1.2em "avenir-lt-pro", sans-serif;
	text-align: center;
}
