@charset "utf-8";
/*
Theme Name: kanodenki 5
Theme URI: https://kanodenki.co.jp/
Description: kanodenki専用のベーステーマ
Version: 5.0
*/

/* common
---------------------------------------------------------------------------*/
body {
	background-color: #FFFFFF;
	color: #222222;
	font-size: 16px;
	font-family: a-otf-gothic-bbb-pr6n, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	line-height: 1;
	font-feature-settings: 'palt' 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.noscroll { overflow-y: scroll; position: fixed; width: 100%; }

::-moz-selection { background: #CCCCCC; color: #333333; }
::selection { background: #CCCCCC; color: #333333; }

p { font-size: 15px; line-height: 1.8; letter-spacing: 0.1em; margin-bottom: 10px; }
p:last-of-type { margin-bottom: 0 !important; }
address,i { font-style: normal; }
img { max-width: none; }
.clearfix:after { content: ''; display: block; clear:both; }

body.pc .pc_view { display: block !important; }
body.pc .sp_view { display: none !important; }
body.sp .sp_view { display: block !important; }
body.sp .pc_view { display: none !important; }

#wrap,
.mnav,
header { min-width: 1240px; }

@media (max-width: 1240px) {
	.mnav-close {
		left: calc(1240px - 240px);
	}
}

/* txt
------------------------------------*/
.font-mg { font-family: a-otf-midashi-go-mb31-pr6n, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif; }
.font-en-u { font-family: 'UniversLTPro-Ex'; }
 
.txt-v {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-feature-settings: 'palt' 0;
}

.txt-red { color: #B1010F; }
.txt-black { color: #222222 !important; }

.txt-line {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.plr { padding: 0 4px 0 2px; }

/* link
------------------------------------*/
a { color: #333333; text-decoration: none; transition: .15s ease-out; -webkit-transform: translateZ(0); }
a:hover { text-decoration: none; opacity: 0.5; }

/* .btn
------------------------------------*/
.btn-link {
	margin-top: 50px;
	position: relative;
	display: inline-block;
}

.btn-link.btn-wide { width: 100%; margin-top: 60px; }
.btn-link.btn-sml { margin-top: 40px; }

.btn-link a {
	background: #B70000;
	border-radius: 31px;
	text-align: center;
	font-size: 18px;
	letter-spacing: 0.1em;
	display: inline-block;
	position: relative;
	color: #FFFFFF;
	height: 100%;
	width: 100%;
	padding: 22px 0 22px;
	box-sizing: border-box;
	left: -10px;
	top: -11px;
	transition: ease-in .06s;
}

.btn-link.btn-sml a {
	font-size: 17px;
	letter-spacing: 0.08em;
	padding: 14px 52px 16px 45px;
	left: -9px;
	top: -10px;
	border-radius: 100px;
	text-align: left;
}

.btn-link::before {
	content: "";
	position: absolute;
	display: inline-block;
	background: #DCDCDC;
	width: 100%;
	height: 100%;
	border-radius: 31px;
	opacity: .5;
	right: 0;
	bottom: 0;
	z-index: -1;
}

.btn-link a:hover {
	opacity: 1;
	top: -8px;
	left: -8px;
	background: #A40000;
}

.btn-link.btn-sml a:hover {
	top: -7px;
	left: -7px;
}

.btn-link a span {
	display: inline-block;
	position: relative;
	width: 100%;
	height: 100%;
	transition: ease-in .02s;
}

.btn-link.btn-sml a span {
	line-height: 1.2;
}

.btn-link a span::after {
	position: absolute;
	top: -1px;
	right: 22px;
	content: '';
	background: url(img/share/btn-bullet-circle-w.svg) no-repeat;
	width: 20px;
	height: 20px;
	background-size: 20px 20px;
}

.btn-link.btn-sml a span::after {
	right: -35px;
	width: 20px;
	height: 20px;
	background-size: 100%;
	top: 50%;
	transform: translateY(calc(-50% + 1px));
}

/* .btn-rect
------------------------------------*/
.btn-rect a {
	display: inline-block;
	width: 100%;
	height: 100%;
	text-align: center;
	padding: 7px 0 13px;
	box-sizing: border-box;
	background: #B70000;
	color: #fff;
	margin-top: 27px;
}

/* .btn-r-arrow
------------------------------------*/
.btn-r-arrow {
	font-size: 15px;
	position: relative;
	padding-right: 20px;
	letter-spacing: 0.11em;
	color: #B70000;
}

.btn-r-arrow + .btn-r-arrow {
	margin-left: 20px;
}

.btn-r-arrow.uline::before {
	content: "";
	position: absolute;
	display: block;
	width: calc(100% - 2px);
	background: #B70000;
	height: 1px;
	bottom: -3px;
	left: 0;
}

.btn-r-arrow::after {
	content: "";
	position: absolute;
	display: block;
	width: 13px;
	height: 11px;
	background: url(img/share/btn-arrow.svg) no-repeat;
	right: 3px;
	bottom: 6px;
	transform: scale(-1,1);
}


/* header
---------------------------------------------------------------------------*/
header {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	height: 150px;
}

header.fix {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1001;
}

header.fix + #mainContents {
	padding-top: 150px;
}

.header-inner {
	display: flex;
	align-items: flex-end;
	box-sizing: border-box;
	background-color: #FFFFFF;
	border-radius: 0 0 40px 0;
	width: calc(100% - 190px);
	height: 150px;
	padding: 42px 0 38px 50px;
	position: relative;
	z-index: 1000;
}

header .logo {
	position: relative;
	width: 266px;
	min-width: 266px;
	height: 71px;
	transform-origin: left bottom;
}

header .logo a { display: block; }

.logo .mark img { width: 100%; height: auto; }

.logo .type {
	margin-top: 42px;
	width: 188px;
	height: auto;
}

.logo .txt {
	display: block;
	position: absolute;
	top: 0;
	right: 66px;
	width: 63px;
	transform-origin: right bottom;
	opacity: 0;
}

.logo .small-txt {
	font-size: 11px;
	letter-spacing: 0.2em;
	position: absolute;
	top: 11px;
	left: 0;
}

.logo .mark {
	display: block;
	position: absolute;
	top: 3px;
	right: 0;
	width: 66px;
	transform-origin: right bottom;
	z-index: 3;
}

.logo .mark.center { transform-origin: center center; }

.logo .mark .logo2 {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

/* .logo-50th
------------------------------------*/
.logo-50th {
	position: absolute;
	top: -3px;
	left: 183px;
	width: 136px;
	z-index: 2;
}

.logo-50th .logo1 {
	position: relative;
	overflow: hidden;
	/*width: 136px;*/
	width: 0;
	height: 79px;
	z-index: 0;
}

.logo-50th .logo1 img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

header .gnav {
	padding-left: 40px;
}

/* header-side
------------------------------------*/
.header-side {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: flex-start;
	position: absolute;
	top: 0;
	right: 0;
	height: 70.5vw;
	box-sizing: border-box;
	padding: 56px 36px 2vw 0;
	z-index: 1;
}

.header-copy {
	position: relative;
	display: inline-block;
	opacity: 0;
}

.header-copy small {
	position: absolute;
	top: -24px;
	left: -17px;
	display: inline-block;
	transform-origin: right bottom;
	opacity: 0;
}

.sns-copy-wrap {
	padding-right: 8px;
	margin-top: 25px;
}

#about .header-side {
	justify-content: space-between;
}

#about .sns-copy-wrap {
	margin-top: 0;
}

#staffblogContents .sns-copy-wrap {
	position: absolute;
	bottom: 0;
	right: 36px;
	margin-top: 0;
	z-index: 2;
}

.sns-copy-wrap .sns-list li {
	margin-bottom: 10px;
}

.sns-copy-wrap .sns-list li:last-of-type {
	margin-bottom: 0;
}

.header-side .sub-copy {
	margin-top: 50px;
	transform: translateX(2px);
}

.header-side .sub-copy p {
	font-size: 17px;
	letter-spacing: 0.25em;
	display: inline;
	border-right: solid 1px #222222;
	line-height: 1.9;
	padding-top: 3px;
}


/* .gnav
---------------------------------------------------------------------------*/
.gnav {
	display: flex;
	margin-left: 5%;
	padding-bottom: 5px;
}

.gnav > ul {
	display: flex;
}

.gnav .inner-ul-s {
	padding-left: 1%;
}

.gnav > ul > li {
	display: block;
	text-align: center;
}

.gnav li .parent {
	display: block;
	position: relative;
	cursor: pointer;
	transition: .15s ease-out;
}

.gnav li .parent:hover {
	opacity: 0.5;
}

.gnav li .parent i {
	position: absolute;
	top: -25px;
	left: 50%;
	transform: translateX(-50%) !important;
}

.gnav li .parent i img {
	display: block;
	transform-origin: center bottom;
	opacity: 0;
}

.gnav li .parent strong {
	display: block;
	white-space: nowrap;
}

.gnav li .parent em {
	display: block;
	margin-top: 15px;
	color: #B70000;
	font-size: 12px;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.gnav .inner-ul-l > li .parent {
	display: inline-block;
	box-sizing: border-box;
	width: 100%;
	padding: 0 20px;
}

.gnav .inner-ul-s > li {
	position: relative;
}

.gnav .inner-ul-s > li .parent {
	padding: 0 24px;
	box-sizing: border-box;
}

.gnav .inner-ul-s > li:first-of-type {
	padding-left: 0;
}

.gnav .inner-ul-s > li::after {
	content: "";
	position: absolute;
	display: block;
	width: 1px;
	height: 23px;
	background: url(img/share/bd-dashed-small.svg) repeat-y;
	right: 0;
	top: 15px;
}

.gnav .inner-ul-s > li:last-of-type::after {
	display: none;
}

.gnav > ul > li:last-of-type {
	margin-right: 0;
	padding-right: 0;
}

.gnav > ul > li > a {
	display: inline-block;
	width: 100%;
	height: auto;
}


/* .mnav
---------------------------------------------------------------------------*/
.mnav {
	position: fixed;
	top: 150px;
	left: 0;
	background-color: #B70000;
	width: 100%;
	height: 100vh;
	z-index: 1000;
	display: none;
	opacity: 0;
}

.mnav-close {
	position: fixed;
	top: 0;
	right: 0;
	box-sizing: border-box;
	background-color: #B70000;
	width: 240px;
	height: 150px;
	padding: 44px 0 0 84px;
	z-index: 999;
	cursor: pointer;
	display: none;
	opacity: 0;
}

.mnav-close img {
	display: block;
	transition: .15s ease-out;
}

.mnav-close:hover img {
	opacity: 0.5;
}

.mnav-wrap {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: 1340px;
	margin: 40px auto 0;
	padding: 0 40px;
	text-align: left;
}

.mnav-main,
.mnav-trouble,
.mnav-trouble a img {
	opacity: 0;
}

.mnav-main {
	display: -webkit-box;
	display: flex;
	background-color: #FFFFFF;
	border-radius: 12px;
	margin-bottom: 25px;
}

.mnav-side,
.mnav-inner .inner:not(:nth-of-type(3n)) {
	border-right: 1px solid rgba(206,206,206,0.5);
}

.mnav-inner .inner {
	border-top: 1px solid rgba(206,206,206,0.5);
}

.mnav-inner .inner:nth-of-type(1),
.mnav-inner .inner:nth-of-type(2),
.mnav-inner .inner:nth-of-type(3) {
	border-top: 0;
}

.mnav-inner .inner .box {
	background-color: #FFF8E4;
	margin-top: 10px;
	padding: 14px 14px 14px 12px;
}

.mnav-inner .inner .box ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 10px;
}

.mnav-inner .inner .box li {
	margin-bottom: 0;
	font-size: 12px;
}

.btn-trouble-support-mnav {
	margin: -14px auto 0;
	opacity: 0;
}

.btn-trouble-support-mnav a {
	display: block;
	position: relative;
}

.btn-trouble-support-mnav a:hover {
	opacity: 0.8;
}

/* .mnav-side
------------------------------------*/
.mnav-side {
	position: relative;
	width: 224px;
	min-width: 224px;
	padding: 30px 0 34px;
	text-align: center;
}

.mnav-side figure {
	position: relative;
}

.mnav-side figure figcaption {
	position: relative;
	margin-bottom: 28px;
	z-index: 1;
}

.mnav-side figure > img {
	display: inline-block;
	position: relative;
	border-radius: 6px;
	z-index: 0;
}

.mnav-side b {
	display: block;
	margin-bottom: 24px;
	text-align: center;
}

.mnav-side b strong img {
	width: 114px;
}

.mnav-side b em {
	display: block;
	margin-top: 18px;
	color: #B70000;
	font-size: 14px;
	letter-spacing: 0.01em;
}

.mnav-side .btn-link {
	display: block;
	width: 158px;
	margin: 35px auto 0;
	transform: translateX(8px);
	z-index: 1;
}

.mnav-side .btn-link a {
	display: block;
	padding: 12px 0 13px 20px;
	font-size: 16px;
	top: -7px;
	left: -7px;
	text-align: left;
}

.mnav-side .btn-link a:hover {
	top: -5px;
	left: -5px;
}

.mnav-side .btn-link a span::after {
	top: -1px;
	right: 16px;
	background: url(img/share/btn-bullet-l.svg) no-repeat;
	background-size: 100% auto;
	width: 18px;
	height: 18px;
}

.mnav-side .list-dot {
	margin-left: 38px;
}

.mnav-side .list-dot li {
	margin-bottom: 12px;
	font-size: 14px;
	text-align: left;
	letter-spacing: 0.1em;
}

.mnav-side .list-dot li::before {
	top: 7px;
	color: #B70000;
	font-size: 20px;
	line-height: 0;
}

.mnav-wrap .illust-set {
	position: relative;
	margin: 0 auto 35px;
	z-index: 2;
	transform-origin: center bottom;
}

.mnav-wrap .illust-set .tencho2 {
	display: none;
}

.mnav-wrap .illust-set .washing { top: -25px; left: 7px; width: 54px; }
.mnav-wrap .illust-set .tv { top: -12px; right: 3px; width: 64px; transform: rotate(-8deg); }

.mnav-wrap .illust-set .tencho2 img,
.mnav-wrap .illust-set .washing img,
.mnav-wrap .illust-set .tv img {
	-webkit-backface-visibility: hidden;
	width: 100%;
	height: auto;
}

.mnav-inner {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0 0;
}

.mnav-inner .inner {
	box-sizing: border-box;
}

.mnav-inner .inner > a {
	position: relative;
	display: -webkit-box;
	display: flex;
	box-sizing: border-box;
	padding: 60px 20px 25px;
}

.mnav-inner .inner:nth-of-type(1) > a,
.mnav-inner .inner:nth-of-type(2) > a,
.mnav-inner .inner:nth-of-type(3) > a {
	padding-top: 70px;
}

.mnav-inner .inner figure {
	align-self: flex-start;
	width: 95px;
	min-width: 95px;
}

.mnav-inner .inner figure img {
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;;
}

.mnav-inner .inner .txt {
	padding: 0 0 0 16px;
}

.mnav-inner .inner b {
	display: block;
	position: absolute;
	top: 22px;
	left: 20px;
	white-space: nowrap;
}

.mnav-inner .inner:nth-of-type(1) b,
.mnav-inner .inner:nth-of-type(2) b,
.mnav-inner .inner:nth-of-type(3) b {
	top: 32px;
}

.mnav-inner .inner b strong {
	font-size: 17px;
	line-height: 1.4;
	letter-spacing: 0.02em;
	text-decoration: underline;
	text-decoration-color: #FFF96C;
	text-decoration-thickness: 4px;
	text-underline-offset: -0.2em;
}

.mnav-inner .inner b strong.size-s {
	font-size: 16px;
	letter-spacing: 0;
}

.mnav-inner .inner b em {
	padding-left: 9px;
	color: #B70000;
	font-size: 12px;
	letter-spacing: 0.02em;
}

.mnav-inner .inner p {
	width: 100%;
	margin-top: 12px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.06em;
	text-align: justify;
}

/* .inner-trouble
------------------------------------*/
.mnav-inner .inner-trouble {
	border-right: none !important;
	width: 67.5%;
}

.mnav-inner .inner-trouble > a {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	padding: 24px 34px 34px 30px;
}

.mnav-inner .inner-trouble > a > div:nth-of-type(1) { width: 320px; min-width: 320px; padding-right: 20px; }
.mnav-inner .inner-trouble > a > div:nth-of-type(2) { width: calc(100% - 340px); margin-top: 5px; }

.mnav-inner .inner-trouble h2 {
	margin: -2px 0 12px 2px;
	transform-origin: left top;
}

.mnav-inner .inner-trouble h3 {
	margin-bottom: 8px;
	font-size: 18px;
	color: #B70000;
	line-height: 1.5;
	letter-spacing: 0.08em;
}

.mnav-inner .inner-trouble p {
	box-sizing: border-box;
	margin-top: 8px;
	padding-right: 10px;
	font-size: 14px;
	letter-spacing: 0.08em;
}

.mnav-inner .inner-trouble > a > div:nth-of-type(2) h4 {
	margin-bottom: 13px;
	text-align: center;
}

.mnav-inner .inner-trouble .box,
.fnav .trouble .box {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	box-sizing: border-box;
	background-color: #FFF8E4;
	border: 3px solid #FFE497;
	border-radius: 7px;
	padding: 12px 16px 12px 20px;
}

.mnav-inner .inner-trouble .box li {
	position: relative;
	width: auto !important;
	margin-bottom: 2px;
	padding-left: 10px;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.02em;
}

.mnav-inner .inner-trouble .box li {
	white-space: nowrap;
}

.mnav-inner .inner-trouble .box li:before {
	display: block;
	content: '';
	position: absolute;
	top: 9px;
	left: 0;
	background-color: #B70000;
	border-radius: 50%;
	width: 3px;
	height: 3px;
	color: #B70000;
}


/* contents
---------------------------------------------------------------------------*/

/* .page-small-nav
------------------------------------*/
.page-small-nav {
	margin: 0 0 25px 35px;
}

.page-small-nav .page-back {
	font-size: 14px;
	letter-spacing: 0.1em;
	color: #B1010F;
	position: relative;
	padding: 10px 20px 10px 40px;
}

.page-small-nav .page-back::before {
	content: "";
	position: absolute;
	display: block;
	width: 26px;
	height: 26px;
	background: url(img/share/btn-bullet-circle.svg) no-repeat;
	left: 0;
	top: 8px;
	background-size: 26px 26px;
	transform: scale(-1,1);
}

.page-small-nav li {
	margin-right: 12px;
	display: inline-block;
}

.page-small-nav li a {
	font-size: 14px;
	letter-spacing: 0.15em;
	padding-left: 17px;
	background: url(img/share/btn-down-red.svg) no-repeat left 8px;
	background-size: 9px 9px;
	color: #B1010F;
}

/* .sec-common
------------------------------------*/
.sec-common {
	width: 1080px;
	margin: 0 auto;
	padding-top: 100px;
}

/* .parts
------------------------------------*/
.illust-parts,.img-parts,.txt-parts {
	position: absolute;
}

.il-service-set {
	width: 236px;
	height: 168px;
	right: -35px;
	top: -135px;
}

.il-service-set .illust-parts,
.il-service-set .txt-parts {
	opacity: 0;
}

.il-service-set .com1 { top: 0; left: 12px; transform-origin: right bottom; }
.il-service-set .com2 { top: 4px; right: 0; transform-origin: left bottom; }
.il-service-set .tencho2 { top: 24px; left: 33px; transform-origin: center bottom; }
.il-service-set .washing { bottom: 0; left: 0; }
.il-service-set .tv { bottom: 10px; right: 2px; }

/* .polycy-parts
------------------------------------*/
.policy-parts-wrap {
	width: 214px;
	height: 225px;
	left: -19px;
	top: -16px;
}

.policy-il1 { top: 99px; left: 73px; }
.policy-com1 { left: 175px; bottom: 95px; }
.policy-il2 { left: -6px; bottom: 54px; }
.policy-com2 { left: -18px; bottom: 126px; }
.policy-il3 { left: 88px; bottom: 128px; }
.policy-com3 { left: 87px; top: -2px; z-index: 1; }

/* .policy-box
------------------------------------*/
.policy-box {
	width: 167px;
	height: 167px;
	background: #BA0000;
	color: #ffffff;
	text-align: center;
	padding-top: 44px;
	box-sizing: border-box;
	margin-bottom: 38px;
	margin-right: 15px;
}

.policy-box strong {
	display: block;
	font-size: 19px;
	letter-spacing: 0.17em;
	line-height: 1.4;
	margin-bottom: 13px;
	transform: translateX(2px);
}

.policy-box em {
	font-size: 14px;
}


/* hn
---------------------------------------------------------------------------*/
.sec-common h2 {
	margin-bottom: 60px;
}

.sec-common h2 em {
	font-size: 14px;
	color: #B70000;
	margin-bottom: 15px;
	display: inline-block;
	letter-spacing: 0.08em;
}

.sec-common h2 strong {
	font-size: 37px;
	letter-spacing: 0.08em;
	display: block;
	transform: translateX(-4px);
	line-height: 1.5;
}

.sec-common h2 .h2-subcopy {
	margin-top: 16px;
	font-size: 18px;
	letter-spacing: 0.2em;
	display: inline-block;
}

/* list
---------------------------------------------------------------------------*/

/* .uline-list
------------------------------------*/
.uline-list div {
	display: flex;
	padding: 8px;
	border-bottom: solid 1px #E8E0C8;
	margin-bottom: 10px;
}

.uline-list div:first-of-type { padding-top: 0; }
.uline-list div:last-of-type { margin-bottom: 0; }

/* .dash-line-list
------------------------------------*/
.dash-line-list > div,
.dash-line-list > article {
	padding: 33px 10px 36px;
	background: url(img/share/bd-dashed.svg) repeat-x bottom left;
	background-size: 6px auto;
}

.dash-line-list > div:first-of-type,
.dash-line-list > article:first-of-type {
	padding-top: 0 !important;
}

/* .list-dot
------------------------------------*/
ul li:last-of-type {
	margin-bottom: 0 !important;
}

.list-dot li {
	margin-bottom: 13px;
	letter-spacing: 0.08em;
	padding-left: 16px;
	position: relative;
}

.list-dot li::before {
	content: '・';
	position: absolute;
	left: 4px;
	top: 0;
}


/* footer
---------------------------------------------------------------------------*/
footer {
	width: 100%;
	margin: 0 auto;
	padding: 170px 0 307px 0;
	position: relative;
}

.footer-logo {
	position: absolute;
	left: 45px;
	bottom: 38px;
	width: 109px;
}

.footer-logo .logo-copy {
	display: inline-block;
	width: 45px;
	position: relative;
	left: 76px;
	top: 0;
	transform-origin: center bottom;
	opacity: 0;
}

.footer-logo img {
	display: inline-block;
	width: 100%;
	height: auto;
}

.footer-logo .mark {
	display: block;
	width: 79px;
	margin: 0 0 9px 13px;
	transform-origin: center bottom;
}
	
.copyright {
	font-size: 11px;
	letter-spacing: 0.1em;
	position: absolute;
	bottom: 236px;
	left: 20px;
	white-space: nowrap;
}
	
.pagetop {
	position: absolute;
	bottom: 340px;
	right: 39px;
}

.footer-wrap {
	margin-top: 245px;
	height: 307px;
	width: calc(100% - 194px);
	position: absolute;
	right: 0;
	bottom: 0;
	overflow: hidden;
	box-sizing: border-box;
}

.footer-bg-img {
	display: inline-block;
	width: 100%;
	height: 307px;
	z-index: -1;
	position: absolute;
	background: url(img/share/img-footer.jpg) no-repeat right bottom;
	background-size: calc(100% + 250px) auto;
	right: 0;
	bottom: 0;
	border-top-left-radius: 153px;
	box-sizing: border-box;
}

@media (max-width: 1660px) {
	.footer-bg-img {
		background-position: right -60px bottom;
		background-size: calc(100% + 100px) auto;
	}
}

@media (max-width: 1480px) {
	.footer-bg-img {
		background-position: right -120px bottom;
		background-size: calc(100% + 120px) auto;
		height: 280px;
	}
}

.footer-info {
	color: #fff;
	box-sizing: border-box;
	height: 100%;
	display: inline-block;
	margin-right: 25px;
	padding: 101px 0 40px 63px;
}

.footer-info strong {
	font-size: 22px;
	letter-spacing: 0.14em;
	margin-top: 25px;
	display: inline-block;
}

.footer-info address {
	letter-spacing: 0.05em;
	font-size: 14px;
	line-height: 1.7;
	margin-top: 17px;
}

.footer-info a {
	color: #FFFFFF;
}

.footer-info address span {
	font-size: 12px;
	letter-spacing: 0.04em;
}

.footer-sns-list li {
	display: inline-block;
	margin-right: 2px;
}

/* .fnav-list
------------------------------------*/
.fnav {
	width: 1070px;
	margin: 0 auto 235px;
}

.fnav-lead {
	display: flex;
	align-items: flex-end;
	margin-bottom: 50px;
}

.fnav-lead p {
	font-size: 17px;
	letter-spacing: 0.12em;
	text-align: justify;
	line-height: 1.9;
}

.fnav-lead strong {
	margin-right: 48px;
}

.fnav-lead strong em {
	font-size: 14px;
	color: #B70000;
	padding-left: 17px;
}

.fnav-lead strong b {
	font-size: 30px;
	font-weight: normal;
	white-space: nowrap;
	margin-top: 16px;
	display: inline-block;
	letter-spacing: 0.09em;
	line-height: 1.5;
	padding-left: 14px;
}

.fnav-list {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.fnav-list li a {
	display: inline-block;
	width: 100%;
	height: 100%;
}

.fnav-list.list-3n + .fnav-list.list-3n {
	margin-top: 75px;
}

.fnav-list.list-3n > li {
	width: 327px;
	margin-top: 60px;
}

.fnav-list.list-3n > li:nth-of-type(1),
.fnav-list.list-3n > li:nth-of-type(2),
.fnav-list.list-3n > li:nth-of-type(3) {
	margin-top: 0;
}

.fnav-list .detail-list {
	margin-top: 23px;
	transform: translateX(-1px);
}

.mnav .detail-list li,
.fnav-list .detail-list li {
	box-sizing: border-box;
	width: 100% !important;
	margin-bottom: 4px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.mnav .detail-list li {
	margin-bottom: 2px;
	font-size: 13px;
}

.mnav .detail-list li.not-nowrap {
	white-space: normal;
}

.mnav .detail-list li::before,
.fnav-list .detail-list li::before {
	color: #B70000;
	font-size: 16px;
	line-height: 0;
	top: 11px;
	left: 4px;
}

.mnav .detail-list li::before {
	top: 9px;
}

.fnav-list.list-3n figure {
	margin-bottom: 27px;
}

.fnav-list .fnav-inner {
	display: flex;
	align-items: flex-end;
}

.fnav-list.list-3n .fnav-inner {
	flex-direction: column;
	align-items: flex-start;
	margin-right: -2px;
}

.fnav-inner p {
	letter-spacing: 0.1em;
	text-align: justify;
	display: inline-block;
}

.fnav-inner p.sub { color: #888888; }
.fnav-inner p .narrow { letter-spacing: 0.02em; }
.fnav-inner p .s-narrow { letter-spacing: -0.01em; }
.fnav-inner p .wide { letter-spacing: 0.05em; }

.fnav-list .repair .fnav-inner p { letter-spacing: 0.04em; }
.fnav-list .pc-support .fnav-inner p { letter-spacing: 0.02em; }
.fnav-list .reform .fnav-inner p { letter-spacing: 0.03em; }
.fnav-list .construction .fnav-inner p { letter-spacing: 0.08em; }

.fnav-list .fnav-inner strong {
	font-size: 14px;
	letter-spacing: 0.09em;
	display: inline-block;
}

.fnav-list .fnav-inner strong i {
	color: #B70000;
	transform: translateX(-2px);
}

.fnav-list .fnav-inner strong em.slash {
	padding: 0 4px;
}

.fnav-list.list-2n .fnav-inner strong {
	width: 150px;
}

.fnav-list.list-2n .fnav-inner strong + p {
	width: calc(100% - 150px);
}

.fnav-list.list-2n .fnav-inner strong i {
	font-size: 36px;
	margin-top: 12px;
	display: block;
	letter-spacing: -0.01em;
}

.fnav-list.list-3n .fnav-inner strong i {
	font-size: 25px;
	margin-top: 13px;
	display: block;
	margin-bottom: 14px;
	letter-spacing: -0.02em;
}

/* .fnav .trouble
------------------------------------*/
.fnav .trouble {
	position: relative;
	margin-top: 70px;
}

.fnav .trouble h3 {
	margin: 0 0 24px -4px;
}

.fnav .trouble h4 {
	position: absolute;
	top: 60px;
	right: 30px;
}

.fnav .trouble .btn-trouble-support {
	margin-top: 45px;
}

/* .footer-area
------------------------------------*/
.footer-area {
	display: inline-block;
	color: #FFFFFF;
}

.footer-area h2 {
	position: relative;
	margin: 0 0 14px -4px;
	padding-left: 37px;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.08em;
}

.footer-area h2 i {
	display: block;
	position: absolute;
	top: -4px;
	left: 0;
	width: 29px;
}

.footer-area h2 i img {
	width: 100%;
	height: auto;
}

.footer-area h2 span {
	display: inline-block;
	position: relative;
	padding-bottom: 4px;
}

.footer-area h2 span:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #FFFFFF;
	width: calc(100% - 2px);
	height: 2px;
}

.footer-area p {
	font-size: 14px;
	line-height: 1.6;
}


/* contents
---------------------------------------------------------------------------*/
#mainContents {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: left;
}

/* main-slide
------------------------------------*/
.main-slide-wrap {
	position: relative;
}

.main-slide {
	width: 100%;
	padding-right: 140px;
	box-sizing: border-box;
	margin-bottom: 32px;
	position: relative;
}

.main-slide .inner img {
	display: inline-block;
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
	border-top-right-radius: 90px;
	opacity: 0;
}

.slick-initialized .inner img {
	opacity: 1;
}

/* .bg-box
------------------------------------*/
.bg-box {
	background: #FFF8E4;
	box-sizing: border-box;
}

/* slick.css上書き
------------------------------------*/
.slide-dots button {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.slide-dots {
	position: absolute;
	bottom: 20px;
	left: 32px;
}

.slide-dots li {
	display: inline-block;
	margin: 0 12px 0 0;
	width: 28px;
	height: 7px;
	border-radius: 4px;
	background: #fff;
	transition: .15s ease;
	cursor: pointer;
}

.slide-dots > li:first-of-type:last-of-type {
	display: none !important;
}

.slide-dots li:hover {
	opacity: .5;
}

.slide-dots li button {
	position: relative;
	text-indent: -9999px;
}

.slide-dots li.slick-active {
	background: #B40000;
}

/* .event-news
------------------------------------*/
.event-news {
	width: 295px;
	display: flex;
	flex-direction: column;
}

.event-news h2 {
	overflow: hidden;
	min-width: 300px;
	margin-top: -20px;
	margin-bottom: 24px;
	padding-top: 20px;
	position: relative;
}

.top-news.event-news h2 {
	overflow: inherit;
}

#service .event-news h2 {
	margin-bottom: 3px;
}

.event-news h2 i.bubble {
	position: relative;
	left: 14px;
}

.event-news h2 .dot-border {
	bottom: 0;
	left: -5px;
}

.event-news .dash-line-list article {
	padding: 0;
}

#service .event-news .dash-line-list article {
	height: 114px;
}

.event-news .dash-line-list article a {
	display: inline-flex;
	width: 100%;
	height: 100%;
	padding: 23px 7px 26px;
	box-sizing: border-box;
	align-items: center;
}

#service .event-news .dash-line-list article a { padding: 15px 7px 17px;}

.tencho  {
	position: relative;
}

#service .tencho { left: 2px;}

.tencho .men,
.tencho .bubble {
	display: inline-block;
	transform-origin: center bottom;
	opacity: 0;
}

.tencho .txt-rotate {
	position: absolute;
	font-size: 19px;
	color: #fff;
	letter-spacing: 0.14em;
	transform: rotate(-8deg);
}

.event-news .dash-line-list article:first-of-type a {
	padding-top: 0;
}

.event-news .dash-line-list article a > div {
	width: calc(100% - 80px);
}

#service .event-news .dash-line-list article a > div {
	width: calc(100% - 135px);
}

.event-news .dash-line-list figure {
	width: 65px;
	box-sizing: border-box;
	height: 65px;
	overflow: hidden;
	margin-right: 15px;
}

#service .event-news .dash-line-list figure {
	width: 110px;
	height: 83px;
	margin-right: 25px;
}

.event-news .dash-line-list figure img {
	display: inline-block;
	width: auto;
	height: 65px;
}

#service .event-news .dash-line-list figure img {
	height: auto;
	width: 110px;
}

.event-news .dash-line-list article time {
	font-size: 11px;
	letter-spacing: 0.04em;
	display: block;
	margin-bottom: 7px;
}

#service .event-news .dash-line-list article time { color: #B1010F; }

.event-news .dash-line-list article .title {
	font-size: 15px;
	letter-spacing: 0.1em;
	color: #B1010F;
	line-height: 1.6;
}

#service .event-news .dash-line-list article .title {
	color: #222222;
	width: 220px;
	font-size: 16px;
	display: block;
}

