@charset "utf-8";

/*メインビジュアル*/
.mainVisual-block {
	display: grid;
	grid-template-rows: calc(12*1.75rem) 1fr;/*1frは画像高さ130px以上あれば良い*/
	grid-template-columns: minmax(auto, 75%) 1fr;/*全体850px 画像650px*/
	margin: 100px 50px 100px;
	justify-items: center;
}

.mainVisual {
	grid-row: 1 / 3;
	grid-column: 1 / 2;
	margin: auto;/*画像を上下中央に*/
	/*background: #f88;*/
	position: relative;
	width: 100%;
	height: 100%;
}

.lead-text {
	grid-row: 1 / 2;
	grid-column: 2 / 3;
	font-size: 1.75rem;/*28px*/
	line-height: 2;
	writing-mode: vertical-rl;
	/*background: #8f8;*/
}

.lead-text-imgage {
	grid-row: 2 / 3;
	grid-column: 2 / 3;
	/*background: #88f;*/
}

.mainVisual img {
	position: absolute;
	top: 0;
	left: 50%;
	border-radius: 100px;
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;
	max-width: 100%;/*レスポンシブ 伸縮設定*/
	width: auto;
	height: 100%;
	min-height: 380px;
	object-fit: cover;
	transform: translateX(-50%);
	animation: change-img-anim 32s infinite;
	opacity: 0;
}

.mainVisual img:nth-of-type(1) {
	animation-delay: 0s;
}
.mainVisual img:nth-of-type(2) {
	animation-delay: 8s;
}
.mainVisual img:nth-of-type(3) {
	animation-delay: 16s;
}
.mainVisual img:nth-of-type(4) {
	animation-delay: 24s;
}

@keyframes change-img-anim {
	0%{ opacity: 0;}
	6%{ opacity: 1;}
	30%{ opacity: 1;}
	35%{ opacity: 0;}
	100%{ opacity: 0;}
}

/*コンテンツ*/
main section h2 {
	font-size: 1.75rem;/*28px*/
	font-weight: 900;
	line-height: 1.2;
}

main section h2 span {
	font-size: 1.25rem;/*20px*/
	color: #f47a55;
}

main .concept,
main .staff,
main .information,
main .instagram {
	margin-top: 250px;
	margin-bottom: 100px;
}

/*ごあいさつ Concept*/

