@charset "utf-8";
/*=================================
style.css　レイアウト、パーツCSS
1: parts (title,list,table,etc)
2: icon
3: layout
4: contents
=================================*/

/* 1: parts (title,list,table,etc)
================================== */
/* ------margin classes------ */
.mt0 {
	margin-top:0!important;
}
.mb0 {
	margin-bottom:0!important;
}
.mb8 {
  margin-bottom: 8px;
}
.mb16 {
  margin-bottom: 16px;
}
.mb24 {
  margin-bottom: 24px;
}
.mb32 {
  margin-bottom: 32px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb1em,
.boxmb1em p {
  margin-bottom: 1em;
}
.mb1em:last-child,
.boxmb1em p:last-child {
  margin-bottom: 0;
}
/*上にコンテンツあればマージンとる*/
:is(.ttlDesign1, .ttlDesign3, .ttlDesign4, .flexImg):not(:first-child) {
  margin-top: 40px;
}
h2 + h3,h3 + h4,h4 + h5 {
  margin-top: 0!important;
}
:is(.ttlDesign1, .ttlDesign3, .ttlDesign4, .ttlDesign5):first-child {
  margin-top: 0px;
}
:is(.accordion, figure):not(:first-child) {
  margin-top: 32px;
}

/* ------title classes------ */
.ttlDesign1 {
    font-weight: bold;
    margin-bottom: 32px;
    padding-bottom: 0.5em;
    font-size: 2.4rem;
    text-align: center;
    position: relative;
}
.ttlDesign1::before, .ttlDesign1::after {
  content: '';
  position: absolute;
  margin:auto;
  left: 0;
  bottom: 0;
  width: 2em;
  background-color: #c3c3c3;
  height: 5px;
  right: 2em;
}
.ttlDesign1::before {
  left:2em;
  width:4em;
}
.program .ttlDesign1::before {
  background-color:#007194;
}
.support .ttlDesign1::before {
  background-color:#bf0029;
}
.rolemodels .ttlDesign1::before {
  background-color:#A75C01;
}
.future .ttlDesign1::before {
  background-color:#537623;
}
.ttlDesign2:not(:first-child) {
  margin-top: 64px;
}
@media print, screen and (min-width: 768px) {
  .ttlDesign1 {
    margin-bottom: 40px;
    font-size: 3.8rem;
  }
}
.ttlDesign2 {
  margin-bottom: 24px;
  font-size: 2.1rem;
  font-weight: bold;
  padding: 0.3em 0.5em;
}
@media print, screen and (min-width: 768px) {
  .ttlDesign2 {
    margin-bottom: 32px;
    font-size: 2.8rem;
  }
}
.program .ttlDesign2 {
  border-left: 10px double #007194;
}
.support .ttlDesign2 {
  border-left: 10px double #bf0029;
}
.rolemodels .ttlDesign2 {
  border-left: 10px double #A75C01;
}
.future .ttlDesign2 {
  border-left: 10px double #537623;
}
.ttlDesign3 {
  display: inline-block;
  margin-bottom: 16px;
  padding-bottom: 8px;
  font-size: 1.8rem;
  font-weight: bold;
  border-bottom:2px solid;
}
@media print, screen and (min-width: 768px) {
  .ttlDesign3 {
    margin-bottom: 24px;
  }
}
.program .ttlDesign3 {
  border-bottom-color:#007194;
}
.support .ttlDesign3 {
  border-bottom-color:#bf0029;
}
.rolemodels .ttlDesign3 {
  border-bottom-color:#A75C01;
}
.future .ttlDesign3 {
  border-bottom-color:#537623;
}
@media print, screen and (min-width: 768px) {
  .ttlDesign3 {
    font-size: 2.1rem;
  }
}
.ttlDesign4 {
  margin-bottom: 16px;
  font-size: 1.8rem;
  font-weight: bold;
}
.ttlDesign5 {
  font-size: 1.8rem;
  font-weight: bold;
}
.marker {
  background: linear-gradient(transparent 70%, #fffa59 70%);
}
.program .ttlDesign1,
.program .ttlDesign2,
.program .ttlDesign3,
.program .ttlDesign4,
.program .ttlDesign5 {
  color: #007194;
}
.support .ttlDesign1,
.support .ttlDesign2,
.support .ttlDesign3,
.support .ttlDesign4,
.support .ttlDesign5 {
  color: #bf0029;
}
.rolemodels .ttlDesign1,
.rolemodels .ttlDesign2,
.rolemodels .ttlDesign3,
.rolemodels .ttlDesign4,
.rolemodels .ttlDesign5 {
  color: #A75C01;
}
.future .ttlDesign1,
.future .ttlDesign2,
.future .ttlDesign3,
.future .ttlDesign4,
.future .ttlDesign5 {
  color: #537623;
}

/* ------text classes------ */
.color01 {
  color: #007194;
}
.color02 {
  color: #bf0029;
}
.color03 {
  color: #A75C01;
}
.color04 {
  color: #537623;
}
.red {/*赤文字*/
  color: #E6001D;
}
.fB {/*太文字*/
  font-weight: bold;
}
.fS {/*小さいフォント*/
  font-size: 90%;
}
.fSS {/*小さいフォント*/
  font-size: 70%;
}
.fBig {/*小さいフォント*/
  font-size: 120%;
}
.fI {/*イタリック*/
  font-style: italic;
}
.tU {/*アンダーライン*/
  text-decoration: underline double;
}
.vM {
  vertical-align: middle;
}
.tC {
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .tC_pc {
    text-align: center;
  }
}
.tR {
  text-align: right;
}
.tL {
  text-align: left;
}
.tel,.tel:hover {
  color: #333;
  text-decoration: none;
}
.txtBg {
  background: rgba(255, 255, 255, 0.6);
}
@media print, screen and (min-width: 768px) {
  .txtBg {
    background: none;
  }
}

/* ------table classes------ */
.tableDesign1 {
  width: 100%;
  background: #FFF;
}
.tableDesign1 th,
.tableDesign1 td {
  padding: 16px;
  border: 1px solid #C2C2C2;
  text-align: left;
  vertical-align: middle;
}
.tableDesign1 th {
  background: #EDEDED;
  font-weight: bold;
  vertical-align: middle;
  color: #707070;
}
.tableScroll {
  overflow: auto;
}
.tableScroll table {
  width: 660px;
}
@media print, screen and (min-width: 768px) {
  .tableScroll table {
    width: 100%;
  }
}

/* ------list classes------ */
.list_dot > li {
  position: relative;
  width: 100%;
  margin-bottom: 8px;
  padding-left: 20px;
}
.list_dot_mb0 > li {
  margin-bottom: 0;
}
.list_dot > li:before {
  position: absolute;
  top: 10px;
  left: 7px;
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 6px;
  border: 1px solid #A0A5B4;
  background: #FFF;
}
.list_arw > li {
  background: url(../img/cmn/icn_arwRed.svg) left center no-repeat;
  background-size: 14px;
  margin-bottom: 8px;
  padding-left: 18px;
}

/* 2: icon
================================== */
.blank {
  background: url(../img/cmn/icn_blank.svg) no-repeat;
  background-size: 14px;
  padding-right: 18px;
  background-position: bottom 6px right;
}
.lintkIcn a {
  position: relative;
  padding-left: 16px;
}
.lintkIcn a::before {
  position: absolute;
  left: 0;
  top: 43%;
  display: block;
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  background: #F3F3F3;
}
.pdf {
  background: url(../img/cmn/icn_pdf.svg) right center no-repeat;
  background-size: 16px;
  margin-right: 8px;
  padding-right: 24px;
}
.xls {
  background: url(../img/cmn/icn_xls.svg) right center no-repeat;
  background-size: 16px;
  margin-right: 8px;
  padding-right: 24px;
}
.doc {
  background: url(../img/cmn/icn_doc.svg) right center no-repeat;
  background-size: 16px;
  margin-right: 8px;
  padding-right: 24px;
}

/* 3: layout
================================== */
.inr {
  padding: 64px 16px;
}
@media print, screen and (min-width: 768px) {
  .inr {
    width: 100%;
    max-width: 1248px;
    min-width: 1000px;
    padding: 80px 24px;
    margin: 0 auto;
  }
}
.contentWrapper {
  background: #F3F3F3;
}
/* サブナビゲーション */
.subnav {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 16px 0 0;
  padding: 0 16px;
}
@media print, screen and (min-width: 768px) {
  .subnav {
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 1248px;
    min-width: 1000px;
    margin: 40px auto 0;
    padding: 0 24px;
  }
  .en.support .subnav {
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
  }
}
.subnav li {
  width: calc(100% / 2);
  border: 2px solid #F3F3F3;
}
@media print, screen and (min-width: 768px) {
  .subnav li {
    margin: 0 8px;
  }
  .support .subnav li {
    width: calc(100% / 5);
  }
	.program .subnav li {
    width: calc(100% / 4);
  }
	.en .subnav li {
    margin: 0 4px;
  }
  .en.support .subnav li {
    width: calc((100% - 24px) / 3);
    min-height: 72px;
  }
}
.subnav a {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	height: 100%;
  padding: 8px;
  text-decoration: none;
  color: #707070;
  font-weight: bold;
  font-size: 1.4rem;
  background: #FFF;
	  text-align: center;
}
.program .subnav a {
  border: 1px solid #007194;
}
.support .subnav a {
  border: 1px solid #bf0029;
}
.future .subnav a {
  border: 1px solid #537623;
}
@media print, screen and (min-width: 768px) {
  .subnav a {
    padding: 16px;
    font-size: 1.8rem;
  }
  .en .subnav a {
    padding: 8px;
    font-size: 1.6rem;
  }
}
:is(.program01 .snav_p01, .program02 .snav_p02, .program03 .snav_p03, .program04 .snav_p04) a {
  font-weight: bold;
  background: #007194;
  color: #FFF;
  border: 1px solid #FFF;
}
:is(.support01 .snav_s01, .support02 .snav_s02, .support03 .snav_s03, .support04 .snav_s04, .support05 .snav_s05, .support06 .snav_s06) a {
  font-weight: bold;
  background: #bf0029;
  color: #FFF;
  border: 1px solid #FFF;
}
:is(.future01 .snav_f01, .future02 .snav_f02, .future03 .snav_f03) a {
  font-weight: bold;
  background: #537623;
  color: #FFF;
  border: 1px solid #FFF;
}
@media print, screen and (min-width: 768px) {
  .subnav a {
    transition: all .3s;
  }
  .program .subnav a:hover {
    background: #007194;
    color: #FFF;
    border: 1px solid #FFF;
  }
  :is(.program01 .snav_p01, .program02 .snav_p02, .program03 .snav_p03, .program04 .snav_p04) a:hover {
    background: #007194;
    color: #FFF;
  }
  .support .subnav a:hover {
    background: #bf0029;
    color: #FFF;
    border: 1px solid #FFF;
  }
  :is(.support01 .snav_s01, .support02 .snav_s02, .support03 .snav_s03, .support04 .snav_s04, .support05 .snav_s05) a:hover {
    background: #bf0029;
    color: #FFF;
  }
  .future .subnav a:hover {
    background: #537623;
    color: #FFF;
    border: 1px solid #FFF;
  }
  :is(.future01 .snav_f01, .future02 .snav_f02, .future03 .snav_f03) a:hover {
    background: #537623;
    color: #FFF;
  }
}

/* 4: contents
================================== */
/* 404 */
.img404 {
  text-align: center;
}
.img404 img {
  width: 100%;
  max-width: 500px;
  height: auto;
  margin-bottom: 24px;
}
/* パンくず */
.pankuzu_inr {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  font-size: 1.4rem;
  margin: 0;
  padding: 8px 16px;
}
@media print, screen and (min-width: 768px) {
  .pankuzu_inr {
    width: 100%;
    max-width: 1248px;
    min-width: 1000px;
    margin: 0 auto;
    padding: 8px 24px;
  }
}
.pankuzu_inr li {
  position: relative;
  margin-right: 8px;
  padding-right: 14px;
}
.pankuzu_inr li:before {
  position: absolute;
  right: 0%;
  top: 30%;
  display: block;
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #333;
  border-right: 1px solid #333;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.pankuzu_inr li a {
  color: #333;
}
.pankuzu_inr li:last-child {
  margin-right: 0;
}
.pankuzu_inr li:last-child:before {
  content: none;
  margin-right: 0;
  padding-right: 0;
}
.pankuzu_inr li:last-child a {
  pointer-events: none;
  text-decoration: none;
}

/* button */
.moreBtn a {
  display: block;
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
  padding: 16px;
  text-decoration: none;
  background: url(../img/cmn/icn_arwWht.svg) 90% center no-repeat #001296;
  background-size: 14px;
  color: #FFF;
  font-weight: bold;
  text-align: center;
  border: 1px solid #001296;
}
@media print, screen and (min-width: 768px) {
  .moreBtn a {
    transition: all 0.2s ease;
  }
  .moreBtn a:hover {
    background: url(../img/cmn/icn_arwRed.svg) 90% center no-repeat #FFF;
    background-size: 14px;
    color: #001296;
    box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.4);
  }
}

/* imgレイアウト */
.imgC,.imgC img,.imgC_sp img {
  text-align: center;
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
  .imgC_sp {
    margin: 0;
  }
}
.imgC a {
  display: inline-block;
}
.imgM400 img {
  width: 100%;
  max-width: 400px;
}
.imgList {
  padding: 0;
}
.imgList:not(:first-child) {
  margin-top: 40px;
}
.imgList > li {
  margin-bottom: 32px;
  padding: 16px;
  background: url(https://diversity.riken.jp/wp-content/uploads/2024/07/bg.jpg) no-repeat #FFF;
  background-size: cover;
  border-radius: 4px;
}
.imgList > li img {
  max-width: 120px;
  height: auto;
  margin: 0 auto 16px;
}
@media print, screen and (min-width: 768px) {
  .imgList {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;

  }
  .imgList > li {
    width: calc((100% - 80px) / 3);
    margin-bottom: 0;
  }
  .imgList > li:not(:nth-child(3n)) {
    margin-right: 40px;
  }
  .imgList > li:nth-child(n+4) {
    margin-top: 40px;
  }
  .flexImg {
    display: -webkit-flex;
    display: flex;
  }
  .flexImg img {
    margin-right: 24px;;
  }
}
.imgW200 img {
  max-width: 200px;
  height: auto;
}


/* --------------------------------------------------
  トップページ
-------------------------------------------------- */
/* ------TOP メインビジュアル------ */
.mainVisual {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  width: 100%;
  height: calc(100% - 120px);
  margin: 0 auto;
  padding: 80px 40px;
}
.en .mainVisual {
  padding: 10vh 32px 32px;
}
@media print, screen and (min-width: 768px) {
  .mainVisual,
  .en .mainVisual {
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-align-items: flex-end;
    align-items: flex-end;
    max-width: 1248px;
    min-width: 1000px;
    padding: 80px 24px;
  }
}
.catchCopy {
  color: #141414;
  margin-bottom: 40px;
}
@media print, screen and (min-width: 768px) {
  .catchCopy {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    height: 100%;
    margin-bottom: 0;
  }
}
.mainTtl {
  font-size: 4rem;
  font-weight: bold;
  text-align: right;
	line-height:1.4;
}
.en .mainTtl {
  font-size: 3.6rem;
}
@media print, screen and (min-width: 768px) {
  .mainTtl {
    font-size: 7.2rem;
  }
  .en .mainTtl {
    font-size: 6.4rem;
  }
}
.mainTtl span {
  display: block;
  font-size:2.1rem;
  font-weight: bold;
	margin-top:24px;
}
@media print, screen and (min-width: 768px) {
  .mainTtl span {
    font-size: 3.2rem;
  }
}
.catchLogo img {
  max-width: 300px;
}
@media print, screen and (min-width: 768px) {
  .catchLogo img {
    max-width: 400px;
  }
}

/* ------TOP コンテンツ------ */
@media print, screen and (min-width: 768px) {
  #M1, #M2, #M3, #M4 {
    /* display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center; */
    background: #000;
    min-height: 690px;
  }
}
.topSection h2 {
  margin-bottom: 24px;
  font-size: 2.4rem;
  line-height: 1.7;
}
@media print, screen and (max-width: 1180px) {
  .topSection h2 {
    background: rgba(255, 255, 255, 0.6);
    display: inline-block;
  }
}
@media print, screen and (min-width: 768px) {
  .topSection h2 {
    font-size: 4rem;
  }
}
.topSection h2 span {
  display: flex;
  align-items: center;
  font-size: 2.1rem;
}
@media print, screen and (min-width: 768px) {
  .topSection h2 span {
    font-size: 2.8rem;
  }
}
.topSection h2 span::before {
  content:"";
  margin-right: 8px;
  height: 2px;
  width: 20px;
  background-color: #333;
}
.topSection h2.color01 span::before {
  background-color: #007194;
}
.topSection h2.color02 span::before {
  background-color: #bf0029;
}
.en .topSection h2.color02 span::before {
  background-color: #bf0029;
  margin-bottom: 7%;
}
.topSection h2.color03 span::before {
  background-color: #A75C01;
}
.topSection h2.color04 span::before {
  background-color: #537623;
}
.topSection h2 + .rmks {
  margin-top: -24px;
  margin-bottom: 24px;
}
.topSection h2 + .rmks + .linkList {
  margin-top: 40px;
}
:is(p, section, h2) + .linkList {
  margin-top: 40px;
}
.txtBox {
  margin-bottom: 48px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.6);
}
@media print, screen and (min-width: 768px) {
  .txtBox {
    max-width: 600px;
    padding: 0;
  }
  .txtBox p {
    font-size: 2.1rem;
  }
  .txtR {
    max-width: 600px;
    margin-left: auto;
    margin-right: 0px;
  }
}
@media print, screen and (min-width: 1180px) {
  .txtBox {
    background: none;
  }
}
.linkList {
  padding-left: 0;
}
@media print, screen and (min-width: 768px) {
  .linkList {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .linkList > li {
    width: calc((100% - 80px) / 3);
  }
  .en .linkList > li {
    width: calc((100% - 40px) / 2);
  }
  .linkList li:not(:nth-child(3n)){
    margin-right: 40px;
  }
  .en .linkList li:not(:nth-child(3n)){
    margin-right: 0px;
  }
  .en .linkList li:not(:nth-child(2n)){
    margin-right: 40px;
  }
}
.linkList li:not(:last-child){
  margin-bottom: 24px;
}
@media print, screen and (min-width: 768px) {
  .linkList li:not(:last-child){
    margin-bottom: 0;
  }
  .linkList li:nth-child(n+4){
    margin-top: 24px;
  }
  .en .linkList li:nth-child(n+4){
    margin-top: 0;
  }
  .en .linkList li:nth-child(n+3){
    margin-top: 24px;
  }
}
.linkList a {
  display: block;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 24px 8px;
  background-color: #FFF;
  color: #333;
  border-radius: 8px;
  text-decoration: none;
  font-weight: bold;
  font-size: 1.8rem;;
  transition: all 0.2s ease;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .linkList a {
    height: 100%;
    font-size: 1.7rem;
  }
}
.linkList a:hover {
  box-shadow: 0 5px 20px -10px rgba(25, 25, 25, .4);
}
#M1 {
  background: url(../img/top/bg01.svg) no-repeat #F3F3F3;
  background-size: 280%;
  background-position: left center;
}
#M2 {
  background: url(../img/top/bg02.svg) no-repeat #F3F3F3;
  background-size: 280%;
  background-position: right center;
}
#M3 {
  background: url(../img/top/bg03.svg) no-repeat #F3F3F3;
  background-size: 280%;
  background-position: left center;
}
#M4 {
  background: url(../img/top/bg04.svg) no-repeat #F3F3F3;
  background-size: 280%;
  background-position: right center;
}
@media print, screen and (min-width: 768px) {
  #M1, #M3 {
    background-size: 80%;
    background-position: 145% 65%;
  }
  #M2, #M4 {
    background-size: 80%;
    background-position: -55% 40%;
  }
}