/* .news-sns
------------------------------------*/
.news-sns {
	width: 140px;
	text-align: center;
	position: absolute;
	right: 0;
	top: -1px;
}

.news-sns .uline-hl {
	font-size: 12px;
	color: #B70000;
	letter-spacing: 0.15em;
}

.news-sns .uline-hl span {
	padding-bottom: 5px;
	padding: 0 6px 4px 7px;
	border-bottom: solid 1px #B70000;
}

.news-sns .sns-list {
	margin-top: 19px;
	display: inline-flex;
	width: 100%;
	justify-content: space-between;
}

.news-sns .sns-list li:last-of-type { display: none; }


/* .staffblog
---------------------------------------------------------------------------*/
.parts {
	position: absolute;
}

.parts.staffblog-subcopy {
	position: absolute;
	right: 11px;
	top: 40px;
	height: 73px;
	width: 312px;
	overflow: hidden;
}

.parts.staffblog-subcopy .box { left: 0; top: 1px; }
.parts.staffblog-subcopy .face { left: 114px; top: 27px; }
.parts.staffblog-subcopy .arm { left: 42px; top: 20px; }
.parts.staffblog-subcopy .txt { top: 10px; left: 14px; }

.staffblog-list {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	width: 100%;
	min-width: 1040px;
}

