@charset "utf-8";
:root {
	--c_mp: #D90013;
	--c_ep: #344A96;
}
.clr-mp {color: var(--c_mp)!important;}
.clr-ep {color: var(--c_ep)!important;}
.bg-mp {background-color: var(--c_mp)!important;}
.bg-ep {background-color: var(--c_ep)!important;}
/*eng_None---------------------------------
.hLang  {
	display: none!important;
}
.fLang {
	visibility: hidden;
}
#header {
	padding-right: 0 !important;
}
------*/


/*recuirt*/
.nav:last-of-type {
	display: none;
}
.navWrap {
	justify-content: space-between;
}
body::after {
	content: "";
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(26, 26, 26, 0.50);
	backdrop-filter: blur(5px);
	z-index: -1;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: .35s;
}
body.act::after {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
	z-index: 950;
}
/*-----------------------------------------------*/


.fo-bebas {
	font-family: "bebas-neue-pro", sans-serif;
	font-weight: 600;
	font-style: normal;
	line-height: .8
}
body {
	padding-top: 10rem;
}
body.no-pt {
	padding-top: 0!important
}
h1 {
	font-size: 3.8rem
}
h2 {
	font-size: 2.8rem
}
h3 {
	font-size: 2rem
}
.bg-grey {
	background-color: #ececec!important
}
.bg-fff {
	background-color: #fff!important
}
.clr-bl {
	color: var(--c_ep)!important
}
.clr-wh {
	color: #fff!important
}
.clr-rd {
	color: #b90025!important
}
.txt-lh {
	line-height: 1.8
}
.ttlBox {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.1;
	margin-bottom: 5rem;
}
.ttlBox h2 {
	margin-bottom: 1rem;
}
.ttlBox.d-flex h2 {
	margin: 0 5rem 0 0;
}
.ttlBox .fo-bebas {
	font-size: 270%;
	letter-spacing: .1em;
	text-indent: 0.1em;
	margin-bottom: 1rem;
}
.btn {
	margin-top: 3rem;
}
.btn a {
	display: inline-block;
	background: #1a1a1a;
	color: #fff;
	text-align: center;
	padding: 1.5rem .5rem;
	min-width: 21.5rem;
	max-width: 22rem;
}
.btn a::after {
	content: "";
	display: inline-block;
	background: url("../img/arrow_wh.svg") left center no-repeat;
	background-size: contain;
	width: .7rem;
	height: 1.1rem;
	margin-left: 1rem;
	z-index: 1;
}
.btn a._red {background-color: var(--c_mp)}
.btn a._blue {background-color: var(--c_ep)}
.btn a._tr {background-color: transparent;border: 1px solid #fff}
.btn a:hover {
	background-color: #4d4d4d!important
}
.txtPage > section:first-of-type {
	padding-top: 1rem;
}
article > section:last-of-type {
	padding-bottom: 20rem;
}
.btn a.blank::after {
	content: "";
	display: inline-block;
	background: url("../img/icon_blank02.svg") center center no-repeat;
	background-size: contain;
	width: 1.4rem;
	height: 1.1rem;
	margin-left: .7rem;
}
.comingTxt {
	font-size: 4rem;
	color: #333;
}
.sealWrap {
	display: flex;
	align-items: center;
	border: 1px solid #f1f1f1;
	max-width: 80rem;
	margin: 20rem auto 0;
	font-size: 1.4rem;
	color: #666
}
.sealWrap dt,.sealWrap dd {
	padding: 1rem 2rem
}
.sealWrap dt {
	width: 25rem;
	border-right: 1px solid #f1f1f1;
	text-align: center;
}
.sealWrap dd {
	text-align: left;
	flex: 1;
}
@media screen and (max-width: 780px) {
	.sealWrap {
		display: block;
		margin-top: 10rem;
	}
	.sealWrap dt {
		width: 100%;
		padding-bottom: 0;
	}
	.sealWrap dt img {
		max-height: 8rem;
	}
}

/*header
---------------------------------------------------------*/
#header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 990;
	padding-right: 13rem;
	transition: .2s;
	background: #ececec
}
#header.act {
	box-shadow: 0 0 3px rgb(0 0 0 / 5%)
}
.hWrap {
	padding: 1.8rem 3rem;
}
.hLogo {
	width: 18.7rem;
}
.hNav > li {
	margin-left: 3rem;
}
/*
.hNav li:last-of-type {
	border-left: 1px solid #1a1a1a;
	padding-left: 3rem;
}
*/
.hNav a {
	position: relative;
	display: inline-block;
}
.hNav a::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: -.5rem;
	width: 0;
	height: 1px;
	background: #b2b5b3;
	transition: .4s ease-out;
}
.hNav a:hover {
	color: #999
}
.hNav a:hover::after {
	width: 100%;
}
.ddTgl {
	padding-bottom: 1.8rem;
	margin-bottom: -1.8rem;
}
.ddTgl:not(.open) .ddNavArea {
	pointer-events: none;
}
.ddTab {
	margin-bottom: 5rem;
	gap: .5rem 1rem;
}
.ddTab li {
	text-align: center;
	padding: .5rem 2rem;
	line-height: 1.2;
	cursor: pointer;
	transition: .2s;
}
.ddTab li:hover,
.ddTab li.active {
	background: #ececec;
}
.ddNavArea {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: #fff;
	padding: 3rem 0;
	text-align: left;
}
.ddNavPanel {
	display: none;
	justify-content: space-between;
	gap: 4rem 6rem;
}
.ddTgl._support .ddNavPanel {
	display: flex;
}
.ddTgl._support .ddNavWrap {
	flex: none;
}
.ddTgl._support > a {
	position: relative;
	display: inline-block;
	padding-right: 14px;
}
.ddTgl._support > a::after,.ddTgl._support > a::before {
	content: "";
	width: 11px;
	height: 1px;
	background: #000;
	position: absolute;
	left: auto;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	transform: none;
	transition: .2s;
}
.ddTgl._support > a::before {
	width: 1px;
	height: 11px;
	right: .5rem;
	opacity: 1;
}
.ddTgl._support.open > a::before {
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
	opacity: 0;
}
.ddNavPanel dt .img {
	max-width: 20rem;
}
.ddNavWrap {
	flex: 1;
	gap: 4rem;
}
.ddNav ul {
	display: grid;
	grid-auto-flow: column;
	grid-template-rows: repeat(4, auto);
	column-gap: 2rem;
}
.ddTgl._support .ddNav ul {
	display: block;
}
.ddTtl {
	margin-bottom: 2rem;
}
.ddTtl span {
	white-space: nowrap;
}
.ddTtl h2 {
	font-size: 3.6rem;
	line-height: 1;
	letter-spacing: .07em;
}
.ddTtl h3 {
	font-size: 3rem;
	white-space: nowrap;
	letter-spacing: .07em;
}
.ddNav li .fo-bebas {
	font-size: 2rem;
}
.ddInfo {
	padding-left: 4rem;
	border-left: 1px solid #a5a5a5;
}
.ddNav {
	gap: .5rem 2%;
}
.ddNavPanel a::after {
	display: none;
}
.ddInfo li,
.ddTgl._support .ddNav li {
	margin-top: 0.5rem;
}
.ddChild .tit {
	border-bottom: 1px solid #a5a5a5;
	margin-bottom: 0.5rem;
}
.ddChild .tit:not(:first-of-type) {
	margin-top: 2rem;
}
.ddNav .ddChild {
	gap: 3rem
}
.ddNav .ddChild ul {
	display: grid;
	grid-auto-flow: row;
	grid-template-rows: none;
	gap: 0;
}
.ddNavArea li a.blank {
	background: url(../img/icon_blank.svg) right center no-repeat;
	background-size: 1.4rem auto;
	padding-right: 1.6rem;
}
.ddTgl._ep .ddNav .ddChild .box:nth-of-type(n+2){
  display: none;
}


.hLang {
	position: absolute;
	top: 0;
	right: 0;
	width: 13rem;
	height: 100%;
	color: #fff;
	background: #4d4d4d;
	z-index: 50;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}
.langIcon {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 5.5rem;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	z-index: 10;
	transition: .4s;
}
.hLang:hover .langIcon {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.langList {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: .4s;
}
.langList a {
	display: block;
	font-size: 2rem;
	font-weight: 400;
	color: #9e9e9f;
	letter-spacing: .15em;
	padding: .2rem 1rem
}
.langList a:hover {
	color: #fff;
}
.langList li:first-of-type a {
	border-right: 1px solid #9e9e9f;
}
.hLang:hover .langList {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.serchBox {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-bottom: 1rem;
}
.txtSerch {
	position: relative;
}
.txtSearchInput {
	padding: .5rem 2.7rem .5rem .5rem;
	display: block;
	max-width: 180px;
	border-radius: 0;
	border-width: 1px;
}
.serchBox button {
	position: absolute;
	top: 1px;
	right: 0;
	bottom: 0;
	z-index: 1;
	display: block;
	width: 2.7rem;
	height: 2.7rem;
	background: url("../img/icon_serch.svg") center center no-repeat;
	background-size: 1.4rem auto;
	border: none;
	transition: .2s;
}
.serchBox button:hover {
	opacity: .8
}
.menuWrap,.spMenuWrap {
	display: none;
}


/*footer
---------------------------------------------------------*/
#footer {
	position: relative;
	background: #1a1a1a;
	color: #fff;
	padding: 13rem 0 5rem;
}
.serchBox._sp {
	display: none;
}
.nav {
	width: 25%;
	text-align: left;
	font-size: 1.4rem;
	padding-right: 2rem;
}
.nav dt {
	font-size: 125%;
	font-weight: 500;
	letter-spacing: .05em;
}
.nav dt:not(:first-of-type) {
	margin-top: 5rem;
}
.nav li {
	margin-top: .5rem;
}
.nav a {
	color: #fff;
}
.nav a:hover {
	color: #999
}
.nav .child li {
	position: relative;
	padding-left: 1em;
}
.nav .child li::before {
	content: "─";
	font-size: 80%;
	position: absolute;
	left: 0;
	top: 50%;
	line-height: .1
}
.fLinks {
	margin-top: 10rem;
}
.fLft ul {
	margin-left: 3rem;
}
.fLft li {
	padding: 0 2rem;
}
.fLft li:not(:first-of-type) {
	border-left: 1px solid #fff;
}
.fLft a {
	color: #fff;
}
.fLang a:hover,
.fLft a:hover {
	color: #999
}
.scl li:not(:first-of-type) {
	margin-left: 2.5rem;
}
.fBtm {
	padding-top: 2.5rem;
	margin-top: 2.5rem;
	border-top: 1px solid #8b8b8b;
}
.fLang {
	background: url("../img/icon_lang.svg") left center no-repeat;
	background-size: 1.9rem auto;
	padding: .5rem 0 .5rem 3rem;
}
.fLang a {
	font-size: 2rem;
	color: #fff;
	letter-spacing: .15em;
}
.copyRight {
	font-size: 1.2rem;
}
.pageTop {
	width: 4rem;
	height: 4rem;
	position: absolute;
	right: 10%;
	top: 0;
	z-index: 50;
}
.pageTop a {
	position: relative;
	display: block;
	background: #666;
	width: 100%;
	height: 100%;
}
.pageTop a::after {
	content: "";
	display: block;
	background: url("../img/arrow_wh.svg") center center no-repeat;
	background-size: contain;
	width: .9rem;
	height: 1.6rem;
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 1;
	-webkit-transform: translate(-50%,-50%) rotate(-90deg);
	-ms-transform: translate(-50%,-50%) rotate(-90deg);
	transform: translate(-50%,-50%) rotate(-90deg);
}
/*top
---------------------------------------------------------*/
body#index {
	padding-top: 0;
}
body#index #header {
	background: rgba(236, 236, 236, .8);
}
.mainArea {
	background: #e1e1e1;
}
.mainSlider {
	opacity: 0;
	transition: .2s;
}
.mainSlider.slick-initialized {
	opacity: 1;
}
.mainSlider .img img {
	width: 100%;
}
.mainSlider img.onlysp {
	display: none;
}
#topSec {
	background: #e1e1e1!important;
	padding: 18rem 0;
}
.topSec {
	max-width: 1700px;
}
.topTxtImg {
	max-width: 48.1rem;
	margin: 0 auto 5rem;
}
.topTxtImg .logo img {
	min-height: 10rem;
	display: block;
	margin: 5rem auto 4rem;
}
.topSec h2 {
	font-size: 2rem;
	line-height: 2.2;
	margin-bottom: 5rem;
}
.topSec h2 p:not(:first-of-type) {
	margin-top: 1em;
}
body#index article > * {
	background: #fff;
}
#topPhilosophy {
	background: transparent!important;
	color: #fff;
	padding: 12rem 0 24rem;
	position: relative;
}
#topPhilosophy::after {
	content: "";
	display: block;
	background: #fff;
	z-index: 1;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 12rem;
}
#topPhilosophy .plxImg {
	background: url("../img/top/philosophy_bg.jpg") center center no-repeat;
	background-size: cover;
	opacity: 1;
}
.topPhilosophy .txt {
	font-size: 2rem;
	line-height: 1.8;
	margin-bottom: 5rem;
}
#topAbout {
	position: relative;
	z-index: 1;
	padding-top: 10rem;
	margin-top: 0;
}
#topAbout::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 85vw;
	height: 57.6rem;
	background: url("../img/top/about_bg.jpg") center center no-repeat;
	background-size: cover;
	z-index: -1;
}
.topAboutBox .txt {
	font-size: 2.4rem;
	margin-bottom: 5rem;
}
.topAboutWrap .img {
	width: 50%;
	position: relative;
	height: 63rem;
	z-index: 1;
}
.topAboutWrap .img::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 50vw;
	background: url("../img/top/about_img.jpg") center center no-repeat;
	background-size: cover;
}

#topBrand {
	padding: 13.5rem 0 0;
}
#topBrand .container {
	max-width: 1672px;
}
.ttlBox img[src*="/logo.svg"] {
	min-height: 6rem;
}
.brandContBox {
	position: relative;
	overflow: hidden;
	z-index: 1;
	padding: 0 3.5rem 5.5rem 7.5rem;
	text-align: left;
	font-size: .5208333vw;
	display: flex;
	font-size: 1.6rem;
	min-height: 61rem;
}
.brandContBox._02 {
	padding-left: 3.5rem;
	padding-right: 7.5rem;
	flex-direction: row-reverse;
}
.brandContBox+.brandContBox {
	margin-top: 3.5rem;
}
.brandContBox .bg {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 58.5%;
	width: calc(50% + 15rem);
	overflow: hidden;
	z-index: -1;
}
.brandContBox._02 .bg {
	left: auto;
	right: 0;
}
.brandContBox .bg img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.brandContBox::after {
	content: "";
	display: block;
	width: 50%;
	background: #d80012;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	clip-path: polygon(14.5rem 0%, 100% 0%, 100% 100%, 0% 100%);
	z-index: 5
}
.brandContBox .img {
	width: 53%;
	max-width: 78.6rem;
	position: relative;
	z-index: 10;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin-bottom: -5.5rem;
}
.brandContBox._02 .img {
	max-width: 82.2rem;
}
.brandContBox dl {
	flex: 1;
	display: inline-block;
	text-align: center;
	position: relative;
	z-index: 50;
	color: #fff;
	margin-top: -1px;
}
.brandContBox dt {
	height: 20rem;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 53rem;
	height: 20rem;
	margin: 0 auto 3rem;
	position: relative;
}
.brandContBox dt::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #fff;
	z-index: -1;
	clip-path: polygon(5rem 0%, 100% 0%, 48.25rem 100%, 0% 100%);
}
.brandContBox dt img {
	width: 71%;
}
.brandtopNav {
	display: inline-flex;
	justify-content: center;
	flex-direction: column;
	text-align: left;
	min-height: 20rem;
}
.brandContBox li {
	font-size: 112.5%;
	margin-top: 1.2rem;
}
.brandContBox li a {
	position: relative;
	color: #fff;
	display: inline-block;
	z-index: 1;
	background: url("../img/arrow_wh.svg") left center no-repeat;
	background-size: .7rem auto;
	padding: 0 1rem 0 1.7rem;
}
.brandContBox li a::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 0;
	height: 1px;
	background: #fff;
	transition: .4s ease-out;
	z-index: -1;
}
.brandContBox li a:hover::before {
	width: 100%;
}
.brandContBox .tit {
	font-size: 125%;
}
.bramdBtn {
	gap: 1rem 1.5rem;
}
.brandContBox._02::after {
	background: var(--c_ep);
	right: 0;
	left: 0;
	transform: scale(-1,-1);
}
#topContr {
	padding-top: 12rem;
}
.topContrWrap .img {
	width: 50%;
	height: 44.4rem;
	position: relative;
}
.topContrWrap .img::before {
	content: "";
	display: block;
	width: 50vw;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	background: url("../img/top/sdgs_bg.jpg") center center no-repeat;
	background-size: cover;
}
.topContr {
	margin-left: 8rem;
}
#mijArea {
	background: url("../img/top/bg_japan.jpg") top right no-repeat;
	background-size: 50.15625% auto;
	padding: 21.5rem 0 13.5rem;
}
.milLogo {
	width: 22rem;
	margin-right: 9rem;
}
.milWrap dl {
	text-align: left;
	max-width: 56rem;
	padding-top: 1rem;
}
.milWrap dt {
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: .05em;
	margin-bottom: 3rem;
}
.milWrap dt big {
	display: block;
	font-size: 180%;
	font-weight: 700;
	line-height: 1.2
}
.aboutNav li {
	width: 20%;
}
.aboutNav li .txt {
	font-size: 112.5%;
	margin-top: 1.5rem;
}
.aboutNav li .img {
	position: relative;
	overflow: hidden;
}
.aboutNav li img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	opacity: 1!important;
	transform: scale(1.01);
	transition: .4s;
}
.aboutNav li a:hover img {
	transform: scale(1.07)
}
.aboutNav li a:hover {
	color: #d80012
}
.aboutLinks {
	margin-top: 14rem;
}
.aboutLinkBox {
	width: 100%;
	position: relative;
	overflow: hidden;
	margin-top: 3.5rem;
	z-index: 1;
}
.aboutLinkBox a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	height: 27.6rem;
	padding: 7.5rem 1rem;
	color: #fff;
	z-index: 1;
	font-size: 1.8rem;
}
.aboutLinkBox.coming {
	pointer-events: none;
}
.aboutLinkBox a:hover {
	background: rgba(0,0,0,0);
	text-shadow: 0 0 5px rgba(0,0,0,.5)
}
.aboutLinkBox .txt {
	font-size: 2.4rem;
}
.aboutLinkBox .txt.fo-bebas {
	font-size: 4.6rem;
	letter-spacing: .1em;
}
.aboutLinkBox .ttlBox {
	padding-bottom: 2rem;
	margin-bottom: 2rem;
	position: relative;
	font-size: 1.6rem;
}
.aboutLinkBox .ttlBox::after {
	content: "";
	display: block;
	width: 2rem;
	height: 1px;
	background: #fff;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	z-index: 1;
}
.aboutLinkBox figure {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: -1
}
.aboutLinkBox figure img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	opacity: 1!important;
	transform: scale(1.001);
	transition: .4s;
}
.aboutLinkBox:hover img {
	transform: scale(1.07)
}
.aboutLinkBox._01 {
	background: #000;
}
.aboutLinkBox._01::after {
	content: "";
	display: block;
	width: 3.6rem;
	aspect-ratio: 1;
	background: #000 url(../img/arrow_wh.svg) center center no-repeat;
	background-size: 30% auto;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	transition: .2s;
	pointer-events: none;
}
.aboutLinkBox._01:hover::after {
	background-color: var(--c_mp);
}
.aboutLinkBox._01 figure {
	width: 67%;
	left: auto;
}
.aboutLinkBox._01 figure img {
	object-fit: contain;
}
.aboutLinkBox._01 .ttlBox  {
	width: 33%;
	padding-bottom: 0;
	margin-bottom: 0;
}
.aboutLinkBox._01 .ttlBox::after {
	display: none;
}
.aboutLinkBox._02 .ttlBox,.aboutLinkBox._02 .txt  {
	width: 50%;
	margin-left: auto;
}
.sdgsWrap {
	width: 100%;
	background: url("../img/top/sdgs_bg.jpg") center center no-repeat;
	background-size: cover;
	padding: 3.5rem;
}
.sdgsBox {
	background: #fff;
	max-width: 950px;
	margin: 0 auto;
	padding: 4rem 5.5rem;
}
a.sdgsBox:hover {
	box-shadow: 0 0 10px rgba(0,0,0,.8)
}
.sdgsBox dl {
	text-align: left;
}
.sdgsBox dt {
	font-size: 112.5%;
	font-weight: 600;
	margin-bottom: 1.5rem;
}
.sdgsBox dt h3 {
	font-size: 4.2rem;
	margin-right: 3rem;
}
.sdgsBox img[src*="sdgs.svg"] {
	width: 18.1rem;
}
.sdgsBox img[src*="logo_gx.png"] {
	width: 14.7rem;
	margin-left: 6rem;
}
.topNews {
	gap: 4rem 2%;
}
.topNews li {
	width: 49%;
}
.thumb {
	width: 16rem;
	min-width: 16rem;
	height: 10.5rem;
	position: relative;
	overflow: hidden;
	margin-right: 5rem;
}
.thumb img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	opacity: 1!important;
	transition: .4s;
}
.newsList .box {
	text-align: left;
}
.date {
	font-size: 1.2rem;
	margin-bottom: 1rem;
}
.newsList a:hover .ttl {
	color: #d80012
}
.newsList a:hover img {
	transform: scale(1.07)
}

/*subPage
---------------------------------------------------------*/
.breadcrumbs._wh {
	background-color: #fff;
}
.breadcrumbs ol {
	text-align: left;
	font-size: 1.2rem;
	padding: 2rem 3rem;
}
.breadcrumbs li {
	display: inline-block;
}
.breadcrumbs li:not(:last-of-type) {
	margin-right: .5rem;
}
.breadcrumbs a {
	display: inline-block;
	color: #bebebe;
}
.breadcrumbs a::after {
	content: ">";
	color: #bebebe;
	margin-left: .2rem;
}
.breadcrumbs a:hover {
	color: #1a1a1a
}
.subTtl {
	margin: 7rem auto 4rem;
	text-align: left;
}

/*contactList
---------------------------------------------------------*/
.listArea {
	text-align: left;
}
.listArea h2:not(:first-of-type) {
	margin-top: 10rem;
}
.listArea li {
	border-bottom: 1px solid #d8d8d8;
	padding: 3rem 2rem
}
.listArea li:first-of-type {
	border-top: 1px solid #d8d8d8;
}
.listArea li a {
	display: inline-block;
	background: url("../img/arrow.svg") right center no-repeat;
	background-size: .7rem auto;
	padding-right: 2.7rem;
}
.listArea li a:hover {
	color: #b90025;
}

