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

:root {
  --primary: #1f4fa0;
  --blue: #5bb6c9;
  --primary-rgb: rgb(31, 79, 160);
  --text: #000;
  --text-gray: #616161;
  --text-red: #E6001D;
  --bg-gray: #eeeeee;
  --bg-right-gray: #fafafa;
  --bg-right-blue: #0963a1;
  --bg-white-rgba: rgba(255, 255, 255, 0.8);
  --link: #0A75B8;
  --link-hover: #009fe8;
  --border-gray: #DAE4EF;
  --border-darkgray: #aeb7c2;
  --accent01: #da6a07;
  --filter-drop-shadow: drop-shadow(0px 3px 2px rgba(0, 0, 0, 0.7));
  --box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.16);
  --box-shadow-hover: 0px 8px 16px rgba(0, 0, 0, 0.4);
  --txt-shadow: 2px 3px 5px rgba(0, 0, 0, 0.8);
}

:root {
  --font-base: 'Noto Sans JP', sans-serif, 'Yu Gothic', '游ゴシック', '游ゴシック体', YuGothic, Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
  --font-Bebas: "Bebas Neue", sans-serif;
  --font-size--x2s: 1.0rem;
  --font-size--xs: 1.2rem;
  --font-size--sm: 1.4rem;
  --font-size--md: 1.5rem;
  --font-size--lg: 1.6rem;
  --font-size--xl: 1.8rem;
  --font-size--x2l: 2.1rem;
  --font-size--x3l: 2.4rem;
  --font-size--x4l: 2.8rem;
  --font-size--x5l: 3.2rem;
  --font-size--x6l: 4rem;
  --font-size--x7l: 4.8rem;
  --font-size--x8l: 6.4rem;
}

:root {
  --content-max-width: 1280px;
  --content-min-width: var(--content-min-width);
  --content-width: 88%;
  --side-margin-pc: 80px;
  --side-margin-sp: 16px;
  --vertical-margin-pc: 56px;
  --vertical-margin-sp: 40px;
  --top-margin-pc: 56px;
  --top-margin-sp: 40px;
  --bottom-margin-pc: 100px;
  --bottom-margin-sp: 80px;

}

/* 2: parts (title,list,table,etc)
================================== */
/* ------margin classes------ */
.mb8 {
  margin-bottom: 8px!important;
}
.mb16 {
  margin-bottom: 16px!important;
}
.mb24 {
  margin-bottom: 24px!important;
}
.mb32 {
  margin-bottom: 32px!important;
}
.mb40 {
  margin-bottom: 40px!important;
}
.mb56 {
  margin-bottom: 56px!important;
}
.mt16 {
  margin-top: 16px!important;
}
.mt32 {
  margin-top: 32px!important;
}
.mr1em {
  margin-right: 1em!important;
}
.mb1em,
.boxmb1em p {
  margin-bottom: 1em;
}
.mb1em:last-child,
.boxmb1em p:last-child {
  margin-bottom: 0;
}
.txtIndent p,
.txtIndent {
  text-indent: 1em;
}

/* ------title classes------ */
.ttlDesign1 {
  margin-bottom: 24px;
  font-family: var(--font-Bebas);
  font-weight: 400;
  font-style: normal;
  font-size: var(--font-size--x6l);
  text-align: center;
  line-height: 1.2;
}
@media print, screen and (min-width: 768px) {
  .ttlDesign1 {
    margin-bottom: 40px;
    font-size: var(--font-size--x6l);
  }
}
.ttlDesign1 span {
  display: block;
  font-family: var(--font-base);
  font-size: var(--font-size--xl);
}
@media print, screen and (min-width: 768px) {
  .ttlDesign1 span {
    font-size: var(--font-size--x2l);
  }
}
.ttlDesign1.tL {
  text-align: left;
}
.ttlDesign2 {
  margin-bottom: 16px;
  font-size: var(--font-size--x2l);
  font-weight: bold;
}
.ttlDesign3 {
  display: inline-block;
  margin-bottom: 8px;
  padding: 2px 16px;
  background-color: var(--primary);
  color: #FFF;
  font-size: var(--font-size--xl);
  font-weight: bold;
  border-radius: 4px;
}
.ttlDesign4 {
  margin-bottom: 24px;
  padding: 16px;
  font-size: var(--font-size--x2l);
  font-weight: bold;
  border-top: 1px solid var(--border-darkgray);
  border-bottom: 1px solid var(--border-darkgray);
}
@media print, screen and (min-width: 768px) {
  .ttlDesign4 {
    font-size: var(--font-size--x4l);
  }
}
.ttlDesign5 {
  margin-bottom: 16px;
  font-size: var(--font-size--xl);
  font-weight: bold;
  padding-left: 8px;
  border-left: 4px solid var(--primary);
  line-height: 1.4;
}
@media print, screen and (min-width: 768px) {
  .ttlDesign5 {
    margin-bottom: 24px;
    font-size: var(--font-size--x3l);
  }
}

