@charset "UTF-8";

/* ===================================
	File Name   : common.css
	Description : Base Layout CSS
	Editor      : Bface Saeki
	Last Editor : Bface Otake
	
	Update Description :
  [2025/04/05] Gナビの調整
  [2024/01/09] タブ要素にリンク無効化処理を追加
	[2023/12/14] 大タイトル調整
	[2021/06/21] 調整
	[2021/06/21] 調整
	[2020/07/06] ビジュアル部分タイトル、テキスト折り返し設定
	[2020/07/03] .flex6追加

====================================== */

/*========== Style Contents ==========

	1. Switch
	2. Font Style
	3. Title Setting
	4. Box Layout
	5. Parts Style
    -	Page Anchor
    -	Page Anchor02
    -	Tabs
    -	Links
    -	Table
    -	Card
    -	List

====================================== */



/*===== ■1. Switch =====*/
.pc[class] { display: block;}
.sp[class] { display: none;}
.block[class] { display: block;}
.inline-block[class] { display: inline-block;}
.inline[class] { display: inline;}


@media (max-width: 768px) {
  .pc[class] { display: none;}
  .sp[class] { display: block;}
  .blocksp[class] { display: block;}
  .inline-blocksp[class] { display: inline-block;}
  .inlinesp[class] { display: inline;}
}



/*===== 2. margin =====*/
.mlauto[class] { margin-left: auto;}.ml0[class] { margin-left: 0;}.ml05[class] { margin-left: 5px;}.ml10[class] { margin-left: 10px;}.ml15[class] { margin-left: 15px;}.ml20[class] { margin-left: 20px;}.ml25[class] { margin-left: 25px;}
.mrauto[class] { margin-right: auto;}.mr0[class] { margin-right: 0;}.mr05[class] { margin-right: 5px;}.mr10[class] { margin-right: 10px;}.mr15[class] { margin-right: 15px;}.mr20[class] { margin-right: 20px;}.mr25[class] { margin-right: 25px;}
.mlrauto[class] { margin: auto;}.mlr0[class] { margin: 0;}.mlr05[class] { margin: 0 5px;}.mlr10[class] { margin: 0 10px;}.mlr15[class] { margin: 0 15px;}.mlr20[class] { margin: 0 20px;}.mlr25[class] { margin: 0 25px;}.mlr30[class] { margin: 0 30px;}.mlr40[class] { margin: 0 40px;}.mlr50[class] { margin: 0 50px;}
.mtauto[class] { margin-top: auto;}.mt0[class] { margin-top: 0;}.mt05[class] { margin-top: 5px;}.mt10[class] { margin-top: 10px;}.mt15[class] { margin-top: 15px;}.mt20[class] { margin-top: 20px;}.mt25[class] { margin-top: 25px;}.mt30[class] { margin-top: 30px;}.mt40[class] { margin-top: 40px;}.mt50[class] { margin-top: 50px;}
.mbauto[class] { margin-bottom: auto;}.mb0[class] { margin-bottom: 0;}.mb05[class] { margin-bottom: 5px;}.mb10[class] { margin-bottom: 10px;}.mb15[class] { margin-bottom: 15px;}.mb20[class] { margin-bottom: 20px;}.mb25[class] { margin-bottom: 25px;}.mb30[class] { margin-bottom: 30px;}.mb40[class] { margin-bottom: 40px;}.mb50[class] { margin-bottom: 50px;}.mb60[class] { margin-bottom: 60px;}
.mtb0[class] { margin: 0;}.mtb10[class] { margin: 10px 0;}.mtb20[class] { margin: 20px 0;}.mtb30[class] { margin: 30px 0;}.mtb40[class] { margin: 40px 0;}.mtb50[class] { margin: 50px 0;}

@media (max-width: 768px) {
	.ml05[class] { margin-left: 1.34vw;}.ml10[class] { margin-left: 2.67vw;}.ml15[class] { margin-left: 4vw;}
	.ml20[class] { margin-left: 5.34vw;}.mr05[class] { margin-right: 1.34vw;}
	.mr10[class] { margin-right: 2.67vw;}.mr15[class] { margin-right: 4vw;}.mr20[class] { margin-right: 5.34vw;}.mr25[class] { margin-right: 6.67vw;}
	.mlr05[class] { margin: 0 1.34vw;}.mlr10[class] { margin: 0 2.67vw;}.mlr15[class] { margin: 0 4vw;}.mlr20[class] { margin: 0 5.34vw;}.mlr25[class] { margin: 0 6.67vw;}.mlr30[class] { margin: 0 8vw;}.mlr40[class] { margin: 0 10.67vw;}.mlr50[class] { margin: 0 10.67vw;}
	.mt05[class] { margin-top: 1.34vw;}.mt10[class] { margin-top: 2.67vw;}.mt15[class] { margin-top: 4vw;}.mt20[class] { margin-top: 5.34vw;}.mt25[class] { margin-top: 6.67vw;}.mt30[class] { margin-top: 8vw;}.mt40[class] { margin-top: 10.67vw;}.mt50[class] { margin-top: 10.67vw;}
	.mb05[class] { margin-bottom: 1.34vw;}.mb10[class] { margin-bottom: 2.67vw;}.mb15[class] { margin-bottom: 4vw;}.mb20[class] { margin-bottom: 5.34vw;}.mb25[class] { margin-bottom: 6.67vw;}.mb30[class] { margin-bottom: 8vw;}.mb40[class] { margin-bottom: 10.67vw;}.mb50[class] { margin-bottom: 10.67vw;}.mb60[class] { margin-bottom: 10.67vw;}
	.mtb10[class] { margin: 2.67vw 0;}.mtb20[class] { margin: 5.34vw 0;}.mtb30[class] { margin: 8vw 0;}.mtb40[class] { margin: 10.67vw 0;}.mtb50[class] { margin: 10.67vw 0;}

	.ml0sp[class] { margin-left: 0;}.ml05sp[class] { margin-left: 1.34vw;}.ml10sp[class] { margin-left: 2.67vw;}.ml15sp[class] { margin-left: 4vw;}.ml20sp[class] { margin-left: 5.34vw;}.ml25sp[class] { margin-left: 6.67vw;}
	.mr0sp[class] { margin-right: 0;}.mr05sp[class] { margin-right: 1.34vw;}.mr10sp[class] { margin-right: 2.67vw;}.mr15sp[class] { margin-right: 4vw;}.mr20sp[class] { margin-right: 5.34vw;}.mr25sp[class] { margin-right: 6.67vw;}
	.mlr0sp[class] { margin: 0;}.mlr05sp[class] { margin: 0 1.34vw;}.mlr10sp[class] { margin: 0 2.67vw;}.mlr15sp[class] { margin: 0 4vw;}.mlr20sp[class] { margin: 0 5.34vw;}.mlr25sp[class] { margin: 0 6.67vw;}
  .mt0sp[class] { margin-top: 0;}.mt05sp[class] { margin-top: 1.34vw;}.mt10sp[class] { margin-top: 2.67vw;}.mt15sp[class] { margin-top: 4vw;}.mt20sp[class] { margin-top: 5.34vw;}.mt25sp[class] { margin-top: 6.67vw;}.mt30sp[class] { margin-top: 8vw;}.mt40sp[class] { margin-top: 10.67vw;}.mt50sp[class] { margin-top: 10.67vw;}
	.mb0sp[class] { margin-bottom: 0;}.mb05sp[class] { margin-bottom: 1.34vw;}.mb10sp[class] { margin-bottom: 2.67vw;}.mb15sp[class] { margin-bottom: 4vw;}.mb20sp[class] { margin-bottom: 5.34vw;}.mb25sp[class] { margin-bottom: 6.67vw;}.mb30sp[class] { margin-bottom: 8vw;}.mb40sp[class] { margin-bottom: 10.67vw;}.mb50sp[class] { margin-bottom: 10.67vw;}
	.mtb05sp[class] { margin: 1.34vw 0;}.mtb10sp[class] { margin: 2.67vw 0;}.mtb15sp[class] { margin: 4vw 0;}.mtb20sp[class] { margin: 5.34vw 0;}.mtb25sp[class] { margin: 6.67vw 0;}.mtb30sp[class] { margin: 8vw 0;}.mtb40sp[class] { margin: 10.67vw 0;}.mtb50sp[class] { margin: 10.67vw 0;}
}