/*form
---------------------------------------------------------*/
.formTxt {
	font-size: 115%;
	font-weight: 600;
	margin-bottom: 4rem;
}
.formWrap {
	padding: 0 2.5rem
}
.formBox dt,.formBox dd {
	width: 30%;
	font-weight: 400;
	padding: 2.5rem;
	text-align: left;
}
.formBox dt::before {
	content: "任意";
	font-size: 85%;
	font-weight: 400;
	padding: .5rem 1rem;
	display: inline-block;
	background: #929292;
	color: #fff;
	line-height: 1;
	margin-right: 1.5rem;
}
.formBox dt.req::before {
	content: "必須";
	color: #fff;
	background: #d80012
}
.formBox dd {
	width: 70%;
	padding-left: 0;
}
.formName > .txt {
	width: 40%;
	display: flex;
	align-items: center;
}
.formName > .txt:first-of-type {
	margin-right: 2%;
}
.formName .txt span {
	display: block;
	white-space: nowrap;
	margin-right: 1rem;
}
.form-address p {
	text-align: left;
	padding: 5px 0;
}
.formBox input[type="text"],.formBox input[type="tel"],.formBox input[type="email"],.formBox select,.formBox textarea {
	width: 100%;
	padding: .575em;
	border: 1px solid #ccc;
	border-radius: 3px;
}
.formBox input[type="text"].size-s {
	max-width: 21rem;
}
.formBox label {
}
.formBox select {
	width: auto;
	background: #fff;
	color: #000
}
.formBox option:first-of-type {
	background: #b3b3b3;
	color: #fff;
}
.formBox textarea {
	height: 19rem;
}
.formBox .disabled input {
	pointer-events: none;
	border: none;
}
.zipBtn {
	background: #666;
	color: #fff;
	margin-left: 1rem;
	border: none;
	padding: .8rem 2rem;
	cursor: pointer;
	line-height: 1.1;
}
.zipBtn:hover {
	background: #ccc
}
.policyBox {
	height: 25rem;
	margin: 3rem 2.5rem 0;
	overflow: auto;
	padding: 1.5em;
	border: 1px solid #ccc;
	text-align: left;
}
.policyBox b {
	display: block;
	font-size: 115%;
	margin-bottom: .5rem;
}
.policyTxt a {
	text-decoration: underline;
	display: inline-block;
	margin-bottom: 2rem;
}
.policyTxt a:hover {
	text-decoration: none;
	color: #d80012;
}
.policyCheck {
	margin-top: 9rem;
	padding: 3rem 1rem;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
.formBtn {
	margin-top: 3rem;
}
.mw_wp_form_confirm button.button._grey {
	display: block!important;
}
.formWrap input[type="submit"],.formWrap input[type="button"],.formWrap button.button._grey {
	font-family: 'Noto Sans JP', sans-serif ,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Verdana;
	color: #fff;
	font-size: 115%;
	letter-spacing: .075em;
	text-indent: .075em;
	background: #1a1a1a;
	min-width: 17rem;
	display: block;
	border: none;
	padding: 1.5rem 2rem;
	margin: 1rem;
	transition: .2s;
	cursor: pointer;
}
.formWrap input[type="submit"]._green {
	background: #00b4a0;
}
.formWrap input[type="submit"].btn_back,
.formWrap button.button._grey {
	background: #ddd;
	color: #333;
}
.formWrap input[type="submit"]:hover,.formWrap input[type="button"]:hover,.formWrap button.button._grey:hover {
	opacity: .7;
}

.onlyconf,button.button._grey {
	display: none;
}
.mw_wp_form_confirm button.button._grey,
.mw_wp_form_confirm .onlyconf,
#confirm .onlyconf {
	display: block!important;
}
.mw_wp_form .horizontal-item + .horizontal-item {
	margin-left: 0!important;
}
.mw_wp_form_confirm .privacyBox,
.mw_wp_form_confirm .formBox dt::before,
.mw_wp_form_confirm .zipBtn,
.mw_wp_form_confirm .formName .txt span,
.mw_wp_form_confirm .policyTxt {
	display: none!important;
}
.mw_wp_form_confirm .formName > .txt {
	width: auto;
}
.mw_wp_form .error {
	font-size: 85%!important;
}
.formName .error {
	min-width: 50%;
}
.formName .error + .error {
	display: none;
}
.thxBox {
	padding: 3rem 1.5rem;
	border: 1px solid #999
}

/*privacy
---------------------------------------------------------*/
.privactArea {
	text-align: left;
}
.privactArea h2 {
	border-bottom: 1px solid #d8d8d8;
	padding-bottom: .5rem;
	margin-bottom: 3rem;
}
.privactArea h2:not(:first-of-type) {
	margin-top: 10rem;
}
.privacy > * + * {
	margin-top: 3rem;
}
.privacy ol {
	list-style-type: decimal;
	padding-left: 1.5em;
}
.privacy ol.alpha {
	list-style-type: lower-latin
}
.privacy li {
	margin-bottom: .5rem;
}

/*sns
---------------------------------------------------------*/
.sclWrap li {
	width: 25%;
	border-left: 1px solid #d8d8d8;
	padding: 5.5rem 2rem;
}
.sclWrap li:first-of-type {
	border-left: none;
}
.sclWrap li .icon {
	min-height: 6rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
.sclWrap li span {
	display: block;
	font-size: 1.3rem;
	color: #808080;
	margin-top: 3.5rem;
}
.sclWrap a:hover span {
	color: #e50012
}

/*news
---------------------------------------------------------*/
#newsArchives .newsList li {
	width: 100%;
	padding: 4rem 1rem;
	border-bottom: 1px solid #d8d8d8;
}
#newsArchives .newsList li:first-of-type {
	border-top: 1px solid #d8d8d8;
}
.archivesWrap {
	margin-bottom: 4rem;
}
.archivedd {
	background: #f2f2f2;
	margin-left: 1.5rem;
	padding: .5rem 2rem .5rem 1rem;
	text-align: left;
}
.archivesWrap p {
	padding-bottom: .1rem;
}
.pager {
	width: 100%;
	text-align: center;
	margin-top: 5rem;
}
.pager span, .pager a {
	display: inline-block;
	padding: 0 .8rem;
	margin: .3rem;
	transition: .1s;
}
.pager .next,.pager .prev {
	border: none;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.pager .current {
	background: #000;
	color: #fff;
}
span.page-numbers.dots {
	border: none;
	padding: 0;
}
.pager a:hover {
	color: #d80012
}
.newsHeader,.newsContents,.subTxt {
	padding: 0 5rem;
	text-align: left;
}
.newsHeader {
	border-bottom: 1px solid #d8d8d8;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
}
.newsHeader h2 {
	font-size: 2rem;
}
.newsContents {
	margin-top: 7rem;
}
.newsContents h3 {
	margin-bottom: .75rem;
}
.newsContents h4 {
	font-size: 1.8rem;
}
.logoImg {
	text-align: center;
	margin-bottom: 7rem;
}
.newsContents .img {
	text-align: center;
	margin-bottom: 7rem;
}
.dlBtn {
	text-align: center;
	margin-top: 5rem;
}
.dlBtn a {
	display: inline-block;
	font-size: 2.6rem;
	border: 1px solid #000;
	padding: 2rem 8rem;
	letter-spacing: .15em;
}
.dlBtn a:hover {
	background: #4d4d4d;
	border-color: #4d4d4d;
	color: #fff
}
.pageset {
	border-top: 1px solid #d8d8d8;
	padding-top: 6rem;
	margin-top: 6rem;
}
.pageset a:hover {
	background: #f1f1f1
}
.listBack a {
	display: inline-block;
	background: #000;
	color: #fff;
	padding: 1.2rem 6rem;
	margin: 0 3rem;
}
.listBack a:hover {
	background: #333
}
.pageSetDmmy {
	width: 6.4rem;
	visibility: hiddenhi;
}

/*manual
---------------------------------------------------------*/
.manualList h3 {
	margin: 7rem 0 1.5rem;
}
.manualList li {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.pdfBtn a {
	display: flex!important;
	justify-content: center;
	align-items: center;
	position: relative;
	color: #fff!important;
	background: #b90025!important;
	text-align: center;
	width: 9rem;
	text-decoration: none!important;
	padding: .7rem!important;
	letter-spacing: .1em;
	font-size: 2rem;
	margin-left: 1.5rem;
}
.pdfBtn a::after {
	content: "";
	display: block;
	background: url("../img/icon_dl_wh.svg") center center no-repeat;
	background-size: contain;
	width: 1.3rem;
	height: 1.1rem;
	margin-left: .5rem;
}
.pdfBtn a:hover {
	background: #1a1a1a!important
}

/*sitemap
---------------------------------------------------------*/
.sitemap {
	text-align: left;
}
.sitemap:not(:first-of-type) {
	border-top: 1px solid #d8d8d8;
	padding-top: 7rem;
	margin-top: 7rem;
}
.sitemap dt {
	width: 32%;
	font-size: 112.5%;
	font-weight: 600;
}
.sitemap dd {
	width: 68%;
	display: flex;
}
.sitemap dd > ul {
	width: 50%;
}
.sitemap a {
	display: inline-block;
	background: url("../img/arrow.svg") right center no-repeat;
	background-size: .7rem auto;
	padding-right: 3.4rem;
	position: relative;
}
.sitemap a::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: -.3rem;
	width: 0;
	height: 1px;
	background: #b2b5b3;
	transition: .4s ease-out;
}
.sitemap a:hover {
	color: #999
}
.sitemap a:hover::after {
	width: 100%;
}
.sitemap .tit {
	font-weight: 600;
}
.sitemap li:not(:first-of-type) {
	margin-top: 4rem;
}
.sitemap .child {
	margin-top: 4rem;
}
.sitemap .child li {
	position: relative;
	padding-left: 1em;
}
.sitemap .child li::before {
	content: "─";
	font-size: 80%;
	position: absolute;
	left: 0;
	top: 50%;
	line-height: .1
}
.dmmy {
	visibility: hidden;
}

/*movie
---------------------------------------------------------*/
#movie {
	overflow: visible;
}
.cateList {
	gap: 1.7rem 1.33333333%;
	margin-bottom: 7rem;
}
.cateList li {
	width: 24%;
}
.cateList a {
	display: block;
	text-align: center;
	background: #f2f2f2;
	padding: 1rem;
	font-size: 1.4rem;
	border: 1px solid #f2f2f2;
}
.cateList .current a {
	background: #1a1a1a;
	color: #fff;
	border-color: #1a1a1a;
}
.cateList a:hover {
	border-color: #1a1a1a;
}
.postList {
	margin: 0 -1.5rem
}
.postBox {
	width: 33.3333333%;
	text-align: left;
	margin-top: 7rem;
	border-right: 1px solid #d8d8d8;
	padding: 0 1.5rem;
	line-height: 1.5
}
.postBox:nth-of-type(-n+3) {
	margin-top: 0;
}
.postBox:nth-of-type(3n) {
	border-right: none;
}
.movie {
	position: relative;
	padding-top: 56.25%;
	margin-bottom: 2rem;
}
.movie iframe {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}
.postBox .thumb {
	width: 100%;
	margin: 0 0 1rem;
	height: 21rem;
}
.postBox .date {
	font-size: 87.5%;
	color: #bebebe;
}
.postBox h2 {
	font-size: 112.5%;
	font-weight: 600;
	margin-bottom: .5rem;
}
.tags li {
	display: inline-block;
	margin: .7rem .5rem 0 0
}
.tags li a {
	display: block;
	font-size: 1.2rem;
	text-align: center;
	background: #f2f2f2;
	padding: .5rem 1rem;
}
.tags li a:hover {
	background: #e4e4e4;
}
.movieList .postBox.is-hidden {
	display: none;
}
.loadBtn {
	display: block;
	width: 100%;
	max-width: 40rem;
	margin: 7rem auto 0;
	font-size: 2.6rem;
	text-align: center;
	position: relative;
	border: 1px solid #1a1a1a;
	padding: 2rem 1rem;
	letter-spacing: .1em;
	cursor: pointer;
	transition: .2s;
}
.loadBtn::after {
	content: "";
	display: inline-block;
	background: url("../img/arrow.svg") center center no-repeat;
	background-size: contain;
	width: 1rem;
	height: 1.6rem;
	margin-left: 1.5rem;
	-webkit-transform: rotate(90deg) translateX(-.05em);
	-ms-transform: rotate(90deg) translateX(-.05em);
	transform: rotate(90deg) translateX(-.05em);
}
.loadBtn.none {
	display: none;
}
.loadBtn:hover {
	background: #f1f1f1
}

/*about
---------------------------------------------------------*/
.parentTtlArea {
	background: url("../img/about/pagettl.jpg") center center no-repeat;
	background-size: cover;
	color: #fff;
	position: relative;
	overflow: hidden;
}
.parentTtl {
	width: 90%;
	max-width: 1530px;
	margin: 0 auto;
	height: 65rem;
	display: flex;
	align-items: center;
}
.parentTtl .ttlBox {
	width: 50%;
	margin-left: auto;
	font-size: 3rem;
	margin-bottom: 0;
}
.parentTtl .ttlBox h1 {
	font-size: 80%;
	position: relative;
	font-weight: 500;
	letter-spacing: .05em;
	padding-bottom: 4rem;
	margin-bottom: 4rem;
}
.parentTtl .ttlBox h1::after {
	content: "";
	display: block;
	width: 4rem;
	height: 1px;
	background: #fff;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	z-index: 1;
}
.parentTtl .ttlBox h1 .fo-bebas {
	font-size: 358%;
	display: block;
	margin-bottom: 1rem;
}
.parentTtlArea .breadcrumbs {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1
}
.parentTtlArea .breadcrumbs a {
	color: #fff;
}
.parentTtlArea .breadcrumbs a:hover {
	color: #C8C8C8
}
.pageLink {
	margin-bottom: 2rem;
}
.pageLink li {
	width: 49%;
	text-align: left;
	margin-bottom: 7rem;
	font-size: 1.8rem;
}
.pageLink li .img {
	position: relative;
	text-align: center;
	overflow: hidden;
	margin-bottom: 2rem;
}
.pageLink li img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	opacity: 1!important;
	transform: scale(1.01);
	transition: .4s;
}
.pageLink li a:hover img {
	transform: scale(1.07)
}
.pageLink li h2 {
	font-size: 230%;
	letter-spacing: .05em;
	margin-bottom: 1rem;
}
.pageLink li a:hover {
	color: #d80012
}

/*support
---------------------------------------------------------*/
#supportPage .parentTtlArea {
	background-image: url("../img/support/pagettl.jpg")
}
.supportLinkSec{
	padding-top: 0;
}
.supportLink li {
	width: 32%;
	height: 28rem;
	position: relative;
	overflow: hidden;
	z-index: 1;
}
.supportLink li figure {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.supportLink li figure img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	opacity: 1!important;
	transform: scale(1.075);
	transition: .6s;
	-webkit-filter: blur(7.2px);
	filter: blur(7.2px);
}
.supportLink li a {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 100%;
	height: 100%;
	color: #fff;
	position: relative;
}
.supportLink li .icon {
	min-height: 7.9rem;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 2rem;
}
.supportLink li .icon img {
	opacity: 1!important
}
.supportLink li h2 {
	font-size: 2.4rem;
	font-weight: 600;
	letter-spacing: .075em;
	text-indent: .075em;
	margin-bottom: 0 !important;
}
.supportLink li:hover figure img {
	-webkit-filter: blur(0);
	filter: blur(0);
	transform: scale(1.1);
}
.supportLink li a::after {
	content: "";
	display: block;
	width: 3.6rem;
	height: 3.6rem;
	background: #1a1a1a url("../img/arrow_wh.svg") center center no-repeat;
	background-size: .9rem auto;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 10;
	transition: .2s;
}
.supportLink li a:hover::after {
	background-color: #b90025;
}
.supportBnr{
	padding: 10rem 0!important;
}
.supportBnr .row {
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}
.supportBnr .row .box{
  background-color: #1A1A1A;
  height: 24.5rem;
  color: #fff;
  align-content: center;
}

.supportBnr .row .box h2 span{
  font-size: 6rem;
  display: block;
  margin-bottom: 1rem;
  letter-spacing: .1em;
}
.supportBnr .row .box._01 h2 span::before{
  content: "";
  width: 6.2rem;
  height: auto;
  aspect-ratio: 6.3/5.2;
  background: url("../img/icon_freedial.svg") center no-repeat;
  background-size: contain;
  display: inline-block;
  margin-right: 1rem;
}
.supportBnr .row .box h2 .txt{
  font-size: 1.8rem;
}
.supportBnr .row .box h2 .time{
  font-size: 1.4rem;
  font-weight: 400;
}
.supportBnr .row .box:hover{
	opacity: .8;
}
#supportTop h2 {
	margin-bottom: 9rem;
}
#repairArea {
	padding-top: 4rem;
	text-align: left;
}
#repairArea > section:not(:first-of-type) {
	margin-top: 12rem;
}
#repairArea h2 {
	font-size: 3rem;
	margin-bottom: 4rem;
}
#repairArea h3 {
	font-size: 2.6rem;
	border-bottom: 1px solid #d8d8d8;
	padding-bottom: .5rem;
	margin-bottom: 2.5rem;
}
.repairTbl th,.repairTbl td {
	padding: .5rem 1rem;
	border: 1px solid #d8d8d8;
	font-size: 87.5%;
	text-align: center;
}
.repairTbl th {
	background: #f1f1f1;
	font-weight: 500;
}
.repairTbl td:first-of-type,.repairTbl td:nth-of-type(2) {
	text-align: left;
}
.repairTbl a:hover {
	color: #b90025
}
.factoryList li {
	display: flex;
	align-items: center;
}
.factoryList li:not(:first-of-type) {
	margin-top: 1rem;
}
.factoryList li a {
	text-decoration: underline;
}
.linkList li {
	text-align: left;
}
.linkList a {
	text-decoration: underline;
}
.linkList li + li {
	margin-top: 1rem;
}
.factoryList li a:hover {
	text-decoration: none;
}
.linkList a:hover {
	color: #b90025;
	text-decoration: none;
}
.factoryList + h3 {
	margin-top: 6rem;
}
.repairFaq .faqWrap dl {
	margin-top: 2rem;
	border-bottom: none;
}
.repairFaq .faqWrap dt {
	background: #fff;
	color: #1a1a1a;
}
.repairFaq .faqWrap dt:not(.act):hover {
	color: #b90025;
	background-color: #fff;
}
.repairFaq .faqWrap dt,.repairFaq .faqWrap dd {
	padding: 2rem 7rem;
}
.repairFaq .faqWrap dd {
	margin-top: 2rem;
}
.repairFaq .faqWrap dt::before,.repairFaq .faqWrap dd::before {
	top: 2.5rem;
	color: #1a1a1a
}
.repairFaq .faqWrap dt::after {
	background-image: url("../img/arrow_under.svg")
}
.repairMapArea {
	align-items: flex-start;
}
.repairMap {
	width: 62rem;
	position: relative;
}
.repairMap figure {
	width: 56.2rem;
}
.mapLink li {
	min-width: 13.5rem;
	display: inline-block;
	position: absolute;
	z-index: 10;
}
.mapLink li._01 {
	top: 5rem;
	right: 23.5rem;
}
.mapLink li._02 {
	top: 20.5rem;
	right: 0;
}
.mapLink li._03 {
	top: 29.5rem;
	right: 0;
}
.mapLink li._04 {
	top: 14.5rem;
	right: 24.5rem;
}
.mapLink li._05 {
	bottom: 7.5rem;
	right: 21.5rem;
}
.mapLink li._06 {
	bottom: 2rem;
	right: 29.5rem;
}
.mapLink li._07 {
	bottom: 26rem;
	left: 14.5rem;
}
.mapLink li._08 {
	bottom: 18rem;
	left: 1rem;
}
.mapLink a {
	display: block;
	text-align: center;
	border: 1px solid #1a1a1a;
	padding: .5rem 2.5rem .5rem 2rem;
	letter-spacing: .05em;
	background: #fff url("../img/arrow.svg") right 1rem center no-repeat;
	background-size: .6rem auto;
}
.mapLink a:hover {
	color: #fff;
	background-color: #b90025;
	border-color: #b90025;
	background-image: url("../img/arrow_wh.svg")
}
.bdr {
	position: absolute;
	background: #1a1a1a;
	z-index: 5;
	width: 8rem;
	height: 1px;
}
.bdr::after {
	content: "";
	display: block;
	background: #1a1a1a;
	width: .6rem;
	height: .6rem;
	border-radius: 50%;
	z-index: 1;
	position: absolute;
}
.mapLink li._rht .bdr {
	position: absolute;
	left: 100%;
	top: 50%;
}
.mapLink li._lft .bdr {
	right: 100%;
	top: 50%;
}
.mapLink li._top .bdr,
.mapLink li._btm .bdr {
	width: 1px;
	height: 8rem;
	left: 50%;
}
.mapLink li._top .bdr {
	bottom: 100%;
}
.mapLink li._btm .bdr {
	top: 100%;
}
.mapLink li._rht .bdr::after {
	right: 0;
	top: -.25rem;
}
.mapLink li._lft .bdr::after {
	left: 0;
	top: -.25rem;
}
.mapLink li._top .bdr::after {
	right: -.25rem;
	top: 0;
}
.mapLink li._btm .bdr::after {
	right: -.25rem;
	bottom: 0;
}
.mapLink li._02 .bdr {
	width: 7rem;
}
.mapLink li._03 .bdr {
	width: 8.5rem;
}
.mapLink li._04 .bdr {
	height: 15rem;
	left: 70%;
}
.mapLink li._05 .bdr {
	height: 5rem;
	left: 25%;
}
.mapLink li._06 .bdr {
	height: 8rem;
	left: 28%;
}
.mapLink li._07 .bdr {
	height: 8.5rem;
}
.mapLink li._08 .bdr {
	height: 5.8rem;
	left: 85%;
}
.repairSearchhWrap {
	width: 41rem;
	margin-top: 2.5rem;
}
.searchTtl {
	background: #1a1a1a;
	font-size: 1.2rem;
	padding: .7rem 1rem;
	color: #fff;
}
.searchTtl .fo-bebas {
	font-size: 166%;
	margin-right: 2rem;
	letter-spacing: .05em;
}
.repairSearch dl {
	text-align: left;
	margin-top: 2.5rem;
}
.repairSearch dt {
	width: 12.5rem;
	font-weight: 600;
}
.repairSearch dd {
	flex: 1;
}
.repairSearch dd a {
	display: inline-block;
	padding: 0 .5rem;
	line-height: 1.1;
	border-left: 1px solid #1a1a1a;
	margin: .4rem 0;
}
.repairSearch dd a:last-of-type {
	border-right: 1px solid #1a1a1a;
}
.repairSearch dd a:hover {
	color: #000;
	background: #f1f1f1
}

/*case
---------------------------------------------------------*/
.pageTtlArea {
	background: url("../img/about/case/pagettl.jpg") center center no-repeat;
	background-size: cover;
	height: 30rem;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	line-height: 1.1;
	letter-spacing: .1em;
	text-indent: .1em;
}
.pageTtl .fo-bebas {
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: .13em;
	text-indent: .13em;
	margin-top: 1rem;
}
.postCont {
	margin-top: 6rem;
}
.postCont:nth-of-type(even) {
	flex-direction: row-reverse;
}
.postCont figure {
	width: 43%;
}
.postCont .txt {
	width: 50%;
	text-align: left;
}
.btmCate {
	margin-top: 6rem;
}
.btmCate span {
	display: block;
	white-space: nowrap;
}
.btmCate li {
	margin: 0 0 0 1rem
}
.btmCate li a {
	padding: .2rem .5rem;
}
.worksList {
	gap: 4rem 3.5%
}


/*greeting
---------------------------------------------------------*/
#greetingPage .pageTtlArea {
	background-image: url("../img/about/greeting/pagettl.jpg")
}
.greetingWrap {
	margin-top: 9rem;
}
.greetingWrap .img {
	position: relative;
	width: 50%;
	height: 31vw;
}
.greetingWrap .img::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 50vw;
	height: 100%;
	z-index: -1;
	background: url("../img/about/greeting/img01.jpg") left center no-repeat;
	background-size: cover;
}
.greetingBox {
	width: 45%;
	padding-top: 5rem;
	font-size: 112.5%;
	text-align: left;
	line-height: 2.1;
}
.greetingBox h3 {
	font-size: 2.8rem;
	line-height: 1.6;
	margin-bottom: 2.5rem;
}
.greetingWrap._02 .img {
	width: 32%;
	height: 26vw;
}
.greetingWrap._02 .greetingBox {
	width: 63%;
}
.greetingWrap._02 .img::before {
	background-image: url("../img/about/greeting/img02.jpg");
	background-position: right center;
	left: auto;
	right: 0;
	width: 42vw;
}
.greetingWrap._03 .greetingBox {
	width: 100%;
}
.president {
	text-align: right;
	margin-top: 3rem;
}
.president span {
	line-height: 1.6;
	display: inline-block;
	text-align: left;
	font-size: 110%;
	font-weight: 600;
}
.greetingBtmImg {
	background: url("../img/about/greeting/img03.jpg") center center no-repeat;
	background-size: cover;
	height: 36.25vw;
	margin-top: 8rem;
}