/* ------text classes------ */
.red {/*赤文字*/
  color: var(--text-red);
}
.wht {/*白文字*/
  color: #FFF;
}
.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: var(--text);
  text-decoration: none;
}

/* ------table classes------ */
.tableDesign1,
.tableDesign2,
.tableDesign3 {
  width: 100%;
  word-break: break-all;
}
.tableDesign1 th,
.tableDesign1 td {
  padding: 16px;
  border: 1px solid #DDE6E6;
  vertical-align: middle;
}
.tableDesign1 th {
  background: var(--bg-right-blue);
  font-weight: bold;
  vertical-align: middle;
  color: #FFF;
}
@media print, screen and (min-width: 768px) {
  .tableDesign1 th:first-child {
    min-width: 180px;
  }
}
.tableDesign1 th a {
  color: #FFF;
}
.tableDesign2 th,
.tableDesign2 td {
  padding: 16px 8px;
  border-bottom: 1px solid var(--border-gray);
  text-align: left;
  vertical-align: middle;
}
@media print, screen and (min-width: 768px) {
  .tableDesign2 th,
  .tableDesign2 td {
    padding: 16px;
  }
}
.tableDesign1.sp_tate th,
.tableDesign1.sp_tate td,
.tableDesign2.sp_tate th,
.tableDesign2.sp_tate td {
  display: block;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .tableDesign1.sp_tate th,
  .tableDesign1.sp_tate td,
  .tableDesign2.sp_tate th,
  .tableDesign2.sp_tate td {
    display: table-cell;
    width: auto;
  }
}
.tableDesign2.sp_tate th {
  border-bottom: none;
  padding-bottom: 0;
}
.tableDesign2 th {
  width: 7em;
  font-weight: bold;
  vertical-align: middle;
  color: var(--bg-dark-gray);
}
@media print, screen and (min-width: 768px) {
  .tableDesign2 th {
    width: 16em;
  }
}
.tableDesign3 th,
.tableDesign3 td {
  display: block;
  width: 100%;
  padding: 16px;
  border: 1px solid var(--border-gray);
  text-align: left;
}
.tableDesign3 th {
  background: var(--bg-right-blue);
  font-weight: bold;
  vertical-align: middle;
  color: #FFF;
  border-bottom: 0;
}
.tableDesign3 tr:not(:last-child) td {
  border-bottom: 0;
}
@media print, screen and (min-width: 768px) {
  .tableDesign3 th,
  .tableDesign3 td {
    display: table-cell;
    width: auto;
    border: 1px solid var(--border-gray);
  }
}
.tableScroll {
  overflow: auto;
}
.tableScroll table {
  width: 660px;
}
@media print, screen and (min-width: 768px) {
  .tableScroll table {
    width: 100%;
  }
}
.tableSprite tr:nth-child(odd) {
  background-color: var(--bg-right-gray);
}

/* ------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;
  background: #000;
}
.list_arw > li {
  position: relative;
  background-size: 14px;
  margin-bottom: 8px;
  padding-left: 18px;
}
.list_arw > li::after {
  position: absolute;
  left: 4px;
  top: 11px;
  display: block;
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid var(--primary);
  border-right: 2px solid var(--primary);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.listDesign_no,
.listDesign_Lroman,
.listDesign_Lalpha {
  margin-bottom: 24px;
  padding-left: 24px;
}
.listDesign_no > li {/*算用数字*/
  list-style-type: decimal;
  margin-bottom: 8px;
}
.listDesign_Lroman li {/*小文字のローマ数字*/
  list-style-type: lower-roman;
  margin-bottom: 4px;
}
.listDesign_Lalpha li {/*小文字のアルファベット*/
  list-style-type: lower-alpha;
  margin-bottom: 4px;
}
.listDesign_Lalpha > li:last-child,
.listDesign_Lroman > li:last-child,
.listDesign_no > li:last-child {
  margin-bottom: 0;
}
.listDesign_no2 > li {
  /*括弧付の数字リスト*/
  position: relative;
  margin-bottom: 4px;
  padding-left: 2em;
  counter-increment: cnt;
}
.listDesign_no2 > li:before {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  content: "（"counter(cnt) "） ";
}
.imgList1 li:not(:last-child) {
  margin-bottom: 32px;
}

/* ------dl classes------ */
.dlDesign1 {
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.dlDesign1 dt {
  width: 8em;
  margin-right: 1em;
  margin-bottom: 16px;
  padding-right: 1em;
  border-right: 1px solid #DDE6E6;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .dlDesign1 dt {
    width: 10em;
  }
}
.dlDesign1 dd {
  width: calc(100% - 10em);
  margin-bottom: 16px;
}

