/* フロント専用 基本設定
/* 編集画面には適用しなくてよい
/* google font はfunctions.phpで読み込み

/* ========================================================================== */
/*	0. Document Setup
/* ========================================================================== */

/* Basic Setting
----------------------------------------------------------------------------- */

.large{ font-size: 1.2em; }

.small{ font-size: 0.8em; }

b , strong{ font-weight: var(--boldFontWeight); }

/* Functional Setting
----------------------------------------------------------------------------- */

.front-hidden{ display: none;}

/*	CONTENT WIDTH SETTING
/* -------------------------------------------------------------------------- */

.content-width{ max-width: var(--contentWidth); margin-inline: auto; }

.maximum-width{ max-width: var(--maximumWidth); margin-inline: auto; overflow: hidden;}

.horizontal-margin{ width: calc(100% - 36px); margin-inline: auto; }

.sidebar-width-setting{ width: calc(100% - 36px); max-width: 136rem; margin-inline: auto; }

@media ( min-width: 700px ){

	.horizontal-margin{ width: calc(100% - 72px); }

	.sidebar-width-setting{ width: calc(100% - 3em); margin-inline: auto; }
}

/* admin-bar ---------------------------------------------------------- */

.admin-bar .screen-height{ min-height: calc(100vh - 32px); }

@media (max-width: 782px){
	.admin-bar .screen-height{ min-height: calc(100vh - 46px); }
}



/* ========================================================================== */
/*	THEME SETTING
/* ========================================================================== */

/*	Site Header
/* -------------------------------------------------------------------------- */
#site_header{
	top: 0;
	left: 0;
	width: 100%;
	height: var(--headerHeight);
	z-index: 5;
}

body.home #site_header{
	position: absolute;
	background-color: transparent;
	color: white;
}

body.home #site_header.fixed{
	position: fixed;
	z-index: 2;
	background-color: rgba(255,255,255,0.9);
	color: black;
}

body:not(.home) #site_header{
	position: fixed;
	background-color: rgba(255,255,255,0.9);
	color: black;
}

body.home.modal-active #site_header,
body.modal-active #site_header{
	background-color: transparent;
	z-index: 5;
}

#site_header_inner{
	display: flex;
	gap: 2%;
	align-items: center;
	height: 100%;
	padding-left: 50px;
}

#site_header_inner .header-titles{
	height: 100%;
	padding: 5px;
	display: grid;
	place-items: center;
}

.custom-logo-link{
	display: block;
	position: relative;
	max-width: 194px;
}

#site_header_inner .header-titles .dt-logo{
	object-fit: contain;
	height: 100%;
	width: auto;
	transition: opacity 0.3s 0.2s ease;
}

body.modal-active #site_header_inner .header-titles .dt-logo{
	opacity: 0;
}

/* Header Navigation
-----------------------*/
/* Header Navigation Wrapper*/
#header_navigation_wrapper{
	flex-grow: 1;
	font-size: var(--fontSize18);
	height: 100%;
}
/* Primary Menu */
#primary_menu_wrapper{
	display: flex;
	justify-content: flex-end;
	max-width: 1180px;
	gap: 2%;
	height: 100%;
	margin-inline: auto 0;
}

#primary_menu{
	display: none;
}

@media(min-width: 1000px){
	#primary_menu{
		display: flex;
		max-width: 851px;
		flex-grow: 1;
		justify-content: space-between;
		height: 100%;
		font-family: var(--gothicFont);
		font-weight: 400;
		font-size: var(--fontSize18);
	}

	#primary_menu > li{
		flex-grow: 1;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	#primary_menu a{
		transition: color 0.3s ease;
	}

	#primary_menu li:hover > a{
		color: var(--themeColor);
	}
}
/* Primary Menu Sub Menu
------------------------------------------------------------------------ */

#primary_menu .sub-menu{
	list-style-type: none;
	line-height: 1.7;
}

#primary_menu > li > .sub-menu{
	position: absolute;
	top: var(--headerHeight);
	left: 0;
	width: calc(100vw - var(--sbw));
	display: flex;
	flex-direction: column;
	background-color: rgba(227,246,255,0.9);
	padding-block: 2em;
	mask-image: url(/images/common/sub-menu-mask.png);
  	mask-repeat: no-repeat;
  	mask-size: 0 100%;
  	mask-position: left;
  	transition: mask 0.3s linear;
	pointer-events: none;
}

#primary_menu > li.li-biz-info > .sub-menu{
	flex-direction: row;
	justify-content: center;
	align-items: flex-start;
	column-gap: 50px;

}
#primary_menu > li > .sub-menu.active{
	mask-size: 100% 100%;
	pointer-events: all;
}

#site_header.fixed #primary_menu > li > .sub-menu{
	position: fixed;
}

#primary_menu > li.li-biz-info > .sub-menu > li{
	color: var(--themeColor);
	font-size: var(--fontSize20);
	font-weight: 500;
}

#primary_menu > li:not(.li-biz-info) > .sub-menu > li{
	color: black;
	text-align: left;
}

#primary_menu > li.li-profile > .sub-menu > li{
	width: 7em;
	margin-left: var(--profileNavLeft);
}

#primary_menu > li.li-station > .sub-menu > li{
	width: 14em;
	margin-left: var(--stationNavLeft);
}

#primary_menu > li:not(.li-biz-info) > .sub-menu > li::before{
	content: "〉";
	width: 1em;
	line-height: 1.7;
}

#primary_menu > li > .sub-menu > li > .sub-menu > li{
	display: flex;
	align-items: center;
	color: black;
	font-size: var(--fontSize18);
	font-weight: 400;
}

#primary_menu > li > .sub-menu > li > .sub-menu > li::before{
	content: "〉";
	width: 1em;
	line-height: 1.7;
}

#primary_menu .li-carlife > .sub-menu{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1.7em 1.7em 1.7em 1.7em 1.7em ;
}

#primary_menu .li-car-service{
	grid-column: 1 / 2;
	grid-row: 1 / 2;
}

#primary_menu .li-car-inspection{
	grid-column: 1 / 2;
	grid-row: 2 / 3;
}

#primary_menu .li-bodywork-and-paint{
	grid-column: 1 / 2;
	grid-row: 3 / 4;
}

#primary_menu .li-bodywork-and-paint-result{
	grid-column: 2 / 3;
	grid-row: 3 / 4;
}

#primary_menu .li-car-sales{
	grid-column: 1 / 2;
	grid-row: 4 / 5;
}

#primary_menu .li-buying-and-salling-result{
	grid-column: 2 / 3;
	grid-row: 4 / 5;
}

#primary_menu .li-insurance{
	grid-column: 1 / 2;
	grid-row: 5 / 6;
}

#primary_menu .li-home-energy > .sub-menu{
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1.7em 1.7em 1.7em 1.7em ;
}


/* Mobile Nav Toggle
   hamburger menu button
------------------------------------------------------------------- */
#nav_toggle_wrapper{
	width: 50px;
	height: 50px;
	display: block;
	z-index: 5;
	padding: 5px;
	margin-right: 18px;
}


@media(min-width: 1000px){
	#nav_toggle_wrapper{
		display: none;
	}
}

#mobile_nav_toggle{
	display : flex;
	width : 100%;
	height:100%;
	flex-wrap: wrap;
	justify-content : center;
	align-content: center;
	gap: 5px;
	color: var(--themeColor);
	background-color: transparent;
	cursor: pointer;
	z-index: 100;
}

body.modal-active #mobile_nav_toggle{
	color: white;
	background-color: transparent;
}

#mobile_nav_toggle svg{
	width : 50px;
	height : 38px;
	display: block;
	position: relative;
	overflow: hidden;
	transition: all 0.5s ease;
	z-index: 1;
}

@media(min-width: 700px){
	#mobile_nav_toggle svg{
		width : 50px;
		height : 38px;
	}
}
.button-text{
	font-size : var(--fontSize14);
	font-weight : var(--mediumFontWeight);
	width : 100%;
	text-align: center;
	white-space : nowrap;
	word-break : break-all;
	transform-origin: bottom center;
}

svg rect#u1, svg rect#l1 ,svg rect#m1,svg rect#m2,.button-text{
	transform-origin: center;
	transition: all 0.3s linear;
}
#mobile_nav_toggle .toggle-icon > svg {
    display: block;
}

#mobile_nav_toggle.active{
	align-content: center;
	padding: 0;
}

#mobile_nav_toggle.active svg{
	width: 50px;
	height: 38px;
	transform: rotate(180deg);
}

#mobile_nav_toggle.active rect#m1{
	transform: rotate(30deg);
}
#mobile_nav_toggle.active rect#m2{
	transform: rotate(-30deg);
}
#mobile_nav_toggle.active rect#u1{
	transform: scale(0);
}
#mobile_nav_toggle.active rect#l1{
	transform: scale(0);
}

#mobile_nav_toggle.active .button-text{
	opacity: 0;
	font-size: 0;
}
@media (min-width: 500px){
	#mobile_nav_toggle{
		top : 5px;
		left : calc(100vw - 78px);
	}
}
#scroll-down-arrow{ position: absolute; display: block; width: 50px; height: 120px; bottom: 50px; left: 5%; right: auto;}

body:not(.home) #scroll-down-arrow{ display: none; }

#scroll-down-arrow img{ position: absolute; top: 0; left: 0;  }




/*	Menu Modal
/* -------------------------------------------------------------------------- */
body.fixed{
	overflow: hidden;
	margin-right: var(--sbw);
}

#menu_modal{
	position : fixed;
	z-index : 4;
	top : 0;
	right : 100%;
	bottom : 0;
	left : -100%;
	display : none;
	overflow-x : hidden;
	overflow-y : auto;
	transition : opacity 0.05s ease-in, left 0s 0.25s, right 0s 0.25s;
	opacity : 1;
}

.admin-bar #menu_modal{ top : 32px; }

@media (max-width: 782px){
	.admin-bar #menu_modal{ top : 46px; }
}

#menu_modal.show-modal{ display : flex; }

#menu_modal.active{ right : 0; left : 0; transition : opacity 0.05s ease-out; opacity : 1; }

.menu-modal-inner{
	display: block;
	overflow : auto;
	justify-content : stretch;
	width : 100%;
	padding: 100px 1em 50px;
	transition : transform 0.2s ease-in, opacity 0.2s ease-in;
	transform : translateX(150rem);
	opacity : 1;
	background : rgba(0,0,0,0.5);
	font-size: var(--fontSize20);
}

