@charset "utf-8";



.linkList { display: flex; gap: 2rem; margin-top: 1rem;}
.linkList li a { display: inline-flex; align-items: center; text-decoration: underline; color: var(--cl-key);}
.linkList li a::before { content: ""; display: block; width: 1.2em; height: 1.2em; margin-right: 0.5rem; background: no-repeat center / contain;}
.linkList .web a::before { background-image: url(/assets/images/common/ico_site_bl.svg);}
.linkList .map a::before { background-image: url(/assets/images/common/ico_map_bl.svg);}

@media print, screen and (min-width: 640px) {
.linkList li a { font-size: 1.4rem;}
}


/*--------------------------------------------------------------

index

--------------------------------------------------------------*/

.index-pickup {}
.index-pickup .u-btn { margin-top: 2rem;}

@media print, screen and (min-width: 640px) {
.index-pickup .greeting-top { display: flex; gap: 20rem; }
.index-pickup .greeting-pic { width: 30rem;}
.index-pickup .u-btn { margin-top: 4rem;}
}



/*--------------------------------------------------------------

history

--------------------------------------------------------------*/


.history-lead { margin-bottom: 2rem;}

@media print, screen and (min-width: 640px) {
.history-lead { margin-bottom: 4rem;}

}

.historyWrap {}
.historyList {}
.historyList-item { padding: 2rem 0;}
.historyList-item + .historyList-item { border-top: var(--cl-gr) 1px solid;}
.historyList-item-left { margin-bottom: 1rem; font-size: 1.5rem; font-weight: bold;}
.historyList-item-left span { font-size: 1.2rem;}
.historyList-item-right {}
.historyList-item-box { display: grid; grid-template-columns: 5rem 1fr;}
.historyList-item-box + .historyList-item-box { margin-top: 0.5rem;}

.historyPic { display: grid; grid-template-columns: repeat(2,1fr); gap: 2rem;}
.historyPic figcaption { margin-top: 0.5rem; font-size: 1.1rem; text-align: center; line-height: 1.4;}

@media print, screen and (min-width: 640px) {
.historyWrap { display: grid; grid-template-columns: 18rem 1fr;}
.historyWrap .u-title-m { font-size: 3rem;}
.historyList-item { display: grid; grid-template-columns: 10rem 1fr; padding: 3rem 0;}
.historyList-item:first-child { padding-top: 0.5rem;}
.historyList-item-left { margin-bottom: 0; font-size: 1.6rem; font-weight: 400;}
.historyList-item-left span { display: block; }
.historyList-item-box + .historyList-item-box { margin-top: 1rem;}

.historyPic { margin-top: 2rem; grid-template-columns: repeat(4,1fr); gap: 3rem;}
.historyPic figcaption { margin-top: 1rem; font-size: 1.3rem; }

}


/* by language */
.historyList-item-box:lang(en) { grid-template-columns: 9rem 1fr;}
@media print, screen and (min-width: 640px) {
.historyList-item-box:lang(en) { grid-template-columns: 12rem 1fr;}
}

/*--------------------------------------------------------------

greeting

--------------------------------------------------------------*/

.greeting-top { display: grid; gap: 2rem;}
.greeting-top > *:nth-child(1) { order: 2;}
.greeting-pic { order: 1; width: 60%; margin: 0 0 0 auto;}
.greeting-bottom { margin-top: 2rem;}
.greeting-bottom p + p { margin-top: 2rem;}
.greeting-name { width: 40%; max-width: 15.6rem; margin: 3rem 0 0 auto;}

@media print, screen and (min-width: 640px) {
.greeting-top { display: grid; gap: 0; align-items: center; grid-template-columns: 1fr 30rem; gap: 4rem;}
.greeting-top > *:nth-child(1) { order: 1;}
.greeting-pic { order: 2; width: auto; margin: 0;}
.greeting-catch + p { margin-top: 1rem;}
.greeting-bottom { margin-top: 5rem;}
.greeting-name { width: auto; margin-top: 5rem;}

}

.credo-top {}
.credo-pic { max-width: 68rem; margin: 0 auto;}
.credo-bottom { margin-top: 2rem;}
.credo-bottom p + p { margin-top: 2rem;}

@media print, screen and (min-width: 640px) {
.credo-bottom { margin-top: 5rem;}

}



/*--------------------------------------------------------------

office

--------------------------------------------------------------*/

