@charset "utf-8";
/* CSS Document */
/* ------------------------------------------------------------------------ */

/*  Reset

/* ------------------------------------------------------------------------ */

html {
	overflow-y	: scroll;
	height		: 100%;
	font-size	: 62.5%;
	-webkit-text-size-adjust: 100%;
}

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
pre,form,fieldset,p,blockquote {
	margin 	: 0;
	padding : 0;
}

fieldset {
	display	: inline;
}

address,caption,cite,code,dfn,em,strong,th,var {
	font-style : normal;
}

body/**/table {
	line-height	: 1.5;
}

q:before,
q:after {
	content : '';
}

object,embed {
	vertical-align : top;
}

hr,legend	{
	display : none;
}

h1,h2,h3,h4,h5,h6 {
	font-size : 100%;
}

img,abbr,acronym,fieldset {
	border : 0;
}

li {
	list-style-type : none;
}

img[usemap] {
	border		: none;
	height		: auto;
	max-width	: 100%;
	width		: auto;
}

img {
	border		: 0;
	max-width	: 100%;
}

i {
	padding	: 5px 5px 2px 0;
}

p {
	word-break	: break-all;
}


/* Flexible Images */
img{
    max-width	: 100%;
    height		: auto;
    width /***/	: auto;
}

submit	{ -webkit-appearance : none;}

/* ------------------------------------------------------------------------ */

/*  Basic Style

/* ------------------------------------------------------------------------ */

body {
	margin		: 0;
	padding		: 0;
	height		: 100%;
	font-family: "Noto Sans JP", sans-serif;
	font-size	: 1.6rem;
	font-size	: 16px;
	font-weight: 300;
	line-height	: 1.5;
	text-align	: center;
	color		: #000;
	-webkit-text-size-adjust	: 100%;
	font-smoothing	: auto;
}
body.fixed {
	width: 100%;
	height: 100%;
	position: fixed;
}
@media screen and (max-width: 1330px){
	body.search_fixed {
		width: 100%;
		height: 100%;
		position: fixed;
	}
	body.search_fixed:after {
		display: block;
		position: absolute;
		top: 0;
		content: '';
		width: 100vw;
		height: 100vh;
		background-color: rgba(0, 0, 0, 0.5);
		z-index: 7777;
	}
}
body *,
body *:before,
body *:after {
    box-sizing: border-box;
}

#wrap{
	margin		: 0 auto;
	text-align	: center;
}

body > #wrap { height : auto;}

.fnt-titillium{
	font-family: "Titillium Web", sans-serif;
}

.flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

sup{
	vertical-align: super;
	font-size: 0.7em;
}
.suptxt{
	font-size: 1.6rem;
	font-weight: 300;
	padding-left: 1em;
	text-indent: -1em;
    line-height: 1.5;
}
.suptxt a{
	display: inline;
}

.fnt-small{
	font-size: 0.8em;
}
.spStyle{
	display: none;
}

.slideSec{
	overflow: hidden;
}

/* Googleアイコン */
.material-symbols-outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24
}

@media screen and (max-width: 768px){
	.pcStyle{
		display: none;
	}
	.spStyle{
		display: inherit;
	}
}
@media screen and (max-width: 767px){
	body {
		font-size: 1.4rem;
	}
	.suptxt{
		font-size: 1.4rem;
	}
}

/* Link
--------------------------------------------------------------------------- */

.opacity a:hover img{
	opacity: 0.85;
}

a{
	display: inline-block;
}

a:hover	{
	text-decoration	: underline;
}

a.blank{
	position: relative;
}
a.blank::after{
	content: url("../img/icon/icon_blank.svg");
	vertical-align: text-top;
	margin-left: 3px;
}
a.link{
	color: #000;
}
a.link:hover{
	text-decoration: none;
}

