/* CSS Document */

/**
 *     basis
 ***********************/
img {
	vertical-align: bottom;
}
span.nw { 
	white-space: nowrap;
}
.w100 img {
	width: 100%;
	height: auto;
}
section {
	position: relative;
}
.inner1280 {
	width: 100%;
	height: auto;
	max-width: 1280px;
	margin-right: auto;
	margin-left: auto;
}
.inner1150 {
	width: 90%;
	height: auto;
	max-width: 1150px;
	margin-right: auto;
	margin-left: auto;
}
.inner1000 {
	width: 90%;
	height: auto;
	max-width: 1000px;
	margin-right: auto;
	margin-left: auto;
}
.inner800 {
	width: 80%;
	height: auto;
	max-width: 800px;
	margin-right: auto;
	margin-left: auto;
}


/**
 *     text
 ***********************/
.vertical {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.text_center {
	text-align: center;
}
.centering {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
			    transform: translate(-50%, -50%);
	z-index: 1;
}
.u_line {
  display: inline-block;
  position: relative;
  margin-bottom: 30px;
  padding-bottom: 20px;
  font-size: 200%;
}
.u_line::after {
  content: " ";
  display: block;
  position: absolute;
  width: 50px;
  height: 2px;
  background-color: #C4C4C4;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}


/**
 *     flexbox
 ***********************/
.flexbox {
	display: -webkit-box;
  display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
  /* flex-wrap */
	-webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  /* justify-content */
  -webkit-box-pack: justify;
     -moz-box-pack: justify;
     -ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
  /* align-items */
  -webkit-box-align: start;
     -moz-box-align: start;
     -ms-flex-align: start;
  -webkit-align-items: flex-start;
          align-items: flex-start;
  /* align-content */
     -ms-flex-line-pack: start;
	-webkit-align-content: flex-start;
	        align-content: flex-start;
}
.flexbox.around {
	-webkit-justify-content: space-around;
	        justify-content: space-around;
}
.flexbox.clm2 li {
	width: 48%;
	margin-bottom: 40px;
	text-align: center;
	line-height: normal;
}
.flexbox.clm3 li {
	width: 32%;
	margin-bottom: 20px;
	text-align: center;
	line-height: normal;
}
.flexbox.clm3::after{
	content: "";
	display: block;
	width: 32%;
}
.flexbox.clm4 li {
	width: 23%;
	margin-bottom: 30px;
	text-align: center;
}
.flexbox.clm4::before{
	content:"";
	display: block;
	width:23%;
	order:1;
}
.flexbox.clm4::after{
	content:"";
	display: block;
	width:23%;
}
.reverse{
  -webkit-box-direction: reverse;
     -moz-box-direction: reverse;
	-webkit-flex-direction: row-reverse;
			    flex-direction: row-reverse;
}
.flexcentering {
  /* flex */
	display: -webkit-box;
  display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
  /* justify-content */
	-webkit-box-pack: center;
     -moz-box-pack: center;
    	-ms-flex-pack: center;
  -webkit-justify-content: center;
          justify-content: center;
  /* align-items */
    -webkit-box-align: center;
       -moz-box-align: center;
       -ms-flex-align: center;
  -webkit-align-items: center;
          align-items: center;
}


/**
 *     responsive
 ***********************/
.pc_none {
	display: none;
}
.sp_none {
	display: block;
}
.relative {
	position: relative;
}


/**
 *     position
 ***********************/
.relative {
	position: relative;
}
.absolute {
	position: absolute;
}
.fixed {
	position: fixed;
}
.hideAnchor {
	display: block;
	height: 0px;
	overflow: hidden;
	cursor: default;
	pointer-events: none;
	outline: none;
	font-size: 0px;
	text-indent: -9999px;
	padding-top: 80px;
	margin-top: -80px;
}
.clearfix:after {
    content:"";
    display:block;
    clear:both;
}
.mb_50 {
  margin-bottom: 50px;
}

.w100 img {
    width: 100%;
    height: auto;
}
.pankuzu {
  padding-top: 5px;
  padding-bottom: 5px;
  text-align: left;
  padding-left: 50px;
  padding-right: 5px;
}