/*===== ■3. Font Style =====*/
.futuramd {
  font-family: futura-pt, sans-serif;
  font-weight: 600;
  font-style: normal;
}
.futurabol {
  font-family: futura-pt, sans-serif;
  font-weight: 700;
  font-style: normal;
}

article .red { color: #d71518;}
article .white { color: #fff;}
article .black { color: #333;}

article .midbol { font-weight: 600;}
article .bol { font-weight: 700;}

article .fs12 { font-size: 1.2rem;}
article .fs14 { font-size: 1.4rem;}
article .fs16 { font-size: 1.6rem;}
article .fs18 { font-size: 1.8rem;}
article .fs20 { font-size: 2.0rem;}
article .fs24 { font-size: 2.4rem;}
article .fs30 { font-size: 3.0rem;}
article .fs40 { font-size: 4.0rem;}
article .fs50 { font-size: 5.0rem;}
article .fs60 { font-size: 6.0rem;}
article .fs70 { font-size: 7.0rem;}

article .center { text-align: center;}
article .right { text-align: right;}
article .left { text-align: left;}

article .arial { font-family: Arial, Helvetica, "sans-serif";}

article p.notice,
article ul.notice li {
  padding-left: 1.2rem;
  font-size: 1.4rem;
  text-indent: -1.2rem;
}
article ul.notice li:not(:last-child) { margin-bottom: 5px;}

article p.notice em,
article ul.notice li em {
  font-weight: bold;
  font-size: 1.4rem;
  color: #d71518;
}


@media (max-width: 768px) {
	article .fs12sp { font-size: 1.2rem;}
	article .fs14sp { font-size: 1.4rem;}
	article .fs16sp { font-size: 1.6rem;}
	article .fs18sp { font-size: 1.8rem;}
	article .fs20sp { font-size: 2.0rem;}
  article .fs30sp { font-size: 3.0rem;}
	
	article .center,
	article .right { text-align: left;}
	
	article .center_sp { text-align: center;}
	article .right_sp { text-align: right;}
  
  article p.notice,
  article ul.notice li { font-size: 1.2rem;}
  article ul.notice li:not(:last-child) { margin-bottom: 2.67vw;}
  
  article p.notice em,
  article ul.notice li em { font-size: 1.2rem;}
}


/*===== ■4. Title Setting =====*/
/* 大見出し */
div[id^="visual"] {
  display: flex;
  flex-flow: column wrap;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  padding: 20px;
  color: #fff;
  text-align: center;
}

div[id^="visual"] * {
  position: relative;
  z-index: 2;
}

div[id^="visual"] > :first-child {
  max-width: 100%;
  font-weight: bold;
  font-size: 5.0rem;
  line-height: 1.2;
}

div[id^="visual"] > :first-child b {
  display: block;
  font-size: 2.0rem;
  letter-spacing: .05rem;
}

div[id^="visual"] > :first-child em {
  display: block;
  margin-bottom: 10px;
  font-size: 2rem;
  text-align: left;
}


/* 中見出し */
[class^="tit_link"]{
  margin: 60px 0 40px;
  background: #fff;
  color: #d71518;
  font-weight: 600;
  font-size: 5.0rem;
  line-height: 1.2;
  text-align: center;
}

[class^="tit_link"] b {
  display: block;
  font-weight: bold;
  font-size: 2.2rem;
}

/* 小見出し */
.tit_subhead {
  position: relative;
  margin-bottom: 25px;
  padding-bottom: 20px;
  font-weight: 600;
  font-size: 4.0rem;
}
.tit_subhead::after {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50px;
  height: 5px;
  background: #333;
  content: "";
}

.tit_subhead b {
  margin-left: 15px;
  font-weight: 500;
  font-size: 1.8rem;
}


/* 小見出し その2 */
.tit_lines {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-bottom: 25px;
  font-weight: 600;
  font-size: 2.2rem;
  text-align: center;
}
.tit_lines::before,
.tit_lines::after {
  display: block;
  width: 50px;
  height: 1px;
  background: #333;
  content: "";
}
.tit_lines::before { margin-right: 15px;}
.tit_lines::after { margin-left: 15px;}

.tit_lines.caution::before,
.tit_lines.caution::after { background-color: #d71518;}


/* 強調 */
.tit_fill {
  margin-bottom: 20px;
  padding: 10px;
  background: #333;
  color: #fff;
  font-weight: 600;
  font-size: 1.8rem;
  text-align: center;
}


@media (max-width: 768px) {
  /* 大見出し */
  div[id^="visual"] {
    height: auto;
    margin-bottom: 2.67vw;
    padding: 13.34vw 2.67vw;
  }

  div[id^="visual"] > :first-child {
    margin-bottom: 4vw;
    font-size: 3.8rem;
  }

  div[id^="visual"] > :first-child b {
    margin-top: 1.34vw;
    font-size: 1.8rem;
  }
  
  div[id^="visual"] > :first-child em {
    margin-bottom: 2.67vw;
    font-size: 1.6rem;
  }  
  
  div[id^="visual"] p {
    margin: 0 2.67vw;
    font-size: 1.2rem;
  }
    
  /* 中見出し */
  [class^="tit_link"]{
    margin: 6.67vw 0;
    font-size: 2.8rem;
  }

  [class^="tit_link"] b {
    margin-top: .67vw;
    font-size: 1.4rem;
  }

  .tit_links::before {
    top: -2.67vw;
    height: 5.34vw;
  }
  
  /* 小見出し */
  .tit_subhead {
    margin-bottom: 5.34vw;
    padding-bottom: 4vw;
    font-size: 2.6rem;
  }
  .tit_subhead::after { width: 8vw;}

  .tit_subhead b {
    margin-left: 2.67vw;
    font-size: 1.4rem;
  }

  /* 小見出し その2 */
  .tit_lines {
    margin-bottom: 4vw;
    font-size: 1.8rem;
  }
  .tit_lines::before,
  .tit_lines::after { width: 8vw;}
  .tit_lines::before { margin-right: 2.67vw;}
  .tit_lines::after { margin-left: 2.67vw;}
  
  /* 強調 */
  .tit_fill {
    margin-bottom: 4vw;
    padding: 2.67vw;
    font-size: 1.6rem;
  }
}



/*===== ■5. Box Layout =====*/
.w10[class] { width: 10%;}.w20[class] { width: 20%;}.w25[class] { width: 25%;}.w30[class] { width: 30%;}.w40[class] { width: 40%;}.w50[class] { width: 50%;}.w60[class] { width: 60%;}.w70[class] { width: 70%;}.w80[class] { width: 80%;}.w90[class] { width: 90%;}.w100[class] { width: 100%;}

.flex { display: flex;}
.flex2,
.flex3,
.flex4,
.flex5,
.flex6{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flex2 > * { width: calc(50% - 20px);}
.flex3 > * { width: calc(33.33% - 15px);}
.flex4 > * { width: calc(25% - 10px);}
.flex5 > * { width: calc(20% - 10px);}
.flex6 > * { width: calc(16.54% - 15px);}

[class^="flex"] > * > img { width: 100%;}

table [class^="flex"] > * { flex: 1;}

.flexstart { justify-content: flex-start;}
.flexend { justify-content: flex-end;}
.flexcenter { justify-content: center;}
.flextop { align-items: flex-start;}
.flexmiddle { align-items: center;}
.flexbottom { align-items: flex-end;}

@media (max-width: 768px) {
  .w10sp[class] { width: 10%;}.w20sp[class] { width: 20%;}.w25sp[class] { width: 25%;}.w30sp[class] { width: 30%;}.w40sp[class] { width: 40%;}.w50sp[class] { width: 50%;}.w60sp[class] { width: 60%;}.w70sp[class] { width: 70%;}.w80sp[class] { width: 80%;}.w90sp[class] { width: 90%;}.w100sp[class] { width: 100%;}
  
  .flex { flex-direction: column;}
  
	.flex2 > *,
	.flex3 > *,
	.flex4 > *,
	.flex5 > *,
  .flex6 > *{ width: calc(50% - 2.67vw);}
  
  [class^="flex"].single > * { width: 100%;}
  
  table [class^="flex"].single > * { flex: none;}
}


/* JS - Inview */
section.inview { opacity: 0;}
section.anim { animation: slide .4s .2s linear forwards;}

@keyframes slide {
	0% {
		opacity: 0;
		top: 60px;
	}
	100% {
		opacity: 1;
		top: 0;
	}
}



/*===== ■6. Parts Style =====*/
/*-- Page Anchor  --*/
ul#pageanchor {
  display: flex;
  flex-wrap: wrap;
  margin: 0 20px;
  padding: 20px 20px 10px;
  background: #fff;
  border-bottom: 1px dotted #ccc;
}

ul.pageanchor_child {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 20px;
}

ul#pageanchor li,
ul.pageanchor_child li { margin: 0 10px 10px 0;}

ul#pageanchor a,
ul.pageanchor_child a {
  display: inline-block;
  justify-content: center;
  position: relative;
  padding: 10px 40px;
  border-radius: 50px;
  background: #666;
  color: #fff;
  font-size: 1.8rem;
  line-height: 1;
  align-items: center;
  text-decoration: none;
}

ul#pageanchor a::after,
ul.pageanchor_child a::after {
  position: absolute;
  top: 50%;
  right: 15px;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  border-top: 8px solid currentColor;
  transform: translateY(-50%);
  content: "";
}

ul#pageanchor a:hover,
ul.pageanchor_child a:hover { background: #333;}


#button-layout {
  margin: 0 20px;
  padding: 20px 20px 10px;
  background: #fff;
  border-bottom: 1px dotted #ccc;
}

#button-layout ul#pageanchor {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 70%;
  margin: 0 auto;
  border :none;
  background: none;
}

#button-layout ul#pageanchor ul {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

#button-layout ul#pageanchor li {
  display: flex;
  position: relative;
  align-items: center;
  width: calc(33.3333% - 10px);
  font-size: 2rem;
  background: #666;
  box-sizing: border-box;
}

#button-layout ul#pageanchor li a {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 20px;
  color: #fff;
  text-decoration: none;
}


#button-layout ul#pageanchor li:hover,
#button-layout ul#pageanchor li:hover a,
#button-layout ul#pageanchor li:hover::after {
  background: #333;
}