/*information
---------------------------------------------------------*/
#informationPage .pageTtlArea {
	background-image: url("../img/about/information/pagettl.jpg")
}
.infoAnc {
	margin-top: 2.5rem;
}
.infoAnc li {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	border-right: 1px solid #1a1a1a;
}
.infoAnc li:first-of-type {
	border-left: 1px solid #1a1a1a;
}
.infoAnc li a {
	display: block;
	padding: 1.5rem 1rem 2.5rem;
	position: relative;
	font-size: 1.4rem;
	transition: .4s;
}
.infoAnc li a .fo-bebas {
	font-size: 3rem;
	letter-spacing: .05em;
	text-indent: -.05em;
	margin-bottom: .2rem;
}
.infoAnc li a::after {
	content: "";
	display: block;
	background: url("../img/arrow.svg") center center no-repeat;
	background-size: contain;
	width: 1rem;
	height: 1.8rem;
	position: absolute;
	left: 0;
	right: 0;
	bottom: .5rem;
	margin: 0 auto;
	transform: rotate(90deg);
}
.infoAnc li a:hover {
	background: #f1f1f1
}
.infoArea + .infoArea {
	margin-top: 10rem;
}
.infoArea dt {
	width: 25%;
	text-align: left;
}
.infoArea dt h3 {
	font-size: 2.4rem;
	font-weight: 600;
}
.infoArea dd {
	width: 75%;
	text-align: left;
}
.infoTbl tr {
	border-bottom: 1px solid #d8d8d8;
}
.infoTbl tr:first-of-type {
	border-top: 1px solid #d8d8d8;
}
.infoTbl th,.infoTbl td {
	padding: 3rem;
}
img[src*="/president_name_l.svg"] {
	height: 1.5rem;
	display: block;
}
.policyLogo {
	font-size: 3rem;
	font-weight: 600;
}
.policyLogo img {
	width: 30.5rem;
	display: block;
	margin: 0 auto 3rem;
}
.corpPolicy {
	margin: 10rem 0;
	position: relative;
	padding: 0 8rem 8rem 0;
}
.corpPolicy::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 81.5vw;
	min-width: 150rem;
	height: 100%;
	background: url("../img/about/information/policy_bg01.jpg") center center no-repeat;
	background-size: cover;
	z-index: -10;
}
.corpPolicy .img {
	position: absolute;
	top: 8rem;
	left: 0;
	width: 42%;
	height: 36.2rem;
}
.corpPolicy .img::before {
	content: "";
	display: block;
	background: url("../img/about/information/policy_img01.jpg") center center no-repeat;
	background-size: cover;
	width: 45vw;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
}
.corpPolicy h4 {
	font-size: 3rem;
	color: #fff;
	width: 29rem;
	height: 46rem;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
	margin: 0 10rem 0 auto;
	padding-bottom: 5rem;
}
.corpPolicy h4::before {
	content: "";
	display: block;
	background: #d80012;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	z-index: -1;
	transform: skewX(-12deg);
}
.corpPolicy ul {
	position: relative;
	z-index: 5;
	margin-top: -12rem;
	grid-row-gap: 2rem;
}
.corpPolicy li {
	width: 32%;
	background: #fff;
	font-size: 1.8rem;
	padding: 3rem 1rem;
}
.corpPolicy li .fo-bebas {
	font-size: 3rem;
	color: #d80012;
	margin-bottom: .5rem;
}
.corpPolicy._02 {
	padding: 0 0 8rem 8rem
}
.corpPolicy._02::before {
	background-image: url("../img/about/information/policy_bg02.jpg");
	right: auto;
	left: 0;
}
.corpPolicy._02 .img {
	left: auto;
	right: 0;
}
.corpPolicy._02 .img::before {
	background-image: url("../img/about/information/policy_img02.jpg");
	right: auto;
	left: 0;
}
.corpPolicy._02 h4 {
	margin: 0 auto 0 10rem;
}
.corpPolicy ul.col-2 li {
	width: 49%;
}
.corpPolicy li .txt {
	min-height: 9rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
.corpPhilosophy {
	margin-top: 2rem;
	background: #fff;
}
.corpPhilosophy > * {
	width: 50%;
}
.corpPhilosophy .box {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 2.5rem;
	background: #E1E1E1;
	padding: 1rem 2rem;
}
.corpPhilosophy .box .txt {
	font-size: 112.5%;
	font-weight: 600
}
.corpPhilosophy .box img {
	max-height: 3.4rem;
}
.corpPhilosophy .box a {
	display: inline-block;
	background: #1a1a1a;
	color: #fff;
	text-align: center;
	padding: 1rem 3rem;
}
.corpPhilosophy .box a::after {
	content: "";
	display: inline-block;
	background: url("../img/arrow_wh.svg") left center no-repeat;
	background-size: contain;
	width: .7rem;
	height: 1.1rem;
	margin-left: 1rem;
	z-index: 1;
}
.corpPhilosophy .box a:hover {
	background: #4d4d4d;
}
.infoTxt big {
	display: block;
	font-size: 125%;
	font-weight: 600;
	margin-bottom: .1em;
}
.infoTxt ol {
	list-style: decimal;
	padding-left: 1.25em;
}
.infoTxt li {
	margin: .2em 0;
}
.accessArea h3 {
	background: #fff;
	font-weight: 500;
	padding: 2.5rem 4.5rem;
	cursor: pointer;
	font-size: 2rem;
	position: relative;
	text-align: left;
	transition: .6s;
	margin-bottom: 4rem;
	overflow: hidden;
	z-index: 1;
}
.accessArea h3::after {
	content: "";
	display: block;
	background: url("../img/arrow.svg") center center no-repeat;
	background-size: contain;
	width: 1rem;
	height: 1.8rem;
	position: absolute;
	top: 40%;
	right: 3.2rem;
	-webkit-transform: rotate(90deg) translateY(-40%);
	-ms-transform: rotate(90deg) translateY(-40%);
	transform: rotate(90deg) translateY(-40%);
	transform-origin: center;
}
.accessArea h3::before {
	content: "";
	display: block;
	width: 0;
	height: 100%;
	background: #999;
	position: absolute;
	top: 0;
	left: 0;
	transition: .2s;
	z-index: -1;
}
.accessArea h3:hover,.accessArea h3.active {
	color: #999;
}
.accessArea h3:hover::before,.accessArea h3.active::before {
	width: 1rem;
}
.accessArea h3.active::after {
	transform: rotate(-90deg) translateY(-40%);
	right: 1.6rem;
}
.accessBox {
	align-items: flex-start;
	padding-bottom: 6rem;
}
.accessBox .gmap {
	position: relative;
	width: 30%;
	height: 20.5rem;
}
.accessBox .gmap iframe {
	width: 100%;
	height: 100%;
}
.accessBox dl {
	width: 65%;
	text-align: left;
	padding-left: 4.5rem;
}
.accessBox dt,.accessBox dd {
	width: 28%;
	padding-bottom: 2rem;
}
.accessBox dd {
	width: 72%;
}

/*ep-faq
---------------------------------------------------------*/
.epTtlWrap {
	background: url("../img/earthpower/ttl_logo.svg") top 3rem center no-repeat,url("../img/earthpower/ttl_bg.jpg") top left repeat;
	background-size: auto 30.1rem,auto;
	color: #fff;
	font-size: 2rem;
	font-weight: 400;
	height: 30rem;
	margin-bottom: 2rem;
}
.epTtl h1 {
	font-size: 3.8rem;
	letter-spacing: .05em;
	text-indent: .05em;
	line-height: 1.2;
	margin-bottom: .5rem;
}
.epTtlWrap .fo-bebas {
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: .15em;
	text-indent: .15em;
}
.ancArea {
	padding-bottom: 3rem;
}
.ancWrap{
	gap: 4.2rem 0;
}
.ancWrap li {
	flex-basis: 33%;
}
.ancWrap a {
	display: block;
	padding: 1rem 1rem 3.5rem;
	line-height: 1.3;
	width: 100%;
	height: 100%;
	position: relative;
	border-right: 1px solid #1a1a1a;
	background: url("../img/arrow_under.svg") bottom 1rem center no-repeat;
	background-size: 1.3rem auto;
}
.ancWrap li:nth-of-type(3n+1) a {
	border-left: 1px solid #1a1a1a;
}
.ancWrap a:hover {
	background-color: rgba(0,0,0,.02);
	background-position: bottom .6rem center;
}
.ancWrap a .txt {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 4.2rem;
}
.faqWrap:not(:first-of-type) {
	margin-top: 10rem;
}
.faqWrap h2 {
  margin-bottom: 1rem;
  color: #FFF;
  font-size: 2rem;
  background-color: #344A96;
  text-align: left;
  padding: 0.8rem 2rem;
}
.faqWrap dt,.faqWrap dd {
	text-align: left;
	padding: 3rem 7rem;
	position: relative;
}
.faqWrap dl {
	border-bottom: 1px solid #d8d8d8;
}
.faqWrap dt {
	color: var(--c_ep);
	cursor: pointer;
	font-size: 112.5%;
	transition: .2s
}
.faqWrap dt:not(.act):hover {
	background: rgba(0,0,0,.02);
}
.faqWrap dd {
	padding-top: 0;
	border-top: none;
}
.faqWrap dt::before,.faqWrap dd::before {
	content: "Q.";
	font-family: "bebas-neue-pro", sans-serif;
	font-weight: 600;
	font-style: normal;
	line-height: .8;
	color: var(--c_ep);
	font-size: 2.8rem;
	display: block;
	width: 1.7rem;
	position: absolute;
	left: 3rem;
	top: 3rem;
}
.faqWrap dd::before {
	content: "A.";
	top: 0;
}
.faqWrap dt::after {
	content: "";
	display: block;
	background: url("../img/arrow_under_bl.svg") center center no-repeat;
	background-size: contain;
	width: 1.1rem;
	height: .7rem;
	position: absolute;
	right: 3rem;
	top: 50%;
	-transition-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	transition: .1s
}
.faqWrap dt.act::after {
	-webkit-transform: translateY(-50%) rotate(180deg);
	-ms-transform: translateY(-50%) rotate(180deg);
	transform: translateY(-50%) rotate(180deg);
}

/*ep-company
---------------------------------------------------------*/
.companyArea .img {
	width: 43%;
	position: relative;
}
.companyArea .img::before {
	content: "";
	display: block;
	background: url("../img/earthpower/company/img01.jpg") center center no-repeat;
	background-size: cover;
	width: 50vw;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
}
.companyArea.row-r .img::before {
	left: 0;
	right: auto;
}
#member .companyArea .img::before {
	background-image: url("../img/earthpower/company/img02.jpg")
}
.companyWrap {
	width: 52%;
	text-align: left;
	padding-top: 3rem;
}
.companyTbl {
	width: 100%;
}
.companyTbl th,.companyTbl td {
	padding: 2rem 1.5rem;
	text-align: left;
	line-height: 1.5;
	border-bottom: 1px solid #d8d8d8;
}
.eqNavArea {
	padding: 0 0 20rem;
}
.eqNav li {
	width: 24.9%;
	overflow: hidden;
	position: relative;
}
.eqNav li figure {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	overflow: hidden;
}
.eqNav li img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	opacity: 1!important;
	transform: scale(1.01);
	transition: .4s;
}
.eqNav li:hover img {
	transform: scale(1.07)
}
.eqNav a {
	display: block;
	width: 100%;
	height: 100%;
	color: #fff;
	padding: 6.25vw 1rem;
	background: rgba(0,0,0,.3);
}
.eqNav a .fo-bebas {
	font-size: 2.34375vw;
	letter-spacing: .075em;
	text-indent: .075em;
	white-space: nowrap;
}
.eqNav a:hover {
	background: rgba(0,0,0,.05);
}

/*contribution
---------------------------------------------------------*/
#contributionPage .pageTtlArea {
	background-image: url("../img/about/contribution/pagettl.jpg")
}
.sdgsAboutWrap .img {
	width: 50%;
	height: 54.4rem;
	position: relative;
}
.sdgsAboutWrap .img::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 50vw;
	height: 100%;
	background: url("../img/about/contribution/sdgs_img.jpg") center center no-repeat;
	background-size: cover;
}
.sdgsAbout {
	width: 42%;
	text-align: left;
}
.sdgsAbout h2 {
	margin-bottom: 7rem;
}
.sdgsAbout h3 {
	margin-bottom: 2rem;
}
.actionArea {
	background: #fff;
	padding: 2rem 8rem;
}
.actionArea + .actionArea {
	margin-top: 7rem;
}
.actionTtl {
	font-size: 1.4rem;
	line-height: 1.2;
	position: relative;
	transition: .2s;
	cursor: pointer;
	padding: 5rem 2rem 5rem 3rem;
}
.actionTtl:hover {
	color: #d80012
}
.actionTtl::after {
	content: "";
	display: block;
	background: url(../img/arrow_under.svg) center center no-repeat;
	background-size: contain;
	width: 1.3rem;
	height: .8rem;
	position: absolute;
	right: 0;
	top: 50%;
	-transition-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	transition: .1s;
	z-index: 1;
}
.actionTtl.act::after {
	-webkit-transform: translateY(-50%) rotate(180deg);
	-ms-transform: translateY(-50%) rotate(180deg);
	transform: translateY(-50%) rotate(180deg);
}
.actionTtl::before {
	content: "";
	display: block;
	background: #d8d8d8;
	width: 2rem;
	height: .3rem;
	position: absolute;
	top: 50%;
	left: 0;
}
.actionTtl h3 {
	font-size: 2.2rem;
}
.actionWrap {
	text-align: left;
	padding-bottom: 5rem;
}
.actionWrap .imgs {
	column-gap: 6%;
}
.actionWrap .imgs li {
	width: 47%;
	margin-bottom: 3rem;
}
.actionWrap .imgs li:nth-of-type(even) {
	margin-right: 0;
}
.actionWrap .imgs li img {
	width: 100%;
	height: auto;
}
.actionWrap .txt-lh {
	margin-bottom: 4rem;
}
.actionWrap .icons li {
	margin: .5rem .5rem 0 0;
}

