@charset "UTF-8";

/* ===================================
	File Name   : module.css
	Description : Each selectors/parts CSS
	Editor      : Bface Saeki
	Last Editor : Bface Chiba
	
	Update Description :
	[2022/03/22] color、dominantクラス追加
	[2021/12/27] .tit_subhead span SP時のfont-size調整
  [2021/10/05] Links - cardlinkクラス追加
	[2021/04/19] taglinkクラス追加
	[2021/03/22] Boxs- color、Font（.indent）クラス追加
	[2021/02/04] 新規作成
====================================== */

/*========== Style Contents ==========

	1. Switch
  2. margin / padding
  3. Size
	4. Font
	5. Box Layout
	6. Title
    -	Title - category
    -	Title - head
    -	Title - subhead
    -	Title - strapline
    -	Title - options
	7. Parts Style
    -	Breadcrumbs
    -	Anchor
    -	PageTop
    -	Boxs
      -	Boxs - limit
      -	Boxs - color
      -	Boxs - emphasis
      -	Boxs - optfions
    -	Links
      -	Links - textlink
      -	Links - buttonlink
      -	Links - boxlink
      -	Links - taglink
      -	Links - cardlink
    -	Table
      -	Table - basic
      -	Table - general
    -	Card
      -	Card - basic
    -	List
      -	List - dots
      -	List - num
      -	List - notice
    -	Photo
      -	Photo - basic
	8. Each Styles
      -	Related Banners


====================================== */



/*===== 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 / padding =====*/
.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;}.mr30[class] { margin-right: 30px;}
.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;}

.pl0[class] { padding-left: 0;}.pl05[class] { padding-left: 5px;}.pl10[class] { padding-left: 10px;}.pl15[class] { padding-left: 15px;}.pl20[class] { padding-left: 20px;}.pl25[class] { padding-left: 25px;}
.pr05[class] { padding-right: 5px;}.pr10[class] { padding-right: 10px;}.pr15[class] { padding-right: 15px;}.pr20[class] { padding-right: 20px;}.pr25[class] { padding-right: 25px;}
.plr0[class] { padding: 0;}.plr05[class] { padding: 0 5px;}.plr10[class] { padding: 0 10px;}.plr15[class] { padding: 0 15px;}.plr20[class] { padding: 0 20px;}.plr25[class] { padding: 0 25px;}.plr30[class] { padding: 0 30px;}.plr40[class] { padding: 0 40px;}.plr50[class] { padding: 0 50px;}
.pt0[class] { padding-top: 0;}.pt05[class] { padding-top: 5px;}.pt10[class] { padding-top: 10px;}.pt15[class] { padding-top: 15px;}.pt20[class] { padding-top: 20px;}.pt25[class] { padding-top: 25px;}.pt30[class] { padding-top: 30px;}.pt40[class] { padding-top: 40px;}.pt50[class] { padding-top: 50px;}
.pb0[class] { padding-bottom: 0;}.pb05[class] { padding-bottom: 5px;}.pb10[class] { padding-bottom: 10px;}.pb15[class] { padding-bottom: 15px;}.pb20[class] { padding-bottom: 20px;}.pb25[class] { padding-bottom: 25px;}.pb30[class] { padding-bottom: 30px;}.pb40[class] { padding-bottom: 40px;}.pb50[class] { padding-bottom: 50px;}.pb60[class] { padding-bottom: 60px;}
.ptb0[class] { padding: 0;}.ptb10[class] { padding: 10px 0;}.ptb20[class] { padding: 20px 0;}.ptb30[class] { padding: 30px 0;}.ptb40[class] { padding: 40px 0;}.ptb50[class] { padding: 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-right: 0; margin-left: 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;}
  
	.pl0[class] { padding-left: 0;}.pl05[class] { padding-left: 1.34vw;}.pl10[class] { padding-left: 2.67vw;}.pl15[class] { padding-left: 4vw;}.pl20[class] { padding-left: 5.34vw;}.pr05[class] { padding-right: 1.34vw;}.pr10[class] { padding-right: 2.67vw;}.pr15[class] { padding-right: 4vw;}.pr20[class] { padding-right: 5.34vw;}.pr25[class] { padding-right: 6.67vw;}.plr0[class] { padding: 0;}.plr05[class] { padding: 0 1.34vw;}.plr10[class] { padding: 0 2.67vw;}.plr15[class] { padding: 0 4vw;}.plr20[class] { padding: 0 5.34vw;}.plr25[class] { padding: 0 6.67vw;}.plr30[class] { padding: 0 8vw;}.plr40[class] { padding: 0 10.67vw;}.plr50[class] { padding: 0 10.67vw;}
	.pt0[class] { padding-top: 0;}.pt05[class] { padding-top: 1.34vw;}.pt10[class] { padding-top: 2.67vw;}.pt15[class] { padding-top: 4vw;}.pt20[class] { padding-top: 5.34vw;}.pt25[class] { padding-top: 6.67vw;}.pt30[class] { padding-top: 8vw;}.pt40[class] { padding-top: 10.67vw;}.pt50[class] { padding-top: 10.67vw;}
	.pb0[class] { padding-bottom: 0;}.pb05[class] { padding-bottom: 1.34vw;}.pb10[class] { padding-bottom: 2.67vw;}.pb15[class] { padding-bottom: 4vw;}.pb20[class] { padding-bottom: 5.34vw;}.pb25[class] { padding-bottom: 6.67vw;}.pb30[class] { padding-bottom: 8vw;}.pb40[class] { padding-bottom: 10.67vw;}.pb50[class] { padding-bottom: 10.67vw;}.pb60[class] { padding-bottom: 10.67vw;}
	.ptb0[class] { padding: 0;}.ptb10[class] { padding: 2.67vw 0;}.ptb20[class] { padding: 5.34vw 0;}.ptb30[class] { padding: 8vw 0;}.ptb40[class] { padding: 10.67vw 0;}.ptb50[class] { padding: 10.67vw 0;}
	.pl0sp[class] { padding-left: 0;}.pl05sp[class] { padding-left: 1.34vw;}.pl10sp[class] { padding-left: 2.67vw;}.pl15sp[class] { padding-left: 4vw;}.pl20sp[class] { padding-left: 5.34vw;}.pl25sp[class] { padding-left: 6.67vw;}
	.pr0sp[class] { padding-right: 0;}.pr05sp[class] { padding-right: 1.34vw;}.pr10sp[class] { padding-right: 2.67vw;}.pr15sp[class] { padding-right: 4vw;}.pr20sp[class] { padding-right: 5.34vw;}.pr25sp[class] { padding-right: 6.67vw;}.plr0sp[class] { padding: 0;}.plr05sp[class] { padding: 0 1.34vw;}.plr10sp[class] { padding: 0 2.67vw;}.plr15sp[class] { padding: 0 4vw;}.plr20sp[class] { padding: 0 5.34vw;}.plr25sp[class] { padding: 0 6.67vw;}
	.pt0sp[class] { padding-top: 0;}.pt05sp[class] { padding-top: 1.34vw;}.pt10sp[class] { padding-top: 2.67vw;}.pt15sp[class] { padding-top: 4vw;}.pt20sp[class] { padding-top: 5.34vw;}.pt25sp[class] { padding-top: 6.67vw;}.pt30sp[class] { padding-top: 8vw;}.pt40sp[class] { padding-top: 10.67vw;}.pt50sp[class] { padding-top: 10.67vw;}
	.pb0sp[class] { padding-bottom: 0;}.pb05sp[class] { padding-bottom: 1.34vw;}.pb10sp[class] { padding-bottom: 2.67vw;}.pb15sp[class] { padding-bottom: 4vw;}.pb20sp[class] { padding-bottom: 5.34vw;}.pb25sp[class] { padding-bottom: 6.67vw;}.pb30sp[class] { padding-bottom: 8vw;}.pb40sp[class] { padding-bottom: 10.67vw;}.pb50sp[class] { padding-bottom: 10.67vw;}
	.ptb05sp[class] { padding: 1.34vw 0;}.ptb10sp[class] { padding: 2.67vw 0;}.ptb15sp[class] { padding: 4vw 0;}.ptb20sp[class] { padding: 5.34vw 0;}.ptb25sp[class] { padding: 6.67vw 0;}.ptb30sp[class] { padding: 8vw 0;}.ptb40sp[class] { padding: 10.67vw 0;}.ptb50sp[class] { padding: 10.67vw 0;}
}