/* ------TOP 動画------ */
#movie {
  background: #FFF;
  border-bottom: 1px solid #E4E8F2;
}
#movie h2 {
  margin-bottom: 24px;
  font-size: 2.4rem;
}
@media print, screen and (min-width: 768px) {
  #movie h2 {
    font-size: 2.8rem;
  }
}

#movie li {
	list-style:none;
	width:calc(100%/3 - 30px);
	margin:10px;
	background:white;
	border:solid 1px #ccc;
	  box-shadow: 0 5px 20px -10px rgba(25, 25, 25, .4);
}

#movie h3 {
	margin:0.5em;
	padding-bottom:1em;
}

/* ------TOP お知らせ------ */
#news {
  background: #FFF;
  border-bottom: 1px solid #E4E8F2;
}
#news h2 {
  margin-bottom: 24px;
  font-size: 2.4rem;
}
@media print, screen and (min-width: 768px) {
  #news h2 {
    font-size: 2.8rem;
  }
}
.newsList {
  padding-left: 0;
}
.date {
  margin-bottom: 8px;
}
.newsList > li:not(:last-child) {
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #FFF;
}

/*アコーディオン*/
.accordion {
  --arrow-size: 18px;
}
.accordion:not(:first-child) {
  margin-top: 40px;;
}
.accordion summary {
  box-sizing: border-box;
  position: relative;
  display: block;
  font-weight: 700;
  padding: 1.5em calc(var(--arrow-size) + 3em) 1.5em 3.5em;
  border: 1px solid #979797;
  background-color: #FFF;
  cursor: pointer;
}
.program .accordion summary {
  background-color: #b6eeff;
}
.support .accordion summary {
  background-color: #f7e3e7;
}
.rolemodels .accordion summary {
  background-color: #efcca1;
}
.future .accordion summary {
  background-color: #e0f5c2;
}
.accordion summary::-webkit-details-marker {
  /* iOSで表示されるデフォルトの三角形アイコンを消す */
  display: none;
}
.accordion summary::after {
  content: "";
  position: absolute;
  top: 0;
  right: 1.5em;
  bottom: 0;
  display: block;
  width: var(--arrow-size);
  height: calc(var(--arrow-size) * 0.6);
  margin: auto;
  background: #979797;
  clip-path: polygon(100% 13%, 50% 100%, 0 13%, 8% 0, 50% 73%, 92% 0);
  transition: all 0.2s ease;
}
.accordion[open] summary::after {
  transform: rotate(180deg);
}
.accordion .accordion_inr {
  position: relative;
  padding: 1.5em 1.5em 1.5em 3.5em;
  background: #FFF;
}


/* --------------------------------------------------
  サイトマップ
-------------------------------------------------- */
.sitemapItem {
  margin-bottom: 16px;
  padding: 16px;
  background: #FFF;
}
@media all and (min-width: 768px) {
  .sitemapItem {
    padding: 24px;
  }
}
.sitemapItem h2,
.sitemapItem h2 a {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 8px;
  color: #141414;
  line-height: 1.7;
}
.sitemapItem h2 span {
  display: block;
  font-size: 1.4rem;
}
@media all and (min-width: 768px) {
  .sitemapItem h2 {
    margin-bottom: 0;
  }
}
.sitemapItem a {
  color: #374149;
  text-decoration: none;
  -webkit-transition: all .2s;
  transition: all .2s;
}
.sitemapItem a:hover {
  color: #257DDB;
  text-decoration: underline;
}
.sitemapItem ul {
  padding-left: 24px;;
}
.sitemapItem li {
  display: inline-block;
  margin-right: 40px;
  margin-bottom: 16px;
}
@media all and (min-width: 768px) {
  .sitemapItem li {
    margin-bottom: 0;
  }
}