#menu_modal.active .menu-modal-inner{
	transition-timing-function : ease-out;
	transform : translateX(0);
	opacity : 1;
	backdrop-filter: blur(10px);
}

@media ( min-width: 600px ){
	.menu-modal-inner{
		padding: var(--headerHeight) 0 40px;
	}
}

/*
modal-top
*/
.modal-top{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 3%;
	max-width: 15em;
	margin-inline: auto;
	margin-bottom: var(--variableSpaceS);
	color: white;
}

@media(min-width: 500px){
	.modal-top{
		max-width: 30em;
	}
}

.modal-top > li{
	flex-basis: 6em;
	text-align: center;
}
/*
modal-menu
*/

.modal-menu{
	width : 100%;
	list-style-type: none;
	display: grid;
	column-gap: 10px;
	row-gap: 20px;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	color: white;
	font-size: clamp(10px,calc( 2.22vw + 2.9px ),14px);
	line-height: 1.7;
	margin-bottom: var(--variableSpaceS);
	max-width: 32em;
	margin-inline: auto;
}

@media(min-width: 500px){
	.modal-menu{
		font-size: var(--fontSize18);
	}
}

@media(min-width: 1000px){
	.modal-menu{
		display: none;
	}
}

.modal-menu > li > a{
	display: block;
	background-color: var(--themeColor);
	text-align: left;
	padding: 15px 5px;
	font-weight: 600;
}

.modal-menu li:hover > a{
	color: #FFD050;
}

.modal-menu a[tabindex="-1"]{
	pointer-events: none;
}

.modal-menu a:not([tabindex="-1"]){
	display: flex;
}

.modal-menu a:not([tabindex="-1"])::before{
	content: "〉";
	width: 1em;
	height: 1em;
	display: inline-block;
}

.modal-menu .sub-menu{
	list-style-type: none;
	padding-left: 5px;
}

@media(min-width: 400px){
	.modal-menu .sub-menu{
		padding-left: 10px;
	}
}

.modal-menu .li-biz-info{
	grid-column: 1 / 3;
	grid-row: 1 / 10;
}

.modal-menu .li-biz-info > a{
	text-align: center;
}

.modal-menu .li-biz-info > .sub-menu{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
}

	.modal-menu .li-carlife{
		grid-column: 1 / 2;
		grid-row: 1 / 9;
	}

	.modal-menu .li-home-energy{
		grid-column: 2 / 3;
		grid-row: 1 / 9;
	}
/*	Page Header
/* -------------------------------------------------------------------------- */
body.home #page_header{
	position : relative;
	z-index : 3;
	height: auto;
	background-color: white;
	overflow: hidden;
}

body.home #page_header.transparent{
	opacity: 0;
	z-index: 0;
}

body:not(.home) #page_header{
	position : relative;
	z-index: 1;
	display : flex;
	flex-wrap: wrap;
	align-items : center;
	justify-content : center;
	background-color: var(--bodyBgColor);
	height:600px;
}

body:not(.home) #page_header.small-header{
	height: 400px;
}

@media(min-width: 1000px){
	body:not(.home) #page_header{
		height: 620px;
	}
	body:not(.home) #page_header.small-header{
	height: 500px;
}
}

.title-wrap{
	text-align: center;
	position: absolute;
}

h1.page-title{
	display: inline-block;
	max-width: 800px;
	font-family: var(--minchoFont);
	font-size: var(--fontSize40);
	text-align: center;
	color: white;
}

h1.page-title .parent{
	font-size: var(--fontSize24);
	padding-bottom: 1em;
	border-bottom: 1px solid white;
}
h1.page-title .parent-title{
	font-weight: 700;
}

h1.page-title .parent-slug{
	font-weight: 400;
	text-transform: uppercase;
	font-family: var(--englishFont);
	letter-spacing: 0.3em;
}



h1.page-title .jp{
	font-size: var(--fontSize36);
	font-weight: 700;
}

h1.page-title .eng{
	text-transform: uppercase;
	font-size: var(--fontSize60);
	font-family: var(--englishFont);
	letter-spacing: 0.2em;
	padding-left: 0.2em;
}

.search h1.page-title{ overflow : hidden; max-width : 95vw; word-break : keep-all; }

/* Parallax bg
------------------------------------------------------------------------------ */
#parallax_bg{
	position: fixed;
	z-index: 0;
	width: 100%;
	height: 100vh;
}

#parallax_bg img{
	object-fit: cover;
	height: 100%;
	width: 100%;
}
/* parallax window
------------------------------------------------------------------------------ */
.parallax-window{
	height: 55svh;
	width: 100%;
	display: grid;
	place-items: center;
}

.parallax-window div{
	font-family: var(--englishFont);
	font-size: var(--fontSize100);
	font-weight: 300;
	color: white;
	text-align: center;
	letter-spacing: 0.4em;
}
/* Featured Media
------------------------------------------------------------------------------*/
.featured-media{
	width: 100%;
	position: relative;
	height: 100%;
}

@media(min-width: 1000px){
	.featured-media{
		height: 620px;
	}
}

.featured-media-inner{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.featured-media img{
	position: fixed;
	object-fit: cover;
	object-position: bottom;
	width: 100%;
	height: 100%;
}

@media(min-width: 1000px){
	.featured-media img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	body.kaiseimaru .featured-media img{
		object-position: left 70%;
	}
}



/* billboardMovie
----------------------------------------------------------------------------- */
#movie_header{
	display: block;
    opacity: 1;
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100vh;
}

/*breadcramb
------------------------------------------------------------------------------ */
.breadcramb{
	width: 100%;
	text-align: left;
	font-weight: var(--lightFontWeight);
	margin-top: 5px;
}
/* ========================================================================== */
/*	2．MAIN
/* ========================================================================== */
#site_content{
	position: relative;
	z-index: 1;
}
/* page.php
============================================================================= */

body:not(.home):not(.single-interview) #site_content{ position: relative;}

/*	index.php post_type_archive / blog / monthly_archive
----------------------------------------------------------------------------- */

.two-columns{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

@media(min-width: 1000px){
	.two-columns{
		flex-direction: row-reverse;
	}
}

.two-columns #main-column{
	flex-basis: 100%;
	background-color: white;
	padding-top: var(--variableSpaceS);
	padding-inline: 18px;
}

.two-columns #archive-sidebar{
	flex-basis: 100%;
	padding-top: var(--variableSpaceS);
	padding-inline: 18px;
}

@media(min-width: 700px){
	.two-columns #main-column{
		padding-inline: 36px;
	}

	.two-columns #archive-sidebar{
		padding-inline: 36px;
	}
}



@media(min-width: 1000px){

	.two-columns #main-column{
		flex-basis: 60.5%;
	}

	.two-columns #archive-sidebar{
		flex-basis: 39.5%;
		padding: 0;
		position: relative;
	}


}

/* #main-column
----------------------------------------------------------------------------- */
#main-column > article{
	width: 100%;
	margin-right: 0;
	margin-left: auto;
	padding-bottom: var(--variableSpaceS);
	padding-bottom: var(--variableSpaceS);
}

#main-column > article.hentry{
	border-bottom: 1px solid var(--themeBlue);
}

@media(min-width: 1409px){
	#main-column > article{
		width: calc(100% + 36px - (100vw - var(--sbw) - 1320px) / 2);
	}
}

/* entry-header
----------------------------------------------------------------------------- */

.entry-header{ padding: 0; background-color: inherit; }

h2.entry-title{
	margin: 0 0 0.5em;
	width: 100%;
	font-size: var(--fontSize30);
}

.entry-title a{ text-decoration: none; color: inherit; }

.post-date{
	font-size: var(--fontSize18);
	font-weight: var(--regularFontWeight);
	margin-bottom: 1em;
}

.post-cat{
	color: var(--themeColor);
}

/* pagenation
----------------------------------------------------------------------------- */

.nav-links{ text-align: center; }

span.page-numbers:not(.prev):not(.next){
	background-color: var(--themeColor);
	color: white;
	margin: 5px;
	display: inline-block;
	width: 1.5em;
	padding: 3px;
 }

a.page-numbers{ transition: var(--easeOutExpo);}

a.page-numbers:not(.prev):not(.next){
	border: 1px solid var(--footerBgColor);
	margin: 5px;
	display: inline-block;
	width: 1.5em;
	padding: 3px;
	background-color: #C6E9FF;
	color: var(--themeColor);
	border: 1px solid #C6E9FF;
}

@media(hover: hover){
	a.page-numbers:not(.prev):not(.next):hover{
		background-color: var(--themeColor);
		color: white;
	}
}

a.page-numbers.next,a.page-numbers.prev{ color: var(--themeColor); transition: var(--easeOutExpo);}

@media(hover: hover){
	a.page-numbers.next:hover,a.page-numbers.prev:hover{ color: var(--textOrangeDark); }
}

a.page-numbers.prev .arrow{ display: inline-block; transform: rotate(30deg);}

a.page-numbers.next .arrow{ display: inline-block; transform: rotate(-30deg);}

.page-numbers.current{ position: relative;}


/* #archive-sidebar
----------------------------------------------------------------------------- */
#archive-sidebar h2{
	font-size: var(--fontSize20);
	font-family: inherit;
	font-weight: var(--midiumFontWeight);
	display: block;
	width: 100%;
	max-width: 350px;
	line-height: 1;
	padding: 0.59em 0;
	text-align: center;	;
	color: black;
	background-color: var(--themeColorLight);
	margin-bottom: 0.5em;
}
#archive-sidebar ul{
	margin: 0 10px;
	font-weight: var(--regularFontWeight);
	line-height: 1.5;
}

#archive-sidebar ul.cat-list li:last-child{
	margin-top: 1em;
}

#archive-sidebar ul.mark-arrow li::before{
	color: var(--themeColor);
}

#archive-sidebar select{
	font-size: var(--fontSizeS);
	margin: 0 10px;
	padding: 0.5em;
	width: calc(100% - 20px);
	background-color: white;
	border: 1px solid #ccc;
}
.sidebar-block-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 15px;
	max-width: 100%;
	margin: 0;
	padding-inline: 0;
}

@media(min-width: 1000px){
	.sidebar-block-wrap{
		max-width: 458px;
		margin: 0;
		justify-content: flex-start;
		padding: 36px;
	}
	.two-columns .sidebar-block-wrap.fixed{
		position: fixed;
		top: var(--headerHeight);
		right: 0;
		margin-right: calc(39.5% - 458px);
	}
}

.sidebar-block{ flex-basis: 233px; flex-grow: 1; max-width: 350px; }



/*	Single.php
============================================================================= */