.lineLink{
	display: inline;
	position: relative;
	background: linear-gradient(#2D2D2D, #2D2D2D) 0 100% / 0 1px no-repeat;
	transition: background .4s;
}
.lineLink:hover {
	background-size: 100% 1px;
}

.btnBasic{
	max-width: 272px;
	width: 100%;
	margin: 0 auto;
	background: #A2000D;
	color: #fff;
	font-weight: 700;
	font-size: 1.6rem;
	text-decoration: none;
	overflow: hidden;
	line-height: 3em;
	position: relative;
	display: inline-block;
	transition: .4s;
}
.btnBasic.gray{
	background: #333;
}
.btnBasic.lightgray{
	background: #ccc;
}
.btnBasic:hover{
	text-decoration: none;
	background: #87000B;
}
.btnBasic.gray:hover{
	background: #131313;
}

.btnBasic.icon-dl{
	padding-left: 24px;
	padding-right: 50px;
}
.btnBasic.icon-dl::after{
	content: "";
	display: block;
	background: url("/common/img/icon/icon_download.svg") no-repeat center / contain;
	width: 16px;
	height: 16px;
	position: absolute;
	top: 50%;
	right: 24px;
	transform: translateY(-50%);
}
.btnBasic.icon-dl:hover{
	background: #87000B;
}

.btnBasic.style2::before{
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	background: #131313;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}


.slideArrow.style2 .material-symbols-outlined{
	left: calc(100% - 15px);
}
.slideArrow{
	position: relative;
}
.slideArrow .material-symbols-outlined {
	position: absolute;
	top: 50%;
	left: calc(100% - 20px);
	transform: translate(-50%, -50%);
	font-size: 2rem;
	display: inline-block;
	z-index: 3;
	opacity: 1;
}
.slideArrow:hover .material-symbols-outlined {
	-webkit-animation: slideArrow .8s cubic-bezier(.5, .25, 0, 1) 0s 1 normal forwards;
	animation: slideArrow .8s cubic-bezier(.5, .25, 0, 1) 0s 1 normal forwards
}
@-webkit-keyframes slideArrow {
	0% {
		transform: translate(-50%, -50%);
		opacity: 1
	}
	60% {
		transform: translate(100%, -50%);
		opacity: 0
	}
	70% {
		transform: translate(-100%, -50%);
		opacity: 0
	}
	to {
		transform: translate(-50%, -50%);
		opacity: 1
	}
}
@keyframes slideArrow {
	0% {
		transform: translate(-50%, -50%);
		opacity: 1
	}
	60% {
		transform: translate(100%, -50%);
		opacity: 0
	}
	70% {
		transform: translate(-100%, -50%);
		opacity: 0
	}
	to {
		transform: translate(-50%, -50%);
		opacity: 1
	}
}

@media screen and (max-width: 768px){
	.linkBtn{
		text-align: center;
	}
	.btnBasic{
		font-size: 1.4rem;
		padding: 2px 0 4px 0;
	}
}

/* ------------------------------------------------------------------------ */

/* Hedaer

/* ------------------------------------------------------------------------ */
header{
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9999;
	box-shadow: 0 1px 0 0 rgba(0,0,0,0.16);
	transition: transform 0.8s, height 0.8s;
	transition-timing-function: cubic-bezier(0.9, 0, 0.1, 1);
}
header.hide {
	transform: translateY(-150%);
}

.search_menu_btn,
.hg_menu_btn{
	display: none;
}
.header_inner{
	align-items: stretch;
	margin: 0 auto;
	height: 92px;
	transition: 0.4s;
	justify-content: space-between;
	position: relative;
}
.header_inner .logo{
	max-width: 196px;
	width: 100%;
	margin-left: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
}
	header nav .page_nav{
		height: 60%;
		justify-content: flex-end;
	}
	header nav .page_nav.top_nav{
		height: 28%;
		margin: 12px 310px 0 0;
	}
		header nav .page_nav li{
			margin-left: 24px;
			height: 100%;
			position: relative;
		}
		header nav .page_nav li.li_contact{
			margin-left: 0;
		}
			header nav .page_nav li a{
				color: #131313;
				font-size: 1.4rem;
				font-weight: 700;
				text-decoration: none;
				position: relative;
				display: flex;
				justify-content: center;
				align-items: center;
				height: 100%;
				width: 100%;
			}
			#underPage header nav .page_nav > li > a{
				color: #333;
			}

header nav .page_nav li a.spStyle{
	display: none;
}
	header nav .page_nav li a:hover{
		text-decoration: none;
	}
header nav .page_nav > li.big > a::before{
	content: none;
}
header nav .page_nav .big a{
	background: #A2000D;
	color: #fff;
	width: 168px;
	transition: 0.4s;
	font-size: 1.4rem;
	font-weight: 700;
}

header nav .page_nav .big a .material-symbols-outlined{
	display: none;
}

header nav .page_nav .big.li_dl a{
	background: #333;
}
header nav .page_nav li a span{
	display: inline-block;
	position: relative;
}

header nav .page_nav .btn_li{
	margin: 0;
}
	header nav .page_nav .btn_li a{
		padding: 0 10px;
		width: 160px;
	}
		header nav .btn_li a:hover{
			text-decoration: none;
		}

header nav .page_nav > li .in_menu{
	opacity: 0;
	visibility: hidden;
	text-align: left;
	box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.16);
	background: #fff;
	border-radius: 10px;
	position: absolute;
	top: 100%;
	left: 50%;
	transition: 0.4s all ease;
	transform: translateX(-50%);
	width: 221px;
	padding: 12px 20px;
	z-index: 999;
}
	header nav .page_nav > li:hover .in_menu {
		opacity: 1;
		visibility: visible;
		top: calc(100% - 10px);
	}

header nav .page_nav > li .in_menu ul li a::before{
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	background: #fff;
	border-radius: 50%;
	margin-right: 6px;
}
header nav .page_nav > li .in_menu ul li a:hover::before{
	background: #A2000D;
}

header nav .page_nav > li.li_blank{
	margin-left: 32px;
	position: relative;
}
header nav .page_nav > li.big{
	position: absolute;
	top: 0;
	right: 0;
}
header nav .page_nav > li.big.li_dl{
	right: 168px;
}

header .mf-search-box{
	position: absolute;
	top: 8px;
	right: calc((168px * 2) + 30px);
	max-width: 280px;
	width: 100%;
}
@media screen and (min-width: 1331px){
	header .mf-search-box{
		display: block !important;
	}
}
header .mf-search-box .mf-search-bar .mf-search-bar_input{
	height: 32px;
	border: 1px solid #A1A1A1;
	padding: 2px 10px;
}
header .mf-search-box .mf-search-bar .mf-search-bar_input::placeholder{
	color: #A1A1A1;
}
header .mf-search-box .mf-search-bar .mf-search-bar_button{
	height: 32px;
	background-color: #333;
	padding: 5px;
}
header .mf-search-box .mf-search-bar .mf-search-bar_button:hover{
	background-color: #333;
}
header .mf-search-box .mf-search-bar .mf-search-bar_button .mf-search-bar_button_icon{
	margin: 0 auto !important;
}
header .mf-search-box .mf-search-bar .mf-search-bar_button span{
	display: none;
}
header .mf-search-box .mf-search-bar .mf-search-bar_dropdown-list .mf-search-bar_dropdown-list_item{
	height: auto;
	padding: 4px 6px;
}
header .mf-search-box .mf-search-bar .mf-search-bar_dropdown-list .mf-search-bar_dropdown-list_item:hover{
	background-color: #EBEBEB;
}
header .mf-search-box .mf-search-bar .mf-search-bar_dropdown-list .mf-search-bar_dropdown-list_item .mf-search-suggestions-non-user-input{
	font-weight: normal;
}