/*numbers
---------------------------------------------------------*/
#numbersPage .pageTtlArea {
	background-image: url("../img/about/numbers/pagettl.jpg")
}
.numbersArea h2 {
	font-size: 2.4rem;
	text-align: left;
	margin-bottom: 1rem;
}
.salesTrendsArea .imgWrap {
	width: 36%;
	min-height: 58rem;
	position: relative;
	overflow: hidden;
}
.salesTrendsArea .imgWrap .img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: -1
}
.salesTrendsArea .imgWrap .img img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	opacity: 1!important;
	transition: .4s;
}
.salesTrendsArea .imgWrap h3 {
	position: absolute;
	top: 11rem;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 22rem;
	z-index: 1;
}
.salesTrendsWrap {
	width: 64%;
	padding: 6rem 5rem 10rem;
	position: relative;
}
.salesTrendsWrap .note {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	z-index: 1;
	font-size: 1.2rem;
}
.grapghBox {
	position: relative;
	width: 100%;
	height: 38.5rem;
	background: -o-repeating-linear-gradient(#f6f6f6, #f6f6f6 14.28571428%, #fff 14.28571428%, #fff 28.57142856%);
	background: repeating-linear-gradient(#f6f6f6, #f6f6f6 14.28571428%, #fff 14.28571428%, #fff 28.57142856%);
}
.salesGraph {
	position: relative;
	padding-left: 5rem;
}
.graph-y {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	flex-direction: column;
	justify-content: space-between;
	z-index: 10;
	font-weight: 400;
	text-align: right;
	width: 3.5rem;
	letter-spacing: .075em;
}
.graph-y li {
	height: 14.28571428%;
	line-height: .1;
}
.graph-y li:last-of-type {
	height: 0;
}
.graph-x {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -3rem;
	width: 100%;
	padding-left: 5rem;
	font-size: 2.2rem;
}
.graph-x li {
	width: 16.6666666%;
}
.grapCont {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: 50;
}
.grapCont li {
	width: 16.6666666%;
	height: 0;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	position: relative;
	transition: 1.2s .4s cubic-bezier(.38,.07,0,.98);
}
.grapCont.act li {
	height: 100%;
}
.grapCont li .ratio {
	width: 33%;
	margin: 0 auto;
	height: 100%;
	background: #d80012;
	position: relative;
}
.grapCont li .ratio .txt {
	position: absolute;
	font-size: 2.6rem;
	color: #d80012;
	left: 50%;
	-webkit-transform: translate(-50%,-3rem);
	-ms-transform: translate(-50%,-3rem);
	transform: translate(-50%,-3rem);
}
.grapCont li .ratio .txt sup {
	font-size: 40%;
	color: #1a1a1a;
	vertical-align: 1em;
	margin-right: -1em;
}
.productionVolumeArea {
	padding: 5rem 0;
}
.productionVolume {
	width: 50%;
	position: relative;
	z-index: 5;
	font-size: 2rem;
}
.productionVolume::before {
	content: "";
	display: block;
	background: url("../img/about/numbers/japan.svg") center center no-repeat;
	background-size: contain;
	z-index: -1;
	width: 33rem;
	height: 35.1rem;
	position: absolute;
	top: 4rem;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.productionVolume:nth-of-type(2) {
	border-left: 1px solid #bebebe;
}
.productionVolume:nth-of-type(2)::before {
	background-image: url("../img/about/numbers/china.svg");
	width: 47.6rem;
	height: 36.6rem;
}
.productionVolume h3 {
	background: #1a1a1a;
	color: #fff;
	font-size: 2.4rem;
	font-weight: 600;
	display: inline-block;
	letter-spacing: .075em;
	line-height: 1.4;
	padding: 1rem  1.5rem;
	margin-bottom: 3rem;
}
.productionVolume li {
	min-width: 15rem;
}
.productionVolume li:not(:first-of-type) {
	margin-left: 10rem;
}
.productionVolume h4 {
	font-size: 100%;
	margin-bottom: 1.5rem;
}
.productionVolume h4 big {
	font-size: 150%;
	margin-right: .1em;
}
.productionVolume .img {
	min-height: 11.1rem;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 1.5rem;
}
.productionVolume .txt span {
	white-space: nowrap;
	font-size: 180%;
}
.total01Txt {
	position: relative;
	z-index: 50;
	font-size: 2.4rem;
	color: #d80012;
	font-weight: 600;
	margin-top: 3rem;
}
.total01Txt span {
	font-size: 225%;
}
.productionVolumeWrap + .total01Txt {
	font-size: 3.6rem;
}
.productionVolumeWrap + .total01Txt span {
	font-size: 255%;
}
.shareBox {
	width: 32%;
	background: #ececec;
	padding: 3rem;
}
.shareBox h3 {
	font-size: 2.4rem;
	margin-bottom: 1rem;
}
.shareBox figure {
	min-height: 12.8rem;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 2.5rem;
}
.graph02Wrap {
	position: relative;
	padding-top: 5.5rem;
	min-height: 44rem;
}
.graph02Wrap .ttl {
	position: absolute;
	z-index: 50
}
.graph02Wrap .ttl._01 {
	width: 5.9rem;
	top: 2.5rem;
	left: 2.5rem;
}
.graph02Wrap .ttl._02 {
	width: 13.3rem;
	top: 0;
	right: 0;
}
#share03 .graph02Wrap .ttl._02 {
	right: 6rem
}
.graph02Box {
	width: 24rem;
	height: 24rem;
	border-radius: 50%;
	position: relative;
	margin: 0 auto 2rem;
	background: #333;
	transition: .2s;
}
#share01 .graph02Box {
	background: conic-gradient(#d80012 0deg 288deg, #a5a5a5 288deg 360deg);
}
#share02 .graph02Box {
	background: conic-gradient(#d80012 0deg 39.6deg, #a5a5a5 39.6deg 360deg);
}
#share03 .graph02Box {
	background: conic-gradient(
		#d80012 0deg 7.56deg,
		#e9851e 7.56deg 97.92deg,
		#39a74a 97.92deg 159.48deg,
		#2e3184 159.48deg 208.44deg,
		#eee021 208.44deg 246.6deg,
		#a5a5a5 246.6deg 360deg
	);
}
.graph02Txt {
	background: #fff;
	border-radius: 50%;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	width: 17.6rem;
	height: 17.6rem;
	font-weight: 600;
	font-size: 2rem;
	color: #d80012;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	z-index: 5;
}
.graph02Txt h4 {
	font-size: 100%;
	line-height: 1.2;
	margin-bottom: 1rem;
}
.graph02Txt .cuNum {
	font-size: 350%;
}
.graphCont {
	position: relative;
	width: 45%;
}
.graphCont._02 {
	width: 52%;
}
.graphCont li {
	min-width: 14rem;
	text-align: left;
	line-height: 1.4;
	margin-top: .2rem;
	display: flex;
}
.graphCont li span {
	display: block;
	min-width: 7rem;
	position: relative;
}
.graphCont._01::before {
	content: "";
	display: block;
	width: 8.5rem;
	height: 21.5rem;
	border-top: 1px solid #1a1a1a;
	border-left: 1px solid #1a1a1a;
	position: absolute;
	left: 1rem;
	bottom: 100%;
	z-index: 10
}
.graphCont._02::before {
	content: "";
	display: block;
	width: 0;
	height: 3.5rem;
	border-left: 1px solid #1a1a1a;
	position: absolute;
	left: 1rem;
	bottom: 100%;
	z-index: 10
}
.graphCont._01 li span {
	min-width: 4.5rem;
}
.graphCont._03 {
	width: 100%;
	flex-direction: column;
	max-height: 8.55rem;
}
.graphCont._03 li span::before {
	content: "";
	display: inline-block;
	width: 1.2rem;
	height: 1.2rem;
	background: #d80012;
	margin-right: .5rem;
}
.graphCont._03 li:nth-of-type(2) span::before {background: #e9851e}
.graphCont._03 li:nth-of-type(3) span::before {background: #39a74a}
.graphCont._03 li:nth-of-type(4) span::before {background: #2e3184}
.graphCont._03 li:nth-of-type(5) span::before {background: #eee021}
.graphCont._03 li:nth-of-type(6) span::before {background: #a5a5a5}

.shareTotal {
	white-space: nowrap;
	margin-top: 1rem;
	font-size: 1.8rem;
	letter-spacing: .05em;
	font-weight: 600;
}
.shareTotal span {
	color: #d80012;
	margin-left: .5rem;
}
.shareTotal .cuNum {
	font-size: 200%;
}
.shareWrap + .note {
	margin-top: 1rem;
	font-size: 1.2rem;
	text-align: left;
}
.numbersArea + .numbersArea {
	padding-top: 0;
}

/*products-detail
---------------------------------------------------------*/
.top-grey {
	position: relative;
	background: #ececec;
}
.top-grey::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100vh;
	background: #ececec;
	z-index: -99
}
.productTtlArea {
	height: 52rem;
	padding: 3.5rem 0;
}
.productTtlWrap .img {
	width: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.productTtlWrap .img img {
	max-height: 43rem;
}
.productTtl {
	max-width: 48%;
	text-align: left;
}
.productTtl .sub {
	font-size: 4.2rem;
	font-weight: 600;
	letter-spacing: .08em;
	margin-bottom: 1rem;
}
.productTtl h1 {
	display: inline-block;
	font-size: 8.6rem;
	letter-spacing: .1em;
	font-weight: 600;
	background: #1a1a1a;
	color: #fff;
	padding: 1rem 4rem;
	margin-bottom: 2rem;
	max-width: fit-content;
}
.productTtl h1._sm {
	font-size: 5.8rem;
}
.productTtl h1._solar {
	font-size: 3.2rem
}
.productTtl .release{
	background-color: #D80012;
	color: #fff;
	display: inline-block;
	padding: 0.6rem 1.4rem;
	font-size: 2.8rem;
	line-height: 1.3;
	font-weight: 600;
	margin: -1rem 0 1.7rem;
}
.ttlSpec {
	width: 100%;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: left;
}
.ttlSpec th,.ttlSpec td {
	border-top: 1px solid #a5a5a5;
	border-bottom: 1px solid #a5a5a5;
	padding: .5rem 1rem;
	font-weight: inherit;
}
.ttlSpec th {
	text-align: center;
	white-space: nowrap;
	border-right: 1px solid #a5a5a5;
}
.secTtl {
	font-size: 2rem;
	font-weight: 600;
	line-height: 1;
	margin-bottom: 2.5rem;
}
.secTtl h2 {
	font-size: 4rem;
	font-weight: 600;
	line-height: .7;
	letter-spacing: .08em;
	margin-right: 1rem;
}
.pointWrap {
	gap: 5rem 6%;
}
.pointWrap li {
	width: 47%;
	text-align: left;
}
.pointWrap li h3 {
	font-size: 3rem;
}
.pointWrap li .img {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 37rem;
	padding: 2.5rem;
	margin-bottom: 2rem;
	border: 1px solid #ececec;
}
.pointWrap li .img img {
	max-height: 100%;
}
.tblWrap table {
	position: relative;
}
.tblWrap table::before,.tblWrap table::after {
	content: "";
	display: block;
	background: #fff;
	width: 3px;
	height: 100%;
	position: absolute;
	left: -1.5px;
	top: 0;
	bottom: 0;
	z-index: 1;
}
.tblWrap table::after {
	left: auto;
	right: -1.5px;
}
.tblWrap th,.tblWrap td {
	width: auto !important;
	border: 1px solid #a5a5a5;
	font-weight: 500;
	padding: .5rem 1.5rem;
	text-align: left;
}
.tblWrap td::after {
	content: "";
	display: block;
	clear: both;
}
.tblWrap td em {
	display: inline-block;
	float: right;
}
.tblNote {
	text-align: left;
	margin-top: .5rem;
	font-size: 85%;
}
.performanceWrap dl {
	width: 43%;
	text-align: left;
}
.performanceWrap dt {
	font-size: 3rem;
	font-weight: 600;
	margin-bottom: 1.5rem;
}
.performanceWrap dd small {
	display: block;
	margin-top: .5em;
}
.performanceWrap .img {
	width: 50%;
}
#drawing h3 {
	font-size: 2rem;
	font-weight: 500;
	text-align: left;
	margin-bottom: 1rem;
}
.drawingWrap:not(:last-of-type) {
	margin-bottom: 4rem;
}
.drawingWrap li {
	width: 25%;
}
.lity-content img {
	max-height: 95vh!important;
}
#productMovie {
	padding-bottom: 2rem;
}
.productMovie {
	max-width: 890px;
	margin: 0 auto;
}
.productLinks {
	justify-content: flex-start;
	gap: 1rem 1.333333%;
}
.productLinks li {
	flex: 1;
}
.productLinks li a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 2rem;
	background: #efefef;
	border: .3rem solid #efefef
}
.productLinks li a:hover {
	border-color: #a1a1a1;
}
.productLinks li .icon {
	min-height: 5.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 1.5rem;
}
.productLinks li h3 {
	font-size: 1.8rem;
	font-weight: 500;
	position: relative;
}
.productLinks li h3::after {
	content: "";
	display: inline-block;
	background: url("../img/arrow.svg") center center no-repeat;
	background-size: contain;
	width: .7rem;
	height: 1.1rem;
	margin-left: 2rem;
}
.productLinks li._dl h3::after {
	display: none;
}
.productLinks li._dl h3 span {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: relative;
	color: #fff;
	background: #b90025;
	text-align: center;
	width: 7.5rem;
	text-decoration: none;
	padding: .6rem;
	letter-spacing: .1em;
	font-size: 1.8rem;
	margin-left: 1.2rem;
}
.productLinks li._dl h3 span::after {
	content: "";
	display: block;
	background: url(../img/icon_dl_wh.svg) center center no-repeat;
	background-size: contain;
	width: 1.3rem;
	height: 1.1rem;
	margin-left: .5rem;
}
.optionLinks {
	gap: 1.5rem 1.33333333%;
}
.optionLinks li {
	width: 24%;
}
.lnBox {
	position: relative;
	display: block;
	margin: 0 2rem;
}
.lnBox .img {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #ececec;
	height: 13.5416666vw;
	padding: 2rem;
	margin-bottom: 1.5rem;
}
.lnBox .img img {
	max-height: 100%;
}
.lnBox .ttl {
	font-size: 3rem;
	text-align: left;
	letter-spacing: .08em;
	margin-bottom: 1rem;
	display: flex;
	gap: 1rem 0.8rem;
	flex-wrap: wrap;
	align-items: center;
}
.lnBox .ttl .txt{
	width: 100%;
}
.subCate,
.lnBox .ttl .sub {
	display: inline-block;
	font-family: 'Noto Sans JP', sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Verdana;
	font-weight: 500;
	font-size: 1.4rem;
	border: 1px solid #a5a5a5;
	letter-spacing: normal;
	padding: .3rem .7rem;
	line-height: 1.2;
	position: relative;
}
.lnBox .ttl .release{
	font-family: 'Noto Sans JP', sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Verdana;
	background-color: #D80012;
	color: #fff;
	display: inline-block;
	padding: 0.4rem 0.6rem;
	font-size: 1.4rem;
	line-height: 1.2;
	letter-spacing: 0.1em;
}
.lnBox .ttl._solar {
	font-size: 1.8rem;
	font-weight: 600
}
.subCate._butan::after {
	content: "※";
	display: block;
	font-size: 85%;
	position: absolute;
	top: 0;
	right: -1.5rem;
}
.lnBox .ttl .sub {
	border: none;
	padding-bottom: 0;
	margin-left: 1rem;
}
.lnBox .ttlSpec {
	font-size: 87.5%;
	font-weight: 400
}
.lnBox .note ,.productList + .note {
	text-align: left;
	font-size: 1.4rem;
}
.productList + .note {
	margin-top: 1rem;
}
.lnSlider {
	margin: 0 -2rem;
}
.slick-arrow {
	position: absolute;
	top: 5.9375vw;
	right: -1.5rem;
	z-index: 10;
	background: url("../img/arrow.svg") center center no-repeat;
	background-size: contain;
	width: 1.8rem;
	height: 3.2rem;
	cursor: pointer;
	transition: .2s;
}
.slick-arrow.prev {
	right: auto;
	left: -1.5rem;
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}
.slick-arrow:hover {
	opacity: .5
}

/*products-list
---------------------------------------------------------*/
.listTtlArea {
	overflow: hidden;
	z-index: 10;
}
.listTtlLft,.listRht {
	width: 53%;
	position: relative;
}
.listTtlLft::before,.listRht::before {
	content: "";
	display: block;
	width: 55vw;
	height: 100%;
	background: url("../img/products/ttl_bg.jpg") center center no-repeat;
	background-size: cover;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	z-index: -10;
}
.listRht::before {
	background: #d80012;
	z-index: -1;
	right: auto;
	left: 0;
}
.listTtlLft {
	padding: 14rem 7rem 0 0;
	text-align: left;
}
.listTtlLft .txt {
	color: #fff;
	font-size: 3rem;
	margin-top: 5rem;
	font-weight: 700;
	letter-spacing: .05em
}
.listTtlLft .btn {
	margin-top: 11rem;
}
.listRht {
	width: 47%;
	padding: 16rem 0 5rem;
}
.listRht::after {
	content: "";
	display: block;
	width: 14rem;
	height: 100%;
	background: url("../img/products/tri.svg") top right no-repeat;
	background-size: 100% 100%;
	position: absolute;
	left: -14rem;
	top: 0;
	bottom: 0;
	z-index: -1
}
.listRht .mij {
	position: absolute;
	top: 5rem;
	left: 1rem;
	width: 10.5rem;
	z-index: 5
}
.listRht .img {
	margin: 0 -8rem 0 -12rem;
}
#products4st,#generator {
	padding-top: 2.5rem;
}
.productHeader {
	position: relative;
}
.productHeader::before {
	content: "";
	display: block;
	background: #ececec;
	position: absolute;
	top: 0;
	right: -50vw;
	bottom: 0;
	width: 200vw;
	height: 100%;
	z-index: -10;
}
.proHeadLft {
	text-align: left;
}
.proHeadLft .logo {
	margin-bottom: 3rem;
}
.proHeadLft .txt {
	font-size: 2.4rem;
	font-weight: 700;
	min-height: 8rem;
}
.proHeadRht {
	position: relative;
	width: 50%;
	min-height: 37.5rem;
	display: flex;
	align-items: center;
	padding-left: 4.5rem;
}
.proHeadRht::before {
	content: "";
	display: block;
	width: 55vw;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	background: #d80012;
	z-index: -5;
}
.proHeadRht::after {
	content: "";
	display: block;
	width: 8rem;
	height: 100%;
	background: url("../img/products/tri.svg") top right no-repeat;
	background-size: 100% 100%;
	position: absolute;
	left: -8rem;
	top: 0;
	bottom: 0;
	z-index: -1
}
.proHeadRht h1 {
	width: 80%;
	text-align: left;
	color: #fff;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: .05em;
	padding-bottom: 1rem;
	border-bottom: 1px solid #fff;
}
.proHeadRht h1 .fo-bebas {
	font-size: 5rem;
	letter-spacing: .08em;
}
.proHeadRht h1 .fo-bebas big {
	font-size: 240%;
	margin-right: .07em;
}
.proHeadRht h1 .fo-bebas span {
	line-height: .9
}
.proHeadRht .img {
	width: 55%;
	text-align: center;
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 5
}
.productsListArea {
	padding-top: 1.5rem;
	margin-top: 10rem;
}
.productList {
	gap: 7.5rem 3.3333333%;
}
.productList .lnBox {
	width: 22.5%;
	margin: 0;
	position: relative;
}
.productList .lnBox._comingsoon{
	pointer-events: none;
}
.productList .lnBox .img {
	height: 26rem;
	position: relative;
}
.newIco {
	position: absolute;
	left: 0;
	top: 0;
	font-size: 2rem;
	color: #fff;
	text-align: center;
	width: 5rem;
	height: 5rem;
	line-height: 5rem;
	background: #d80012;
	letter-spacing: .08em;
	text-indent: .08em;
	z-index: 10
}
.cs {
	position: absolute;
	left: 0;
	top: 0;
	text-align: center;
	width: 100%;
	height: 100%;
	background: rgba(178,178,178,.3) url("../img/coming_txt.png") center center no-repeat;
	background-size: 79.6296296% auto;
	z-index: 10
}
.cs img {

}
.secTtl + .note {
	font-size: 1.4rem;
	text-align: left;
	margin: -1rem 0 2rem;
}
.mt120 {
	margin-top: 12rem;
}
.pointTtl {
	position: relative;
	cursor: pointer;
	background: #efefef;
	text-align: left;
	transition: .4s;
}
.pointTtl:hover {
	background: #ddd;
	opacity: .8
}
.pointTtl::after {
	content: "";
	display: block;
	background: url(../img/arrow_under.svg) center center no-repeat;
	background-size: contain;
	width: 2rem;
	height: 1.5rem;
	position: absolute;
	right: 2.5rem;
	top: 50%;
	-transition-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	transition: .1s;
	z-index: 1;
}
.pointTtl.act::after {
	-webkit-transform: translateY(-50%) rotate(180deg);
	-ms-transform: translateY(-50%) rotate(180deg);
	transform: translateY(-50%) rotate(180deg);
}
.pointTtl span {
	display: inline-block;
	line-height: 1.1;
	min-width: 36.5rem;
	position: relative;
	font-size: 2rem;
	color: #fff;
	background: #d80012;
	text-align: left;
	padding: 2.5rem;
}
.pointTtl span::after {
	content: "";
	display: block;
	width: 1.5rem;
	height: 100%;
	background: url("../img/products/tri.svg") top right no-repeat;
	background-size: 100% 100%;
	position: absolute;
	right: -1.4rem;
	top: 0;
	bottom: 0;
	z-index: 1;
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}
.seriesPoint {
	margin-top: 1.5rem;
	background: #efefef;
	padding: 2.5rem 0;
}
.seriesPoint dt {
	width: 12.5rem;
	border-right: 1px solid #1a1a1a;
	padding-top: 1rem;
	color: #d80012;
	letter-spacing: .15em;
	text-indent: .15em;
}
.seriesPoint dt big {
	display: block;
	font-size: 287.5%;
	margin-top: .5rem;
}
.seriesPoint dd {
	text-align: left;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	padding: 1.5rem 6rem 1.5rem 4.5rem;
}
.seriesPoint dd h3 {
	margin-bottom: 1rem;
}
.seriesPoint dd li {
	position: relative;
	padding-left: 1.5rem;
	margin-top: .5rem;
}
.seriesPoint dd li::before {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent transparent #1a1a1a;
	border-width: .5rem 0px .5rem .866rem;
	position: absolute;
	left: 0;
	top: .5em
}
.seriesPoint dd .imgs {
	width: 51rem;
}
.seriesPoint dd .imgs figure {
	width: 15.2rem;
	margin-left: 1.5rem;
	text-align: center;
}
.seriesPoint dd .imgs figcaption {
	margin-top: 1rem;
}
.seriesPoint dd .box {
	text-align: left;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}
.worksArea {
	background: url("../img/products/works_bg01.jpg") center center no-repeat;
	background-size: cover;
	padding: 8rem 0
}
#products2st .worksArea {
	background-image: url("../img/products/works_bg02.jpg")
}
.worksWrap {
	gap: 3rem 3%;
}
.worksBox {
	width: 31%;
	background: #ececec;
	font-size: 1.4rem;
}
.worksWrap .worksBox:nth-of-type(n+4) {
	display: none;
}
.worksBox .thumb {
	background: #fff;
	width: 100%;
	height: 25rem;
	margin: 0;
}
.worksCont {
	text-align: left;
	padding: 1.5rem;
	font-weight: 500;
}
.worksBox .tag {
	display: inline-block;
	background: #fff;
	font-size: 1.2rem;
	margin-right: 1rem;
	line-height: 1;
	padding: .5rem;
}
.worksBox .cName {
	display: block;
	margin-top: .5rem;
}
.worksBox .ttl {
	padding: 1rem 0;
	margin-bottom: 1rem;
	border-bottom: 1px solid #1a1a1a;
	font-size: 112.5%;
}
.worksBox a:hover .thumb img {
	transform: scale(1.1)
}
.worksArea .btn {
	margin-top: 5rem;
}
.btn02 {
	margin-top: 1rem;
}
.btn02 a {
	display: inline-block;
	background: #1a1a1a;
	color: #fff;
	font-size: 1.2rem;
	letter-spacing: .07em;
	font-weight: 500;
	padding: .7rem 1rem 1rem
}
.btn02 a:hover {
	background: #d80012;
}
.sojyoArea .container {
	max-width: 100rem;
	text-align: left;
}
.sojyoArea {
	background: #fff;
	padding: 6rem 2rem;
	overflow: auto;
}
.lity-content {
	height: 90vh !important;
	overflow: auto;
}
.sojyoArea h2 {
	text-align: left;
	font-size: 2.4rem;
	padding: 1rem;
	background: #ececec;
	margin-bottom: 3rem;
}
.sojyoArea .img {
	margin-bottom: 5rem;
}
.sojyoBox {
	margin-top: 2rem;
}
.sojyoBox dt {
	width: 2.5rem;
	height: 2.5rem;
	line-height: 2.5rem;
	letter-spacing: .07em;
	font-weight: 400;
	background: #1a1a1a;
	color: #fff;
	font-size: 1.5rem;
	text-align: center;
	margin-right: 1.5rem;
}
.sojyoBox dd {
	flex: 1;
}
.sojyoBox dd small {
	display: block;
	font-size: 87.5%;
}


/*products-EarthPower
---------------------------------------------------------*/
.earthpower .listTtlLft::before {
	background-image: url("../img/products/earthpower/ttl_bg.jpg")
}
.earthpower .listRht::before,
.earthpower .proHeadRht::before {
	background-color: var(--c_ep)
}
.earthpower .listRht::after,
.earthpower .proHeadRht::after {
	background-image: url("../img/products/earthpower/tri.svg")
}
.earthpower .listRht .mij {
	top: 5.5rem;
}

/*listTtlArea._02*/
.listTtl02Area {
	height: 66.2rem;
	overflow: hidden;
	z-index: 10;
}
.listTtl02Wrap {
	max-width: 1550px;
	height: 100%;
	position: relative;
	gap: 0 34%;
}
.list02Lft,.list02Rht {
	width: 32%;
	position: relative;
}
.listTtl02Wrap::before,.listTtl02Wrap::after {
	content: "";
	display: block;
	height: 100%;
	background: url("../img/products/earthpower/ttl_bg.jpg") center center no-repeat;
	background-size: cover;
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(-50vw + 50%);
	right: 40%;
	z-index: -10;
	min-width: 600px;
}
.listTtl02Wrap::after {
	background: url("../img/products/earthpower/ttl_bg02.jpg") center center no-repeat;
	background-size: cover;
	clip-path: polygon(142px 0%, 100% 0%, 100% 100%, 0% 100%);
	left: 45%;
	right: calc(-50vw + 50%);
}
.list02Lft img,
.list02Rht img {
	max-height: 45.5rem;
}
.listTtlTxt {
	position: absolute;
	left: 0;
	right: 0;
	top: 15.5rem;
	z-index: 10;
	max-width: 32%;
	margin: 0 auto;
	color: #fff;
}
.listTtlTxt .txt {
	font-size: min(1.5625vw,3rem);
	font-weight: 600;
	margin: 3rem 0 9rem;
}
.usefulNav h2 {
	width: 37.5rem;
	background: var(--c_ep);
	margin-right: 4rem;
	color: #fff;
	position: relative;
	font-size: 1.8rem;
	font-weight: 400;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: 100%;
	padding: 1rem;
	height: 20rem;
}
.usefulNav h2._mp {
	background: var(--c_mp);
}
.usefulNav h2 .fo-bebas {
	font-size: 4rem;
	margin-bottom: .7rem;
	line-height: 1;
	letter-spacing: .05em;
}
.usefulNav figure {
	position: absolute;
	top: 1.5rem;
	bottom: 1.5rem;
	right: 1rem;
	left: 1rem;
	overflow: hidden;
	z-index: -1;
}
.usefulNav figure img {
	max-height: 100%;
}
.usefulNav ul {
	flex: 1;
	display: flex;
	flex-wrap: wrap;
	gap: .7rem 3%;
	align-content: flex-start;
}
.usefulNav li {
	width: 48.5%;
	text-align: left;
}
.usefulNav li a {
	height: 100%;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #A5A5A5;
	padding: 0.8rem 2rem 0.8rem .5rem;
	background: url(../img/arrow.svg) right 1rem center no-repeat;
	background-size: .7rem auto;
}
.usefulNav li a:hover {
	background-color: #f5f5f5;
}
.usefulNav._col-1 ul li {
	width: 100%;
}

/*-----------------------------------------------*/
#generator .worksArea {
	background-image: url("../img/products/earthpower/works_bg01.jpg")
}
#pstation .worksArea {
	background-image: url("../img/products/earthpower/works_bg02.jpg")
}
.gasTtl .ttl {
	font-size: 2rem;
	font-weight: 600;
}
.productTtl .note {
	font-size: 1.4rem;
	margin-top: .5rem;
}
.gasTtl {
	margin-bottom: 1rem;
}
.gasTtl .subCate {
	margin: 0 1rem 0 0;
}
.gasTtl .subCate._butan {
	margin-right: 1.5rem;
}
.earthpower .worksBox {
	background: #fff;
}
.earthpower .worksBox .tag {
	background: #ececec;
}
.earthpower .worksBox .ttl {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
	min-height: 4em;
}
.earthpower .date {
	color: #a5a5a5
}
.pointWrap + .epPointWrap {
	margin-top: 6rem;
}
.proDetailWrap {
	margin-bottom: 10rem;
}
.proDetailWrap * {
	min-height: 0;
	min-width: 0;
}
.simulationWrap {
	width: 47%;
	text-align: left;
}
.simulationWrap .txt {
	text-align: left;
	font-size: 2rem;
	font-weight: 600;
	margin-top: 1rem;
}
.simulationWrap .note img{
	width: 2.4rem;
}
.detailSliderWrap {
	width: 47%;
	border: 1px solid #ececec;
}
.detailSlider .img {
	display: flex!important;
	justify-content: center;
	align-items: center;
	height: 37rem;
	padding: 2.5rem;
}
.detailSlider .img img {
	max-height: 100%;
}
.detailSlider .slick-arrow {
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background: #1a1a1a url("../img/arrow_wh.svg") center center no-repeat;
	background-size: .8rem auto;
	width: 3rem;
	height: 3rem;
}
.detailSlider .slick-arrow.prev {
	transform: translateY(-50%) rotate(180deg);
	right: auto;
	left: 0;
}
.elPoint {
	text-align: left;
	margin-top: 8rem;
}
.elPoint dt {
	font-size: 2rem;
	font-weight: 600;
	border-left: .5rem solid #828BB8;
	margin-bottom: 1rem;
	padding-left: 1rem;
	line-height: 1.2
}
.elPoint dt:not(:first-of-type) {
	margin-top: 2rem;
}
.elPoint dd {
	padding-left: 1.5rem;
}


/*search
---------------------------------------------------------*/
.resultTxt {
	font-size: 112.5%;
	margin-bottom: 3rem;
}
.seachList li {
	width: 100%;
	padding: 2rem;
	border-bottom: 1px solid #d8d8d8;
	text-align: left;
}
.seachList li:first-of-type {
	border-top: 1px solid #d8d8d8;
}
.seachList li a:hover {
	color: #d80012
}

/*brand
---------------------------------------------------------*/
body.brandPage {
	padding-top: 0 !important;
}
body.brandPage #header {
	background: rgba(236,236,236,.8)
}
.brandMain {
	position: relative;
	height: 100vh;
	display: flex;
	align-items: center;
	padding-bottom: 8%;
}
.brandTtl {
	width: 90%;
	max-width: 1500px;
	margin: 0 auto;
	text-align: left;
}
.brandTtl h1 {
	display: inline-block;
	text-align: center;
}
.brandTtl h1 span {
	display: block;
	font-size: 4rem;
	text-indent: 1em;
	margin-bottom: .5rem;
}
.brandTtl h1 img {
	min-width: 39.5rem;
}
.brandContArea > section:not(.trans) {
	background: #fff;
	padding: 15rem 0;
}
.plxImg {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background:  center center no-repeat;
	background-size: cover;
	z-index: -9999;
	transition: 1.5s;
	opacity: 0;
}
.act .plxImg {
	opacity: 1;
}
.brandMain .plxImg._01 {
	opacity: 1;
}
.plxImg._01 {
	background-image: url("../img/meikipower/bg01.jpg");
	z-index: -9990;
}
.plxImg._01::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 99;
	opacity: 0;
	transition: .8s;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	background: rgba(0,0,0,.5);
}
.plxImg._01._blur::after {
	opacity: 1;
}
.plxImg._01 {	background-image: url("../img/meikipower/bg01.jpg");}
.plxImg._02 {
	z-index: -9950;
	background-image: url("../img/meikipower/bg02.jpg");
}
.plxImg._03 {
	z-index: -9900;
	background-image: url("../img/meikipower/bg03.jpg");
}
.plxImg._04 {
	z-index: -9000;
	background-image: url("../img/meikipower/bg04.jpg");
}
#brandTopTxt {
	padding-bottom: 20rem;
}
.brandTopTxt h2 {
	font-size: 4.6rem;
	margin-bottom: 6rem;
}
.brandTopTxt .txt-lh {
	font-size: 2rem;
	font-weight: 600;
	line-height: 2.2;
}
.brandTopTxt .txt-lh p:not(:first-of-type) {
	margin-top: 1em;
}
.brandTopTxt .logo {
	margin-top: 12rem;
}
.plxImg02Wrap {
	margin-top: 80rem;
}
#brand-willbePage .brandTopTxt .logo img {
	height: 12rem;
}
.brandTopTxt .logo img[src*="/logo_meikipower"] {
	min-width: 46rem;
}
#brandProducts h2 {
	font-size: 4.2rem;
	font-weight: 700;
}
.brandProductsWrap {
	margin-top: 12rem;
}
.brandProductsWrap .imgBox {
	position: relative;
	width: 50%;
	height: 42rem;
	z-index: 1;
	padding-right: 15rem;
}
.brandProductsWrap .imgBox .img {
	max-width: 44.5rem;
	margin: -7rem 0 0 auto;
}
.brandProductsWrap .imgBox::before {
	content: "";
	display: block;
	background: #D80012;
	width: 50vw;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: -1;
}
.brandProductsWrap .imgBox::after {
	content: "";
	display: block;
	width: 9rem;
	z-index: 10;
	background: url("../img/tri_wh.svg") right bottom no-repeat;
	background-size: 100% 100%;
	position: absolute;
	top: -1px;
	bottom: -1px;
	right: -1px;
}
.brandProductsWrap._02 .imgBox {
	padding: 0 0 0 15rem
}
.brandProductsWrap._02 .imgBox .img {
	margin-left: 0;
}
.brandProductsWrap._02 .imgBox::before {
	right: auto;
	left: 0;
}
.brandProductsWrap._02 .imgBox::after {
	right: auto;
	left: -1px;
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}
.brandProducts {
	width: 48%;
	text-align: left;
	position: relative;
	font-size: 1.8rem;
}
.brandProducts._num {
	padding-left: 15rem;
}
.brandProducts .num {
	position: absolute;
	left: 0;
	top: 0;
	max-width: 11.2rem
}
.brandProducts dt {
	font-size: 2rem;
	margin-bottom: 2rem;
}
.brandProducts h3 {
	font-size: 6.2rem;
	letter-spacing: .05em;
	margin-right: 1rem;
}
.brandLink {
	margin-top: 6rem;
}
.brandLink ul:not(:last-of-type) {
	margin-right: 6rem;
}
.brandLink li {
	margin-top: 1.5rem;
}
.brandLink a {
	display: inline-block;
	font-size: 2rem;
	background: url("../img/arrow_red.svg") left center no-repeat;
	background-size: .8rem auto;
	padding-left: 1.5rem;
}
.brandLink a:hover {
	color: #d80012;
}
.productsGallery {
	margin: 12rem 0 4rem;
	padding: 8rem 0;
	background: #dcdcdc;
	background: -webkit-gradient(linear,left top, left bottom,from(#dcdcdc),to(#fff));
	background: -o-linear-gradient(top,#dcdcdc 0%,#fff 100%);
	background: linear-gradient(180deg,#dcdcdc 0%,#fff 100%);
}
.productsGallery .slick-track {
	display: flex;
	align-items: center;
}
.productsGallery .img {
	margin: 0 1.2rem;
}
.brandBnrWrap {
	max-width: 1100px;
}
.brandBnr img {
	opacity: 1!important
}
.bnrRht {
	position: relative;
	background: #d80012;
	width: 47%;
	padding-top: 2.5rem;
}
.bnrRht::after {
	content: "";
	display: block;
	background: url("../img/products/tri.svg") right bottom no-repeat;
	background-size: 100% 100%;
	width: 5.5rem;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: -5.4rem;
}
.bnrRht .img {
	max-width: 85%;
	margin: 0 auto;
}
.bnrLft {
	width: 53%;
	background: url("../img/meikipower/bnr_bg.jpg") center center no-repeat;
	background-size: cover;
	color: #fff;
	display: flex;
	justify-content: center;
	flex-direction: column;
}
.bnrLft .logo {
	max-width: 26rem;
	margin: 0 auto 3rem;
}
.btnBox {
	width: 100%;
	max-width: 21.5rem;
	margin: 0 auto;
	border: 1px solid #fff;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1.5rem .5rem;
	transition: .2s;
}
.btnBox::after {
	content: "";
	display: block;
	background: url("../img/arrow_wh.svg") center center no-repeat;
	background-size: contain;
	width: .7rem;
	height: 1.1rem;
	margin-left: 1.5rem;
}
.brandBnr:hover .btnBox {
	background: #d80012;
}
.blankArea {
	height: 52rem;
}
.brandTxtWrap figure {
	max-width: 83.2rem;
}
.brandTxt {
	max-width: 51rem;
	text-align: left;
}
.brandTxt .txt-lh {
	font-size: 1.8rem;
	margin-bottom: 7rem;
}
.brandTxt .logo {
	display: inline-block;
	text-align: center;
	margin-bottom: 7rem;
}
.brandTxt .logo .txt {
	font-size: 3.4rem;
	font-weight: 600;
	margin-bottom: 2rem;
	text-indent: 1em;
}
.brandTxt .logo img[src*="/logo."] {
	min-height: 12rem;
}
.brandTxt .logo img[src*="logo_meikipower"] {
	min-height: 9.5rem;
}
.brandLinkWrap + .brandLinkWrap {
	margin-top: 3.5rem;
}
.brandLinkWrap a {
	display: block;
	position: relative;
	z-index: 1;
	padding: 9rem 0
}
.brandLinkWrap a::after {
	content: "";
	display: block;
	width: 3.6rem;
	height: 3.6rem;
	background: #1a1a1a url(../img/arrow_wh.svg) center center no-repeat;
	background-size: 0.9rem auto;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 10;
	transition: .2s;
}
.brandLinkWrap a figure {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: -1;
}
.brandLinkWrap a figure img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	opacity: 1!important;
	transform: scale(1.01);
	transition: .4s;
}
.brandLinkWrap a:hover figure img {
	transform: scale(1.07)
}
.brandLinkWrap .ttlBox {
	margin-bottom: 3rem;
	padding-bottom: 3rem;
	position: relative;
}
.brandLinkWrap .ttlBox::after {
	content: "";
	display: block;
	width: 3rem;
	height: 1px;
	background: #fff;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
}
.brandLinkWrap .box {
	font-size: 2.4rem;
	font-weight: 600;
	max-width: 60rem;
	margin-left: auto;
}
.brandLogo {
	margin-top: 10rem;
	gap: 4rem;
}
.brandLogo li._01 {
	width: 100%;
}
.brandLogo li._01 img {
	min-height: 11rem;
}
.brandLogo li img {
	max-height: 4.5rem;
}

/*brand-erathpower
---------------------------------------------------------*/
#brand-earthpowerPage .brandProductsWrap .imgBox::before {
	background: var(--c_ep);
}
#brand-earthpowerPage .brandProducts h3 {
	color: var(--c_ep);
}
#brand-earthpowerPage .brandTtl {
	text-align: center;
}
.brandProducts h3 small {
	display: block;
	font-size: 67%;
	color: #1a1a1a;
	margin-bottom: .3rem;
}
#brand-earthpowerPage .brandLink a {
	background-image: url("../img/arrow_bl.svg")
}
#brand-earthpowerPage .brandLink a:hover {
	color: var(--c_ep);
}
#brand-earthpowerPage .brandProductsWrap._01 .imgBox .img {
	margin-left: 0;
	max-width: none;
	margin-top: -4rem;
}
#brand-earthpowerPage .bnrLft {
	background-image: url("../img/earthpower/bnr_bg.jpg")
}
#brand-earthpowerPage .bnrRht {
	background: var(--c_ep)
}
#brand-earthpowerPage .bnrRht::after {
	background-image: url("../img/products/earthpower/tri.svg")
}
#brand-earthpowerPage .brandBnr:hover .btnBox {
	background: var(--c_ep)
}
#brand-earthpowerPage .plxImg._01 {	background-image: url("../img/earthpower/bg01.jpg");}
#brand-earthpowerPage .plxImg._02 {	background-image: url("../img/earthpower/bg02.jpg");}
#brand-earthpowerPage .plxImg._03 { background-image: url("../img/earthpower/bg03.jpg");}
#brand-earthpowerPage .plxImg._04 {	background-image: url("../img/earthpower/bg04.jpg");}