.staffblog-list article {
	width: 300px;
	margin-bottom: 40px;
	margin-right: 69px;
	position: relative;
}

.staffblog-list article a {
	display: inline-block;
	width: 100%;
}

.staffblog-list article:nth-of-type(3n) {
	margin-right: 0;
	position: relative;
}

.staffblog-list article:nth-of-type(3)::after {
	content: "";
	position: absolute;
	display: block;
	top: -72px;
	left: -23px;
	height: 73px;
	width: 312px;
	background: url(img/staffblog/img-staffblog-subcopy.svg) no-repeat;
	z-index: -1;
}

.staffblog-list article figure {
	overflow: hidden;
	position: relative;
	width: 100%;
	padding-bottom: 66.4%;
	margin-bottom: 15px;
}

.staffblog-list article figure img {
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: auto;
	transform: translateY(-50%);
}

.staffblog-list article .category {
	font-size: 11px;
	letter-spacing: 0.02em;
	text-transform: capitalize;
	color: #B70000;
	position: absolute;
	right: calc(100% + 11px);
	top: 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-feature-settings: 'palt' 0;
	transform: translateY(-1px);
}

.staffblog-list article .category span {
	display: inline-block;
	margin-bottom: 1px;
}

.staffblog-list article .category span::after {
	content: ',';
	padding-top: 1px;
}