/* SINGLE PAGINATION
----------------------------------------------------------------------------- */

.pagination-single{
	font-size: var(--fontSizeM);
	margin-top: 5rem;
}

.pagination-single-inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.pagination-single hr:first-child{
	margin: 0 0 2.8rem 0;
}

.pagination-single hr:last-child{
	margin: 2.8rem 0 0.8rem 0;
}

.pagination-single-inner > *{
	font-weight: var(--boldFontWeight);
	display: flex;
	align-items: baseline;
	text-decoration: none;
	letter-spacing: -0.0275em;
	width: 7.5em;
	color: var(--themeColor);
	font-size: var(--fontSize18);
	line-height: 30px;
}

.pagination-single a.previous-post .arrow{
	margin-right: 1rem;
}

.pagination-single a.next-post .arrow{
	margin-left: 1rem;
}

.pagination-single a.return-list{
	width: 6em;
	background-color: var(--textblueLight);
	padding: 0.5em;
	font-size: var(--fontSize20);
	color: black;
}

.pagination-single a .dashicons{
	width: 1em;
	height: 1em;
	font-size: 30px;

}

@media(hover: hover){
	.pagination-single a:focus .title , .pagination-single a:hover .title{
		text-decoration: underline;
	}
}

@media ( min-width: 700px ){

	.pagination-single{
		font-size: var(--fontSizeL);
		margin-top: 8rem;
	}

	.pagination-single.only-next .pagination-single-inner{
		justify-content: flex-end;
	}

	.pagination-single hr:first-child{
		margin: 0 0 4rem 0;
	}

	.pagination-single hr:last-child{
		margin: 4rem 0 0.8rem 0;
	}

	.pagination-single .next-post{
		text-align: right;
	}
}


/*	search.php
============================================================================= */

/* Search Results
----------------------------------------------------------------------------- */

.no-search-results-form{
	padding-top: 5rem;
}

@media ( min-width: 700px ){

	.no-search-results-form{
		padding-top: 8rem;
	}
}

/* Search Form
----------------------------------------------------------------------------- */

.search-form{ display: flex; align-items: stretch; flex-wrap: nowrap; margin: 0 0 -0.8rem -0.8rem; }

.search-form .search-field , .search-form .search-submit{ margin: 0 0 0.8rem 0.8rem; }

.search-form label{ font-size: inherit; display: flex; align-items: stretch; width: 100%; max-width: 300px; margin: 0; }

.search-form .search-field{ width: 100%; }

.search-form .search-submit{ flex-shrink: 0; }

@media(hover: hover){
	.search-form .search-submit:focus , .search-form .search-submit:hover{ text-decoration: none; }
}
/*	Error 404
============================================================================= */


.error404 #site_content{
	padding-top: 4rem;
}

.error404-content{
	text-align: center;
}

.error404 #site_content .search-form{
	justify-content: center;
	margin-top: 3rem;
}
@media (min-width: 700px){

	.error404 #site_content{
		padding-top: 8rem;
	}
}

/* ========================================================================== */
/*  Site Map
============================================================================= */
ul#site_map li{
	list-style-type: none;
}

ul#site_map > li{
	margin-bottom: 40px;
}

ul#site_map li a{
	display: flex;
	flex-wrap: wrap;
	place-content: center;
	font-weight: 700;
	text-align: center;
	color: white;
	padding-block: 0.5em;
	background: linear-gradient(to right bottom , #67BBE5 , #0089CE );
	margin-bottom: 15px;
}

ul#site_map .sub-menu{
	padding-inline: 1em;
	margin-bottom: 40px;
}

ul#site_map > li .sub-menu a{
	background: #9DDEFF;
	color: var(--themeColor);
}

ul#site_map > li > .sub-menu > li > a[tabindex="-1"]{
	background: #E3F6FF;
	color: var(--themeColor);
}

/* ========================================================================== */
/*	3．FOOTER
/* ========================================================================== */


/*	Site Footer
----------------------------------------------------------------------------- */

#site_footer{
	padding : var(--variableSpaceS) 0 0;
	position : relative;
	background-color : var(--themeTranslucent90);
	color: var(--footerTextColor);
	font-size : clamp(12px,calc( 0.56vw + 10.2px ),18px);
	z-index: 2;
}

body.blog #site_footer{
	z-index: 2;
}

.footer-widgets{ margin-bottom: 50px;}

@media(min-width: 1200px){
	.footer-widgets{ margin-bottom: 250px;}
}

.footer-grid{
	display: grid;
	font-size: inherit;
	font-weight: 500;
	grid-template-columns: 1fr;
	grid-template-rows: auto;
}


@media(min-width: 1300px){

	.footer-grid{
		grid-template-columns:  260px 50em;
		column-gap: 3%;
		row-gap: 0;
		justify-content: space-between;

	}

	.footer-grid > div:nth-child(1){
		grid-column: 1 / 2;
		grid-row: 1 / 2;
		margin-top: 0.5em;
	}

	.footer-grid > div:nth-child(1) img{
		margin: 0
	}

	.footer-grid > div:nth-child(2){
		grid-column: 2 / 3;
		grid-row: 1 / 2;
		width: 100%;
		margin: 0;
	}
}

#menu-footer{
	list-style-type: none;
	line-height: 2em;
	display: grid;

	grid-template-columns: 8em 13em;
	grid-template-rows: 2em;
	column-gap: 1em;
	width: 22em;
}

#menu-footer .li-top{
	grid-column: 1 / 2;
	grid-row: 1 / 2;
}

#menu-footer .li-information{
	grid-column: 2 / 3;
	grid-row: 1 / 2;
}

#menu-footer .li-contact{
	grid-column: 1 / 2;
	grid-row: 2 / 3;
}

#menu-footer .li-recruit{
	grid-column: 2 / 3;
	grid-row: 2 / 3;
}

#menu-footer .li-biz-info{
	grid-column: 1 / 3;
	grid-row: 3 / 12;
	margin-bottom: 2em;
}

	#menu-footer .li-biz-info > .sub-menu{
		display: grid;
		grid-template-columns: 8em 11em;
		grid-template-rows: 2em;
		column-gap: 1em;
	}
	#menu-footer .li-carlife{
		grid-column: 1 / 2;
		grid-row: 1 / 9;
	}

	#menu-footer .li-homeenergy{
		grid-column: 2 / 3;
		grid-row: 1 / 6;
	}

#menu-footer .li-about{
	grid-column: 1 / 2;
	grid-row: 15 / 22 ;
	margin-bottom: 2em;
}

#menu-footer .li-service{
	grid-column: 2 / 3;
	grid-row: 15 / 22;
}

#menu-footer .li-policy{
	grid-column: 1 / 3;
	grid-row: 23 / 24;
}

#menu-footer .li-map{
	grid-column: 1 / 3;
	grid-row: 24 / 25;
}


#menu-footer li a{
	transition: color 0.3s ease;
}

#menu-footer li a:not([tabindex="-1"]):hover{
	color: #9DDEFF;
}

#menu-footer .sub-menu{
	list-style-type: none;
}

@media(min-width: 900px){
	#menu-footer{
		grid-template-columns: 7em 8em 11em 7em 13em;
		grid-template-rows: 2em 2em 2em 2em 2em 2em 2em 2em 2em 2em;
		column-gap: 1em;
		width: 49em;
	}

	#menu-footer .li-top{
		grid-column: 1 / 2;
		grid-row: 1 / 2;
	}

	#menu-footer .li-information{
		grid-column: 1 / 2;
		grid-row: 2 / 3;
	}

	#menu-footer .li-contact{
		grid-column: 1 / 2;
		grid-row: 3 / 4;
	}

	#menu-footer .li-recruit{
		grid-column: 1 / 2;
		grid-row: 4 / 5;
	}
	#menu-footer .li-biz-info{
		grid-column: 2 / 4;
		grid-row: 1 / 7;
		margin: 0;
	}

		#menu-footer .li-biz-info > .sub-menu{
			display: grid;
			grid-template-columns: 8em 11em;
			grid-template-rows: 2em 1fr;
			column-gap: 1em;
		}
		#menu-footer .li-carlife{
			grid-column: 1 / 2;
			grid-row: 1 / 2;
		}

		#menu-footer .li-homeenergy{
			grid-column: 2 / 3;
			grid-row: 1 / 2;
		}

	#menu-footer .li-about{
		grid-column: 4 / 5;
		grid-row: 1 / 7 ;
		margin: 0;
	}

	#menu-footer .li-service{
		grid-column: 5 / 6;
		grid-row: 1 / 7;
	}
	#menu-footer .li-policy{
		grid-column: 4 / 6;
		grid-row: 9 / 10;
	}

	#menu-footer .li-map{
		grid-column: 4 / 6;
		grid-row: 10 / 11;
	}
}

#menu-footer .sub-menu li:not(.li-carlife):not(.li-homeenergy){
	position: relative;
	padding-left: 1em;
	font-weight: 400;
	font-size: 0.95em;
	color: #E3F6FF;
}

#menu-footer .sub-menu li:not(.li-carlife):not(.li-homeenergy)::before{
	content: "〉";
	width: 1em;
	height: 2em;
	position: absolute;
	left: 0;
	top: 0;

}

/* SNSリンク　*/
.sns-link a{
	display: flex;
	align-items: center;
	column-gap: 10px;
}

.sns-link a::before{
	content: "";
	width: 1.44em;
	height: 1.44em;
	display: block;
	background-image: url(/images/common/icon_instagram.svg);
	background-size: contain;
}

/* ページトップに戻る
----------------------------------------------------------------------------- */

a.to-the-top{
	position : fixed;
	z-index: 2;
	right : 10px;
	bottom : 1rem;
	transform : translateX(135%);
	transition: transform 0.3s ease;
	color: var(--themeBlue);
}

a.to-the-top svg{
	width: 40px;
	height: 30px;
}
a.to-the-top > *{
	pointer-events : none;
}

.to-the-top-long{
	display : none;
}

/* COPYRIGHTS
----------------------------------------------------------------------------- */
#copyrights{
	text-align: center;
	letter-spacing: 0.3em;
	font-weight: 500;
    height: calc(var(--fontSize18) * 3);
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
}


svg#svg_library + div{
	position: relative;
	z-index: 5;
}
/* google reCAPTCHA
----------------------------------------------------------------------------- */

.grecaptcha-badge{
	visibility: hidden;
	z-index: 0;
}

.grecaptcha-badge{
	bottom: 60px!important;
}