/*===== 3. Size =====*/
.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%;}
[class^="flex"] > .w20-10[class] { width: calc(20% - 10px);}[class^="flex"] > .w20-20[class] { width: calc(20% - 20px);}[class^="flex"] > .w20-30[class] { width: calc(20% - 30px);}
[class^="flex"] > .w25-10[class] { width: calc(25% - 10px);}[class^="flex"] > .w25-20[class] { width: calc(25% - 20px);}[class^="flex"] > .w25-30[class] { width: calc(25% - 30px);}
[class^="flex"] > .w30-10[class] { width: calc(30% - 10px);}[class^="flex"] > .w30-20[class] { width: calc(30% - 20px);}[class^="flex"] > .w30-30[class] { width: calc(30% - 30px);}
[class^="flex"] > .w40-10[class] { width: calc(40% - 10px);}[class^="flex"] > .w40-20[class] { width: calc(40% - 20px);}[class^="flex"] > .w40-30[class] { width: calc(40% - 30px);}
[class^="flex"] > .w50-10[class] { width: calc(50% - 10px);}[class^="flex"] > .w50-20[class] { width: calc(50% - 20px);}[class^="flex"] > .w50-30[class] { width: calc(50% - 30px);}
[class^="flex"] > .w60-10[class] { width: calc(60% - 10px);}[class^="flex"] > .w60-20[class] { width: calc(60% - 20px);}[class^="flex"] > .w60-30[class] { width: calc(60% - 30px);}
[class^="flex"] > .w70-10[class] { width: calc(70% - 10px);}[class^="flex"] > .w70-20[class] { width: calc(70% - 20px);}[class^="flex"] > .w70-30[class] { width: calc(70% - 30px);}
[class^="flex"] > .w75-10[class] { width: calc(75% - 10px);}[class^="flex"] > .w75-20[class] { width: calc(75% - 20px);}[class^="flex"] > .w75-30[class] { width: calc(75% - 30px);}
[class^="flex"] > .w80-10[class] { width: calc(80% - 10px);}[class^="flex"] > .w80-20[class] { width: calc(80% - 20px);}[class^="flex"] > .w80-30[class] { width: calc(80% - 30px);}

.hauto { height: auto;}
.h100 { height: 100%;}


@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%;}
  [class^="flex"] > .w20-10[class] { width: calc(20% - 1.34vw);}[class^="flex"] > .w20-20[class] { width: calc(20% - 2.67vw);}[class^="flex"] > .w20-30[class] { width: calc(20% - 2.67vw);}
  [class^="flex"] > .w25-10[class] { width: calc(25% - 1.34vw);}[class^="flex"] > .w25-20[class] { width: calc(25% - 2.67vw);}[class^="flex"] > .w25-30[class] { width: calc(25% - 2.67vw);}
  [class^="flex"] > .w30-10[class] { width: calc(30% - 1.34vw);}[class^="flex"] > .w30-20[class] { width: calc(30% - 2.67vw);}[class^="flex"] > .w30-30[class] { width: calc(30% - 2.67vw);}
  [class^="flex"] > .w40-10[class] { width: calc(40% - 1.34vw);}[class^="flex"] > .w40-20[class] { width: calc(40% - 2.67vw);}[class^="flex"] > .w40-30[class] { width: calc(40% - 2.67vw);}
  [class^="flex"] > .w50-10[class] { width: calc(50% - 1.34vw);}[class^="flex"] > .w50-20[class] { width: calc(50% - 2.67vw);}[class^="flex"] > .w50-30[class] { width: calc(50% - 2.67vw);}
  [class^="flex"] > .w60-10[class] { width: calc(60% - 1.34vw);}[class^="flex"] > .w60-20[class] { width: calc(60% - 2.67vw);}[class^="flex"] > .w60-30[class] { width: calc(60% - 2.67vw);}
  [class^="flex"] > .w70-10[class] { width: calc(70% - 1.34vw);}[class^="flex"] > .w70-20[class] { width: calc(70% - 2.67vw);}[class^="flex"] > .w70-30[class] { width: calc(70% - 2.67vw);}
  [class^="flex"] > .w75-10[class] { width: calc(75% - 1.34vw);}[class^="flex"] > .w75-20[class] { width: calc(75% - 2.67vw);}[class^="flex"] > .w75-30[class] { width: calc(75% - 30px);}
  [class^="flex"] > .w80-10[class] { width: calc(80% - 1.34vw);}[class^="flex"] > .w80-20[class] { width: calc(80% - 2.67vw);}[class^="flex"] > .w80-30[class] { width: calc(80% - 2.67vw);}
  
  [class^="flex"] > .w20-10sp[class] { width: calc(20% - 1.34vw);}[class^="flex"] > .w20-20sp[class] { width: calc(20% - 2.67vw);}[class^="flex"] > .w20-30sp[class] { width: calc(20% - 2.67vw);}
  [class^="flex"] > .w25-10sp[class] { width: calc(25% - 1.34vw);}[class^="flex"] > .w25-20sp[class] { width: calc(25% - 2.67vw);}[class^="flex"] > .w25-30sp[class] { width: calc(25% - 2.67vw);}
  [class^="flex"] > .w30-10sp[class] { width: calc(30% - 1.34vw);}[class^="flex"] > .w30-20sp[class] { width: calc(30% - 2.67vw);}[class^="flex"] > .w30-30sp[class] { width: calc(30% - 2.67vw);}
  [class^="flex"] > .w40-10sp[class] { width: calc(40% - 1.34vw);}[class^="flex"] > .w40-20sp[class] { width: calc(40% - 2.67vw);}[class^="flex"] > .w40-30sp[class] { width: calc(40% - 2.67vw);}
  [class^="flex"] > .w50-10sp[class] { width: calc(50% - 1.34vw);}[class^="flex"] > .w50-20sp[class] { width: calc(50% - 2.67vw);}[class^="flex"] > .w50-30sp[class] { width: calc(50% - 2.67vw);}
  [class^="flex"] > .w60-10sp[class] { width: calc(60% - 1.34vw);}[class^="flex"] > .w60-20sp[class] { width: calc(60% - 2.67vw);}[class^="flex"] > .w60-30sp[class] { width: calc(60% - 2.67vw);}
  [class^="flex"] > .w70-10sp[class] { width: calc(70% - 1.34vw);}[class^="flex"] > .w70-20sp[class] { width: calc(70% - 2.67vw);}[class^="flex"] > .w70-30sp[class] { width: calc(70% - 2.67vw);}
  [class^="flex"] > .w75-10sp[class] { width: calc(75% - 1.34vw);}[class^="flex"] > .w75-20sp[class] { width: calc(75% - 2.67vw);}[class^="flex"] > .w75-30sp[class] { width: calc(75% - 30px);}
  [class^="flex"] > .w80-10sp[class] { width: calc(80% - 1.34vw);}[class^="flex"] > .w80-20sp[class] { width: calc(80% - 2.67vw);}[class^="flex"] > .w80-30sp[class] { width: calc(80% - 2.67vw);}
  
  .hautosp[class] { height: auto;}
  .h100sp[class] { height: 100%;}
}