.officeList-item { display: grid; gap: 1.5rem; padding: 2.5rem 0;}
.officeList-item:last-of-type { padding-bottom: 0;}
.officeList-item:not(._pic) + .officeList-item:not(._pic) { border-top: var(--cl-gr) 1px solid;}
.officeList-item > * p + p { margin-top: 0.5rem;  }
.officeList-item-name { margin: 0; line-height: 1.6;}
.officeList-item-en { margin-top: 0.5rem; color: #6C6C6C; font-size: 1.1rem;}
.officeList-item._pic { padding: 0;}
.officeList-item._pic + .officeList-item._pic { margin-top: 2.5rem;}


@media print, screen and (min-width: 640px) {
.officeList-item { display: grid; gap: 4rem; grid-template-columns: 46rem 1fr; padding: 5rem 0;}
.officeList-item > *:nth-child(2) { margin-top: 0.5rem;  }
.officeList-item > *:nth-child(2) p + p { margin-top: 1.5rem;  }
.officeList-item._pic { grid-template-columns: 26rem 1fr;}
.officeList-item._pic + .officeList-item._pic { margin-top: 4rem;}
.officeList-item._pic > *:nth-child(2) { margin-top: 1.5rem;  }

}

/*--------------------------------------------------------------

group

--------------------------------------------------------------*/

.groupList-item { display: grid; gap: 1.5rem; padding: 2.5rem 0;}
.groupList-item:first-of-type { padding-top: 0;}
.groupList-item + .groupList-item { border-top: var(--cl-gr) 1px solid;}
.groupList-item > * {}
.groupList-item-name { margin: 0; }
.groupList-item dl { margin-top: 1.5rem;}
.groupList-item dl dt { font-weight: 700;}

@media print, screen and (min-width: 640px) {
.groupList-item dl dt { font-size: 1.4rem;}
.groupList-item { grid-template-columns: 40rem 1fr; gap: 0; padding: 4rem 0;}

}

/*--------------------------------------------------------------

organization

--------------------------------------------------------------*/

.page-organization {}
.page-organization .chart { width: 100%;}




/*--------------------------------------------------------------

finance

--------------------------------------------------------------*/

.financeList { margin-top: 2rem; }
.financeList-box { border: var(--cl-gr) 1px solid;}
.financeList-box + .financeList-box { margin-top: -1px;}
.financeList-box > * { padding: 1.5rem;}
.financeList-year { background-color: var(--cl-bggr);}
.financeList-link {}
.financeList-link a {}
.financeList-ex { font-size: 1.2rem;}
.adobe-dl { margin-top: 2rem;}
.adobe-dl-txt { margin-top: 1rem; font-size: 1.2rem; line-height: 1.4;}

.financeList a[href$=".pdf"] { display: inline-flex; align-items: center; text-decoration: underline;}
.financeList a[href$=".pdf"]::before { content: ""; display: inline-block; align-items: center; width: 1.5em; height: 1.5em; background: url(/assets/images/common/ico_pdf_bl.svg) no-repeat center / contain; margin-right: 0.5rem;}


@media print, screen and (min-width: 640px) {
.financeList { margin-top: 4rem; }
.financeList-box { display: grid; grid-template-columns: repeat(2, 1fr); align-items: center;}
.financeList-year { height: 100%;}
.financeList-year span { display: flex; align-items: center; height: 100%;}
.adobe-dl { display: grid; grid-template-columns: 15.8rem 1fr; gap: 4rem; margin-top: 3rem;}
.adobe-dl-txt { display: flex; margin-top: 0; align-items: center;}
}
@media print, screen and (min-width: 1024px) {
.financeList-box { grid-template-columns: 1fr 2fr;}
.financeList-box > * { padding: 2rem 3rem;}
}


/* chart */
.chart-title { font-weight: 700; text-align: center; }
.chartWrap { margin-top: 1rem;}
.chartWrap-item { height: 20rem;}

@media print, screen and (min-width: 1024px) {
.chartWrap-item { height: 30rem;}
}








/*--------------------------------------------------------------

dx

--------------------------------------------------------------*/


/* common
--------------------------------------------------------------*/
.dx-catch-lead { margin-top: 3rem; display: grid; gap: 1rem;}
.dx-subcatch { font-size: 1.8rem;}

@media print, screen and (min-width: 640px) {
.dx-catch-lead { margin-top: 5rem; gap: 1.5rem;}
.dx-subcatch { font-size: 2.8rem;}
}



/* index
--------------------------------------------------------------*/

.page-dx .clbox-item { display: grid; grid-template-columns: 1fr 2fr; align-items: center; background-color: var(--cl-key); border-radius: 0.5rem;}
.page-dx .index-menu-pic { }
.page-dx .index-menu-pic img {  }
.page-dx .index-menu-title { margin-top: 0; text-align: left; color: var(--cl-wh); }

@media print, screen and (min-width: 640px) {
.page-dx .index-menu-pic { max-width: 20rem; margin: 0 auto;}
.page-dx .index-menu-pic + div { padding: 0 3rem 0 0; }

/* by language */
.index-menu-title:lang(en) { line-height: 1.3;}
.greeting-catch.u-title-s:lang(en) br { display: none;}
.greeting-catch.u-title-l:lang(en) br { display: none;}
}





/* vision
--------------------------------------------------------------*/

.dx-index-vision { }
.dx-index-vision-txt { margin-top: 5rem; display: grid; gap: 1rem; }
.dx-index-vision-pic { margin-top: 5rem; }


@media print, screen and (min-width: 640px) {
.dx-index-lead { display: grid; grid-template-columns: 1fr 76rem;}
.dx-index-vision-txt { gap: 1.5rem; }
}


/* messege
--------------------------------------------------------------*/

.dx-message-txt {}
.dx-message-txt p + p { margin-top: 1rem;}




/* value
--------------------------------------------------------------*/
.value-item + .value-item  { margin-top: 6rem;}
.value-item .u-title-m { line-height: 1.6;}
.value-item .u-title-line { align-items: flex-start; }
.value-item .u-title-line::before {transform: translate(0,0.8em); }
.value-btn  { margin-top: 3rem;}

@media print, screen and (min-width: 640px) {
.value-item + .value-item  { margin-top: 8rem;}
.value-item .u-title-m { margin-bottom: 3rem;}
.value-btn  { margin-top: 4rem;}
}


/* system
--------------------------------------------------------------*/

.system-clbox { margin-top: 3rem;}
.system-item { padding: 2rem; border: var(--cl-txt) 1px solid; border-radius: 0.5rem;}
.system-item .u-title-s { margin-bottom: 1rem; }

@media print, screen and (min-width: 640px) {
.system-item { padding: 3.5rem; }

}