@media screen and (min-width: 1024px){
	header.bg_color nav .page_nav li a{
		color: #333;
	}
	nav .page_nav > li > a::before{
		content: "";
		display: block;
		width: 100%;
		height: 3px;
		background: #A2000D;
		position: absolute;
		bottom: 0;
		left: 0;
		opacity: 0;
		transition: 0.4s;
		transform: scaleX(0);
	}
}
@media screen and (min-width: 1331px){
	header.headerStyle .header_inner{
		height: 70px;
	}
	header nav{
		display: block !important;
		margin-right: calc((168px * 2) + 30px);
	}
	header nav .page_nav > li.big > a:hover{
		color: #fff;
	}
	header nav .page_nav > li.big.li_dl > a:hover{
		background: #131313;
	}
	header nav .page_nav > li.big.li_contact > a:hover{
		background: #87000B;
	}

	header nav .page_nav li a.arrow::after{
		content: "";
		display: inline-block;
		background: url("/common/img/icon/icon_triangle.svg") no-repeat center / contain;
		width: 12px;
		height: 10px;
		transform: translateY(1px);
		margin-left: 3px;
	}
	header nav .page_nav > li .in_menu ul li{
		margin: 0;
	}
		nav .page_nav > li .in_menu ul li a{
			padding: 8px 0;
			justify-content: flex-start;
		}
	
	header nav .page_nav > li > a:hover::before{
		opacity: 1;
		transform: scaleX(1);
	}
	#bd_products nav .page_nav > li.current-products > a::before,
	#bd_company nav .page_nav > li.current-company > a::before,
	#bd_support nav .page_nav > li.current-support > a::before,
	#bd_about nav .page_nav > li.current-reason > a::before,
	#bd_case nav .page_nav > li.current-case > a::before,
	#bd_industry nav .page_nav > li.current-case > a::before,
	#bd_column nav .page_nav > li.current-column > a::before,
	#bd_seminar nav .page_nav > li.current-seminar > a::before,
	#home nav .page_nav > li.current-home > a::before{
		opacity: 1;
		transform: scale(1);
	}
}

