@charset "utf-8";

*{
	margin:0;
	padding:0;
	box-sizing: border-box;	
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, section, article, aside, hgroup, header, footer, nav, dialog, figure, menu, video, audio, mark, time, canvas, details {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align:baseline;
	background: transparent;
}

article, aside, canvas, details, figcaption, figure, header,
footer, hgroup, menu, nav, section, summary {
display: block;
}

@media only screen and 
(-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {
  .hoge {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

ol, ul {
	list-style: none;
}

address,caption,cite,code,dfn,em,strong,var {
	font-style: normal;
}

caption,th {
	text-align: left;
	font-weight:normal;
}

q:before,q:after {
	content: '';
}

object,
embed {
	vertical-align: top;
}

h1,h2,h3,h4,h5,h6,textarea {
	font-size: 100%;
}

img,abbr,acronym,fieldset {
	border: 0;
}

img{
	max-width: 100%;
	height: auto;
	line-height: 1;
}

table {
	font-size:100%;
	border-collapse: collapse;
	border-spacing: 0;
	vertical-align:top;
}

h1,h2,h3,h4,h5,th{
	font-weight: 300;
}



/* For modern browsers */
.cf:before,
.cf:after,
.contact_det li:before,
.contact_det li:after,
.contact_det-btn li:before,
.contact_det-btn li:after {
    content:"";
    display:table;
}
 
.cf:after,
.contact_det li:after,
.contact_det-btn li:after {
    clear:both;
}

a:link , a:active , a:visited {
	color: inherit;
	text-decoration:none;
}

/*--- リンクカラー */
a:hover {
	text-decoration: none;
}

.clm-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}


/* -----------------------------------------------------------

	ページ共通設定
	
----------------------------------------------------------- */



html {
    visibility: hidden;
}

html.wf-active,
html.loading-delay {
    visibility: visible;
}


body{
    animation: fadeIn .3s ease 0s 1 normal;
    -webkit-animation: fadeIn .3s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

body::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color:#FFF; 
  z-index: 9999; 
  pointer-events: none;
  opacity: 0; 
  -webkit-transition: opacity .4s ease; 
  transition: opacity .4s ease;
}

body.fadeout::after {
  opacity: 1;
}

.fadein{
	opacity: 0;
	transition: all .8s ease-out;
}

.fadein.view{
	transform: translate(0);
	opacity: 1;
}

.fadeup{
	opacity: 0;
	transform: translateY(20px);
	transition: all .8s ease-out;
}

html.wf-active .fadeup.view{
	transform: translate(0);
	opacity: 1;
}

.ihover{
	overflow: hidden;
	transition: .3s;
}

.ihover img{
	transition: .3s;
}

.ihover:hover img{
	transform: scale(1.05);
	opacity: .6;
}

.clm-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}