/*-- Tabs  --*/
#tabs {
  display: flex;
  align-items: flex-end;
  margin: 0 20px;
  padding: 0 10px;
  border-bottom: 1px solid #8a0e10;
  margin-top: -230px;
  padding-top: 230px;
}

#tabs li {
  position: relative;
  margin: 0 50px -1px 0;
  padding: 15px 40px;
  border-left: 1px solid #8a0e10;
  background: #8a0e10;
  color: #fff;
  text-align: center;
  cursor: pointer;
}
#tabs li.active {
	padding: 20px 40px;
}
#tabs li::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 100%;
  background: linear-gradient(to bottom left, rgba(255,255,255,0) 50%, #8a0e10 50.01%) no-repeat top left / 100% 100%;
  transform: translateX(100%);
  content: "";
}
#tabs li:hover,
#tabs li.active {
  box-sizing: border-box;
  border-top:1px solid #8a0e10;
  border-left:1px solid #8a0e10;
  background: #fff;
  color: #8a0e10;
}
#tabs li:hover::after,
#tabs li.active::after { background: linear-gradient(to bottom left, rgba(255,255,255,0) 49%, #8a0e10 49.9%, #8a0e10 50.1%, #fff 51%) no-repeat top left / 100% 100%; }

#tabs li.soon {
  pointer-events: none;
  opacity: 0.6;
}

#tabs li p {
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.2;
  opacity: .8;
}

#tabs li:hover p { opacity: 1;}

#tabs li p b {
  display: block;
  margin-bottom: 5px;
  font-size: 1.4rem;
}

#tabs li.active p {
  font-size: 2.0rem;
  opacity: 1;
}
#tabs li.active p b { font-size: 1.6rem;}

#tabs li:not(.active) a {
  color: #fff;
}
#tabs li:hover a {
  color: #8a0e10;
}

section[data-tabCont] { display: none;}
section[data-tabCont].active { display: block;}


/*-- Links --*/
/* Links - normal(arrow) */
#f_sitemap a:not(.boxlink),
a.txtlink,
.txtlinks a {
  display: inline-block;
  position: relative;
  margin: 0 2px;
  padding-left: 8px;
}
#f_sitemap a:not(.boxlink)::before,
a.txtlink::before,
.txtlinks a::before {
  position: absolute;
  top: 50%;
  left: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid currentColor;
  transform: translateY(-50%);
  content: "";
}

/* Links - blank */
#gnavi ul ul a[target="_blank"],
#f_sitemap a[target="_blank"]:not(.boxlink),
a.txtlink[target="_blank"],
.txtlinks a[target="_blank"] { padding-right: 12px;}

