@charset "UTF-8";

/*--------------------------------------------
FONTS
---------------------------------------------*/

@font-face{
	font-family : "Noto Serif JP";
	src : url("../fonts/variable/NotoSerifJP-VF.woff") format("woff");
	font-weight : 1 999;
}

.lato{
	font-family : "Lato", sans-serif;
}

.serif{
	font-family : "Noto Serif JP", serif;
}
.font-green {
    color: var(--green);
}
.font-blue {
    color: var(--blue);
}
.font-marker {
    background:linear-gradient(transparent 60%, #ff6 60%);
}
/*--------------------------------------------
ROOT
---------------------------------------------*/

@media screen and (max-width: 750px){
	:root{
		--headeHeight : 122;
	}
}

@media print,screen and (min-width: 751px){
	:root{
		--headeHeight : 120px;
	}
}

@media screen and (max-width: 750px){
	html{
		scroll-padding-top : calc( var(--headeHeight) * 100vw / 750 );
		font-size : calc( 10 * 100vw / 750 );
	}
}

@media print,screen and (min-width: 751px){
	html{
		scroll-padding-top : var(--headeHeight);
		font-size : 10px;
	}
}

@media screen and (max-width: 750px){
	body{
		padding-top : calc( var(--headeHeight) * 100vw / 750 );
		font-size : 2.4rem;
	}
}

@media print,screen and (min-width: 751px){
	body{
		padding-top : var(--headeHeight);
		font-size : 1.6rem;
		min-width : 1240px;
	}
}

/*--------------------------------------------
--WRAPPER
---------------------------------------------*/

@media screen and (max-width: 750px){
	.wrap{
		padding-left : calc( 30 * 100% / 750 );
		padding-right : calc( 30 * 100% / 750 );
	}
}

@media print,screen and (min-width: 1240px){
	.wrap{
		padding-left : calc( ( 100% - 1200px ) / 2 );
		padding-right : calc( ( 100% - 1200px ) / 2 );
	}
}

@media screen and (max-width: 750px){
	.wrap-sp{
		padding-left : calc( 30 * 100% / 750 );
		padding-right : calc( 30 * 100% / 750 );
	}
}

@media print,screen and (min-width: 1240px){
	.wrap-pc{
		padding-left : calc( ( 100% - 1200px ) / 2 );
		padding-right : calc( ( 100% - 1200px ) / 2 );
	}
}

@media screen and (max-width: 750px){
	.wrap02{
		padding-left : calc( 30 * 100% / 750 );
		padding-right : calc( 30 * 100% / 750 );
	}
}

@media print,screen and (min-width: 1240px){
	.wrap02{
		padding-left : calc( ( 100% - 1180px ) / 2 );
		padding-right : calc( ( 100% - 1180px ) / 2 );
	}
}

@media print,screen and (min-width: 1240px){
	.wrap02-pc{
		padding-left : calc( ( 100% - 1180px ) / 2 );
		padding-right : calc( ( 100% - 1180px ) / 2 );
	}
}

@media screen and (max-width: 750px){
	.wrap03{
		padding-left : calc( 30 * 100% / 750 );
		padding-right : calc( 30 * 100% / 750 );
	}
}

@media print,screen and (min-width: 1240px){
	.wrap03{
		padding-left : calc( ( 100% - 1160px ) / 2 );
		padding-right : calc( ( 100% - 1160px ) / 2 );
	}
}

/*--------------------------------------------
COMMON
---------------------------------------------*/

@media screen and (max-width: 750px){
	.is-pc{
		display : none;
	}
}

@media screen and (max-width: 750px){
	.is-tb{
		display : none;
	}
}

@media print,screen and (min-width: 1240px){
	.is-tb{
		display : none;
	}
}

@media print,screen and (min-width: 751px){
	.is-sp{
		display : none;
	}
}

.full{
	width : 100%;
	height : auto;
}

[data-before]:before{
	content : attr( data-before );
	white-space : pre;
}

[data-after]:after{
	content : attr( data-after );
	white-space : pre;
}

[data-both]:before{
	content : attr( data-both );
	white-space : pre;
}

[data-both]:after{
	content : attr( data-both );
	white-space : pre;
}

@media screen and (max-width: 750px){
	[data-sp-after]:after{
		content : attr( data-sp-after );
		white-space : pre;
	}
}

@media screen and (max-width: 750px){
	[data-sp-before]:before{
		content : attr( data-sp-before );
		white-space : pre;
	}
}

@media print,screen and (min-width: 751px){
	[data-pc-after]:after{
		content : attr( data-pc-after );
		white-pcace : pre;
	}
}

@media print,screen and (min-width: 751px){
	[data-pc-before]:before{
		content : attr( data-pc-before );
		white-space : pre;
	}
}

.bg-green{
	background-color : var(--green);
}

.bg-blue{
	background-color : var(--blue);
}

/*--------------------------------------------
--HEADER
---------------------------------------------*/

#header{
	position : fixed;
	top : 0;
	left : 0;
	width : 100%;
	z-index : 10;
	display : grid;
	background-color : #fff;
}