/*===== 4. Font Style =====*/
.noto { font-family: 'Noto Sans JP', sans-serif;}
.merr { font-family: 'Merriweather Sans', sans-serif;}

.red[class] { color: #c00;}.white[class] { color: #fff;}.black[class] { color: #333;}.dominant[class] { color: #e6316e;}

.midbol[class] { font-weight: 500;}.bol[class] { font-weight: 700;}

.fs12[class] { font-size: 1.2rem;}.fs14[class] { font-size: 1.4rem;}.fs16[class] { font-size: 1.6rem;}.fs18[class] { font-size: 1.8rem;}
.fs20[class] { font-size: 2.0rem;}.fs22[class] { font-size: 2.2rem;}.fs24[class] { font-size: 2.4rem;}.fs26[class] { font-size: 2.6rem;}.fs28[class] { font-size: 2.8rem;}.fs30[class] { font-size: 3.0rem;}.fs32[class] { font-size: 3.2rem;}.fs34[class] { font-size: 3.4rem;}.fs36[class] { font-size: 3.6rem;}

.line1-2[class] { line-height: 1.2;}.line1-4[class] { line-height: 1.4;}.line1-6[class] { line-height: 1.6;}.line1-8[class] { line-height: 1.8;}

.left[class] { text-align: left;}.center[class] { text-align: center;}.right[class] { text-align: right;}

.wrap[class] { white-space: normal;}.nowrap[class] { white-space: nowrap;}

.indent {
  padding-left: 1.5rem;
  text-indent: -1.5rem;
}


@media (max-width: 768px) {
	.fs12sp[class] { font-size: 1.2rem;}.fs14sp[class] { font-size: 1.4rem;}.fs16sp[class] { font-size: 1.6rem;}.fs18sp[class] { font-size: 1.8rem;}.fs20sp[class] { font-size: 2.0rem;}.fs20sp[class] { font-size: 2.0rem;}.fs22sp[class] { font-size: 2.2rem;}.fs24sp[class] { font-size: 2.4rem;}.fs26sp[class] { font-size: 2.6rem;}.fs28sp[class] { font-size: 2.8rem;}.fs30sp[class] { font-size: 3.0rem;}.fs32sp[class] { font-size: 3.2rem;}.fs34sp[class] { font-size: 3.4rem;}.fs36sp[class] { font-size: 3.6rem;}
  
  .line1-2sp[class] { line-height: 1.2;}.line1-4sp[class] { line-height: 1.4;}.line1-6sp[class] { line-height: 1.6;}.line1-8sp[class] { line-height: 1.8;}
	
	.left[class],.center[class],.right[class] { text-align: left;}
	
	.leftsp[class] { text-align: left;}.centersp[class] { text-align: center;}.rightsp[class] { text-align: right;}
  
  .wrapsp[class] { white-space: normal;}.nowrapsp[class] { white-space: nowrap;}
}



/*===== 5. Box Layout =====*/
.flex[class] {
  display: flex;
}
.flexrow[class] { flex-direction: row;}
.flexcolumn[class] { flex-direction: column;}
.flexwrap[class] { flex-wrap: wrap;}
.flexstart[class] { justify-content: flex-start;}
.flexend[class] { justify-content: flex-end;}
.flexcenter[class] { justify-content: center;}
.flexbetween[class] { justify-content: space-between;}
.flextop[class] { align-items: flex-start;}
.flexmiddle[class] { align-items: center;}
.flexbottom[class] { align-items: flex-end;}

.flexorder1[class] { order: 1;}
.flexorder2[class] { order: 2;}
.flexorder3[class] { order: 3;}
.flexorder4[class] { order: 4;}
.flexorder5[class] { order: 5;}

.flexsize1 { flex: 1;}
.flexsize2 { flex: 2;}
.flexsize3 { flex: 3;}
.flexsize4 { flex: 4;}

.flex2,
.flex3,
.flex4,
.flex5 {
	display: flex;
	justify-content: space-between;
}

.flex2 > * { width: calc(50% - 20px);}
.flex3 > * { width: calc(33.33% - 20px);}
.flex4 > * { width: calc(25% - 20px);}
.flex5 > * { width: calc(20% - 10px);}

[class^="flex"] > * > img { width: 100%;}


@media (max-width: 768px) {
  .flexrowsp[class] { flex-direction: row;}
  .flexcolumnsp[class] { flex-direction: column;}
  .flexwrapsp[class] { flex-wrap: wrap;}
  .flexstartsp[class] { justify-content: flex-start;}
  .flexendsp[class] { justify-content: flex-end;}
  .flexcentersp[class] { justify-content: center;}
  .flexbetweensp[class] { justify-content: space-between;}
  .flextopsp[class] { align-items: flex-start;}
  .flexmiddlesp[class] { align-items: center;}
  .flexbottomsp[class] { align-items: flex-end;}
  
  .flexorder1sp[class] { order: 1;}
  .flexorder2sp[class] { order: 2;}
  .flexorder3sp[class] { order: 3;}
  .flexorder4sp[class] { order: 4;}
  .flexorder5sp[class] { order: 5;}
  
  .flexsize1sp[class] { flex: 1;}
  .flexsize2sp[class] { flex: 2;}
  .flexsize3sp[class] { flex: 3;}
  .flexsize4sp[class] { flex: 4;}
  
	.flex2,.flex3,.flex4,.flex5 { flex-wrap: wrap;}
  
	.flex2 > *,
	.flex3 > *,
	.flex4 > *,
	.flex5 > * { width: calc(50% - 2.68vw); margin-left: 1.34vw; margin-right: 1.34vw; margin-bottom: 2.67vw;}
  
  [class*="flex"].single[class] { flex-wrap: wrap;}
  
  [class*="flex"].single[class] > * {
    flex:none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  
  table [class*="flex"].single[class] > * { flex: none;}
}



/*===== 6. Title Setting =====*/
/* Title - category */
#tit_cat {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto 30px;
  font-family: 'Noto Sans JP', sans-serif;
  text-align: center;
}

#tit_cat span {
  display: block;
  min-width: 120px;
  margin-bottom: 10px;
  padding: 0 10px 10px;
  border-bottom: 5px solid #000;
  font-size: 2.0rem;
  font-family: 'Merriweather Sans', sans-serif;
}