@media screen and (max-width: 1500px){
	.header_inner .logo{
		margin-left: 16px;
		max-width: 146px;
	}
	header nav{
		margin-right: calc((150px * 2) + 30px);
	}
	header .mf-search-box{
		right: calc((150px * 2) + 30px);
	}
	header nav .page_nav li{
		margin-left: 15px;
	}
	header nav .page_nav .big a{
		width: 150px;
	}
	header nav .page_nav > li.big.li_dl{
		right: 150px;
	}
}
@media screen and (max-width: 1330px){
	.header_inner{
		justify-content: space-between;
	}
	.header_inner .logo{
		max-width: 272px;
		justify-content: flex-start;
	}
	.header_inner .logo img{
		vertical-align: middle;
	}
	div.search_menu_btn {
		flex-shrink: 0;
		cursor: pointer;
		height: 100%;
		position: relative;
		top: inherit;
		z-index: 2;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		width: 70px;
		font-size: 23px;
		color: #707070;
        position: absolute;
        right: 60px;
	}
	div.search_menu_btn span{
		width: 32px;
		height: 2px;
	}
	div.search_menu_btn.active span:before,
	div.search_menu_btn.active span:after {
        content: "";
        position: absolute;
        background: #707070;
        display: block;
        height: 2px;
        width: 32px;
        top: 50%;
        transform: translateY(-50%) rotate(-45deg);
        left: 0;
        right: 0;
        margin: 0 auto;
	}
	div.search_menu_btn.active span:before {
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
	}
	div.search_menu_btn.active span:after {
        top: 50%;
        transform: translateY(-50%) rotate(-45deg);
	}
	div.search_menu_btn.active svg {
		display: none;
	}
	header .mf-search-box{
		display: none;
        top: 92px;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: #fff;
        width: 100%;
        max-width: 100%;
        padding: 20px;
		z-index: 9999;
	}
	div.hg_menu_btn {
		flex-shrink: 0;
		cursor: pointer;
		height: 100%;
		position: relative;
		top: inherit;
		z-index: 2;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		width: 70px;
	}
	header.hide div.hg_menu_btn{
		top: 120px;
	}
		div.hg_menu_btn span {
			position: relative;
			display: inline-block;
			width: 32px;
			height: 2px;
			background: #707070;
			margin: 16px 0 15px;
			transition: 0.4s ease;
		}
			div.hg_menu_btn span::before,
			div.hg_menu_btn span::after {
				content: "";
				position: absolute;
				background: #707070;
				display: block;
				height: 2px;
				width: 100%;
				transition: .4s;
			}
				div.hg_menu_btn span::before {
					bottom: 10px;
				}
				div.hg_menu_btn span::after {
					top: 10px;
				}
					div.hg_menu_btn.active span{
						transform: rotate(180deg);
						background: none;
					}
					div.hg_menu_btn.active span::before{
						top: 50%;
						transform: translateY(-50%) rotate(45deg);
					}
					div.hg_menu_btn.active span::after{
						top: 50%;
						transform: translateY(-50%) rotate(-45deg);
					}
	
	div.hg_menu_btn p{
		color: #fff;
		font-size: 1rem;
	}
	
	header nav {
		display: none;
		position: absolute;
		top: 100%;
		right: 0;
		width: 100%;
		height: calc(100vh - 80px);
		background: #fff;
		margin: 0;
		padding: 0 15px 60px;
		overscroll-behavior: auto;
		overflow-y: auto;
	}
	body.fixed.search_fixed header nav {
        top: 160px;
	}
	header nav.navIn{
		opacity: 1;
		z-index: 8888;
	}
	header nav .page_nav{
		display: block;
		height: auto;
	}
	header nav .page_nav.top_nav{
		display: none;
	}
	header nav .page_nav li{
		margin: 0;
		position: relative;
		padding: 0;
	}
	header nav .page_nav li.spStyle{
		display: inherit;
	}
	header nav .page_nav li:last-child{
		border-bottom: none;
	}
	
	header nav .page_nav li.accordion::after{
		content: none;
	}
	header nav .page_nav li.accordion .dli-plus{
		top: 13px
	}
	header nav .page_nav li.accordion .dli-plus::before,
	header nav .page_nav li.accordion .dli-plus::after {
		content: "";
		display: inline-block;
		height: 1px;
		width: 100%;
		background: #707070;
		position: absolute;
		top: 9px;
		right: 0;
		transition: transform 0.4s ease;
	}
		header nav .page_nav li.accordion .dli-plus::before{
			transform: rotate(90deg);
		}
		header nav .page_nav li.accordion.open .dli-plus::before{
			transform: rotate(0);
		}
		header nav .page_nav li.accordion.open .dli-plus::after{
			transform: rotate(180deg);
		}
	
	header nav .page_nav li a.spStyle{
		display: block;
	}
	header nav .page_nav li a.pcStyle{
		display: none;
	}
	header nav .page_nav li a{
		border-bottom: solid 1px #cbcdd1;
	}
	header nav .page_nav li a,
	header nav .page_nav .btn_li a{
		padding: 10px;
		text-align: left;
		display: block;
		width: 100%;
	}
	
	header nav .page_nav > li .in_menu {
		display: none;
		transition: inherit;
		visibility: inherit;
		opacity: 1;
		position: inherit;
		top: auto;
		left: auto;
		width: 100%;
		transform: none;
		box-shadow: none;
		background: none;
		padding: 0 0 0 1em;
	}
	header nav .page_nav > li .in_menu ul li{
		background: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	header nav .page_nav > li .in_menu ul li a::before{
		background: #A2000D;
	}
	header nav .page_nav li.li_room{
		margin-top: 32px;
	}
	header nav .page_nav li.big + .big{
		margin-top: 8px;
	}
	header nav .page_nav .big a{
		width: 100%;
		text-align: left;
		max-width: inherit;
	}
	header nav .page_nav .big a .material-symbols-outlined{
		display: inline-block;
	}
	header nav .page_nav li.li_room a{
		background: #333;
        display: flex;
        justify-content: flex-start;
	}
	header nav .page_nav li.li_room a::after{
		content: url(../img/icon/icon_blank_white.svg);
		vertical-align: text-top;
		margin-left: 3px;
	}
	header nav .page_nav .big a.btnBasic.style2::before {
		content: "";
		display: block;
		width: 30px;
		height: 30px;
		background: #131313;
		position: absolute;
		top: 50%;
		right: 0;
		left: auto;
		opacity: 1;
		transform: translateY(-50%);
	}
	header nav .page_nav .big a.btnBasic.style2 .material-symbols-outlined{
		position: absolute;
		top: 50%;
		left: calc(100% - 15px);
		transform: translate(-50%, -50%);
		font-size: 1em;
		display: inline-block;
		z-index: 3;
		opacity: 1;
	}
	
	header nav .page_nav > li.li_blank{
		margin-left: 0;
	}
	header nav .page_nav > li.li_blank::before{
		content: none;
	}
	header nav .page_nav > li.big{
		position: inherit;
	}
	
	.footerNav > li > a{
		display: block;
		width: 100%;
		text-align: left;
		padding: 15px 0;
		position: relative;
	}
	
	li.accordion{
		position: relative;
	}
	li.accordion a::after{
		content: none;
	}
	li.accordion .dli-plus{
		display: block;
		position: absolute;
		width: 12px;
		height: 12px;
		text-align: center;
		top: 16px;
		right: 0;
	}
	
	li.accordion .dli-plus::before,
	li.accordion .dli-plus::after {
		content: "";
		display: inline-block;
		height: 2px;
		width: 100%;
		background: #A2000D;
		position: absolute;
		top: 9px;
		right: 0;
		transition: transform 0.4s ease;
	}
		li.accordion .dli-plus::before{
			transform: rotate(90deg);
		}
		li.accordion.open .dli-plus::before{
			transform: rotate(0);
		}
		li.accordion.open .dli-plus::after{
			transform: rotate(180deg);
		}
}

@media screen and (max-width: 767px){
	.header_inner{
		height: 60px;
	}
	.header_inner .logo{
		margin-right: 10px;
	}
	div.search_menu_btn{
		font-size: 16px;
		width: 40px;
	}
	header .mf-search-box{
        top: 60px;
	}
	div.hg_menu_btn{
		margin-right: 16px;
		width: 40px;
	}
	div.search_menu_btn span{
		width: 16px;
	}
	div.search_menu_btn.active span:before,
	div.search_menu_btn.active span:after {
        width: 16px;
	}
	header.hide div.hg_menu_btn{
		top: 100px;
		height: 40px;
		background: rgba(255,255,255,0.9);
		border-radius: 50%;
	}

	div.hg_menu_btn span{
		width: 16px;
	}
	div.hg_menu_btn span::before{
		bottom: 5px;
	}
	div.hg_menu_btn span::after{
		top: 5px;
	}
	header nav{
		height: calc(100vh - 60px);
	}
	body.fixed.search_fixed header nav {
        top: 120px;
	}
}

/* ------------------------------------------------------------------------ */

/* Contents

/* ------------------------------------------------------------------------ */

#mainBlock {
	clear : both;
	padding-top: 92px;
	overflow: hidden;
}