#header .logo{
	width : -moz-fit-content;
	width :      fit-content;
}
#header .logo_wrap {
    display: flex;
    align-items: flex-end;
}
	#header .logo .group{
        margin: 0px;
        padding: 0px;
}

@media screen and (max-width: 750px){
	#header{
		height : calc( var(--headeHeight) * 100vw / 750 );
		grid-template-columns : calc( 31 * 100% / 750 ) auto 1fr calc( 120 * 100% / 750 );
		grid-template-rows : auto;
	}
	#header .logo{
		margin-top : calc( 33 * 100vw / 750 );
		grid-column : 2;
		grid-row : 1;
        height:calc( 61 * 100vw / 750 );
	}
    #header .logo_wrap {
        column-gap: calc( 4 * 100vw / 750 );
	}
	#header .logo .group img{
		height : calc( 61 * 100vw / 750 );
	}
	#header .logo .tax img{
		height : calc( 35 * 100vw / 750 );
        margin-bottom: calc( 4 * 100vw / 750 );
	}
	#header .logo .audit img{
		height : calc( 35 * 100vw / 750 );
        margin-bottom: calc( 4 * 100vw / 750 );
	}
}

@media print,screen and (min-width: 751px){
	#header{
		padding-left : 20px;
		padding-right : 20px;
		grid-template-columns : auto 1fr auto 30px 64px;
		grid-template-rows : auto;
		height : var(--headeHeight);
	}
	#header .logo{
		grid-column : 1;
		grid-row : 1;
		margin-top : 40px;
        height: 61px;
	}
    #header .logo_wrap {
        column-gap: 4px;
	}
	#header .logo .group img{
		height : 61px;
	}
	#header .logo .tax img{
		height : 35px;
        margin-bottom: 2px;
	}
	#header .logo .audit img{
		height : 35px;
        margin-bottom: 2px;
	}
	#header .contacts01{
		grid-column : 3;
		grid-row : 1;
		display : grid;
		grid-auto-flow : column;
		column-gap : 13px;
		margin-top : 46px;
		font-weight : 500;
	}
	#header .contacts01 a:nth-of-type(1){
		padding-top : 5px;
	}
	#header .contacts01 a:nth-of-type(1) span{
		display : block;
		color : #363636;
	}
	#header .contacts01 a:nth-of-type(1) span:nth-of-type(1){
		font-size : 1.4rem;
		letter-spacing : .1em;
	}
	#header .contacts01 a:nth-of-type(1) span:nth-of-type(2){
		font-size : 3rem;
		letter-spacing : .1em;
		margin-top : 8px;
	}
	#header .contacts01 a:nth-of-type(2){
		display : grid;
		place-items : center;
		background-color : var(--orange);
		color : #fff;
		width : 160px;
		height : 55px;
		line-height : 1.2;
		text-align : center;
		letter-spacing : .1em;
		text-indent : .1em;
	}
}

/*--------------------------------------------
--MENU BUTTON
---------------------------------------------*/