.staffblog-list article .category span:last-of-type::after {
	display: none;
}

.staffblog-list article time {
	font-size: 12px;
	letter-spacing: 0.08em;
	color: #B70000;
}

.staffblog-list article h2 {
	font-size: 15px;
	letter-spacing: .1em;
	margin-top: 5px;
	line-height: 1.7;
}

/* .news-main
------------------------------------*/
.news-main {
	margin-bottom: 40px;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.news-main p:last-child { margin-bottom: 0; }
.news-main a { text-decoration: underline; }

.news-main strong {
	font-weight: normal;
	font-size: 21px;
	letter-spacing: 0.1em;
	color: #B1010F !important;
}

.news-main em { font-style: italic; }
.news-main del { text-decoration: line-through; }

.news-main div {
	text-align: left !important;
}

.news-main img {
	display: block;
	max-width: 100%;
	height: auto;
	padding-bottom: 30px;
}

.news-main img:first-of-type,
.news-main p:first-of-type img {
	padding-top: 15px;
}

.news-main .wp-caption { max-width: 100%; margin-bottom: 25px; }
.news-main .wp-caption-text { margin-top: -5px; }

.news-main ul,
.news-main ol {
	margin: 18px 0 20px;
	font-size: 16px;
}

.news-main ul{
	transform: translateX(-3px);
}

.news-main ul li {
	list-style: disc;
	margin: 0 0 6px 25px;
}

.news-main ol li {
	list-style: decimal;
	margin: 0 0 6px 25px;
}

.news-main ul li:last-of-type,
.news-main ol li:last-of-type {
	margin-bottom: 0;
}

.news-main blockquote {
	background: #FAF7EF;
	padding: 26px 34px 28px;
	margin: 35px 0;
}


/* #news
---------------------------------------------------------------------------*/
#newsContents .contents,
#errorContents .contents {
	width: 1070px;
	padding-right: 175px;
	padding-top: 135px;
	box-sizing: border-box;
	margin: 0 auto;
}