#gr_badge{
	display: flex;
	width: 256px;
	height: 70px;
	border: 1px solid #1a73e8;
	border-radius: 5px;
	margin: 20px auto;
	box-shadow: 0 0 5px #aaa;
}

#gr_badge figure{
	padding: 13px 11px;
	width: 70px;
}

#gr_badge figure.mono img{
	mix-blend-mode: luminosity;
}

#gr_badge div{
	background-color: #1a73e8;
	color: white;
	font-size: 10px;
	flex-basis: 186px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 5px;
}

#gr_badge div.disable{
	background-color: gray;
}

#gr_badge p{ margin: 0;}

#gr_badge a{ display: block; }


/*=========================================================================== */
/* Google Map embed
============================================================================= */

.ggmap{
	position: relative;	overflow: hidden; max-width: 100%; height: 300px;text-align: center; }

.ggmap iframe , .ggmap object , .ggmap embed{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; }



/*=========================================================================== */
/* Contents Setting
============================================================================= */
/*common setting
-----------------------------------------------------------------------------*/
.bg-white{
	position: relative;
	z-index: 1;
	background-color: white;
	overflow: hidden;
}

.bg-gray{
	background-color: var(--themeGray);
}

.bg-blue{
	background-color: var(--themeColor);
}

.rounded{
	border-radius: 5vw;
}

@media(min-width: 1000px){
	.rounded{
		border-radius: 50px;
	}
}

.orange{ color: #FF7F00;}

/* history list
----------------------------------------------------------------------------*/

.history-list{
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em 2em;
	font-family: var(--gothicFont);
}

.history-list .separator{
	flex-basis: 100%;
	height: 1px;
	border-bottom: 1px solid #9DDEFF;
	margin: 0.2em 0;
}

.history-list .left{
	flex-basis: 100%;
}

.history-list .right{
	flex-basis: 100%;
}

.history-list figure{
	display: inline-block;
}

@media(min-width: 600px){

	.history-list .left{
		flex-basis: 8em;
	}

	#profile .history-list .left{
		flex-basis: 32%;
		max-width: 20em;
		min-width: 7em;
	}

	.history-list .right{
		flex-basis: calc(100% - 10em);
	}

	#profile .history-list .left{
		text-align: center
	}

	#history .history-list .left{
		flex-basis: 10em;
		text-align: right;
	}

	#profile .history-list .left span{
		display: inline-block;
		width: 5em;
		text-align:justify;
		text-align-last:justify;
	}

	#histry .history-list .left span{
		display: inline-block;
		width: 8em;
	}

	#profile .history-list .right{
		flex-basis: calc(68% - 2em );
		padding-left: 0;
	}

	#history .history-list .right{
		flex-basis: calc(100% - 12em);
	}
}

/* pourin
-----------------------------------------------------------------------------*/
[class^="flex-pourin"]{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 20px 0;
}

[class^="flex-pourin"].rev{
	flex-direction: column-reverse;
}

[class^="flex-pourin"] figure{ max-width: 100%; margin: 0 auto 20px;}

[class^="flex-pourin"]::after{ content: "";clear: both;display: block;}

@media(min-width: 700px){

	[class^="flex-pourin"]{	display: block;}

	.flex-pourin-right figure{ float: left; width: 40%; max-width: 400px; margin: 0 6% 20px 0!important;}

	.flex-pourin-left figure{ float: right; width: 40%; max-width: 400px; margin: 0 0 20px 6%!important;}

	[class^="flex-pourin"]::after{
		content: "";
		clear: both;
	}
}
/* headline

/* rounded rectangle
-------------------------------------------------------------------*/
.rounded-rectangle{
	display: flex;
	width: 100%;
	height: 2.67em;
	justify-content: center;
	align-items: center;
	line-height: 1;
	border-radius: 1.4em;
	margin-bottom: 1em;
}

/*flex-setting
----------------------------------------------------------------- */

/* page launcher
----------------------------------------------------------------------------- */
.page-launcher{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	row-gap: 10px;
}

@media(min-width: 600px){
	.page-launcher{
		column-gap: 2%;
		row-gap: 20px;
	}
}

.page-launcher > a{
	flex-basis: 100%;
	height: 120px;
	font-size: var(--fontSize24);
	color: white;
	padding: clamp(20px,3vw,40px);
	position: relative;
	transition: var(--easeOutExpo);
	overflow: hidden;
}


@media(min-width: 600px){
	.page-launcher > a{
		flex-basis: 49%;
		height: 200px;
	}
}

.page-launcher > a:hover{
	padding: clamp(10px,1.5vw,20px);
}

.page-launcher > a::before{
	content: "";
	width: 100%;
	height: 100%;
	background-color: var(--themeColor);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	mix-blend-mode: multiply;
	transition: var(--easeOutExpo);
}

.page-launcher > a:hover::before{
	background-color: var(--themeTranslucent50);
}

.page-launcher > a figure{
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.page-launcher > a img{
	object-fit: cover;
	object-position: center;
	height: 100%;
	width: 100%;
	transition: var(--easeOutExpo);
}

.page-launcher > a:hover img{
	transform: scale(1.1);
}

.page-launcher > a >div{
	border: 1px solid white;
	width: 100%;
	height: 100%;
	display: grid;
	place-content: center;
	position: relative;
	z-index: 2;
	text-align: center;
}

.page-launcher > a > div > *{
	transition: var(--easeOutExpo);
}

.page-launcher .eng{
	font-family: var(--englishFont);
	font-weight: 300;
	letter-spacing: 0.2em;
}

.page-launcher > a:hover .jpn{
	transform: translateY(100%);
}

.page-launcher > a:hover .eng{
	transform: translateY(-100%) scale(1.3);
}


body.services .page-launcher > a[href="/car-life/service-station/"],
.page-launcher > a.current{
	display: none;
}

.page-launcher.indiv{
	max-width: 635px;
	margin-inline: auto;
}

.page-launcher.indiv a{
	flex-basis: 100%;
}

/* page-launcher2
-----------------------------------------*/
.page-launcher2{
	display: flex;
	flex-wrap: wrap;
	column-gap: 3.8%;
	row-gap: var(--variableSpaceS);
}

.page-launcher2 > a{
	flex-basis: 48.1%;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto;
}

@media(min-width: 600px){
	.page-launcher2 > a{
		flex-basis: 30.8%;
	}
}

.page-launcher2 > a figure{
	aspect-ratio: 1 / 0.625;
	overflow: hidden;
	position: relative;
}

.page-launcher2 > a figure::before{
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(0,137,206,0.3);
	transition: var(--easeOutExpo);
	z-index: 2;
	mix-blend-mode: multiply;
}

.page-launcher2 > a:hover figure::before{
	background-color: rgba(0,137,206,0);
}

.page-launcher2 > a img{
	width: 100%;
	height: 100%;
	transition: var(--easeOutExpo);
}

.page-launcher2 > a:hover img{
	transform: scale(1.1);
}

.page-launcher2 > a > div{
	background-color: var(--themeColor);
	color: white;
	font-size: var(--fontSize20);
	font-weight: 700;
	width: 100%;
	height: 6em;
	display: grid;
	place-items: center;
	text-align: center;
	transition: var(--easeOutExpo);
}

.page-launcher2 > a:hover > div{
	background-color: white;
	color: var(--themeColor);
}

#ss_launcher h2{
	color: white;
	text-align: center;
	margin-bottom: var(--variableSpaceS);
}

#ss_launcher .jpn{
	font-weight: 600;
	font-size: var(--fontSize36);
}

#ss_launcher .eng{
	font-weight: 300;
	font-size: var(--fontSize24);
	font-family: var(--englishFont);
	letter-spacing: 0.1em;
	padding-left: 0.1em;
}

.page-launcher3{
	background-color: var(--themeColorLight);

}

.page-launcher3.or{
	background-color: #FFFB90;
}

.page-launcher3 > a{
	display: grid;
	grid-template-columns: 1fr;
	max-width: 400px;
	margin-inline: auto;
}

@media(min-width: 600px){
	.page-launcher3 > a{
		max-width: 800px;
		grid-template-columns: 50% 50%;
	}
}

.page-launcher3 > a > div{
	background: linear-gradient(to right , #67BBE5 , #0089CE );
	color: white;
	display: grid;
	place-content: center;
	row-gap: 10px;
	text-align: center;
	padding-block: 1em;
	transition: var(--easeOutExpo);
}

.page-launcher3 > a:hover > div{
	background: linear-gradient(to right , #67BBE5 , #67BBE5 );;
}

.page-launcher3 > a > figure{
	position: relative;
	overflow: hidden;
	aspect-ratio: 2 / 1;
	max-width: 400px;
}

.page-launcher3 > a > figure::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--themeTranslucent50);
	mix-blend-mode: multiply;
	transition: var(--easeOutExpo);
}

.page-launcher3 > a:hover > figure::after{
	background-color: transparent;
}

.page-launcher3 > a img{
	transition: var(--easeOutExpo);
}

.page-launcher3 > a:hover img{
	transform: scale(1.1);
}

.contact-by-phone .freedial{
	display: flex;
	align-items: center;
}

.contact-by-phone .freedial::before{
	content: "";
	width: 1.8em;
	height: 1em;
	background-image: url(/images/common/freedial.svg);
	background-repeat: no-repeat;
	background-position: left;

}

body.service-station .contact-launcher .contact-by-phone,
body.services .contact-launcher .contact-by-phone{ display: none;}

#contact_info .blue{ color: var(--themeColor);}

/* section launcher
----------------------------------------------------------------------------- */
.section-launcher{
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
	justify-content: space-around;
	margin-inline: auto;
	font-size: clamp(10.7px,calc( 0.67vw + 8.6px ),18px);
}


.section-launcher > *{
	font-weight: 500;
	flex-basis: 30%;
	min-width: 13em;
	height: 3.28em;
	padding-inline: 1em;
	flex-shrink: 1;
	color: var(--themeColor);
	background-color: white;
	display: flex;
	flex-wrap: wrap;
	column-gap: 1em;
	align-content: center;
	transition: var(--easeOutExpo);
	border: 1px solid var(--themeColor);
}

.section-launcher > * > div{
	text-align: center;
	width: 100%;
}

.section-launcher > *.current{
	background-color: var(--themeColorLight);
}

@media(hover: hover){
	.section-launcher > *:hover{
		background-color: var(--themeColorLight);
	}
}


.section-launcher svg{
	width: 1em;
	height: 1em;
}

/* recruit launcher
-------------------------------------------------------------------------*/
#recruit_launch{
	transition: var(--easeOutExpo);
}