#menuBtn > span:nth-of-type(1){
	width : 100%;
	height : 100%;
	position : relative;
	display : block;
	font-size : 0;
}

#menuBtn span span{
	display : block;
	position : absolute;
	left : 0;
	transition : all .4s;
	width : 100%;
}

#menuBtn span span:nth-of-type(1){
	top : 0;
}

#menuBtn span span:nth-of-type(2){
	bottom : 0;
}

#menuBtn{
	z-index : 11;
}

#menuBtn span span{
	background-color : #928c8c;
}

@media screen and (max-width: 750px){
	#menuBtn{
		grid-row : 1;
		grid-column : 4;
		top : 0;
		right : 0;
		height : calc( 122 * 100vw / 750 );
		padding-left : calc( 28 * 100% / 120 );
		padding-right : calc( 28 * 100% / 120 );
		padding-top : calc( 48 * 100vw / 750 );
		padding-bottom : calc( 50 * 100vw / 750 );
	}
	#menuBtn span:nth-of-type(1) span{
		height : calc( 4 * 100vw / 750 );
	}
}

@media print,screen and (min-width: 751px){
	#menuBtn{
		grid-column : 5;
		grid-row : 1;
		height : 55px;
		padding-top : 4px;
		margin-top : 46px;
		position : relative;
	}
	#menuBtn > span:nth-of-type(1){
		height : 25px;
	}
	#menuBtn > span:nth-of-type(1) span{
		height : 5px;
	}
	#menuBtn > span:nth-of-type(2){
		text-align : center;
		letter-spacing : .1em;
		text-indent : .1em;
		font-weight : 500;
		font-size : 1.4rem;
		margin-top : 9px;
		display : block;
	}
}

body.is-open{
	overflow : hidden;
}

body.is-open #nav{
	max-height : 100vh;
	max-height : 100svh;
}

body.is-open #header #menuBtn > span:nth-of-type(1) span:nth-of-type(1){
	transform : rotate(-45deg);
	top : 50%;
}

body.is-open #header #menuBtn > span:nth-of-type(1) span:nth-of-type(2){
	transform : rotate(45deg);
	top : 50%;
}

@media print,screen and (min-width: 751px){
	body.is-open #menuBtn > span:nth-of-type(2){
		display : none;
	}
}

/*--------------------------------------------
--NAV
---------------------------------------------*/

#nav{
	background-color : #fff;
	position : fixed;
	left : 0;
	width : 100%;
	z-index : 10;
	transition : max-height .5s ease-in;
	max-height : 0;
	overflow : hidden;
	overflow-y : auto;
}

#nav #btnClose{
	margin-left : auto;
	margin-right : auto;
	width : max-content;
	display : block;
}

#nav .contacts02{
	font-weight : 500;
}

#nav .contacts02 a:nth-of-type(1) span{
	display : block;
	color : #363636;
	text-align : center;
	letter-spacing : .1em;
	text-indent : .1em;
}

#nav .contacts02 a:nth-of-type(2){
	display : grid;
	place-items : center;
	background-color : var(--orange);
	color : #fff;
	margin-top : 15px;
	text-align : center;
	letter-spacing : .1em;
	text-indent : .1em;
}

@media screen and (max-width: 750px){
	#nav{
		height : calc( 100 * var(--vh) - var(--headeHeight) * 100vw / 750 );
		top : calc( var(--headeHeight) * 100vw / 750 );
	}
	#nav .scroll{
		padding-left : calc( 30 * 100% / 750 );
		padding-right : calc( 30 * 100% / 750 );
		padding-top : calc( 13 * 100vw / 750 );
		padding-bottom : calc( 74 * 100vw / 750 );
	}
	#nav .contacts02{
		margin-top : calc( 47 * 100vw / 750 );
	}
	#nav .contacts02 a:nth-of-type(1) span:nth-of-type(1){
		font-size : 2.6rem;
	}
	#nav .contacts02 a:nth-of-type(1) span:nth-of-type(2){
		margin-top : calc( 12 * 100vw / 750 );
		font-size : 6rem;
	}
	#nav .contacts02 a:nth-of-type(2){
		margin-left : auto;
		margin-right : auto;
		width : calc( 600 * 100% / 690 );
		height : calc( 100 * 100vw / 750 );
		font-size : 3rem;
	}
	#nav #btnClose{
		margin-top : calc( 46 * 100vw / 750 );
	}
	#nav #btnClose img{
		height : calc( 122 * 100vw / 750 );
	}
}