#gnavi ul ul a[target="_blank"]::after,
#f_sitemap a[target="_blank"]:not(.boxlink)::after,
a.txtlink[target="_blank"]::after,
.txtlinks a[target="_blank"]::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 10px;
  height: 10px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%20%7Bfill%3A%20%238a0e10%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M2639%2C5917v-8h8v8h-8Zm6-6h-4v4h4v-4Zm-7%2C8h-1v-5h1v4h4v1h-4Z%22%20transform%3D%22translate(-2637%20-5909)%22%2F%3E%3C%2Fsvg%3E") no-repeat left top / cover;
  transform: translateY(-50%);
  content: "";
}
#f_sitemap a[target="_blank"]:not(.boxlink):hover::after,
a.txtlink[target="_blank"]:hover::after,
.txtlinks a[target="_blank"]:hover::after { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%20%7Bfill%3A%20%23d71518%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M2639%2C5917v-8h8v8h-8Zm6-6h-4v4h4v-4Zm-7%2C8h-1v-5h1v4h4v1h-4Z%22%20transform%3D%22translate(-2637%20-5909)%22%2F%3E%3C%2Fsvg%3E");}

#gnavi ul ul a[target="_blank"] { padding-right: 17px;}
#gnavi ul ul a[target="_blank"]::after { margin-right: 5px;}
#gnavi ul ul a[target="_blank"]::after,
#gnavi ul ul a[target="_blank"]:hover::after { background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%20%7Bfill%3A%20%23fff%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M2639%2C5917v-8h8v8h-8Zm6-6h-4v4h4v-4Zm-7%2C8h-1v-5h1v4h4v1h-4Z%22%20transform%3D%22translate(-2637%20-5909)%22%2F%3E%3C%2Fsvg%3E%0A');}

#gnavi ul a[target="_blank"]::after {
  position: absolute;
  top: 50%;
  right: 5px;
  width: 10px;
  height: 10px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%20%7Bfill%3A%20%238a0e10%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M2639%2C5917v-8h8v8h-8Zm6-6h-4v4h4v-4Zm-7%2C8h-1v-5h1v4h4v1h-4Z%22%20transform%3D%22translate(-2637%20-5909)%22%2F%3E%3C%2Fsvg%3E") no-repeat left top / cover;
  transform: translateY(-50%);
  content: "";
}

#gnavi ul li:last-of-type a[target="_blank"]::after,
#gnavi ul li:nth-last-child(2) a[target="_blank"]::after {
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMCAxMCI+PGRlZnM+PHN0eWxlPi5jbHMtMSB7ZmlsbDogIzAyMDIwMjt9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMjYzOSw1OTE3di04aDh2OGgtOFptNi02aC00djRoNHYtNFptLTcsOGgtMXYtNWgxdjRoNHYxaC00WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTI2MzcgLTU5MDkpIi8+PC9zdmc+")no-repeat left top / cover;
  transform: translateY(-50%);
  content: "";
}

#gnavi ul a[target="_blank"]:hover::after {
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMCAxMCI+PGRlZnM+PHN0eWxlPi5jbHMtMSB7ZmlsbDogIzAyMDIwMjt9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMjYzOSw1OTE3di04aDh2OGgtOFptNi02aC00djRoNHYtNFptLTcsOGgtMXYtNWgxdjRoNHYxaC00WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTI2MzcgLTU5MDkpIi8+PC9zdmc+")no-repeat left top / cover;
  transform: translateY(-50%);
  content: "";
}

@media (max-width: 768px) {
  #gnavi ul li:last-of-type a[target="_blank"]::after,
  #gnavi ul li:nth-last-child(2) a[target="_blank"]::after {
    background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23fff%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M2%2C8V0h8v8H2ZM8%2C2h-4v4h4V2ZM1%2C10H0v-5h1v4h4v1H1Z%22%2F%3E%3C%2Fsvg%3E')no-repeat left top / cover;
    transform: translateY(-50%);
    width: 15px;
    height: 15px;
    content: "";
  }
  header.fixed #gnavi > ul > li > a:last-child:hover {
    color: #fff;
  }
  #gnavi ul li [target="_blank"]:hover::after {
    background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23fff%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M2%2C8V0h8v8H2ZM8%2C2h-4v4h4V2ZM1%2C10H0v-5h1v4h4v1H1Z%22%2F%3E%3C%2Fsvg%3E')no-repeat left top / cover;
  }
}

/* Links - PDF */
.pdflink[target="_blank"][href$=".pdf"] span {
  display: inline-block;
  position: relative;
  padding-right: 18px;
  text-decoration: underline;
}
.covercard .pdflink[target="_blank"][href$=".pdf"] span,
.smallcard .pdflink[target="_blank"][href$=".pdf"] span {text-decoration: none;}