#recruit_launch:has(.recruit-launcher:hover){
	background-color: #67BBE5;
}

.recruit-launcher{
	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: auto;
}

@media(min-width: 700px){
	.recruit-launcher{
		grid-template-columns: 38.5% 61.5%;
	}
}

.recruit-launcher .left{
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto;
	place-items: center;
	place-content: center;
	row-gap: 30px;
	padding-block: var(--variableSpaceS);
}

@media(min-width: 700px){
	.recruit-launcher .left{
		padding-block: 0;
	}
}

.recruit-launcher .left .top{
	width: 82%;
	max-width: 410px;
}

.recruit-launcher .left .bottom{
	display: block;
	width: 68%;
	max-width: 340px;
	position: relative;
}

@media(hover: hover){
	.recruit-launcher .bottom img{
		transform: translate(-50% , 50%);
		opacity: 0;
		transition: var(--easeOutExpo);
	}
}

.recruit-launcher:hover .bottom img{
	opacity: 1;
	transform: translate(0);
}

.recruit-launcher .right{
	position: relative;
	display: grid;
	place-items: center;
}

.staff-wrap{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	position: relative;
}

.staff-wrap::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #67BBE5;
	mix-blend-mode: multiply;
	z-index: 2;
	transition: var(--easeOutExpo);
}

.recruit-launcher:hover .staff-wrap::before{
	background-color: #9DDEFF;
}

.staff-wrap figure{
	position: relative;
	z-index: 1;
	overflow: hidden;
}

.recruit-launcher .staff-wrap img{
	transition: var(--easeOutExpo);
}

.recruit-launcher:hover .staff-wrap img{
	transform: scale(1.1);
}

.recruit-launcher .inner-text{
	position: absolute;
	z-index: 3;
	bottom: 10%;
	color: white;
	display: grid;
	row-gap: var(--fontSize36);
	text-align: center;
}

.recruit-launcher .inner-text *{
	transition: var(--easeOutExpo);
}

.recruit-launcher .inner-text .jpn{
	font-size: var(--fontSize36);
	font-weight: 700;
}

.recruit-launcher .inner-text .eng{
	font-family: var(--englishFont);
	font-size: var(--fontSize24);
	font-weight: 400;
	letter-spacing: 0.1em;
}

.recruit-launcher .inner-text .btn{
	font-size: var(--fontSize20);
	font-weight: 700;
	border: 1px solid white;
	padding: 0.5em 1.5em;
}
@media(hover: hover){
	.recruit-launcher:hover .inner-text .jpn{
		transform: translateY(100%);
	}

	.recruit-launcher:hover .inner-text .eng{
		transform: translateY(-200%) scale(3.33);
	}

	.recruit-launcher:hover .inner-text .btn{
		font-size: var(--fontSize24);
		background-color: rgba(0,137,206,0.7);
	}
}
/*section-title-combo
-------------------------------------------------------------------------*/
.section-title-combo{
	font-size: var(--fontSize36);
	text-align: center;
}

.section-title-combo .eng{
	font-size: var(--fontSize24);
	font-family: var(--englishFont);
	line-height: 1;
	font-weight: 400;
	margin-bottom: 0.4em;
	letter-spacing: 0.12em;
	padding-left: 0.12em;
}

.section-title-combo.blue .eng{
	color: #67BBE5;
}

.section-title-combo .jpn{
	font-weight: 700;
	font-size: inherit;
}
/* section-heaser
-------------------------------------------------------------------------*/
#car_life_launcher .section-header{
	text-align: center;
}

#car_life_launcher .section-header .eng{
	color: #9DDEFF;
	font-size: var(--fontSize70);
	font-family: var(--englishFont);
	font-weight: 500;
	transform: skew(-10deg) scaleX(1.1);
}

#car_life_launcher .section-header .jpn{
	color: var(--themeColor);
	font-size: var(--fontSize30);
	font-weight: 700;
	transform: skew(-10deg);
}

#home_energy_launcher .section-header{
	text-align: center;
}

#home_energy_launcher .section-header .eng{
	color: var(--themeColor2Light);
	font-size: var(--fontSize70);
	font-family: var(--englishFont);
	font-weight: 500;
	transform: skew(-10deg) scaleX(1.1);
}

#home_energy_launcher .section-header .jpn{
	color: #FF7F00;
	font-size: var(--fontSize30);
	font-weight: 700;
	transform: skew(-10deg);
}

.white{
	color: white;
}

.blue{
	color: var(--themeColor);
}

/* contents-link-button*/
.contents-link-buttons-wrap{
	text-align: center;
}

.contents-link-button{
	width: auto;
	height: 3em;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	padding: 0 0.5em;
	transition: var(--easeOutExpo);
	font-weight: 500;
}

.contents-link-button.light{
	color: var(--themeColor);
	background-color: var(--themeColorLight);
}

.contents-link-button.light:hover{
	background-color: white;
}

.result-link-header{
	max-width: 635px;
	margin-inline: auto;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	column-gap: 5%;
}

.result-link-header .eng{
	color: #9DDEFF;
    font-size: var(--fontSize100);
    font-family: var(--englishFont);
    font-weight: 500;
    transform: skew(-10deg) scaleX(1.1);
    padding-left: 0.15em;
    letter-spacing: 0.1em;
	line-height: 1;
	margin: 0 0 -0.04em 0.04em;
}

.result-link-header .jpn{
	color: var(--themeColor);
	font-size: var(--fontSize30);
	padding-top: 0.3em;
	font-weight: 700;
	transform: skew(-10deg);
}
/*=========================================================================== */
/* top page
============================================================================= */
#primary_content > .horizontal-margin{
	max-width: 730px;
	margin-inline: auto;
	display: grid;
	column-gap: 4%;
	grid-template-columns: 51.5% 44.5%;
	grid-template-rows: auto;
	row-gap: clamp(20px,6.25vw,70px);
}

#primary_content .horizontal-margin .left{
	grid-column: 1 / 2;
	grid-row: 1 / 2;
	position: relative;
}

#primary_content .horizontal-margin .left img{
	position: relative;
	transform: translate(-20%,30%);
	opacity: 0;
	transition: all 0.8s cubic-bezier(0.5, 1, 0.89, 1);
}

#primary_content.active .horizontal-margin .left img{
	opacity: 1;
	transform: none;
}

#primary_content .horizontal-margin .right{
	grid-column: 2 / 3;
	grid-row: 1 / 2;
	position: relative;
}

#primary_content .horizontal-margin .right img{
	position: relative;
	transform: translate(-40%,60%);
	opacity: 0;
	transition: all 0.8s cubic-bezier(0.5, 1, 0.89, 1);
}

#primary_content.active .horizontal-margin .right img{
	opacity: 1;
	transform: none;
}

#primary_content .horizontal-margin .bottom{
	grid-column: 1 / 3;
	grid-row: 2 / 3;
}

#primary_content .horizontal-margin .bottom img{
	width: 59%;
	max-width: 400px;
}

@media(min-width: 1500px){
	.tilted-blue-side{
		width: calc(1920px - var(--sbw));
		position: relative;
		left: 50%;
		transform: translateX(-50%);
	}

	.tilted-blue-side::before{
		content: "";
		display: block;
		width: 210px;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background-color: var(--themeColor);
		clip-path: polygon(0 0,0 100% ,100% 0);
	}
	.tilted-blue-side::after{
		content: "";
		display: block;
		width: 210px;
		height: 100%;
		position: absolute;
		top: 0;
		right: 0;
		background-color: var(--themeColor);
		clip-path: polygon(0 100%,100% 100% ,100% 0);
	}
}

@media(min-width: 1920px){
	.tilted-blue-side{
		width: 100%;
	}
}

#primary_content .flex-wrapper{
	display: flex;
	flex-wrap: wrap;
	column-gap: 4%;
	row-gap: var(--variableSpaceS);
}

#primary_content .flex-wrapper > *{
	flex-basis: 100%;
}

@media(min-width: 1000px){
	#primary_content .flex-wrapper > figure{
	flex-basis: 51.5%;
	}

	#primary_content .flex-wrapper > div{
		flex-basis: 44.5%;
	}
}

.youtube-channel{
	display: flex;
	flex-wrap: wrap;
	column-gap: 0;
	background-color: var(--themeColorLight);
	padding: var(--variableSpaceS);
}

.youtube-channel > figure{
	flex-basis: 100%;
}

.youtube-channel > figure > *{
	width: 100%;
	max-width: 828px;
	margin: 0 auto;
	aspect-ratio: 16 / 9;
}

.youtube-channel > div{
	flex-basis: 100%;
	max-width: 828px;
	margin: 0 auto;
	padding: 20px;
}

@media(min-width: 1372px){
	.youtube-channel > figure{
		flex-basis: 69%;
	}

	.youtube-channel > div{
		flex-basis: 31%;
	}
}

.youtube-channel > div > a{
	display: grid;
    height: 60%;
    grid-template-columns: 1fr;
    row-gap: 10px;
    align-content: space-between;
}

.youtube-channel .btn{
	background-color: var(--themeColor);
	color: white;
	text-align: center;
	padding: 5px;
	font-size: 22px;
}

.youtube-channel .btn + div{
	font-family: var(--englishFont);
	transform: skew(-15deg);
}

.youtube-channel .blue{
	color: var(--themeColor);
	border: 1px solid var(--themeColor);
	padding: 1em;
	font-size: var(--fontSize18);
	font-weight: 600;
}

#recent_posts{
	background-color: white;
	padding: var(--variableSpaceS);
	max-width: 1240px;
	margin-inline: auto;
}

#top_info{
	background-color: var(--themeTranslucent50);
	backdrop-filter: blur(20px);
}

#top_info .contents-link-button{
	width: 20em;
}

.news-row{
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px solid var(--themeColor);
	padding: 1em 0.5em;
}

.news-row .date-cat-block{
	flex-basis: 100%;
}

@media(min-width: 800px){
	.news-row .date-cat-block{
		flex-basis: 18em;
	}
}

.news-row .post-list-date{
	display: inline-block;
	width: 6em;
}

.news-row .cat-mark{
	display: inline-block;
	width: 11em;
	color: var(--themeColor);
	font-weight: 500;
}

.news-row .title-block{
	flex-basis: 100%;
}

@media(min-width: 800px){
	.news-row .title-block{
		flex-basis: calc(100% - 18em);
	}
}

#top_biz_info{
	backdrop-filter: blur(20px);
}

#top_biz_info .section-header{
	width: 100%;
	height: 200px;
	background-position: center;
	background-size: cover;
	color: white;
	display: grid;
	place-content: center;
	text-align: center;
}