/*option
---------------------------------------------------------*/
.optionTtlArea {
	height: 52rem;
	padding: 3.5rem 0;
}
.optionTtlWrap {
	height: 100%;
}
.optionTtlWrap .img {
	width: 52%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.optionTtlWrap .img img {
	max-height: 45rem;
}
.optionTtl {
	max-width: 48%;
	font-size: 1.8rem;
	text-align: left;
}
.optionTtl .sub {
	font-size: 3.6rem;
	font-weight: 600;
	letter-spacing: .08em;
	margin-bottom: 1rem;
}
.optionTtl h1 img {
	max-height: 9.6rem;
}
.optionTit h1 {
	font-size: 7.2rem;
	letter-spacing: .07em;
}
.opPoint:not(:first-of-type) {
	margin-top: 3.5rem;
}
.opPointWrap {
	max-width: 75rem;
	padding-top: 1rem;
}
.opPoint dt {
	width: 6.5rem;
	border-right: 1px solid #1a1a1a;
	letter-spacing: .15em;
	text-indent: .15em;
	text-align: left;
}
.opPoint dt big {
	display: block;
	font-size: 287.5%;
	margin-top: .5rem;
}
.opPoint dd {
	text-align: left;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	padding: 0 0 0 3rem;
}
.opPoint dd h3 {
	margin-bottom: 1rem;
	line-height: 1.4;
}
.opPoint dd li {
	position: relative;
	padding-left: 1.5rem;
	margin-top: .5rem;
}
.opPoint dd li::before {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent transparent #1a1a1a;
	border-width: .5rem 0px .5rem .866rem;
	position: absolute;
	left: 0;
	top: .5em
}
.opPointImg {
	max-width: 37.2rem;
}
.opPointImg .note {
	text-align: left;
	font-size: 87.5%;
	margin-top: 1rem;
}
.opPointImg .note small {
	display: block;
	margin-top: .7rem;
}
.opPointImg .img:not(:first-of-type) {
	margin-top: 3rem;
}
.tblWrap._op th,.tblWrap._op td {
	padding: 1rem;
	text-align: center;
	border-color: #d8d8d8;
}
.opSpecWrap {
	gap: 4rem 1.3%;
}
.opSpecWrap .img {
	width: 24%;
	font-size: 2rem;
}
.opProductsArea {
	padding: 5rem 0;
}
.opProducts {
	gap: 1rem;
}
.opProducts li {
	width: 16rem;
	text-align: left;
}
.opProducts li .img {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	height: 16rem;
	padding: 1.5rem;
	margin-bottom: 1.2rem;
}
.opProducts li .img img {
	max-height: 100%;
}
.opProducts li .ttl {
	font-size: 150%;
	letter-spacing: .075em;
}
.backBtn {
	text-align: center;
	margin-top: 10rem;
}
.backBtn a {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	max-width: 45rem;
	color: #fff;
	background: #1a1a1a;
	padding: 2rem;
	font-size: 1.4rem;
}
.backBtn a .fo-bebas {
	font-size: 3rem;
	letter-spacing: .075em;
	margin-right: 1.5rem;
}
.backBtn a:hover {
	background: #666
}
#opProducts {
	padding-bottom: 0;
}
.miraclePage .optionTtl h1 img {
	max-height: 12rem;
}
.fienginePage .opPointImg {
	max-width: 42rem;
}
.titTxt {
	margin-top: .5rem;
}



/*willbe
---------------------------------------------------------*/
#brand-willbePage .plxImg01 {
	background-image: none;
}
#brand-willbePage .plxImg._02 {
	background-image: url("../img/willbe/bg02.jpg");
}
#brand-willbePage .plxImg._03 {
	background-image: url("../img/willbe/bg03.jpg");
}
#brand-willbePage .plxImg._04 {
	background-image: url("../img/willbe/bg04.jpg");
}
.willbeMainArea {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -9999;
	background: #e1e1e1;
	padding-top: 22.5rem;
}
.willbeMain {
	max-width: 1720px;
	margin: 0 auto;
	width: 90%;
	position: relative;
}
.mainTxt {
	width: 45.7558139%;
	margin-top: 14.0697674%;
}
.willbeImg {
	width: 99.244186%;
	position: absolute;
	top: -18%;
	left: -.5%;
	z-index: 1;
	transition: 1.5s 1s;
	opacity: 0;
	transform: translateY(.5rem)
}
.act .willbeImg {
	opacity: 1;
	transform: translateY(0)
}
#willbeFeatures {
	background: #1a1a1a;
	color: #fff;
	overflow: hidden;
	padding: 14rem 0
}
.featuresArea {
	width: 100vw;
	padding-top: 4rem;
}
.featuresNav {
	position: absolute;
	right: 2rem;
	top: 0;
	z-index: 10;
	font-size: 2.5rem;
	letter-spacing: .1em;
}
.featuresNav li {
	display: flex;
	align-items: center;
	color: #666;
}
.featuresNav li:not(:first-of-type)::before {
	content: "";
	display: block;
	width: 4.5rem;
	height: .2rem;
	background: #666;
	margin: 0 .5rem;
}
.featuresNav li.current {
	color: #fff;
}
.featuresBox dl {
	width: 34%;
	max-width: 54rem;
	text-align: left;
	font-size: 1.8rem;
	font-size: min(1.8rem, 1.875vh);
	margin-right: 5rem;
}
.featuresBox dt .num {
	font-size: 3rem;
	letter-spacing: .05em;
	margin-bottom: 1rem;
}
.featuresBox h2 {
	font-size: 12rem;
	font-size: min(12rem, 12.5vh);
	letter-spacing: .05em;
	margin-bottom: 5rem;
}
.featuresBox h3 {
	font-size: 3rem;
	font-size: min(3rem, 3.125vh);
	letter-spacing: .05em;
	margin-bottom: 4rem;
}
.featuresImg {
	height: 36.71875vw;
	max-height: 75vh;
	overflow: hidden;
	position: relative;
	margin-right: calc(-50vw + 50%)
}
.featuresImg img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	opacity: 1 !important;
	transform: scale(1.01);
}

/*option-earthpower
---------------------------------------------------------*/
.eOpTtl {
	font-size: 2rem;
}
.eOpTtl h1 {
	font-size: 160%;
}
.opTopWrap {
	border: 1px solid #000;
	padding: 3.5rem 5rem;
}
.opTopWrap dl {
	width: 57rem;
	text-align: left;
}
.opTopWrap dt {
	font-size: 150%;
	font-weight: 600;
	margin-bottom: 1rem;
}
.opTopWrap .img {
	flex: 1;
	text-align: center;
}
.opTopPoint {
	width: 46%;
	margin-top: 9rem;
	text-align: left;
	position: relative;
	padding-left: 7rem;
	margin-right: 8%;
}
.opTopPoint:nth-of-type(even) {
	margin-right: 0;
}
.opTopPoint .num {
	background: #1a1a1a;
	font-weight: 500;
	color: #fff;
	font-size: 1.2rem;
	letter-spacing: .07em;
	width: 5rem;
	height: 5rem;
	display: flex;
	justify-content: center;
	flex-direction: column;
	text-align: center;
	position: absolute;
	padding-top: .2em;
	left: 0;
	top: 0;
	line-height: 1
}
.opTopPoint .num big {
	font-size: 272%;
	font-weight: 600;
}
.opTopPoint dt {
	font-size: 2.4rem;
	font-weight: 600;
	margin-bottom: .5rem;
}
.opTopPoint .img {
	margin-top: 2rem;
	text-align: center;
}
.opTopPoint .note {
	margin-top: .5rem;
	font-size: 87.5%;
}
.opStepWrap {
	margin-top: 8rem;
}
.opStepWrap > .img {
	flex: 1
}
.opStepWrap .opPoint {
	width: 57.5rem;
	margin-right: 7rem;
}
.opStepWrap .opPoint dd {
	min-height: 5.5rem;
	display: flex;
	justify-content: center;
	flex-direction: column;
}
.opStepWrap .opPoint dt {
	text-align: center;
	padding-right: 1rem;
}
#opStep {
	text-align: left;
}
#opStep h3 {
	font-size: 2.4rem;
	margin-bottom: 4rem;
	border-bottom: 1px solid #1a1a1a;
	padding-bottom: .5rem;
}
#opStep h3:not(:first-of-type) {
	margin-top: 15rem;
}
#opStep .note {
	font-size: 87.5%;
	margin-top: 2rem;
}
.opPoint dd.numNone {
	padding-left: 0;
}
#cellArea .tit {
	font-size: 3.6rem;
	font-weight: 600;
	text-align: left;
	margin-bottom: 10rem;
}
#cellArea .pointWrap {
	row-gap: 10rem
}
#cellArea .pointWrap li .img {
	padding: 0;
	height: auto;
	border: none;
}
.swicthWrap {
	background: #efefef;
	padding: 3.5rem;
	margin-top: 8rem;
}
.swicthWrap .img {
	max-width: 48rem;
	margin-right: 8rem;
}
.swicthWrap dl {
	text-align: left;
	width: 53rem;
}
.swicthWrap dt {
	font-size: 2.4rem;
	font-weight: 600;
	margin-bottom: .5rem;
}
.swicthWrap .txt {
	margin-top: 1.2rem;
}
.swicthWrap .txt {
	padding-left: 5.7rem;
	text-indent: -5.7rem;
}
.swicthWrap .txt span {
	display: inline-block;
	font-weight: 600;
	border: 1px solid #1a1a1a;
	width: 4.5rem;
	line-height: 1.2;
	margin-right: 1.2rem;
	text-align: center;
	text-indent: 0;
}
.optionTtlWrap .productTtl h1 {
	padding: 1rem;
}
.optionTtlWrap .productTtl h1 + span {
	font-size: 3.6rem;
	font-weight: 600;
	margin-left: 1rem;
}
#opProducts .productList .lnBox .img {
	background: #fff;
}

/*buy
---------------------------------------------------------*/
.buyBtnWrap {
	margin-top: 8rem;
}
.buyBtnWrap .tit {
	font-size: 2.4rem;
	font-weight: 600;
}
.buyBtnWrap li {
	width: 49%;
	max-width: 58rem;
}
.contactBtn a {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	padding: 2.5rem 1.5rem;
	background: #1a1a1a;
}
.contactBtn a .fo-bebas {
	font-size: 4.8rem;
	margin-right: 2.5rem;
	letter-spacing: .05em;
}
.contactBtn._02 a {
	background: #f2f2f2;
	color: #1a1a1a;
}
.contactBtn a:hover {
	background: #999!important;
	color: #fff!important
}
.buyTtl {
	display: inline-flex;
	align-items: center;
	position: relative;
	background: var(--c_mp);
	color: #fff;
	max-width: 62rem;
	padding-right: 3rem;
}
.buyTtl::after {
	content: "";
	display: block;
	width: 1.5rem;
	position: absolute;
	right: -.05rem;
	top: 0;
	bottom: -.05rem;
	background: #fff;
	clip-path: polygon(100% 0, 0 100%, 100% 100%);
	z-index: 1;
}
.buyTtl .icon {
	background: #000;
	padding: 2rem 1rem;
	width: 17rem;
	margin-right: 1.5rem;
}
.buyTtl .icon img {
	max-height: 3rem;
	display: block;
	margin: 0 auto;
}
.buyTtl._ep {
	background: var(--c_ep);
}
.buyTtl+ .txt {
	margin-top: 6rem;
}
.buyArea+.buyArea {
	margin-top: 12rem;
}
.buyArea h3 {
	font-size: 2.6rem;
	padding-bottom: 1rem;
	margin: 6rem 0 3rem;
	border-bottom: 1px solid #d8d8d8;
}
.buyEpTtl {
	display: flex;
	align-items: center;
}
.buyEpTtl .icon {
	width: 5.7rem;
	text-align: center;
	margin-right: .5rem;
}
.buyEpTtl .icon img {
	display: block;
	margin: 0 auto;
}
.forTel {
	gap: 1rem 3rem;
}
.forTel b a {
	font-size: 175%;
}
.ecBtn a {
	display: flex;
	justify-content: center;
	align-items: end;
	background: #ececec;
	margin: 5rem auto 0;
	font-size: 2rem;
	font-weight: 600;
	max-width: 58.5rem;
	padding: 4rem 1rem;
	gap: 1rem 3.5rem;
	border: 3px solid #ececec;
}
.ecBtn a:hover {
	border-color: #999;
}
.ecBtn a img {
	max-height: 4rem;
	opacity: 1!important;
}
.ecBtn a span {
	display: flex;
	align-items: center;
	gap: 0 1.5rem;
	line-height: 1;
}
.ecBtn a span::after {
	content: "";
	display: block;
	background: url(../img/arrow.svg) center center no-repeat;
	background-size: contain;
	width: 1rem;
	height: 1.5rem;
}
.ecBtn a .txt small {
	display: block;
	margin-bottom: 1rem;
	font-weight: 500;
}
.ecBtn._pitt a img {
	max-height: 8.1rem;
}
#buy-ep .mapLink a:hover {
	background-color: var(--c_ep);
	border-color: var(--c_ep);
}
.buyBox dt {
	font-size: 112.5%;
	font-weight: 600;
	margin-bottom: .5rem;
}
.buyBox dt:not(:first-of-type) {
	margin-top: 3rem;
}
.buyBox dd {
	display: flex;
	flex-wrap: wrap;
}
.buyBox dd p:first-of-type {
	min-width: 45rem;
	margin-right: 1rem;
}
.buyBox dd .bikou {
	width: 100%;
	margin-top: 0.5rem;
	font-size: 95%;
}
.siteBtn {
	display: inline-block;
	background: #000;
	color: #fff;
	line-height: 1.1;
	font-size: 1.5rem;
	padding: .5rem 1rem .3rem;
	letter-spacing: .05em;
	margin-left: .5rem;
}
#pageLinkArea {
	margin-top: 12rem;
}
.pageBnr {
	gap: 1rem 2%;
}
.pageBnr li {
	width: 49%;
}
.pagebnrArea {
	padding-bottom: 8rem!important;
}

/*repair-detail
---------------------------------------------------------*/
#repairList h2 {
	color: #fff;
	font-size: 2.6rem;
	background: #1a1a1a;
	padding: 1.5rem 2.5rem;
}
#repairList h2:not(:first-of-type) {
	margin-top: 10rem;
}
#repairList h3 {
	font-size: 2.6rem;
	padding-bottom: 1rem;
	margin: 7rem 0 3rem;
	border-bottom: 1px solid #d8d8d8;
}
.repairList {
	flex: 1;
}
#repairList .infoAnc li {
	max-width: 10.5rem;
	text-align: center;
}
.repairSide {
	width: 21.2rem;
	margin-left: 5rem;
	border-top: 1px solid #d8d8d8;
}
.repairSide li {
	border-bottom: 1px solid #d8d8d8;
}
.repairSide a {
	display: block;
	padding: 2rem 2.7rem 2rem 2rem;
	background: url("../img/arrow.svg") center right 2rem no-repeat;
	background-size: .7rem auto;
}
.repairSide a:hover {
	background-color: #f1f1f1
}

/*history
---------------------------------------------------------*/
#historyPage .parentTtlArea {
	background-image: url("../img/about/history/pagettl.jpg")
}
#historyArea {
	padding-top: 0;
}
.historyNav {
	background: #231815;
	padding: 1rem 0;
	margin-bottom: 10rem;
}
.historyNav li {
	flex: 1;
}
.historyNav li:not(:first-of-type) {
	border-left: 1px solid #666;
}
.historyNav a {
	padding: 1rem;
	position: relative;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 600;
	display: flex;
	justify-content: center;
	align-items: center;
}
.historyNav a .fo-bebas {
	font-size: 165%;
	letter-spacing: .05em;
	margin-right: .2rem;
}
.historyNav a::after {
	content: "";
	display: block;
	background: url("../img/arrow_wh.svg") center center no-repeat;
	background-size: contain;
	width: .9rem;
	height: 1.4rem;
	margin-left: 4rem;
	transform: rotate(90deg);
}
.historyWrap {
	position: relative;
}
.historyWrap:not(:first-of-type) {
	padding-top: 3rem;
}
.historyWrap:not(:last-of-type) {
	padding-bottom: 8rem;
}
.historyWrap::before {
	content: "";
	width: 1px;
	background: #1a1a1a;
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	z-index: -1;
}
/*
.historyWrap::after {
	content: "";
	display: block;
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	background: #1a1a1a;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
}
*/
.historyArea h2 {
	font-size: 3.6rem;
	background: #fff;
	padding: 3rem 0;
	position: relative;
	z-index: 10
}
.historyArea h2 small {
	display: block;
	font-size: 70%;
}
.historyBox {
	position: relative;
	padding-top: 3.8rem;
	text-align: left;
	margin-top: 6rem;
}
.historyBox:first-of-type {
	margin-top: 0;
}
h2 + .historyBox {
	margin-top: 8rem;
}
.historyBox + h2 {
	margin-top: 10rem;
}
.historyBox dt {
	width: 11rem;
	height: 11rem;
	line-height: 11rem;
	color: #fff;
	text-align: center;
	letter-spacing: .05em;
	font-size: 3rem;
	background: #1a1a1a;
	border-radius: 50%;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	margin: 0 auto;
	z-index: 50;
}
.historyBox dd {
	width: 46.5rem;
	position: relative;
	transition: 1s .6s;
	opacity: 0;
	min-height: 7rem
}
.historyBox dd.hide {
	visibility: hidden;
	min-height: inherit;
}
.historyBox .lft {
	transform: translateX(-3rem)
}
.historyBox .rht {
	transform: translateX(3rem)
}
.historyBox dd.act {
	opacity: 1;
	transform: none;
}
.historyBox dd > * + * {
	margin-top: 2rem;
}
.historyBox .img._p {
	max-width: 24rem;
	text-align: center;
	font-size: 87.5%;
}
.historyBox .imgBox .img._p {
	width: 50%;
}
.historyArea h2.logo img {
	height: 13rem;
}

#y1940 {
	padding-bottom: 15rem;
}
#history-1959,#history-1990,#history-1996 {
	margin-top: 1rem;
}
#history-2019 {
	margin-top: -12rem;
}
#history-2012 {
	margin-top: 10rem;
}
#history-2023 {
	margin-top: 3rem;
}
#history-2024 {
	margin-top: 25rem;
}
#history-1956 .img._01 {
	max-width: 26.2rem;
}