#newsContents .main-slide + .contents {
	padding-top: 70px;
}

.common-header,
h1.news-header {
	display: inline-block;
	margin-bottom: 50px;
}

.common-header em,
h1.news-header em,
.sec-news .inner > h2 em {
	font-size: 14px;
	color: #B70000;
	margin-bottom: 16px;
	display: block;
	letter-spacing: 0.07em;
	text-transform: capitalize;
	padding-left: 1px;
}

.common-header strong,
h1.news-header strong,
.sec-news .inner > h2 strong {
	font-size: 31px;
	letter-spacing: 0.05em;
	display: block;
	transform: translateX(-4px);
}

.common-header strong span {
	padding-left: 6px;
	font-size: 17px;
	letter-spacing: 0.15em;
}

/* .sec-table
------------------------------------*/
.sec-table {
	margin-top: 40px;
}

.news-list .sec-table {
	margin-top: 30px;
}

.inner .sec-table:last-child {
	padding-bottom: 10px;
}

.sec-table h3 {
	margin-bottom: 17px;
	font-size: 15px;
	letter-spacing: 0.08em;
	margin-top: 50px;
}

.sec-table h3:first-of-type {
	margin-top: 0 !important;
}

.post-table table {
	display: block;
	width: 100%;
	line-height: 1.6;
}

.post-table table tbody {
	width: 100%;
	display: inline-block;
}

.post-table table tr {
	font-size: 14px;
	display: flex;
	border-top: solid 1px #696969;
	padding: 12px 11px 13px;
}

.post-table table tr:last-of-type {
	border-bottom: solid 1px #696969;
}

.post-table table tr th {
	width: 130px;
	padding-right: 20px;
	letter-spacing: 0.1em;
	font-weight: normal;
	color: #CD3335;
}

.post-table table tr td {
	width: calc(100% - 130px);
	letter-spacing: 0.08em;
}

/* .sec-table / news
------------------------------------*/
.sec-table h3 {
	margin-top: 75px;
}

.post-table table {
	width: calc(100% + 10px);
	margin-left: -10px;
}

.post-table table tr th {
	color: #222222;
}

.sec-table + .post-link {
	margin-top: 25px;
}

/* .news-link
------------------------------------*/
.post-link .btn-sml {
	margin-top: 25px;
}

.post-link .btn-sml a {
	font-size: 16px;
	padding-bottom: 15px;
}

.post-link .btn-sml a span::after {
	transform: translateY(-50%);
}

.sec-table + .post-link {
	margin-top: 45px;
} 

.post-link .btn-sml {
	margin-right: 15px;
}

/* .news-list
------------------------------------*/
#topContents .news-list article.parent .btn-ac,
#newsContents:not(.single) .news-list article.parent .btn-ac {
	cursor: pointer;
}

.news-list .nopost {
	margin-left: 10px;
	font-size: 17px;
	letter-spacing: 0.15em;
}

.news-list article {
	border-top: solid 1px #cf5f68;
	width: 100%;
	transition: .12s ease-out;
}

.news-list article .post-title {
	width: 100%;
	display: flex;
	padding: 18px 0 17px 0;
	position: relative;
	overflow: hidden;
	transition: cubic-bezier(0.455, 0.03, 0.515, 0.955) .1s;
}

