@charset "UTF-8";

/*--------------------------------------------
CONTACT
---------------------------------------------*/

@media screen and (max-width: 750px){
	#contact{
		display : none;
	}
}

@media print,screen and (min-width: 751px){
	#contact{
		padding-top : 66px;
		padding-bottom : 59px;
		padding-left : calc( ( 100% - 1100px ) / 2 );
		padding-right : calc( ( 100% - 1100px ) / 2 );
		background : url("../images/parts/bg_contact_pc.webp") center / auto 363px no-repeat #ebe8e8;
	}
	#contact h4{
		font-size : 2.2rem;
		letter-spacing : .1em;
	}
	#contact a:nth-of-type(1){
		margin-top : 34px;
		width : -moz-fit-content;
		width :      fit-content;
		display : block;
	}
	#contact a:nth-of-type(1) span:nth-of-type(1){
		display : block;
		font-size : 1.6rem;
		letter-spacing : .1em;
	}
	#contact a:nth-of-type(1) span:nth-of-type(2){
		display : grid;
		align-items : center;
		grid-template-columns : 32px auto;
		column-gap : 14px;
		font-weight : 700;
		letter-spacing : .1em;
		font-size : 5rem;
		font-family : "Lato", sans-serif;
		margin-top : 12px;
	}
	#contact a:nth-of-type(1) span:nth-of-type(2):before{
		content : "";
		display : block;
		background : url("../images/ui/icon/phone.svg") 0 0 / contain no-repeat;
		height : 50px;
		font-size : 0;
	}
	#contact a:nth-of-type(2){
		margin-top : 27px;
		width : 500px;
		height : 77px;
		display : block;
		padding-left : 110px;
		background-color : #daac0a;
		border-bottom : 5px solid #a7840a;
		font-weight : 700;
		letter-spacing : .1em;
		font-size : 2.2rem;
		color : #fff;
		padding-top : 33px;
		background-image : url("../images/ui/icon/email_white.svg");
		background-repeat : no-repeat;
		background-size : auto 36px;
		background-position : 51px 20px;
	}
}

/*--------------------------------------------
SUB LINK
---------------------------------------------*/

@media screen and (max-width: 750px){
	#sublink{
		display : none;
	}
}

@media print,screen and (min-width: 751px){
	#sublink{
		padding-top : calc( 36px - 2px );
		padding-bottom : 35px;
		display : grid;
		grid-template-columns : auto 1fr;
		column-gap : 90px;
		align-items : start;
	}
	#sublink > a{
		font-weight : 700;
	}
	#sublink h5 , #sublink > a{
		letter-spacing : .2em;
		font-size : 2rem;
	}
	#sublink h5 , #sublink > a:not(:only-child){
		padding-bottom : 9px;
		border-bottom : 1px solid currentColor;
		width : -moz-fit-content;
		width :      fit-content;
	}
	#sublink .outline > li + li{
		margin-top : 31px;
	}
	#sublink .outline h6{
		font-weight : 500;
		letter-spacing : .2em;
		font-size : 2rem;
	}
	#sublink .outline ul{
		margin-top : 19px;
		display : flex;
		flex-wrap : wrap;
		row-gap : 7px;
	}
	#sublink .outline ul li{
		display : flex;
		align-items : flex-start;
		font-size : 1.6rem;
	}
	#sublink .outline ul li:not(:last-child):after{
		content : "｜";
	}
	#sublink .outline a{
		border-bottom-width : 1px;
		border-bottom-style : solid;
		border-bottom-color : currentColor;
		padding-bottom : 8px;
		display : block;
		transition : font-weight .3s ease-in , border-color .3s ease-in;
	}
	#sublink .outline a:hover , #sublink .outline a.is-current{
		font-weight : 700;
		border-bottom-color : transparent;
	}
	#sublink > ul:not(.outline){
		display : flex;
		flex-wrap : wrap;
		row-gap : 7px;
	}
	#sublink > ul:not(.outline) li{
		display : flex;
		align-items : flex-start;
		font-size : 1.6rem;
	}
	#sublink > ul:not(.outline) li:not(:last-child):after{
		content : "｜";
	}
	#sublink > ul:not(.outline) a{
		border-bottom-width : 1px;
		border-bottom-style : solid;
		border-bottom-color : currentColor;
		padding-bottom : 8px;
		display : block;
		transition : font-weight .3s ease-in , border-color .3s ease-in;
	}
	#sublink > ul:not(.outline) a:hover , #sublink > ul:not(.outline) a.is-current{
		font-weight : 700;
		border-bottom-color : transparent;
	}
}

/*--------------------------------------------
FOOTER
---------------------------------------------*/

@media screen and (max-width: 750px){
	#toTop{
		background-color : #1a1a1a;
		position : absolute;
		top : 0;
		right : 0;
		width : calc( 100 * 100% / 750 );
		height : calc( 100 * 100vw / 750 );
		display : grid;
		place-items : center;
	}
	#toTop img{
		height : calc( 34 * 100vw / 750 );
	}
}