@media(min-width: 1000px){
	#top_biz_info .section-header{
		height: 400px;
	}
}

#top_car_life > .section-header{
	background-image: url(/images/top/bg_section_header_carlife.jpg);
}

#top_home_energy > .section-header{
	background-image: url(/images/top/bg_section_header_energy.jpg);
}

#top_biz_info .section-header .eng{
	font-size: var(--fontSize70);
	font-family: var(--englishFont);
	font-weight: 500;
	transform: skew(-10deg) scaleX(1.1);
}

#top_biz_info .section-header .jpn{
	font-size: var(--fontSize30);
	font-weight: 700;
	transform: skew(-10deg);
}

#top_car_life_results .section-header,
#top_home_energy_results .section-header{
	height: auto;
}

#top_car_life_results .section-header .eng{
	color: var(--themeColorLight);
}

#top_car_life_results .section-header .jpn{
	color: var(--themeColor);
}

#top_home_energy_results .section-header .eng{
	color: var(--themeColor2Light);
}

#top_home_energy_results .section-header .jpn{
	color: var(--themeColor2);
}

body.home #ss_launcher{
	background-color: var(--themeTranslucent50);
	backdrop-filter: blur(20px);
}

#ss_launcher .section-title-combo{
	color: white;
}

#top_company_profile .section-header{
	color: white;
	background-color: var(--themeTranslucent70);
	padding-block: var(--fontSize70);;
	text-align: center;
}

#top_company_profile .section-header .eng{
	font-size: var(--fontSize70);
	font-family: var(--englishFont);
	font-weight: 500;
	transform: skew(-10deg) scaleX(1.1);
	width: 80%;
	margin-inline: auto;
}

#top_company_profile .section-header .jpn{
	font-size: var(--fontSize30);
}

.contact-launcher h2{
	color: var(--themeColor);
}

.contact-launcher h2 span{
	display: none;
}
/*
body.parent-pageid-59 .contact-launcher h2 span,
body.page-id-59 .contact-launcher h2 span{
	display: inline-block;
}
*/
.contact-launcher .gas{
	display: none;
}

body.parent-pageid-59 .contact-launcher .gas,
body.page-id-59 .contact-launcher .gas{
	display: block;
}

body.parent-pageid-59 .contact-launcher .other,
body.page-id-59 .contact-launcher .other{
	display: none;
}
/*=========================================================================== */
/* カーサービス
============================================================================= */
.introduction{
	font-size: var(--fontSize36);
	font-weight: 700;
	text-align: center;
	color: var(--themeColor);
}

.theme-grad{
	display: flex;
	flex-wrap: wrap;
	place-content: center;
	font-weight: 700;
	text-align: center;
	color: white;
	padding-block: 0.5em;
	background: linear-gradient(to right bottom , #67BBE5 , #0089CE );
}

.theme-grad.double{
	height: 3.5em;
}

.band{
	background-color: #E3F6FF;
	color: var(--themeColor);
	text-align: center;
	font-weight: 700;
	height: 2.33em;
	display: grid;
	place-items: center;
	margin-bottom: 1em;
}

.flex-pourin-left figure.flex{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

@media(min-width: 700px){
	.flex-pourin-left figure.flex{
		grid-template-columns: 1fr;
	}
}

dl.payment{
	display: grid;
	grid-template-columns: 9em 1fr;
	grid-template-rows: auto;
	line-height: 1.7;
}

dl.payment > *{
	margin-bottom: 0.5em;
}

dl.payment dt{
	color: var(--themeColor);
}

dl.payment dd span{
	margin-right: 1em;
	display: inline-block;
}

dl.payment dd span::before{
	content: "●";
	color: #9DDEFF;
}
/*=========================================================================== */
/* 車検
============================================================================= */
.grid-wrap3{
	display: grid;
    grid-template-columns: 1fr;
	row-gap: 20px;
}

@media(min-width: 750px){
	.grid-wrap3{
    	grid-template-columns: 1fr 1fr 1fr;
    	column-gap: 3%;
	}
}

.grid-wrap4{
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 20px;
}

@media(min-width: 375px){
	.grid-wrap4{
		grid-template-columns: 1fr 1fr;
		column-gap: 2%;
	}
}

@media(min-width: 1000px){
	.grid-wrap4{
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
}

.benefits .theme-grad{
	margin-bottom: 0.5em;
}

.benefits p{
	color: var(--themeColor);
	font-weight: 500;
	text-align: center;
	font-size: var(--fontSize24);
}

.price-section .catch{
	color: var(--themeColor);
	font-size: var(--fontSize20);
	text-align: center;
	font-weight: 500;
}

.price-table{
	display: grid;
	grid-template-columns: 1fr 5fr;
}

.price-table .left{
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 3em 5em 5em 5em 5em 5em;
	border-width: 0 0 1px 1px;
	border-style: solid;
	border-color: black;
	min-width: 9em;
}

.price-table .left div{
	border-width: 1px 1px 0 0;
	border-style: solid;
	border-color: black;
	display: grid;
	place-content: center;
	text-align: center;
	background-color: #E3F6FF;
}

.price-table .right{
	display: grid;
	grid-auto-flow: column;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	grid-template-rows: 3em 5em 5em 5em 5em 5em;
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: black;
	overflow-x: auto;
}

.price-table .right div{
	border-width: 1px 1px 0 0;
	border-style: solid;
	border-color: black;
	display: grid;
	place-content: center;
	min-width: 7.5em;
}

.price-table .right .basic-fee{
	grid-column: 1 / 2;
	grid-row: 2 / 7;
	text-align: center;

}

.price-table .right .tester-fee{
	grid-column: 2 / 3;
	grid-row: 2 / 7;
	text-align: center;
}

.price-table .right .ordinary{
	grid-column: 3 / 4;
	grid-row: 3 / 6;
}
.price-table .right .car{
	grid-column: 5 / 6;
	grid-row: 2 / 6;
}

.price-table .basic-fee span,.price-table .tester-fee span,.price-table .total.red{
	color: #FF006C;
	font-weight: 500;
}

.price-table .total{
	background-color: #FCFBDA;
}

.price-section .attention{
	text-align: right;
	display: block;
	color: #FF006C;
}

@media(min-width: 982px){
	.price-section .attention{
		display: none;
	}
}

.discount .theme-grad{
	margin-bottom: 0.8em;
}

.discount p{
	line-height: 1.2;
	margin-bottom: 0.5em;
	color: var(--themeColor);
	font-weight: 500;
	text-align: center;
	font-size: var(--fontSize24);
}

.discount p span{
	color: #FF006C;
}

.discount .remark{
	color: black;
	font-weight: 400;
	font-size: var(--fontSize18);
}

#advantage ol.yamakakko{
	margin-inline: auto;
	font-size: var(--fontSize3018);
	max-width: 27em;
}

#advantage ol.yamakakko > li{
	color: #FF7F00;
	font-weight: 700;
}

#advantage ol.yamakakko ul.mark-disk{
	margin-top: 0.5em;
}

#advantage ol.yamakakko ul.mark-disk > li{
	color: black;
	font-size: var(--fontSize20);
	font-weight: 500;
	margin-bottom: 0.3em;
}

#advantage ol.yamakakko ul.mark-disk > li::before{
	color: var(--themeColor);
}

.policies{
	border: 1px solid var(--themeColor);
	padding-block: calc(var(--variableSpaceS) / 2);
	padding-inline: 1em;
}

.policies h3{
	font-size: var(--fontSize20);
	text-align: center;
	font-weight: 500;
	color: var(--themeColor);
	margin-bottom: 1em;
}

.policies p span{
	color: var(--themeColor);
}
/*=========================================================================== */
/* 自動車販売
============================================================================= */
#auction .flex-wrap{
	display: flex;
	flex-wrap: wrap;
	row-gap: 20px;
}

#auction .flex-wrap p{
	font-size: var(--fontSize20);
	flex-basis: 100%;

}

#auction .flex-wrap figure{
	max-width: 500px;
	margin-inline: auto;
}

@media(min-width: 800px){
	#auction .flex-wrap{
		flex-wrap: nowrap;
		column-gap: 5%;
	}
	#auction .flex-wrap p{
		flex-basis: 17.5em;
		flex-shrink: 0;
	}

	#auction .flex-wrap figure{
		max-width: 780px;
	}
}

#auction ol{
	padding-left: 1em;
	line-height: 1.5;
	font-size: var(--fontSize24);
}

#auction ol li{
	margin-bottom: 0.5em;
}

#auction h3{
	font-size: var(--fontSize30);
	color: var(--themeColor);
	text-align: center;
	font-weight: 700;
	margin-bottom: var(--variableSpaceS);
}

#auction #flow{
	counter-reset: number 0;
	font-size: var(--fontSize20);
	border: 1px solid var(--themeColor);
	padding-block: var(--variableSpaceS);
	padding-inline: 1em;
}

#auction #flow h4{
	display: flex;
	gap: 0.5em;
	align-items: center;
	margin-bottom: 0.3em;
	color: var(--themeColor);
	font-weight: 500;
}

#auction #flow h4::before{
	counter-increment: number 1;
	content: counter(number)".";
	width: 1em;
	height: 1em;
	display: block;
}

#auction #flow p{
	padding-left: 1.5em;
	margin-bottom: 1em;
	font-weight: 400;
}

/*=========================================================================== */
/* 実績
============================================================================= */

/*=========================================================================== */
/* 保険
============================================================================= */
body.insurance .mark-dot li{
	margin-bottom: 0.5em;
	line-height: 1.7;
}

/*=========================================================================== */
/* 燃料油配送事業
============================================================================= */
.bordered-box{
	border: 1px solid var(--themeColor);
	padding-block: var(--variableSpaceS);
	padding-inline: 1em;
	color: var(--themeColor);
	max-width: 750px;
	text-align: center;
}

#delivery .grid-wrap{
	display: grid;
	column-gap: 5%;
	row-gap: var(--variableSpaceS);
	grid-template-columns: 1fr;
	grid-template-rows: auto auto auto;
}

#delivery .grid-wrap .text{
	grid-column: 1 / 2;
	grid-row: 1 / 2;
}

#delivery .grid-wrap .borderd-box{
	grid-column: 1 / 2;
	grid-row: 3 / 4;
}

#delivery .grid-wrap figure{
	grid-column: 1 / 2;
	grid-row: 2 / 3;
	max-width: 300px;
	margin-inline: auto;
}

