@charset "utf-8";
/***********************************************************************
update:20190806
************************************************************************/
/*
■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■      

  ■■■■                               ■
 ■   ■■                              ■
■        ■■■  ■■■■    ■■■  ■ ■ ■■■   ■
■       ■  ■  ■■  ■  ■  ■  ■■  ■  ■  ■
■   ■■■ ■   ■ ■   ■  ■   ■ ■    ■■■  ■
■     ■ ■■■■■ ■   ■  ■■■■■ ■  ■■  ■  ■
 ■    ■ ■     ■   ■  ■     ■  ■   ■  ■
  ■■■■   ■■■  ■   ■   ■■■  ■   ■■■■  ■

■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ 
*/
/* ---- fonts ---- */

body{ font-size: calc((100vw / 1500) * 15); font-family: YakuHanMP_Noto, 'Noto Serif JP', serif;  font-weight: 400; }
.fnt-bsc{ font-family: YakuHanMP_Noto, 'Noto Serif JP', serif; }
.fnt-bsc-noyh{ font-family: 'Noto Serif JP', serif; }
.fnt-dsp1{ font-family: 'Lora', serif; }
.fnt-dsp2{ font-family: 'jaf-facitweb', sans-serif; }
.fnt-nrw86{ transform: scale(0.86, 1); transform-origin: top left; width: 116.279069%;}
.fnt-exb{ font-weight: 900; }