a.pdflink[target="_blank"][href$=".pdf"] span::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 15px;
  height: 15px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2030%2030%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%238a0e10%3B%7D.cls-2%7Bfill%3A%23fff%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Ccircle%20class%3D%22cls-1%22%20cx%3D%2215%22%20cy%3D%2215%22%20r%3D%2215%22%2F%3E%3Cpath%20class%3D%22cls-2%22%20d%3D%22M25.35%2C18.7c-.09-.94-.64-2.19-3.3-2.35a22.87%2C22.87%2C0%2C0%2C0-4.49.42%2C20.07%2C20.07%2C0%2C0%2C1-2.7-3.59C17.07%2C6.81%2C15.67%2C5%2C13.78%2C5c-1.48%2C0-2.22%2C1.56-2%2C3.29a16.36%2C16.36%2C0%2C0%2C0%2C1.72%2C4.44%2C49.32%2C49.32%2C0%2C0%2C1-2.53%2C5.72%2C26.09%2C26.09%2C0%2C0%2C0-2.85%2C1.07C4.53%2C21.17%2C4.24%2C23.37%2C5%2C24.3c1.4%2C1.77%2C4.37.24%2C7.36-5.1%2C2.05-.59%2C4.74-1.36%2C5-1.36l.11%2C0c1.5%2C1.32%2C3.26%2C2.82%2C4.71%2C3C24.24%2C21.17%2C25.43%2C19.65%2C25.35%2C18.7ZM8.73%2C22.34c-.86%2C1-2.26%2C2-2.76%2C1.69s-.57-1.28.54-2.35A9.14%2C9.14%2C0%2C0%2C1%2C9.76%2C20c.33-.13.41%2C0%2C.41.16A8.38%2C8.38%2C0%2C0%2C1%2C8.73%2C22.34ZM12.52%2C8.52c-.09-1%2C.12-2%2C1-2.14s1.28.86.95%2C2.47a13%2C13%2C0%2C0%2C1-.66%2C2.8c-.16.12-.33-.29-.33-.29A8.46%2C8.46%2C0%2C0%2C1%2C12.52%2C8.52Zm.33%2C9.67c.45-.75%2C1.6-3.75%2C1.6-3.75.25.46%2C2.18%2C2.76%2C2.18%2C2.76S13.67%2C17.86%2C12.85%2C18.19Zm9%2C1.31a10.92%2C10.92%2C0%2C0%2C1-3.33-1.64c-.29-.13%2C2.3-.48%2C3.29-.42%2C1.28.09%2C1.73.62%2C1.73%2C1.16S23.05%2C19.67%2C21.81%2C19.5Z%22%2F%3E%3C%2Fsvg%3E") no-repeat left top / cover;
  transform: translateY(-50%);
  content: "";
}
a.pdflink[target="_blank"][href$=".pdf"]:hover span::after { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2030%2030%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23d71518%3B%7D.cls-2%7Bfill%3A%23fff%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Ccircle%20class%3D%22cls-1%22%20cx%3D%2215%22%20cy%3D%2215%22%20r%3D%2215%22%2F%3E%3Cpath%20class%3D%22cls-2%22%20d%3D%22M25.35%2C18.7c-.09-.94-.64-2.19-3.3-2.35a22.87%2C22.87%2C0%2C0%2C0-4.49.42%2C20.07%2C20.07%2C0%2C0%2C1-2.7-3.59C17.07%2C6.81%2C15.67%2C5%2C13.78%2C5c-1.48%2C0-2.22%2C1.56-2%2C3.29a16.36%2C16.36%2C0%2C0%2C0%2C1.72%2C4.44%2C49.32%2C49.32%2C0%2C0%2C1-2.53%2C5.72%2C26.09%2C26.09%2C0%2C0%2C0-2.85%2C1.07C4.53%2C21.17%2C4.24%2C23.37%2C5%2C24.3c1.4%2C1.77%2C4.37.24%2C7.36-5.1%2C2.05-.59%2C4.74-1.36%2C5-1.36l.11%2C0c1.5%2C1.32%2C3.26%2C2.82%2C4.71%2C3C24.24%2C21.17%2C25.43%2C19.65%2C25.35%2C18.7ZM8.73%2C22.34c-.86%2C1-2.26%2C2-2.76%2C1.69s-.57-1.28.54-2.35A9.14%2C9.14%2C0%2C0%2C1%2C9.76%2C20c.33-.13.41%2C0%2C.41.16A8.38%2C8.38%2C0%2C0%2C1%2C8.73%2C22.34ZM12.52%2C8.52c-.09-1%2C.12-2%2C1-2.14s1.28.86.95%2C2.47a13%2C13%2C0%2C0%2C1-.66%2C2.8c-.16.12-.33-.29-.33-.29A8.46%2C8.46%2C0%2C0%2C1%2C12.52%2C8.52Zm.33%2C9.67c.45-.75%2C1.6-3.75%2C1.6-3.75.25.46%2C2.18%2C2.76%2C2.18%2C2.76S13.67%2C17.86%2C12.85%2C18.19Zm9%2C1.31a10.92%2C10.92%2C0%2C0%2C1-3.33-1.64c-.29-.13%2C2.3-.48%2C3.29-.42%2C1.28.09%2C1.73.62%2C1.73%2C1.16S23.05%2C19.67%2C21.81%2C19.5Z%22%2F%3E%3C%2Fsvg%3E");}


/* Links - Boxlink */
a.boxlink {
  display: block;
  overflow: hidden;
  position: relative;
  max-width: 640px;
  padding: 20px;
  margin: 0 auto;
  background: url("../img/common/bg-boxlink.svg") no-repeat left top / cover;
  color: #fff;
  font-weight: bold;
  font-size: 2.0rem;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  transition: all .25s;
}
a.boxlink.linkred {
  background: url("../img/common/bg-boxlink-red.svg") no-repeat left top / cover;
}
_:-ms-lang(x)::-ms-backdrop, a.boxlink { background: url("../img/common/bg-boxlink.png") no-repeat left top / 100% 100%;}
_:-ms-lang(x)::-ms-backdrop, header a.boxlink,
_:-ms-lang(x)::-ms-backdrop, footer a.boxlink { background: url("../img/common/bg-boxlink-s.png") no-repeat left top / 100% 100%;}

_:-ms-lang(x)::-ms-backdrop, a.boxlink:hover { background: url("../img/common/bg-boxlink_on.png") no-repeat left top / 100% 100%;}
_:-ms-lang(x)::-ms-backdrop, header a.boxlink:hover,
_:-ms-lang(x)::-ms-backdrop, footer a.boxlink:hover { background: url("../img/common/bg-boxlink-s_on.png") no-repeat left top / 100% 100%;}


a.boxlink span {
  display: block;
  margin-top: 5px;
  font-size: 1.4rem;
}
header a.boxlink span { font-size: 1.2rem;}
footer  a.boxlink span { font-size: 1.0rem !important;}

a.boxlink:hover {
  transition: all .25s;
  filter: saturate(350%) hue-rotate(360deg);
}
a.boxlink.linkred:hover {
  filter: saturate(350%) hue-rotate(360deg) sepia(40%);
  color: #fff;
}
a.boxlink::after {
  position: absolute;
  top: 0;
  left: -25px;
  z-index: 1;
  width: 50px;
  height: 180%;
  background: #fff;
  opacity: .2;
  transform: translateX(-150%) translateY(-25%) rotate(35deg);
  transition: all .25s cubic-bezier(0.19, 1, 0.22, 1);
  content: "";
}
a.boxlink:hover::after {
    left: 200%;
    transition: all .25s cubic-bezier(0.19, 1, 0.22, 1);
}

/* Links - ghost */
a.ghostlink {
  overflow: hidden;
  position: relative;
  width: 100%;
  padding: 25px 20px;
  color: #fff;
  border: 1px solid #fff;
  background: rgba(255, 255, 255, .25);
  text-decoration: none;
  transition: all .25s;
}
a.ghostlink span {
  position: relative;
  z-index: 2;
  font-weight: bold;
  font-size: 2.0rem;
}
a.ghostlink::before {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 2;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid currentColor;
  transform: translateY(-50%);
  content: "";
}

a.ghostlink:hover {
  border-color: #000;
  background: #000;
  transition: all .25s;
}
a.ghostlink::after {
  position: absolute;
  top: 0;
  left: -20%;
  width: 150%;
  height: 100%;
  background: #333;
  transform: translateX(-100%) skewX(-25deg);
  transition: all .15s;
  content:"";
}
a.ghostlink:hover::after {
  left: 20%;
  transform: translateX(100%) skewX(-25deg);
  transition: all .15s;
}

a.blue {
  display: block;
  background: #0052cc;
  text-align: center;
}

a.blue::before {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 2;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid currentColor;
  transform: translateY(-50%);
  content: "";
  border-left: 10px solid #fff;
}

a.blue:hover {
  transition: all .25s;
  filter: saturate(350%) hue-rotate(1deg);
}

/*-- Table --*/
/* Table - basic */
.table_basic {
  width: 100%;
  height: 100%;
  padding-top: 5px;
}

.table_basic tr:first-child th::before {
  position: absolute;
  top: -5px;
  left: 0;
  width: 100%;
  height: 5px;
  background: #000;
  content: "";
}

.table_basic th {
  position: relative;
  padding: 25px 20px;
  border-bottom: 1px solid #ccc;
  background: rgba(0, 0, 0, 0.1);
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.2;
  text-align: left;
  white-space: nowrap;
  vertical-align: top;
}

.table_basic td {
  padding: 25px 20px;
  border-bottom: 1px solid #ccc;
  background: rgba(0, 0, 0, 0.05);
  vertical-align: top;
}

/* Table - scroll */
.table_scroll table {
  width: 100%;
  table-layout: fixed;
  border-collapse:separate;
  border-spacing: 2px;
}
.table_scroll.auto table { table-layout: auto;}

.table_scroll table th,
.table_scroll table td {
  padding: 15px 20px;
  font-size: 2rem;
  text-align: center;
  vertical-align: middle;
  word-break: break-all;
}
.table_scroll table th { 
  background: rgba(0, 0, 0, .1);
  font-weight: bold;
}
.table_scroll table td { background: rgba(0, 0, 0, .05);}

.table_scroll table thead th {
  background: #333;
  color: #fff;
}
.table_scroll table tbody { background: #fff;}

.table_scroll.auto table td { text-align: left;}


@media (max-width: 768px){
  /*-- Page Anchor  --*/
  ul#pageanchor {
    justify-content: space-between;
    margin: 0 2.67vw;
    padding: 2.67vw 1.34vw 1.34vw;
  }
  
  ul#pageanchor_child { margin: 0 0 5.34vw;}

  ul#pageanchor li,
  ul.pageanchor_child li {
    width: calc(50% - .67vw);
    margin: 0 0 1.34vw;
  }
  ul.pageanchor_child li { width: 100%;}

  ul#pageanchor a,
  ul.pageanchor_child a {
    display: flex;
    justify-content: flex-start;
    height: 100%;
    padding: 2.67vw 5.34vw 2.67vw 2.67vw;
    font-size: 1.2rem;
  }

  ul#pageanchor a::after,
  ul.pageanchor_child a::after {
    right: 2.14vw;
    border-width: 1.06vw;
    border-top-width: 1.6vw;
  }

  ul#pageanchor a:hover,
  ul.pageanchor_child a:hover { background: #666;}
  
  #button-layout {
    justify-content: space-between;
    margin: 0 2.67vw;
    padding: 2.67vw 1.34vw 1.34vw;
  }
  
  #button-layout ul#pageanchor {
    width: 100%;
    justify-content: space-between;
  }
  
  #button-layout ul#pageanchor li {
    width: calc(50% - .67vw);
    margin: 0 0 1.34vw;
  }
  
  #button-layout ul#pageanchor li a {
    display: block;
    padding: 2.67vw 5.34vw 2.67vw 2.67vw;
    font-size: 1.2rem;
  }
  
  
  /*-- Tabs  --*/
  #tabs {
    margin: -70px 2.67vw 0;
    padding: 70px 1.34vw 0;
  }

  #tabs li {
    flex: 1;
    margin: 0 0 -1px;
    padding: 1.34vw 2.67vw;
    border: 1px solid #8a0e10;
    border-bottom: none;
  }
  #tabs li.active { padding: 2.67vw;}
  #tabs li::after { display: none;}
  #tabs li:hover { background: #8a0e10; color: #fff; border-top-color: #8a0e10;}
  #tabs li.active:hover { background: #fff; color: #8a0e10;}

  #tabs li p { font-size: 1.1rem;}
  #tabs li.active p { font-size: 1.2rem;}

  #tabs li:hover p { opacity: .8;}
  #tabs li.active:hover p { opacity: 1;}

  #tabs li p b {
    margin-bottom: 1.34vw;
    font-size: 1.0rem;
  }
  #tabs li.active p b { font-size: .9rem;}
  
  /*-- Links --*/
  /* Links - normal(arrow) */
  #f_sitemap a:not(.boxlink),
  a.txtlink,
  .txtlinks a {
    margin: 0 .67vw;
    padding-left: 2.67vw;
  }
  #f_sitemap a:not(.boxlink)::before,
  a.txtlink::before,
  .txtlinks a::before { border-width: 1.34vw;}

  #gnavi ul ul a[target="_blank"],
  #f_sitemap a[target="_blank"]:not(.boxlink),
  a.txtlink[target="_blank"],
  .txtlinks a[target="_blank"] { padding-right: 4vw;}

  #gnavi ul ul a[target="_blank"]::after,
  #f_sitemap a[target="_blank"]:not(.boxlink)::after,
  a.txtlink[target="_blank"]::after,
  .txtlinks a[target="_blank"]::after {
    width: 2.67vw;
    height: 2.67vw;
  }
  
  #f_sitemap a[target="_blank"]:not(.boxlink):hover::after,
  a.txtlink[target="_blank"]:hover::after,
  .txtlinks a[target="_blank"]:hover::after { background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%20%7Bfill%3A%20%238a0e10%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M2639%2C5917v-8h8v8h-8Zm6-6h-4v4h4v-4Zm-7%2C8h-1v-5h1v4h4v1h-4Z%22%20transform%3D%22translate(-2637%20-5909)%22%2F%3E%3C%2Fsvg%3E") no-repeat left top / cover;}
  #gnavi ul a[target="_blank"]::after {
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%20%7Bfill%3A%20%23fff%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M2639%2C5917v-8h8v8h-8Zm6-6h-4v4h4v-4Zm-7%2C8h-1v-5h1v4h4v1h-4Z%22%20transform%3D%22translate(-2637%20-5909)%22%2F%3E%3C%2Fsvg%3E%0A');
  }
  #gnavi ul ul a[target="_blank"] { padding-right: 4vw;}
  #gnavi ul ul a[target="_blank"]::after { margin-right: 1.34vw;}
  
  .txtlinks a { padding: 1.34vw 2.67vw;}
  
  /* Links - PDF */
  a.pdflink[target="_blank"][href$=".pdf"] span { padding-right: 5.34vw;}
  a.pdflink[target="_blank"][href$=".pdf"] span::after {
    width: 4vw;
    height: 4vw;
  }
  
  a.pdflink[target="_blank"][href$=".pdf"]:hover span::after { background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2030%2030%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%238a0e10%3B%7D.cls-2%7Bfill%3A%23fff%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Ccircle%20class%3D%22cls-1%22%20cx%3D%2215%22%20cy%3D%2215%22%20r%3D%2215%22%2F%3E%3Cpath%20class%3D%22cls-2%22%20d%3D%22M25.35%2C18.7c-.09-.94-.64-2.19-3.3-2.35a22.87%2C22.87%2C0%2C0%2C0-4.49.42%2C20.07%2C20.07%2C0%2C0%2C1-2.7-3.59C17.07%2C6.81%2C15.67%2C5%2C13.78%2C5c-1.48%2C0-2.22%2C1.56-2%2C3.29a16.36%2C16.36%2C0%2C0%2C0%2C1.72%2C4.44%2C49.32%2C49.32%2C0%2C0%2C1-2.53%2C5.72%2C26.09%2C26.09%2C0%2C0%2C0-2.85%2C1.07C4.53%2C21.17%2C4.24%2C23.37%2C5%2C24.3c1.4%2C1.77%2C4.37.24%2C7.36-5.1%2C2.05-.59%2C4.74-1.36%2C5-1.36l.11%2C0c1.5%2C1.32%2C3.26%2C2.82%2C4.71%2C3C24.24%2C21.17%2C25.43%2C19.65%2C25.35%2C18.7ZM8.73%2C22.34c-.86%2C1-2.26%2C2-2.76%2C1.69s-.57-1.28.54-2.35A9.14%2C9.14%2C0%2C0%2C1%2C9.76%2C20c.33-.13.41%2C0%2C.41.16A8.38%2C8.38%2C0%2C0%2C1%2C8.73%2C22.34ZM12.52%2C8.52c-.09-1%2C.12-2%2C1-2.14s1.28.86.95%2C2.47a13%2C13%2C0%2C0%2C1-.66%2C2.8c-.16.12-.33-.29-.33-.29A8.46%2C8.46%2C0%2C0%2C1%2C12.52%2C8.52Zm.33%2C9.67c.45-.75%2C1.6-3.75%2C1.6-3.75.25.46%2C2.18%2C2.76%2C2.18%2C2.76S13.67%2C17.86%2C12.85%2C18.19Zm9%2C1.31a10.92%2C10.92%2C0%2C0%2C1-3.33-1.64c-.29-.13%2C2.3-.48%2C3.29-.42%2C1.28.09%2C1.73.62%2C1.73%2C1.16S23.05%2C19.67%2C21.81%2C19.5Z%22%2F%3E%3C%2Fsvg%3E") no-repeat left top / cover;}
  
  
  /* Links - Boxlink */
  a.boxlink {
    padding: 5.34vw;
    font-size: 1.8rem;
    transition: none;
  }
  
  a.boxlink span {
    margin-top: 1.34vw;
    font-size: 1.2rem;
  }
  header a.boxlink span { font-size: 1.0rem;}
  footer a.boxlink span { font-size: 1.0rem !important;}
  
  a.boxlink:hover {
    transition: none;
    filter: none;
  }
  a.boxlink.linkred:hover {
    filter: none;
  }
  a.boxlink::after { display: none;}

  /* Links - ghost */
  a.ghostlink {
    padding: 5.34vw;
    transition: none;
  }
  a.ghostlink span { font-size: 1.8rem;}
  a.ghostlink::before { border-width: 2.67vw;}

  a.ghostlink:hover {
    border-color: currentColor;
    background: rgba(255, 255, 255, .25);
    transition: none;
  }
  a.ghostlink::after { display: none;}
  
  /*-- Table --*/
  /* Table - basic */
  .table_basic tr:first-child th::before { width: 25%;}

  .table_basic th {
    display: block;
    padding: 4vw 2.67vw;
    border-bottom: none;
    font-size: 1.6rem;
    white-space: normal;
  }

  .table_basic td {
    display: block;
    padding: 4vw 2.67vw;
    border-bottom: none;
    background: rgba(0, 0, 0, 0.05);
  }
  
  /* Table - scroll */
  .table_scroll {
    overflow-x: auto;
    white-space: nowrap;
  }
  
  .table_scroll table {
    width: auto;
    min-width: 100%;
  }
  
  .table_scroll table th,
  .table_scroll table td {
    padding: 4vw 5.34vw;
    font-size: 1.4rem;
  }
}