#contentsBlock [id^="sec_"] > .inner{
	max-width: 1208px;
	width: calc(100% - 32px);
	margin: 0 auto;
	padding: 72px 0 120px;
}

/* 資料ダウンロード */
.docContainer{
	background: rgba(38,37,37,0.9) url("/common/img/bg/bg_case.webp") no-repeat center / cover;
	padding: 90px 0 80px;
}

.docContainer .inner{
	max-width: 863px;
	width: calc(100% - 32px);
	margin: 0 auto;
	justify-content: flex-start;
}
.docContainer figure{
	width: 311px;
	flex-shrink: 0;
}
.docContainer .txtBox{
	text-align: left;
	margin-bottom: 20px;
	margin-left: 40px;
	width: calc(100% - 300px);
}
.docContainer .txtBox p{
	font-size: 2.4rem;
	font-weight: 700;
	color: #fff;
}
.docContainer .txtBox > div{
	margin-top: 32px;
	justify-content: flex-start;
}
.docContainer .txtBox .btnBasic{
	margin: 0 32px 0 0;
	font-size: 1.8rem;
}
.docContainer .txtBox .contactLink{
	color: #fff;
	font-weight: 600;
}
.docContainer .txtBox .contactLink:hover{
	text-decoration: none;
}

/* よくあるご質問 */
.accordionContainer {
	max-width: 880px;
	margin: 48px auto 0;
}
.accordionContainer .js-btn{
	cursor: pointer;
	position: relative;
}
.accordionContainer .js-btn::after{
	content: "\f054";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	position: absolute;
	top: 50%;
	right: 24px;
	transform: translateY(-50%);
	color: #A2000D;
	transition: 0.4s;
}
.accordionContainer .js-btn.active::after{
	color: #131313;
	transform: translateY(-50%) rotate(90deg);
}
.accordionContainer .js-btn + dd{
	display: none;
}
.accordionContainer dl{
	background: #fff;
	text-align: left;
}
.accordionContainer dl + dl{
	margin-top: 5px;
}
.accordionContainer dl dt{
	padding: 24px;
	padding-right: 48px;
	font-size: 1.6rem;
	font-weight: 700;
}
.accordionContainer dl dd{
	padding: 0 24px 40px;
	color: #000;
}
.accordionContainer dl dd a,
.accordionContainer dl dd a:visited,
.accordionContainer dl dd a:active{
	color: #A2000D;
	transition: 0.5s;
}
.accordionContainer dl dd a:hover{
	opacity: 0.5;
}

/* 下層ヘッダー */
.commonHeader{
	background: #F3F3F3;
}
.commonHeader > .inner{
	min-height: 160px;
	max-width: 1320px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: calc(100% - 32px);
}
.commonHeader .ttlBox .ttl{
	font-size: 3.2rem;
}

.commonHeader.style02{
	background: url("/common/img/bg/bg_keyvisual.jpg") no-repeat center bottom / cover;
}
.commonHeader.style02 > .inner{
	min-height: 300px;
}
.commonHeader .lead{
	margin-top: 13px;
	font-weight: 500;
}

.commonHeader .lead.note{
	font-size: 1.4rem;
}

.commonHeader .btnBasic{
	margin-top: 31px;
	min-width: 360px;
	padding: 18px 45px 18px 20px;
	text-align: left;
	line-height: 1.25;
	font-size: 1.6rem;
}

.commonHeader .btnBox.flex{
	justify-content: center;
}
.commonHeader .btnBox li + li{
	margin-left: 20px;
}
.commonHeader .btnBox .btnBasic{
	min-width: 320px;
}
.commonHeader .btnBox .btnBasic:hover{
	background: #87000B;
}
.commonHeader .btnBox li:first-child .btnBasic{
	background: #333;
}
.commonHeader .btnBox li:first-child .btnBasic:hover{
	background: #131313;
}