@media print,screen and (min-width: 751px){
	#nav{
		height : calc( 100 * var(--vh) - var(--headeHeight) );
		top : var(--headeHeight);
	}
	#nav .scroll{
		padding-left : calc( ( 100% - 1180px ) / 2 );
		padding-right : calc( ( 100% - 1180px ) / 2 );
		padding-top : calc( 49px - 2.4px );
		position : relative;
	}
	#nav .contacts02{
		position : absolute;
		left : calc( 50% + 220px );
		width : 340px;
		bottom : 100px;
	}
	#nav .contacts02 a:nth-of-type(1) span:nth-of-type(1){
		font-size : 1.8rem;
		letter-spacing : .1em;
	}
	#nav .contacts02 a:nth-of-type(1) span:nth-of-type(2){
		margin-top : 10px;
		font-size : 4rem;
		letter-spacing : .1em;
	}
	#nav .contacts02 a:nth-of-type(2){
		width : 100%;
		height : 55px;
		font-size : 2.2rem;
	}
	#nav #btnClose{
		margin-top : 54px;
	}
	#nav #btnClose img{
		height : 122px;
	}
}

#navGlobal{
	font-weight : 500;
}

#navGlobal a , #navGlobal button:not(.close){
	color : #363636;
}

#navGlobal > li > ul > li > a , #navGlobal > li > ul > li > div > a , #navGlobal > li > ul > li button:not(.close){
	line-height : 1.2;
}

#navGlobal > li > ul > li > a:before , #navGlobal > li > ul > li > div > a:before , #navGlobal > li > ul > li button:not(.close):before{
	content : "";
	display : block;
	font-size : 0;
	line-height : 1;
}

#navGlobal ul ul:not(.outline) a{
	display : grid;
	grid-auto-flow : column;
	line-height : 1.2;
}

#navGlobal ul ul:not(.outline) a:before{
	content : "";
	display : block;
	background : url("../images/ui/arrow/right01.svg") 0 0 / contain no-repeat;
	font-size : 0;
	line-height : 1;
}

#navGlobal .outline p{
	display : grid;
	place-items : center start;
	letter-spacing : .1em;
	color : #fff;
}