/* 3: icon
================================== */
.blank {
  background: url(/img/cmn/icn_blank.svg) right center no-repeat;
  background-size: 14px;
  padding-right: 18px;
}
.blankWht {
  background: url(/img/cmn/icn_blankWht.svg) right center no-repeat;
  background-size: 14px;
  padding-right: 18px;
}
.pdf {
  background: url(/img/cmn/icn_pdf.svg) right center no-repeat;
  background-size: 14px;
  margin-right: 8px;
  padding-right: 24px;
}
.xls {
  background: url(/img/cmn/icn_xls.svg) right center no-repeat;
  background-size: 14px;
  margin-right: 8px;
  padding-right: 24px;
}
.doc {
  background: url(/img/cmn/icn_doc.svg) right center no-repeat;
  background-size: 14px;
  margin-right: 8px;
  padding-right: 24px;
}

/* 4: layout
================================== */
.inr {
  padding: var(--top-margin-sp) var(--side-margin-sp);
}
main > .inr:last-child {
  padding-bottom: 100px;
}
@media print, screen and (min-width: 768px) {
  .inr {
    width: 100%;
    max-width: var(--content-max-width);
    min-width: var(--content-min-width);
    padding: var(--top-margin-pc) var(--side-margin-pc) var(--bottom-margin-pc);
    margin: 0 auto;
  }
  .form.inr {
    max-width: 980px;
  }
}
.bgGray {
  background-color: var(--bg-gray);
}

/* 5: contents
================================== */
/* 下層メインビジュアル */
.mainVisual_sec {
  background-color: var(--primary);
}
.mainVisual_sec h2 {
  padding: var(--top-margin-sp) var(--side-margin-sp);
  color: #FFF;
  font-weight: bold;
  font-size: var(--font-size--x3l);
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .mainVisual_sec h2 {
    width: 100%;
    max-width: var(--content-max-width);
    min-width: var(--content-min-width);
    margin: 0 auto;
    padding: 24px var(--side-margin-pc);
    font-size: var(--font-size--x5l);
  }
}
.mainVisual_sec h2 span {
  display: block;
  font-family: var(--font-Bebas);
}
/* パンくず */
.pankuzu {
  background: #F0F3F5;
}
.pankuzu_inr {
  display: flex;
  -webkit-flex-wrap: wrap;/* Safari */
  flex-wrap: wrap;
  width: 100%;
  font-size: 1.4rem;
  padding: 8px 16px;
}
@media print, screen and (min-width: 768px) {
  .pankuzu_inr {
    width: 100%;
    max-width: var(--content-max-width);
    min-width: var(--content-min-width);
    margin: 0 auto;
    padding: 16px var(--side-margin-pc);
  }
}
.pankuzu_inr li {
  position: relative;
  margin-right: 8px;
  padding-right: 14px;
  color: var(--text-gray);
}
.pankuzu_inr li:before {
  position: absolute;
  right: -8px;
  top: 0;
  display: block;
  content: "/";
  margin-left: .5em;
  margin-right: .5em;
}
.pankuzu_inr li a {
  color: var(--link);
}
.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;
  color: var(--text-gray);
}

/* サブナビゲーション */
.subnav {
  overflow-x: scroll;
  padding: var(--top-margin-sp) var(--side-margin-sp);
}
@media print, screen and (min-width: 768px) {
  .subnav {
    width: 100%;
    max-width: var(--content-max-width);
    min-width: var(--content-min-width);
    padding: var(--top-margin-pc) var(--side-margin-pc) 0;
    margin: 0 auto;
    overflow-x: auto;
  }
}
.subnav ul {
  margin: 0 auto 2px;
  padding: 16px;
  background-color: var(--bg-gray);
}
@media print, screen and (min-width: 768px) {
  .subnav ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    margin: 0 auto 2px;
    padding: 16px;
    background-color: var(--bg-gray);
  }
}
.subnav ul > li:not(last-child) {
  margin-bottom: 8px;
}
.subnav a {
  position: relative;
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 8px 24px 8px 28px;
  border-radius: 4px;
  border: 3px solid #FFF;
  text-decoration: none;
  background-color: var(--bg-right-blue);
  color: #FFF;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .subnav a {
    display: inline-block;
    width: auto;
    margin: 0 16px;
  }
}
.subnav a:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-bottom: solid 2px #FFF;
  border-right: solid 2px #FFF;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  left: 16px;
  bottom: 0;
  margin: auto;
}
@media print, screen and (min-width: 768px) {
  .subnav a {
    transition: all .3s;
  }
  .subnav a:hover {
    color: var(--primary);
    background-color: #FFF;
    border: 3px solid var(--primary);
  }
  .subnav a:hover:before {
    border-bottom: solid 2px var(--primary);
    border-right: solid 2px var(--primary);
  }
}