@media screen and (max-width: 1179px){
	.docContainer figure{
		width: 260px;
	}
}
@media screen and (max-width: 767px){
	#mainBlock {
		padding-top: 60px;
	}
	#contentsBlock [id^="sec_"] > .inner{
		padding-top: 80px;
	}
	
	.docContainer .inner{
		display: block;
		width: calc(100% - 120px);
	}
	.docContainer figure{
		margin: 0 auto;
		max-width: 260px;
		width: 100%;
	}
	.docContainer .txtBox{
		width: 100%;
		margin: 0 auto;
	}
	.docContainer .txtBox p{
		font-size: 1.6rem;
		text-align: center;
	}
	.docContainer .txtBox > div{
		flex-direction: column;
		margin-top: 16px;
	}
	.docContainer .txtBox .btnBasic{
		margin: 0 auto;
		line-height: 2.667em;
	}
	.docContainer .txtBox .contactLink{
		margin-top: 16px;
	}
	
	/* 下層ヘッダー */
	.commonHeader.style02{
		background-image: url("/common/img/bg/bg_keyvisual_sp.jpg");
	}
	.commonHeader.style02 > .inner{
		min-height: 294px;
	}
	.commonHeader > .inner{
		padding-top: 60px;
		padding-bottom: 40px;
		min-height: 120px;
	}
	.commonHeader .ttlBox .ttl{
		font-size: 2.8rem;
	}
	.commonHeader .btnBasic{
		max-width: 320px;
		min-width: inherit;
		margin-top: 16px;
	}
	.commonHeader .btnBox.flex{
		flex-direction: column;
		margin-top: 16px;
	}
	.commonHeader .btnBox li{
		width: 100%;
	}
	.commonHeader .btnBox li + li{
		margin: 0;
		max-width: 320px;
		width: 100%;
	}
	.commonHeader .btnBasic{
		font-size: 1.4rem;
		padding: 15px 35px 15.5px 20px;
	}
}
@media screen and (max-width: 374px){
	.docContainer .inner{
		display: block;
		width: calc(100% - 80px);
	}
	.commonHeader .btnBox .btnBasic{
		min-width: 288px;
	}
}


/* ------------------------------------------------------------------------ */

/*  フォーム入力ページ・完了ページ

/* ------------------------------------------------------------------------ */
#sec_form{
	background: rgb(255,255,255);
	background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(247,247,247,1) 50%, rgba(247,247,247,1) 100%);
}
#sec_form > .inner{
	align-items: stretch;
	position: relative;
}
#sec_form > .inner > .container{
	width: 50%;
}

#sec_form .leftContainer{
	padding-right: 40px;
}
#sec_form .leftContainer .ttl{
	text-align: left;
	font-size: 3.6rem;
}
#sec_form .leftContainer .lead{
	text-align: left;
	margin-top: 32px;
}
#sec_form .leftContainer .txtBox{
	border: solid 1px #DBDBDB;
	border-radius: 5px;
	padding: 24px;
	margin-top: 16px;
	text-align: left;
}
#sec_form .leftContainer .txtBox + .txtBox{
	margin-top: 24px;
}
#sec_form .txtBox dt{
	text-align: left;
	font-weight: 700;
	font-size: 1.8rem;
}
#sec_form .txtBox dd{
	margin-top: 16px;
}

#sec_form .leftContainer figure{
	margin-top: 16px;
}

#sec_form .rightContainer {
	padding-left: 39px;
}
#sec_form .btnBasic{
	padding: 0 40px;
}

#sec_thanks .ttl{
	font-size: 2.8rem;
}
#sec_thanks .txt{
	margin-top: 40px;
	font-size: 1.8rem;
}
#sec_thanks .btnBasic{
	margin-top: 40px;
	font-size: 1.4rem;
	line-height: 3.429;
}


#sec_other{
	background: #FBFBFB;
}
#sec_other .hd02{
	text-align: center;
	margin-bottom: 0;
}
#sec_other .catalogList {
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin: 0 -20px;
}
#sec_other .catalogList > li{
	max-width: 376px;
	text-align: left;
	margin-top: 64px;
	margin: 64px 20px 0;
	width: calc(100% / 3 - 39px);
}
#sec_other .catalogList > li > a {
	text-decoration: none;
	color: #000;
}
#sec_other .catalogList .label-cat{
	font-size: 1.4rem;
	font-weight: 700;
	color: #A8A8A8;
	margin-top: 8px;
}
#sec_other .catalogList li h3{
	margin-top: 8px;
	font-size: 1.8rem;
}
#sec_other .catalogList li h3 span{
	background: linear-gradient(#2D2D2D, #2D2D2D) 0 100% / 0 1px no-repeat;
	transition: background .4s;
}
#sec_other .catalogList li > a:hover h3 span{
	background-size: 100% 1px;
}

#sec_other .catalogList li .txt{
	margin-top: 8px;
}
#sec_other .catalogList li .btnBasic{
	margin-top: 16px;
	font-size: 1.6rem;
	line-height: 2.5em;
}
#sec_other .catalogList .txtlist{
	margin-top: 16px;
}
#sec_other .catalogList .txtlist > li{
	text-indent: -1em;
	padding-left: 1em;
	position: relative;
}
#sec_other .catalogList .txtlist > li::before{
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	background: #A2000D;
	border-radius: 50%;
	margin-right: 0.5em;
	margin-bottom: 0.2em;
}

#bd_form.form .hg_menu_btn,
#bd_form.form nav,
#bd_form.form footer{
	display: none !important;
}

#bd_form.form #sec_form{
	min-height: calc(100vh - 80px);
}

#bd_form.form #sec_form .copyContainer{
	text-align: right;
	position: absolute;
	right: 0;
	bottom: 16px;
	font-size: 1.2rem;
	font-weight: 500;
	color: #131313;
}