@media screen and (max-width: 750px){
	#navGlobal{
		border-bottom : calc( 2 * 100vw / 750 ) solid #dbd7d5;
		margin-top : calc( -50 * 100vw / 750 );
	}
	#navGlobal > li + li{
		border-top : calc( 2 * 100vw / 750 ) solid #dbd7d5;
	}
	#navGlobal > li:not(:first-child) > ul > li{
	}
	#navGlobal > li > ul > li{
		padding-top : calc( 47 * 100vw / 750 );
		padding-bottom : calc( 47 * 100vw / 750 );
	}
	#navGlobal > li > ul > li > div{
		display : none;
	}
	#navGlobal > li > ul > li + li{
		border-top : calc( 2 * 100vw / 750 ) solid #dbd7d5;
	}
	#navGlobal > li > ul > li > a , #navGlobal > li > ul > li button:not(.close){
		width : 100%;
		font-size : 3rem;
		text-align : left;
	}
	#navGlobal > li > ul > li > a:before , #navGlobal > li > ul > li button:not(.close):before{
		height : 12px;
	}
	#navGlobal > li > ul > li > a , #navGlobal > li > ul > li > div > a{
		display : grid;
		grid-auto-flow : column;
		grid-template-columns : calc( 8 * 100% / 690 ) 1fr;
		column-gap : calc( 16 * 100% / 690 );
	}
	#navGlobal > li > ul > li > a:before , #navGlobal > li > ul > li > div > a:before{
		background : url("../images/ui/arrow/right01.svg") 0 0 / contain no-repeat;
		height : calc( 12 * 100vw / 750 );
		margin-top : calc( 12 * 100vw / 750 );
	}
	#navGlobal > li > ul > li > a:not(.is-sp){
		margin-left : calc( 16 * 100% / 690 );
	}
	#navGlobal > li > ul > li > div > a.is-sp{
		margin-top : calc( ( 37 - 3 - 3 ) * 100vw / 750 );
		margin-left : calc( 46 * 100% / 690 );
	}
	#navGlobal > li > ul > li > button:not(.close){
		position : relative;
		padding-left : calc( 40 * 100% / 690 );
	}
	#navGlobal > li > ul > li > button:not(.close):before{
		position : absolute;
		background : url("../images/ui/arrow/down01.svg") 0 0 / contain no-repeat;
		width : calc( 12 * 100% / 690 );
		height : calc( 8 * 100vw / 750 );
		top : 50%;
		translate : 0 -50%;
		left : calc( 14 * 100% / 690 );
		transition : transform .3s ease-in;
	}
	#navGlobal > li > ul > li > button:not(.close).is-open:before{
		transform : rotate(-90deg);
	}
	#navGlobal ul ul:not(.outline){
		margin-top : calc( ( 46 - 3 - 3 ) * 100vw / 750 );
	}
	#navGlobal ul ul:not(.outline) li + li{
		margin-top : calc( ( 46 - 3 - 3 ) * 100vw / 750 );
	}
	#navGlobal ul ul:not(.outline) a{
		margin-left : calc( 46 * 100% / 690 );
		grid-template-columns : calc( 8 * 100% / 690 ) 1fr;
		column-gap : calc( 16 * 100% / 690 );
		font-size : 3rem;
	}
	#navGlobal ul ul:not(.outline) a:before{
		height : calc( 12 * 100vw / 750 );
		margin-top : calc( 12 * 100vw / 750 );
	}
	#navGlobal .outline{
		margin-top : calc( ( 33 - 3 ) * 100vw / 750 );
	}
	#navGlobal .outline > li + li{
		margin-top : calc( ( 31 - 3 ) * 100vw / 750 );
	}
	#navGlobal .outline p{
		height : calc( 40 * 100vw / 750 );
		font-size : 2.2rem;
		padding-left : calc( 19 * 100% / 690 );
		padding-right : calc( 19 * 100% / 690 );
		margin-left : calc( 30 * 100% / 690 );
	}
	#navGlobal .close{
		width : -moz-fit-content;
		width :      fit-content;
		margin-left : auto;
		display : grid;
		grid-template-columns : 1fr calc( 13 * 100vw / 750 );
		column-gap : calc( 14 * 100vw / 750 );
		align-items : center;
		padding-right : calc( 12 * 100vw / 750 );
		font-size : 2.6rem;
		margin-top : calc( ( 37 - 3 - 2 ) * 100vw / 750 );
	}
	#navGlobal .close:after{
		content : "";
		display : block;
		background : url("../images/ui/arrow/up01.svg") 0 0 / contain no-repeat;
		font-size : 0;
		line-height : 1;
		height : calc( 9 * 100vw / 750 );
	}
}