/*-- Card --*/
/* Big Card */
ul.bigcard {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

ul.bigcard li {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  position: relative;
  width: calc(50% - 60px);
  min-height: 350px;
  margin: 0 30px 40px;
  counter-increment: num;
}

ul.bigcard li .cover {
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: calc(100% - 50px);
}

ul.bigcard li .cover span {
  display: block;
  height: 100%;
  background: no-repeat center / cover;
  filter: brightness(80%) sepia(90%) blur(.25rem);
  transition: filter .25s;
}

ul.bigcard li .cover canvas {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 100%;
}

/* イメージ自体は各CSSに記述
#top_exhibit li:nth-child(1) .cover span { background-image: url();}
*/

ul.bigcard li a {
  width: 50%;
  color: #333;
  text-decoration: none;
}

ul.bigcard li dl {
  position: relative;
  right: -10px;
  z-index: 2;
  margin-left: auto;
  padding: 30px 10px;
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
  background: rgba(235, 235, 235, .9);
  text-align: center;
  transition: background .25s;
}
ul.bigcard li dl::before,
ul.bigcard li dl::after,
ul.bigcard li dd::before,
ul.bigcard li dd::after {
  position: absolute;
  width: 1px;
  height: 30px;
  background: #333;
  content: "";
}
ul.bigcard li dl::before { top: 0; left: 0;}
ul.bigcard li dl::after { top: 0; right: 0;}
ul.bigcard li dd::before { bottom: 0; left: 0;}
ul.bigcard li dd::after { bottom: 0; right: 0;}

ul.bigcard li dt {
  margin-bottom: 30px;
  font-size: 2.8rem;
}
ul.bigcard li dt::before {
  display: block;
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 2.0rem;
  line-height: 1;
  content: "0" counter(num);
}

ul.bigcard li dd span {
  display: block;
  position: relative;
  margin-top: 30px;
}

ul.bigcard li dd span::before,
ul.bigcard li dd span::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  line-height: 1;
  content: "";
}
ul.bigcard li dd span::before {
  width: 40px;
  height: 1px;
  margin-left: -20px;
  background: #333;
  transform: translateY(-50%);
  transition: width .25s;
}
ul.bigcard li dd span::after {
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid #333;
  transform: translateX(20px) translateY(-50%);
  transition: transform .25s;
}

