/****ボタン****/
.btn {
	width: 380px!important;
	margin: 4rem auto 0;
}
.btn a {
	display: block;
	text-align: center;
	letter-spacing: 0.1em;
	line-height: 78px;
	font-size: 14px;
	border: 1px solid #808080;
	-webkit-border-radius: 40px;
	border-radius: 40px;
	position: relative;
	cursor: pointer;
	background: #FFF;
	-webkit-transition: .4s ease-out;
	-moz-transition: .4s ease-out;
	transition: .4s ease-out;
}
.btn a::after {
	content: "";
	width: 10px;
	height: 10px;
	position: absolute;
	right: 28px;
	top: 34px;
	border-top: 1px solid #2d2d2d;
	border-right: 1px solid #2d2d2d;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
a:link, a:hover {
	opacity: 1.0;
	filter: alpha(opacity=100);
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: middle;
	background: transparent;
	text-decoration: none;
	outline: none;
}
.btn a:hover {
	background: #2d2d2d;
	color: #FFF;
}
.btn a:hover::after {
	border-color: #FFF;
}
/********
 * TOPページ・固定ページ *
 *********/
/*見出し箇所 TOP*/
#lead {
	max-width: 920px;
	margin: 0 auto;
	padding: 100px 0 120px;
}
#lead h1 {
	text-align: center;
	padding: 0 0 30px;
	letter-spacing: 0.06em;
	color: #000;
	font-family: "Arapey" , serif;
	font-size: 40px;
	font-weight: normal;
}
#lead p {
	text-align: center;
	letter-spacing: 0.06em;
	line-height: 2.2;
	font-size: 15px;
	margin-bottom:50px;
}
/*TOP用 見出し 共通*/
h2.ttl {
	text-align: center;
}
h2.ttl .en {
	display: block;
	letter-spacing: 0.1em;
	line-height: 1;
	font-family: 'Catamaran', sans-serif;
	font-size: 18px;
	font-weight: 800;
}
h2.ttl .underline {
	width: 40px;
	margin: 25px auto;
	display: block;
	line-height: 0;
	border-bottom: 1px solid #1d1d1d;
}
h2.ttl + p {
	margin-bottom: 40px;
	font-size: 12px;
	text-align: center;
}
/*youtube*/
#movie .course-video {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	line-height: 0;
	position: relative;
	height: auto;
	padding-bottom: 56.25%;
}
#movie .course-video .movie_title {
	position: absolute;
	right: 10px;
	bottom: 10px;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
}
#movie .movie_link {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	margin-top: 20px;
	margin-bottom: 70px;
}
#movie .btn2 {
	width: 49%;
}
#movie .btn2 a {
	text-align: center;
	line-height: 80px;
	display: block;
	position: relative;
	z-index: 10;
	background: #2d2d2d;
}
#movie .btn2 a:hover {
	color: #1d1d1d;
	background: #a83f3f;
}
#movie .btn2 a span {
	width: 24px;
	display: block;
	position: absolute;
	left: 20px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	color: #fff;
}
.material-symbols-outlined {
	font-family: 'Material Symbols Outlined';
	font-weight: normal;
	font-style: normal;
	font-size: 24px;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	display: inline-block;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	-webkit-font-feature-settings: 'liga';
	-webkit-font-smoothing: antialiased;
}
#movie .btn2 a b {
	letter-spacing: 0.2em;
	color: #fff;
	font-family: 'Catamaran' , sans-serif;
	font-size: 16px;
	font-weight: 600;
}
/*youtube埋め込み*/
.course-video iframe,
.course-video object,
.course-video embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/*３段落目*/
#special_offer {
	padding: 100px 5%;
	position: relative;
}
#special_offer::before {
	content: "";
	width: 100%;
	height: 340px;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: #f7f7f7;
	z-index: -1;
}
#special_offer .bnr-list{
	margin: 40px auto 0;
	letter-spacing: 0;
	font-size: 0;
}
#special_offer .bnr-list li{
	width: 31.333%;
	margin-left: 3%;
	display: inline-block;
	vertical-align: top;
	position: relative;
}
#special_offer .bnr-list li:nth-child(3n+1){
	margin-left: 0;
	margin-bottom: 40px;
}
#special_offer a, #works a{
	display: block;
	font-size:14px;
	/*font-size:initial;*/
}
#special_offer a img{
	width: 100%;
	height: auto;
	/* 画像高さ揃える
	max-height: 240px;*/
	object-fit: cover;
	object-position: center;
}
#special_offer a span.news-picup {
	margin-top: 1.25em;
	display: block;
	text-align: center;
	letter-spacing: 0.06em;
	font-size: 16px;
	font-weight: 300;
}
/*4段落目*/
#japanArea {
	padding-bottom: 100px;
}
.area-nav {
	width: 100%;
	margin: 20px 0;
	text-align: center;
	position: relative;
	z-index: 10;
}
.area-nav ul li {
	display: inline-block;
	*display: inline;
	*zoom: 1;
	vertical-align: middle;
}
.area-nav ul li a {
	margin: 0 5px;
	padding: 0 5px;
	display: block;
	color: #1d1d1d;
	font-size: 12px;
	position: relative;
	line-height: 30px;
}
.area-nav ul li a::before {
	content: '|';
	display: block;
	position: absolute;
	right: -10px;
	top: -1px;
	line-height: 30px;
	color: #1d1d1d!important;
}
a .areaInfo {
	width: 350px;
	padding: 25px 25px 25px 12px;
	/*position: absolute;
	left: 0;
	bottom: -60px;
	background: #fff;*/
}
a .areaInfo h3 {
	letter-spacing: 0.1em;
	line-height: 1.3;
	font-family: "Arapey" , serif;
	font-size: 24px;
	font-weight: normal;
}
a .areaInfo p {
	margin-top: 1em;
	padding-top: 1em;
	text-align: left;
	font-size: 12px;
	line-height: 1.8;
	border-top: 1px solid #888;
}
/*5段落目*/
#works {
	padding-bottom: 40px;
}
#works h3.season-h3{
	text-align: center;
	letter-spacing: 0.1em;
	line-height: 1.3;
	font-family: "Arapey" , serif;
	font-size: 24px;
	font-weight: normal;
	margin: 60px 0 30px 0;
}
#works .portfolio-list {
	max-width: 1620px;
	margin: 0 auto;
	font-size: 0;
	letter-spacing: 0;
}
#works .portfolio-list li {
	/*３つ表示
	 * width: 29%;*/
	width: 21%;
	margin: 0 2% 30px;
	display: inline-block;
	*display: inline;
	*zoom: 1;
}
#works .portfolio-list li a {
	display: block;
	text-align: left;
	position: relative;
}
#works .portfolio-list li a {
	padding: 20px 0 0 0;
}
#works .portfolio-list li a .loc-info {
	margin-top: 1.25em;
	display: block;
	text-align: center;
	letter-spacing: 0.06em;
	font-size: 16px;
	font-weight: 300;
}
#works a img{
	width: 100%;
	height: auto;
   /* 画像高さ揃える
	max-height: 240px;*/
	object-fit: cover;
	object-position: center;
}
#photographer {
	padding: 50px 0 100px;
	text-align: center;
	background: #f7f7f7;
}
#photographer .pht {
	margin-bottom: 20px;
}
#photographer .pht img {
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}
#photographer h2.ttl {
	margin-bottom: 20px;
}
#dress {
	width: 100%;
	position: relative;
	margin-bottom: 100px;
}
#dress img {
	width: 100%;
	max-width: 100%;
	height: auto;
	line-height: 0;
}
#dress .pht {
	line-height: 0;
}
#dress a {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(0,0,0,0.5);
}
#dress a:hover {
	background: rgba(0,0,0,0.1);
	/*background: none;*/
}
#dress a div {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
#dress a div h2.ttl .en {
	color: #FFF;
}
#dress a div h2.ttl .underline {
	border-bottom: 1px solid #ddd;
}
#dress a div h2.ttl + p {
	margin-bottom: 0;
	color: #fff;
}
#feature .card {
	margin: 0.5rem;
	letter-spacing: -5px;
	font-size: 0;
	/* opacity: 0.3; */
	background: rgba(168,63,63,.05);
	padding: 1rem 0.6rem;
}
#feature .card figure {
	width: 100%;
	display: block;
}
#feature .card figure img {
	height: 360px;
	object-fit: cover;
	object-position: 50% 50%;
}
#feature img{
	width: 100%;
	max-width: 100%;
	height: auto;
	line-height: 0;
}
#feature .card .txt-wrap {
	width: 100%;
	height: auto;
	padding: 0 7.5% 2%;
	display: block;
}
#feature .card .txt-wrap h3 {
	margin-top: 12px;
	font-size: 16px;
	text-align: center;
	letter-spacing: 0.05em;
	line-height: 1.33;
	font-weight: 500;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}
