@charset "utf-8";

/* -----------------------------------------------------------------------------
	common
--------------------------------------------------------------------------------*/
html {
    height: 100%;
}
body {
	margin:0;
	padding:0;
	-webkit-font-smoothing: antialiased;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	font-size: 16px;
	line-height: 2.0;
	color: #000;
	letter-spacing: 0px;
	background-color: #fff;
	-webkit-text-size-adjust: 100%;
}
body::after {
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color:#fff;  /* 背景カラー */
	z-index: 9998;  /* 一番手前に */
	pointer-events: none;  /* 他の要素にアクセス可能にするためにポインターイベントは無効に */
	opacity: 0;  /* 初期値 : 透過状態 */
	-webkit-transition: opacity 2s ease;  /* アニメーション時間は 0.8秒 */
	transition: opacity 2s ease;
}
body.fadeout::after {
	opacity: 1;
}
.mont {
	font-family: 'Montserrat', sans-serif;
}
	
/* -----------------------------------------------------------------------------
	loader
--------------------------------------------------------------------------------*/
.wrap_loader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
	z-index: 9999;
}
.wrap_loader.fadeout {
	opacity: 0;
	z-index: -9999;
}
.loader,
.loader:after {
	border-radius: 50%;
	width: 5em;
	height: 5em;
}
.loader {
	font-size: 10px;
	text-indent: -9999em;
	border-top: 5px solid rgba(204,204,204, 0.2);
	border-right: 5px solid rgba(204,204,204, 0.2);
	border-bottom: 5px solid rgba(204,204,204, 0.2);
	border-left: 5px solid #cccccc;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation: load8 1.1s infinite linear;
	animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes load8 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

/* -----------------------------------------------------------------------------
	clearfix
--------------------------------------------------------------------------------*/
.clearfix::after {
	content: "";
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	line-height: 0;
}

/* -----------------------------------------------------------------------------
	fade
--------------------------------------------------------------------------------*/
.fade-in {
	transition: opacity 1s;
	-webkit-transition: opacity 1s;
}

/* -----------------------------------------------------------------------------
	link
--------------------------------------------------------------------------------*/
a {
	color: #000;
	text-decoration: none;
	-webkit-transition: 0.3s ease;
	transition:  0.3s ease;
}
@media screen and ( min-width:813px ) {
	a:hover {
		filter: alpha(opacity=70);
		opacity: 0.70;
	}
	a.hovernone:hover {
		filter: alpha(opacity=100);
		opacity: 1;
	}
}

/* -----------------------------------------------------------------------------
	ul
--------------------------------------------------------------------------------*/
ul { list-style: none; }
li { display: inline; }

/* -----------------------------------------------------------------------------
	none
--------------------------------------------------------------------------------*/
@media screen and ( min-width:813px ) {
	.pc_none {
		display: none !important;
	}
}
@media screen and ( max-width:812px ) {
	.sp_none {
		display: none !important;
	}
}
@media screen and ( max-width:450px ) {
	.sp_portrait_none {
		display: none !important;
	}
}
@media screen and ( min-width:450px ) {
	.sp_portrait_only {
		display: none !important;
	}
}

/* -----------------------------------------------------------------------------
	page style
--------------------------------------------------------------------------------*/
header {
    width: 100%;
    padding: 50px;
    box-sizing: border-box;
}
header .left {
    float: left;
}
header .left h1 {
    float: left;
    height: 60px;
    border-right: 1px solid #000;
    padding-right: 50px;
    margin-right: 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
header .left h1 img {
    width: 286px;
}
header .left h2 {
    float: left;
    height: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
header .left h2 img {
    width: 251px;
}
header ul {
    float: right;
    letter-spacing: 0;
    font-size: 0;
    margin-top: 13px;
}
header ul li {
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-left: 20px;
}
#instafeed div {
    width: 33.333333333%;
    float: left;
    position: relative;
    overflow: hidden;
}
#instafeed div:before {
    content:"";
    display: block;
    padding-top: 100%;
}
#instafeed div a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
}
#instafeed div a img {
    width: 100%;
    height: 100%;
	-moz-transform-style: inherit;
	-webkit-transform-style: inherit;
	-o-transform-style: inherit;
	-ms-transform-style: inherit;
    transform-style: inherit;
    object-fit: cover;
	font-family: 'object-fit: cover;';
}
.profile {
    width: 89%;
    max-width: 1150px;
    margin: 100px auto 0;
}
.profile .img {
    width: 36.3%;
    float: left;
}
.profile .img img {
    width: 100%;
}
.profile .detail {
    width: 57%;
    float: right;
}
.profile .detail h3 {
    font-size: 24px;
    line-height: 1.0;
    margin: 40px 0;
}
.profile .detail h3 span {
    font-size: 18px;
    display: block;
    margin-top: 20px;
}
.profile .detail hr {
    margin: 0 0 40px;
    border-top: 1px solid #000;
    width: 30px;
}
.contact {
    width: 89%;
    max-width: 1150px;
    margin: 80px auto 0;
    background: #EBEBEB;
    text-align: center;
    padding: 60px;
    box-sizing: border-box;
    font-size: 18px;
}
.contact h3 img {
	width: 140px;
}
.contact h4 {
    line-height: 1.4;
    margin: 25px auto 35px;
}
.contact .mail_link {
    text-decoration: underline;
}
footer {
    width: 89%;
    max-width: 1150px;
    text-align: center;
    margin: 100px auto 0;
    border-top: 1px solid #000;
    padding: 50px 0;
}
footer ul {
    font-size: 0;
    letter-spacing: 0;
}
footer ul li {
    display: inline-block;
    width: 30px;
    height: 30px;
    margin: 0 10px;
}
footer ul li a {
    display: block;
}
footer .copyright {
    line-height: 1.0;
    font-size: 14px;
    margin-top: 50px;
}
@media screen and ( max-width:920px ) {
	header {
	    padding: 40px;
	    text-align: center;
	}
	header .left {
	    float: none;
	}
	header .left h1 {
	    float: none;
	    height: auto;
	    border-right: none;
	    padding-right: 0;
	    margin-right: 0;
	    display: block;
	}	
	header .left h2 {
	    float: none;
	    height: auto;
	    display: block;
	    margin-top: 10px;
	}
	header ul {
	    float: none;
	    margin-top: 20px;
	}
	header ul li {
	    margin: 0 10px;
	}
}
@media screen and ( max-width:812px ) {
	.profile {
	    margin: 80px auto 0;
	}
	.profile .img {
	    width: 38%;
	}
	.profile .detail h3 {
	    font-size: 20px;
	    margin: 20px 0 40px;
	}
	.profile .detail h3 span {
	    font-size: 14px;
	    margin-top: 15px;
	}
	.profile .detail p {
	    font-size: 13px;
	}
	.contact {
	    margin: 60px auto 0;
	    padding: 40px;
	    font-size: 14px;
	}
	.contact h4 {
	    margin: 20px auto 25px;
	}
	footer {
	    margin: 60px auto 0;
		padding: 30px 0;
	}
	footer .copyright {
	    font-size: 11px;
	    margin-top: 30px;
	}
}
@media screen and ( max-width:450px ) {
	header {
	    padding: 40px 0 55px;
	}
	header .left h2 {
	    margin-top: 5px;
	}
	header .left h2 img {
	    width: 226px;
	}
	#instafeed div {
	    width: 50%;
	}
	.profile {
	    margin: 45px auto 0;
	}
	.profile .img {
	    width: 100%;
	    max-width: 280px;
	    margin: 0 auto;
	    float: none;
	}
	.profile .detail {
	    width: 100%;
	    float: none;
	    margin-top: 30px;
	}
	.profile .detail h3 {
	    margin: 0 0 40px;
	    text-align: center;
	}
	.profile .detail hr {
	    margin: 0 auto 40px;
	}
	.contact {
	    padding: 46px 40px 40px;
	}
	.contact h3 img {
	    width: 100px;
	}
}