ul.bigcard li a:hover .cover span {
  filter: brightness(100%) sepia(0%) blur(0);
  transition: filter .25s;
}

ul.bigcard li a:hover dl {
  background: #ddd;
  transition: background .25s;
}
ul.bigcard li:nth-child(even) a:hover dl { background: #ebebeb;}

ul.bigcard li a:hover span::before {
  width: 60px;
  transition: width .25s;
}
ul.bigcard li a:hover span::after {
  transform: translateX(40px) translateY(-50%);
  transition: transform .25s;
}

ul.bigcard li a.soon { opacity: 1;}
ul.bigcard li a.soon > * {opacity: .6;}
ul.bigcard li a.soon dd span { display: none;}

/* Small Card */
ul.smallcard {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -30px;
}

ul.smallcard li {
  width: calc(25% - 20px);
  margin: 0 10px 30px;
  box-shadow: 0 1px 2px #bbb; 
  border: 1px solid #fff;
}

ul.smallcard li a {
  display: block;
  height: 100%;
  background: #f1f1f1;
  color: #666;
  text-decoration: none;
}

ul.smallcard li a figure {
  display: block;
  overflow: hidden;
  position: relative;
  line-height: 0;
}

ul.smallcard li a figure img {
  height: auto;
  transition: transform .25s;
}

ul.smallcard li a figure::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .25);
  content: "";
}