@media screen and (max-width: 1280px){
	#sec_other .catalogList{
		margin: 0 -15px;
	}
	#sec_other .catalogList > li{
		margin: 64px 15px 0;
		width: calc(100% / 3 - 30px);
	}

}
@media screen and (max-width: 1024px){
	#sec_other .catalogList{
		margin: 9px -10px 0;
	}
	#sec_other .catalogList > li{
		margin: 41px 10px 0;
		width: calc(100% / 3 - 20px);
	}
	#sec_other .catalogList li .btnBasic{
		font-size: 1.4rem;
		line-height: 2.858;
	}
}
@media screen and (max-width: 1023px){
	#sec_form{
		background: none;
	}
	#contentsBlock #sec_form > .inner{
		flex-direction: column;
		max-width: inherit;
		width: 100%;
		padding: 0;
	}
	#sec_form > .inner > .container{
		max-width: inherit;
		width: 100%;
	}
	#sec_form .leftContainer,
	#sec_form .rightContainer{
		padding: 48px 16px 120px;
	}
	#sec_form .rightContainer{
		background: #F7F7F7;
	}
	#bd_form.form #sec_form .copyContainer{
		right: 16px;
	}
}
@media screen and (max-width: 767px){
	#sec_form .leftContainer,
	#sec_form .rightContainer{
		padding: 48px 16px 60px;
	}
	#bd_form.form #sec_form > .inner > .leftContainer{
		padding: 40px 16px;
	}
	#sec_form .leftContainer .ttl{
		text-align: center;
		font-size: 2.8rem;
	}
	#sec_form .leftContainer .txtBox,
	#sec_form .leftContainer figure{
		display: none;
	}
	#sec_form .rightContainer{
		min-height: calc(100vh - 224px);
	}
	#bd_form.form #sec_form > .inner > .rightContainer{
		padding-bottom: 120px;
	}
	#sec_other .catalogList.flex{
		flex-direction: column;
		margin: 0 auto;
	}
	#sec_other .catalogList.flex > li:first-child{
		margin-top: 40px;
	}
	#sec_other .catalogList.flex > li{
		width: 100%;
		margin: 80px auto 0;
	}
	
	#sec_thanks .txt{
		font-size: 1.4rem;
	}
}




/* ------------------------------------------------------------------------ */

/* Footer

/* ------------------------------------------------------------------------ */

footer {
}

/* 相談 */
.footerConsultation{
	background: url("/common/img/footer/bg_contact.webp") no-repeat center / cover;
	color: #fff;
}
.footerConsultation .inner{
	max-width: 1208px;
	width: calc(100% - 32px);
	margin: 0 auto;
	padding: 72px 0 144px;
}
.footerConsultation h2{
	font-size: 3.2rem;
	line-height: 1.5;
}
.footerConsultation ul{
	margin-top: 80px;
	align-items: stretch;
}
.footerConsultation ul li{
	background: #131313;
	max-width: 402px;
	width: calc(100% / 3 - 1px);
	padding: 50px;
	position: relative;
}

.footerConsultation ul li p{
	font-size: 1.4rem;
	margin-top: 1.7143em;
}
.footerConsultation ul li p::before{
	content: "";
	display: block;
	background-position: center;
	background-repeat: no-repeat;
	width: 100%;
	height: 60px;
	margin-bottom: 2.44444em;
}
.footerConsultation ul li.icon-contact p::before{
	background-image: url("/common/img/footer/icon_mail.svg");
	background-size: 60px 48px;
}
.footerConsultation ul li.icon-showroom p::before{
	background-image: url("/common/img/footer/icon_pin.svg");
	background-size: 49px 60px;
}
.footerConsultation ul li.icon-document p::before{
	background-image: url("/common/img/footer/icon_document.svg");
	background-size: 48px 60px;
}

.footerConsultation ul li .btnBasic{
	max-width: 280px;
	position: absolute;
	top: calc(100% - 1.5em);
	left: 50%;
	transform: translateX(-50%);
	width: calc(100% - 52px);
}


/* 検索・診断 */
.footerAbout{
	background: #EFECEC;
}
.footerAbout ul{
	align-items: stretch;
	justify-content: center;
}
.footerAbout ul li{
	width: 50%;
}
	.footerAbout ul li + li{
		border-left: solid 1px #707070;
	}

.footerAbout ul li a{
	display: block;
	text-decoration: none;
	color: #131313;
	padding: 76px 74px 78px;
}