#footer{
	position : relative;
	background-color : #333;
	color : #fff;
}

#footer a{
	color : #fff;
}

#footer .logo{
	width : -moz-fit-content;
	width :      fit-content;
}
    #footer .logo_wrap {
        display: flex;
        align-items: flex-end;
    }
        #footer .logo .group{
            margin: 0px;
            padding: 0px;
    }
#footer .contacts{
	display : grid;
	grid-auto-flow : column;
	font-weight : 500;
}

#footer .contacts a:nth-of-type(1) span{
	display : block;
}

#footer .contacts a:nth-of-type(1) span:nth-of-type(1){
	letter-spacing : .1em;
}

#footer .contacts a:nth-of-type(1) span:nth-of-type(2){
	letter-spacing : .1em;
}

#footer .contacts a:nth-of-type(2){
	display : grid;
	place-items : center;
	background-color : #f8b551;
	color : #fff;
	line-height : 1.2;
	text-align : center;
	letter-spacing : .1em;
	text-indent : .1em;
}

#footer .copyright{
	border-image-source : linear-gradient(#1a1a1a,#1a1a1a);
	border-image-slice : 0 fill;
	border-image-outset : 0 100vw 0 100vw;
	letter-spacing : .1em;
	line-height : 1.2;
	font-weight : 500;
}

@media screen and (max-width: 750px){
	#footer .links{
		padding-top : calc( 20 * 100vw / 750 );
		padding-bottom : calc( 40 * 100vw / 750 );
	}
	#footer .contacts{
		justify-content : start;
		padding-left : calc( 3 * 100% / 690 );
		column-gap : calc( 16 * 100% / 687 );
		grid-template-columns : auto calc( 240 * 100% / 687 );
	}
	#footer .contacts a:nth-of-type(1){
		margin-top : calc( 7 * 100vw / 750 );
	}
	#footer .contacts a:nth-of-type(1) span:nth-of-type(1){
		font-size : 2.4rem;
		padding-left : calc( 2 * 100vw / 750 );
	}
	#footer .contacts a:nth-of-type(1) span:nth-of-type(2){
		margin-top : calc( 5 * 100vw / 750 );
		font-size : 4.5rem;
	}
	#footer .contacts a:nth-of-type(2){
		height : calc( 80 * 100vw / 750 );
		font-size : 2.6rem;
	}
	#footer .logo{
		margin-top : calc( 29 * 100vw / 750 );
	}
    #footer .logo_wrap {
        column-gap: calc( 4 * 100vw / 750 );
	}
	#footer .logo .group img{
		height : calc( 61 * 100vw / 750 );
	}
	#footer .logo .tax img{
		height : calc( 35 * 100vw / 750 );
        margin-bottom: calc( 4 * 100vw / 750 );
	}
	#footer .logo .audit img{
		height : calc( 35 * 100vw / 750 );
        margin-bottom: calc( 4 * 100vw / 750 );
	}
	#footer .logo img{
		height : calc( 65 * 100vw / 750 );
	}
	#footer .copyright{
		text-indent : .1em;
		font-size : 2.6rem;
		padding-top : calc( ( 62 - 2.6 ) * 100vw / 750 );
		padding-bottom : calc( ( 115 - 2.6 ) * 100vw / 750 );
		text-align : center;
	}
}