main .concept h2 {
	writing-mode: vertical-rl;
	text-align: left;
	float: left;
	width: 15%
}
main .concept .text {
	position: relative;
	float: left;
	width: 64%;/*85%-18%-3%=64%*/
	margin: 0 18% 0 3%;/*3%+15%=18%*/
	min-height: 350px;
	text-align: center;
	display:table;
	background-image: -webkit-radial-gradient(closest-side, #fddfd6 60%,rgba(255, 255, 255, 0) 100%);
	background-image: radial-gradient(closest-side, #fddfd6 60%,rgba(255, 255, 255, 0) 100%);
	/*アニメーション*/
	/*transform: translateY(100px);
	transition: all .5s ease-in;*/
}

main .concept .text:after {
	content: '';
	display: inline-block;
	background-image: url(../images/home/hairdryer.png);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	bottom: 0;
	right: -80px;
	transform: rotate(10deg);
	-webkit-transform: rotate(10deg);
	-ms-transform: rotate(10deg);
	width: 130px;
	height: 125px;
}

main .concept p {
	font-size: 1.375rem; /*22px*/
	line-height: 2;
	display:table-cell;
	vertical-align:middle;
}
/*スタッフ Staff*/
main .staff .staff-title,
main .staff-contents {
	float: right;
}

main .staff .staff-title {
	text-align: left;
	width: 15%;
}

main .staff h2{
	writing-mode: vertical-rl;
}

main .staff-contents {
	display: flex;
	width: 74%;
	text-align: center;
	margin-left: 7.5%;/*75px*/
	margin-right: 3.5%;/*35px*/
	justify-content: space-between;
}

main .staff-contents section {
	width: 47%;/*350px*/
	display: flex;
	flex-flow: column;
}
main .staff-contents .image {
	order: 1;
}

main .staff-contents h3 {
	order: 2;
	margin: 20px 0;
	font-size: 1.25rem;/*20px*/
}

main .staff-contents .staff-text {
	order: 3;
	text-align: left;
 }

/*お知らせ Information*/
main .information {
	position: relative;
}

/*くし*/
main .information:after {
	content: '';
	display: inline-block;
	background-image: url(../images/home/comb.png);
	background-repeat: no-repeat;
	position: absolute;
	bottom: 0;
	right: 200px;
	transform: rotate(320deg);
	-webkit-transform: rotate(320deg);
	-ms-transform: rotate(320deg);
	background-size: contain;
	vertical-align: middle;
	/*width: 23px height: 120px*/
	width: 23px;
	height: 120px;
}

/*はさみ*/
main .information:before {
	content: '';
	display: inline-block;
	background-image: url(../images/home/scissors.png);
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	right: 80px;
	transform: rotate(20deg);
	-webkit-transform: rotate(20deg);
	-ms-transform: rotate(20deg);
	background-size: contain;
	vertical-align: middle;
	/*width: 130px height: 246px*/
	width: 65px;
	height: 123px
}

main .information h2{
	writing-mode: vertical-rl;
	text-align: left;
	float: left;
	width: 15%
}

main .information dl {
	float: left;
	margin: 2% 0 2% 5%;
}
main .information dl dt {
	clear: left;/*2行目のdtが1行目のddの影響を受けないようにする.文字サイズを大きくされた時も崩れない*/
	float: left;
	margin-bottom: 20px;
}

main .information	dl dd {
	margin: 0 0 0 6em;
	margin-bottom: 20px;
	text-decoration: underline;
}

main .information .button {
	margin-left: 7.5%;
}

main .information .button span {
	position: relative;
	display: block;
	border: 2px solid #555;
	border-radius: 10px;
	background: #fff;
	padding: 10px 32px 10px 15px;
}

main .information .button:after {
	content: "";
	position: absolute;
	width: 8px;
	height: 8px;
	border-top: 2px solid #555;
	border-right: 2px solid #555;
	top: 50%;
	right: 17px;
	transform: translateY(-50%) rotate(45deg);
	-webkit-transform: translateY(-50%) rotate(45deg);
	-ms-transform: translateY(-50%) rotate(45deg);

}

/*インスタグラム Instagram*/


main .instagram h2,
main .instagram p {
	margin: 0 7.5% 0;
}

main .instagram h2 {
	float: left;
}

main .instagram p {
	float: right;
	border-radius: 10px;
	border: #555 2px solid;
	padding: 10px;
	background: #fff;
	position: relative;
	margin: 15px 0;
}

main .instagram p:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	border: 15px solid transparent;
	border-top: 15px solid #555;
	margin-left: -15px;
}

main .instagram p:after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	border: 15px solid transparent;
	border-top: 15px solid #fff;
	margin-left: -15px;
	margin-top: -3px;
}

main .instagram .instagram-slider {
	margin:0 20px 0 7%;
	clear: both;
}

main .instagram .instagram-slider img {
	border-radius: 20px;
	margin: 0 10px 0;
}

.slick-prev:before,
.slick-next:before {
	background: #aaa;
}

.prev-arrow,
.next-arrow {
	height: 42px;
	position: absolute;
	top: 50%;
	margin: 0;
	padding: 0;
	line-height: 1;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	cursor: pointer;
}

.prev-arrow {
	left: -25px;
}

.next-arrow {
	right: -25px;
}

main .instagram .instagram-image img+img {
	margin-left: 10px;
}

/*-------スクロールアニメーション-------*/
/* アニメーション前 */
.u-fade-type-up{
	transform: translateY(50px);
	opacity: 0;
}

/* トリガー発火でis-activeを付与 */
.u-fade-type-up.is-active{
	transition: all ease-in-out 0.8s;
	transform: translateY(0);
	opacity: 1;
}
.u-fade-type-up.is-active.delay {
	transition-delay: 300ms;
}


/*-----SP版の設定-------*/

