@charset "utf-8";

/*----------------------------------------
  reset css
----------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  vertical-align:baseline;
  background:transwpent;
}

body {
  line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
  display:block;
}

nav ul {
  list-style:none;
}

blockquote, q {
  quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content:'';
  content:none;
}

a {
  margin:0;
  padding:0;
  font-size:100%;
  vertical-align:baseline;
  background:transwpent;
}

ins {
  background-color:#ff9;
  color:#000;
  text-decoration:none;
}

mark {
  background-color:#ff9;
  color:#000;
  font-style:italic;
  font-weight:bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom:1px dotted;
  cursor:help;
}

table {
  border-collapse:collapse;
  border-spacing:0;
}

hr {
  display:block;
  height:1px;
  border:0;
  border-top:1px solid #cccccc;
  margin:1em 0;
  padding:0;
}

input, select {
  vertical-align:middle;
}

img {
  max-width: 100%;
  line-height: 0;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

/*----------------------------------------
  固定汎用CSS
----------------------------------------*/
html {
	font-size: 62.5%;
}

body {
	font-size: 1.6rem;
	color: #333;
}

* {
  line-height: 1.5;
}

a {
  text-decoration: none;
  color: #333;
  transition: 0.3s;
}

ul,ol {
	list-style: none;
}


.fadein {
  opacity : 0;
  transition-duration: .4s;
  transition-timing-function: ease-out;
}

/* ----- box-shadow ----- */
.b-shadow {
	box-shadow:0px 0px 3px 2px #d6d7d7;
	-moz-box-shadow:0px 0px 3px 2px #d6d7d7;
	-webkit-box-shadow:0px 0px 3px 2px #d6d7d7;
}

/* ----- underline ----- */
.underline {text-decoration: underline;}

/* ----- indent ----- */
.indent {margin-left:1px; text-indent:-1px;}

/* ----- position ----- */
.relative {position: relative;}

/* ----- dispaly ----- */
.inline {display: inline;}
.inline-block {display: inline-block;}
.block {display: block;}

/* ----- vertical-align ----- */
.va-t {vertical-align: top !important;}
.va-m {vertical-align: middle !important;}
.va-b {vertical-align: bottom !important;}
.va-base {vertical-align: baseline !important;}

/* ----- margin ----- */
.ma {margin: auto;}
.mt0 {margin-top: 0px !important;}
.mt5 {margin-top: 5px;}
.mt10 {margin-top: 10px;}
.mt15 {margin-top: 15px;}
.mt20 {margin-top: 20px;}
.mt25 {margin-top: 25px;}
.mt30 {margin-top: 30px;}
.mt35 {margin-top: 35px;}
.mt40 {margin-top: 40px;}
.mt45 {margin-top: 45px;}
.mt50 {margin-top: 50px;}
.mt55 {margin-top: 55px;}
.mt60 {margin-top: 60px;}
.mt70 {margin-top: 70px !important;}
.mt80 {margin-top: 80px !important;}
.mt90 {margin-top: 90px;}
.mt100 {margin-top: 100px;}
@media screen and (max-width: 767px){
	.sp-mt0 {margin-top: 0;}
	.sp-mt10 {margin-top:10px;}
	.sp-mt15 {margin-top:15px;}
	.sp-mt20 {margin-top:20px;}
	.sp-mt25 {margin-top: 25px;}
	.sp-mt30 {margin-top: 30px !important;}
	.sp-mt35 {margin-top: 35px;}
	.sp-mt40 {margin-top: 40px;}
	.sp-mt45 {margin-top: 45px;}
	.sp-mt50 {margin-top: 50px;}
	.sp-mt60 {margin-top: 60px;}
}

/* ----- padding ----- */
.p5 {padding: 5px;}
.p10 {padding: 10px;}
.p15 {padding: 15px;}
.p20 {padding: 20px;}
.pl20 {padding-left: 20px !important;}
.pl25 {padding-left: 25px!important;}
.p25 {padding: 25px;}
.p30 {padding: 30px;}
@media screen and (max-width: 767px){
	.sp-plr30 {padding: 0 30px;}
  .sp-pb0 {padding-bottom: 0 !important;}
}

/* ----- font-size ----- */
.f10 {font-size: 1px !important;}
.f12 {font-size: 12px !important;}
.f13 {font-size: 13px !important;}
.f14 {font-size: 14px !important;}
.f16 {font-size: 16px !important;}
.f18 {font-size: 18px !important;}
.f19 {font-size: 19px !important;}
.f20 {font-size: 20px !important;}
.f22 {font-size: 22px !important;}
.f23 {font-size: 23px !important;}
.f24 {font-size: 24px !important;}
.f26 {font-size: 26px !important;}
.f28 {font-size: 28px !important;}
.f32 {font-size: 32px !important;}
@media screen and (max-width: 767px){
  .sp-f10 {font-size: 10px;}
  .sp-f12 {font-size: 12px;}
  .sp-f14 {font-size: 14px;}
  .sp-f16 {font-size: 16px;}
  .sp-f18 {font-size: 18px;}
  .sp-f20 {font-size: 20px;}
  .sp-f22 {font-size: 22px;}
  .sp-f24 {font-size: 24px;}
	.sp-f28 {font-size: 28px;}
	.sp-f32 {font-size: 32px;}
}