/*phi
---------------------------------------------------------*/
#philosophyHeroArea {
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding-bottom: 18rem;
}
.heroImgs {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	height: 100vh;
	background: #000;
	z-index: -99990;
}
.heroImgs .img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: hidden;
	opacity: 0;
	transition: 1.4s;
}
.heroImgs .img  img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.heroImgs .img.act {
	opacity: 1;
}
.heroImgs .img.hid {
	opacity: 0
}
.philosophyHero {
	color: #000;
	transition: 1.4s;
}
.philosophyHero._wh {
	-webkit-filter: brightness(0) invert(1);
	filter: brightness(0) invert(1);
}
.philosophyHero h1 {
	font-size: 3.8rem;
	line-height: 1.2;
	margin-bottom: 1rem;
}
.philosophyHero .eng {
	font-size: 2rem;
}
.catchcopy h2 {
	margin-top: 10rem;
	font-size: 3.2rem;
	line-height: 1.1;
	margin-bottom: 5rem;
}
.catchcopy h3 {
	position: relative;
}
.catchcopy h3 img {
	max-height: 8.5rem
}
.heroImgs._dil .img {
	-webkit-filter: brightness(0.4);
  filter: brightness(0.4);
}
#philosophyAbout {
	padding-bottom: 90vh;
}
.philosophyAbout {
	color: #fff;
}
.philosophyAbout h2 {
	font-size: 6.4rem;
	margin-bottom: 8rem;
}
.philosophyAbout .txt {
	font-size: 2rem;
	font-weight: 600;
	line-height: 2.7;
	font-feature-settings: "palt";
}
.philosophyAbout .txt + .txt {
	margin-top: 2.5em;
}
.philosophyContArea {
	padding: 30vh	0 90vh;
}
#purpose .plxImg {
	background: url("../img/about/philosophy/purpose_img.jpg") center center no-repeat;
	background-size: cover;
	z-index: -990;
}
#vision .plxImg {
	background: url("../img/about/philosophy/vision_img.jpg") center center no-repeat;
	background-size: cover;
	z-index: -950;
}
#value .plxImg {
	background: #ECECEC;
	z-index: -900;
}
.philosophyWrap {
	padding: 10rem 2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	background: rgba(255,255,255,.9);
	font-feature-settings: "palt";
	min-height: 80rem;
}
.philosophyWrap h2 {
	font-size: 6.4rem;
	margin-bottom: 5rem;
}
.philosophyWrap h3 {
	font-size: 4.6rem;
	line-height: 1.5;
	margin-bottom: 4rem;
}
.philosophyWrap .txt {
	font-size: 2rem;
	font-weight: 600;
	line-height: 2.4
}
.logos {
	margin-top: 6rem;
	gap: 2rem 9.5rem;
}
.logos img {
	max-height: 14.5rem
}
.valueWrap {
	position: relative;
	z-index: 1;
	max-width: 78.8rem;
	margin: 6rem auto 0;
}
.valueCont {
	position: absolute;
	width: 30rem;
	height: 30rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	z-index: 1;
	color: #fff;
	font-size: 1.2rem;
}
.valueCont._01 {
	top: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
}
.valueCont._02 {
	right: 0%;
	top: 50%;
	transform: translateY(-50%);
}
.valueCont._03 {
	bottom: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
}
.valueCont._04 {
	left: 0%;
	top: 50%;
	transform: translateY(-50%);
}
.valueWrap .icon {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 10;
	width: 21.9rem;
	animation: 8s linear infinite rotation;
}
@keyframes rotation{
  0%{ transform: translate(-50%,-50%) rotate(0);}
  100%{ transform: translate(-50%,-50%) rotate(360deg); }
}
.valueCont h3 {
	font-size: 1.4rem;
	font-weight: 600;
	width: 11rem;
	padding: .5rem;
	border: 2px solid #fff;
	border-radius: 10rem;
	margin: 0 auto 2rem;
}
.valueCont h4 {
	font-size: 2.5rem;
	line-height: 1.5;
	font-weight: 600;
	margin-bottom: 2rem;
}
.change  {
	padding: 50vh 0
}
.change:last-of-type {
	padding-bottom: 0;
}
.philosophyMovie {
	max-width: 1100px;
	color: #fff;
}
.philosophyMovie h2 {
	font-size: 6.4rem;
	margin-bottom: 8rem;
}
.philosophyMovie h3 {
	font-size: 6rem;
	letter-spacing: 0.04em;
	margin-bottom: 4rem;
	margin-top: 20rem;
}
.philosophyMovie01 a {
	display: block;
	position: relative;
	background: #000;
	overflow: hidden;
}
.philosophyMovie01 img {
	object-fit: cover;
	opacity: .5;
	transition: .4s;
}
.philosophyMovie01 a:hover img {
	opacity: 1;
	transform: scale(1.05);
}
.movieBtnWrap {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 4rem;
}
.movieBtn a {
	display: flex;
	align-items: center;
	height: 100%;
	position: relative;
	background: #DFDFDF;
	padding: 3.5rem 1rem;
	padding-right: 5.5rem;
	display: flex;
}
.movieBtn .logo img {
	max-height: 4.5rem;
	opacity: 1!important;
}
.movieBtn._02 .logo img {
	max-height: 5.2rem;
}
.movieBtn._03 .logo img {
	max-height: 6rem;
}
.movieBtn._04 .logo img {
	max-height: 3rem;
}
.movieBtn .num {
	width: 12rem;
	letter-spacing: 0.06em;
	border-right: 1px solid #000;
	font-size: 5rem;
	padding: 4rem 0;
}
.movieBtn .logo {
	display: flex;
	justify-content: center;
	align-items: center;
	flex: 1;
	gap: 0 1.2rem;
}
.movieBtn .logo span {
	font-size: 2.2rem;
	font-weight: 300;
	line-height: 1;
	margin-bottom: -.2em;
}
.playIco {
	background: #000;
	position: absolute;
	aspect-ratio: 1;
	border-radius: 50%;
	width: 3rem;
	right: 2.5rem;
	top: 50%;
	transform: translateY(-50%);
	transition: .4s;
}
.playIco::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 55%;
	transform: translate(-50%,-50%);
	z-index: 1;
	width: 34%;
	aspect-ratio: 1/1.2;
	background: #fff;
	transition: .4s;
	clip-path: polygon(100% 50%, 0% 0%, 0% 100%);
}
.philosophyMovie01 .playIco {
	left: 50%;
	transform: translate(-50%,-50%);
	width: 8.8rem;
	background: #fff;
}
.philosophyMovie01 .playIco::after {
	background: #000;
}
.movieBtn a:hover {
	background: rgba(255,255,255,.8);
}
.movieBtn a:hover .playIco {
	transform: translateY(-50%) scale(1.2);
}
a:hover .playIco {
	background: #FF0033!important;
}
a:hover .playIco::after {
	background: #fff!important;
}
.lity-container {
	max-width: 100%!important;
}
.lity-content {
	display: flex!important;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	/* width: auto!important; */
	/* max-width: 100%; */
	height: 92vh!important;
	aspect-ratio: 16/9;
}
.ytPuArea {
	width: 100%;
}
.ytPuArea .movie {
	margin-bottom: 0;
}


/*ieハック*/
@media screen\0  {
}

/*********************************/
/* タブレット用のスタイル記述 */
/*********************************/
@media screen and (max-width: 1475px) {
	.hNav > li {
		margin-left: 2rem;
		font-size: 1.1vw;
  }
}
@media screen and (max-width: 1350px) {
	html {
		font-size: .7407407vw;
	}
}

/*********************************/
/* スマートフォン用のスタイル記述 */
/*********************************/
@media screen and (max-width: 780px) {
/*全体レイアウト
---------------------------------------------------------*/
	html {
		font-size: 2.7777777vw;
	}
	body {
		padding-top: 5.4rem;
		font-size: 1.4rem;
		line-height: 1.5
	}
	body.active {
		overflow: hidden;
	}
	article > section {
		padding: 5rem 0;
	}
	article > section:last-of-type {
		padding-bottom: 10rem;
	}
	h1 {
		font-size: 2rem;
	}
	h2 {
		font-size: 1.8rem
	}
	h3 {
		font-size: 1.6rem
	}
	.ttlBox {
		font-size: 1.6rem;
		margin-bottom: 3rem;
	}
	.ttlBox.d-flex {
		display: block;
		text-align: center;
	}
	.ttlBox .fo-bebas {
		font-size: 250%;
	}
	.ttlBox.d-flex h2 {
		margin: 0 0 .5rem 0;
	}


	/*header
	-------------------------------------------------------*/
	#header {
		height: 5.4rem;
		display: flex;
		align-items: center;
		padding-right: 5.4rem;
		z-index: 99990
	}
	.hBox {
		display: none;
	}
	.hWrap {
		text-align: left;
		padding: 1.5rem;
	}
	.hLogo img {
		max-height: 2.1rem;
	}
	.hLang {
		width: auto;
		right: 5.4rem;
		padding: 0 1rem
	}
	.hLang .langIcon {
		display: none;
	}
	.langList {
		pointer-events: auto;
		opacity: 1;
		visibility: visible;
	}
	.langList li.disabled {
		display: none;
	}
	.langList a {
		color: #fff;
		height: 100%;
		border: none!important;
		display: inline-block;
		background: url("../img/icon_lang.svg") left bottom .1rem no-repeat;
		background-size: 1.4rem auto;
		padding: 1.5rem 0 0 2rem;
		position: relative;
	}
	.langList a::after {
		content: "";
		display: block;
		background: url("../img/h_lang.svg") bottom center no-repeat;
		background-size: 100% auto;
		width: 100%;
		height: 1rem;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		margin: 0 auto;
		z-index: 1;
	}

	/*nav
	-------------------------------------------------------*/
	.menuWrap {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		width: 5.4rem;
		height: 5.4rem;
		background: #1a1a1a;
		z-index: 999999
	}
	.menuIcon {
		position: absolute;
		top: 50%;
		right: 0;
		left: 0;
		transform: translateY(-50%);
		margin: 0 auto;
		width: 30px;
		height: 2.2rem;
		z-index: 99999;
		cursor: pointer;
		display: block;
	}
	.menuIcon span {
		position: absolute;
		left: 0;
		width: 100%;
		height: .2rem;
		background:#fff;
		z-index: 10;
		transition: .2s;
	}
	.menuIcon span:nth-of-type(1) {top: 0px;}
	.menuIcon span:nth-of-type(2) {top: 1rem;	}
	.menuIcon span:nth-of-type(3) {bottom: 0px;	}
	.menuIcon.active span {
		background: #fff!important
	}
	.menuWrap.active span:nth-of-type(1) {
		-webkit-transform: translateY(1rem) rotate(45deg);
		transform: translateY(1rem) rotate(45deg);
	}
	.menuWrap.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menuWrap.active span:nth-of-type(3) {
		-webkit-transform: translateY(-1rem) rotate(-45deg);
		transform: translateY(-1rem) rotate(-45deg);
	}
	#nav {
		position: fixed;
		top: 0;
		bottom: 0;
		right: 0;
		z-index: 10;
		width: 100%;
		height: 100%;
		transition: all 0.3s ease-in-out;
		overflow-y: auto;
		overflow-x: hidden;
	 -webkit-overflow-scrolling: touch;
		display: block;
		padding: 5.4rem 0 4rem;
		background: #1a1a1a;
		visibility: hidden;
		opacity: 0;
	}
	#nav.active {
		right: 0;
		opacity: 1;
		-moz-transform: translateX(0);
		-webkit-transform: translateX(0);
		transform: translateX(0);
		visibility: visible;
		z-index: 9990;
	}
	.spLogo {
		text-align: left;
		margin-bottom: 3rem;
	}
	.spLogo img {
		display: block;
		max-height: 3rem;
		margin: 0;
	}
	.nav {
		margin: auto;
		display: block;
		width: 100%;
		padding: 0;
	}
	.nav li {
		margin-top: 0;
	}
	.nav a {
		display: block;
		width: 100%;
		position: relative;
		padding: 1rem 2rem 1rem 0;
		color: #fff!important
	}
	.nav a::after {
		content: "";
		display: block;
		background: url("../img/arrow_wh.svg") center center no-repeat;
		background-size: contain;
		width: .7rem;
		height: 1.1rem;
		position: absolute;
		right: 2rem;
		top: 50%;
		transform: translateY(-50%);
	}
	.nav dt {
		display: block;
		position: relative;
		font-size: 1.4rem;
		border-bottom: 1px solid #999;
	}
	.nav dt:not(:first-of-type) {
    margin-top: 0;
	}
	.nav dt a {
		padding: 2rem 3rem 2rem 2rem;
	}
	.nav .toggle a::after,.nav .toggle a::before {
		content: "";
		width: 11px;
		height: 1px;
		background: #f2f2f2;
		position: absolute;
		left: auto;
		right: 2rem;
		top: 0;
		bottom: 0;
		margin: auto;
		transform: none;
		transition: .2s;
	}
	.nav .toggle a::before {
		width: 1px;
		height: 11px;
		right: 2.5rem;
		opacity: 1;
	}
	.nav .toggle.open a::before {
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		transform: rotate(90deg);
		opacity: 0;
	}
	.nav .toggle.open a {
		background: #333
	}
	.nav dd {
		display: none;
		padding-bottom: 1.5rem;
		padding-left: 2rem;
	}
	.nav dd li {
		padding-left: 1rem;
	}
	.nav dd li:not(:first-of-type) {
		border-top: 1px solid #333;
	}
	.nav .child {
		padding-left: 1rem;
	}
	.nav .child li {
		display: flex;
		align-items: center;
		border: none!important;
	}
	.nav .child li a {
		padding-top: .5rem;
		padding-bottom: .5rem;
	}
	.spMenuWrap {
		display: block;
		margin-top: 3rem;
	}
	.spMenu li a {
		color: #fff;
	}
	.spMenu li {
		margin: 0 1rem;
	}
	.scl {
		margin-top: 3rem;
		justify-content: center;
	}
	.scl li:not(:first-of-type) {
    margin-left: 2rem;
	}
	.scl img {
		max-height: 2.8rem
	}
	.serchBox._sp {
		display: flex;
    justify-content: center;
		margin-bottom: 2rem;
	}
	.txtSearchInput {
		max-width: 100%;
		width: 22rem;
		padding-top: .8rem;
		padding-bottom: .8rem;
	}
	.serchBox button {
		width: 3.3rem;
		height: 3.3rem;
		top: 0
	}

	/*footer
	-------------------------------------------------------*/
	#footer {
		padding: 4rem 0 3rem;
	}
	.pageTop {
		right: 5%;
	}
	.fLogo img {
		max-height: 4.5rem
	}
	.fLinks {
		margin-top: 0;
		display: block;
	}
	.fLft {
		display: block;
	}
	.fLft li {
    padding: 0 .8rem;
		white-space: nowrap;
	}
	.fLft ul {
		margin: 3rem 0 0 0;
		justify-content: center;
		font-size: 90%;
	}

	/*toppage
	-------------------------------------------------------*/
	.mainSlider img.onlysp {
		display: block;
	}
	.mainSlider img.onlypc {
		display: none;
	}
	.topTxtImg {
		max-width: 80%;
	}
	.topTxtImg .logo img {
		min-height: 4rem;
		margin: 2rem auto 3rem
	}
	.topSec h2 {
		text-align: left;
		font-size: 1.6rem;
	}
	.topSec .txt-lh {
		text-align: left;
	}
	#topPhilosophy {
		padding: 8rem 0 16rem;
	}
	#topPhilosophy::after {
		height: 8rem;
	}
	.topPhilosophy .txt {
		text-align: left;
		font-size: 1.6rem;
	}
	#topSec {
		padding: 10rem 0
	}
	.topAboutWrap {
		display: block;
	}
	.topAboutBox {
		text-align: center;
	}
	.topAboutBox .txt {
		font-size: 1.6rem;
		margin-bottom: 2rem;
	}
	.topAboutWrap .img {
		width: 100%;
		height: 21rem;
		margin-top: 4rem;
	}
	.topAboutWrap .img::before {
		width: 100vw;
	}
	#topAbout {
		padding-top: 8rem;
	}
	#topAbout::before {
		width: 95vw;
	}

	#topBrand {
		padding: 8rem 0 0
	}
	.ttlBox img[src*="/logo.svg"] {
    min-height: inherit;
		max-height: 3.6rem;
	}
	.brandContents {
		display: block;
	}
	.brandContBox {
		width: 100%;
		display: block;
		min-height: auto;
		font-size: 1rem;
		padding: 0 2rem 2rem!important;
	}
	.brandContBox::before {
		height: 11rem;
	}
	.brandContBox dl {
		display: block;
	}
	.brandContBox dt {
		margin: 0 0 18rem -2rem;
		max-width: 25rem;
		height: 6rem;
		justify-content: flex-start;
	}
	.brandContBox dt::before {
		clip-path: polygon(0 0, 100% 0, 68% 100%, 0 100%);
	}
	.brandContBox dt img {
		max-height: 3.8rem
	}
	.brandContBox dd {
		display: block;
	}
	.brandtopNav {
		display: block;
		min-height: auto;
	}
	.brandContBox li {
		font-size: 1.6rem;
		margin-top: .8rem;
	}
	.brandContBox .btn {
		width: 49%;
	}
	.brandContBox .btn a {
		min-width: 100%;
		font-size: 1.4rem;
		white-space: nowrap;
	}
	.brandContBox .btn a._tr {
		background: rgba(0,0,0,.2)
	}
	.brandContBox::after {
		width: 16rem;
		clip-path: polygon(100% 10%, 100% 0%, 100% 100%, 0% 100%);
		top: auto;
		height: 13rem;
	}
	.brandContBox._02::after {
		left: auto;
		transform: none;
	}
	.brandContBox .img {
		pointer-events: none;
		position: absolute;
		width: 80%;
		right:0;
		left: 0;
		top: 7.5rem;
		margin: 0 auto;
		z-index: 50;
	}
	.brandContBox._02 .img {
		top: 7rem;
		width: 80%;
	}
	.brandContBox .bg {
		width: 100%;
	}
	.brandContBox .tit {
		font-size: 1.6rem;
	}
	.brandContBox._02 ul {
		display: flex;
		flex-wrap: wrap;
	}
	.brandContBox._02 ul li {
		width: 50%;
	}
	.brandContBox li a {
		font-size: 1.4rem;
	}
	.bramdBtn a {
		border: 1px solid #fff;
	}
	.bramdBtn {
		display: flex;
		justify-content: space-between;
	}
	.topContrWrap {
		display: block;
	}
	.topContrWrap .img {
		width: 100%;
		height: 21rem;
		margin-bottom: 3rem;
	}
	.topContrWrap .img::before {
		width: 100vw;
	}
	.topContr {
		margin-left: 0
	}
	.topContr .ttlBox,.topContr .btn {
		text-align: center;
	}
	#mijArea {
		padding: 4.5rem 0 6rem;
		background-size: 110% auto;
    background-position: top -2rem right 130%;
	}
	.milWrap {
		display: block;
	}
	.milLogo {
		width: 40%;
		margin-bottom: 7rem;
	}
	.milWrap dt {
		font-size: 1.8rem;
		margin-bottom: 2rem;
	}
	.milWrap dt big {
		font-size: 135%;
		margin-top: .5rem;
	}
	.aboutNav li {
		width: 50%;
		margin-bottom: 2rem;
	}
	.aboutNav li .txt {
		font-size: 100%;
		margin-top: .5rem;
	}
	.aboutLinks {
		margin-top: 6rem;
	}
	.sdgsWrap {
		padding: 3rem;
	}
	.sdgsBox {
		display: block;
		padding: 2rem
	}
	.sdgsBox dl {
		margin-bottom: 2rem;
	}
	.sdgsBox dt {
		display: block;
	}
	.sdgsBox dt h3 {
		font-size: 4rem;
		margin: 0 0 .5rem;
	}
	.sdgsBox img[src*="sdgs.svg"] {
    width: 10rem;
	}
	.sdgsBox img[src*="logo_gx.png"] {
		margin-left: 1.5rem;
		width: 10rem;
	}
	.aboutLinkBox {
		width: 100%;
		margin-top: 2rem;
	}
	.aboutLinkBox a {
		padding: 3rem 1rem;
		height: 14rem;
	}
	.aboutLinkBox .ttlBox,.aboutLinkBox .txt {
		width: 100% !important;
	}
	.aboutLinkBox .ttlBox {
		padding-bottom: 1rem;
		margin-bottom: 1rem;
		transform: scale(.8)
	}
	.aboutLinkBox .txt{
		font-size: 1.4rem;
	}
	.aboutLinkBox .txt.fo-bebas {
		font-size: 2.6rem;
	}
	.aboutLinkBox._01 a {
		padding: 13rem 0 2rem;
		height: auto;
	}
	.aboutLinkBox._01::after {
		background-color: #4d4d4d;
		width: 3rem;
	}
	.aboutLinkBox._01 figure {
		width: 100%;
		height: auto;
		aspect-ratio: 32/11;
		bottom: auto;
	}
	.topNews {
		display: block;
	}
	.topNews li {
		width: 100%;
	}
	.topNews li:not(:first-of-type) {
		padding-top: 1.5rem;
		margin-top: 1.5rem;
		border-top: 1px solid #f4f4f4;
	}
	.newsList a {
		align-items: flex-start;
	}
	.thumb {
		width: 10rem;
		min-width: 10rem;
		height: 7rem;
		margin-right: 1.5rem;
	}
	.date {
		margin-bottom: .5rem;
	}

	/*subPage
	-------------------------------------------------------*/
	.breadcrumbs ol {
		padding: 1rem 1.5rem;
		font-size: 1rem;
	}
	.subTtl {
		margin: 1rem auto 2rem;
	}


	/*contactList
	-------------------------------------------------------*/
	.listArea h2 {
		margin-bottom: 1rem;
	}
	.listArea h2:not(:first-of-type) {
    margin-top: 5rem;
	}
	.listArea li {
		padding: 1.5rem 1rem;
	}
	.listArea li a::after {
		margin-left: 1.2rem;
	}


	/*form
	-------------------------------------------------------*/
	.formTxt {
		margin-bottom: 2rem;
	}
	.formWrap {
		padding: 0
	}
	.formBox dt,.formBox dd  {
		width: 100%;
		padding: 10px 0 0;
		border:none!important
	}
	.formBox dt {
		padding: 1rem;
		background: #f1f1f1;
	}
	.formBox dt::before {
		vertical-align: .2em;
		margin-right: 10px;
	}
	.formBox dd {
		padding-bottom: 2rem;
		margin-bottom: 1rem;
	}
	.formName > .txt {
    width: 100%;
		margin: .5rem 0!important
	}
	.formName .txt span {
		text-align: right
	}
	.zipBtn {
		font-size: 1.2rem;
		padding: 7px;
		margin-left: 2px;
	}
	.contArea {
		padding: 4rem 5%;
	}
	.formBox input[type="text"].size-s {
		max-width: 12rem;
	}
	.formBox label {
		width: 100%;
		margin: 10px 0 0 0;
	}
	.policyBox {
		margin: 2rem 0 0;
		padding: 1.5rem;
		font-size: 90%;
		height: 15rem;
	}
	.policyCheck {
		margin-top: 6rem;
		padding: 2rem 1rem
	}

	/*privacy
	-----------------------------------------------------*/
	.privactArea h2:not(:first-of-type) {
    margin-top: 5rem;
	}

	/*sns
	-----------------------------------------------------*/
	.sclWrap li {
		width: 50%;
		padding: 2.5rem 1rem;
	}
	.sclWrap li:nth-of-type(3) {
		border-left: none;
	}
	.sclWrap li:nth-of-type(n+3) {
		border-top: 1px solid #d8d8d8;
	}
	.sclWrap li span {
		margin-top: 1rem;
		font-size: 1.2rem;
	}
	.sclWrap li .icon {
		min-height: 4.2rem;
	}
	.sclWrap li .icon img {
		max-width: 4.7rem;
		max-height: 4.2rem
	}

	/*news
	-------------------------------------------------------*/
	#newsArchives .newsList li {
		padding: 2rem 0
	}
	.archivesWrap {
		margin-bottom: 2rem;
	}
	.pager {
		margin-top: 3rem;
	}
	.newsHeader, .newsContents,.subTxt {
		padding-left: 1rem;
		padding-right: 1rem;
	}
	.newsContents {
		margin-top: 4rem;
	}
	.newsContents .img,.logoImg {
		margin-bottom: 4rem;
	}
	.newsHeader h2 {
		font-size: 1.6rem;
	}
	.dlBtn {
		margin-top: 3rem;
	}
	.dlBtn a {
		font-size: 2rem;
		padding: 1.5rem 6rem;
	}
	.pageset {
		justify-content: space-between;
		font-size: 1.6rem;
		padding-top: 4rem;
		margin-top: 4rem;
	}
	.listBack {
		width: 100%;
		-webkit-box-ordinal-group: 4;
		-ms-flex-order: 3;
		order: 3;
		margin-top: 2rem;
		font-size: 1.4rem
	}

	/*manual
	-----------------------------------------------------*/
	.manualList h3 {
		margin-top: 5rem;
	}
	.pdfBtn a {
		font-size: 1.6rem;
		width: 7rem;
		min-width: 7rem;
		line-height: 1;
		padding-bottom: .5rem !important;
	}
	.pdfBtn a::after {
		margin-left: .5rem !important;
	}

	/*sitemap
	-----------------------------------------------------*/
	.sitemap {
		display: block;
	}
	.sitemap:not(:first-of-type) {
    padding-top: 3rem;
    margin-top: 3rem;
	}
	.sitemap dt {
		width: 100%;
	}
	.sitemap dd {
		width: 100%;
		display: block;
		padding: 0 1.5rem
	}
	.sitemap dd > ul {
		width: 100%;
		margin-top: 2.5rem;
	}
	.sitemap dd > ul.mt00 {
		margin-top: 0;
	}
	.sitemap li:not(:first-of-type),.sitemap .child {
    margin-top: 1rem;
	}
	.sitemap a {
		background-size: .5rem auto;
		padding-right: 2rem;
	}

	/*movie
	-----------------------------------------------------*/
	.cateList {
		gap: 1rem 2%;
		margin-bottom: 5rem;
	}
	.cateList li {
		width: 49%;
	}
	.cateList a {
		font-size: 1.2rem;
	}
	.postList {
		margin: 0 -1rem;
	}
	.postBox {
		width: 49%;
		padding: 0 1rem;
		margin-top: 4rem!important;
		font-size: 1.2rem;
	}
	.postBox:nth-of-type(even) {
		border-right: none;
	}
	.postBox:nth-of-type(3n) {
		border-right: 1px solid #d8d8d8;
	}
	.postBox:nth-of-type(-n+2) {
		margin-top: 0!important;
	}
	.postBox .thumb {
		height: 10rem;
	}
	.tags li {
		margin: .5rem .5rem 0 0
	}
	.tags li a {
		padding: .2rem .8rem;
		font-size: 1rem;
	}
	.movieList {
		margin: 0;
	}
	.movieList .postBox {
		width: 100%;
		border-right: none!important;
		font-size: 1.3rem;
		padding: 0
	}
	.movieList .postBox:not(:first-of-type) {
		border-top: 1px solid #d8d8d8;
		padding-top: 3rem;
		margin-top: 3rem!important;
	}
	.movie {
		margin-bottom: 1rem;
	}
	.loadBtn {
		margin-top: 5rem;
		font-size: 2.2rem;
	}
	.loadBtn::after {
		width: .8rem;
    height: 1.4rem;
		transform: rotate(90deg) translateX(.015em);
	}

	/*about
	-------------------------------------------------------*/
	.parentTtl .ttlBox {
		width: 100%;
		font-size: 1.4rem;
		text-shadow: 0 0 5px rgba(0,0,0,.3)
	}
	.parentTtl {
		padding-top: 2rem;
		height: 17rem;
	}
	.parentTtl .ttlBox h1 {
		padding-bottom: 1.5rem;
		margin-bottom: 1.5rem;
	}
	.parentTtl .ttlBox h1 .fo-bebas {
		font-size: 325%;
		margin-bottom: .7rem;
	}
	#aboutPage .parentTtlArea {
		background-position: center right -2rem;
	}
	.pageLink li {
		width: 100%;
		font-size: 1.6rem;
		margin-bottom: 5rem;
	}
	.pageLink li .img {
		height: 14rem;
		margin-bottom: 1.5rem;
	}
	.pageLink li h2 {
		margin-bottom: .5rem;
	}

	/*support
	-------------------------------------------------------*/
	#supportPage .parentTtlArea {
		background-position: left 80% center;
	}
	.supportLinkSec{
		padding-bottom: 1rem;
	}
	.supportLink {
		display: block;
	}
	.supportLink li {
		width: 100%;
		max-width: 100%;
		height: 12rem;
	}
	.supportLink li:not(:first-of-type) {
		margin-top: 1rem;
	}
	.supportLink li a {
		flex-direction: row
	}
	.supportLink li .icon {
		min-height: inherit;
		margin: 0 2rem 0 0;
		width: 5rem;
	}
	.supportLink li .icon img {
		max-height: 5rem;
	}
	.supportLink li h2 {
		width: 10rem;
		font-size: 1.8rem;
		text-align: left;
	}
	.supportLink li figure img {
		transform: scale(1.3)
	}
	.supportBnr{
		padding: 4rem 0!important;
	}
  .supportBnr .row {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
  }
  .supportBnr .row .box{
    height: auto;
    padding: 2.2rem;
  }
  .supportBnr .row .box h2 span{
    font-size: 3.2rem;
    margin-bottom: 0.4rem;
  }
