@charset "utf-8";

/* ----- charset & import */
@import url('https://fonts.googleapis.com/css?family=Rubik');

/* ----- dom */
html {
	color: #222;
	font-size: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	word-break: break-all;}
body {
	font-family: Rubik,'游ゴシック',YuGothic,'メイリオ','Meiryo',sans-serif;
	background-size:cover;
  line-height: 2;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;}
h1 {font-size: 1.5em;}
h2 {font-size: 1.3em;}
h3 {font-size: 1.15em;}
h4 {font-size: 1em;}
h1,h2,h3,h4 {line-height: 1.4;}

/* ----- size */
.fze {width: 100%;}
.mze {width: 1000px;margin: 0 auto;}
.col2 {width: 48%;}
.col3 {width: 32.5%;}
.col4 {width: 24%;}
.areaside {
	width: 220px;
	font-size: 90%;
	float: left;}
.areamain {
  width: 760px;
	float: right;}

/* ----- typography */
.t-xl {font-size: 1.5em;}
.t-ml {font-size: 1.25em;}
.t-l {font-size: 1.125em;}
.t-s {font-size: 0.85em;}
.t-xs {font-size: 0.75em;}
.lhr {line-height: 1.2;}

/* ----- spacing */
.mblock {margin: 2em 0!important;}
.pblock {padding: 2em 0!important;}

.mreset {margin: 0;}
.mt10 {margin-top: 0.625em!important;}
.mt20 {margin-top: 1.25em!important;}
.mt30 {margin-top: 1.875em!important;}
.mb10 {margin-bottom: 0.625em!important;}
.mb20 {margin-bottom: 1.25em!important;}
.mb30 {margin-bottom: 1.875em!important;}

.preset {padding: 0;}
.pt10 {padding-top: 0.625em!important;}
.pt20 {padding-top: 1.25em!important;}
.pt30 {padding-top: 1.875em!important;}
.pb10 {padding-bottom: 0.625em!important;}
.pb20 {padding-bottom: 1.25em!important;}
.pb30 {padding-bottom: 1.875em!important;}

/* ----- position */
.vat {vertical-align: top;}
.vam {vertical-align: middle;}
.vab {vertical-align: bottom;}
.fl {float: left;}
.fix {margin: 0 auto;}
.fr {float: right;}
.pr {position: relative;}
.pa {position: absolute;}
.ta-l {text-align: left;}
.ta-c {text-align: center;}
.ta-r {text-align: right;}
.visv {visibility: visible;}
.vish {visibility: hidden;}

/* ----- image */
.imgicon {margin: -0.5em 0 0 0;padding: 0 .125em 0 .125em;vertical-align: middle;}
.imgleft {margin: 0 .5em .5em 0;float: left;}
.imgright {margin: 0 0 .5em .5em;float: right;}
.imgb {vertical-align: bottom;}
.imgbox {padding: .25em;border: 1px solid #ccc;}
.imgframe {max-width: 50%;padding: .25em;border: 1px solid #ccc;}

/*.addcursol a:after {
	content: "";
	top:40%;
	right: 10px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	position: absolute;}*/

/* ----- material-icons /// */
.material-icons {margin:-.18em 0 0 0;vertical-align:middle;}
.mi14 {font-size:14px!important;}
.mi18 {font-size:18px!important;}
.mi24 {font-size:24px!important;}
.mi36 {font-size:36px!important;}

/* ----- line motion */
.linemotion a::after {content: '';width: 0;height: 2px;margin: 0.6em 0 0 0;background: #b7b8a0;display: block;transition: width .3s;}
.linemotion a:hover::after {width: 100%;}

/* ----- clear */
.txt-indent-clear {
	text-indent: -9999px;
	white-space: nowrap;
	overflow: hidden;}

.clearfix:before, .clearfix:after {
	content: " ";
	display: table;}
.clearfix:after {
	clear: both;}
.clearfix {
	*zoom: 1;}

  /* ----- responsive */
  .pconly {display:block;}
  .sponly {display:none;}
  @media only screen and (max-width: 668px) {
  	.sponly {display:block;}
  	.pconly {display:none;}
		html {font-size: 100%;}
  	img {
  		max-width: 100%;
  		height: auto;}
		.mze {width: 95%;margin:0 auto;}
		.areamain,.col2,.col3,.col4,.contentblock {
			width: 100%;
			margin: 0 auto;}
  }
