/* ==========================================================================
   Utilities
   ========================================================================== */

html {
  font-size: 62.5%;
  border: 0;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
  -webkit-text-size-adjust: 100%;
}

body,div,applet,object,iframe,figure,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td {
	border: 0;
  font-family: inherit;
  font-size: 16px;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
  -webkit-text-size-adjust: 100%;
}

span {
  border: 0;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
  -webkit-text-size-adjust: 100%;
}

:focus {
  outline: 0;
}
ol,ul {
  list-style: none;
}
img {
  vertical-align: bottom;
  height: auto;
  max-width: 100%;
}
table {
  border-collapse: separate;
  border-spacing: 0;
}
caption,th,td {
  font-weight: normal;
  text-align: left;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
}
blockquote,
q {
  quotes: "" "";
}
a img {
  border: 0;
}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
	display: block;
}

body {
  margin: 0;
  padding: 0;
  color: #323246;
  line-height: 1.7;
  font-size: 1.6rem;
	font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  background-color: #ffffff;
  position: relative;
}

@media all and (-ms-high-contrast: none) {
  body {
    }
}
p,li,dt,dd,table {
  text-align: justify;
  text-justify: inter-ideograph;
  line-break: strict;
  font-size: 16px;
  line-height: 1.5;
}

* {
  box-sizing: border-box;
}

figure > img {
  width: 100%;
}

/* link
------------------------------------------------------------*/
a {
  margin: 0;
  padding: 0;
  text-decoration: none;
  outline: 0;
  vertical-align: baseline;
  background-color: transparent;
  color: #000;
}
a:hover,
a:active {
  outline: none;
  opacity: 0.7;
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  -webkit-transition: 0.4s ease-in-out;
  -moz-transition: 0.4s ease-in-out;
  -o-transition: 0.4s ease-in-out;
  transition: 0.4s ease-in-out;
}
a:hover img,
a:active img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  -webkit-transition: 0.4s ease-in-out;
  -moz-transition: 0.4s ease-in-out;
  -o-transition: 0.4s ease-in-out;
  transition: 0.4s ease-in-out;
}
@media all and (max-width: 767px) {
  a:hover,
  a:active {
    outline: none;
    opacity: 1;
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    -webkit-transition: 0.4s ease-in-out;
    -moz-transition: 0.4s ease-in-out;
    -o-transition: 0.4s ease-in-out;
    transition: 0.4s ease-in-out;
  }
  a:hover img,
  a:active img {
    opacity: 1;
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    -webkit-transition: 0.4s ease-in-out;
    -moz-transition: 0.4s ease-in-out;
    -o-transition: 0.4s ease-in-out;
    transition: 0.4s ease-in-out;
  }
}


/* clearfix
------------------------------------------------------------*/

.cf::after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.cf {
  display: inline-block;
}
/* exlude MacIE5 \*/
* html .cf {
  height: 1%;
}
.cf {
  display: block;
}
/* end MacIE5 */

.cf + * {
  clear: both;
}
