@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: 99%;
	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: 600;
}

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

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

object,
embed {
	vertical-align: top;
}

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

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;
}




/* 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;
}



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

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




body {
	width: 100%;
	opacity: 0;
	transition: opacity .3s ease;
}

body.fadeout{
    animation: fadeOut .3s forwards 0s;	
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}


html.wf-active body,
html.loading-delay body{
	opacity: 1;
}

.fadein{
    transition: opacity 2s ease-in;
    opacity: 0;
}

.fadein.view{
	opacity: 1;
}


html.wf-active body,
html.loading-delay body{
	opacity: 1;
}

.fadein{
    transition: opacity 2s ease;
    opacity: 0;
}

.fadein.view{
	opacity: 1;
}

.thumb-wrap{
	line-height: 0;
	overflow: hidden;
}

.thumb-wrap img{
	width: 100%;
	height: 100%;
	object-fit:cover;
	font-family: 'object-fit: cover;'
}

.ihover img{
    transition: transform 1.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.ihover:hover img{
	transform:scale(1.04);
}

.ihover .text-wrap{
	transition: .4s ease;
}

.ihover:hover .text-wrap{
	opacity: .6;
}