@media(min-width: 1000px){
	#delivery .grid-wrap{
		grid-template-columns: 65% 30%;
		grid-template-rows: auto auto;
	}

	#delivery .grid-wrap .text{
		grid-column: 1 / 2;
		grid-row: 1 / 2;
	}

	#delivery .grid-wrap .borderd-box{
		grid-column: 1 / 2;
		grid-row: 2 / 3;
	}

	#delivery .grid-wrap figure{
		grid-column: 2 / 3;
		grid-row: 1 / 3;
		max-width: 400px;
	}
}

#delivery .bordered-box > div p:last-child{
	display: flex;
	flex-wrap: wrap;
	margin-inline: auto;
}

#delivery .bordered-box > div p:last-child span{
	flex-basis: 7em;
	flex-grow: 1;
}

.bordered-box.center{
	margin-inline: auto;
}

.bordered-box > div{
	display: inline-block;
	text-align: left;
	width: 100%;
}

.bordered-box p span{
	display: inline-block;
}

.bordered-box p span::before{
	content: "●";
	width: 1em;

}

#adblue h3{
	font-size: var(--fontSize30);
	color: var(--themeColor);
	font-weight: 700;
	text-align: center;
}

#adblue span{
	color: var(--themeColor);
}

#adblue h4{
	color: var(--themeColor);
	font-size: var(--fontSize24);
	max-width: 27.5em;
}

.link-opty{
	color: var(--themeColor);
	font-size: var(--fontSize20);
	text-decoration: underline;
}

.link-opty span{
	font-size: var(--fontSize16);
}
/*=========================================================================== */
/* LPガス事業
============================================================================= */
#cost .grid-wrap{
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 30px;
}

@media(min-width: 800px){
	#cost .grid-wrap{
		grid-template-columns: 350px 1fr;
		column-gap: 5%;
	}
}

#cost .grid-wrap .chart div{
	height: 2em;
    display: grid;
    place-items: center;
    margin-bottom: var(--fontSize30);
	color: var(--themeColor);
}

#cost .grid-wrap .chart > div:first-child{
	background-color: var(--themeColor);
	color: white;
	font-size: var(--fontSize24);
}

#cost .grid-wrap .chart > div:last-child{
	background-color: #E3F6FF;
	color: var(--themeColor);
	font-size: var(--fontSize30);

}

#cost .grid-wrap .chart .numbered{ counter-reset: number 0;}

#cost .grid-wrap .chart .numbered > div{
	position: relative;
    grid-template-columns: 2em 1fr;
    border: 1px solid var(--themeColor);
    font-size: var(--fontSize30);
}

#cost .grid-wrap .chart .numbered > div::after{
	content: "+";
	font-size: var(--fontSize30);
	color: var(--themeColor);
	text-align: center;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	height: 1em;
	line-height: 1;
}

#cost .grid-wrap .chart .numbered > div::before{
	counter-increment: number 1;
	content: counter(number);
	width: 2em;
	height: 2em;
	display: grid;
	place-items: center;
	background-color: var(--themeColor);
	color: white;
}

#cost h3{
	color: var(--themeColor);
	font-size: var(--fontSize24);
	font-weight: 700;
	margin-bottom: 1em;
}

#price_list .grid-wrap{
	display: grid;
	grid-template-columns: 2fr 3fr;
	column-gap: 0;
	row-gap: 0;
	font-size: var(--fontSize16);
}

#price_list .grid-wrap .row-header{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 3em 3em 3em 3em 3em 3em 3em;
	border-width: 0 0 1px 1px;
	border-style: solid;
	border-color: black;
	background-color: #E3F6FF;
}

#price_list .grid-wrap .row-header div{
	border-width: 1px 1px 0 0;
	border-style: solid;
	border-color: black;
	display: grid;
	place-items: center;
	min-width: 5.5em;
}

#price_list .grid-wrap .row-header .rh1{
	grid-column: 1 / 3;
	grid-row: 1 / 2;
}

#price_list .grid-wrap .row-header .rh2{
	grid-column: 1 / 3;
	grid-row: 2 / 3;
}

#price_list .grid-wrap .row-header .rh37{
	grid-column: 1 / 2;
	grid-row: 3 / 8;
}
#price_list .grid-wrap .row-header .rh3{
	grid-column: 2 / 3;
	grid-row: 3 / 4;
}
#price_list .grid-wrap .row-header .rh4{
	grid-column: 2 / 3;
	grid-row: 4 / 5;
}
#price_list .grid-wrap .row-header .rh5{
	grid-column: 2 / 3;
	grid-row: 5 / 6;
}

#price_list .grid-wrap .row-header .rh6{
	grid-column: 2 / 3;
	grid-row: 6 / 7;
}
#price_list .grid-wrap .row-header .rh7{
	grid-column: 2 / 3;
	grid-row: 7 / 8;
}

#price_list .grid-wrap .body{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: black;
	overflow-x: auto;
}

#price_list .grid-wrap .body .col{
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows:  3em 3em 3em 3em 3em 3em 3em;
}

#price_list .grid-wrap .body .col div{
	border-width: 1px 1px 0 0;
	border-style: solid;
	border-color: black;
	display: grid;
	place-items: center;
	min-width: 7em;
}

#price_list .attention{
		text-align: right;
		display: block;
		color: #FF006C;
}

@media(min-width: 509px){
	.price_list .attention{
		display: none;
	}
}
/*=========================================================================== */
/* 取扱商品
============================================================================= */
.products-flex-wrap{
	display: flex;
	flex-wrap: wrap;
	column-gap: 4%;
}

.products-flex-wrap > div{
	flex-basis: 100%;
	font-size: var(--fontSize20);
	font-weight: 400;
}

@media(min-width: 500px){
	.products-flex-wrap > div{
		flex-basis: 48%;
	}
}

.products-flex-wrap figcaption{
	color: var(--themeColor);
	font-size: var(--fontSize24);
	font-weight: 700;
	margin-block: 1em;
}


/*=========================================================================== */
/* 入退去時の手続き 保安業務
============================================================================= */
.procedures-launcher{
	display: flex;
	flex-wrap: wrap;
	column-gap: 5%;
	row-gap: 20px;
	color: var(--themeColor);
	font-weight: 700;
}

.procedures-launcher a{
	border: 1px solid var(--themeColor);
	display: grid;
	place-items: center;
	height: 3.33em;
	flex-basis: 20em;
	flex-grow: 1;
	flex-shrink: 0;
	transition: var(--easeOutExpo);
}

.procedures-launcher a:hover{
	background-color: #E3F6FF;
}

#facilities h3,
#relocation h4,
#security h4,
#security h5{
	color: var(--themeColor);
	font-size: var(--fontSize24);
	font-weight: 700;
	margin-bottom: 1em;
}

#relocation .step{
	position: relative;
	margin-bottom: 6em;
	max-width: 900px;
	margin-inline: auto;
	font-size: var(--fontSize20);
}

#relocation .step:not(.end)::after{
	content: "";
	position: absolute;
	top: calc(100% + 2em);
	left: 0;
	right: 0;
	margin-inline: auto;
	width: 6em;
	height: 2em;
	background-color: #D5F1FF;
	clip-path: polygon(0 0,50% 100%, 100% 0);
}

#relocation .mark-disk > li,
#security .mark-disk > li{
	line-height: 1.3;
	margin-bottom: 0.5em;
}

ol.pipe ul{
	margin-top: 0.5em;
}

.to-region{
	display: block;
	font-size: var(--fontSize24);
	background-color: var(--themeColor);
	color: white;
	font-weight: 500;
	height: 2em;
	display: grid;
	place-items: center;
	transition: var(--easeOutExpo);
}

.to-region:hover{
	background-color: #67BBE5;
}
/*=========================================================================== */
/* 会社概要
============================================================================= */

#greeting .flex-wrap{
	display: flex;
	flex-wrap: wrap;
	column-gap: 5%;
}

#greeting .flex-wrap > *{
	flex-basis: 100%;
}

#greeting .flex-wrap > figure{
	max-width: 300px;
	margin-inline: auto;
}

@media(min-width: 600px){
	#greeting .flex-wrap > div{
		flex-basis: 62.5%;
	}
	#greeting .flex-wrap > figure{
		flex-basis: 32.5%;
		max-width: 390px;
	}
}
#greeting .catch{
	font-size: var(--fontSize50);
	color: var(--themeColor);
	font-weight: 700;
	line-height: 1.5;
}

#greeting .name{
	font-size: var(--fontSize30)
}

#greeting .kana{
	font-family: var(--englishFont);
	color: var(--themeColor);
	letter-spacing: 0.27em;
}

.skew-section{
	position: relative;
	overflow: visible;
}

.skew-section::before{
	content: "";
	position: absolute;
	z-index: 1;
	width: 100%;
	left: 0;
	bottom: 100%;
	aspect-ratio: 100 / 7.81;
	display: block;
	background-color: var(--themeColor);
	clip-path: polygon(0 100.5% , 100% 100.5% , 100% 0);
}
.skew-section::after{
	content: "";
	position: absolute;
	z-index: 2;
	width: 100%;
	left: 0;
	top: 100%;
	aspect-ratio: 100 / 7.81;
	display: block;
	background-color: var(--themeColor);
	clip-path: polygon(0 0 , 0 100.5% , 100% 0);
}
.skew-section h2{
	position: relative;
	display: grid;
	place-items: center;
	font-size: var(--fontSize30);
	font-weight: 700;
	color: white;
	height: 2em;
}

.skew-section h2 div{
	position: relative;
	z-index: 1;
}

.skew-section h2::before{
	content: "";
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right , #67BBE5 , #0089CE );
	transform: rotate(-5deg) skew(-5deg);
	clip-path: none;
}

#philosophy .main-catch{
	display: grid;
	row-gap: 30px;
	grid-template-columns: 1fr;
	grid-template-rows: 30vw 30vw;
	max-width: 730px;
	margin-inline: auto;
}

#philosophy .main-catch img{
	height: 100%;
}

@media(min-width: 500px){
	#philosophy .main-catch{
		column-gap: 4%;
		grid-template-columns: 51.5% 44.5%;
		grid-template-rows: 1fr;
	}
}

.skew-section .bg-white{
	overflow: visible;
}

.skew-section .bg-white::before{
	content: "";
	position: absolute;
	z-index: 1;
	width: 100%;
	left: 0;
	bottom: 100%;
	aspect-ratio: 100 / 7.81;
	display: block;
	background-color: white;
	clip-path: polygon(0 100.5% , 100% 100.5% , 100% 0);
}