.fnt-ac0{ color:#252525; }
.fnt-ac1{ color:#ff0078; }
.fnt-ac2{ color:#00daff; }
.fnt-ac3{ color:#398dff; }
.fnt-ac4{ color:#ff293a; }
.fnt-ac5{ color:#f6f6f6; }

.fnt-ts{ text-shadow:-2px 0px 0px #8ffbff,2px 0px 0px #ffea01; }

.ttl1{ font-size: 1.2em; font-weight: bold; background-color: rgba(0,0,0,.4); padding: .2em .4em .2em .4em; }
.ttl2{ color: #00daff; font-weight: bold; position: relative; padding: 0 0 0 2em; }
.ttl2:before{ content:""; width: 2em; height: 2em; background: url("../images/common/h-mark-a.png") no-repeat center center; background-size: contain; position: absolute; top:-0.3em; left:0; }
.ttl2b{ color: #ff0078; font-weight: bold; position: relative; padding: 0 0 0 2em; }
.ttl2b:before{ content:""; width: 2em; height: 2em; background: url("../images/common/h-mark-b.png") no-repeat center center; background-size: contain; position: absolute; top:-0.3em; left:0; }
.ttl3{ position: relative; }
.ttl3 > span{ display: inline-block; color: #FFF; background-color: rgba(255,255,255,.1); padding: .2em .4em; ; border:rgba(255,255,255,.5) solid 1px; }
.ttl4{ color: #ff0078; line-height: 1.2; padding: .2em ; border-bottom: #ff0078 dotted 1px;}
.ttl5{ background: rgba(0,0,0,.2); border-radius: 1.5em; padding: .25em; margin-left: auto; margin-right: auto; }


/* ---- common style ---- */
a,a:visited {color: #aa0050;}
a:hover,a:active {color: #aa0050; }

.hv_fade{ opacity: 1; }
.hv_fade:hover{ opacity: 0.7; cursor: pointer; }
.hv_scale{ display: inline-block; transform: scale(1,1); transform-origin: center center;  }
.hv_scale:hover{ transition: all .05s 0s ease; transform: scale(1.05,1.05); cursor: pointer; }

.ilink{ display: inline-block; padding: 0.4em 0.6em 0.4em 0.6em ; border:#aa0050 solid 1px ; border-radius: 0; text-decoration: none; font-size: 1em; font-weight: bold; line-height: 1; }
.ilink:before{ content:"> "; }
.ilink,
.ilink:visited,
.ilink:active{ color: #aa0050; background-color: transparent; }
.ilink:hover{ text-decoration: none; background-color: #aa0050; color: #000; }
.ilink-off{ display: inline-block; padding: 0.4em 0.6em 0.4em 0.6em ; border:#ff8200 solid .2em ; border-radius: 1em; text-decoration: none; font-size: 1em; font-weight: 600; line-height: 1; border-color:#999; color: #FFF; background-color: transparent; pointer-events: none; }


/* Common Style ============================================================= */
/* font-size */
.fnt-10{ font-size: 0.666em; }
.fnt-12{ font-size: 0.8em; }
.fnt-14{ font-size: 0.933em; }
.fnt-15{ font-size: 1em; }
.fnt-16{ font-size: 1.066em; }
.fnt-18{ font-size: 1.2em; }
.fnt-20{ font-size: 1.333em; }
.fnt-22{ font-size: 1.466em; }
.fnt-24{ font-size: 1.6em; }
.fnt-26{ font-size: 1.733em; }
.fnt-28{ font-size: 1.866em; }
.fnt-30{ font-size: 2em; }
.fnt-32{ font-size: 2.133em; }
.fnt-34{ font-size: 2.266em; }
.fnt-36{ font-size: 2.4em; }
.fnt-38{ font-size: 2.533em; }
.fnt-40{ font-size: 2.666em; }
.fnt-42{ font-size: 2.8em; }
.fnt-44{ font-size: 2.933em; }
.fnt-45{ font-size: 3em; }
.fnt-46{ font-size: 3.066em; }
.fnt-48{ font-size: 3.2em; }
.fnt-50{ font-size: 3.333em; }
.fnt-60{ font-size: 4em; }

/* font-style */
.fnt-t{ font-weight: thin; }
.fnt-t{ font-weight: 100; }
.fnt-n{ font-weight: normal; }
.fnt-n{ font-weight: 400; }
.fnt-b{ font-weight: bold; }
.fnt-b{ font-weight: 700; }
.fnt-exb{ font-weight: 900; }
.fnt-i{ font-style: italic; }
.fnt-o{ font-style: oblique; }
.fnt-serif{ font-family: serif; }
.fnt-s-serif{ font-family: sans-serif; }
.fnt-shadow{text-shadow: 2px 4px 3px rgba(0,0,0,0.6);}
.fnt-break-a{word-break: break-all;}

/* font-color */
.dbrown{color:#4f3727;}
.brown{color:#998075;}
.lbrown{color:#714F45;}
.llbrown{color:#C4B1AA;}
.pink{color:#E95098;}
.purple{color:#c03eb9;}
.green{color:#AACD06;}
.lblue{color:#99E5FF;}
.red{color:#de2d16;}
.orange{color:#F39800;}
.bgreen{color:#66CCCC;}
.pblue{color:#6666CC;}
.beige{color:#FBF8F0;}
.lyellow{color:#ffffbe;}
.yellow{color:#FEFE66;}
.navy{color: #0068b7;}
.black{color:#000;}
.white{color:#FFF;}

/* line-height */
.lh0{ line-height: 0; }
.lh1{ line-height: 1; }
.lh12{ line-height: 1.2; }
.lh15{ line-height: 1.5; }
.lh2{ line-height: 2; }

/* letter-space */
.ls-0{ letter-spacing: 0em; }
.ls-005{ letter-spacing: 0.05em; }
.ls-01{ letter-spacing: 0.1em; }
.ls-minus005{ letter-spacing: -0.05em; }
.ls-minus01{ letter-spacing: -0.1em; }

/* 疑似ルビ */
[data-ruby] { position: relative;  }
[data-ruby]::before { content: attr(data-ruby); position: absolute; top: -1.7em; left: 0; right: 0; margin:0 auto; text-align:center; /* font-size: 0.666em; */ white-space: nowrap; transform: scale(0.45,0.5); transform-origin: left bottom; display: inline-block; width: 222%;  }

/* float */
.fl-lt{float: left;}
.fl-rt{float: right;}
.fl-no{float: none;}

/* align */
.al-ct{text-align: center;}
.al-lt{text-align: left;}
.al-rt{text-align: right;}
.al-clr{text-align: inherit;}
.vl-tp{ vertical-align: top; }
.vl-md{ vertical-align: middle; }
.vl-bt{ vertical-align: bottom; }
.vl-clr{text-align: inherit;}

/*.clearFix (NN,IE6 is outdated) */
.clearfix {/zoom:1;}
.clearfix:after{content: ""; display: block; clear: both;}
.clearb{ clear:both; }

/* pre */
.pre {
	white-space: pre;           /* CSS 2.0 */
	white-space: pre-wrap;      /* CSS 2.1 */
	white-space: pre-line;      /* CSS 3.0 */
	white-space: -pre-wrap;     /* Opera 4-6 */
	white-space: -o-pre-wrap;   /* Opera 7 */
	white-space: -moz-pre-wrap; /* Mozilla */
	white-space: -hp-pre-wrap;  /* HP Printers */
	word-wrap: break-word;      /* IE 5+ */
}

/* responsive display */
.hide{ display: none;}
.hide-pc{ display: none; }
.hide-sp{ display: block;}
.hide-pc-il{ display: none; }
.hide-sp-il{ display: inline-block;}
/* .pcbr {display: none;} */
.pcbr:before {content: "" ;}
.spbr:before {content: "\A" ;white-space: pre ;}

/* margin */
.mg0-auto{ margin: 0 auto; }
.mgr-minus05t{margin-top:-0.5em;}
.mgr-minus05r{margin-right:-0.5em;}
.mgr-minus05b{margin-bottom:-0.5em;}
.mgr-minus05l{margin-left:-0.5em;}
.mgr-minus10t{margin-top:-1.0em;}
.mgr-minus10r{margin-right:-1.0em;}
.mgr-minus10b{margin-bottom:-1.0em;}
.mgr-minus10l{margin-left:-1.0em;}
.mgr-minus20t{margin-top:-2.0em;}
.mgr-minus20r{margin-right:-2.0em;}
.mgr-minus20b{margin-bottom:-2.0em;}
.mgr-minus20l{margin-left:-2.0em;}
.mgr-minus30t{margin-top:-3.0em;}
.mgr-minus30r{margin-right:-3.0em;}
.mgr-minus30b{margin-bottom:-3.0em;}
.mgr-minus30l{margin-left:-3.0em;}
.mgr0{ margin: 0; }
.mgr0t{ margin-top: 0; }
.mgr0r{ margin-right: 0; }
.mgr0b{ margin-bottom: 0; }
.mgr0l{ margin-left: 0; }
.mgr025{ margin: .25em; }
.mgr025t{ margin-top: .25em; }
.mgr025r{ margin-right: .25em; }
.mgr025b{ margin-bottom: .25em; }
.mgr025l{ margin-left: .25em; }
.mgr05{ margin: .5em; }
.mgr05t{ margin-top: .5em; }
.mgr05r{ margin-right: .5em; }
.mgr05b{ margin-bottom: .5em; }
.mgr05l{ margin-left: .5em; }
.mgr10{ margin: 1em; }
.mgr10t{ margin-top: 1em; }
.mgr10r{ margin-right: 1em; }
.mgr10b{ margin-bottom: 1em; }
.mgr10l{ margin-left: 1em; }
.mgr15{ margin: 1.5em; }
.mgr15t{ margin-top: 1.5em; }
.mgr15r{ margin-right: 1.5em; }
.mgr15b{ margin-bottom: 1.5em; }
.mgr15l{ margin-left: 1.5em; }
.mgr20{ margin: 2em; }
.mgr20t{ margin-top: 2em; }
.mgr20r{ margin-right: 2em; }
.mgr20b{ margin-bottom: 2em; }
.mgr20l{ margin-left: 2em; }
.mgr30{ margin: 3em; }
.mgr30t{ margin-top: 3em; }
.mgr30r{ margin-right: 3em; }
.mgr30b{ margin-bottom: 3em; }
.mgr30l{ margin-left: 3em; }
.mgr40{ margin: 4em; }
.mgr40t{ margin-top: 4em; }
.mgr40r{ margin-right: 4em; }
.mgr40b{ margin-bottom: 4em; }
.mgr40l{ margin-left: 4em; }
.mgr50{ margin: 5em; }
.mgr50t{ margin-top: 5em; }
.mgr50r{ margin-right: 5em; }
.mgr50b{ margin-bottom: 5em; }
.mgr50l{ margin-left: 5em; }

/* padding */
.pdr0{ padding: 0; }
.pdr0t{ padding-top: 0; }
.pdr0r{ padding-right: 0; }
.pdr0b{ padding-bottom: 0; }
.pdr0l{ padding-left: 0; }
.pdr025{ padding: .25em; }
.pdr025t{ padding-top: .25em; }
.pdr025r{ padding-right: .25em; }
.pdr025b{ padding-bottom: .25em; }
.pdr025l{ padding-left: .25em; }
.pdr05{ padding: .5em; }
.pdr05t{ padding-top: .5em; }
.pdr05r{ padding-right: .5em; }
.pdr05b{ padding-bottom: .5em; }
.pdr05l{ padding-left: .5em; }
.pdr10{ padding: 1em; }
.pdr10t{ padding-top: 1em; }
.pdr10r{ padding-right: 1em; }
.pdr10b{ padding-bottom: 1em; }
.pdr10l{ padding-left: 1em; }
.pdr15{ padding: 1.5em; }
.pdr15t{ padding-top: 1.5em; }
.pdr15r{ padding-right: 1.5em; }
.pdr15b{ padding-bottom: 1.5em; }
.pdr15l{ padding-left: 1.5em; }
.pdr20{ padding: 2em; }
.pdr20t{ padding-top: 2em; }
.pdr20r{ padding-right: 2em; }
.pdr20b{ padding-bottom: 2em; }
.pdr20l{ padding-left: 2em; }
.pdr30{ padding: 3em; }
.pdr30t{ padding-top: 3em; }
.pdr30r{ padding-right: 3em; }
.pdr30b{ padding-bottom: 3em; }
.pdr30l{ padding-left: 3em; }
.pdr40{ padding: 4em; }
.pdr40t{ padding-top: 4em; }
.pdr40r{ padding-right: 4em; }
.pdr40b{ padding-bottom: 4em; }
.pdr40l{ padding-left: 4em; }
.pdr50{ padding: 5em; }
.pdr50t{ padding-top: 5em; }
.pdr50r{ padding-right: 5em; }
.pdr50b{ padding-bottom: 5em; }
.pdr50l{ padding-left: 5em; }

/* block */
.full-block{ width: 100%;}
.dsp-ilb{ display: inline-block; }

/* column */
.column{display: block; list-style-type: none; margin: 0; padding: 0; vertical-align: top; letter-spacing: -0.5em; }
.column > .col1{ display: inline-block; margin: 0; padding: 0; letter-spacing: normal; vertical-align: top; width: 100%; }
.column > .col2{ display: inline-block; margin: 0; padding: 0; letter-spacing: normal; vertical-align: top; width: 50%; }
.column > .col3{ display: inline-block; margin: 0; padding: 0; letter-spacing: normal; vertical-align: top; width: 33.33%; }
.column > .col4{ display: inline-block; margin: 0; padding: 0; letter-spacing: normal; vertical-align: top; width: 25%; }
.column > .col5{ display: inline-block; margin: 0; padding: 0; letter-spacing: normal; vertical-align: top; width: 20%; }
.column > .col2-3{ display: inline-block; margin: 0; padding: 0; letter-spacing: normal; vertical-align: top; width: 66.66%; }
.column > .col3-4{ display: inline-block; margin: 0; padding: 0; letter-spacing: normal; vertical-align: top; width: 75%; }
.column > .col2-5{ display: inline-block; margin: 0; padding: 0; letter-spacing: normal; vertical-align: top; width: 40%; }
.column > .col3-5{ display: inline-block; margin: 0; padding: 0; letter-spacing: normal; vertical-align: top; width: 60%; }
.column > .col4-5{ display: inline-block; margin: 0; padding: 0; letter-spacing: normal; vertical-align: top; width: 80%; }

/* grid */
.grid2{ display: flex; flex-wrap: wrap; }
.grid2 > div{ width: 49%; margin: 0.5%; }
.grid3{ display: flex; flex-wrap: wrap; }
.grid3 > div{ width: 32.3%; margin: 0.5%; }
.grid4{ display: flex; flex-wrap: wrap; }
.grid4 > div{ width: 24%; margin: 0.5%;  }
.grid5{ display: flex; flex-wrap: wrap; }
.grid5 > div{ width: 19%; margin: 0.5%; }
.grid6{ display: flex; flex-wrap: wrap; }
.grid6 > div{ width: 15.5%; margin: 0.5%; }

/* grid12 */
.grid12{ display: flex; flex-wrap: wrap; }
.grid12 > .col12-1{ width: 8.33333%; }
.grid12 > .col12-2{ width: 16.66666%; }
.grid12 > .col12-3{ width: 25%; }
.grid12 > .col12-4{ width: 33.33333%; }
.grid12 > .col12-5{ width: 41.66666%; }
.grid12 > .col12-6{ width: 50%; }
.grid12 > .col12-7{ width: 58.33333%; }
.grid12 > .col12-8{ width: 66.66666%; }
.grid12 > .col12-9{ width: 75%; }
.grid12 > .col12-10{ width: 83.33333%; }
.grid12 > .col12-11{ width: 91.66666%; }
.grid12 > .col12-12{ width: 100%; }

/* table */
table th{ white-space: nowrap;}
table td{ word-break: break-all;}
table .nowrap{ white-space: nowrap;}
table .va-top{vertical-align: top;}
table .va-mdl{vertical-align: middle;}
.tbl-sep{ border-collapse:separate; border-spacing: 2px;}
.tbl-sep th{ padding:0.5em; border-style: solid; border-width: 1px; vertical-align: middle;}
.tbl-sep td{ padding:0.5em; border-style: solid; border-width: 1px; vertical-align: top;}
.tbl-sep th{ border-color: #DDD; }
.tbl-sep td{ border-color: #777; }

.tbl-col{ border-collapse: collapse; border-style: solid; border-width: 1px; border-color: #DDD; }
.tbl-col th{ padding:0.5em; border-style: solid; border-width: 1px; vertical-align: middle;}
.tbl-col td{ padding:0.5em; border-style: solid; border-width: 1px; vertical-align: top;}
.tbl-col th{ border-color: #DDD; }
.tbl-col td{ border-color: #DDD; }

.table-x{  }
.table-x th{  }
.table-x td{  }

.table-n{  }
.table-n th{  }
.table-n td{  }

/* frame */
.frame-w-op025{ background: rgba(255,255,255,.025); }
.frame-w-op05{ background: rgba(255,255,255,.05); }
.frame-w-op10{ background: rgba(255,255,255,.1); }
.frame-w-op20{ background: rgba(255,255,255,.2); }
.frame-w-op50{ background: rgba(255,255,255,.5); }
.frame-k-op025{ background: rgba(0,0,0,.025); }
.frame-k-op05{ background: rgba(0,0,0,.05); }
.frame-k-op10{ background: rgba(0,0,0,.1); }
.frame-k-op20{ background: rgba(0,0,0,.2); }
.frame-k-op50{ background: rgba(0,0,0,.5); }

/* list */
ul.list{ display: block; list-style-type: none; margin: 0; padding: 0;}
ul.list > li{ display: block; margin: 0; padding: 0;}
ul.list-05em{ display: block; list-style-type: none; margin: 0; padding: 0;}
ul.list-05em > li{ display: block; margin: 0 0 0.5em 0; padding: 0;}
ul.list-1em{ display: block; list-style-type: none; margin: 0; padding: 0;}
ul.list-1em > li{ display: block; margin: 0 0 1em 0; padding: 0;}

ol.list{ margin: 0; padding: 0 0 0 1.5em;}
ol.list > li{ margin: 0 0 0 0; padding: 0;}
ol.list-05em{ margin: 0; padding: 0 0 0 1.5em;}
ol.list-05em > li{ margin: 0 0 0.5em 0; padding: 0;}
ol.list-1em{ display: block; margin: 0; padding: 0;}
ol.list-1em > li{ display: block; margin: 0 0 1em 0; padding: 0;}
ol.maru{ counter-reset: my-counter; list-style: none; padding: 0;}
ol.maru li { margin: 0; margin-bottom: 0.5em; /* 10px */; padding-left: 1.25em /* 30px */; position: relative; line-height: 1.15; display: block; }
ol.maru li:before { content: counter(my-counter); counter-increment: my-counter; border: solid 1px; font-size: 0.7em; display: block; float: left; line-height: 1.35em /* 22px */; margin: 0; left: 0; /* -30px */; text-align: center; height: 1.25em /* 22px */; width: 1.25em /* 22px */; border-radius: 50%; position: absolute; }

dl.list{ display: block; list-style-type: none; margin: 0; padding: 0;}
dl.list > dt{ display: block; margin: 0; padding: 0;}
dl.list > dd{ display: block; margin: 0; padding: 0;}
ul.ilist {display: block; list-style-type: none; margin: 0; padding: 0; font-size: 0; }
ul.ilist > li {  display: inline-block; vertical-align: top; /display: inline; /zoom: 1; list-style: none; font-size: 18px;}
ul.dotlist { margin: 0; padding: 0;list-style-type: none;margin-left:1em;}
ul.dotlist li:before { margin: 0; padding: 0;content: '・';margin-left:-1em;}
ul.sqrlist { margin: 0; padding: 0;list-style-type: none;margin-left:1em;}
ul.sqrlist li:before { margin: 0; padding: 0;content: '■';margin-left:-1em;}
ul.klist { margin: 0; padding: 0;list-style-type: none;margin-left:1em;}
ul.klist li:before { margin: 0; padding: 0;content: '※';margin-left:-1em;}

/* hr */
hr.sld{ border-color: #CCC; border-width: 1px 0px 0px 0px; border-style: solid; height: 1px; /* 高さ(IE) */}
hr.dot{ border-color: #CCC; border-width: 1px 0px 0px 0px; border-style: dashed; height: 1px; /* 高さ(IE) */}
hr.circle{border-width: 0 0 .46em;border-style: solid;border-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 1"><circle fill="hsla(0, 100%, 100%, 1.0)" cx="1" cy="0.5" r="0.5"/></svg>') 0 0 100% repeat;width: 100%;}

/* image */
img{max-width: 100%; height: auto; width: auto\9;}
img.fit{width: 100%; max-width: inherit; height: inherit; object-fit: contain;}
img.bdimg{ border-width: 1px; border-color: #FFF; border-style: solid; }
svg{max-width: 100%; height: auto; width: auto\9;}

/* pagination */
.paging{ overflow: hidden; text-align: center; }
.paging .prev{float: left; width: 33%; }
.paging .next{float: right; width: 33%;}
.paging .cntr{ margin: 0 auto; width: 33%;}
.paging .half{ margin: 0 auto; width: 49%;}

/* marquee */
.marquee {
width:600px;
padding:0.5em 0;
overflow:hidden;
margin-bottom:10px;
position:relative;
}

.marquee p:after {
content:"";
white-space:nowrap;
padding-right:50px;
}

.marquee p {
margin:0;
padding-left:600px;
display:inline-block;
white-space:nowrap;
	-webkit-animation-name:marquee;
	-webkit-animation-timing-function:linear;
	-webkit-animation-duration:60s;
	-webkit-animation-iteration-count:infinite;
	-moz-animation-name:marquee;
	-moz-animation-timing-function:linear;
	-moz-animation-duration:60s;
	-moz-animation-iteration-count:infinite;
	-ms-animation-name:marquee;
	-ms-animation-timing-function:linear;
	-ms-animation-duration:60s;
	-ms-animation-iteration-count:infinite;
	-o-animation-name:marquee;
	-o-animation-timing-function:linear;
	-o-animation-duration:60s;
	-o-animation-iteration-count:infinite;
	animation-name:marquee;
	animation-timing-function:linear;
	animation-duration:60s;
	animation-iteration-count:infinite;
}
@-webkit-keyframes marquee {
  from   { -webkit-transform: translate(0%);}
  99%,to { -webkit-transform: translate(-100%);}
}
@-moz-keyframes marquee {
  from   { -moz-transform: translate(0%);}
  99%,to { -moz-transform: translate(-100%);}
}
@-ms-keyframes marquee {
  from   { -ms-transform: translate(0%);}
  99%,to { -ms-transform: translate(-100%);}
}
@-o-keyframes marquee {
  from   { -o-transform: translate(0%);}
  99%,to { -o-transform: translate(-100%);}
}
@keyframes marquee {
  from   { transform: translate(0%);}
  99%,to { transform: translate(-100%);}
}



/* FIX ----------------------------------------------------------------------------- */
/* youtube embed responsive */
.video-embed {position: relative;height: 0;padding: 0 0 56.25%;overflow: hidden;}
.video-embed iframe {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}

/* colorbox customize */
#cboxOverlay{background:#FFF;}
#cboxContent{margin-top:60px;background:#FFF;}
#cboxLoadedContent{border:5px solid #FFF; background:#fff;}
#cboxClose{top:-55px; right:5px; display:block; background:url(../images/lib/colorbox/close.png) no-repeat top center; width:50px; height:50px; }
#cboxClose:hover{ background-position: top center; }
#cboxPrevious{top:-55px; left:5px; display:block; background:url(../images/lib/colorbox/prev.png) no-repeat top center; width:50px; height:50px; }
#cboxPrevious:hover{ background-position: top center; }
#cboxNext{top:-55px; left:65px; display:block; background:url(../images/lib/colorbox/next.png) no-repeat top center; width:50px; height:50px; }
#cboxNext:hover{ background-position: top center; }

/* twitter iOS fix */
.twitter-container iframe { width: 740px !important; }

/* slick fix */
.slick-list,.slick-slide {outline: none !important;}/* Chromeでフォーカス時の枠線を消す */

/* CHROME border */
*:focus{
  outline: none;
}
/*
■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■      

                     ■                                                     
 ■■    ■■            ■  ■             ■■■                     ■            
 ■■    ■■            ■               ■   ■                                 
 ■■■  ■ ■   ■■■   ■■■■  ■  ■■■      ■     ■  ■   ■   ■■■  ■ ■ ■   ■■■  ■■■ 
 ■ ■  ■ ■  ■  ■  ■■ ■■  ■  ■  ■     ■     ■  ■   ■  ■  ■  ■■  ■  ■  ■  ■   
 ■ ■  ■ ■  ■   ■ ■   ■  ■   ■■■     ■     ■  ■   ■  ■   ■ ■   ■  ■   ■ ■■  
 ■  ■■  ■  ■■■■■ ■   ■  ■ ■■  ■     ■     ■  ■   ■  ■■■■■ ■   ■  ■■■■■   ■■
 ■  ■■  ■  ■     ■■ ■■  ■ ■   ■      ■  ■■   ■  ■■  ■     ■   ■  ■        ■
 ■      ■   ■■■   ■■■■  ■  ■■■■       ■■■■■   ■■ ■   ■■■  ■   ■   ■■■  ■■■ 

■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ 
*/
/* Custom 1920 ----------------------------------------------------------------------------- */
@media (max-width: 1919px) {

}
/* Custom 1500 ----------------------------------------------------------------------------- */
@media (max-width: 1499px) {

}
/* LG ----------------------------------------------------------------------------- */
@media (max-width: 1199px) {

}
/* MD ----------------------------------------------------------------------------- */
@media (max-width: 991px) {

}
/* SM ----------------------------------------------------------------------------- */
@media (max-width: 767px) {
body{ font-size: calc((100vw / 750) * 20); }

/* font-size */
.fnt-10-sm{ font-size: 0.666em; }
.fnt-12-sm{ font-size: 0.8em; }
.fnt-14-sm{ font-size: 0.933em; }
.fnt-15-sm{ font-size: 1em; }
.fnt-16-sm{ font-size: 1.066em; }
.fnt-18-sm{ font-size: 1.2em; }
.fnt-20-sm{ font-size: 1.333em; }
.fnt-22-sm{ font-size: 1.466em; }
.fnt-24-sm{ font-size: 1.6em; }
.fnt-26-sm{ font-size: 1.733em; }
.fnt-28-sm{ font-size: 1.866em; }
.fnt-30-sm{ font-size: 2em; }
.fnt-32-sm{ font-size: 2.133em; }
.fnt-34-sm{ font-size: 2.266em; }
.fnt-36-sm{ font-size: 2.4em; }
.fnt-38-sm{ font-size: 2.533em; }
.fnt-40-sm{ font-size: 2.666em; }
.fnt-42-sm{ font-size: 2.8em; }
.fnt-44-sm{ font-size: 2.933em; }
.fnt-45-sm{ font-size: 3em; }
.fnt-46-sm{ font-size: 3.066em; }
.fnt-48-sm{ font-size: 3.2em; }
.fnt-50-sm{ font-size: 3.333em; }
.fnt-60-sm{ font-size: 4em; }

/* responsive display */
.hide-pc{ display: block; }
.hide-sp{ display: none;}
.hide-pc-il{ display: inline-block; }
.hide-sp-il{ display: none;}
.pcbr {display: none;}
.pcbr:before {content: "" ;}
.spbr:before {content: "\A" ;white-space: pre ;}

/* align */
.al-ct-sp{text-align: center;}
.al-lt-sp{text-align: left;}
.al-rt-sp{text-align: right;}
.al-clr-sp{text-align: inherit;}
.vl-tp-sp{ vertical-align: top; }
.vl-md-sp{ vertical-align: middle; }
.vl-bt-sp{ vertical-align: bottom; }
.vl-clr-sp{text-align: inherit;}

.pc-fl-lt{float: none;}
.pc-fl-rt{float: none;}
.half-block-pc{ width: 100%; }
.pc800,
.pc640,
.pc480,
.pc320{ width: 100%; }

/* margin */
.mgr0-sm{ margin: 0; }
.mgr0t-sm{ margin-top: 0; }
.mgr0r-sm{ margin-right: 0; }
.mgr0b-sm{ margin-bottom: 0; }
.mgr0l-sm{ margin-left: 0; }
.mgr025-sm{ margin: .25em; }
.mgr025t-sm{ margin-top: .25em; }
.mgr025r-sm{ margin-right: .25em; }
.mgr025b-sm{ margin-bottom: .25em; }
.mgr025l-sm{ margin-left: .25em; }
.mgr05-sm{ margin: .5em; }
.mgr05t-sm{ margin-top: .5em; }
.mgr05r-sm{ margin-right: .5em; }
.mgr05b-sm{ margin-bottom: .5em; }
.mgr05l-sm{ margin-left: .5em; }
.mgr10-sm{ margin: 1em; }
.mgr10t-sm{ margin-top: 1em; }
.mgr10r-sm{ margin-right: 1em; }
.mgr10b-sm{ margin-bottom: 1em; }
.mgr10l-sm{ margin-left: 1em; }
.mgr20-sm{ margin: 2em; }
.mgr20t-sm{ margin-top: 2em; }
.mgr20r-sm{ margin-right: 2em; }
.mgr20b-sm{ margin-bottom: 2em; }
.mgr20l-sm{ margin-left: 2em; }
.mgr30-sm{ margin: 3em; }
.mgr30t-sm{ margin-top: 3em; }
.mgr30r-sm{ margin-right: 3em; }
.mgr30b-sm{ margin-bottom: 3em; }
.mgr30l-sm{ margin-left: 3em; }
.mgr40-sm{ margin: 4em; }
.mgr40t-sm{ margin-top: 4em; }
.mgr40r-sm{ margin-right: 4em; }
.mgr40b-sm{ margin-bottom: 4em; }
.mgr40l-sm{ margin-left: 4em; }
.mgr50-sm{ margin: 5em; }
.mgr50t-sm{ margin-top: 5em; }
.mgr50r-sm{ margin-right: 5em; }
.mgr50b-sm{ margin-bottom: 5em; }
.mgr50l-sm{ margin-left: 5em; }

/* padding */
.pdr0-sm{ padding: 0; }
.pdr0t-sm{ padding-top: 0; }
.pdr0r-sm{ padding-right: 0; }
.pdr0b-sm{ padding-bottom: 0; }
.pdr0l-sm{ padding-left: 0; }
.pdr025-sm{ padding: .25em; }
.pdr025t-sm{ padding-top: .25em; }
.pdr025r-sm{ padding-right: .25em; }
.pdr025b-sm{ padding-bottom: .25em; }
.pdr025l-sm{ padding-left: .25em; }
.pdr05-sm{ padding: .5em; }
.pdr05t-sm{ padding-top: .5em; }
.pdr05r-sm{ padding-right: .5em; }
.pdr05b-sm{ padding-bottom: .5em; }
.pdr05l-sm{ padding-left: .5em; }
.pdr10-sm{ padding: 1em; }
.pdr10t-sm{ padding-top: 1em; }
.pdr10r-sm{ padding-right: 1em; }
.pdr10b-sm{ padding-bottom: 1em; }
.pdr10l-sm{ padding-left: 1em; }
.pdr20-sm{ padding: 2em; }
.pdr20t-sm{ padding-top: 2em; }
.pdr20r-sm{ padding-right: 2em; }
.pdr20b-sm{ padding-bottom: 2em; }
.pdr20l-sm{ padding-left: 2em; }
.pdr30-sm{ padding: 3em; }
.pdr30t-sm{ padding-top: 3em; }
.pdr30r-sm{ padding-right: 3em; }
.pdr30b-sm{ padding-bottom: 3em; }
.pdr30l-sm{ padding-left: 3em; }
.pdr40-sm{ padding: 4em; }
.pdr40t-sm{ padding-top: 4em; }
.pdr40r-sm{ padding-right: 4em; }
.pdr40b-sm{ padding-bottom: 4em; }
.pdr40l-sm{ padding-left: 4em; }
.pdr50-sm{ padding: 5em; }
.pdr50t-sm{ padding-top: 5em; }
.pdr50r-sm{ padding-right: 5em; }
.pdr50b-sm{ padding-bottom: 5em; }
.pdr50l-sm{ padding-left: 5em; }

/* table */
.table-x th,.table-x td{ width: inherit; display: block; }
.table-x thead{ display: none; }

/* column */
.column > .col2,.column > .col3,.column > .col4,.column > .col5,
.column > .col2-3,.column > .col3-4,.column > .col2-5,.column > col3-5,.column > col4-5{ width: 100%; }
.column > .col1-sm{ display: inline-block; margin: 0; padding: 0; letter-spacing: normal; vertical-align: top; width: 100%; }
.column > .col2-sm{ display: inline-block; margin: 0; padding: 0; letter-spacing: normal; vertical-align: top; width: 50%; }
.column > .col3-sm{ display: inline-block; margin: 0; padding: 0; letter-spacing: normal; vertical-align: top; width: 33.33%; }
.column > .col4-sm{ display: inline-block; margin: 0; padding: 0; letter-spacing: normal; vertical-align: top; width: 25%; }
.column > .col5-sm{ display: inline-block; margin: 0; padding: 0; letter-spacing: normal; vertical-align: top; width: 20%; }
.column > .col2-3-sm{ display: inline-block; margin: 0; padding: 0; letter-spacing: normal; vertical-align: top; width: 66.66%; }
.column > .col3-4-sm{ display: inline-block; margin: 0; padding: 0; letter-spacing: normal; vertical-align: top; width: 75%; }
.column > .col2-5-sm{ display: inline-block; margin: 0; padding: 0; letter-spacing: normal; vertical-align: top; width: 40%; }
.column > .col3-5-sm{ display: inline-block; margin: 0; padding: 0; letter-spacing: normal; vertical-align: top; width: 60%; }
.column > .col4-5-sm{ display: inline-block; margin: 0; padding: 0; letter-spacing: normal; vertical-align: top; width: 80%; }

/* grid */
.grid2 > div{ width: inherit; margin: 0.5%; }
.grid3 > div{ width: inherit; margin: 0.5%; }
.grid4 > div{ width: inherit; margin: 0.5%; }
.grid5 > div{ width: inherit; margin: 0.5%; }
.grid6 > div{ width: inherit; margin: 0.5%; }

.grid1-sm{ display: flex; flex-wrap: wrap; }
.grid1-sm > div{ width: 99%; margin: 0.5%; }
.grid2-sm{ display: flex; flex-wrap: wrap; }
.grid2-sm > div{ width: 49%; margin: 0.5%; }
.grid3-sm{ display: flex; flex-wrap: wrap; }
.grid3-sm > div{ width: 32.3%; margin: 0.5%; }
.grid4-sm{ display: flex; flex-wrap: wrap; }
.grid4-sm > div{ width: 24%; margin: 0.5%; }
.grid5-sm{ display: flex; flex-wrap: wrap; }
.grid5-sm > div{ width: 19%; margin: 0.5%; }
.grid6-sm{ display: flex; flex-wrap: wrap; }
.grid6-sm > div{ width: 15.5%; margin: 0.5%; }

/* grid12 */
.grid12{ display: flex; flex-wrap: wrap; }
.grid12 > .col12-1,
.grid12 > .col12-2,
.grid12 > .col12-3,
.grid12 > .col12-4,
.grid12 > .col12-5,
.grid12 > .col12-6,
.grid12 > .col12-7,
.grid12 > .col12-8,
.grid12 > .col12-9,
.grid12 > .col12-10,
.grid12 > .col12-11,
.grid12 > .col12-12{ width: inherit; }

.grid12{ display: flex; flex-wrap: wrap; }
.grid12 > .col12-1-sm{ width: 8.33333%; }
.grid12 > .col12-2-sm{ width: 16.66666%; }
.grid12 > .col12-3-sm{ width: 25%; }
.grid12 > .col12-4-sm{ width: 33.33333%; }
.grid12 > .col12-5-sm{ width: 41.66666%; }
.grid12 > .col12-6-sm{ width: 50%; }
.grid12 > .col12-7-sm{ width: 58.33333%; }
.grid12 > .col12-8-sm{ width: 66.66666%; }
.grid12 > .col12-9-sm{ width: 75%; }
.grid12 > .col12-10-sm{ width: 83.33333%; }
.grid12 > .col12-11-sm{ width: 91.66666%; }
.grid12 > .col12-12-sm{ width: 100%; }

}
/* pc - large ----------------------------------------------------------------------------- */
@media (min-width: 768px) {
.spbr {display: none;}
.spbr:before {content: "" ;}

}
/* pc - xlarge ----------------------------------------------------------------------------- */
@media (min-width: 1200px) {

}
/*
■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■      

   ■           ■                  ■   ■              
   ■                              ■                  
  ■ ■   ■■■■   ■  ■■■ ■■■   ■■■  ■■■■ ■   ■■■   ■■■■ 
  ■ ■   ■■  ■  ■  ■  ■■  ■  ■  ■  ■   ■  ■■ ■■  ■■  ■
 ■   ■  ■   ■  ■  ■  ■   ■   ■■■  ■   ■  ■   ■  ■   ■
 ■■■■■  ■   ■  ■  ■  ■   ■ ■■  ■  ■   ■  ■   ■  ■   ■
 ■   ■  ■   ■  ■  ■  ■   ■ ■   ■  ■   ■  ■■ ■■  ■   ■
■     ■ ■   ■  ■  ■  ■   ■  ■■■■  ■■  ■   ■■■   ■   ■

■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ 
*/

@keyframes fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes fade-out {
  from { opacity: 1; }
  to { opacity: 0; }
}
@keyframes inview {
  from { opacity: 0; transform: translate3d(0, 2em, 0); }
  to { opacity: 1; transform: none; }
}
@keyframes inview-start {
  from { opacity: 0; transform: translate3d(0, 2em, 0); }
  to { opacity: 1; transform: none; }
}
@keyframes change {
  0% { opacity: 1; }
  49.9% { opacity: 1; }
  50% { opacity: 0; }
  100% { opacity: 0; }
}
@keyframes rotate {
  0% { transform: rotate(0deg); }
  50% { transform: rotate(180deg); }
  100% { transform: rotate(359deg); }
}


.dly02{ animation-delay: 0.2s; -webkit-animation-delay: 0.2s;}
.dly05{ animation-delay: 0.5s; -webkit-animation-delay: 0.5s;}
.dly07{ animation-delay: 0.5s; -webkit-animation-delay: 0.7s;}
.dly10{ animation-delay: 1.0s; -webkit-animation-delay: 1.0s;}
.dly12{ animation-delay: 1.2s; -webkit-animation-delay: 1.2s;}
.dly15{ animation-delay: 1.5s; -webkit-animation-delay: 1.5s;}
.dly20{ animation-delay: 2.0s; -webkit-animation-delay: 2.0s;}
.dly30{ animation-delay: 3.0s; -webkit-animation-delay: 3.0s;}
.dly40{ animation-delay: 4.0s; -webkit-animation-delay: 4.0s;}
.dly50{ animation-delay: 5.0s; -webkit-animation-delay: 5.0s;}

.dur02{ animation-duration: 0.2s; -webkit-animation-duration: 0.2s;}
.dur05{ animation-duration: 0.5s; -webkit-animation-duration: 0.5s;}
.dur07{ animation-duration: 0.7s; -webkit-animation-duration: 0.7s;}
.dur10{ animation-duration: 1.0s; -webkit-animation-duration: 1.0s;}
.dur12{ animation-duration: 1.2s; -webkit-animation-duration: 1.2s;}
.dur15{ animation-duration: 1.5s; -webkit-animation-duration: 1.5s;}
.dur20{ animation-duration: 2.0s; -webkit-animation-duration: 2.0s;}
.dur30{ animation-duration: 3.0s; -webkit-animation-duration: 3.0s;}
.dur40{ animation-duration: 4.0s; -webkit-animation-duration: 4.0s;}
.dur50{ animation-duration: 5.0s; -webkit-animation-duration: 5.0s;}