/* button */
.moreBtn a {
  position: relative;
  display: block;
  width: 300px;
  margin: 0 auto;
  padding: 16px;
  text-decoration: none;
  color: #FFF;
  background-color: var(--primary);
  border-radius: 4px;
  border: 1px solid var(--primary);
}
.moreBtn.wht a {
  color: var(--primary);
  background-color: #fff;
  border: 1px solid #fff;
}
.moreBtn a::after {
  content: url(/img/cmn/icn_arwWht.svg);
  display: block;
  position: absolute;
  bottom: 8px;
  right: 8px;
}
.moreBtn.wht a::after {
  content: url(/img/cmn/icn_arw.svg);
}
@media print, screen and (min-width: 768px) {
  .moreBtn a,
  .moreBtn2 a {
    transition: all 0.2s ease;
  }
  .moreBtn a:hover {
    background: #FFF;
    color: var(--primary);
    border: 1px solid var(--primary);
    box-shadow: var(--box-shadow);
  }
  .moreBtn a:hover::after {
    content: url(/img/cmn/icn_arw.svg);
  }
  .moreBtn.tL a,
  .moreBtn2.tL a {
    margin: 0;
    text-align: left;
  }
  .moreBtn.tL,
  .moreBtn2.tL {
    text-align: left;
  }
  .moreBtn.wht a:hover {
    color: #fff;
    background-color: var(--link-hover);
    border: 1px solid #FFF;
  }
  .moreBtn.wht a:hover::after {
    content: url(/img/cmn/icn_arwWht.svg);
  }
}
.moreBtn2 a {
  position: relative;
  display: block;
  margin: 0 auto;
  padding: 16px 16px 32px;
  text-decoration: none;
  color: var(--primary);
  background-color: #FFF;
  border-radius: 4px;
  border: 1px solid var(--primary);
  font-size: var(--font-size--xl);
  font-weight: bold;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .moreBtn2 a {
    padding: 16px;
    font-size: var(--font-size--x2l);
  }
}
.moreBtn2 a::after {
  content: url(/img/cmn/icn_arw.svg);
  display: block;
  position: absolute;
  bottom: 8px;
  right: 8px;
}
@media print, screen and (min-width: 768px) {
  .moreBtn2 a:hover {
    background: var(--blue);
    color: var(--primary);
    box-shadow: var(--box-shadow);
  }
  .moreBtn a:hover::after {
    content: url(/img/cmn/icn_arw.svg);
  }
}

/*ボックスデザイン*/
.boxDesign1 {
  padding: 16px;
  border: 1px solid var(--bg-right-blue);
  border-radius: 4px;
}
@media print, screen and (min-width: 768px) {
  .boxDesign1 {
    padding: 24px;
  }
}

/*画像*/
.floatImg img {
  width: 100%;
  max-width: 500px;
  margin: 0 auto 40px;
  border-radius: 4px;
}
.floatImg:has(p) img {
  margin: 0 auto;
}
.floatImg p {
  margin-bottom: 40px;
}
@media print, screen and (min-width: 768px) {
  .floatImg {
    float: right;
  }
  .floatImg img,
  .floatImg:has(p) img {
    width: 100%;
    max-width: 500px;
    margin-left: 40px;
  }
}
table .floatImg img {
  max-width: 300px;
}
.contentImg img {
  width: 100%;
}
.borderImg {
  line-height: 0;
  border: 1px solid var(--border-gray);
}
@media print, screen and (min-width: 768px) {
  a img {
    transition: all .2s;
  }
  a:hover img {
    opacity: 0.7;
  }
}
@media print, screen and (min-width: 768px) {
  .flexImg {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
  }
}
.flexImg img {
  width: 100%;
  max-width: 500px;
  height: auto;
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
.flexImg img {
  margin: 0 24px;
}
}

/* --------------------------------------------------
  トップページ
-------------------------------------------------- */
/* ------メインビジュアル------ */
.mainVisual {
  background-color: var(--primary);
}
.mainVisual h2 {
  padding: 40px 0 160px;
  background: url(/img/top/mainvisual.jpg) no-repeat bottom center;
  background-size: cover;
  text-align: center;
  color: #FFF;
  text-shadow: var(--txt-shadow);
  font-size: var(--font-size--x2l);
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .mainVisual h2 {
    padding: 80px 0 160px;
    font-size: var(--font-size--x6l);
  }
  .mvBtm_inr {
    position: relative;
    width: 100%;
    max-width: var(--content-max-width);
    min-width: var(--content-min-width);
    min-height: 120px;
    padding: 0 var(--side-margin-pc);
    margin: 0 auto;
  }
}
.mvLink {
  position: absolute;
  top: 200px;
  left: 0;
  right: 0;
  width: 100%;
  padding: 0 var(--side-margin-sp) 0;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .mvLink {
    top: -120px;
    max-width: var(--content-max-width);
    min-width: var(--content-min-width);
    padding: 0 var(--side-margin-pc) 0;
  }
}
.mvLink li {
  width: calc((100% - 24px)/2);
}
.mvLink li:nth-child(n+3) {
  margin-top: 24px;
}
@media print, screen and (min-width: 768px) {
  .mvLink li:nth-child(n+3) {
    margin-top: 0;
  }
  .mvLink li {
    width: calc((100% - 120px)/4);
  }
}
.mvLink > li a {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  transition: all .2s;
}
.mvLink > li img {
  width: 100%;
  min-height: 120px;
}
@media print, screen and (min-width: 768px) {
  .mvLink > li img {
    min-height: 240px;
  }
}
.mvLink figure {
  position: relative;
  z-index: -1;
  line-height: 0;
}
@media print, screen and (min-width: 768px) {
  .mvLink figure {
    cursor: pointer;
    overflow: hidden;
    width: 100%;
  }
  .mvLink img {
    height: auto;
    transition: transform .6s ease; /* ゆっくり変化させる */
  }
  .mvLink a:hover img {
    transform: scale(1.1); /* 拡大 */
  }
}
.mvLink figure::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 100%;
  background:  rgba(0, 0, 0, 0.3);
  transition: .2s ease-in-out;
  z-index: 10;
}
@media print, screen and (min-width: 440px) {
  .mvLink a:hover figure::before {
    background:  rgba(0, 0, 0, 0.6);
  }
  .mvLink a:hover img {
    opacity: 1;
  }
}
.mvLink img {
  object-fit: cover;
}
.mvLink p {
  position: absolute;
  bottom: 8px;
  left: 8px;
  margin: 0 auto;
  color: #FFF;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .mvLink p {
    bottom: 16px;
    left: 16px;
    font-size: var(--font-size--x2l);
  }
}