#topContents .news-list article.parent .post-title::before,
#newsContents:not(.single) .news-list article.parent .post-title::before {
	content: "";
	position: absolute;
	display: block;
	width: 33px;
	height: 41px;
	background: url(img/staffblog/parts-staffblog-hand.svg) no-repeat;
	background-size: 33px 45px;
	right: 40px;
	top: -40px;
	transition: cubic-bezier(0.455, 0.03, 0.515, 0.955) .1s;
	transform: scale(-1,1) rotate(130deg);
/*	opacity: 0;*/
}

#topContents .news-list article.parent:hover .post-title::before,
#newsContents:not(.single) .news-list article.parent:hover .post-title::before {
	top: -10px;
	transform: scale(-1,1) rotate(177deg);
	opacity: 1;
}

.news-list article:last-of-type {
	border-bottom: solid 1px #cf5f68;
}

.news-list article:last-of-type .post-title {
	padding-bottom: 20px;
}

.news-list article .post-title time {
	font-size: 15px;
	letter-spacing: -0.01em;
	color: #B70000;
	transform: translateY(3px);
	width: 140px;
	padding-left: 9px;
	box-sizing: border-box;
	line-height: 1.5;
}

.news-list article .post-title h2 {
	font-size: 16px;
	letter-spacing: 0.1em;
	width: calc(100% - 140px);
	padding-right: 80px;
	box-sizing: border-box;
	line-height: 1.5;
}

.news-list article .post-title h2 a i {
	text-decoration: underline;
}

/* .btn-ac
------------------------------------*/
.btn-ac {
	position: relative;
	transition: .15s ease-out;
}

#topContents .post-title.btn-ac::after,
#newsContents:not(.single) .post-title.btn-ac::after {
	display: block;
	content: '';
	position: absolute;
	top: 19px;
	right: 13px;
	background: url(img/share/btn-bullet-circle-r.svg) no-repeat;
	background-size: 100%;
	width: 23px;
	height: 23px;
	transform: rotate(0);
	transition: .18s ease-out;
	transform-origin: calc(48.2%) calc(48.2%);
}

#topContents .post-title.btn-ac.active:after,
#newsContents:not(.single) .post-title.btn-ac.active:after {
	transform: rotate(180deg);
}

/* .post-detail
------------------------------------*/
#mainContents .news-list { opacity: 0; }
#mainContents.load .news-list { opacity: 1; }

#topContents .post-detail,
#newsContents:not(.single) .post-detail {
	height: 0;
	overflow: hidden;
	transition: .15s ease-out;
}

#topContents .post-detail.hide.out,
#newsContents:not(.single) .post-detail.hide.out {
	animation: news-out .2s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
}

#topContents .post-detail.hide,
#newsContents:not(.single) .post-detail.hide {
	height: 0;
}

#topContents .parent.hide.after:hover .post-detail,
#newsContents:not(.single) .parent.hide.after:hover .post-detail {
	height: 0;
}

#topContents .parent.hide.active:hover .post-detail,
#newsContents:not(.single) .parent.hide.active:hover .post-detail {
	animation: news-on .9s linear forwards;
}

#topContents .parent.height .post-detail,
#newsContents:not(.single) .parent.height .post-detail {
	height: 60px !important;
}

@keyframes news-out {
	0% { height: 60px; }
	100% { height: 0; }
}

@keyframes news-on {
	0% { height: 0px; }
	10% { height: 64px; }
	20% { height: 60px; }
	30% { height: 62px; }
	40% { height: 60px; }
	100% { height: 60px; }
}

.post-detail .inner {
	padding-bottom: 40px;
}

.post-detail .inner .news-main,
.post-detail .inner .sec-table,
.post-detail .inner .post-link {
	padding-right: 50px;
	padding-left: 140px;
}

/* .news-title
------------------------------------*/
.news-title {
	margin-bottom: 32px;
}

.news-title time {
	display: inline-block;
	letter-spacing: 0.05em;
}

.news-title h1 {
	padding-top: 12px;
	font-size: 17px;
	line-height: 1.6;
	letter-spacing: 0.12em;
}

/* .news-main
------------------------------------*/
.news-main {
	padding-top: 10px;
	margin-bottom: 0;
	padding-bottom: 10px;
}

.news-main p {
	margin-bottom: 12px;
	font-size: 15px;
	line-height: 2;
	letter-spacing: 0.08em;
	word-break: break-all;
	text-align: left !important;
}

.news-main p strong {
	font-size: 16px;
	color: #222;
	letter-spacing: 0.08em;
	padding: 0 2px;
}

.news-main ul,
.news-main ol {
	font-size: 15px;
	margin: 13px 0 15px;
	transform: translateX(-4px);
}

/* .news-main img
------------------------------------*/
.news-main img:first-of-type,
.news-main p:first-of-type img {
	padding-top: 20px;
}

.news-main img:not(.emoji) {
	width: 100% !important;
	height: auto !important;
}

.news-main img.emoji {
	display: inline-block !important;
	padding: 0 !important;
	vertical-align: text-bottom !important;
}

/* .wp-pagenavi
------------------------------------*/
.wp-pagenavi {
	overflow: hidden;
	text-align: center;
	font-size: 15px;
	width: 100%;
	margin-top: 50px;
	color: #B70000;
	height: 40px;
}

.wp-pagenavi .page,
.wp-pagenavi .current{
	font-family: 'UniversLTPro-Ex';
}

.wp-pagenavi a,
.wp-pagenavi .extend {
	margin: 0 3px;
	padding: 8px;
	color: #B70000;
}

.wp-pagenavi .extend {
	transform: translateY(-4px);
	display: inline-block;
	margin: 0 5px;
}

.wp-pagenavi .current {
	display: inline-block;
	margin: 0 10px;
	padding: 5px 0 0;
	border-bottom: none;
	position: relative;
	color: #fff;
}

.wp-pagenavi .current::after {
	position: absolute;
	top: -4px;
	left: 50%;
	transform: translateX(-50%);
	background: #B70000;
	display: block;
	content: "";
	width: 29px;
	height: 29px;
	border-radius: 50%;
	z-index: -1;
}

.wp-pagenavi a.first,
.wp-pagenavi a.last,
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	font-family: a-otf-midashi-go-mb31-pr6n, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	font-size: 14px;
	letter-spacing: 0.08em;
}

.wp-pagenavi a.first {
	display: inline-block;
	transform: translateY(1px);
}

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	display: inline-block;
	text-indent: -9999px;
	overflow: hidden;
	width: 13px;
	height: 11px;
	background: url(img/share/btn-arrow.svg) no-repeat;
	background-position: top 16px center;
}

.wp-pagenavi a.previouspostslink { background-position: top 17px center; }
.wp-pagenavi a.nextpostslink { transform: scale(-1,1); }


/* .access
---------------------------------------------------------------------------*/
.access {
	width: 1040px;
	margin: 0 auto;
}

.access h2 {
	font-size: 16px;
	margin-bottom: 20px;
	color: #B70000;
}

.access-detail {
	height: 615px;
	width: 100%;
	position: relative;
}

.map-block {
	height: 100%;
	width: 100%;
	overflow: hidden;
}

.access .detail-box {
	position: absolute;
	right: 62px;
	bottom: 25px;
	box-sizing: border-box;
	background: #ffffff;
	width: 288px;
	padding: 20px 25px;
	font-size: 13px;
	letter-spacing: 0.05em;
	box-shadow: 4px 6px 4px rgba(0,0,0,0.11);
	white-space: nowrap;
}

.access .detail-box figure { margin: 0 -5px 16px; }
.access .detail-box span { padding-left: 4px; }
.access .detail-box span.open { line-height: 1.5; }
.access .detail-box span > span { padding-left: 5px;	 }

.access .detail-box small {
	font-size: 10px;
	letter-spacing: 0.08em;
	margin-bottom: 7px;
	display: inline-block;
	padding-left: 5px;
}

.access .detail-box small + span {
	padding-left: 5px;}

.access .detail-box dl {
	margin: 15px 0 13px;
	padding-left: 5px;
}

.access .detail-box dl div {
	display: flex;
	margin-bottom: 7px;
}

.access .detail-box dl div:last-of-type {
	margin-bottom: 0;
}

.access .detail-box dl dt.en {
	width: 27px;
}

.access .btn-rect {
	position: absolute;
	bottom: 13px;
	left: 62px;
	width: 220px;
}

.access .btn-rect a {
	display: block;
	font-size: 14px;
	margin-top: 23px;
	padding: 9px 0 12px 7px;
	letter-spacing: 0.07em;
}

.access .btn-rect a i {
	position: relative;
	left: -11px;
	top: 2px;
}