/* Title - head */
.tit_head {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 30px;
  font-weight: bold;
  font-size: 4.0rem;
  font-family: 'Merriweather Sans', 'Noto Sans JP', sans-serif;
  text-align: center;
  line-height: 1.2;
}
.tit_head::before,
.tit_head::after {
  width: 25px;
  min-height: 120px;
  border-top: 2px solid #333;
  border-bottom: 2px solid #333;
  content: "";
}
.tit_head::before { margin-right: 30px; border-left: 2px solid #333;}
.tit_head::after { margin-left: 30px; border-right: 2px solid #333;}

.tit_head span {
  display: block;
  font-size: 4.6rem;
}


/* Title - subhead */
.tit_subhead {
  position: relative;
  margin-bottom: 10px;
  font-weight: bold;
  text-align: center;
}

.tit_subhead em {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 100%;
  height: 100%;
  font-size: 4.0rem;
  text-shadow: -2px -2px 1px #fff, 2px 2px 1px #fff, -.5rem -.5rem .5rem #fff, .5rem .5rem .5rem #fff;
}

.tit_subhead span {
  color: rgba(235,235,235,.5);
  font-family: 'Merriweather Sans', sans-serif;
  font-size: 12rem;
  line-height: .8;
}


/* Title - fill */
.tit_fill {
  margin-bottom: 20px;
  padding: 1rem;
  background: #0080CC;
  color: #fff;
  font-weight: bold;
  font-size: 2.4rem;
  text-align: center;
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing: .1rem;
}


/* Title - strapline */
.tit_strapline {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: 20px;
  font-size: 2.0rem;
  font-family: 'Noto Sans JP', sans-serif;
}
.tit_strapline::before,
.tit_strapline::after {
  width: 40px;
  height: 1px;
  margin: 0 20px;
  background: #333;
  content: "";
}


/* Title - options */
.tit_options {
  margin-bottom: 10px;
  color: #999;
  font-size: 1.4rem;
  font-family: 'Noto Sans JP', sans-serif;
}

.tit_options span {
  margin-right: 10px;
  font-size: 1.8rem;
  font-family: 'Merriweather Sans', sans-serif;
}


@media (max-width: 768px) {
  /* Title - category */
  #tit_cat {
    margin: 0 auto 5.34vw;
    font-size: 1.4rem;
  }

  #tit_cat span {
    margin-bottom: 2.67vw;
    padding: 0 1.34vw 2.67vw;
    font-size: 1.6rem;
  }


  /* Title - head */
  .tit_head {
    align-items: stretch;
    justify-content: space-between;
    margin-bottom: 5.34vw;
    font-size: 2.6rem;
    line-height: 1.4;
  }
  .tit_head::before,
  .tit_head::after {
    width: 2.67vw;
    min-height: auto;
  }
  .tit_head::before { margin-right: 5.34vw;}
  .tit_head::after { margin-left: 5.34vw;}

  .tit_head h1 { padding: 4vw 0;}

  .tit_head span { font-size: 2.8rem;}
  
    
  /* Title - subhead */
  .tit_subhead { margin-bottom: 4vw;}

  .tit_subhead em { font-size: 2.4rem;}

  .tit_subhead span { font-size: 5.0rem;}
  
  
  /* Title - fill */
  .tit_fill {
    margin-bottom: 5.34vw;
    font-size: 1.9rem;
  }


  /* Title - strapline */
  .tit_strapline {
    margin-bottom: 4vw;
    font-size: 1.8rem;
  }
  
  /* Title - options */
  
  
}



/*===== 7. Parts Style =====*/
/* Breadcrumbs */
#breadcrumbs {
  margin: 0 10px;
  padding: 10px;
  background: rgba(0,0,0,.25);
}
#breadcrumbs ol {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

#breadcrumbs li {
  display: flex;
  align-items: center;
  margin-right: 10px;
  color: #666;
/*  font-size: 1.4rem;*/
  font-family: 'Noto Sans JP', sans-serif;
}
#breadcrumbs li:last-child { color: #333;}

#breadcrumbs li:after {
	width: 6px;
	height: 6px;
	margin-left: 10px;
	border-top: 1px solid #8B968D;
	border-right: 1px solid #8B968D;
	transform: rotate(45deg);
	content:'';
}
#breadcrumbs li:last-child:after { display: none;}

#breadcrumbs li a { color: #666;}
#breadcrumbs li a:hover { color: #999;}


@media (max-width: 768px) {
  #breadcrumbs {
    overflow-x: auto;
    margin: 0;
    padding: 2.67vw;
    white-space: nowrap;
  }
  #breadcrumbs * { font-size: 1.2rem;}
  
  #breadcrumbs li { margin-right: 2.67vw;}

  #breadcrumbs li:after {
    width: 1.34vw;
    height: 1.34vw;
    margin-left: 2.68vw;
    border-width: .67vw;
  }
  #breadcrumbs li:last-child { padding-right: 2.67vw;}
}


/*-- Anchor --*/
/* 固定ヘッダー対策：アンカー位置調整 */
.anchor_fix {
  position: relative;
  scroll-margin-top: 150px;
}

.anchor_fix::before {
  content: "";
  display: block;
  height: 150px;
  margin-top: -150px;
}

#anchor {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 50px;
}
#anchor li {
  min-width: 240px;
  margin: 0 10px 10px;
}
#anchor li a {
	display: flex;
	flex-direction: column;
	justify-content: center;
  position: relative;
  padding: 1rem .5rem;
  background-color: #333;
  color: #fff;
  font-size: 1.4rem;
  text-align: center;
  transition: background-color .3s;
}
#anchor li a:has(span) { padding: .5rem 2.5rem;}
#anchor li a::after {
  position: absolute;
  right: 1rem;
  top: 50%;
  display: inline-block;
  background-color: currentColor;
  width: 1.2rem;
  height: .6rem;
  margin-left: auto;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
  transform: translateY(-45%);
  transition: transform .3s;
  content: "";
}
#anchor li a span {
	display: block;
	margin-top: .25rem;
	font-size: 1.2rem;
}

@media(hover:hover) {
  #anchor li a:hover {
    background-color: #666;
  }
  #anchor li a:hover::after {
    transform: translateY(-15%);
  }
}

@media (max-width: 768px) {
  #anchor {
    justify-content: space-between;
    margin-bottom: 8vw;
  }

  #anchor li {
    width: calc(50% - 1.34vw);
    min-width: auto;
    margin: 0 0 1.34vw;
    text-align: center;
  }
  
  #anchor li a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    font-size: 1.2rem;
  }
  
  #anchor li a:hover { background: #333;}
}


/*-- PageTop --*/
/*#pagetop {}*/


@media (max-width: 768px) {

}


/*-- Boxs --*/
/* Boxs - limit */
.box_wrapper {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 10px;
}


/* Boxs - emphasis */
.box_emphasis {
  position: relative;
  margin: 0 10px;
  padding: 50px 40px;
  border: 50px solid #ebebeb;
  background: #fff;
}

.box_emphasis > i {
  position: absolute;
  top: 0;
  left: 0;
  color: rgba(204,204,204,.9);
  font-size: 80px;
  font-weight: 700;
  font-family: 'Merriweather Sans', sans-serif;
  line-height: .8;
  transform: translateY(-50%);
}