@media screen and (max-width: 767px){

	/*メインビジュアル*/
	.mainVisual-block {
		margin: 50px 0 50px;
	}

	.mainVisual img {
		max-height: 260px;
		border-radius: 50px;
		-webkit-border-radius: 50px;
		-moz-border-radius: 50px;
		min-height: 260px;
		object-fit: cover;
	}

	.mainVisual-block {
		grid-template-rows: 260px calc(11*1.25rem);
		grid-template-columns: 50% 50%;
	}

	.mainVisual {
		grid-row: 1 / 2;
		grid-column: 1 / 3;
		margin-bottom:15px;
	}

	.lead-text {
		grid-row: 2 / 3;
		grid-column: 2 / 3;
		font-size: 1.125rem;/*18px*/
		line-height: 2;
		margin :15px 30% 0 10%;
	}

	.lead-text-imgage {
		grid-row: 2 / 3;
		grid-column: 1 / 2;
		/*background: #8f8;*/
		margin :auto 10% 10px 30%;
	}
	main .concept,
	main .staff,
	main .information,
	main .instagram {
		margin-bottom: 50px;
	}
	main section h2 {
		font-size: 1.5rem;
	}
	main section h2 span {
		font-size: 1rem;
		font-weight: 900;
	}
	/*Concept*/
	main .concept h2 {
		writing-mode: horizontal-tb;
		float: none;
		width: 100%;
	}

	main .concept .text {
		float: none;
		width: 100%;
		margin: 0%;
	}

	main .concept p {
		font-size: 1.125rem; /*18px*/
		line-height: 2;
	}

	main .concept .text:after {
		bottom: -50px;
		right: 10px;
		transform: rotate(20deg);
		-webkit-transform: rotate(20deg);
		-ms-transform: rotate(20deg);
		/*width: 130px; height: 125px;*/
		width: 104px;
		height: 100px;
	}

	/*Staff*/
	main .staff .staff-title,
	main .staff-contents {
		float: none;
	}

	main .staff .staff-title {
		text-align: left;
		width: 100%;
	}

	main .staff h2{
		writing-mode: horizontal-tb;
		height: auto;
		margin-bottom: 20px;
	}

	main .staff-contents {
		display: block;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	main .staff-contents section {
		width: 100%;
		margin-bottom: 25px;
	}

	main .staff-contents h3 {
		margin: 15px 0;
		font-size: 1.125rem;/*18px*/
	}

	/*お知らせ*/
	main .information {
		margin-bottom: 150px;
	}

	main .information h2 {
		writing-mode: horizontal-tb;
		text-align: left;
		float: none;
		width: 100%;
	}

	main .information dl dt {
		float: none;
		margin-bottom: 10px;
	}

	main .information dl dd {
		margin: 0 0 0 0;
		margin-bottom: 20px;
		text-decoration: underline;
	}

	main .information .button {
			margin-left: 5%;
	}
	/*くし*/
	main .information:after {
		bottom: -120px;
		left: 50%;
		transform: translateX(-50%) translateX(-50px) rotate(320deg);
		-webkit-transform: translateX(-50%) translateX(-50px) rotate(320deg);
		-ms-transform: translateX(-50%) translateX(-50px) rotate(320deg);
		/*width: 23px height: 120px*/
		width: 18.4px;
		height: 96px;
	}
	/*はさみ*/
	main .information:before {
		top: auto;
		bottom: -110px;
		left: 50%;
		transform: translateX(-50%) translateX(50px) rotate(20deg);
		-webkit-transform: translateX(-50%) translateX(50px) rotate(20deg);
		-ms-transform: translateX(-50%) translateX(50px) rotate(20deg);
		background-size: contain;
		vertical-align: middle;
		/*width: 130px height: 246px*/
		width: 45.5px;
		height: 86.1px;
	}

	/*インスタグラム*/
	main .instagram {
		margin-bottom: 80px;
	}

	main .instagram h2 {
		float: none;
	}

	main .instagram p {
		float: none;
		width: 18em;
		font-size: 0.875rem;
		margin: 15px auto;
	}

	main .instagram h2 {
		margin: 0 0 0;
	}

}
