@charset "utf-8";


body {
background-color: var(--body-background-color);
}


/********  ヘッダー  ********/
#header {
	background-color: #F8F9FB;
}
#header .row {
	margin: 1em auto;
}

.header-contents {
	display: flex;
	justify-content: space-between;
}


#header .block-logo {
	display: flex;
}
#header .logo-mark {
	width: 100px;
	
}
#header .logo-type {
	align-self: center;
	padding-left: 2em;
	
}
#header .logo-type .sub {
	font-size: 1.4em;
	line-height: 1;
	margin-bottom: 0.2em;
	color : var(--color-navy);
	font-weight: bold;
}
#header .logo-type .main {
	font-size: 2.2em;
	font-weight: bold;
	line-height: 1;
	color: #D03D2D;
}


#header .block-tel {
	color: var(--color-navy);
	font-weight: bold;
	align-self: center;
	display: flex;
}
#header .block-tel .text {
	align-self: center;
	font-size: 1.5em;
	padding-right: 0.25em;
}
#header .block-tel .number {
	font-size: 2.4em;
	letter-spacing: 0.1em;
	line-height: 1;
}

.mv {
	max-width: 1920px;
	width: 100%;
	margin: 0 auto;
	padding: 10px 0;
	background-color: #000;
}
.mv .slider {
	text-align: center;
}



/********  カラム  ********/

.column {
	display: flex;
	margin-bottom: 2em;
}
.column .column-left {
	flex: 1;
	padding-right: 1em;
	align-self: stretch;
	overflow: hidden;
}
.column .column-right {
	flex: 3;
	padding-left: 1em;
}
.column .column-full {
	width: 100%;
}
.column .column-left .column-contents {
	height: 100%;
}

/********  タイトル  ********/
.title {

}
.title.title-lv2 {
	font-weight: bold;
	background-color:var(--color-navy);
	color: #fff;
	border-radius: 10px;
	padding: 1em;
	margin-bottom: 2em;
	font-size: 1.2em;
	text-align: center;
}
.title.title-lv2 .en {
	position: absolute;
	right: 1em;
}




.embed {
	margin-bottom: 2em;
}
.embed.embed-schedule iframe {
	width: 100%;
	height: 600px;
}
.embed.embed-twitter {
	height: 100%;
}

.embed.embed-twitter iframe {
	height: 100%;
}


/********  チーム情報  ********/
.team {
	display: flex;
}
.team .logo {
	flex:1;
	text-align: center;
	align-self: center;
}
.team .team-info {
	border-spacing: 0 0;
	flex:2;
	padding-left: 2em
}
.team .team-info td {
	padding: 1em 0;
	font-weight: bold;
	border-bottom: 1px solid var(--color-navy);
}
.team .team-info td.item {
	
}

/********  インスタグラム  ********/
.embed.embed-instagram {
	width: 100%;
	margin: 0 auto;

}
.block-instagram {
    text-align: center;
    color: var(--color-white);
    font-weight: bold;
    margin-bottom: 2em;
}
.block-instagram a {
	padding: 1em;
	border-radius: 10px;
	display: block;
	width: 100%;
	background: linear-gradient(45deg, rgba(255,213,33,1) 0%, rgba(245,0,0,1) 50%, rgba(185,0,180,1) 100%);

	transition-duration: 0.5s;
    transition-property: all;
    transition-timing-function: ease;
}
.block-instagram a:hover  {
	background: linear-gradient(-45deg, rgba(255,213,33,1) 0%, rgba(245,0,0,1) 50%, rgba(185,0,180,1) 100%);

	transition-duration: 0.5s;
    transition-property: all;
    transition-timing-function: ease;
}
.block-instagram a .text {
	display: inline-block;
}
.block-instagram a .text::before {
	content: "";
	display: inline-flex;

	width: 4em;
	height: 4em;

	position: absolute;
	left: -6em;
	top: 50%;
	transform: translateY(-50%);

	background-image: url(../img/common/instagram-wh.svg);
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
}


/********  お問い合わせ  ********/

#contact {
	margin-bottom: 5em;
}

.privacy {
	margin:2em 0;
	text-align: center;
}

/********  フッター  ********/
footer {
	padding: 3em 0 1em 0;
	background-color: var(--color-navy);
	color:#fff;
	text-align: center;
}
.footer-logo {
	width: 100px;
	margin: 0 auto 1em auto;
	text-align: center;
}

@media screen and (max-width:640px) {
	#header .header-contents {
		display: flex;
		flex-wrap: wrap;
	}
	#header .logo-mark {
		width: 20vw;
	}
	#header .logo-type .sub {
		font-size: 1em;
	}
	#header .block-tel {
		display: none;
		width: 100%;
		text-align: center;
	}
	#header .block-tel .number {
		font-size: 2em;
	}
	.column {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 2em;
		flex-direction: column-reverse;
	}
	.column .column-left {
		flex: auto;
		width: 100%;
		padding-right: 0em;
	}
	.column .column-right {
		flex: auto;
		width: 100%;
		padding-left: 0em;
	}
	.column .column-full {
		width: 100%;
	}

	.title.title-lv2 {
		text-align: left;
	}
	.title.title-lv2 .en {
		position: relative;
		display: block;
		right: 0em;
		font-size: 0.8em;
	}
	.team {
		display: block;
	}
	.team .logo {
		width: 50vw;
		text-align: center;
		margin:  0 auto;
	}
	.team .team-info {
		width: 100%;
		padding: 0 1em;
	}
	.team .team-info td {
		padding-left: 1em;
	}
	.embed.embed-twitter {
		height: 100vw;
		overflow: hidden;
	}

}