/* .access-area
------------------------------------*/
.access-area {
	border-radius: 5px;
	background-color: #FAF7EF;
	margin: 24px -5px -2px;
	padding: 19px 18px 16px 18px;
}

.access-area h3 {
	position: relative;
	margin: 0 0 11px;
	padding-left: 29px;
	color: #B1010F;
	font-size: 14px;
	letter-spacing: 0.06em;
}

.access-area h3 i {
	display: block;
	position: absolute;
	top: -2px;
	left: 0;
}

.access-area h3 span {
	display: inline-block;
	position: relative;
	padding-bottom: 2px;
	padding-left: 0 !important;
}

.access-area h3 span:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #B1010F;
	width: calc(100% - 2px);
	height: 1px;
}

.access-area p {
	font-size: 13px;
	text-align: justify;
	line-height: 1.65;
	letter-spacing: 0.04em;
	white-space: normal;
}


/* .sideContents
---------------------------------------------------------------------------*/
.side-wrap {
	width: 100%;
	position: relative;
}

.side-inner,
.leaflet-wrap {
	padding-left: 10px;
	width: 1040px;
	margin: 0 auto;
	position: relative;
	box-sizing: border-box;
}

.sideContents .footer-btn.trouble { display: block; width: 100%; }
.sideContents .footer-btn.trouble img { width: 100%; }

/* .side-area
------------------------------------*/
.side-area {
	padding-top: 101px;
	padding-left: 30px;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 999;
}

.side-area .category-list {
	display: flex;
	flex-direction: column;
}

.side-area .category-list li {
	display: inline-block;
}

.side-area .category-list li .category-main {
	display: inline-flex;
	align-items: flex-start;
	flex-direction: column;
	position: relative;
	padding-bottom: 11px;
	padding-right: 30px;
	padding-top: 10px;
}

.side-area .category-list li .category-main::after {
	content: "";
	position: absolute;
	display: block;
	width: 33px;
	height: 45px;
	background: url(img/staffblog/parts-staffblog-hand.svg) no-repeat;
	background-size: 33px 45px;
	left: -63px;
	bottom: 3px;
	transition: cubic-bezier(0.455, 0.03, 0.515, 0.955) .1s;
	transform: rotate(20deg);
}

.side-area .category-list li .category-main:hover { opacity: 1; }
.side-area .category-list li .category-main:hover::after { transform: rotate(35deg); opacity: 1; left: -42px; }

.side-area .category-list .category-main strong {
	font-size: 15px;
	letter-spacing: 0.2em;
	display: inline-block;
	border-bottom: solid 1px transparent;
	transition: ease-out .15s;
	padding-bottom: 2px;
}

.side-area .category-list .category-main strong.let {
	letter-spacing: 0.1em;
}

.side-area .category-list .category-main em {
	font-size: 11px;
	color: #B70000;
	letter-spacing: 0.07em;
	text-transform: capitalize;
	padding-left: 2px;
	margin-top: 7px;
	display: inline;
	border-bottom: solid 1px transparent;
	transition: cubic-bezier(0.455, 0.03, 0.515, 0.955) .1s;
}

.side-area .category-list .category-main:hover strong,
.side-area .category-list .category-main:hover em {
	border-bottom: solid 1px #B70000;
}

/* .side-area .category-list .btn-ac
------------------------------------*/
.side-area .category-list .btn-ac {
	cursor: pointer;
}

.side-area .category-list .inner-s > div { margin-bottom: 6px; padding-left: 2px; }
.side-area .category-list .inner-ac > div:first-of-type { padding-top: 8px; }

.side-area .category-list .inner-ac a {
	display: inline-block;
	border-bottom: 1px solid #808080;
	padding: 6px 0 2px;
	font-size: 12px;
	letter-spacing: 0.1em;
}

.side-area .category-list .inner-ac {
	position: relative;
	height: 0;
	overflow: hidden;
	transition: .2s ease-out;
}

.side-area .category-list .inner-ac:before {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 40px;
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0,rgba(255,255,255,0)), color-stop(1,rgba(255,255,255,1)));
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
	z-index: -10;
	opacity: 0;
	transition: .1s linear;
}

.side-area .category-list .inner-ac.hide:before { opacity: 1; z-index: 10; }
.side-area .category-list .inner-ac.height { height: 80px !important; }

/* .month-archive
------------------------------------*/
.month-archive {
	margin-top: 60px;
}

.month-archive h2 {
	font-size: 13px;
	letter-spacing: 0.1em;
	margin-bottom: 17px;
}

.month-archive dl {
	font-size: 13px;
	letter-spacing: 0.06em;
	text-align: right;
	white-space: nowrap;
	width: 60px;
	box-sizing: border-box;
	transform: translateX(-9px);
}

.month-archive dl dt a {
	padding: 8px 10px;
	display: inline-block;
}

.month-archive dl dd {
	display: none;
}

.month-archive dl dd:first-of-type { display: block; }
.month-archive dl dd:first-of-type div:last-of-type { margin-bottom: 10px; }

.month-archive dl dd div a {
	padding: 6px 10px;
	display: inline-block;
}

@media (max-width: 1500px) {
	.side-inner,
	.sideContents footer .fnav,
	.leaflet-wrap {
		width: 74%;
		margin: 0 auto 0 260px;
	}
	.sideContents footer .fnav {
		margin-bottom: 235px !important;
		display: flex;
		flex-wrap: wrap;
		min-height: 1052px; /* JS用 高さが変わった時は要調整 */
	}
	.sideContents .fnav-list.list-2n figure {
		display: inline-block;
		width: 100%;
	}
	.sideContents .fnav-list.list-3n + .fnav-list.list-3n {
		margin-top: 55px;
	}
	.sideContents .fnav-list.list-3n li {
		width: calc(33% - 20px);
	}
	.sideContents .fnav-list .detail-list {
		margin-top: 18px;
	}
	.sideContents .fnav-list .detail-list li {
		font-size: 13px;
		margin-bottom: 10px;
	}
	.sideContents .fnav-list figure {
		display: inline-block;
	}
	.sideContents .fnav-list figure img {
		display: inline-block;
		width: 100%;
	}
	.sideContents footer .fnav .fnav-inner {
		align-items: flex-start;
	}
	.sideContents footer .fnav .fnav-lead p {
		font-size: 16px;
		letter-spacing: 0.05em;
	}
	.sideContents footer .fnav .fnav-inner strong {
		padding-top: 7px;
	}
	.sideContents footer .fnav .fnav-inner p {
		font-size: 15px;
		line-height: 1.9;
	}
	.sideContents footer .fnav .list-3n .fnav-inner p {
		font-size: 14px;
	}
	.sideContents footer .fnav .fnav-inner p br {
		display: none;
	}
}

@media (max-width: 1260px) {
	.sideContents footer .fnav .list-3n .fnav-inner p {
		font-size: 83.5%;
		letter-spacing: 0.03em !important;
	}
	.sideContents .footer-btn.trouble {
		margin-top: 55px;
	}
	.sideContents .fnav-list .detail-list {
		margin-top: 20px;
	}
	.sideContents .fnav-list .detail-list li {
		font-size: 82%;
	}	
}


/* .bnr-line-fix
---------------------------------------------------------------------------*/
.bnr-line-fix {
	position: fixed;
	bottom: 26px;
	right: 34px;
	border-radius: 50%;
	z-index: 1000;
}

.bnr-line-fix a {
	display: block;
	background-color: #048734;
	border-radius: 50%;
	color: #FFFFFF;
	opacity: 0;
}

.bnr-line-fix a:hover {
	opacity: 1;
}

.bnr-line-fix a .bnr {
	transition: .15s ease-out;
	z-index: 0;
}

.bnr-line-fix a:hover .bnr {
	opacity: 0.7;
}

.bnr-line-fix .tencho {
	position: absolute;
	top: -1px !important;
	right: -10px !important;
	left: inherit !important;
	transform-origin: center bottom !important;
	z-index: 1;
}

.bnr-line-fix .btm {
	position: absolute;
	bottom: 4px;
	left: 20px;
	z-index: 2;
}

.bnr-line-fix .eye {
	position: absolute;
	bottom: 15px;
	left: 42px;
	width: 24px;
	height: 16px;
	z-index: 3;
}

.bnr-line-fix .eye > div {
	position: absolute;
	top: 0;
	border-radius: 50%;
	background-color: #FFFFFF;
	width: 11px;
	height: 15px;
}