.skew-section .bg-white::after{
	content: "";
	position: absolute;
	z-index: 1;
	width: 100%;
	left: 0;
	top: 100%;
	aspect-ratio: 100 / 7.81;
	display: block;
	background-color: white;
	clip-path: polygon(0 0 , 0 100.5% , 100% 0);
}

.skew-section .title-wrap{
	position: relative;
	z-index: 2;
}

#ocial .desc{
	font-size: var(--fontSize5018);
	color: white;
	font-weight: bold;
	text-align: center;
}

#ocial span{
	color: var(--themeColor);
	font-weight: 500;
}

#ocial h3{
	color: var(--themeColor);
	font-size: var(--fontSize24);
	font-weight: 700;
	margin-bottom: 1em;

}

#ocial .grid-wrapper{
	display: grid;
	column-gap: 6%;
	row-gap: 20px;
	grid-template-columns: 1fr;
	grid-template-rows: auto;
}

#ocial .grid-wrapper > figure{
	max-width: 400px;
	grid-row: 2 / 3;
	margin-inline: auto;
}

#ocial .grid-wrapper h3{
	grid-row: 1 / 2;
}

#ocial .grid-wrapper > div{
	grid-row: 3 / 4;
}


@media(min-width: 700px){
	#ocial .grid-wrapper{
		grid-template-columns: 1fr 40%;
		grid-template-rows: 1.5em 1fr;
	}

	#ocial .grid-wrapper h3{
		grid-column: 1 / 3;
		grid-row: 1 / 2;
	}

	#ocial .grid-wrapper > div{
		grid-column: 1 / 2;
		grid-row: 2 / 3;
	}

	#ocial .grid-wrapper > figure{
		grid-column: 2 / 3;
		grid-row: 2 / 3;
	}
}

/*=========================================================================== */
/* サービスステーション
============================================================================= */
body.service-station .flex-wrap{
	display: flex;
	flex-wrap: wrap;
	column-gap: 4%;
	row-gap: 30px;
}

body.service-station .flex-wrap > *{
	flex-basis: 100%;
	max-width: 600px;
	margin-inline: auto;
}

body.service-station .flex-wrap img{
	margin: 0;
}

@media(min-width: 1000px){
	body.service-station .flex-wrap > *{
		flex-basis: 48%;
	}
}

body.service-station .flex-wrap > div figure{
	display: grid;
	grid-template-columns: 1fr 1fr 2.5fr;
	column-gap: 0;
	margin-block: 1em;
}

body.service-station .flex-wrap > div figure figcaption{
	color: var(--themeColor);
	margin-left: 5%;
}

.biz-info{
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em 1em;
	font-family: var(--gothicFont);
}

.biz-info .separator{
	flex-basis: 100%;
	height: 1px;
	border-bottom: 1px solid #9DDEFF;
	margin: 0.2em 0;
}

.biz-info .left{
	flex-basis: 100%;
}

.biz-info .right{
	flex-basis: 100%;
}


@media(min-width: 800px){

	.biz-info .left{
		flex-basis: 6em;
		text-align: center;
	}

	.biz-info .left span{
		display: inline-block;
		width: 4em;
		text-align: justify;
		text-align-last: justify;
	}
	.biz-info .right{
		flex-basis: calc(100% - 7em);
	}
}

.ss-map{
	background-color: #E3F6FF;
}

.ss-map > div{
	overflow: hidden;
	aspect-ratio: 4 / 1;
	position: relative;
}

.ss-map iframe{
	width: 200%;
	height: 100%;
	max-width: 200%;
	aspect-ratio: 8 / 1;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}

.ss-map .map-info{
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 5px 10px;
	background-color: white;
	box-shadow: 1px 1px 3px 1px #aaa;
}

.ss-map .map-info a{
	color: var(--themeColor);
	font-size: var(--fontSize14);
	line-height: 1.5;
	display: flex;
	align-items: center;
}

.ss-map .map-info a::before{
	content: "";
	width: 1em;
	height: 1em;
	background-size: contain;
	margin-right: 5px;
}

.ss-map .map-info a.enlarge::before{
	background-image: url(/images/service-station/enlarge.jpg);
}

.ss-map .map-info a.route::before{
	background-image: url(/images/service-station/route.jpg);
}


/*=========================================================================== */
/* リフォーム事業
============================================================================= */
#reform_menu .grid-wrap{
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto;
	row-gap: 30px;
}

@media(min-width: 800px){
	#reform_menu .grid-wrap{
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 1fr;
		column-gap: 3.3%;
	}
}

#reform_menu .grid-wrap > *{
	display: grid;
	place-items: center;
}

.reform-menu-flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	column-gap: 2.7%;
	row-gap: 20px;
}

.reform-menu-flex > *{
	flex-basis: 22.7%;
	color: white;
	background-color: #67BBE5;
	font-weight: 700;
	height: 2.5em;
	display: grid;
	place-items: center;
	min-width: 180px;
}

.open-pdf{
	color: var(--themeColor);
}

#paper p{
	letter-spacing: -0.001em;
}

.past-wrapper{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	column-gap: 2%;
	row-gap: 30px;
	margin-bottom: var(--variableSpaceS);
}

.past-wrapper figcaption{
	text-align: center;
}

.backnumber{
	font-size: var(--fontSize24);
	color: var(--themeColor);
	width: 16em;
	height: 2em;
	margin-inline: auto;
	border: 1px solid var(--themeColor);
	display: grid;
	place-items: center;
	transition: var(--easeOutExpo);
}

.backnumber:hover{
	background-color: #E3F6FF;
}
/*=========================================================================== */
/* プライバシーポリシー
============================================================================= */
#privacy_policy{ counter-reset: number 0;}

#privacy_policy h2{
	display: flex;
	gap: 0.5em;
	align-items: center;
	margin-bottom: 0.8em;
}

#privacy_policy h2::before{
	counter-increment: number 1;
	content: counter(number)".";
	width: 1em;
	height: 1em;
	display: block;
}

/*=========================================================================== */
/* お問い合わせ
============================================================================= */

body.contact-form #contact_by_form{ display: none;}

.ss-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	column-gap: 3.8%;
	row-gap: var(--variableSpaceS);
}

.ss-list > div{
	flex-basis: 100%;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto 1fr;
    align-content: flex-start;
    align-items: start;
}

.ss-list > div h3{
	font-size: var(--fontSize24);
	line-height: 1;
	padding-block: 0.5em;
}

.ss-list > div h3 .small{
	font-size: 0.75em;
	display: inline-block;
}

.ss-list > div > div{
    font-size: var(--fontSize18);
    height: 100%;
    display: grid;
    align-content: space-between;
	margin-bottom: 1em;
}

.ss-list a{
	color: var(--themeColor);
	font-weight: 700;
	font-size: var(--fontSize24);
}

.ss-list a span{
	font-size: 0.83em;
}

.ss-list dl{
	display: grid;
	grid-template-columns: 5em 1fr;
}

.ss-list dd{
	display: flex;
	flex-wrap: wrap;
	column-gap: 1em;
}

.mb05{
	margin-bottom: 0.5em;
}

@media(min-width: 550px){
	.ss-list > div{
		flex-basis: 48.1%;
	}
}
@media(min-width: 1000px){
	.ss-list > div{
		flex-basis: 30.8%;
	}
}

.ss-list > div figure{
	aspect-ratio: 1 / 0.625;
	overflow: hidden;
	position: relative;
}

.ss-list > div img{
	width: 100%;
	height: 100%;
	transition: var(--easeOutExpo);
}


/*----------------------------------------------------------------------------- */
/* Contact Form
------------------------------------------------------------------------------*/

.wpcf7 {
	width: 100%!important;
	font-family: var(--gothicFont);
}

.wpcf7-form{ position: relative;}

.wpcf7 dl {
	display: flex;
	flex-wrap: wrap;
	margin: 2rem 1rem 4rem 1rem;
}
.wpcf7 dt {
	flex-basis: 100%;
	font-weight: var(--regularFontWeight);
}
.wpcf7 dd{
	flex-basis: 100%;
	margin: 0;
	font-weight: var(--regularFontWeight);
}

.wpcf7 select{
	padding: 0.5em;
	font-size: var(--fontSizeR);
	width: 100%;
}

.wpcf7 input:not([type='checkbox']),.wpcf7 textarea {
	padding: 1rem 1rem;
	box-sizing: border-box;
	width: 100%;
	font-size: var(--fontSizeR);
	font-family: var(--gothicFont);
	font-weight: var(--regularFontWeight);
}
.wpcf7 input[type="radio"]{display: inline-block; width: 1em;}

.wpcf7 input.p-postal-code{ width: 13em;}

.wpcf7 input[type="submit"]{
	border: none;
	color: white;
	font-size: var(--fontSize24);
	width: 100%;
	max-width: 22em;
	height: 4.2em;
	background-color: var(--themeColor);
	cursor: pointer;
	border: 1px solid var(--themeColor);
	transition: var(--easeOutExpo)-in-out;
}

.wpcf7 input[type="submit"]:disabled{
	pointer-events: none
}

.wpcf7 input[type="submit"]:hover{
	background-color: white;
	color: var(--themeColor);
}

.wpcf7 input[type="number"] {
	display: inline-block;
	width: 9rem;
	padding: 1rem 0.3rem 1rem 1.8rem;
}
.wpcf7 .required {
	width: 1em;
	height: 1.66em;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	color: var(--themeColor);
	font-size: 1em;
	border-radius: 5px;
    transform: scale(0.8);
}
.wpcf7 .error {
	display: inline-block;
	        animation: blink 1s ease 5;

	-webkit-animation: blink 1s ease 5;
}
.wpcf7 textarea{
	box-sizing: border-box;
}

@keyframes blink {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.wpcf7 .left-top > div,
.wpcf7 .right-bottom > div {
	padding-right: 1em;
}
.wpcf7 .left-top > div {
	width: 100%;
	padding: 0.5rem 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 0.5em;
}

.wpcf7 .left-top .item-name{ line-height: 1; width: auto;}

.wpcf7-spinner{
	display: block;
	margin: auto;
}

@media (min-width: 750px){
	.wpcf7 dt {
		flex-basis: 11em;
	}
	.wpcf7 dd{
		flex-basis: calc(100% - 11em);
	}
}

.wpcf7-turnstile > div {
  text-align: center;
  margin-top: 1em;
}
/* プライバシーポリシー
----------------------------------------------------------------------------- */
#policy_wrap h2{
	font-size: var(--fontSize40);
	font-family: var(--minchoFont);
	font-weight: 600;
	margin-bottom: 0.8em;
}