.supportBnr .row .box._01 h2 span::before{
  width: 3.4rem;
  margin-right: 0.6rem;
}
  .supportBnr .row .box h2 .txt{
    font-size: 1.4rem;
  }
  .supportBnr .row .box h2 .time{
    font-size: 1.2rem;
  }
	#supportTop h2 {
		margin-bottom: 3rem;
	}
	#repairArea > section:not(:first-of-type) {
    margin-top: 6rem;
	}
	#repairArea h2 {
		font-size: 1.8rem;
		margin-bottom: 2rem;
	}
	.repairTbl {
		overflow: auto;
		background: url("../img/sp_scroll.png") top left no-repeat;
		background-size: 100% auto;
		padding-top: 5.2rem;
	}
	.repairTbl table {
		width: 75rem;
	}
	.repairTbl th, .repairTbl td {
		font-size: 1.2rem;
		padding: .3rem .7rem;
	}
	#repairArea h3 {
		font-size: 1.6rem
	}
	.repairMapArea {
		display: block;
	}
	.repairMap {
		width: 100%;
		overflow: hidden;
	}
	.repairMap .img {
		margin: 0 0 0 -2rem
	}
	.mapLink li {
		min-width: 8rem;
	}
	.mapLink a {
		white-space: nowrap;
		padding: .5rem 1.4rem .5rem .7rem;
		font-size: 1.2rem;
		background-size: .4rem auto;
		background-position: right .5rem center;
	}
	.mapLink li._01 {
		top: 2.5rem;
		right: 10rem;
	}
	.mapLink li._02 {
		top: 11.5rem;
		right: 0;
	}
	.mapLink li._03 {
		top: 17rem;
		right: 0;
	}
	.mapLink li._04 {
		top: 9rem;
		right: 12rem;
	}
	.mapLink li._05 {
		bottom: 4rem;
		right: 10.5rem;
	}
	.mapLink li._06 {
		bottom: 0rem;
		right: 14.5rem;
	}
	.mapLink li._07 {
		bottom: 16rem;
		left: 8rem;
	}
	.mapLink li._08 {
		bottom: 12rem;
		left: 0;
	}
	.bdr {
		width: 4.5rem;
	}
	.mapLink li._02 .bdr {
		width: 1rem;
	}
	.mapLink li._03 .bdr {
		width: 2.2rem;
	}
	.mapLink li._04 .bdr {
		height: 8.5rem;
		left: 75%;
	}
	.mapLink li._05 .bdr {
		height: 3rem;
		left: 25%;
	}
	.mapLink li._06 .bdr {
		height: 5.7rem;
		left: 28%;
	}
	.mapLink li._07 .bdr {
		height: 5.2rem;
		left: 60%;
	}
	.mapLink li._08 .bdr {
		height: 5.8rem;
		left: 67%;
	}
	.repairSearchhWrap {
		width: 100%;
		margin-top: 3.5rem;
	}
	.searchTtl {
		font-size: 1.4rem;
	}
	.repairSearch dl {
		margin-top: 1rem;
	}
	.repairSearch dt {
		width: 9.5rem;
		white-space: nowrap;
		padding-top: .4rem;
	}
	.repairSearch dd a {
		padding: .2rem .8rem;
	}
	.repairFaq .faqWrap dt, .repairFaq .faqWrap dd {
		padding: 1.5rem 3rem 1.5rem 4rem;
	}
	.repairFaq .faqWrap dt::before, .repairFaq .faqWrap dd::before {
		top: 1.5rem;
		left: 1rem;
	}

	/*case
	-------------------------------------------------------*/
	.pageTtlArea {
		height: 12rem;
	}
	.pageTtl .fo-bebas {
		font-size: 1.4rem;
	}
	.postCont {
		display: block;
		margin-top: 4rem;
	}
	.postCont figure {
		width: 100%;
		margin-bottom: 1.5rem;
	}
	.btmCate {
		margin-top: 4rem;
		display: block;
	}
	.postCont .txt {
		width: 100%;
	}
	.worksList {
		gap: 4rem 4%
	}
	/*greeting
	-------------------------------------------------------*/
	.greetingWrap {
		display: block;
		margin-top: 6rem;
	}
	.greetingWrap .img {
		width: 100%!important;
		height: 21rem!important;
		margin-bottom: 2rem;
	}
	.greetingWrap .img::before {
		width: 100vw!important;
	}
	.greetingBox {
		width: 100%!important;
		font-size: 1.4rem;
		line-height: 1.8;
		padding-top: 0;
	}
	.greetingBox h3 {
		font-size: 1.6rem;
		margin-bottom: 2rem;
	}
	.greetingBtmImg {
		height: 17rem;
	}
	.president span img {
		max-height: 1.5rem
	}

	/*information
	-------------------------------------------------------*/
	.infoAnc {
		display: block;
	}
	.infoAnc li {
		width: 100%;
		border-right: none;
		border-bottom: 1px solid #ddd;
	}
	.infoAnc li:first-of-type {
		border-left: none;
		border-top: 1px solid #ddd;
	}
	.infoAnc li a .fo-bebas {
		font-size: 2.6rem;
	}
	.infoAnc li a::after {
		height: 1.2rem;
		bottom: .7rem
	}
	.infoArea {
		display: block;
	}
	.infoArea dt {
		width: 100%;
		text-align: center;
		position: relative;
		padding: .5rem;
		background: #f5f5f5;
		border-bottom: 4px solid #f1f1f1;
		margin-bottom: 3rem;
	}
	.infoArea dd {
		width: 100%;
	}
	.infoArea dt h3 {
		font-size: 1.8rem;
	}
	.infoTbl tr {
		border: none!important
	}
	.infoTbl th, .infoTbl td {
		width: 100%;
		display: block;
		padding: .5rem 1rem;
	}
	.infoTbl th {
		border-left: .3rem solid #f1f1f1;
		border-bottom: 1px solid #f1f1f1;
	}
	.infoTbl td {
		padding: 1rem 1.3rem 2rem;
	}
	img[src*="/president_name_l.svg"] {
    height: 1.3rem;
	}
	.infoArea + .infoArea {
		margin-top: 6rem;
	}
	.policyLogo img {
		width: 17rem;
		margin-bottom: 2rem;
	}
	.policyLogo {
		font-size: 1.8rem;
	}
	.corpPolicy {
		padding: 12rem 2rem 3rem 0;
		margin: 5rem 0
	}
	.corpPolicy::before {
		width: 100vw;
		min-width: inherit;
	}
	.corpPolicy .img {
		width: 100%;
		top: 2rem;
		height: 12rem
	}
	.corpPolicy .img::before {
		width: 100vw;
	}
	.corpPolicy h4 {
    font-size: 2rem;
    width: 24rem;
    height: 9rem;
		padding-left: 6rem;
		padding-bottom: 2rem;
		margin-right: 4rem;
	}
	.corpPolicy ul {
		margin-top: -3rem;
		display: block;
	}
	.corpPolicy li {
		display: flex;
		align-items: center;
		width: 100%!important;
		font-size: 1.4rem;
		padding: 1.5rem 2rem;
		margin-top: 1rem;
	}
	.corpPolicy li .fo-bebas {
		font-size: 4.3rem;
		margin: 0 2rem 0 0
	}
	.corpPolicy li .txt {
		text-align: left;
		min-height: 4.2rem;
	}
	.corpPolicy._02 {
    padding: 12rem 0 3rem 2rem;
	}
	.corpPolicy._02 h4 {
		margin-left: 4rem;
		padding: 0 6rem 2rem 0
	}
	.corpPolicy h4::before {
		height: 28rem;
		transform: skewX(-18deg);
	}
	.corpPolicy._02 h4::before {
		transform: skewX(18deg);
	}
	.corpPhilosophy {
		display: block;
		margin-top: 1rem;
	}
	.corpPhilosophy > * {
		width: 100%;
	}
	.corpPhilosophy .box {
		padding: 2rem;
		gap: 1.5rem
	}
	.infoTxt big {
		font-size: 1.6rem;
		margin-bottom: .5rem;
	}
	.corpPhilosophy .box a {
		padding: 1rem 2rem
	}
	.accessArea h3 {
		font-size: 1.5rem;
		padding: 1rem 2rem;
		margin-bottom: 2rem;
		background: #fff!important
	}
	.accessArea h3:hover {
		color: #1a1a1a;
	}
	.accessArea h3:hover::before {
		width: 0;
	}
	.accessArea h3.active {
		color: #d80012;
	}
	.accessArea h3.active::before {
		width: .5rem;
	}
	.accessArea h3::after {
		height: 1.2rem;
		right: 1.5rem;
	}
	.accessBox {
		display: block;
		padding: 0 5% 4rem;
	}
	.accessBox .gmap {
		width: 100%;
		height: 16rem;
		margin-top: 1rem;
	}
	.accessBox dl {
		padding: 0;
		width: 100%;
	}
	.accessBox dt, .accessBox dd {
		padding-bottom: 1.5rem;
	}

	/*ep-faq
	-------------------------------------------------------*/
	.epTtlWrap {
		font-size: 1.6rem;
		height: 12rem;
		background-position: top 1.8rem center,top left;
		background-size: auto 10rem,auto;
		margin-bottom: 0;
	}
	.epTtl h1 {
		font-size: 2rem;
	}
  .ancWrap {
      gap: 0;
  }
	.ancWrap li {
		flex-basis: 50%;
		margin: .5rem 0;
	}
	.ancWrap li:nth-of-type(even) a {
		border-left: none;
	}
	.ancWrap a {
		border-left: 1px solid #1a1a1a;
		padding-bottom: 2rem;
		background-position: center bottom .7rem;
		background-size: 1rem auto;
	}
	#faqArea{
		padding-top: 1rem;
	}
	.faqWrap h2 {
		font-size: 1.8rem;
    padding: 0.6rem 1.4rem;
	}
	.faqWrap dt, .faqWrap dd {
		padding: 1.5rem 3rem;
		font-size: 100%;
	}
	.faqWrap dd {
		padding-top: 0;
	}
	.faqWrap dt::before,.faqWrap dd::before {
		left: .5rem;
		top: 1.5rem;
	}
	.faqWrap dd::before {
		top: 0
	}
	.faqWrap dt::after {
		right: .7rem;
	}
	.faqWrap:not(:first-of-type) {
    margin-top: 6rem;
	}


	/*ep-company
	-------------------------------------------------------*/
	.companyArea {
		display: block;
	}
	.companyArea .img {
		width: 100%;
		height: 14rem;
	}
	.companyArea .img::before {
		width: 100vw;
	}
	.companyWrap {
		width: 100%;
	}
	.companyTbl th,.companyTbl td {
		display: block;
		padding: .5rem 1rem;
	}
	.companyTbl th {
		border-left: .3rem solid #d8d8d8 ;
		padding-bottom: .5rem;
	}
	.companyTbl td {
		padding: .5rem 1.3rem 1.5rem;
		border-bottom: none;
	}
	.eqNavArea {
		padding-bottom: 6rem;
	}
	.eqNav li {
		width: 49.9%;
	}
	.eqNav a {
		padding: 4.5rem 1rem;
	}
	.eqNav a .fo-bebas {
		font-size: 2.2rem;
	}

	/*contribution
	-------------------------------------------------------*/
	.sdgsAboutWrap {
		display: block;
	}
	.sdgsAboutWrap .img {
		width: 100%;
		height: 14rem;
	}
	.sdgsAboutWrap .img::before {
		width: 100vw;
	}
	.sdgsAbout {
		width: 100%;
		margin-top: 3rem;
	}
	.sdgsAbout h2 {
		max-width: 26.5rem;
		margin-bottom: 2rem;
	}
	.actionArea {
		padding: 1rem 1.5rem;
	}
	.actionTtl {
		display: block;
		text-align: left;
		padding: 2rem;
	}
	.actionTtl::before {
		width: 1.5rem;
		height: .2rem;
	}
	.actionTtl h3 {
		font-size: 1.6rem;
		padding-left: .5em;
		margin: 0 0 .5rem 0;
	}
	.actionWrap {
		padding-bottom: 3rem;
	}
	.actionWrap .imgs {
		column-gap: 2%;
	}
	.actionWrap .imgs li {
		width: 49%;
		font-size: 1.2rem;
		margin-bottom: 2rem;
	}
	.actionWrap .icons {
		gap: .5rem 2%
	}
	.actionWrap .icons li {
		width: 32%;
		margin: 0;
	}
	.actionArea + .actionArea {
		margin-top: 3rem;
	}

	/*numbers
	-------------------------------------------------------*/
	.salesTrendsArea {
		display: block;
	}
	.numbersArea h2 {
		font-size: 1.6rem;
	}
	.salesTrendsArea .imgWrap {
		width: 100%;
		min-height: inherit;
		height: 24rem;
	}
	.salesTrendsArea .imgWrap h3 {
		width: 18rem;
		top: 2rem;
	}
	.salesTrendsWrap {
		width: 100%;
		padding: 3rem 1.5rem 7rem 1rem
	}
	.salesGraph {
		padding-left: 4rem;
	}
	.graph-x {
		font-size: 1.6rem;
		padding-left: 4rem;
		bottom: -2rem;
	}
	.grapghBox {
		height: 23rem;
	}
	.grapCont li .ratio {
		width: 43%;
	}
	.grapCont li .ratio .txt {
		font-size: 1.4rem;
		-webkit-transform: translate(-50%,-1.8rem);
    -ms-transform: translate(-50%,-1.8rem);
    transform: translate(-50%,-1.8rem);
	}
	.productionVolumeArea {
		padding: 3rem 2rem;
	}
	.productionVolumeWrap {
		display: block;
	}
	.productionVolume {
		width: 100%;
		font-size: 1.4rem;
	}
	.productionVolume h3 {
		display: block;
		font-size: 1.8rem;
		margin-bottom: 2rem;
		padding: .5rem;
	}
	.productionVolume li {
		min-width: inherit;
		width: 50%;
	}
	.productionVolume li:not(:first-of-type) {
    margin-left: 0;
	}
	.productionVolume h4 {
		font-size: 1.6rem;
		margin-bottom: 1rem;
	}
	.productionVolume .img {
		min-height: 8.5rem;
	}
	.productionVolume .img img {
		max-height: 8.5rem;
	}
	.total01Txt {
		font-size: 1.6rem;
	}
	.productionVolume:nth-of-type(2) {
    border-left: none;
    border-bottom: 1px solid #bebebe;
		padding: 4rem 0 3rem;
		margin-bottom: 3rem;
	}
	.productionVolume::before {
		width: 100%;
		height: 25rem;
	}
	.productionVolume:nth-of-type(2)::before {
		width: 100%;
    height: 32rem;
	}
	.productionVolumeWrap + .total01Txt {
		font-size: 2rem;
		white-space: nowrap;
	}
	.shareWrap {
		display: block;
	}
	.shareBox {
		width: 100%;
		padding: 2rem;
		margin: 0 0 1rem;
	}
	.shareBox h3 {
		font-size: 1.8rem
	}
	.shareBox figure {
		min-height: inherit;
	}
	.shareBox figure img {
		max-height: 8.5rem
	}
	.graph02Wrap {
		min-height: inherit;
		padding-top: 4.2rem;
	}
	.graph02Wrap .ttl._01 {
		width: 4.8rem;
	}
	.graph02Wrap .ttl._02 {
		width: 10rem;
		right: 1rem;
	}
	.graph02Box {
		width: 21rem;
		height: 21rem;
	}
	.graph02Txt {
		width: 16rem;
		height: 16rem;
		font-size: 1.8rem;
	}
	.graphCont._01::before {
		width: 5.5rem;
		height: 17.5rem;
	}
	.shareTotal {
		font-size: 2rem;
		margin-top: 3rem;
	}
	.shareTotal span {
		display: block;
		margin: 1rem 0 0 0;
	}
	/*products
	-------------------------------------------------------*/
	.productTtlArea {
		height: auto;
	}
	.productTtlWrap {
		display: block;
	}
	.productTtl {
		max-width: 100%;
	}
	.productTtl .sub {
		font-size: 2.4rem;
	}
	.productTtl h1 {
		font-size: 3rem;
	}
	.productTtl h1._sm {
		font-size: 3rem;
		padding: 1rem 2rem;
		margin-bottom: 1rem;
	}
	.productTtl h1._solar {
		font-size: 2rem;
		padding: .5rem 1rem;
	}
	.productTtl .release{
		padding: 0.4rem 1rem;
		font-size: 1.8rem;
		margin: 0 0 2rem;
	}
	.ttlSpec {
		font-size: 1.4rem
	}
	.productTtlWrap .img {
		width: 60%;
		margin: 0 auto 1rem;
	}
	.secTtl {
		font-size: 1.6rem;
		line-height: 1.4;
		flex-wrap: wrap;
	}
	.secTtl h2 {
		font-size: 2.8rem;
		line-height: 1;
	}
	.pointWrap {
    gap: 3rem 2%;
	}
	.pointWrap li {
    width: 49%;
	}
	.pointWrap li .img {
		height: 15.875rem;
		padding: 1.5rem;
		margin-bottom: 1rem;
	}
	.pointWrap li h3 {
		font-size: 1.6rem
	}
	.tblWrap {
		overflow: auto;
		background: url("../img/sp_scroll.png") top left no-repeat;
		background-size: 100% auto;
		padding-top: 5.5rem;
	}
	.tblWrap table {
		width: 60rem!important;
	}
	.tblWrap th, .tblWrap td {
		font-size: 1.2rem;
		padding: .5rem .7rem;
	}
	.performanceWrap {
		display: block;
	}
	.performanceWrap .img {
		width: 100%;
		margin-bottom: 2rem;
	}
	.performanceWrap .img img {
		max-height: 30rem
	}
	.performanceWrap dl {
		width: 100%;
	}
	.performanceWrap dt {
		font-size: 1.6rem;
	}
	.drawingWrap li {
		width: 50%;
	}
	#drawing h3 {
		font-size: 1.6rem;
		margin-bottom: 1rem;
	}
	.drawingWrap:not(:last-of-type) {
		margin-bottom: 2rem;
	}
	.productLinks li {
		max-width: 49%;
	}
	.productLinks li a {
		padding: 1.5rem 1rem;
	}
	.productLinks li h3 {
		font-size: 1.3rem;
		white-space: nowrap;
	}
	.productLinks li h3::after {
		width: .5rem;
    height: .9rem;
		margin-left: 1rem;
	}
	.productLinks li .icon {
		min-height: 3.8rem;
		margin-bottom: 1rem;
	}
	.productLinks li .icon img {
		max-height: 3.8rem;
	}
	.productLinks li._dl h3 span {
		font-size: 1.2rem;
		width: 4rem;
		padding: .5rem 0 .3rem;
		margin-left: 0.3rem;
	}
	.productLinks li._dl h3 span::after {
		width: .9rem;
		margin-left: 0.2rem;
	}
	.optionLinks {
		gap: 1rem 2%;
	}
	.optionLinks li {
		width: 49%;
	}
	.lnSlider {
		margin: 0;
	}
	.lnBox {
		margin: 0 2.5rem;
	}
	.lnBox .img {
		height: 18rem;
		padding: 1.5rem;
	}
	.slick-arrow {
		top: 7.4rem;
	}
	.slick-arrow.prev {
		left: -.5rem
	}
	.slick-arrow.next {
		left: auto;
		right: -.5rem;
	}
	.lity-close {
		top: auto!important
	}
	.proDetailWrap {
		display: block;
		margin-bottom: 6rem;
	}
	.simulationWrap {
		width: 100%
	}
	.simulationWrap .txt {
		font-size: 1.4rem;
		margin-top: 1rem;
	}
	.simulationWrap .note img{
		width: 2rem;
	}
	.detailSliderWrap {
		width: 100%;
		margin-bottom: 3rem;
	}
	.detailSlider .img {
		height: 25rem;
	}
	.elPoint {
		margin-top: 6rem;
	}
	.elPoint dt {
		line-height: 1.4;
		font-size: 1.5rem;
		border-left-width: .5rem;
		margin-bottom: .5rem;
	}

	/*products-list
	-------------------------------------------------------*/
	.listTtlWrap {
		display: block;
	}
	.listRht {
		width: 100%;
		padding: 5rem 0 0 1rem;
	}
	.listTtlLft {
		width: 100%;
		padding: 5rem 0 3rem;
		text-align: center;
	}
	.listTtlLft::before, .listRht::before {
		width: 110vw;
	}
	.listRht::before {
		left: -5.5vw
	}
	.listTtlLft::before {
		right: -5.5vw;
	}
	.listRht::after {
		left: auto;
		right: -4.8rem;
		top: auto;
		bottom: -3rem;
		width: 3rem;
    height: 100vw;
		transform: rotate(-90deg);
		transform-origin: bottom left;
	}
	.listRht .img {
		margin: 0;
	}
	.listRht .mij {
		top: 2rem;
		width: 5rem;
		left: 0;
	}
	.listTtlLft h1 img {
		max-height: 5rem
	}
	.listTtlLft .txt {
		font-size: 1.6rem;
		margin-top: 2rem;
	}
	.listTtlLft .btn {
		margin-top: 3rem;
	}
	.productHeader {
		display: block;
	}
	.proHeadRht {
		width: 100%;
		min-height: 16rem;
		padding: 5rem	0 3rem;
	}
	.proHeadRht::before {
		width: 110vw;
		left: -5.5vw;
	}
	.proHeadRht::after {
		left: auto;
		right: -4.8rem;
		top: auto;
		bottom: -2.9rem;
		width: 3rem;
    height: 100vw;
		transform: rotate(-90deg);
		transform-origin: bottom left;
	}
	.proHeadRht h1 {
		font-size: 1.4rem;
	}
	.proHeadRht h1 .fo-bebas {
		font-size: 3.5rem
	}
	.proHeadRht .img {
		width: 50%;
		top: 55%;
	}
	.proHeadRht .img img {
		max-height: 16.5rem;
	}
	.proHeadLft {
		text-align: center;
		padding: 5rem 0 3rem;
	}
	.proHeadLft .logo {
		margin-bottom: 2rem;
	}
	.proHeadLft .logo img {
		max-height: 5.8rem;
	}
	.proHeadLft .txt {
		font-size: 1.6rem;
		min-height: inherit;
	}
	.productList {
    gap: 5rem 4%;
	}
	.productList .lnBox {
		width: 48%;
	}
	.productList .lnBox .img {
    height: 15.552rem;
	}
	.newIco {
		width: 3.5rem;
		height: 3.5rem;
		line-height: 3.5rem;
		font-size: 1.5rem
	}
	.productList .lnBox .ttl {
		font-size: 2.4rem;
		gap: .5rem 1rem;
		flex-direction: row;
		flex-wrap: wrap;
	}
	#ef-series .productList .lnBox .ttl{
		font-size: 1.9rem;
	}
	.lnBox .ttl._solar {
		font-size: 1.6rem!important
	}
	.subCate, .lnBox .ttl .sub {
		font-size: 1.2rem;
		line-height: 1;
		padding: .2rem .3rem;
	}
	.lnBox .ttl .release{
	    font-size: 1.2rem;
	    line-height: 1;
	    padding: 0.4rem 0.6rem;
	}
	.lnBox .note, .productList + .note {
		font-size: 1.2rem;
	}
	.productList .ttlSpec th,.productList .ttlSpec td {
		padding: .3rem;
		font-size: 1rem;
	}
	.productList .ttlSpec th {
		text-align: center;
		white-space: nowrap;
	}
	.pointTtl span {
		font-size: 1.6rem;
		padding: 2rem 1rem 2rem 1.5rem;
		min-width: 20rem;
	}
	.pointTtl::after {
		right: 1rem;
		width: 1.5rem;
	}
	.mt120 {
		margin-top: 8rem;
	}
	.productsListArea {
		margin-top: 8rem;
	}
	.worksWrap {
		gap: 1rem 4%;
	}
	.worksBox {
		width: 48%;
	}
	.worksWrap .worksBox:nth-of-type(4) {
		display: block;
	}
	.worksBox .thumb {
		height: 11rem;
	}
	.worksCont {
		font-size: 1.2rem;
		padding: 1rem
	}
	.worksBox .tag {
		font-size: 1rem;
	}
	.cName {
		display: block;
		margin-top: .5rem;
	}
	.seriesPointWrap {
		display: none;
	}
	.seriesPoint {
		display: block;
		padding: 2rem;
	}
	.seriesPoint dt {
		border-right: none;
		border-bottom: 1px solid #1a1a1a;
		padding: 0 0 1rem;
		margin: 0 auto 1.5rem
	}
	.seriesPoint dd {
		padding: 0;
		display: block;
	}
	.seriesPoint dd h3 {
		text-align: center;
		margin-bottom: 1.5rem;
	}
	.seriesPoint dd .imgs {
		width: 100%;
		margin-top: 1.5rem;
	}
	.seriesPoint dd .imgs figure {
		width: 32%;
		margin: 0 .5%;
	}
	.seriesPoint dd .imgs figcaption {
		margin-top: .5rem;
	}
	.earthpower .listRht .mij {
		top: 1.5rem;
	}
	.gasTtl {
		margin-top: -1rem;
	}
	.gasTtl .ttl {
		font-size: 1.6rem;
	}
	.sojyoArea {
		padding: 3rem 1rem
	}
	.sojyoArea h2 {
		font-size: 1.6rem
	}
	.lity-content {
    max-height: 75vh !important;
    overflow: auto;
	}

	/*brand
	---------------------------------------------------------*/
	.brandMain {
		height: 100vh;
		padding-bottom: 11rem;
	}
	.brandTtl h1 img {
		min-width: inherit;
		max-height: 5.5rem;
	}
	.brandTtl h1 span {
		font-size: 2rem;
	}
	.plxImg._01 {
	}
	.brandContArea > section:not(.trans) {
		padding: 6rem 0;
	}
	#brandTopTxt {
		padding-bottom: 10rem;
	}
	.brandTopTxt h2 {
		font-size: 2rem;
		margin-bottom: 3rem;
	}
	.brandTopTxt .txt-lh {
		font-size: 1.6rem;
		text-align: left;
		text-shadow: 0 0 5px rgba(0,0,0,.5)
	}
	.brandTopTxt .logo {
		max-width: 22rem;
		margin: 6rem auto 0;
	}
	.plxImg02Wrap {
    margin-top: 65rem;
	}
	#brand-willbePage .brandTopTxt .logo img {
			height: 6rem;
	}
	.brandTopTxt .logo img[src*="/logo_meikipower"] {
		min-width: inherit
	}
	#brandProducts h2 {
		font-size: 1.8rem;
	}
	.brandProductsWrap {
		display: block;
		margin-top: 7rem;
	}
	.brandProductsWrap .imgBox {
		width: 100%;
		height: 16rem;
		padding: 1px 5rem 0 0;
		margin-bottom: 2rem;
	}
	.brandProductsWrap._02 .imgBox {
		padding: 1px 0 0 10rem
	}
	.brandProductsWrap .imgBox::before {
		width: 100vw;
	}
	.brandProductsWrap .imgBox::after {
		width: 6rem;
	}
	.brandProductsWrap .imgBox .img {
		max-width: 17rem;
		margin: -2rem auto 0
	}
	.brandProducts {
		padding-left: 0!important;
		width: 100%!important;
	}
	.brandProducts dt {
		display: block;
		font-size: 1.6rem;
	}
	.brandProducts._num dt {
		padding: 1.8rem 0 0 6rem;
	}
	.brandProducts .txt-lh {
		font-size: 1.4rem;
	}
	.brandProducts .num {
		width: 4.5rem;
	}
	.brandProducts h3 {
		font-size: 4rem;
		margin: 0 0 .5rem 0;
	}
	.brandProducts h3 small {
		margin-bottom: .5rem;
	}
	.brandLink {
		margin-top: 2rem;
	}
	.brandLink ul {
		display: flex;
		flex-wrap: wrap;
		gap: 1.7rem;
	}
	.brandLink ul:not(:last-of-type) {
    margin: 0 0 2rem 0
	}
	.brandLink a {
		padding-left: 1.2rem;
	}
	.productsGallery {
		padding: 4rem 0;
		margin: 6rem 0 2rem;
	}
	.productsGallery .img {
		margin: 0 .3rem
	}
	.brandBnr {
		display: block;
		overflow: hidden;
	}
	.bnrRht {
		width: 100%;
		padding-top: 1rem;
	}
	.bnrLft {
		width: 100%;
		padding: 3rem 1rem 2rem;
	}
	.bnrRht .img {
		max-width: 20rem;
	}
	.bnrLft .logo {
		max-width: 18rem;
		margin-bottom: 2rem;
	}
	.bnrRht::after {
		width: 2rem;
		height: 32.4rem;
		top: 14.7rem;
    right: auto;
    left: 0;
    transform: rotate(-90deg);
    transform-origin: top left;
	}
	.btnBox {
		padding: 1rem;
	}
	.blankArea {
		height: 26rem;
	}
	.brandTxtWrap {
		display: block;
	}
	.brandTxt .txt-lh {
		font-size: 1.6rem;
		margin-bottom: 4rem;
	}
	.brandTxtWrap figure {
		margin-bottom: 3rem;
	}
	.brandTxt .logo {
		display: block;
		max-width: 85%;
		margin: 0 auto 5rem;
		text-align: center;
	}
	.brandTxt .logo img {

	}
	.brandTxt .logo img[src*="logo_meikipower"] {
	}
	.brandTxt .logo img[src*="/logo."] {
	}
	.brandTxt .btn {
		text-align: center;
	}
	.brandTxt .logo .txt {
		font-size: 2rem;
		margin-bottom: .5rem;
	}
	.brandLinkWrap a {
		padding: 3rem 0;
	}
	.brandLinkWrap .box {
		font-size: 1.4rem;
	}
	.brandLinkWrap .ttlBox {
		padding-bottom: 1.5rem;
		margin-bottom: 1rem;
		transform: scale(.8)
	}
	.brandLinkWrap a::after {
		width: 2.8rem;
		height: 2.8rem;
	}
	.brandLogo {
		margin-top: 6rem;
		gap: 2rem;
	}
	.brandLogo li._01 img {
		min-height: inherit;
		max-height: 5.5rem
	}
	.brandLogo li img {
    max-height: 3.8rem;
	}
	.plxImg._01 {
		background-image: url("../img/meikipower/bg01_sp.jpg");
	}
	.plxImg._02 {
		background-image: url("../img/meikipower/bg02_sp.jpg");
	}
	.plxImg._03 {
		background-image: url("../img/meikipower/bg03_sp.jpg");
	}
	.plxImg._04 {
		background-image: url("../img/meikipower/bg04_sp.jpg");
	}
	/*brand-earthpower
	---------------------------------------------------------*/
	#brand-earthpowerPage .plxImg._01 {
    background-image: url(../img/earthpower/bg01_sp.jpg);
	}
	.brandTtl h1 {
		display: block;
		width: 80%;
		text-align: center;
		margin: 5.5rem auto 0;
	}
	.brandTtl h1 img {
		max-height: none;
	}
	#brand-earthpowerPage .plxImg._02 {
		background-image: url("../img/earthpower/bg02_sp.jpg");
	}
	#brand-earthpowerPage .plxImg._03 {
		background-image: url("../img/earthpower/bg03_sp.jpg");
	}
	#brand-earthpowerPage .plxImg._04 {
		background-image: url("../img/earthpower/bg04_sp.jpg");
	}
	.listTtl02Area {
		height: auto;
	}
	.listTtl02Wrap {
		flex-wrap: wrap;
		align-content: center;
		gap: 12rem 2%;
		width: 100%;
		padding: 3rem 2rem 4rem;
	}
	.listTtlTxt {
		width: 100%;
		max-width: 100%;
		position: relative;
		top: auto;
		order: 3;
	}
	.listTtlTxt h1 img {
		max-height: 5rem;
	}
	.listTtlTxt .txt {
		font-size: 1.6rem;
		font-weight: 600;
		margin: 2rem 0 3rem;
	}
	.list02Lft, .list02Rht {
		width: 49%;
	}
	.list02Rht {
		margin-bottom: -22rem;
	}
	.listTtl02Wrap::before, .listTtl02Wrap::after {
		left: 0;
		right: 0;
		min-width: inherit;
		width: 100%;
		height: 60%;
		bottom: auto;
	}
	.listTtl02Wrap::after {
		height: 75%;
		top: auto;
		bottom: 0;
		clip-path: polygon(0 20rem, 100% 0, 100% 100%, 0% 100%);
	}
	.usefulNav {
		display: block;
	}
	.usefulNav h2 {
		width: 100%;
		font-size: 1.4rem;
		height: auto;
		padding: 1.5rem 1rem;
		margin: 0 0 1.5rem;
	}
	.usefulNav h2 .fo-bebas {
		font-size: 2.8rem;
	}
	.usefulNav figure {
		top: 0.5rem;
		bottom: .5rem;
	}
	.usefulNav ul {
		gap:.7rem 2%;
	}
	.usefulNav li {
		width: 49%;
	}
	.usefulNav li a {
		font-size: 1.2rem;
		background-size: .4rem auto;
		background-position: right .2rem center;
		padding-right: 1rem;
	}

	/*option
	---------------------------------------------------------*/
	.optionTtlArea {
		height: auto;
		min-height: 34.2rem;
	}
	.optionTtlWrap {
		display: block;
	}
	.optionTtl {
		max-width: 100%;
		text-align: center;
	}
	.optionTtl .sub {
		font-size: 2.8rem;
		margin-bottom: 1.5rem;
	}
	.optionTtl h1 img {
    max-height: 6.5rem!important;
	}
	.optionTtlWrap .img img {
		max-height: 14.4rem;
	}
	.optionTit h1 {
		font-size: 4rem;
	}
	.optionTtlWrap .img {
		width: 100%;
		margin: 0 auto 2rem;
	}
	.opPointArea {
		display: block;
	}
	.opPoint dt {
		width: 4rem;
		font-size: 1.2rem;
	}
	.opPoint dd {
		padding-left: 1.5rem;
	}
	.opPointImg {
		margin-top: 5rem;
	}
	#opSpec {
		padding: 2rem 0;
	}
	.opSpecWrap {
		gap: 3rem 4%;
	}
	.opSpecWrap .img {
		width: 48%;
		font-size: 1.4rem
	}
	.opProductsArea {
		padding: 3rem 0
	}
	.opProducts {
		gap: 2rem 4%;
	}
	.opProducts li {
		width: 48%;
	}
	.backBtn {
		margin-top: 6rem;
	}


	/*willbe
	---------------------------------------------------------*/
	#brand-willbePage .plxImg._02 {
		background-image: url("../img/willbe/bg02_sp.jpg");
	}
	#brand-willbePage .plxImg._03 {
		background-image: url("../img/willbe/bg03_sp.jpg");
	}
	#brand-willbePage .plxImg._04 {
		background-image: url("../img/willbe/bg04_sp.jpg");
	}
	.willbeMainArea {

	}
	.willbeMain {
		width: 95%;
	}
	#willbeFeatures {
		padding: 6rem 0;
	}
	.featuresContents {
		display: block;
	}
	.featuresArea {
		padding-top: 0;
	}
	.featuresArea:not(:first-of-type) {
		margin-top: 6rem;
	}
	.featuresBox {
		flex-direction: column-reverse;
		margin: 0 auto 2rem;
		transition: 1.2s .6s;
		opacity: 0;
		transform: translateX(-2rem);
	}
	.featuresArea:nth-of-type(even) .featuresBox {
		transform: translateX(2rem);
	}
	.featuresBox.act {
		transform: none!important;
		opacity: 1
	}
	.featuresImg {
		width: 100%;
		height: 21rem;
		margin: 0 auto 2rem;
	}
	.featuresBox dl {
		width: 100%;
		max-width: none;
		margin: 0 auto;
		font-size: 1.4rem;
	}
	.featuresBox dt .num {
		font-size: 2.2rem;
	}
	.featuresBox h2 {
		font-size: 3.6rem;
		margin-bottom: 1.5rem;
	}
	.featuresBox h3 {
		font-size: 1.8rem;
		margin-bottom: 2rem;
	}
	.featuresNav {
		display: none;
		position: static;
		justify-content: center;
		margin-bottom: 2rem;
	}
	.featuresContents .slick-arrow {
		top: 13rem;
		background: rgba(0,0,0,.8) url("../img/arrow_wh.svg") center center no-repeat;
		background-size: 1rem auto;
		width: 3.4rem;
		height: 3.4rem;
	}
	.featuresContents .slick-arrow.next {
		right: .5rem;
	}
	.featuresContents .slick-arrow.prev {
		left: .5rem;
	}

	/*option-earthpower
	---------------------------------------------------------*/
	.eOpTtl {
		font-size: 1.4rem
	}
	.opTopWrap {
		display: block;
		padding: 2rem;
		margin-bottom: 4rem;
	}
	.opTopWrap dl {
		width: 100%;
		margin-top: 2rem
	}
	.opTopWrap dt {
		font-size: 1.8rem;
		margin-bottom: .5rem;
	}
	.opTopPoint {
		padding-left: 0;
		width: 100%;
		margin-top: 4rem;
		margin-right: 0;
	}
	.opTopPoint .num {
		width: 4rem;
		height: 4rem;
		font-size: 1rem;
	}
	.opTopPoint h3 {
		font-size: 1.8rem;
		margin-bottom: .5rem;
		padding-left: 5rem;
		padding-top: 1rem;
		padding-bottom: 1rem;
	}
	#opStep h3 {
		font-size: 2rem;
		margin-bottom: 2rem;
	}
	.opStepWrap {
		margin-top: 5rem;
		display: block;
	}
	.opStepWrap .opPoint {
		margin-right: 0;
		width: 100%;
	}
	.opStepWrap .opPoint dd {
		min-height: inherit;
		display: block;
	}
	.opStepWrap > .img {
		margin-top: 2rem;
	}
	#opStep h3:not(:first-of-type) {
		margin-top: 8rem;
	}
	.opStepWrap .opPoint dd.numNone {
		margin-top: -2rem;
	}
	#cellArea .tit {
		font-size: 1.8rem;
		margin-bottom: 4rem;
	}
	#cellArea .pointWrap {
		row-gap: 5rem;
	}
	.swicthWrap {
		display: block;
		padding: 2rem;
	}
	.swicthWrap dl {
		width: 100%;
	}
	.swicthWrap dt {
		font-size: 1.8rem;
	}
	.swicthWrap .img {
		width: 100%;
		margin: 0 0 2rem 0
	}
	.optionTtlWrap .productTtl h1 + span {
		font-size: 1.8rem;
	}

	/*buy
	-------------------------------------------------------*/
	.buyBtnWrap {
		margin-top: 5rem;
		display: block;
	}
	.buyBtnWrap li {
		width: 100%;
	}
	.buyBtnWrap li + li {
		margin-top: 3rem;
	}
	.buyBtnWrap li .tit {
		font-size: 1.6rem;
	}
	.contactBtn a .fo-bebas {
		font-size: 3.2rem;
		margin-right: 2rem;
	}
	.buyTtl {
		font-size: 1.8rem;
		line-height: 1.25;
	}
	.buyTtl .icon {
		width: 12rem;
		padding: 2rem 1rem;
	}
	.buyTtl .icon img {
		max-height: 2.5rem;
	}
	.buyArea h3 {
		font-size: 1.8rem;
		margin: 5rem 0 2rem;
	}
	.buyTtl+ .txt {
		margin-top: 3rem;
	}
	.ecBtn a {
		flex-direction: column;
		align-items: center;
		font-size: 1.6rem;
		padding: 1.5rem;
	}
	.ecBtn a span::after {
		width: 0.6rem;
		margin-bottom: -0.3rem;
	}
	.ecBtn a img {
		max-height: 2.5rem;
	}
	.ecBtn._pitt a img {
		max-height: 5rem;
	}
	.ecBtn a .txt small {
		font-size: 1.3rem;
		margin-bottom: 0.5rem;
	}
	.ecBtn a span {
		justify-content: center;
	}
	.buyBox dd p:first-of-type {
		min-width: inherit;
		margin: 0 0 .2rem;
	}
	#pageLinkArea {
		margin-top: 5rem;
	}
	#supportTop{
		padding-bottom: 3.2rem;
	}
	.pageBnr {
		display: block;
	}
	.pageBnr li {
		width: 100%;
		margin: 1rem 0
	}

	/*repair-detail
	---------------------------------------------------------*/
	.repairListArea {
		display: block;
	}
	#repairList h2 {
		color: #fff;
		font-size: 1.8rem;
		background: #1a1a1a;
		padding: 1.2rem 2rem;
	}
	#repairList .infoAnc {
		display: flex;
		gap: .3rem 2%;
	}
	#repairList .infoAnc li {
		flex-basis: 32%;
		margin: .2rem 0;
		border: none;
	}
	.infoAnc li a {
		padding: 1.2rem .5rem 2.2rem;
		background: #f5f5f5
	}
	.repairSide {
		width: 100%;
		margin: 6rem 0 0 0;
	}
	.repairSide ul {
		display: flex;
		flex-wrap: wrap;
	}
	.repairSide li {
		width: 50%;
	}
	.repairSide li:nth-of-type(even) {
		border-left: 1px solid #d8d8d8;
	}
	.repairSide li:last-of-type {
		width: 100%;
		text-align: center;
	}
	.repairSide a {
		padding: 1.2rem 2.7rem 1.2rem 2rem
	}

	/*history
	---------------------------------------------------------*/
	.historyNav {
		margin-bottom: 4rem;
	}
	.historyNav a {
		font-size: 1.6rem;
	}
	.historyNav a::after {
		margin-left: 2rem;
	}
	.historyNav li {
		flex-basis: 50%;
	}
	.historyNav li:nth-of-type(odd) {
		border-left: none;
	}
	.historyNav li:nth-of-type(-n + 2) {
		border-bottom: 1px solid #666;
	}
	.historyWrap::before {
		right: auto;
		left: 3.5rem;
		margin: 0;
	}
	.historyWrap::after {
		right: auto;
		left: 3rem;
		margin: 0;
	}
	.historyArea h2 {
		font-size: 1.7rem;
		text-align: left;
		padding: 3rem 0;
	}
	.historyBox + h2 {
    margin-top: 5rem;
	}
	.historyArea h2.logo img {
    height: 7rem;
	}
	.historyBox {
		display: block;
		min-height: 4.2rem;
		padding-top: 2.3rem;
		padding-left: 8.5rem;
		margin-top: 3rem !important;
	}
	.historyBox:first-of-type {
    margin-top: 0!important;
	}
	.historyBox dt {
		width: 7rem;
		height: 7rem;
		line-height: 7rem;
		font-size: 2.4rem;
		right: auto;
		margin: 0;
	}
	.historyBox dd {
		width: 100%;
		min-height: inherit;
	}
	.historyBox .lft:not(.hide) + dd {
		margin-top: 1rem;
	}
	.historyBox dd.hide {
		display: none;
	}
	.historyBox .img._p {
		max-width: 15rem;
	}
	.historyWrap:not(:last-of-type),
	#y1940 {
		padding-bottom: 5rem;
	}
	#history-1956 .imgBox {
		display: block;
	}
	#history-1956 .img._p {
		width: 100%;
		max-width: 15rem;
		margin-top: 1.5rem;
	}

	/*philosophy
	-------------------------------------------------------*/
	#philosophyHeroArea {
		padding-bottom: 15rem;
		height: 100svh;
	}
	.philosophyHero h1 {
		font-size: 2.6rem;
	}
	.catchcopy h2 {
		margin-top: 4rem;
		font-size: 1.6rem;
		margin-bottom: 2rem;
	}
	.catchcopy h3 img {
		max-height: 2.5rem
	}
	.philosophyAbout h2 {
		font-size: 4rem;
		margin-bottom: 5rem;
	}
	.philosophyAbout .txt {
		font-size: 1.6rem;
		line-height: 2.2;
		text-align: left;
	}
	.philosophyContArea {
    padding: 10vh 0 90vh;
	}
	#purpose .plxImg {
		background-image: url("../img/about/philosophy/purpose_img_sp.jpg")
	}
	#vision .plxImg {
		background-image: url("../img/about/philosophy/vision_img_sp.jpg")
	}
	.philosophyWrap {
		padding: 5rem 2rem;
		min-height: inherit;
	}
	.philosophyWrap h2 {
		font-size: 4rem;
		margin-bottom: 4rem;
	}
	.philosophyWrap h3 {
		font-size: 1.8rem;
		line-height: 1.65
	}
	.philosophyWrap .txt {
		font-size: 1.4rem;
		line-height: 2.2;
		text-align: left;
	}
	.logos {
		margin-top: 4rem;
		gap: 1rem 2rem
	}
	.logos img {
    max-height: 5.5rem;
	}
	.valueWrap {
		margin: 4rem -1.5rem 0;
	}
	.valueWrap .icon {
		width: 8.5rem;
	}
	.valueCont {
		font-size: .9rem;
	}
	.valueCont h3 {
		width: 5.5rem;
		padding: .1rem;
		font-size: 1rem;
		border-width: 1px;
		margin-bottom: .3rem;
	}
	.valueCont h4 {
		font-size: 1rem;
		margin-bottom: .3rem;
	}
	.valueCont {
		padding: 0 .8rem;
		width: 12rem;
		height: 12rem;
	}
	.philosophyMovie h2 {
		font-size: 4rem;
		margin-bottom: 5rem;
	}
	.philosophyMovie h3 {
		font-size: 3.5rem;
		margin-top: 15rem;
	}
	.movieBtnWrap {
		gap: 1.5rem;
		grid-template-columns: repeat(1,1fr);
	}
	.movieBtn a {
		padding: 1.5rem 1rem;
		padding-right: 3rem;
	}
	.movieBtn .num {
		font-size: 3.5rem;
		width: 6rem;
		padding: 1rem 0;
	}
	.movieBtn._01 .logo img {
		max-height: 2.5rem;
	}
	.movieBtn._02 .logo img {
		max-height: 3.2rem;
	}
	.movieBtn._03 .logo img {
		max-height: 3.8rem;
	}
	.movieBtn._04 .logo img {
		max-height: 2rem;
	}
	.movieBtn .logo {
		gap: .5rem;
	}
	.movieBtn .logo span {
		font-size: 1.5rem;
	}
	.playIco {
		width: 2rem;
		right: 1rem;
	}









}