/* Boxs - color */
.box_white[class] { background: #fff;}
.box_block[class] { background: #333;}
.box_lightgray[class] { background: #ebebeb;}
.box_darkgray[class] { background: #646d7c;}
.box_red[class] { background: #c00;}
.box_dominant[class] { background: #0080cc;}


/* Boxs - options */
.box_options {
  margin: 0 10px;
  padding: 10px 10px 30px;
}
.box_wrapper .box_options { margin: 0;}


@media (max-width: 768px) {
  /* Boxs - limit */
  .box_wrapper { padding: 0 2.67vw;}
  main .box_wrapper { padding: 0;}

  
  /* Boxs - emphasis */
  .box_emphasis {
    margin: 0;
    padding: 5.34vw 2.67vw 2.67vw;
    border: 4vw solid #ebebeb;
  }
  
  .box_emphasis > i { font-size: 3.0rem;}
  
  
  /* Boxs - options */
  .box_options {
    margin: 0;
    padding: 1.34vw 2.67vw 2.67vw;
  }
}


@media (min-width: 1536px){ 
  /* Boxs - limit */
  .box_wrapper {
    max-width: none;
    margin: 0 10px;
    padding: 0;
  }
  
  #footer_sitemap .box_wrapper { padding: 0 5rem;}
}


/*-- Links --*/
/* Links - textlink */
a.textlink {
  position: relative;
  padding-right: 25px;
}
a.textlink::before,
a.textlink::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  vertical-align: middle;
  content: "";
}
a.textlink::before {
  width: 19px;
  height: 19px;
  border: 1px solid currentColor;
  border-radius: 50%;
}
a.textlink::after {
  width: 6px;
  height: 6px;
  right: 9px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
}


/* Links - buttonlink */
a.buttonlink {
  display: block;
  max-width: 640px;
  margin: 0 auto;
  padding: 0 0 4px;
}

a.buttonlink span {
  display: flex;
  justify-content: center;
  position: relative;
  padding: .5em 1em;
  box-shadow: 0 4px 0 #134269;
  border-radius: 5px;
  background: linear-gradient(to bottom, #2172b3 0%, #2172b3 50%, #114d7e 50.1%, #114d7e 100%) no-repeat left top;
  color: #fff;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
  text-shadow: 0 2px 1px rgba(0, 0, 0, .15);
  white-space: nowrap;
  transition: .25s;
}
a.buttonlink:hover span {
  margin: 4px 0 -4px;
  box-shadow: none;
  background: linear-gradient(to bottom, #2172b3 0%, #2172b3 50%, #2172b3 50.1%, #2172b3 100%) no-repeat left top;
}

a.buttonlink.pink span {
  box-shadow: 0 4px 0 #821d3e;
  background: linear-gradient(to bottom, #e7336e 0%, #e7336e 50%, #cf2d63 50.1%, #cf2d63 100%) no-repeat left top;
}
a.buttonlink.pink:hover span {
  background: linear-gradient(to bottom, #cf2d63 0%, #cf2d63 50%, #cf2d63 50.1%, #cf2d63 100%) no-repeat left top;
}

/* Links - boxlink */
a.boxlink {
  display: flex;
  position: relative;
  margin: 0 auto;
  padding: 5px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, .5), 0 1px 1px 1px rgba(0, 0, 0, 0.15);
  background: linear-gradient(135deg, #0080CC 0%, #114d7e 50%, #0080CC 100%) no-repeat left top / 200% auto;
  color: #fff;
  font-size: 2.0rem;
  text-align: center;
  text-shadow: 0 2px 1px rgba(0, 0, 0, .15);
  transition: .5s;
}
a.boxlink.limit { max-width: 640px;}

a.boxlink::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top left, transparent 50%, rgba(255,255,255,.05) 50.01%) no-repeat top left / 100% 100%;
  content: "";
}

a.boxlink::after {
	position: absolute;
	top: 50%;
	right: 20px;
  width: 12px;
  height: 12px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
	transition: right .5s;
	filter: drop-shadow(0 2px 1px rgba(0, 0, 0, .15));
  content: "";
}

a.boxlink:hover {
  box-shadow: 0 2px 4px rgba(0, 0, 0, .25), 0 1px 1px 1px rgba(0, 0, 0, 0.15);
  background-position: right center;
  color: #ff0;
}
a.boxlink:hover::after { right: 15px;}

a.boxlink span {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
  min-height: 7rem;
  padding: 1rem 25px;
  border: 1px solid rgba(255,255,255,.65);
}

a.boxlink [class^="ico_"]::before {
  color: currentColor;
  font-size: inherit;
}

/* linkgray */
a.boxlink.linkgray { background: linear-gradient(135deg, #828a95 0%, #646d7c 50%, #828a95 100%) no-repeat left top / 200% auto;}
a.boxlink.linkgray:hover { background-position: right center;}


/* Links - taglink */
ul.taglink {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -20px;
}

ul.taglink li { margin: 0 20px 10px 0;}

ul.taglink a {
  overflow: hidden;
  position: relative;
  padding: 1.5rem 2.5rem;
  box-shadow: .25rem .25rem .5rem rgba(0,0,0,.4);
  border-left: 5px solid hsl(340,78%,53%);
  background: rgba(231,50,109,.2);
  font-weight: bold;
  font-size: 1.8rem;
  text-shadow: 1px 1px 2px #fff;
  transition: .25s;
}
ul.taglink a:hover {
  box-shadow: .1rem .1rem .5rem rgba(0,0,0,.2);
  border-color: hsl(340,88%,43%);
  background: rgba(231,50,109,.3);
}

ul.taglink a::before,
ul.taglink a::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  transition: .25s;
}

ul.taglink a::after { background: linear-gradient(90deg, rgba(0,0,0,.1) 1.5rem, rgba(0,0,0,0) 2.0rem);}
ul.taglink a:hover::after { opacity: 0;}

ul.taglink a::before { background: rgb(255,255,255); z-index: -1;}
ul.taglink a:hover::before { background: rgb(245,245,245)}

/* Each Color */
ul.taglink .tag_homeshow a { border-color: hsla(212,94%,33%,1); background-color: hsla(212,94%,33%,.2); color: hsla(212,94%,33%,1);}
ul.taglink .tag_homeshow a:hover { border-color: hsla(212,100%,23%,1); background-color: hsla(212,100%,23%,.3); color: hsla(212,100%,23%,1);}
ul.taglink .tag_furusato a { border-color: hsla(356,80%,45%,1); background-color: hsla(356,80%,45%,.2); color: hsla(356,80%,45%,1);}
ul.taglink .tag_furusato a:hover { border-color: hsla(356,90%,35%,1); background-color: hsla(356,90%,35%,.3); color: hsla(356,90%,35%,1);}
ul.taglink .tag_tenpo a { border-color: hsla(289,46%,38%,1); background-color: hsla(289,46%,38%,.2); color: hsla(289,46%,38%,1);}
ul.taglink .tag_tenpo a:hover { border-color: hsla(289,56%,28%,1); background-color: hsla(289,56%,28%,.3); color: hsla(289,56%,28%,1);}
ul.taglink .tag_toilet a { border-color: hsla(203,82%,43%,1); background-color: hsla(203,82%,43%,.2); color: hsla(203,82%,43%,1);}
ul.taglink .tag_toilet a:hover { border-color: hsla(203,92%,33%,1); background-color: hsla(203,92%,33%,.3); color: hsla(203,92%,33%,1);}
ul.taglink .tag_danchi a { border-color: hsla(30,75%,50%,1); background-color: hsla(30,75%,50%,.2); color: hsla(30,75%,50%,1);}
ul.taglink .tag_danchi a:hover { border-color: hsla(30,85%,40%,1); background-color: hsla(30,85%,40%,.3); color: hsla(30,85%,40%,1);}
ul.taglink .tag_innovation a { border-color: hsla(336,87%,47%,1); background-color: hsla(336,87%,47%,.2); color: hsla(336,87%,47%,1);}
ul.taglink .tag_innovation a:hover { border-color: hsla(336,97%,37%,1); background-color: hsla(336,97%,37%,.3); color: hsla(336,97%,37%,1);}
ul.taglink .tag_industry a { border-color: hsla(10,79%,57%,1); background-color: hsla(10,79%,57%,.2); color: hsla(10,79%,57%,1);}
ul.taglink .tag_industry a:hover { border-color: hsla(10,89%,47%,1); background-color: hsla(10,89%,47%,.3); color: hsla(10,89%,47%,1);}
ul.taglink .tag_virus a { border-color: hsla(221,46%,53%,1); background-color: hsla(221,46%,53%,.2); color: hsla(221,46%,53%,1);}
ul.taglink .tag_virus a:hover { border-color: hsla(221,56%,43%,1); background-color: hsla(221,56%,43%,.3); color: hsla(221,56%,43%,1);}
ul.taglink .tag_wood a { border-color: hsla(46,75%,50%,1); background-color: hsla(46,75%,50%,.2); color: hsla(46,75%,50%,1);}
ul.taglink .tag_wood a:hover { border-color: hsla(46,85%,40%,1); background-color: hsla(46,85%,40%,.3); color: hsla(46,85%,40%,1);}
ul.taglink .tag_sound a { border-color: hsla(125,35%,50%,1); background-color: hsla(125,35%,50%,.2); color: hsla(125,35%,50%,1);}
ul.taglink .tag_sound a:hover { border-color: hsla(125,45%,40%,1); background-color: hsla(125,45%,40%,.3); color: hsla(125,45%,40%,1);}
ul.taglink .tag_insulation a { border-color: hsla(33,90%,50%,1); background-color: hsla(33,90%,60%,.2); color: hsla(33,90%,60%,1);}
ul.taglink .tag_insulation a:hover { border-color: hsla(33,100%,50%,1); background-color: hsla(33,100%,50%,.3); color: hsla(33,100%,50%,1);}
ul.taglink .tag_carbon a { border-color: hsla(98,48%,49%,1); background-color: hsla(98,48%,59%,.2); color: hsla(98,48%,59%,1);}
ul.taglink .tag_carbon a:hover { border-color: hsla(98,48%,49%,1); background-color: hsla(98,48%,49%,.3); color: hsla(98,48%,49%,1);}
ul.taglink .tag_dismantling a { border-color: hsla(210,100%,32%,1); background-color: hsla(210,100%,32%,.2); color: hsla(210,100%,32%,1);}
ul.taglink .tag_dismantling a:hover { border-color: hsla(210,100%,32%,1); background-color: hsla(210,100%,32%,.3); color: hsla(210,100%,32%,1);}
ul.taglink .tag_renovation a { border-color: hsla(182,100%,26%,1); background-color: hsla(182,100%,26%,.2); color: hsla(182,100%,26%,1);}
ul.taglink .tag_renovation a:hover { border-color: hsla(182,100%,26%,1); background-color: hsla(1182,100%,26%,.3); color: hsla(182,100%,26%,1);}

/* Links - cardlink */
.cardlink{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.cardlink li{
  background: #fff;
  box-shadow: 2px 2px 5px rgba(0,0,0,.25);
  width: calc(25% - 15px);
  margin-bottom: 20px;
}



.cardlink:after {
  content: "";
  display: block;
  width: calc(25% - 15px)
}

.cardlink a{
  padding: 1px!important;
  position: relative;
  width: 100%;
  height: 100%;
}

.cardlink .card_homeshow a{border-top: #054ea3 3px solid;}
.cardlink .card_furusato a{border-top: #ce1623 3px solid;}
.cardlink .card_tenpo a{border-top: #7d348d 3px solid;}
.cardlink .card_toilet a{border-top: #1382c7 3px solid;}
.cardlink .card_danchi a{border-top: #df7f1f 3px solid;}
.cardlink .card_industry a{border-top: #e7573a 3px solid;}
.cardlink .card_innovation a{border-top: #e00f62 3px solid;}
.cardlink .card_dismantling a{border-top: #0050a2 3px solid;}
.cardlink .card_renovation a{border-top: #008085 3px solid;}
.cardlink .card_fi a{border-top: #ee9724 3px solid;}

.cardlink a:hover {
  box-shadow: 4px 4px 10px rgba(0,0,0,.25);
  background: #f1f1f1;
}

.cardlink a > div {
  padding: 5px;
}

.cardlink .card_homeshow a > div{background: linear-gradient(to top left, rgba(6, 78, 163, 0.15) 50%, transparent 50.1%) no-repeat top left;}
.cardlink .card_furusato a > div{background: linear-gradient(to top left, rgba(206, 11, 35, 0.15) 50%, transparent 50.1%) no-repeat top left;}
.cardlink .card_tenpo a > div{background: linear-gradient(to top left, rgba(125, 52, 114, 0.15) 50%, transparent 50.1%) no-repeat top left;}
.cardlink .card_toilet a > div{background: linear-gradient(to top left, rgba(19, 38, 199, 0.15) 50%, transparent 50.1%) no-repeat top left;}
.cardlink .card_danchi a > div{background: linear-gradient(to top left, rgba(223, 127, 31, 0.15) 50%, transparent 50.1%) no-repeat top left;}
.cardlink .card_industry a > div{background: linear-gradient(to top left, rgba(231, 87, 58, 0.15) 50%, transparent 50.1%) no-repeat top left;}
.cardlink .card_innovation a > div{background: linear-gradient(to top left, rgba(224, 15, 98, 0.15) 50%, transparent 50.1%) no-repeat top left;}
.cardlink .card_dismantling a > div{background: linear-gradient(to top left, rgba(0, 80, 162, 0.15) 50%, transparent 50.1%) no-repeat top left;}
.cardlink .card_renovation a > div{background: linear-gradient(to top left, rgba(0, 128, 133, 0.15) 50%, transparent 50.1%) no-repeat top left;}
.cardlink .card_fi a > div{background: linear-gradient(to top left, rgba(238, 151, 36, 0.15) 50%, transparent 50.1%) no-repeat top left;}

.cardlink h3{
  display: flex;
  align-items: center;
  height: 40px;
  padding: 0 0 5px;
}

.cardlink h3 img {width: 100%;}
.cardlink .card_homeshow h3 img {width: 85%;}
.cardlink .card_furusato h3 img {width: 95%;}
.cardlink .card_industry h3 img{width: 60%;} 
.cardlink .card_solar h3 img{width: 75%;} 
.cardlink .card_dismantling h3 img{width: 50%;} 
.cardlink .card_renovation h3 img{width: 50%;} 
.cardlink .card_fi h3 img{width: 80%;} 

.cardlink figure img {width: 100%;}

@media (max-width: 768px) {
  /* Links - textlink */
  a.textlink { padding-right: 6.68vw;}
  a.textlink::before {
    width: 5.34vw;
    height: 5.34vw;
  }
  a.textlink::after {
    width: 1.6vw;
    height: 1.6vw;
    right: 2.67vw;
  }
  

  /* Links - buttonlink */
  a.buttonlink span {
    background: linear-gradient(to bottom, #2172b3 0%, #2172b3 50%, #114d7e 50.1%, #114d7e 100%) no-repeat left top;
    line-height: 1.4;
    transition: none;
  }
  a.buttonlink:hover span {
    margin: 0;
    box-shadow: 0 4px 0 #072034;
    background: linear-gradient(to bottom, #2172b3 0%, #2172b3 50%, #114d7e 50.1%, #114d7e 100%) no-repeat left top;
  }

  a.buttonlink.pink span {
    background: linear-gradient(to bottom, #e7336e 0%, #e7336e 50%, #cf2d63 50.1%, #cf2d63 100%) no-repeat left top;
  }
  a.buttonlink.pink:hover span {
    box-shadow: 0 4px 0 #821d3e;
    background: linear-gradient(to bottom, #e7336e 0%, #e7336e 50%, #cf2d63 50.1%, #cf2d63 100%) no-repeat left top;
  }

  
  /* Links - boxlink */
  a.boxlink {
    padding: 1.34vw;
    box-shadow: 0 2px 4px rgba(0,0,0,25%), 0 1px 1px 1px rgba(0,0,0,15%);
    font-size: 1.8rem;
    transition: none;
  }

  a.boxlink::after {
    right: 4vw;
    width: 2.67vw;
    height: 2.67vw;
    transition: none;
  }

  a.boxlink:hover {
    background-position: inherit;
    color: #fff;
  }
  a.boxlink:hover::after { right: 4vw;}

  a.boxlink span {
    min-height: 6rem;
    padding: 1rem 5.34vw 1rem 2.66vw
  }
  
  /* linkgray */
  a.boxlink.linkgray:hover { background-position: inherit;}
  
  
  /* Links - taglink */
  ul.taglink { margin-bottom: -2.67vw;}

  ul.taglink li { margin: 0 2.67vw 2.67vw 0;}

  ul.taglink:not([id])[class] a {
    padding: 1rem 2rem;
    font-size: 1.5rem;
  }
  
  ul.taglink a { box-shadow: 0 2px 4px rgba(0,0,0,.15), 0 1px 1px 1px rgba(0,0,0,.1) !important;}
  
  ul.taglink a:hover {
    border-left: 5px solid hsl(340,78%,53%);
    background: rgba(231,50,109,.2);
    color: #2172b3;
  }
  ul.taglink a:hover::before { background: rgb(255,255,255);}
  ul.taglink a:hover::after { opacity: 1;}
  
  
   /* Links - cardlink */
  .cardlink li{
    width: calc(50% - 2.68vw);
    margin-left: 1.34vw;
    margin-right: 1.34vw;
    box-shadow: 0.35vw 0.35vw 1.33vw rgba(0,0,0,.25);
  }

  .cardlink a{padding: 0 0.26vw 0.26vw!important;}
  .cardlink .card_homeshow a{border-top: #054ea3 0.8vw solid;}
  .cardlink .card_furusato a{border-top: #ce1623 0.8vw solid;}
  .cardlink .card_tenpo a{border-top: #7d348d 0.8vw solid;}
  .cardlink .card_toilet a{border-top: #1382c7 0.8vw solid;}
  .cardlink .card_danchi a{border-top: #df7f1f 0.8vw solid;}
  .cardlink .card_industry a{border-top: #e7573a 0.8vw solid;}
  .cardlink .card_innovation a{border-top: #e00f62 0.8vw solid;}
  .cardlink .card_competition a{border-top: #52c3f1 0.8vw solid;}

  
  .cardlink a:hover {box-shadow: 1.06vw 1.06vw 2.66vw rgba(0 0 0 / 25%);}
  
  .cardlink a > div {padding: 1.33vw;}
  
  .cardlink h3{
    height:  5.33vw;
    padding: 0 0 1.33vw;
  }
}


/*-- Table --*/
/* Table - basic */
.table_basic {
  width: 100%;
  height: 100%;
}

.table_basic th {
  position: relative;
  width: 150px;
  padding: 25px 20px;
  border-bottom: 2px solid #333;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
}
.table_basic th::before,
.table_basic th::after {
  position: absolute;
  bottom: 0;
  width: 2px;
  height: 10px;
  background: #333;
  content: "";
}
.table_basic th::before { left: 0;}
.table_basic th::after { right: 0;}

.table_basic td {
  max-width: 0;
  padding: 25px 20px;
  border-bottom: 1px solid #ebebeb;
}

/* Table - general */
.table_general {
  overflow-x: auto;
  text-align: center;
}

.table_general table {
  width: 100%;
  height: 100%;
  border-collapse: separate;
  border-spacing: 1px;
  border: 1px solid #ebebeb;
  -webkit-text-size-adjust: 100%;
}

.table_general table.fixed { table-layout: fixed;}

.table_general th {
  padding: 15px;
  background: #333;
  color: #fff;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.2;
  vertical-align: middle;
}

.table_general td {
  padding: 15px;
  font-size: 1.8rem;
  vertical-align: middle;
}

.table_general tr:nth-child(even) td { background: #fff;}
.table_general tr:nth-child(odd) td { background: #f1f1f1;}


@media (max-width: 768px) {
  /* Table - basic */
  .table_basic th {
    display: block;
    width: 100%;
    padding: 2.67vw;
    border: 2px solid #333;
    background: #fff;
  }
  .table_basic th::before,
  .table_basic th::after { display: none; height: 2.67vw;}
  
  .table_basic td {
    display: block;
    padding: 4vw 2.67vw;
    max-width: none;
    border: none;
  }
  
  /* Table - general */
  .table_general {
    width: calc(100% + 2.67vw);
    white-space: nowrap;
  }
  
  .table_general table.fixed { table-layout: auto;}

  .table_general th {
    padding: 2.67vw 5.34vw;
    font-size: 1.6rem;
  }

  .table_general td {
    padding: 2.67vw 5.34vw;
    font-size: 1.6rem;
  }
}


/*-- Card --*/
/* Card - basic */
ul.card_basic > li {
  box-shadow: 2px 2px 5px rgba(0,0,0,.25);
  background: #fff;
}

ul.card_basic > li > a {
  display: block;
  height: 100%;
  color: inherit;
  transition: .25s;
}
ul.card_basic > li > a:hover {
  box-shadow: 4px 4px 10px rgba(0,0,0,.25);
  background: #f1f1f1;
}
ul.card_basic > li > a img { opacity: 1;}

ul.card_basic > li i {
  display: block;
  padding: 10px;
  color: #999;
  line-height: 1;
}

ul.card_basic > li figure { position: relative;}

ul.card_basic > li figure::before,
ul.card_basic > li figure::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: .25s;
  content: "";
}
ul.card_basic > li figure::before { background: rgba(153,153,153,.5);}
ul.card_basic > li figure::after {
  background: rgba(153,153,153,.5) radial-gradient(rgba(0,0,0,.25) 1px, transparent 1px) repeat left top / 2px 2px;
  background: url("../img/common/bg-dotted.png");
}
ul.card_basic > li a:hover figure::before { background: rgba(153,153,153,.25);}

ul.card_basic > li dl {
  padding: 10px;
  font-family: sans-serif;
}

ul.card_basic > li dt {
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 1.8rem;
}

ul.card_basic > li dd {
  font-size: 1.6rem;
  line-height: 1.5;
}


@media (max-width: 768px) {
  ul.card_basic > li a { padding: 0 !important;}
  
  ul.card_basic > li a i { position: relative;}
  
  ul.card_basic > li a i::after {
    position: absolute;
    top: 50%;
    right: 2.67vw;
    width: 1.34vw;
    height: 1.34vw;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    content: "";
  }

  ul.card_basic > li a:hover { box-shadow: none; background: #fff;}
  ul.card_basic > li a:hover figure::before { background: rgba(153,153,153,.5);}
  
  ul.card_basic > li i,
  ul.card_basic > li dl { padding: 2.67vw;}

  ul.card_basic > li dt {
    font-size: 1.6rem;
    margin-bottom: 1.34vw;
  }
  ul.card_basic > li dd { font-size: 1.4rem;}
}


/*-- List --*/
/* List - dots */
ul.list_dots > li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 10px;
}
ul.list_dots > li:last-child { margin-bottom: 0;}
ul.list_dots > li::before {
  position: absolute;
  top: 1rem;
  left: 0;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: currentColor;
  transform: translateY(-50%);
  content: "";
}

ul.list_dots.horizontal {
  display: flex;
  flex-wrap: wrap;
}
ul.list_dots.horizontal > li { margin: 5px 20px 5px 0;}


/* Num */
ul.list_num > li {
  counter-increment: num;
  margin-bottom: 10px;
  padding-left: 2.7rem;
  text-indent: -2.7rem;
  font-family: 'Noto Sans JP', sans-serif;
}
ul.list_num > li:last-child { margin-bottom: 0;}

ul.list_num > li::before {
  margin-right: 5px;
  font-weight: bold;
  content: "0" counter(num) ".";
  letter-spacing: -.05rem;
}
ul.list_num li:nth-child(9) ~ ::before { content: counter(num) ".";}


/* Notices */
ul.list_notices li {
  display: flex;
  position: relative;
  font-size: 1.2rem;
  counter-increment: num;
}
ul.list_notices li:not(:last-child) { margin-bottom: 5px;}

ul.list_notices li::before {
  margin-right: 5px;
  content: "※" counter(num);
  letter-spacing: -.05rem;
}


@media (max-width: 768px) {
  /* Dots */
  ul.list_dots > li {
    margin-bottom: 2.67vw;
    padding-left: 2.67vw;
  }
  ul.list_dots > li:last-child { margin-bottom: 0;}
  ul.list_dots > li::before {
    width: 1.07vw;
    height: 1.07vw;
  }

  
  ul.list_dots.horizontal { display: block;}
  ul.list_dots.horizontal > li { margin: 0 0 2.67vw;}

  
  /* Num */
  ul.list_num > li { margin-bottom: 2.67vw;}
  ul.list_num > li:last-child { margin-bottom: 0;}
  
  ul.list_num > li::before {margin-right: 1.34vw;}

  
  /* Notices */
  ul.list_notices li:not(:last-child) { margin-bottom: 2.67vw;}
}


/*-- Photo --*/
/* Photo - basic */
img.ph_basic {
  position: relative;
  box-shadow: 5px 5px 15px rgba(0,0,0,.25);
}
img.ph_basic.long { box-shadow: 5px 5px 15px rgba(0,0,0,.25), 40px 40px 0 rgba(235,235,235,.5);}
img.ph_basic.outline { left: -70px;}


@media (max-width: 768px) {
  /* Photo - basic */
  img.ph_basic {
    position: relative;
    box-shadow: .67vw .67vw 2.67vw rgba(0,0,0,.25);
  }
  img.ph_basic.long {
    position: relative;
    box-shadow: .67vw .67vw 2.67vw rgba(0,0,0,.25), 1.34vw 1.34vw 0 rgba(235,235,235,.5);
  }
  img.ph_basic.outline { left: 0;}
}



/*===== 8. Each Styles =====*/
/* Related Banners */
.banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  padding: 10px 0 10px 20px;
  box-shadow: 0 4px 8px rgba(0,0,0,.25);
  color: inherit;
  transition: .25s;
}
a.banner:hover { color: inherit;}

a.banner img {
  display: block;
  margin: 0 auto;
  opacity: 1;
}

.banner.virtual { background: hsl(192,41%,93%);}
.banner.kyushu { background: hsl(216,43%,93%);}
.banner.virtual:hover { background: hsl(192,51%,83%);}
.banner.kyushu:hover { background: hsl(216,53%,83%);}

.banner > :first-child {
  flex: 1;
  margin-right: 6.25%;
}
.banner > :last-child {
  padding: 10px;
  background: #fff;
}

.banner > :last-child dl {
  display: flex;
  align-items: center;
  line-height: 1.2;
}
.banner > :last-child dl:not(:last-child) { margin-bottom: 10px;}

.banner > :last-child dt {
  position: relative;
  margin-right: 10px;
  padding-right: 10px;
  font-size: 1.8rem;
  white-space: nowrap;
}
.banner > :last-child dt::after {
  position: absolute;
  right: 0;
  width: 1px;
  height: 100%;
  background: #333;
  content: "";
}

.banner > :last-child dd span { font-size: 2.4rem;}

.banner > :last-child dd span + span::before {
  display: inline-block;
  width: 6px;
  height: 10px;
  margin: 0 5px;
  background: linear-gradient(to bottom left, transparent 50%, currentColor 50.01%) no-repeat top left / 100% 50%, linear-gradient(to top left, transparent 50%, currentColor 50.01%) no-repeat bottom right / 100% 50%;
  transform: translateY(-25%);
  content: "";
}

.banner > :last-child dd p { font-size: 2.0rem;}


@media (max-width: 768px) {
  .banner {
    display: block;
    padding: 1.34vw !important;
    box-shadow: 0 4px 8px rgba(0,0,0,.25), 0 1px 1px 1px rgba(0,0,0,.05);
  }
  
  a.banner:hover { opacity: 1;}
  .banner.virtual { background: hsl(192,41%,93%) !important;}
  .banner.kyushu { background: hsl(216,43%,93%) !important;}

  .banner > :first-child { margin: 0 0 1.34vw;}
  .banner > :last-child {
    position: relative;
    padding: 1.34vw;
  }
  
  .banner > :last-child::after {
    position: absolute;
    top: 50%;
    right: 2vw;
    width: 2.67vw;
    height: 2.67vw;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    content: "";
  }

  .banner > :last-child dl:not(:last-child) { margin: 0 0 1.34vw;}

  .banner > :last-child dt {
    margin-right: 1.34vw;
    padding-right: 1.34vw;
    font-size: 1.4rem;
  }

  .banner > :last-child dd span { font-size: 1.8rem;}

  .banner > :last-child dd span + span::before {
    width: 1.34vw;
    height: 2.67vw;
    margin: 0 1.34vw;
    transform: translateY(-25%);
  }

  .banner > :last-child dd p { font-size: 1.6rem;}
}



/*===== 8. Animations =====*/
.overlay {
  position: relative;
  overflow: hidden;
}
.overlay::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  background: #fff;
  transform: translateX(0);
  content: "";
}

.overlay::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  width: 0;
  height: 100%;
  background: #0080CC;
  content: "";
}

.fadein,.fadein2,.fadein3,.fadein4  { visibility: hidden;}

.overlay.anim::before { animation: insert01 .6s ease-in-out .1s forwards;}
.overlay.anim::after { animation: insert02 .6s ease-in-out 0s forwards;}
.fadein.anim { animation: fadein .6s ease-in 1s forwards;}
.fadein2.anim { animation: fadein 1.2s ease-in 1.6s forwards;}
.fadein3.anim { animation: fadein 1.8s ease-in 2.2s forwards;}
.fadein4.anim { animation: fadein 2.4s ease-in 2.8s forwards;}

@keyframes insert01 {
  50% {
    width: 100%;
  }
  100% {
    left: 100%;
    width: 0;
  }
}
@keyframes insert02 {
  0% {
    width: 0;
  }
  30% {
    left: 0;
    width: 100%;
  }
  70% {
    left: 0;
    width: 100%;
  }
  100% {
    left: 100%;
    width: 0;
  }
}
@keyframes fadein{
  0% {
    visibility: hidden;
    opacity: 0;
  }
  50% {
    visibility: visible;
    opacity: 1;
  }
  100% {
    visibility: visible;
    opacity: 1;
  }
}