.footerAbout ul li .inner{
	max-width: 416px;
	margin: 0 auto;
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
	.footerAbout ul li .inner::before{
		content: "";
		display: inline-block;
		background-size: contain;
		background-repeat: no-repeat;
		width: 88px;
		height: 88px;
		flex-shrink: 0;
		margin-right: 32px;
	}
	.footerAbout ul li.icon-search .inner::before{
		background-image: url("/common/img/footer/icon_shopsearch.svg");
	}
	.footerAbout ul li.icon-diagnosis .inner::before{
		background-image: url("/common/img/footer/icon_shindan.svg");
	}

.footerAbout ul li .inner .txt{
	text-align: left;
}
.footerAbout ul li h2{
	font-size: 2rem;
	position: relative;
}
	.footerAbout ul li h2 .material-symbols-outlined {
		position: absolute;
		top: 50%;
		left: calc(100% - 20px);
		transform: translate(-50%, -50%);
		font-size: 1.2em;
		display: inline-block;
		z-index: 3;
		opacity: 1;
	}
	.footerAbout ul li a:hover h2 .material-symbols-outlined {
		-webkit-animation: slideArrow .8s cubic-bezier(.5, .25, 0, 1) 0s 1 normal forwards;
		animation: slideArrow .8s cubic-bezier(.5, .25, 0, 1) 0s 1 normal forwards
	}

.footerAbout ul li p{
	font-size: 1.4rem;
	line-height: 1.5;
	margin-top: 1.14283em;
}


/* フッターナビゲーション */
footer .footerNav{
	background: #131313;
	color: #fff;
	text-align: left;
	padding: 72px 96px 32px;
}
footer .footerNav .inner{
}
footer .footerNav a{
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	text-decoration: none;
	line-height: 2.285711;
	padding-left: 1em;
}
footer .footerNav a:hover{
	opacity: 0.7;
}
footer .addBox .logo a{
	padding: 0;
}
footer .addBox .logo a:hover{
	opacity: 1;
}
footer .addBox .add{
	font-size: 1.4rem;
	font-weight: 500;
	margin-top: 32px;
}

footer .navContainer {
	align-items: flex-start;
}
footer .navBox.flex{
	align-items: flex-start;
}
footer .navBox > ul{
	margin-left: 20px;
}

footer .navBox .mainLink a{
	position: relative;
}
footer .navBox .mainLink > a::before{
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	background: #A2000D;
	border-radius: 50%;
	position: absolute;
	top: 0.9em;
	left: 0;
}
footer .navBox .subLink{
	margin-left: 17px;
}
footer .navBox .subLink a{
	font-size: 1.3rem;
	font-weight: 500;
	color: rgba(255,255,255,0.7);
	display: inline-block;
	position: relative;
}
footer .navBox .subLink > li a::before{
	content: "-";
	display: inline-block;
	position: absolute;
	left: 0;
}

footer .copyContainer {
	margin-top: 120px;
	font-size: 1.2rem;
	font-weight: 500;
}
footer .copyContainer ul li a{
	font-size: 1.2rem;
	font-weight: 500;
	padding: 0;
}
footer .copyContainer ul li + li{
	margin-left: 40px;
}
footer .copyContainer p{
	color: rgba(255,255,255,0.7);
}

@media screen and (max-width: 1360px){
	/* フッターナビゲーション */
	footer .footerNav{
		padding: 72px 40px 32px;
	}
	footer .navContainer{
		max-width: 1208px;
		width: 100%;
	}
}
@media screen and (max-width: 1300px){
	/* 相談 */
	.footerConsultation .inner{
		padding: 60px 0 105px;
	}
	.footerConsultation h2{
		font-size: 2.8rem;
	}
	.footerConsultation ul{
		margin-top: 20px;
	}
	
	/* 検索・診断 */
	.footerAbout ul li a{
		padding: 30px;
	}
	.footerAbout ul li .inner::before{
		width: 68px;
		height: 68px;
		margin-right: 20px;
	}
	.footerAbout ul li h2 .material-symbols-outlined{
		left: 100%;
	}
	
	/* フッターナビゲーション */
	footer .footerNav{
		padding: 60px 16px 32px;
	}
	footer .navContainer{
		flex-direction: column;
	}
	footer .navBox.flex{
		margin-top: 64px;
	}
	footer .navBox > ul:first-child{
		margin-left: 0;
	}
}

@media screen and (max-width: 1023px){
	/* 相談 */
	.footerConsultation ul li{
		padding: 30px 30px 40px;
	}
	.footerConsultation ul li p::before{
		margin-bottom: 1em;
	}
	.footerConsultation ul li .btnBasic{
		font-size: 1.4rem;
		width: calc(100% - 24px);
	}
}

@media screen and (max-width: 767px){
	/* 相談 */
	.footerConsultation h2{
		font-size: 2rem;
	}
	.footerConsultation ul{
		flex-direction: column;
	}
	.footerConsultation ul li{
		width: 100%;
		max-width: inherit;
	}
	.footerConsultation ul li + li{
		margin-top: 60px;
	}
	.footerConsultation ul li h3{
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.footerConsultation ul li h3::before{
		width: 25px;
		margin-bottom: 0;
		margin-right: 10px;
	}
	.footerConsultation ul li.icon-contact h3::before{
		background-size: 20px 25px;
	}
	.footerConsultation ul li.icon-showroom h3::before{
		background-size: 20px 24.44px;
	}
	.footerConsultation ul li.icon-document h3::before{
		background-size: 20px 25px;
	}
	.footerConsultation ul li p{
		margin-top: 0;
	}
	.footerConsultation ul li .btnBasic{
        font-size: 1.6rem;
        line-height: 1.6875em;
        top: calc(100% - 1.5em);
        padding: 10px 0 11px 0;
	}
	
	/* 検索・診断 */
	.footerAbout ul li a{
		padding: 40px 16px;
	}
	.footerAbout ul li .inner{
		flex-direction: column;
	}
	.footerAbout ul li .inner::before{
		margin-right: 0;
		margin-bottom: 16px;
		width: 64px;
		height: 64px;
	}
	.footerAbout ul li h2{
		text-align: center;
		font-size: 1.8rem;
	}
	.footerAbout ul li h2 .material-symbols-outlined{
		display: none;
	}
	.footerAbout ul li h2 .blank_wrap{
		display: block;
	}
	
	/* フッターナビゲーション */
	footer .navBox.flex{
		flex-wrap: wrap;
	}
	footer .navBox > ul{
		width: 48%;
		margin-left: 0;
		margin-bottom: 32px;
	}
	footer .copyContainer{
		margin-top: 32px;
		flex-direction: column;
	}
	footer .copyContainer p{
		margin-top: 40px;
	}
}