/* ------お知らせ------ */
.newsBox {
  background-color: #FFF;
}
@media print, screen and (min-width: 768px) {
  .newsBox {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: stretch;
    align-items: stretch;
  }
}
.newsBox h3 {
  position: relative;
  margin-bottom: 32px;
  padding-top: 16px;
  font-size: var(--font-size--x2l);
  font-weight: bold;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .newsBox h3 {
    position: relative;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    width: 180px;
    margin-bottom: 0;
    padding: 0 0 0 24px;
    font-size: var(--font-size--x4l);
  }
}
.newsBox h3:after {
  content: '';
  width:0;
  height:0;
  position: absolute;
  right: 0;
  left: 0;
  bottom: -24px;
  margin: auto;
  border-style:solid;
  border-width: 20px 30px 0 30px;
  border-color: var(--primary) transparent transparent transparent;
}
@media print, screen and (min-width: 768px) {
  .newsBox h3:after {
    content: '';
    width:0;
    height:0;
    position: absolute;
    top: 0;
    right: 0;
    left: auto;
    bottom: 0;
    margin: auto;
    border-style:solid;
    border-width: 15px 0 15px 14px;
    border-color: transparent transparent transparent var(--primary);
  }
}
.newsList {
  width: 100%;
  height: 300px;
  padding: 0 16px 16px;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
@media print, screen and (min-width: 768px) {
  .newsList {
    width: calc(100% - 300px);
    height: 170px;
    padding: 16px 24px 0;
  }
}
.newsList::-webkit-scrollbar {
  width: 8px;
}
.newsList::-webkit-scrollbar-track {
  background: #e4e4e4;
}
.newsList::-webkit-scrollbar-thumb {
  background: var(--text-gray);
}
.newsList dl dd {
  border-bottom: 1px solid var(--bg-gray);
}
.newsList dd {
  margin-bottom: 8px;
  padding-bottom: 16px;
}
.newsMore a {
  display: block;
  margin-top: 16px;
  padding: 16px;
  background-color: var(--blue);
  text-align: right;
}
@media print, screen and (min-width: 768px) {
  .newsMore a {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    -webkit-align-items: flex-end;
    align-items: flex-end;
    width: 120px;
    height: 100%;
    margin-top: 0;
    padding: 8px;
    transition: all .2s;
  }
  .newsMore a:hover {
    opacity: 0.7;
  }
}
.newsBox_inr {
  margin-top: 240px;
  padding: 16px;
}
@media print, screen and (min-width: 768px) {
  .newsBox_inr {
      width: 100%;
      max-width: var(--content-max-width);
      min-width: var(--content-min-width);
      padding: 56px var(--side-margin-pc);
      margin: 0 auto;
  }
}

/* ------TOP INDUSTRIAL PC------ */
#products {
  background-color: var(--bg-gray);
  padding-bottom: 120px;
}
@media print, screen and (min-width: 768px) {
  #products {
    padding-bottom: 56px;
  }
}
.sliderList {
  max-width: 90%;
  margin: 0 auto 24px;
}
.sliderList a,
.sliderList .noLink {
  position: relative;
  display: block;
  max-width: 100%;
  height: 100%;;
  padding: 80px 16px 40px;
  background: #FFF;
  border-radius: 4px;
  text-decoration: none;
  color: var(--text);
  box-shadow: var(--box-shadow);
  overflow: hidden;
  transition: all .2s;
}
@media print, screen and (min-width: 768px) {
  .sliderList  a:hover {
    box-shadow: var(--box-shadow-hover);
  }
}
.sliderList a:after {
  content: url(/img/cmn/icn_arw.svg);
  display: block;
  position: absolute;
  bottom: 8px;
  right: 8px;
}
.sliderTag {
  position: absolute;
  top: 8px;
  left: 8px;
  display: -webkit-flex;
  display: flex;
}
.sliderTag > li {
  margin-right: 8px;
}
.productLabel {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 30%;
  max-width: 80px;
  border: 1px solid var(--border-gray);
}
.detailImg .productLabel.Label2 {
  max-width:200px;
  width:50%
}
.productLabel img {
  width: 100%;
}
.sliderImg img {
  width: 100%;
  margin-bottom: 16px;
}
.sliderList .slick-track {
  display: flex !important;
  align-items: stretch;
}
.sliderList .slick-slide {
  height: auto !important;
  display: flex !important;
  margin: 16px;
}
.slick-prev,
.slick-next {
  width: 30px;
  height: 60px;
  background: none;
  border: none;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  z-index: 9999;
}
.slick-next {
  right: -24px;
}
@media print, screen and (min-width: 768px) {
  .slick-next {
    right: -32px;
  }
}
.slick-prev {
  left: -16px;
}
@media print, screen and (min-width: 768px) {
  .slick-prev {
    left: -24px;
  }
}
.slick-prev::before,
.slick-next::before {
  content: "";
}
.slick-prev::after,
.slick-prev::before {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  width: 42px;
  height: 4px;
  background-color: var(--primary);
  transform-origin: 2px 50%;
}
.slick-prev::before {
  right: 0;
  transform: rotate(45deg);
}
.slick-prev::after {
  right: 0;
  transform: rotate(-45deg);
}
.slick-next::after,
.slick-next::before {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  width: 42px;
  height: 4px;
  background-color: var(--primary);
  transform-origin: calc(100% - 2px) 50%;
}
.slick-next::before {
  right: 0;
  transform: rotate(45deg);
}
.slick-next::after {
  right: 0;
  transform: rotate(-45deg);
}