@media print,screen and (min-width: 751px){
	#footer .links{
		padding-top : 50px;
		padding-bottom : calc( 57px - 1.6px );
	}
	#footer .logos{
		display : grid;
		grid-template-columns : auto auto;
		grid-template-rows : auto;
	}
	#footer .logo{
		grid-row : 1;
		grid-column : 1;
	}
    #footer .logo_wrap {
        column-gap: 4px;
	}
	#footer .logo .group img{
		height : 61px;
	}
	#footer .logo .tax img{
		height : 35px;
        margin-bottom: 2px;
	}
	#footer .logo .audit img{
		height : 35px;
        margin-bottom: 2px;
	}
	#footer .logo img{
		height : 59px;
	}
	#footer .contacts{
		justify-content : end;
		padding-top : 6px;
		column-gap : 6px;
		grid-template-columns : auto 190px;
	}
	#footer .contacts a:nth-of-type(1){
		margin-top : 3px;
	}
	#footer .contacts a:nth-of-type(1) span:nth-of-type(1){
		font-size : 1.4rem;
	}
	#footer .contacts a:nth-of-type(1) span:nth-of-type(2){
		margin-top : 7px;
		font-size : 3.4rem;
	}
	#footer .contacts a:nth-of-type(2){
		height : 55px;
		font-size : 1.6rem;
	}
	#footer .navs{
		margin-top : calc( 63px - 1.6px );
		display : grid;
		grid-template-columns : repeat( 3 , 33.3% );
	}
	#footer .navs > li > ul > li:not(.small) + li:not(.small){
		margin-top : calc( 30px - 4.4px - 1.6px );
	}
	#footer .navs > li > ul > li:not(.small) > a{
		display : block;
		font-weight : 500;
		font-size : 1.6rem;
		line-height : 1.2;
	}
	#footer .navs > li > ul > li:not(.small) > a:after{
		content : "";
		display : block;
		background-color : #fff;
		width : 30px;
		height : 2px;
		margin-top : calc( 4px - 1.6px );
		font-size : 0;
		line-height : 1;
	}
	#footer .navs > li > ul > li:not(.small) + li.small{
		margin-top : calc( 60px - 4.4px - 1.6px );
	}
	#footer .navs > li > ul > li.small + li.small{
		margin-top : 15px;
	}
	#footer .navs > li > ul > li.small > a{
		font-size : 1.6rem;
		line-height : 1.2;
		display : grid;
		grid-template-columns : auto 1fr;
		font-weight : 300;
	}
	#footer .navs > li > ul > li.small > a:before{
		content : "- ";
		white-space : pre;
	}
	#footer .navs ul ul{
		margin-top : 15px;
	}
	#footer .navs ul ul li + li{
		margin-top : 15px;
	}
	#footer .navs ul ul a{
		font-size : 1.6rem;
		line-height : 1.2;
		display : grid;
		grid-template-columns : auto 1fr;
		font-weight : 300;
		padding-right : 1em;
	}
	#footer .navs ul ul a:before{
		content : "- ";
		white-space : pre;
	}
	#footer .navs ul ul.outline p{
		font-size : 1.6rem;
		margin-top : 15px;
		line-height : 1.2;
	}
	#footer .navs ul ul.outline p:before{
		content : "[ ";
		white-space : pre;
	}
	#footer .navs ul ul.outline p:after{
		content : " ]";
		white-space : pre;
	}
	#footer .copyright{
		font-size : 1.6rem;
		padding-top : calc( 34px - 1.6px );
		padding-bottom : calc( 71px - 1.6px );
	}
}

#paginationKnowledge{
	display : inline-flex;
	align-items : center;
	justify-content : center;
	left : 50%;
	transform : translateX( -50% );
	position : relative;
}

#paginationKnowledge .prev{
	position : absolute;
	top : 50%;
	right : 100%;
	transform : translateY(-50%);
}

#paginationKnowledge .next{
	position : absolute;
	top : 50%;
	left : 100%;
	transform : translateY(-50%);
}

#paginationKnowledge button + button{
	content : "｜";
	display : block;
}

#paginationKnowledge button{
	padding-left : 1em;
	padding-right : 1em;
}

#paginationKnowledge button{
	display : grid;
	place-items : center;
}

#paginationKnowledge button.is-hide{
	display : none;
}

@media screen and (max-width: 750px){
	#paginationKnowledge button{
		font-size : 3rem;
	}
}

@media print,screen and (min-width: 751px){
	#paginationKnowledge button{
		font-size : 1.8rem;
	}
}

/*--------------------------------------------
SIDEBAR
---------------------------------------------*/

#sidebar{
	border-color : #e0e1db;
	border-style : solid;
}

#sidebar h5{
	font-weight : 500;
}

#sidebar li{
	border-bottom-style : dotted;
	border-bottom-color : #ccc;
}

#sidebar a{
	display : block;
}

@media screen and (max-width: 750px){
	#sidebar{
		margin-top : calc( 102 * 100vw / 750 );
		border-width : calc( 8 * 100vw / 750 );
		padding-left : calc( 36 * 100% / 690 );
		padding-right : calc( 36 * 100% / 690 );
		padding-top : calc( 52 * 100vw / 750 );
		padding-bottom : calc( 60 * 100vw / 750 );
	}
	#sidebar h5{
		font-size : 3rem;
	}
	#sidebar ul{
		margin-top : calc( 23 * 100vw / 750 );
	}
	#sidebar li{
		border-bottom-width : calc( 2 * 100vw / 750 );
	}
	#sidebar a{
		padding-top : calc( ( 22 - 2.6 ) * 100vw / 750 );
		padding-bottom : calc( ( 22 - 2.6 ) * 100vw / 750 );
	}
	#sidebar a{
		font-size : 2.6rem;
		line-height : 1.2;
	}
	#sidebar ul + h5{
		margin-top : calc( 84 * 100vw / 750 );
	}
}

@media print,screen and (min-width: 751px){
	#sidebar{
		border-width : 4px;
		padding-left : 16px;
		padding-right : 16px;
		padding-top : 27px;
		padding-bottom : 37px;
	}
	#sidebar h5{
		font-size : 1.6rem;
	}
	#sidebar ul{
		margin-top : 7px;
	}
	#sidebar li{
		border-bottom-width : 1px;
	}
	#sidebar a{
		padding-top : calc( 9.5px - 1.6px );
		padding-bottom : calc( 9.5px - 1.6px );
	}
	#sidebar a{
		font-size : 1.6rem;
		line-height : 1.2;
	}
	#sidebar ul + h5{
		margin-top : 44px;
	}
}