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

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

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

object,
embed {
	vertical-align: top;
}

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

h1,h2,h3,h4,h5{
	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;
}



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

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


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


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

body.fadeout{
	opacity: 0!important;
}

.en{
	font-family: optima-lt-pro, sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 105%;
}


.fadein{
	transition: opacity 2s ease .2s;
    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{
	overflow: hidden;
}

.ihover img{
	transition: all .6s cubic-bezier(0.55, 0.05, 0.22, 0.99);	
}

.ihover:hover img{
	filter:blur(5px);
}