@media print,screen and (min-width: 751px){
	#navGlobal{
		display : grid;
		grid-template-columns : repeat(3,380px);
		column-gap : 20px;
	}
	#navGlobal .is-sp{
		display : none !important;
	}
	#navGlobal > li > ul > li{
		border-bottom : solid 1px #dbd7d5;
		padding-bottom : calc( 31px - 2.4px );
	}
	#navGlobal > li > ul > li > div{
		display : block !important;
		height : auto !important;
	}
	#navGlobal > li > ul > li + li{
		margin-top : calc( 31px - 2.4px );
	}
	#navGlobal > li > ul > li > button , #navGlobal > li > ul > li > a{
		display : grid;
		grid-auto-flow : column;
		font-size : 2.4rem;
		column-gap : 16px;
		padding-left : 6px;
		grid-template-columns : 8px 1fr;
	}
	#navGlobal > li > ul > li > button:before , #navGlobal > li > ul > li > a:before{
		background : url("../images/ui/arrow/right01.svg") 0 0 / contain no-repeat;
		height : 12px;
		margin-top : 8.4px;
	}
	#navGlobal ul ul:not(.outline){
		margin-left : 37px;
		margin-top : calc( 22px - 2.4px - 2px );
	}
	#navGlobal ul ul:not(.outline) > li + li{
		margin-top : calc( 23px - 2px - 2px );
	}
	#navGlobal ul ul:not(.outline) a{
		column-gap : 14px;
		font-size : 1.8rem;
		grid-template-columns : 8px 1fr;
	}
	#navGlobal ul ul:not(.outline) a:before{
		height : 12px;
		margin-top : 6px;
	}
	#navGlobal .outline{
		margin-top : calc( 21px - 2.4px );
		margin-left : 30px;
		width : 340px;
	}
	#navGlobal .outline > li + li{
		margin-top : calc( 39px - 2px );
	}
	#navGlobal .outline p{
		font-size : 1.8rem;
		padding-left : 6px;
		padding-right : 6px;
		height : 27px;
	}
}

/*--------------------------------------------
MODULES
---------------------------------------------*/

.title01 , #knowledgeContent h3{
	border-bottom-style : solid;
	border-bottom-color : #ccc;
	position : relative;
	letter-spacing : .2em;
	display : grid;
	grid-auto-flow : column;
	place-items : end start;
	justify-content : start;
	grid-template-columns : auto auto;
}

.title01[data-after]:after , #knowledgeContent h3[data-after]:after{
	font-family : "Noto Serif JP", serif;
}

.title01:before , #knowledgeContent h3:before{
	content : "";
	display : block;
	position : absolute;
	right : 0;
	font-size : 0;
}

@media screen and (max-width: 750px){
	.title01 , #knowledgeContent h3{
		border-bottom-width : calc( 2 * 100vw / 750 );
		font-size : 4.4rem;
		padding-bottom : calc( 21 * 100vw / 750 );
		font-weight : 400;
        display: block;
	}
	.title01[data-after]:after , #knowledgeContent h3[data-after]:after{
		font-size : 2rem;
		letter-spacing : .2em;
	}
	.title01:before , #knowledgeContent h3:before{
		width : calc( 130 * 100% / 690 );
		height : calc( 8 * 100vw / 750 );
		bottom : calc( -2 * 100vw / 750 );
		background : linear-gradient(90deg, var(--blue) 0%, var(--blue) calc( 80 * 100% / 130 ), var(--green) calc( 80 * 100% / 130 ), var(--green) 100%);
	}
}

@media print,screen and (min-width: 751px){
	.title01 , #knowledgeContent h3{
		border-bottom-width : 1px;
		font-size : 3.6rem;
		padding-bottom : 21px;
		font-weight : 300;
	}
	.title01[data-after]:after , #knowledgeContent h3[data-after]:after{
		font-size : 1.4rem;
		letter-spacing : .1em;
	}
	.title01:before , #knowledgeContent h3:before{
		width : 130px;
		height : 8px;
		bottom : -1px;
		background : linear-gradient(90deg, var(--blue) 0%, var(--blue) 80px, var(--green) 80px, var(--green) 100%);
	}
}

.title02{
	border-bottom-color : #ebe8e8;
	border-bottom-style : solid;
	font-weight : 300;
	letter-spacing : .2em;
	display : flex;
	flex-wrap : wrap;
}

.title02 span:not(.small){
	align-self : center;
	letter-spacing : 0;
	display : grid;
	place-items : center;
	color : #fff;
	background-color : #ae5da1;
	line-height : 1;
}

.title02 .small{
	align-self : flex-end;
	letter-spacing : .2em;
}

.title02 span.blue{
	align-self : flex-end;
	background-color : #518fbc;
}