#feature .card .txt-wrap p {
	letter-spacing: 0.1em;
	margin-top: 1em;
	line-height: 2;
	font-size: 10px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
/**********
 *  スマホ  *
 **********/
@media screen and (max-width: 640px){
	.btn {
		width: 300px!important;
		margin: 35px auto 0;
	}
	.btn a {
		line-height: 58px;
		font-size: 10px;
		-webkit-border-radius: 29px;
		border-radius: 29px;
	}
	/*top*/
	#lead {
		padding: 50px 6.667%;
	}
	#lead h1 {
		padding: 0 0 15px;
		font-size: 25px;
	}
	#lead p {
		line-height: 1.8;
		font-size: 12px;
	}
	.btn {
		width: 300px;
		margin: 35px auto 0;
	}
	.btn a {
		line-height: 58px;
		font-size: 10px;
		-webkit-border-radius: 29px;
		border-radius: 29px;
	}
	.btn a::after {
		content: "";
		width: 8px;
		height: 8px;
		position: absolute;
		right: 20px;
		top: 24px;
	}
	h2.ttl .en {
		font-size: 14px;
	}
	h2.ttl .underline {
		width: 30px;
		margin: 20px auto;
	}
	h2.ttl + p {
		margin-bottom: 20px;
		padding: 0 6.667%;
		font-size: 10px;
		text-align: left;
	}
	#movie .js-modal-btn .movie_title {
		font-size: 11px;
	}
	#movie .movie_link {
		display: block;
	}
	#movie .btn2 {
		width: 100%;
		margin-top: 20px;
	}
	#movie .btn2 {
		width: 100%;
		margin-top: 20px;
	}
	#movie .btn2 a b {
		font-size: 13px;
	}
	#movie .movie_title {
		font-size: 11px!important;
	}
	#special_offer {
		padding: 50px 0;
	}
	#special_offer::before {
		height: 280px;
	}
	#special_offer .bnr-list {
		width: 100%;
		margin: 15px 0 0;
	}
	#special_offer .bnr-list li {
		width: 100%;
		margin: 0 0 24px;
	}
	#special_offer a img{
		width: 100%;
		max-height: 480px;
	}
	#special_offer a span {
		font-size: 12px!important;
	}
	#japanArea {
		padding: 50px 0;
		background: #f7f7f7;
	}
	a .areaInfo {
		width: 100%;
		padding: 0;
		position: static;
		left: 0;
		top: 15px;
		background: none;
	}
	a .areaInfo h3 {
		margin-top: 12px;
		text-align: center;
		font-size: 16px;
	}
	#works {
		width: 90%;
		margin: 0 auto;
		padding: 50px 0 40px;
	}
	#works h3.season-h3{
		margin-bottom:0;
		margin-top: 12px;
		text-align: center;
		font-size: 16px;
	}
	#works .portfolio-list li {
		width: 49%;
		margin: 0;
		vertical-align: top;
	}
	#works .portfolio-list li a {
		text-align:center;
	}
	#works .portfolio-list li a h3 {
		height: auto;
		margin-top: 12px;
		padding: 0;
		text-align: center;
		font-weight: 100;
	}
	#works .portfolio-list li a .loc-info {
		font-size: 12px;
		line-height: 1.3em;
	}
	#works .portfolio-list li:nth-child(even) {
		margin-left: 2%;
	}
	#works a img {
		max-height: 240px
		}
		#photographer {
			padding: 0 0 50px;
		}
		#photographer .pht {
			margin-bottom: 20px;
		}
		#photographer h2.ttl {
			width: 90%;
			margin: 0 5% 15px;
			text-align: left;
		}
		#photographer h2.ttl + p {
			text-align: left;
		}
		#dress {
			width: 100%;
			position: relative;
			margin-bottom:50px;
		}
		#feature .card figure img {
			height: 240px;
		}
	}
	
	
	@media screen and (max-width: 480px){
		#dress a div {
			height: 130px;
		}
	}