/* ------TOP PC PARTS------ */
#pcparts,
#equipment {
  position: relative;
  width: 100%;
  margin-top: -100px;
}
#pcparts h2,
#equipment h2 {
  margin-top: -24px;
}
.diagonal-bg {
  position: absolute;
  inset: 0;
  top: -32px;
  background: url('/img/top/bg_pcparts.jpg') center/cover no-repeat;
  clip-path: polygon(0 3%, 100% 0, 100% 100%, 0 100%);
  z-index: 1;
  overflow: hidden;
}
@media print, screen and (min-width: 768px) {
  .diagonal-bg {
    clip-path: polygon(0 6%, 100% 0, 100% 100%, 0 100%);
  }
}
#equipment .diagonal-bg {
  background: var(--blue);
  clip-path: polygon(0 16%, 100% 0, 100% 100%, 0 100%);
}
#pcparts .diagonal-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.4);
  z-index: 2;
}
#pcparts .pcpartsTop,
#equipment .inr {
  position: relative;
  top: -24px;
  z-index: 10;
  padding-bottom: 16px;
}
#pcparts .pcpartsTop::before {
  content: "";
  position: absolute;
  bottom: -40px;
  left: 0;
  width: 120px;
  height: 220px;
  background: url('/img/top/man.png') no-repeat center;
  background-size: contain;
}
@media print, screen and (min-width: 768px) {
  #pcparts .pcpartsTop::before {
    width: 260px;
    height: 420px;
  }
}
#pcparts .pcpartsTop::after {
  content: "";
  position: absolute;
  bottom: -40px;
  right: 8px;
  width: 110px;
  height: 220px;
  background: url('/img/top/woman.png') no-repeat center;
  background-size: contain;
}
@media print, screen and (min-width: 768px) {
  #pcparts .pcpartsTop::after {
    right: 24px;
    width: 210px;
    height: 420px;
  }
}
.pcpartsList {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
}
.pcpartsList > li {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 150px;
  height: 150px;
  margin: 0 4px;
  padding: 16px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.16);
  text-align: center;
  font-size: var(--font-size--sm);
}
.pcpartsList > li:nth-child(n+3) {
  margin-top: 8px;
}
@media print, screen and (min-width: 768px) {
  .pcpartsList > li {
    width: 300px;
    height: 300px;
    margin: 0 24px;
    font-size: var(--font-size--x2l);
  }
  .pcpartsList > li:nth-child(n+3) {
    margin-top: 0;
  }
}
.pcpartsBtm {
  position: relative;
  z-index: 10;
  background-color: var(--primary);
}
.pcpartsTxt {
  margin-bottom: 40px;
  font-size: var(--font-size--x2l);
  font-weight: bold;
  text-align: center;
  color: #FFF;
}
.pcpartsListBtm {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.pcpartsListBtm > li {
  background-color: #FFF;
  border-radius: 4px;
}
.pcpartsListBtm > li:nth-child(n+2) {
  margin-top: 24px;
}
@media print, screen and (min-width: 768px) {
  .pcpartsListBtm > li {
    width: calc((100% - 80px) / 3);
  }
  .pcpartsListBtm > li:nth-child(n+2) {
    margin-top: 0;
  }
  .pcpartsListBtm > li:nth-child(n+4) {
    margin-top: 40px;
  }
}
.pcpartsListBtm h3 {
  padding: 16px;
  text-align: center;
  font-size: var(--font-size--x3l);
}
.pcpartsListBtm img {
  width: 100%;
}
.pcpartsListBtm_txt {
  padding: 16px;
}
.manufacturerLogo {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin-top: 24px;
}
.manufacturerLogo > li {
  width: calc((100% - 24px) / 2);
}
#manufacturers {
  padding-bottom: 120px;
}
@media print, screen and (min-width: 768px) {
  #manufacturers {
    padding-bottom: 80px;
  }
}
.manufacturersList {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.manufacturersList li {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: calc((100% - 8px) / 2);
  padding: 16px 0;
  text-align: center;
  border: 1px solid var(--border-gray);
  border-radius: 4px;
}
.manufacturersList li:nth-child(n+3) {
  margin-top: 16px;
}
@media print, screen and (min-width: 768px) {
  .manufacturersList li {
    width: calc((100% - 96px) / 5);
  }
  .manufacturersList li:nth-child(n+3) {
    margin-top: 0;
  }
  .manufacturersList li:nth-child(n+6) {
    margin-top: 24px;
  }
}



/* --------------------------------------------------
  下層ページ
-------------------------------------------------- */
/* ------事業案内------ */
.serviceBox + .serviceBox {
  margin-top: 56px;
}
@media print, screen and (min-width: 768px) {
  .serviceBox {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
  }
  .serviceTxt {
    margin-left: 40px;
  }
}
.serviceImg img {
  width: 100%;
  max-width: 500px;
  height: auto;
  margin-bottom: 16px;
  border-radius: 4px;
}
@media print, screen and (min-width: 768px) {
  .serviceImg img {
    margin-bottom: 0;
  }
  .twoColumn {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 140px;
  }
  .twoColumn li {
    margin-right: 40px;
  }
}
/* ------お知らせ一覧------ */
.newsAll dl {
  display: -webkit-flex;
  display: flex;
  padding: 16px;
  border-bottom: 1px solid var(--border-gray);
}
.newsAll dl dt {
  width: 7em;
}
.newsAll dl dd {
  width: calc(100% - 7em)
}

/* ------PCパーツ------ */
.pcpartsRecommend {
  font-size: var(--font-size--xl);
}
@media print, screen and (min-width: 768px) {
  .pcpartsRecommend {
    font-size: var(--font-size--x2l);
  }
}
.pcpartsRecommend li:not(:last-child) {
  margin-bottom: 8px;
}
.pcpartsRecommend li {
  font-weight: bold;
  background: url(/img/cmn/icn_check.svg) left center no-repeat;
  background-size: 32px;
  padding-left: 40px;
}
.manufacturerAll {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.manufacturerAll > li {
  width: 100%;
  padding: 16px;
  border-radius: 4px;
  border: 1px solid var(--border-darkgray);
}
@media print, screen and (min-width: 768px) {
  .manufacturerAll > li {
    width: calc((100% - 32px) / 3);
  }
}
.manufacturerAll > li:nth-child(n+2) {
  margin-top: 16px;
}
@media print, screen and (min-width: 768px) {
  .manufacturerAll > li.three {
    width: calc((100% / 3)*3);
  }
}
.manufacturerAll dt {
  margin-bottom: 8px;
  font-size: var(--font-size--x2l);
  font-weight: bold;
  text-align: center;
}
.manufacturerAll dd li {
  padding: 16px 0;
  margin-bottom: 8px;
  text-align: center;
  border: 1px solid var(--border-gray);
  border-radius: 4px;
}
.manufacturerAll dd li:has(a) {
  padding: 0;
}
.manufacturerAll dd li a {
  display: block;
  padding: 16px 0;
  transition: all .2s;
}
@media print, screen and (min-width: 768px) {
  .manufacturerAll dd li a:hover {
    background-color: var(--link-hover);
    color: #FFF;
  }
}
.manufacturerAll dd ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}
.manufacturerAll dd ul li {
  margin-right: 8px;
}
.manufacturerAll dd ul li {
  width: calc((100% - 8px) / 2);
}
.manufacturerAll dd li:nth-child(2n) {
  margin-right: 0;
}
.manufacturerAll dd ul li:only-child {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .manufacturerAll dd .five li {
    width: calc((100% - 32px) / 5);
  }
  .manufacturerAll dd .five li {
    margin-right: 8px;
  }
  .manufacturerAll dd .five li:nth-child(5n) {
    margin-right: 0;
  }
}

/* ------産業用PC------ */
@media print, screen and (min-width: 768px) {
  .productList {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: stretch;
    align-items: stretch;
  }
}
.productList > li:nth-child(n+2) {
  margin-top: 24px;
}
@media print, screen and (min-width: 768px) {
  .productList > li {
    width: calc((100% - 120px) / 4);
    margin-right: 40px;
  }
  .productList > li:nth-child(4n) {
    margin-right: 0;
  }
  .productList > li:nth-child(n+2) {
    margin-top: 0;
  }
  .productList > li:nth-child(n+5) {
    margin-top: 40px;
  }
}
.productList > li > a,
.productList > li > .noLink {
  position: relative;
  display: block;
  height: 100%;
  padding: 16px 16px 40px;
  border: 1px solid var(--border-gray);
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.2s ease;
}
@media print, screen and (min-width: 768px) {
  .productList > li > a:hover {
    box-shadow: var(--box-shadow);
  }
}
.productList > li > a:after {
  content: "";
  display: block;
  width: 60px;
  height: 40px;
  background: url(/img/cmn/icn_arw.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  bottom: 8px;
  right: 8px;
}
@media print, screen and (min-width: 768px) {
  .productList > li > a:after {
    width: 40px;
  }
}
.productList img {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .detailImg {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
  }
}
.detailImg > li {
  position: relative;
  max-width: 400px;
  margin: 0 auto;
  padding: 24px;
}
@media print, screen and (min-width: 768px) {
  .detailImg > li {
    padding: 16px;
    margin: 0;
  }
  .detailImg > li:has(.productLabel) {
    padding: 48px;
  }
}
.detailImg_single {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
}
.detailImg.icon_detail > li {
  padding: 5px;
  margin: 0;
}
.detailImg.icon_detail {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content:left;
  justify-content: left;
}
.icon_detail img {
  max-width: 50px;
}
.detailImg img,
.detailImg_single img {
  display: block;
  width: 100%;
  height: auto;
}
.detailImg .productLabel {
  max-width: 60px;
}
@media print, screen and (min-width: 768px) {
  .detailImg .productLabel {
    max-width: 80px;
  }
}
.detailImg figcaption {
  text-align: center;
  margin-bottom: 16px;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .flexTag {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
}
.tag_soon {
  display: inline-block;
  margin-left: 24px;
  padding: 4px 16px;
  background-color: var(--accent01);
  font-weight: bold;
  font-size: var(--font-size--md);
  color: #FFF;
}
/* ------主要取扱メーカー------ */
@media print, screen and (min-width: 768px) {
  .manufacturers .manufacturersList {
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
  }
  .manufacturers .manufacturersList li {
    width: auto;
    min-width: 200px;
    margin-right: 8px;
  }
  .manufacturers .manufacturersList li {
    margin-bottom: 8px;
  }
  .manufacturers .manufacturersList li:nth-child(n+6) {
    margin-top: 0;
  }
}

/* ------ダウンロード------ */
.dlList {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.dlList > li {
  width: calc(100% / 2);
  padding: 0 16px;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .dlList > li {
    width: calc(100% / 4);
    text-align: center;
  }
  .dlList > li a {
    transition: all .2s;
  }
  .dlList > li a:hover {
    opacity: 0.7;
  }
}
.dlList > li img {
  width: 100%;
  max-width: 200px;
  height: auto;
  margin: 0 auto 8px;
}
.dlList > li span {
  display: inline-block;
}
.dlList > li:nth-child(n+3) {
  margin-top: 32px;
}
@media print, screen and (min-width: 768px) {
  .dlList > li:nth-child(n+3) {
    margin-top: 0;
  }
  .dlList > li:nth-child(n+5) {
    margin-top: 32px;
  }
}

/* ------サイトマップ------ */
.sitemapList a {
  text-decoration: none;
}
.sitemapList > li > a {
  display: block;
  padding: 16px;
  border: 1px solid var(--border-gray);
  border-radius: 4px;
  font-weight: bold;
}
.sitemapList ul li {
  margin-left: 16px;
}
.sitemapList > li > ul > li > a {
  position: relative;
  display: inline-block;
  margin-top: 16px;
  margin-bottom: 8px;
  font-weight: bold;
}
.sitemapList > li > ul > li > a::after {
  position: absolute;
  content: "";
  box-sizing: border-box;
  right: -24px;
  top: 8px;
  border: 6px solid transparent;
  border-left: 6px solid var(--primary);
  transition: all .2s;
}
@media print, screen and (min-width: 768px) {
  .sitemapList > li > ul > li > a:hover::after {
    border-left: 6px solid var(--link-hover);
  }
}
.sitemapList li ul li ul li a {
  position: relative;
}
.sitemapList li ul li ul li a:before {
  display: block;
  content: '';
  width: 7px;
  height: 2px;
  background: var(--primary);
  position: absolute;
  top: 13px;
  left: -16px;
}
@media print, screen and (min-width: 768px) {
  .sitemapList  {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 680px;
    overflow: auto;
  }
}
.sitemapList > li {
  margin-bottom: 24px;
}
@media print, screen and (min-width: 768px) {
  .sitemapList > li {
    width: calc((100% - 40px) / 2);
  }
}



/* ------404------ */
.mainContainer {
  min-height: calc(100vh - 380px);
}
@media print, screen and (min-width: 768px) {
  .mainContainer {
    min-height: calc(100vh - 410px);
  }
}