/* ----- line-height ----- */
.lh10 {line-height:1px;}
.lh12 {line-height:12px;}
.lh14 {line-height:14px;}
.lh16 {line-height:16px;}
.lh18 {line-height:18px;}
.lh20 {line-height:20px;}
.lh22 {line-height:22px;}
.lh24 {line-height:24px;}
.lh26 {line-height:26px;}
.lh28 {line-height:28px;}
.lh30 {line-height:30px;}
@media screen and (max-width:767px){
	.sp-lh10 {line-height:1px;}
	.sp-lh12 {line-height:12px;}
	.sp-lh14 {line-height:14px;}
	.sp-lh16 {line-height:16px;}
	.sp-lh18 {line-height:18px;}
	.sp-lh20 {line-height:20px;}
	.sp-lh22 {line-height:22px;}
	.sp-lh24 {line-height:24px;}
}

/* ----- font-weight ----- */
.tx-bold {font-weight: bold;}
.tx-normal {font-weight: normal;}

/* ----- text-align ----- */
.tx-center {text-align: center;}
.tx-left {text-align: left;}
.tx-right {text-align: right;}
@media screen and (max-width: 767px){
	.sp-tx-center {text-align: center;}
	.sp-tx-left {text-align: left;}
	.sp-tx-right {text-align: right;}
}

/* ----- sp pc 出し分け ----- */
.sp-only {display: none !important;}
.pc-only {display: block;}
.pc-only.flex {display: flex;}


@media screen and (min-width: 768px) and (max-width: 1050px) {
.tb-block {display: block;}
.tb-none { display: none;}
}

@media screen and (min-width: 1025px) and (max-width: 1049px) {
.tb-block {display: block;}
.tb-none { display: block;}
}

@media screen and (max-width:767px){
	.pc-only {display: none !important;}
	.sp-only {display: block !important;}
	.sp-only.flex {display: flex !important;}
	.sp-block {display: block !important;}
}

/* ----- flex-box ----- */
	.flex {display: -webkit-flex;display: -moz-flex;display: -ms-flex;display: -o-flex;display: flex;}
	.row {flex-direction:row;   }
	.row-r {flex-direction:row-reverse;}
	.column {flex-direction:column;}
	.column-r {flex-direction:column-reverse;}
	/* コンテンツの折返し */
	.wrap {flex-wrap:wrap;}
	.wrap-r {flex-wrap:wrap-reverse;}
	.no-wrap {flex-wrap:nowrap;}
	/* コンテンツの水平方向揃え */
	.flex-left {justify-content:flex-start;}
	.flex-right {justify-content:flex-end;}
	.flex-center {justify-content:center;}
	.flex-space-b {justify-content:space-between;}
	.flex-space-a {justify-content:space-around;}
	/* コンテンツの垂直方向揃え */
	.flex-top {align-items:flex-start;}
	.flex-middle {
		align-items:center;
		margin: 5px 0;
	}
	.flex-bottom {align-items:flex-end;}
	/* 順番 */
	.no1 {order:1;}
	.no2 {order:2;}
	.no3 {order:3;}
	.no4 {order:4;}
	.no5 {order:5;}
	.no6 {order:6;}
	.no7 {order:7;}
@media screen and (max-width:767px){
	.sp-flex {display: -webkit-flex;display: -moz-flex;display: -ms-flex;display: -o-flex;display: flex;}
	.sp-row {flex-direction:row;   }
	.sp-row-r {flex-direction:row-reverse;}
	.sp-column {flex-direction:column;}
	.sp-column-r {flex-direction:column-reverse;}
	/* コンテンツの折返し */
	.sp-wrap {flex-wrap:wrap;}
	.sp-wrap-r {flex-wrap:wrap-reverse;}
	.sp-no-wrap {flex-wrap:nowrap;}
	/* コンテンツの水平方向揃え */
	.sp-flex-left {justify-content:flex-start;}
	.sp-flex-right {justify-content:flex-end;}
	.sp-flex-center {justify-content:center;}
	.sp-flex-space-b {justify-content:space-between;}
	.sp-flex-space-a {justify-content:space-around;}
	/* コンテンツの垂直方向揃え */
	.sp-flex-top {align-items:flex-start;}
	.sp-flex-middle {align-items:center;}
	.sp-flex-bottom {align-items:flex-end;}
	/* 順番 */
	.sp-no1 {order:1;}
	.sp-no2 {order:2;}
	.sp-no3 {order:3;}
	.sp-no4 {order:4;}
	.sp-no5 {order:5;}
	.sp-no6 {order:6;}
	.sp-no7 {order:7;}
}
