@charset "utf-8";
/* CSS Document */

/* font
=========================================== */
@font-face {/*NotoSansJP*/
  font-family: 'NotoSansJP';
  src: url('../fonts/font/NotoSansJP-Regular.ttf');
  src:
  url('../fonts/font/NotoSansJP-Regular.woff2') format('woff2'),
  url('../fonts/font/NotoSansJP-Regular.woff') format('woff'),
  url('../fonts/font/NotoSansJP-Regular.ttf') format('truetype');
	font-weight: 400;
}
@font-face {/*NotoSansJPボールド*/
  font-family: 'NotoSansJP';
  src: url('../fonts/font/NotoSansJP-Bold.ttf');
  src:
  url('../fonts/font/NotoSansJP-Bold.woff2') format('woff2'),
  url('../fonts/font/NotoSansJP-Bold.woff') format('woff'),
  url('../fonts/font/NotoSansJP-Bold.ttf') format('truetype');
	font-weight: 700;
}
@font-face {/*NotoSansJPブラック*/
  font-family: 'NotoSansJP';
  src: url('../fonts/font/NotoSansJP-Black.ttf');
  src:
  url('../fonts/font/NotoSansJP-Black.woff2') format('woff2'),
  url('../fonts/font/NotoSansJP-Black.woff') format('woff'),
  url('../fonts/font/NotoSansJP-Black.ttf') format('truetype');
	font-weight: 900;
}
@font-face {/*Poppinsボールド*/
  font-family: 'pop';
  src: url('../fonts/font/Poppins-Bold.ttf');
  src:
  url('../fonts/font/Poppins-Bold.woff2') format('woff2'),
  url('../fonts/font/Poppins-Bold.woff') format('woff'),
  url('../fonts/font/Poppins-Bold.ttf') format('truetype');
	font-weight: 700;
}

/* Link
=========================================== */

a:link, a:visited {
	color: #000000;text-decoration: none;
}
a:hover, a:active {
	color: #000000;text-decoration: underline;
}
a {
	outline: none;transition: 0.3s;
}
a img {transition: 0.3s;}

:focus { outline: none;}

/* LAYOUT
=========================================== */
html.showPage,
html.showPage body{min-width: 1200px;margin: 0 auto;}

body {
	color: #000000;
	background: #FFFFFF;
	font-size:16px;
	line-height:1.5;
	font-family: 'NotoSansJP',"メイリオ","Mayryo ","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-weight: 700;
    font-style: normal;
	max-width:1920px;
	overflow: hidden;
	margin:0 auto;
}

h1,h2,h3,h4,h5,h6 {font-weight:900;}
body,li,th,td,p,dt,dd{}
body#tinymce{min-width:inherit!important;}

p {}
.wrap {width: 1100px;margin:0 auto;position:relative;}
table {width:100%;}
img {max-width:100%;height:auto;}