.bnr-line-fix .eye .left { left: 0; }
.bnr-line-fix .eye .right { right: 0; }

.bnr-line-fix .eye i {
	display: block;
	position: absolute;
	top: 4px;
	right: 0;
	background-color: #000000;
	border-radius: 50%;
	width: 6px;
	height: 7px;
	-webkit-backface-visibility: hidden;
	overflow: hidden;
}

.bnr-line-fix .txt {
	position: absolute;
	top: 4px;
	right: -17px;
	z-index: 4;
	opacity: 0;
}


/* leaflet
---------------------------------------------------------------------------*/
.leaflet-wrap {
	margin-top: 140px;
	margin-bottom: -40px;
}

.leaflet-wrap > h2 {
	margin-bottom: 30px;
	font-size: 18px;
	letter-spacing: 0.12em;
}

/* .leaflet-sale
------------------------------------*/
.leaflet-sale {
	margin-bottom: 120px;
}

.leaflet-sale article {
	border: 1px solid #CCCCCC;
	margin-bottom: 15px;
}

.leaflet-sale article:last-of-type {
	margin-bottom: 0;
}

.leaflet-sale article a,
.leaflet-sale article > div {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	padding: 50px;
}

.leaflet-sale article figure {
	max-width: 420px;
	text-align: center;
}

.leaflet-sale article figure img {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 360px;
	-webkit-backface-visibility: hidden;
}

.leaflet-sale article .txt {
	box-sizing: border-box;
	width: 100%;
	padding: 0 0 0 65px;
}

.leaflet-sale article h2 {
	margin: 0 0 14px -2px;
	font-size: 21px;
	line-height: 1.5;
	letter-spacing: 0.12em;
}

.leaflet-sale article time {
	display: block;
	margin-bottom: 30px;
	color: #C80000;
	font-size: 12px;
	letter-spacing: 0.15em;
}

.leaflet-sale article p {
	font-size: 14px;
	text-align: justify;
	line-height: 2;
	letter-spacing: 0.12em;
}

/* .leaflet-wrap .leaflet-sale
------------------------------------*/
.leaflet-wrap .leaflet-sale {
	margin-bottom: 35px;
}

.leaflet-wrap .leaflet-sale article a,
.leaflet-wrap .leaflet-sale article > div {
	padding: 30px 40px 30px 30px;
}

.leaflet-wrap .leaflet-sale article figure {
	width: 240px;
	min-width: 240px;
}

.leaflet-wrap .leaflet-sale article figure img {
	max-height: 170px;
}

.leaflet-wrap .leaflet-sale article .txt {
	padding: 0 0 0 50px;
}

.leaflet-wrap .leaflet-sale article h2 {
	margin-bottom: 10px;
}

.leaflet-wrap .leaflet-sale article time {
	margin-bottom: 22px;
}

/* .leaflet-list
------------------------------------*/
.leaflet-list {
	margin-top: 20px;
}

.leaflet-sale article a:hover,
.leaflet-list article a:hover {
	opacity: 1;
	background-color: #FFFAEE;
}

.leaflet-sale article h2,
.leaflet-list article h3 {
	transition: .15s ease-out;
}

.leaflet-sale article a:hover h2,
.leaflet-list article a:hover h3 {
	color: #C80000;
}

.leaflet-list article {
	border-bottom: 1px solid #CCCCCC;
}

.leaflet-list article:first-of-type {
	border-top: 1px solid #CCCCCC;
}

.leaflet-list article a,
.leaflet-list article > div {
	display: -webkit-box;
	display: flex;
	padding: 25px;
}

.leaflet-list article figure {
	width: 120px;
	min-width: 120px;
	padding-top: 5px;
	text-align: center;
}

.leaflet-list article figure img {
	max-width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
}

.leaflet-list article .title {
	align-self: flex-start;
	min-width: 160px;
	padding: 20px 0 20px 45px;
}

.leaflet-list article time {
	display: block;
	margin-bottom: 10px;
	color: #C80000;
	font-size: 11px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.leaflet-list article h2 {
	font-size: 17px;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

.leaflet-list article .txt {
	box-sizing: border-box;
	border-right: 1px solid #CCCCCC;
	width: 100%;
	padding: 15px 45px 20px 40px;
}

.leaflet-list article h3 {
	margin-bottom: 10px;
	font-size: 18px;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

.leaflet-list article p {
	font-size: 14px;
	text-align: justify;
}

.leaflet-list article .file {
	align-self: center;
	padding: 0 15px 0 40px;
	text-align: center;
	white-space: nowrap;
}

.leaflet-list article .file strong {
	display: block;
	margin-bottom: 10px;
	font-size: 16px;
	letter-spacing: 0.08em;
}

.leaflet-list article .file em {
	display: block;
	color: #888888;
	font-size: 11px;
	letter-spacing: 0.1em;
}

/* .leaflet-wrap .leaflet-list
------------------------------------*/
.leaflet-wrap .leaflet-list article a,
.leaflet-wrap .leaflet-list article > div {
	padding-top: 20px;
	padding-bottom: 20px;
}

.leaflet-wrap .leaflet-list article figure {
	width: 100px;
	min-width: 100px;
}

.leaflet-wrap .leaflet-list article .title {
	padding-left: 40px;
}


/* media query
---------------------------------------------------------------------------*/
@media (min-width: 1580px) {
	.gnav {
		margin-left: 4vw;
	}
	.gnav .inner-ul-l > li {
		margin-right: .5vw;
	}
	.gnav .inner-ul-l > li .parent img {
		width: auto;
		height: 19px;
	}
	.gnav .inner-ul-s > li .parent {
		padding: 0 30px;
	}
	.gnav .inner-ul-s > li .parent img {
		width: auto;
		height: 20px;
	}
	.gnav li .parent i {
		top: -28px;
	}
	.gnav li .parent i img {
		height: 18px !important;
	}
}

@media (max-width: 1480px) {
	.gnav .inner-ul-l {
		margin-right: 2%;
	}
	.gnav li .parent strong {
		height: 17px;
	}
	.gnav li .parent strong img {
		height: 100%;
		width: auto;
		display: inline-block;
	}
	.gnav > ul > li {
		display: inline-block;
	}
	.gnav .inner-ul-l > li .parent {
		padding: 0 16px;
	}
	.gnav .inner-ul-s {
		padding-left: 0;
	}
	.gnav .inner-ul-s > li .parent {
		padding: 0 22px;
	}
	.gnav {
		/*margin-left: 3%;*/
	}
	.header-side {
		height: 72vw;
	}
	.header-side .sub-copy {
		margin-top: 35px;
	}
	.mnav-side .list-dot li {
		margin-bottom: 10px;
	}
}

#news .header-side .sns-list {
	margin-right: 0;
	margin-top: 0;
}

@media (max-width: 1380px){
	.gnav .inner-ul-l {
		margin-right: 1%;
	}
	.gnav .inner-ul-s > li .parent {
		padding: 0 18px;
	}
	.gnav li .parent strong {
		height: 16px;
	}
	.mnav-inner .inner b strong {
		font-size: 16px;
	}
	.mnav-inner .inner b strong.size-s {
		font-size: 15px;
	}
	.mnav-inner .inner b em {
		font-size: 11px;
	}
	.mnav .detail-list li {
		font-size: 12px;
		letter-spacing: 0.08em;
	}
	.btn-trouble-support-mnav .pic-set {
		left: -10px;
	}
	.btn-trouble-support-mnav a > img {
		width: 100%;
	}
}

@media (max-width: 1320px){
	header .logo {
		transform: scale(0.95);
	}
	.gnav {
		padding-left: 30px !important;
	}
	.gnav li .parent strong {
		height: 15px;
	}
	.gnav li .parent em {
		font-size: 11px;
	}
	.header-copy {
		transform: scale(0.8) !important;
		margin-top: -25px;
	}
	.sns-copy-wrap .sns-list {
		padding-right: 2px;
		transform: scale(0.9);
		transform-origin: left bottom;
	}
	.header-side {
		padding-right: 19px;
	}
	.top-main {
		padding-top: 12% !important;
	}
}

@media (max-height: 960px) {
	body {
		position: inherit !important;
	}
	#wrap {
		overflow: hidden;
	}
	header {
		position: relative !important;
	}
	.mnav {
		position: absolute !important;
		width: 100vw;
		height: 9999px;
	}
	.mnav-close {
		position: absolute !important;
	}
}