ul.smallcard li a[target="_blank"] figure::after {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 50px;
  height: 50px;
  background: url("../img/common/ico-blank.svg") no-repeat right 5px bottom 5px / 30%, linear-gradient(to bottom right, rgba(255,255,255,0) 50%, #8a0e10 50.01%) no-repeat top left / 100% 100%;
  content:"";
}

ul.smallcard li a span {
  display: inline-block;
  padding: 15px 10px;
}

ul.smallcard li a span em {
  display: block;
  margin-bottom: 10px;
  font-weight: bold;
}

ul.smallcard li a:hover { background: #fff; color: #333;}
ul.smallcard li a:hover figure::before { display: none;}
ul.smallcard li a:hover figure img {
  transform: scale(1.2) rotate(-5deg);
  transition: transform .25s;
  opacity: 1;
}

/* Cover Card */
ul.covercard {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -30px;
}

ul.covercard li {
  position: relative;
  width: calc(25% - 20px);
  margin: 0 10px 30px;
}

ul.covercard li a {
  display: block;
  color: #ccc;
}
ul.covercard li a:hover { color: #fff;}

ul.covercard li a p {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 10px 10px;
  background: rgba(0, 0, 0, .8);
}
ul.covercard li a p::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 20px;
  background: linear-gradient(to bottom right, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .8) 50.01%) no-repeat top left / 100% 100%;
  transform: translateY(-100%);
  content: "";
}


@media (max-width: 768px) {
  ul.bigcard  {
    display: block;
    padding-bottom: 2.67vw;
  }

  ul.bigcard li {
    display: block;
    width: inherit;
    min-height: auto;
    margin: 0 2.67vw 2.67vw;
    padding: 2.67vw;
    background: no-repeat center / cover;
  }
  
  /* イメージ自体は各CSSに記述
  ul.bigcard li:nth-child(1) { background-image: url("img/top/img-exhibitor01.jpg");}
  */
  
  ul.bigcard li .cover { display: none;}

  ul.bigcard li a {
    display: block;
    width: inherit;
    padding: 2.67vw;
    background: rgba(235, 235, 235, .8);
  }

  ul.bigcard li dl {
    right: 0;
    padding: 2.67vw 2.67vw 5.34vw;
    background: none;
    transition: none;
  }

  ul.bigcard li dt {
    margin-bottom: 5.34vw;
    font-size: 2.0rem;
  }
  ul.bigcard li dt::before {
    margin-bottom: 5.34vw;
    font-size: 1.8rem;
  }

  ul.bigcard li dd span { margin-top: 5.34vw;}

  ul.bigcard li dd span::before {
    width: 12vw;
    margin-left: -6vw;
    transition: none;
  }
  ul.bigcard li dd span::after {
    border-width: 1.34vw;
    transform: translateX(6vw) translateY(-50%);
    transition: none;
  }

  ul.bigcard li a:hover dl {
    background: none;
    transition: none;
  }
  ul.bigcard li:nth-child(even) a:hover dl { background: none;}

  ul.bigcard li a:hover span::before {
    width: 12vw;
    transition: none;
  }
  ul.bigcard li a:hover span::after {
    transform: translateX(6vw);
    transform: translateX(6vw) translateY(-50%);
  }
  
  ul.bigcard li a.soon > * {opacity: 1;}

  ul.bigcard li a.soon::before {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    background: rgba(0, 0, 0, .5);
    content:"";
  }

  /* Small Card */
  ul.smallcard {
    justify-content: space-between;
    margin-bottom: -5.34vw;
  }

  ul.smallcard li {
    width: calc(50% - 2.67vw);
    margin: 0 0 5.34vw;
  }

  ul.smallcard li a {
    background: #fff;
    color: #333;
  }

  ul.smallcard li a figure img { transition: none;}

  ul.smallcard li a figure::before { display: none;}
  
  ul.smallcard li a[target="_blank"] figure::after {
    width: 10.67vw;
    height: 10.67vw;
    background: url("../img/common/ico-blank.svg") no-repeat right 1.34vw bottom 1.34vw / 30%, linear-gradient(to bottom right, rgba(255,255,255,0) 50%, #8a0e10 50.01%) no-repeat top left / 100% 100%;
  }

  ul.smallcard li a span { padding: 2.67vw 1.34vw 2.67vw 2.67vw;}
  
  ul.smallcard li a span em { margin-bottom: 2.67vw;}
  
  ul.smallcard li a span b {
    display: block;
    margin-top: 1.34vw;
    font-size: 1.2rem;
  }

  ul.smallcard li a:hover figure img {
    transform: scale(1) rotate(0);
    transition: none;
  }

  /* Cover Card */
  ul.covercard {
    justify-content: space-between;
    margin-bottom: -5.34vw;
  }

  ul.covercard li {
    width: calc(50% - 2.67vw);
    margin: 0 0 5.34vw;
  }

  ul.covercard li a { color: #fff;}

  ul.covercard li a p {
    position: absolute;
    padding: 2.67vw 1.34vw 2.67vw 2.67vw;
  }
  ul.covercard li a p::before { height: 5.34vw;}
}


/*-- List --*/
/* Dots */
ul.list_dots > li {
  position: relative;
  padding-left: 12px;
}
ul.list_dots > li:not(:last-child) { margin-bottom: 10px;}
ul.list_dots > li::before {
  position: absolute;
  top: calc(0.5em - 2px);
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #333;
  content: "";
}

/* Labels */
ul.list_labels > li {
  border-left: solid 5px #d71518;
  background: rgba(0, 0, 0, .05);
  margin-bottom: 1px;
  padding: 10px;
}

ul.list_labels.dropdown {
  align-items: flex-start;
  padding: 10px;
  background-color: rgba(255, 255, 255, .25);
}
ul.list_labels.dropdown::after {
  width: calc(33.33% - 15px);
  content: "";
}

ul.list_labels.dropdown > li {
  border-left-color: #8A0E09;
  background-color: rgba(0, 0, 0, .5);
  cursor: pointer;
}

ul.list_labels.dropdown > li.no_dropdown {
  pointer-events: none;
}
ul.list_labels.dropdown > li.no_dropdown em::after {
  display: none;
}

ul.list_labels.dropdown > li:hover,
ul.list_labels.dropdown > li.active {
  border-left-color: #d71518;
  background-color: rgba(0, 0, 0, .05);
}

ul.list_labels.dropdown > li em {
  display: block;
  position: relative;
  padding: 10px 0;
  color: #fff;
  font-weight: bold;
}
ul.list_labels.dropdown > li:hover em,
ul.list_labels.dropdown > li.active em { color: #333;}

ul.list_labels.dropdown > li em::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 10px;
  height: 10px;
  margin-top: -5px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  content:"";
}
ul.list_labels.dropdown > li:hover em:after { border-color: #333;}
ul.list_labels.dropdown > li.active em:after {
  margin: 0;
  border: none;
  border-top: 1px solid #333;
  border-left: 1px solid #333;
}

ul.list_labels.dropdown > li div { display: none;}

ul.list_labels.dropdown > li div p:not(:last-of-type) { margin-bottom: 5px;}

ul.list_labels.dropdown > li div p { word-break: break-all;}


@media (max-width: 768px) {
  /* Dots */
  ul.list_dots > li { padding-left: 3.2vw;}
  ul.list_dots > li:not(:last-child) { margin-bottom: 1.34vw;}
  ul.list_dots > li::before {
    top: 1.34vw;
    width: 1.6vw;
    height: 1.6vw;
  }
  
  /* Labels */
  ul.list_labels > li { padding: 2.67vw;}

  ul.list_labels.dropdown > li:hover {
    border-left-color: #8A0E09;
    background-color: rgba(0, 0, 0, .5);
  }

  ul.list_labels.dropdown > li:hover em { color: #fff;}

  ul.list_labels.dropdown > li em::after {
    width: 2.67vw;
    height: 2.67vw;
    margin-top: -1.34vw;
  }
  ul.list_labels.dropdown > li:hover em:after { border-color: #fff;}
  
  ul.list_labels.dropdown > li.active:hover {
    border-left-color: #d71518;
    background-color: rgba(0, 0, 0, .05);
  }
  ul.list_labels.dropdown > li.active:hover em { color: #333;}
  ul.list_labels.dropdown > li.active:hover em::after { border-color: #333;}
}