/*共通設定*/
.btn01 {width: 360px;height: 80px;margin: 60px auto 0;}
.btn01 a {display: flex;justify-content: center;align-items: center;width: 100%;height: 100%;padding: 24px 60px 26px;box-sizing: border-box;position: relative;border: 2px solid #000000;border-radius: 40px;}
.btn01 a .btn-text {font-size: 18px;font-weight: 900;transition: 0.3s;}
.btn01 a .arrow {display: block;width: 32px;height: 32px;border-radius: 50%;background: url("../img/common/btn_arrow.svg") no-repeat top 9px left 12px, #000000;background-size: 9px;position: absolute;top: 50%;right: 24px;transform: translateY(-50%);transition: 0.3s;}
.btn01 a:hover {text-decoration: none;background: #000000;}
.btn01 a:hover .btn-text {color: #FFFFFF;}
.btn01 a:hover .arrow {background: url("../img/common/btn_arrow02.svg") no-repeat top 9px left 12px, #FFFFFF;background-size: 9px;}

.btn02 {display: inline-block;}
.btn02 a {display: inline-flex;align-items: center;}
.btn02 a .btn-text {font-size: 18px;font-weight: 900;}
.btn02 a .arrow {display: inline-block;width: 32px;height: 32px;border-radius: 50%;border: 1px solid #000000;box-sizing: border-box;background: url("../img/common/btn_arrow.svg") no-repeat center, #000000;background-size: 8px;margin-left: 16px;transition: 0.3s;}
.btn02 a:hover {text-decoration: none;}
.btn02 a:hover .arrow {background: url("../img/common/btn_arrow02.svg") no-repeat center;background-size: 8px;}

.title01 {font-size:56px;font-weight: 900;line-height:76px;padding-bottom: 30px;position: relative;margin-bottom: 60px;}
.title01::before {content: "";display: block;width: 80px;height: 6px;background: #E20D16;border-radius: 2px;position: absolute;bottom: 0;left: 0;}

.title01.tcenter::before {left: 50%;transform: translateX(-50%);}
.title01.shiro::before {background: #FFFFFF;}

.tel_box {text-align: center;}
.tel_box .tel {}
.tel_box .tel .num {font-size: 40px;font-weight: 700;line-height: 56px;letter-spacing: -0.024em;color: #FFFFFF;padding-left: 30px;position: relative;}
.tel_box .tel .num::before {content: "";display: block;width: 22px;height: 32px;background: url("../img/common/icon_tel.svg") no-repeat center;background-size: contain;position: absolute;top: 12px;left: 0;}
.tel_box .tel-text {font-size: 16px;line-height: 24px;font-weight: 700;color: #FFFFFF;margin-top: -8px;}

.midashi01 {font-size: 22px;line-height: 1.45;font-weight: 900;padding-left: 12px;box-sizing: border-box;position: relative;margin-bottom: 16px;}
.midashi01::before {content: "";display: block;width: 4px;height: calc(100% - 6px);border-radius: 2px;background: #000000;position: absolute;bottom: 0;left: 0;}

.under-cont > section {padding: 100px 0 120px;}
.under-cont > section:first-child {padding-top: 92px;}
.under-cont > section:nth-child(2n) {background: #F6F6F6;}

/*ウェブフォント*/
.normal{font-weight: 400;}
.bold{font-weight: 700;}
.black{font-weight: 900;}

.common_text {line-height: 2;}

.tcenter {text-align: center;}
.tleft {text-align: left;}
.tright {text-align: right;}

.pop {font-family: 'pop';}

.tate {writing-mode: vertical-rl;white-space: pre;letter-spacing: -0.3em;}
.safari .tate {letter-spacing: 0.1em;}
@-moz-document url-prefix(){
    .tate {letter-spacing: 0.1em;}
}

/*色*/
.shiro {color:#fff;}
.kuro {color: #000000;}
.red {color: #E20D16;}

.flex{width: 100%;
    margin: 0 ;
    padding: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

/* header */
/*-------------------------------------------*/
#header {width:100%;height: 100px;min-width:1100px;max-width: 1920px;position:fixed;transition: 0.3s;left:0;right: 0;top:0;margin: auto;z-index: 100;background: #FFFFFF;}
#header .header_inner {height: 100%;justify-content: space-between;align-items: center;flex-wrap: nowrap;}
#header .header_inner .logo_box {width: auto;margin-left: 24px;position: relative;z-index: 1;}
#header .header_inner .logo {width: 280px;}
#header .header_inner .logo a {display: block;width: 100%;}
#header .header_inner .logo a:hover {text-decoration: none;opacity: 0.7;}

#header .header_inner .right {height: 100%;justify-content: flex-end;}
#header .header_inner .right .right_top {height: 50px;margin-bottom: 12px;justify-content: flex-end;}
#header .header_inner .right .right_top .tel_box {display: flex;align-items: center;text-align: left;margin-right: 16px;}
#header .header_inner .right .right_top .tel_box .tel .num {font-size: 36px;line-height: 50px;padding-left: 23px;color: #000000;}
#header .header_inner .right .right_top .tel_box .tel .num::before {width: 18px;height: 26px;background: url("../img/common/icon_tel02.svg") no-repeat center;background-size: contain;}
#header .header_inner .right .right_top .tel_box .tel-text {margin: 0 0 0 16px;color: #000000;}

#header .header_inner .right .right_top .btn_box {width: 320px;height: 100%;}
#header .header_inner .right .right_top .btn_box .btn {width: 50%;height: 100%;}
#header .header_inner .right .right_top .btn_box .btn a {display: block;width: 100%;height: 100%;text-align: center;padding: 10px 0 13px;box-sizing: border-box;}
#header .header_inner .right .right_top .btn_box .btn a span {font-size: 18px;position: relative;}
#header .header_inner .right .right_top .btn_box .btn a span::before {content: "";display: block;position: absolute;left: 0;}
#header .header_inner .right .right_top .btn_box .btn a:hover {text-decoration: none;}

#header .header_inner .right .right_top .btn_box .btn.btn_estimate a {border: 1px solid #EF0F18;background: #EF0F18;}
#header .header_inner .right .right_top .btn_box .btn.btn_estimate a span {padding-left: 26px;}
#header .header_inner .right .right_top .btn_box .btn.btn_estimate a span::before {width: 18px;height: 24px;background: url("../img/common/icon_estimate.svg") no-repeat center;background-size: contain;top: 2px;}
#header .header_inner .right .right_top .btn_box .btn.btn_estimate a:hover {background: #FFFFFF;}
#header .header_inner .right .right_top .btn_box .btn.btn_estimate a:hover span {color: #EF0F18;}
#header .header_inner .right .right_top .btn_box .btn.btn_estimate a:hover span::before {filter: brightness(0) saturate(100%) invert(26%) sepia(70%) saturate(5260%) hue-rotate(344deg) brightness(87%) contrast(117%);}

#header .header_inner .right .right_top .btn_box .btn.btn_contact a {border: 1px solid #CF131A;background: #CF131A;}
#header .header_inner .right .right_top .btn_box .btn.btn_contact a span {padding-left: 28px;}
#header .header_inner .right .right_top .btn_box .btn.btn_contact a span::before {width: 20px;height: 16px;background: url("../img/common/icon_contact.svg") no-repeat center;background-size: contain;top: 6px;}
#header .header_inner .right .right_top .btn_box .btn.btn_contact a:hover {background: #FFFFFF;}
#header .header_inner .right .right_top .btn_box .btn.btn_contact a:hover span {color: #CF131A;}
#header .header_inner .right .right_top .btn_box .btn.btn_contact a:hover span::before {filter: brightness(0) saturate(100%) invert(16%) sepia(100%) saturate(3498%) hue-rotate(348deg) brightness(82%) contrast(100%);}

body:has(#main.home_main) #header {background: transparent;}
body:has(#main.home_main) #header .header_inner .right .right_top .tel_box .tel .num {color: #FFFFFF;}
body:has(#main.home_main) #header .header_inner .right .right_top .tel_box .tel .num::before {background: url("../img/common/icon_tel.svg") no-repeat center;background-size: contain;}
body:has(#main.home_main) #header .header_inner .right .right_top .tel_box .tel-text {color: #FFFFFF;}

body:has(#main.home_main) #header .gnav > ul > li > a > span {color: #FFFFFF;}
body:has(#main.home_main) #header .gnav .gnav_first > p {color: #FFFFFF;}
body:has(#main.home_main) #header .gnav .gnav_first > p::after {background: url("../img/common/gnav_arrow.svg") no-repeat center;background-size: contain;}

body.fixed:has(#main.home_main) #header {background: #FFFFFF;}
body.fixed:has(#main.home_main) #header .header_inner .right .right_top .tel_box .tel .num {color: #000000;}
body.fixed:has(#main.home_main) #header .header_inner .right .right_top .tel_box .tel .num::before {background: url("../img/common/icon_tel02.svg") no-repeat center;background-size: contain;}
body.fixed:has(#main.home_main) #header .header_inner .right .right_top .tel_box .tel-text {color: #000000;}

body.fixed:has(#main.home_main) #header .gnav > ul > li > a > span {color: #000000;}
body.fixed:has(#main.home_main) #header .gnav .gnav_first > p {color: #000000;}
body.fixed:has(#main.home_main) #header .gnav .gnav_first > p::after {background: url("../img/common/gnav_arrow02.svg") no-repeat center;background-size: contain;}

/*gnav*/
.gnav {height: 38px;}
.gnav > ul.flex {width:auto;height: 100%;flex-wrap: nowrap;}
.gnav > ul > li {margin-right: 24px;}
.gnav > ul > li > a {display: flex;flex-wrap: nowrap;height: 100%;justify-content: center;width: auto;max-width: 100%;position: relative;}
.gnav > ul > li > a::before {content: "";display: block;width: 0;height: 5px;background: #EF0F18;position: absolute;bottom: 0;left: 0;transition: 0.3s;}
.gnav > ul > li > a > span {line-height: 24px;font-weight: 700;transition: 0.3s;white-space: nowrap;}
.gnav > ul > li > a:hover {text-decoration: none;}
.gnav > ul > li > a:hover::before {width: 100%;}

.gnav .gnav_first {}
.gnav .gnav_first > p {display: flex;height: 100%;line-height: 24px;font-weight: 700;padding-right: 20px;position: relative;white-space: nowrap;transition: 0.3s;}
.gnav .gnav_first > p::before {content: "";display: block;width: 0;height: 5px;background: #EF0F18;position: absolute;bottom: 0;left: 0;transition: 0.3s;}
.gnav .gnav_first > p::after {content: "";display: inline-block;width: 14px;height: 10px;background: url("../img/common/gnav_arrow02.svg") no-repeat center;background-size: contain;transition: 0.3s;position: absolute;top: 9px;right: 0;}
.gnav .gnav_first:hover > p::before {width: 100%;}
.gnav .gnav_first:hover > p::after {transform: rotate(180deg);}
.gnav_bg {
	width: auto;
	height: auto;
    position: absolute;
    right: 18px;
	visibility: hidden;
	opacity: 0;
	transition: 0.3s;
	overflow: auto;
	max-height: calc(100vh - 100px);
	box-sizing: border-box;
	z-index: -1;
}
.gnav_second {
	box-sizing: border-box;
    transition: 0.3s;
	visibility: hidden;
	opacity: 0;
	position: relative;
	align-items: flex-start;
	background: #FFFFFF;
	padding: 25px 40px 40px;
	border-radius: 10px;
	box-shadow: 0 24px 24px rgba(0, 0, 0, 0.16);
}
.gnav_first:hover .gnav_bg {
  visibility: visible;
  opacity: 1;
}
.gnav_first:hover .gnav_second {
  visibility: visible;
  opacity: 1;
}
.gnav_first .gnav_second .midashi {
	font-size: 32px;
	margin-bottom: 24px;
}
.gnav_first .gnav_second ul.flex li {
	width: 240px;
	margin-right: 20px;
}
.gnav_first .gnav_second ul.flex li:last-child {
	margin-right: 0;
}
.gnav_first .gnav_second ul.flex li a {
	display: block;
	width:100%;
}
.gnav_first .gnav_second ul.flex li a .img {
	width: 100%;
	height: 180px;
	border-radius: 10px;
	overflow: hidden;
}
.gnav_first .gnav_second ul.flex li a .img img {
	transition: 0.3s;
}
.gnav_first .gnav_second li a p {
	font-size: 18px;
	font-weight: 900;
	margin-top: 10px;
	padding-left: 40px;
	box-sizing: border-box;
	position: relative;
}
.gnav_first .gnav_second li a p::before {
	content: "";
	display: block;
	width: 32px;
	height: 32px;
	background: url("../img/common/btn_arrow.svg") no-repeat center, #000000;
	background-size: 8px;
	border-radius: 50%;
	position: absolute;
	top: -2px;
	left: 0;
}
.gnav_first .gnav_second li a:hover {
	text-decoration: none;
}
.gnav_first .gnav_second li a:hover .img img {
	transform: scale(1.1);
}

/* banner */
#fixed-campaign {width: 290px;height: 88px;position: fixed;bottom: 20px;right: 20px;z-index: 10;transition: 0.3s;opacity: 0;}
.fixed #fixed-campaign {opacity: 1;}
#fixed-campaign a {display: flex;width: 100%;height: 100%;background: url("../img/common/fixed-bg.jpg") no-repeat center;background-size: cover;border: 2px solid #000000;box-sizing: border-box;border-radius: 10px;overflow: hidden;}
#fixed-campaign a:hover {text-decoration: none;opacity: 0.7;}
#fixed-campaign a .text_box {width: calc(100% - 24px);padding: 6px 10px;box-sizing: border-box;}
#fixed-campaign a .text_box img {width: 240px;}
#fixed-campaign a .arrow {width: 24px;background: url("../img/common/fixed-arrow.svg") no-repeat center, #000000;background-size: 9px;}

/* main */
/*-------------------------------------------*/
#main {margin-top:100px;}
#main.home_main {width: 100%;margin-top:0;position: relative;}
#main.home_main::before {content: "";width: 100%;height: 1683px;background: url("../img/main/main_bg.jpg") no-repeat left top;background-size: cover;position: absolute;top: 0;left: 0;z-index: -1;}
#main.home_main .main_top {padding: 120px 40px 0 120px;box-sizing: border-box;justify-content: space-between;align-items: flex-end;position: relative;}
#main.home_main .main_top .main_slide {width: 56%;max-width: 1076px;height: 720px;position: absolute;top: 0;right: 0;margin-bottom: 0;z-index: -1;}
#main.home_main .main_top .main_slide .slide-img {width: 100%;height: 720px;}
#main.home_main .main_top .main_slide .slide-img.slide-img01 {background: url("../img/main/main_img.png") no-repeat left bottom;background-size: cover;}
#main.home_main .main_top .main_slide .slide-img.slide-img02 {background: url("../img/main/main_img02.png") no-repeat left bottom;background-size: cover;}
#main.home_main .main_top .main_slide .slide-img.slide-img03 {background: url("../img/main/main_img03.png") no-repeat left bottom;background-size: cover;}
#main.home_main .main_top .main_box { width: 630px; }
#main.home_main .main_top .main_box .title_box { margin-bottom: 24px; position: relative; }
#main.home_main .main_top .main_box .title_box h2 { font-size: 36px;position: relative; }
#main.home_main .main_top .main_box .title_box h2::before { content: "蓄電地設備";display: block;font-size: 63px; line-height: 91px; letter-spacing: -0.024em;-webkit-text-stroke: 8px #FFFFFF;text-stroke: 8px #FFFFFF;position: absolute;top: 0;right: 55px;z-index: -1;}
#main.home_main .main_top .main_box .title_box h2::after { content: "の";display: block;font-size: 36px;-webkit-text-stroke: 8px #FFFFFF;text-stroke: 8px #FFFFFF;position: absolute;top: 30px;right: 12px;z-index: -1;}
#main.home_main .main_top .main_box .title_box h2 em { font-size: 63px; line-height: 91px; letter-spacing: -0.024em;margin-right: 6px; }
#main.home_main .main_top .main_box .title_box h2 .mini {margin: 0 -8px 0 -12px;}
#main.home_main .main_top .main_box .title_box h2 .big { display: block; font-size: 52px; line-height: 81px; letter-spacing: -0.04em; margin-top: -4px; }
#main.home_main .main_top .main_box .title_box .box_in { display: inline-block; padding: 0 28px; position: absolute; bottom: 0; right: 0; }
#main.home_main .main_top .main_box .title_box .box_in::before, #main.home_main .main_top .main_box .title_box .box_in::after { content: ""; display: block; width: 24px; height: 64px; background: url("../img/main/mark02.png") no-repeat center; background-size: contain; position: absolute; top: 2px; }
#main.home_main .main_top .main_box .title_box .box_in::before { left: 0; transform: scale(-1, 1); }
#main.home_main .main_top .main_box .title_box .box_in::after { right: 0; }
#main.home_main .main_top .main_box .title_box .box_in p { font-size: 18px; text-align: center; }
#main.home_main .main_top .main_box .title_box .box_in p.text-bg { -webkit-text-stroke: 6px #FFFFFF;text-stroke: 6px #FFFFFF;position: absolute;top: 0;left: 28px;z-index: -1; }
#main.home_main .main_top .main_box .title_box .box_in p span { display: block; font-size: 23px; margin-top: -8px; }
#main.home_main .main_top .main_box .title_box .box_in p span em { font-size: 32px; line-height: 55px; letter-spacing: -0.04em; font-weight: 700; margin: 0 2px; }
#main.home_main .main_top .main_box .main-list { margin-bottom: 32px; }
#main.home_main .main_top .main_box .main-list li { width: 204px;margin: 4px 5px 0 0; }
#main.home_main .main_top .main_box .main-list li:nth-child(-n+3) { margin-top: 0; }
#main.home_main .main_top .main_box .main-list li:nth-child(3n) { margin-right: 0; }
#main.home_main .main_top .main_box .main-list li a { display: block;width: 100%; font-size: 18px; line-height: 26px;color: #FFFFFF;text-align: center; padding: 5px 0 7px; box-sizing: border-box; background: #E20D16; border-radius: 3px; }
#main.home_main .main_top .main_box .main-list li a:hover { text-decoration: none;opacity: 0.7; }
#main.home_main .main_top .main_box .cnt { align-items: center; }
#main.home_main .main_top .main_box .cnt .left { display: flex; align-items: flex-end; width: 290px;position: relative;}
#main.home_main .main_top .main_box .cnt .left::before { content: ""; display: block; width: 108px; height: 122px; background: url("../img/main/zero-bg.png") no-repeat center; background-size: contain;position: absolute;top: 35px;right: 0;z-index: -1;}
#main.home_main .main_top .main_box .cnt .left .text01 { font-size: 40px; line-height: 58px; letter-spacing: -0.04em; white-space: nowrap; }
#main.home_main .main_top .main_box .cnt .left .text01 em { display: block; font-size: 50px; line-height: 72px; margin-bottom: -9px; }
#main.home_main .main_top .main_box .cnt .left .text01 .mini { font-size: 34px; }
#main.home_main .main_top .main_box .cnt .left img { width: 108px; margin: 0 -3px 0 8px;}
#main.home_main .main_top .main_box .cnt .left .text02 { font-size: 32px; }
#main.home_main .main_top .main_box .cnt .right { width: 302px; margin-left: 25px; }
#main.home_main .main_top .main_box .cnt .right li { display: inline-block;font-size: 18px; line-height: 26px; padding-left: 32px; box-sizing: border-box; position: relative; margin-bottom: 8px; }
#main.home_main .main_top .main_box .cnt .right li .text-bg { -webkit-text-stroke: 4px #FFFFFF;text-stroke: 4px #FFFFFF;position: absolute;top: 0;right: 0;z-index: -1; }
#main.home_main .main_top .main_box .cnt .right li:last-child { margin-bottom: 0; }
#main.home_main .main_top .main_box .cnt .right li::before { content: ""; display: block; width: 24px; height: 24px; background: url("../img/common/icon_check01.svg") no-repeat center; background-size: 15px; border: 1px solid #AEAEAE; box-sizing: border-box; border-radius: 5px; position: absolute; top: 2px; left: 0; }
#main.home_main .main_top .main_box .btn01 { width: 620px; height: 78px; margin-top: 22px;animation: poyopoyo 2s ease-out infinite; }
@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}
#main.home_main .main_top .main_box .btn01 a { padding: 17px 80px 21px; background: #000000; }
#main.home_main .main_top .main_box .btn01 a .btn-text { font-size: 28px; line-height: 40px; color: #FFFFFF; position: relative; padding-left: 36px; box-sizing: border-box; }
#main.home_main .main_top .main_box .btn01 a .btn-text::before { content: ""; display: block; width: 24px; height: 32px; background: url("../img/common/icon_estimate.svg") no-repeat center; background-size: contain; position: absolute; top: 6px; left: 0; }
#main.home_main .main_top .main_box .btn01 a .arrow { width: 34px; height: 34px; background: url("../img/common/btn_arrow.svg") no-repeat center; background-size: 7px; border: 2px solid #FFFFFF; box-sizing: border-box; right: 40px; }
#main.home_main .main_top .main_box .btn01 a:hover {background: #FFFFFF;}
#main.home_main .main_top .main_box .btn01 a:hover .btn-text {color: #000000;}
#main.home_main .main_top .main_box .btn01 a:hover .btn-text::before { filter: brightness(0) saturate(100%) invert(0%) sepia(2%) saturate(2%) hue-rotate(122deg) brightness(98%) contrast(101%); }
#main.home_main .main_top .main_box .btn01 a:hover .arrow {background: url("../img/common/btn_arrow02.svg") no-repeat center; background-size: 7px; border: 2px solid #000000;}

#main.home_main .main_top .medal_box {width: 410px;justify-content: space-between;}
#main.home_main .main_top .medal_box .medal00 { width: 198px;height: 192px; }
#main.home_main .main_top .medal_box .medal00 .text p { font-size: 32px;line-height: 46px; }
#main.home_main .main_top .medal_box .medal01 { padding-top: 27px; }
#main.home_main .main_top .medal_box .medal02 { padding-top: 56px; }
#main.home_main .main_top .medal_box .medal02 .text { margin-top: 8px; }
#main.home_main .main_top .medal_box .medal02 .text p .mini { font-size: 16px;line-height: 24px;margin-bottom: -6px; }

#main.home_main .main_bottom {margin-top: 140px;justify-content: center;align-items: flex-start;}
#main.home_main .main_bottom .text_box {width: 520px;}
#main.home_main .main_bottom .text_box h3 {font-size: 40px;margin-bottom: 32px;}
#main.home_main .main_bottom .text_box h3 em {font-size: 48px;}
#main.home_main .main_bottom .text_box .text01 {font-size: 20px;line-height: 34px;}
#main.home_main .main_bottom .brand-box {width: 700px;margin: 10px 0 0 -30px;}
#main.home_main .main_bottom .brand-box .brand-list li {display: inline-flex;align-items: center;height: 104px;padding: 0 60px;box-sizing: border-box;background: rgba(255, 255, 255, 0.56);border-radius: 10px;margin-right: 8px;box-shadow: 0 24px 24px rgba(0, 0, 0, 0.08);}
#main.home_main .main_bottom .brand-box .brand-list li:last-child {margin-right: 0;}
#main.home_main .main_bottom .brand-box .brand-list li img {width: auto;height: 28px;}
#main.home_main .main_bottom .brand-box .brand-list01 {margin-bottom: 8px;}
#main.home_main .main_bottom .brand-box .brand-list01 li:last-child img {height: 48px;}
#main.home_main .main_bottom .brand-box .brand-list02 {margin-left: 88px;}
#main.home_main .main_bottom .brand-box .brand-list02 li:first-child {align-items: flex-start;padding-top: 8px;}
#main.home_main .main_bottom .brand-box .brand-list02 li:first-child img {height: 72px;}

/* 下層 main */
/*-------------------------------------------*/
#main.kasou {width: 100%;height: 280px;background: #141414;}
#main.kasou > .wrap {display: table;height: 100%;}
#main.kasou h1.main_title {display: table-cell;font-size: 48px;font-weight: 900;color: #fff;vertical-align: middle;text-align: center;}

/*キャンペーンページ*/
#main.kasou.campaign {background: url("../img/main/campaign_bg.jpg") no-repeat center;background-size: cover;position: relative;}
#main.kasou.campaign::before, #main.kasou.campaign::after {content: "";display: block;width: 346px;height: 120px;position: absolute;top: 0;}
#main.kasou.campaign::before {background: url("../img/main/campaign_img01.png") no-repeat top left;background-size: contain;left: 0;}
#main.kasou.campaign::after {background: url("../img/main/campaign_img02.png") no-repeat top right;background-size: contain;right: 0;}
#main.kasou.campaign h1.main_title {color: #000000;}

/*詳細ページ*/
body.single main {background: #F6F6F6;}

/*コピーページ*/
#main.home_main.area_main .main_top .main_box .title_box .sub_title { font-size: 18px;font-weight: 900;position: relative;}
#main.home_main.area_main .main_top .main_box .title_box .sub_title em { font-size: 24px; }
#main.home_main.area_main .main_top .main_box .title_box .sub_title span { display: block;}
#main.home_main.area_main .main_top .main_box .title_box .sub_title .text-bg { -webkit-text-stroke: 4px #FFFFFF;text-stroke: 4px #FFFFFF;position: absolute;top: 0;left: 0;z-index: -1; }

/*パンくず*/
div#bread {width: 100%;padding-top: 8px;}
ul.bread-list {justify-content: flex-start;}
ul.bread-list li {font-size:14px;line-height: 20px;font-weight: 700;}
ul.bread-list li a {text-decoration:none;}
ul.bread-list li a:hover {text-decoration:underline;}
ul.bread-list li::after{content:"＞";margin: 0 4px;}
ul.bread-list li:last-child::after{display: none;}

body.single div#bread {margin-top: 100px;background: #F6F6F6;}

/* TOPへ戻る・追従 */
/*-------------------------------------------*/
#fixed_trigger {position: absolute;left: 0;top:116px;z-index: -100;}

/* footer */
/*-------------------------------------------*/
#contact-sec { padding: 100px 0 120px; background: url("../img/common/contact_bg.jpg") no-repeat center; background-size: cover; }
#contact-sec .wrap { padding: 0 50px 0 40px; box-sizing: border-box;}
#contact-sec .title { font-size: 56px; line-height: 80px; margin-bottom: 40px; text-align: center; }
#contact-sec .cnt { justify-content: space-between;align-items: flex-end; margin-bottom: 50px; }
#contact-sec .cnt .left { width: 360px; }
#contact-sec .cnt .left .text01 { display: block; font-size: 28px; }
#contact-sec .cnt .left .text01 em { font-size: 32px; margin: 0 4px; }
#contact-sec .cnt .left .text01 em:first-child { margin-left: 0; }
#contact-sec .cnt .left .text-list { margin: 12px 0 10px; }
#contact-sec .cnt .left .text-list li { width: 165px; font-size: 20px; padding-left: 28px; box-sizing: border-box; position: relative; margin: 5px 13px 0 0; }
#contact-sec .cnt .left .text-list li:nth-child(-n+2) { margin-top: 0; }
#contact-sec .cnt .left .text-list li:nth-child(2n) { width: 180px; margin-right: 0; }
#contact-sec .cnt .left .text-list li::before { content: ""; display: block; width: 24px; height: 24px; background: url("../img/common/icon_check02.svg") no-repeat center; background-size: 15px; border: 1px solid #AEAEAE; box-sizing: border-box; border-radius: 5px; position: absolute; top: 4px; left: 0; }
#contact-sec .cnt .left .text-list li span { position: static;margin-left: 11px; }
#contact-sec .cnt .left .text02 { display: block; font-size: 36px; }
#contact-sec .cnt .right { width: 580px; }
#contact-sec .cnt .right .tag-list { margin-bottom: 32px; }
#contact-sec .cnt .right .tag-list li { display: inline-block; padding: 4px 23px 6px 21px; box-sizing: border-box;border-width: 1px;border-style: solid;border-color: rgba(255, 255, 255, 0.4); border-radius: 19px; margin: 0 4px 4px 0; }
#contact-sec .cnt .right .tag-list li span { margin-right: 4px; }
#contact-sec .cnt .right p.common_text { font-size: 18px;line-height: 29px; }
#contact-sec .btn_box { justify-content: center;position: relative;z-index: 1;}
#contact-sec .btn_box .btn { width: 330px; height: 160px; margin-right: 10px; }
#contact-sec .btn_box .btn:last-child { margin-right: 0; }
#contact-sec .btn_box .btn > a { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; border-radius: 10px;box-sizing: border-box;}
#contact-sec .btn_box .btn > a:hover { text-decoration: none; }
#contact-sec .btn_box .btn > a > p { font-size: 32px; box-sizing: border-box; position: relative; padding-right: 40px; }
#contact-sec .btn_box .btn > a > p::before { content: ""; display: block; position: absolute; left: 0; }
#contact-sec .btn_box .btn > a > p .arrow { display: inline-block; width: 32px; height: 32px; border-radius: 50%; background: url("../img/common/btn_arrow.svg") no-repeat center; background-size: 8px; border: 2px solid #FFFFFF; box-sizing: border-box; margin-left: 8px; position: absolute; top: 10px; right: 0; }
#contact-sec .btn_box .tel_box { width: 330px; height: 160px; margin-right: 10px; padding-top: 42px; box-sizing: border-box; background: rgba(255, 255, 255, 0.08); border-radius: 10px; }
#contact-sec .btn_box .btn_estimate > a { background: #EF0F18;border: 1px solid #EF0F18; }
#contact-sec .btn_box .btn_estimate > a > p { padding-left: 40px; }
#contact-sec .btn_box .btn_estimate > a > p::before { width: 32px; height: 42px; background: url("../img/common/icon_estimate.svg") no-repeat center; background-size: contain; top: 5px; }
#contact-sec .btn_box .btn_estimate > a:hover { background: #FFFFFF; }
#contact-sec .btn_box .btn_estimate > a:hover > p { color: #EF0F18; }
#contact-sec .btn_box .btn_estimate > a:hover > p::before { filter: brightness(0) saturate(100%) invert(20%) sepia(60%) saturate(6760%) hue-rotate(349deg) brightness(90%) contrast(111%); }
#contact-sec .btn_box .btn_estimate > a:hover > p .arrow { filter: brightness(0) saturate(100%) invert(20%) sepia(60%) saturate(6760%) hue-rotate(349deg) brightness(90%) contrast(111%); }
#contact-sec .btn_box .btn_contact > a { background: #CF131A;border: 1px solid #CF131A; }
#contact-sec .btn_box .btn_contact > a > p { padding-left: 48px; }
#contact-sec .btn_box .btn_contact > a > p::before { width: 40px; height: 32px; background: url("../img/common/icon_contact.svg") no-repeat center; background-size: contain; top: 10px; }
#contact-sec .btn_box .btn_contact > a:hover { background: #FFFFFF; }
#contact-sec .btn_box .btn_contact > a:hover > p { color: #CF131A; }
#contact-sec .btn_box .btn_contact > a:hover > p::before { filter: brightness(0) saturate(100%) invert(16%) sepia(59%) saturate(7087%) hue-rotate(351deg) brightness(82%) contrast(98%); }
#contact-sec .btn_box .btn_contact > a:hover > p .arrow { filter: brightness(0) saturate(100%) invert(16%) sepia(59%) saturate(7087%) hue-rotate(351deg) brightness(82%) contrast(98%); }

#map-sec { width: 100%; height: 400px; position: relative; }
#map-sec iframe { width: 100%; height: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

#partner-sec { padding: 120px 0; position: relative; }
#partner-sec::before { content: ""; display: block; width: 100%; height: 144px; background: url("../img/top/bg-text02.png") repeat-x center; background-size: contain; position: absolute; top: 50%; left: 0; transform: translateY(-50%); animation: bgMove02 50s linear infinite; }
@keyframes bgMove02 { 0% { background-position: 0 0; }
  100% { background-position: -2103px 0; } }
#partner-sec .title01 { margin-bottom: 53px;position: relative;z-index: 1;}
#partner-sec .btn01 { width: 280px; height: 80px; margin: 60px 0 0; }
#partner-sec .img_box { width: 640px; position: absolute; top: 50%; right: 0; transform: translateY(-50%); }

#maker-sec { padding: 100px 0 120px; background: #F6F6F6; }
#maker-sec .cnt { align-items: center; }
#maker-sec .cnt .title01 { width: 336px; margin-right: 160px; margin-bottom: 0; position: relative; }
#maker-sec .cnt .title01::after { content: ""; display: block; width: 1px; height: 100px; background: #C8C8C8; position: absolute; bottom: 0; right: -80px; }
#maker-sec .cnt p.common_text { width: 604px; }
#maker-sec .cnt02 { justify-content: space-between; align-items: flex-start; margin-top: 40px; }
#maker-sec .cnt02 .medal00 { width: 198px;height: 192px; }
#maker-sec .cnt02 .medal00 .text p { font-size: 32px;line-height: 46px; }
#maker-sec .cnt02 .medal01 { padding-top: 27px; }
#maker-sec .cnt02 .medal02 { padding-top: 56px; }
#maker-sec .cnt02 .medal02 .text { margin-top: 8px; }
#maker-sec .cnt02 .medal02 .text p .mini { font-size: 16px;line-height: 24px;margin-bottom: -6px; }
#maker-sec .cnt02  .maker_box { width: 860px; padding: 40px; box-sizing: border-box; background: #FFFFFF; border-radius: 10px; }
#maker-sec .cnt02  .maker_box h3 { font-size: 24px; margin-bottom: 24px; }

#footer {padding: 120px 0 170px;background: #111111;}
#footer .footer_box {justify-content: space-between;flex-wrap: nowrap;flex-direction: row-reverse;}
#footer .footer_box .left {width: 280px;}
#footer .footer_box .left .logo {width: 280px;margin-bottom: 40px;}
#footer .footer_box .left .logo a {display: block;width: 100%;}
#footer .footer_box .left .logo a:hover {text-decoration: none;opacity: 0.7;}

#footer .footer_box .left .info_box {width: 100%;margin-bottom: 40px;}
#footer .footer_box .left .info_box .address {margin-bottom: 16px;}

#footer .footer_box .left .insta-icon {width: 40px;height: 40px;}
#footer .footer_box .left .insta-icon a {display: block;width: 100%;height: 100%;background: url("../img/common/icon_insta.svg") no-repeat center;background-size: contain;transition: 0s;}
#footer .footer_box .left .insta-icon a:hover {text-decoration: none;filter: brightness(0) saturate(100%) invert(83%) sepia(1%) saturate(1321%) hue-rotate(10deg) brightness(102%) contrast(81%);}

#footer .footer_box .right {width: 350px;}
.navs-list {width: 100%;justify-content: flex-end;display:flex;}
.navs-list > ul.navs-list01 {margin-right: 65px;}
.navs-list > ul.navs-list00 > li {font-weight: 900;color: #FFFFFF;}
.navs-list > ul.navs-list00 > li a {font-weight: 900;color: #FFFFFF;position: relative;}
.navs-list > ul.navs-list00 > li a::before {content: "";display: block;width: 0;height: 2px;background: #EF0F18;position: absolute;bottom: -6px;left: 0;transition: 0.3s;}
.navs-list > ul.navs-list01 > li {margin-bottom: 24px;}
.navs-list > ul.navs-list01 > li:last-child {margin-bottom:0;}
.navs-list > ul.navs-list02 > li {margin-bottom: 29px;}
.navs-list > ul.navs-list02 > li:nth-last-child(3) {margin-bottom:40px;}
.navs-list > ul.navs-list00 > li a:hover {text-decoration: none;}
.navs-list > ul.navs-list00 > li a:hover::before {width: 100%;}

.navs-list > ul.navs-list00 > li.nav-service.nav-service-midashi {color: #C8C8C8;}
.navs-list > ul.navs-list00 > li.nav-service {margin-bottom: 16px;}

.navs-list > ul.navs-list00 > li .nav-midashi {font-weight: 700;color: #C8C8C8;margin-bottom: 8px;}
.navs-list > ul.navs-list00 > li .sp-nav {padding-left: 16px;box-sizing: border-box;border-left: 1px solid #464646;}
.navs-list > ul.navs-list00 > li .sp-nav > li {margin-bottom: 8px;}
.navs-list > ul.navs-list00 > li .sp-nav > li:last-child {margin-bottom:0;}
.navs-list > ul.navs-list00 > li .sp-nav > li a {font-weight: 700;color: #FFFFFF;}
.navs-list > ul.navs-list00 > li .sp-nav > li a:hover {text-decoration: none;}
.navs-list > ul.navs-list00 > li.mini {margin-bottom: 16px;}
.navs-list > ul.navs-list00 > li.mini:last-child {margin-bottom:0;}
.navs-list > ul.navs-list00 > li.mini a {font-size: 14px;line-height: 20px;}

#footer .copyright {font-size: 14px;line-height: 20px;position: absolute;bottom: 0;left: 0;}

/* wideWrap
=========================================== */
section{width:100%;}

aside,footer{position:relative;}

/* CLEARFIX
=========================================== */

.cf:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
	overflow: hidden;
	font-size: 0.1em;
	line-height: 0;
}
.cf {
	min-height: 1px;
}
* html .cf {
	height: 1px;/*¥*//*/
  height: auto;
  overflow: hidden;
  /**/
}

.no-pc{display: inline-block;pointer-events: none;text-decoration: none!important;}

.sp{display:none!important;}