@media screen and (max-width: 750px){
	.title02{
		font-size : 5rem;
		line-height : 1.2;
	}
	.title02{
		padding-bottom : calc( ( 30 - var(--title02gap) ) * 100vw / 750 );
		border-bottom-width : calc( 15 * 100vw / 750 );
		row-gap : calc( 12 * 100vw / 750 );
		column-gap : calc( 16 * 100% / 690 );
	}
	.title02 span:not(.small){
		padding-left : 1em;
		padding-right : 1em;
		font-size : 2rem;
		height : calc( 32 * 100vw / 750 );
		margin-top : calc( 8 * 100vw / 750 );
	}
	.title02 .blue{
		margin-bottom : calc( 4 * 100vw / 750 );
	}
}

@media print,screen and (min-width: 751px){
	.title02{
		font-size : 4rem;
		line-height : 1.2;
	}
	.title02{
		padding-bottom : calc( 21px - var(--title02gap) );
		border-bottom-width : 15px;
	}
	.title02 span:not(.small){
		font-size : 1.1rem;
		height : 24px;
		padding-left : 16px;
		padding-right : 16px;
		margin-left : 14px;
	}
	.title02 span:not([class]){
		margin-top : 9px;
	}
	.title02 .small{
		font-size : 3rem;
		padding-bottom : 2px;
	}
	.title02 .blue{
		margin-bottom : 2px;
	}
}

/*--------------------------------------------
TEXT
---------------------------------------------*/

.text01 , #knowledgeContent p , #publicationContent .description p{
	letter-spacing : .1em;
}

#publicationContent .description p a{
	color : #1b858f;
	display : inline-block;
	border-bottom : 1px solid currentColor;
}
.text01 a.type01{
	color : #b01313;
}
    .text01 a:hover , #knowledgeContent p a:hover , #publicationContent .description p  a:hover{
        opacity: .8;
        color: #999;
    }

@media screen and (max-width: 750px){
	.text01 , #knowledgeContent p , #publicationContent .description p{
		font-size : 2.6rem;
		line-height : calc( 40 / 26 );
	}
}

@media print,screen and (min-width: 751px){
	.text01 , #knowledgeContent p , #publicationContent .description p{
		font-size : 1.6rem;
		line-height : 2;
	}
    .knowledge02_table table ,  .knowledge02_table table p{
        font-size: 1.4rem !important;
    }
}

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

.link01{
	position : relative;
	overflow : hidden;
	border-style : solid;
	border-color : #ccc;
	display : grid;
	place-items : center;
	font-family : "Noto Serif JP", serif;
	text-align : center;
	letter-spacing : .1em;
	text-indent : .1em;
	transition : color .3s ease-in;
}

.link01:before{
	content : "";
	position : absolute;
	top : 0;
	background : #acabab;
	width : 120%;
	height : 100%;
	transform : skewX(-25deg);
	left : -130%;
	z-index : -1;
	transition : left .3s ease-in;
}

.link01:hover{
	color : #fff;
}

.link01:hover:before{
	left : -10%;
}

@media screen and (max-width: 750px){
	.link01{
		margin-left : auto;
		margin-right : auto;
		width : calc( 400 * 100% / 690 );
		height : calc( 90 * 100vw / 750 );
		font-size : 2.6rem;
		border-width : calc( 6 * 100vw / 750 );
	}
}

@media print,screen and (min-width: 751px){
	.link01{
		width : 233px;
		height : 60px;
		font-size : 1.6rem;
		border-width : 3px;
	}
}

/*--------------------------------------------
button
---------------------------------------------*/

.swiper-prev , .swiper-next{
	background-color : #fff;
	background-position : center;
	background-repeat : no-repeat;
	position : absolute;
	z-index : 1;
}

@media print,screen and (min-width: 751px){
	.swiper-prev , .swiper-next{
		width : 40px;
		height : 40px;
	}
}

.swiper-prev{
	background-image : url("../images/ui/arrow/left02_gray.svg");
}

.swiper-next{
	background-image : url("../images/ui/arrow/right02_gray.svg");
}