@charset "utf-8";
/* --- スマートフォン対応 --- */
/* bottom */
#spBottom {
	display: none;
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 9990;
	width: 620px;
	height: 81px;
	padding: 14px 10px 10px;
	background: url(../sp/img/share/bottom_bg.gif) top repeat-x;
}
#spBottom a.event {
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
}
#spBottom div.tel {
	width: 266px;
	height: 81px;
	margin: 0 0 0 352px;
	border-left: 1px solid #877c82;
}
#spBottom div.tel h3 img {
	display: block;
	margin: 0 auto;
}
#spBottom div.tel ul {
	padding-left: 5px;
}
#spBottom div.tel li {
	float: left;
	display: inline;
	margin: 0 0 0 4px;
}


/* menu */
#spMenu {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 9998;
	width: 640px;
	height: 100%;
	color: #fff;
	background: rgba(255, 255, 255, 0.85);
}
#spMenu li {
	float: left;
	display: inline;
}

#spMenu ul li {
	width: 290px;
	margin: 0 0 20px 20px;
}

#spMenu ul.c01 {
	padding-top: 105px;
}
#spMenu ul.c01 li {
	width: 286px;
	margin: 0 0 20px 20px;
	border: 2px solid #433f40;
}
#spMenu ul.c01 a {
	display: block;
	height: 54px;
	padding-left: 1em;
	margin: 1px;
	font-size: 1.125em;
	line-height: 54px;
	border: 1px solid #433f40;
	background: url(../sp/img/share/menu_link.gif) 237px center no-repeat;
}
#spMenu ul.c02 {
	padding: 20px 0 10px;
	margin-bottom: 20px;
	border: 1px solid #433f40;
	border-right: none;
	border-left: none;
}
#spMenu ul.c02 li {
	width: 187px;
	margin-bottom: 10px;
}
#spMenu ul.c02 a {
	display: block;
	height: 44px;
	padding: 0 1em;
	margin: 1px;
	color: #fff;
	line-height: 44px;
	text-align: center;
	box-shadow: none;
	background: #261b1f;
	border-radius: 22px;
}
#spMenu ul.c02 li:nth-child(1) a {
	background: #261b1f url(../sp/img/share/menu_insta.png) 15px center no-repeat;
}
#spMenu ul.c02 li:nth-child(2) a {
	background: #261b1f url(../sp/img/share/menu_fb.png) 22px center no-repeat;
}
#spMenu ul.c02 li:nth-child(3) {
	width: 186px;
}
#spMenu ul.c02 li:nth-child(4),
#spMenu ul.c02 li:nth-child(5) {
	width: 290px;
}
#spMenu ul.c03 li {
	margin: 0 0 20px 20px;
}
#spMenu ul.c03 li img {
	width: 290px;
}

#spMenu div.c04 img {
	width: 596px;
	display: block;
	margin: 10px 0 0 20px;
	border: 2px solid #433f40;
}

#spMenu-sw {
	display: none;
	width: 80px;
	height: 80px;
	position: fixed;
	right: 20px;
	top: 14px;
	z-index: 9999;
}
#spMenu-sw a {
	display: block;
	position: absolute;
}

@media only screen and (max-width:640px) {
	body, input, select, textarea {
		font-size: 16px;
	}
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
	br.sp {
		display: inline-block;
	}

	#spBottom,
	#spMenu-sw {
		display: block;
	}


	/* container */
	#container {
		width: 640px;
	}


	/* header */
	#header p,
	#header ul.headerAccess,
	#header ul.headerBtn,
	#header ul.headerSubBtn {
		display: none;
	}
	#header {
		background: none;
	}
	#header h1 {
		position: absolute;
		left: 20px;
		top: 16px;
	}
	#headerInner {
		width: 640px;
		height: 112px;
	}
	#header ul.headerSpBtn {
		display: block;
		position: absolute;
		right: 111px;
		top: 14px;
		overflow: hidden;
	}
	#header ul.headerSpBtn li {
		float: left;
		display: inline;
		margin-left: 10px;
	}


	/* nav */
	.nav {
		display: none;
	}


	/* right */
	#right {
		display: none;
	}


	/* contents */
	div#contents {
		padding-bottom: 0;
	}


	/* footer */
	#footerInner {
		width: 640px;
	}

	#footerEvent li {
		margin-left: 20px;
	}
	#footerEvent li.c01 img {
		width: 600px;
	}
	#footerEvent li.c02 img,
	#footerEvent li.c03 img {
		width: 290px;
	}

	#footerAccess {
		clear: both;
		width: 600px;
		padding: 50px 0 0;
		margin: 0 auto;
	}
	#footerAccess li {
		width: 600px;
		margin-bottom: 20px;
		float: none;
		display: block;
	}
	#footerAccess li h3 {
		padding-top: 1em;
	}
	#footerAccess li img,
	#footerAccess li .img {
		float: right;
		display: inline;
		margin: 2px 2px 20px;
	}
	#footerAccess li .img {
		width: 310px;
	}
	#footerAccess li .img p {
		font-size: 1em;
	}
	#footerAccess li p.tel img {
		float: none;
		margin: 0;
	}
	#footerAccess li table {
		clear: both;
	}
	#footerAccess li th {
		width: 100px;
	}
	#footerAccess li iframe {
		position: relative;
		width: 596px;
	}

	#footerSitemap {
		display: none;
	}
	#footerBanner {
		padding-bottom: 110px;
	}
	#footerBanner li img {
		width: 180px;
	}

	#footer .other {
		padding-bottom: 120px;
	}
	#footer .other ul {
		display: block;
		padding: 10px 0 10px 60px;
		margin: 0 0 0 20px;
		white-space: nowrap;
	}
	#footer .other ul li {
		display: inline-block;
		width: 38%;
	}


	/* パーツ */
	.btnBlackS,
	.btnBlackL {
		width: 530px;
		height: 60px;
		padding-right: 70px;
		line-height: 60px;
		background-image: url(../sp/img/share/btn_blackS.jpg);
	}
	.btnPinkL,
	.formSubmit input {
		width: 600px;
		height: 80px;
		line-height: 80px;
		background-image: url(../sp/img/share/btn_pinkL.jpg);
	}


	/* --- トップページ --- */

	.mainImgOuter {
		margin: 0;
	}
	.mainImgOver {
		width: 640px;
		left: calc(50% - 320px);
		background: url(../sp/img/index/mainImgCover.png) center top no-repeat;
	}
	.mainImgOver h1 {
		left: calc(50% - 215px);
		top: 10px;
	}
	.mainImgOver h1 img {
		width: 430px;
	}
	.mainImgOver img.kuchikomi {
		left: 20px;
		bottom: 72px;
	}
	.mainImgOver.right h1 {
		left: calc(50% - 215px);
		right: auto;
	}
	.mainImgOver.right img.kuchikomi {
		left: 20px;
		right: auto;
	}
	#mainImg li > img {
		opacity: 0;
	}
/*
	#mainImg li.c01 > img,
	#mainImg li.c02 > img {
		left: -190px;
	}
	#mainImg li.c03 > img {
		left: -205px;
	}
	#mainImg li.c04 > img {
		left: -180px;
	}
	#mainImg li.c05 > img {
		left: -275px;
	}
	#mainImg li.c06 > img {
		left: -215px;
	}
	#mainImg li.c07 > img {
		left: -218px;
	}
	#mainImg li.c08 > img {
		left: -310px;
	}
	#mainImg li.c09 > img {
		left: -245px;
	}
	#mainImg li.c10 > img {
		left: -265px;
	}
	#mainImg li.c11 > img {
		left: 405px;
	}
	#mainImg li.c12 > img {
		left: 465px;
	}
	#mainImg li.c13 > img {
		left: -250px;
		bottom: -25px;
	}
	#mainImg li.c14 > img {
		left: -290px;
	}
*/

	.indexSectionTitle {
		width: 640px;
		padding: 0 0 22px;
	}
	.indexSectionTitle h3 img {
		width: auto;
		height: auto;
		margin: 108px auto 32px;
	}

	#indexCampaignBanner {
		width: 596px;
		padding: 70px 2px 28px;
		margin: -48px auto 105px;
		background-size: 100% auto;
	}
	.cp_thumbnail {
		width: 520px;
		margin: 0 auto;
	}

	#indexAisatsu {
		height: auto;
		line-height: 1.8;
	}
	#indexAisatsu .inner {
		width: 580px;
		height: auto;
		margin-left: -44px;
		padding: 0 74px 2em;
		border-radius: 40% 40% 0 0;
	}
	#indexAisatsu h3 img {
		width: auto;
		height: 136.25px;
		margin-bottom: 0.75em;
	}
	#indexAisatsu p {
		padding-top: 0.75em;
		font-size: 1.1875em;
		text-align: justify;
		text-justify: inter-ideograph;
	}
	#indexAisatsu p.bottom {
		width: auto;
		padding-top: 1.25em;
		margin-top: 1.25em;
		text-align: center;
	}

	#indexReason ul {
		width: 600px;
	}
	#indexReason .indexSectionTitle h3 img {
		height: 90px;
	}
	#indexReason li {
		position: relative;
		float: none;
		display: block;
		width: 600px;
		margin: 15px 0 40px;
	}
	#indexReason li img {
		float: right;
		display: inline;
		margin-right: -10px;
	}
	#indexReason li h4 img {
		float: none;
		margin: 0;
		position: absolute;
		left: 0;
		top: 84px;
	}
	#indexReason li p {
		clear: both;
		float: none;
		height: auto;
		padding: 1em 0 1.25em;
	}

	#indexRecommended {
		width: 640px;
		background-position: -484px top;
	}
	#indexRecommended h3 {
		margin: 0 20px 20px;
	}
	#indexRecommended h3 img {
		width: auto;
		height: 67.5px;
	}
	#indexRecommended ul,
	#indexRecommended ul.c02 {
		float: none;
		display: block;
		width: 600px;
		padding: 0;
		margin: 0 auto;
	}
	#indexRecommended .btnPinkL {
		font-size: 1.17em;
	}

	#indexCampaign {
		width: 640px;
		background-position: 100px top;
	}
	#indexCampaign .indexSectionTitle h3 img {
		height: 102.5px;
	}
	#indexCampaign_spacial1,
	#indexCampaign_spacial2 {
		background: none;
	}
	#indexCampaign_spacial1 div,
	#indexCampaign_spacial2 div {
		background: none;
	}

	#indexCampaign_spacial1 ol li {
		margin: 0 12px;
	}
	#indexCampaign_spacial1 ol li img {
		width: 184px;
	}
	#indexCampaign_spacial1 ol li.c04 img {
		width: 600px;
		margin: 20px 0 0;
	}

	#indexCampaign_spacial2 {
		padding-bottom: 0;
	}
	#indexCampaign_spacial2 span {
		width: 580px;
		height: 780px;
	}
	#indexCampaign_spacial2 ol {
		width: 700px;
	}
	#indexCampaign_spacial2 ol li {
		width: 290px;
		height: 150px;
	}
	#indexCampaign_spacial2 p {
		display: none;
	}

	#indexCampaign a.VIPCard img {
		margin: 0 auto;
	}

	#indexCollection {
		width: 640px;
	}
	#indexCollection .indexSectionTitle h3 img {
		height: 91.25px;
	}
	#indexCollection li {
		float: none;
		display: block;
	}
	#indexCollection .banner {
		width: 600px;
		top: 0;
		margin-left: 20px;
	}
	#indexCollection .banner li img {
		width: 440px;
	}
	#indexCollection .banner li.c01 {
		margin: 30px 160px 25px 0;
	}
	#indexCollection .banner li.c02 {
		margin: 0 160px 45px 0;
	}
	#indexCollection .banner li.c03,
	#indexCollection .banner li.c04 {
		margin: 0 0 25px 160px;
	}
	#indexCollection #indexCollection_style1 {
		float: none;
		margin: 0;
		position: absolute;
		right: 20px;
		top: 220px;
	}
	#indexCollection #indexCollection_style2 {
		left: 20px;
		bottom: 0;
	}
	#indexCollection #indexCollection_style1 li,
	#indexCollection #indexCollection_style2 li {
		margin: 16px 0 0;
	}

	#indexGallery .btnBlackL {
		margin-top: 85px;
	}
	#indexGallery .slick-arrow {
		top: auto;
		bottom: -78px;
		height: 36px;
	}
	#indexGallery .slick-next {
		right: 20px;
	}
	#indexGallery .slick-prev {
		left: 20px;
	}

	#indexPhoto ul {
		width: 600px;
	}
	#indexPhoto li {
		position: relative;
		width: 600px;
		margin: 15px 0 40px;
	}
	#indexPhoto li img {
		float: right;
		display: inline;
		margin-right: -10px;
	}
	#indexPhoto li h4 img {
		float: none;
		margin: 0;
		position: absolute;
		left: 0;
		top: 84px;
	}
	#indexPhoto li p {
		clear: both;
		float: none;
		height: auto;
		padding: 1em 0 1.25em;
	}

	#indexInstagram {
		width: 640px;
	}
	#indexInstagram ul {
		overflow: hidden;
		width: 525px;
		height: 500px;
		margin: 0 auto 20px;
		padding: 0 0 20px 25px;
	}

	#indexPlanBanner {
		width: 600px;
		padding: 37px 0 80px;
	}
	#indexPlanBanner img {
		width: 600px;
	}


	/* --- 下層ページ --- */
	.pageTop,
	.section {
		width: 640px;
	}
	.pageTop p,
	.sectionTop p {
		margin: 0 30px;
		text-align: justify;
		text-justify: inter-ideograph;
	}
	.secTitle, h3.formSecTitle {
		margin-left: 20px;
		margin-right: 20px;
		margin-bottom: 1em;
	}


	/* フォトページ｜卒業袴／男性の成人式 */
	#photoSec1.section,
	#formenSec1.section {
		padding-top: 25px;
		margin: -25px auto 55px;
	}
	#photoSec2.section,
	#photoSec3.section,
	#photoSec4.section,
	#formenSec2.section {
		padding-top: 25px;
		margin: 0 auto 55px;
	}

	.gallerySlide h3 img {
		position: relative;
		left: -192px;
	}
	.gallerySlide .inner {
		float: none;
		display: block;
		margin: 0 auto 20px;
	}
	.gallerySlide .pager {
		float: none;
		display: block;
		width: 640px;
	}
	.gallerySlide .pager ul {
		width: 610px;
		margin: 0 auto;
	}
	.gallerySlide .pager li {
		width: calc(20% - 10px);
		margin: 0;
		padding: 5px;
	}

	#galleryAmenity {
		border: none;
		box-shadow: none;
	}
	#galleryAmenity li {
		width: 279px;
		height: 240px;
		margin: 20px 0 0 20px;
	}
	#galleryAmenity li p {
		padding: 0 20px;
		text-align: left;
	}
	#galleryAmenity li p br {
		display: none;
	}


	/* プランページ */
	.planSec {
		min-height: auto;
	}
	.planSec .img {
		height: 220px;
		overflow: hidden;
	}
	#planSec1 .img img {
		margin: -50px 0 0 -1110px;
	}
	#planSec2 .img img {
		margin: -10% 0 0 -55%;
		height: 150%;
	}
	#planSec3 .img img {
		margin: -80px 0 0 -900px;
		width: 1600px;
		height: auto;
	}
	#planSec4 .img img {
		margin: -60px 0 0 -580px;
	}
	#planSec5 .img img {
		margin: -60px 0 0 -1080px;
	}
	.planSec .text h3 img {
		margin: -30px 0 0 -10px;
	}
	.planSec .text p {
		margin-right: 30px;
	}
	.planSec .btn a {
		width: 100%;
	}

	#planSec1 .text,
	#planSec2 .text,
	#planSec3 .text,
	#planSec4 .text,
	#planSec5 .text {
		margin-left: 20px;
		margin-bottom: 60px;
	}

	#planSec1 .text {
		height: 240px;
	}
	#planSec1_spacial1 h4 {
		position: relative;
		margin: 0;
	}
	#planSec1_spacial1 li.c01,
	#planSec1_spacial1 li.c02,
	#planSec1_spacial1 li.c03 {
		margin-left: 20px;
	}
	#planSec1_spacial1 li.c01 img,
	#planSec1_spacial1 li.c02 img,
	#planSec1_spacial1 li.c03 img {
		width: 188px;
	}
	#planSec1_spacial1 li.c04,
	#planSec1_spacial1 li.c05 {
		display: block;
		margin: 0 0 50px 76px;
	}

	#planSec1_spacial2 h4 img {
		margin-top: 0;
	}
	#planSec1_spacial2 span {
		width: 600px;
		height: 790px;
	}
	#planSec1_spacial2 ol {
		width: 700px;
	}
	#planSec1_spacial2 ol li {
		width: 295px;
		height: 150px;
	}
	#planSec1_spacial2 p {
		display: none;
	}

	#planSec1_campaign img {
		width: 594px;
	}

	#planVIPCard img {
		margin: 0 auto;
	}


	/* お問合せ・資料請求｜来店のご予約 */
	/* 共通 */
	#formTel {
		clear: both;
		padding-top: 40px;
	}
	#formTel ul {
		width: 600px;
		margin: 0 auto;
	}
	#formTel li {
		float: none;
		display: block;
		width: 600px;
		margin-left: 0;
	}

	#formOuter h4 {
		margin: 0 20px 10px;
	}
	#formOuter table {
		margin: 0 20px;
		width: 600px;
	}
	#formOuter th,
	#formOuter td {
		display: block;
		border-bottom: none;
	}
	#formOuter th {
		width: 560px;
	}
	#formOuter th br {
		display: none;
	}
	#formOuter td {
		width: 600px;
		padding-left: 0;
		padding-bottom: 2em;
	}

	#formOuter input.text {
		width: 180px;
	}
	#formOuter textarea {
		width: 560px;
	}
	#formOuter .formAddress span.item:nth-child(3) input,
	#formOuter .formAddress span.item:nth-child(4) input,
	#formOuter input[type="tel"],
	#formOuter input[type="email"] {
		width: 360px;
	}
	#formOuter span.item {
		margin-right: 1em;
	}

	.formPrivacy {
		width: 600px;
	}

	div.wpcf7-response-output {
		width: 600px;
	}


	/* サンクスページ */
	.thanks-page p {
		width: 600px;
		margin: 12px auto 0;
	}
	.thanks-page p:first-child {
		text-align: left;
	}


	/* お問合せ・資料請求 */
	#inquiryIntro {
		height: auto;
		background: none;
	}
	#inquiryIntro h3 {
		padding: 60px 0 30px;
	}
	#inquiryIntro h3 img {
		display: block;
		margin: 0 auto;
	}
	#inquiryIntro p {
		text-align: center;
	}
	#inquiryIntro ul {
		padding: 0 0 60px;
	}
	#inquiryIntro li {
		position: relative;
		float: left;
		display: inline;
		left: 0 !important;
		top: 0 !important;
	}
	#inquiryIntro li img {
		width: 212px;
	}
	#inquiryIntro li.c04 {
		margin-left: 106px;
	}


	/* 来店のご予約 */
	#reserveEvent {
		width: 620px;
		margin-left: 20px;
		margin-bottom: 0;
	}
	#reserveEvent img {
		max-width: 100%;
		max-height: 100%;
	}
	#reserveEvent h3,
	#reserveEvent h3.formSecTitle {
		margin-right: 20px;
	}

	#reserveEvent_special1 {
		padding-bottom: 70px;
	}

	#reserveEvent_special2 h4 {
		margin-top: 0;
	}
	#reserveEvent_special2 ol {
		margin-right: 20px;
	}
	#reserveEvent_special2 li {
		margin: 0 3px;
	}
	#reserveEvent_special2 li.c01 img,
	#reserveEvent_special2 li.c02 img,
	#reserveEvent_special2 li.c03 img {
		width: 188px;
	}
	#reserveEvent_special2 li.c04 img {
		display: block;
		width: 580px;
		margin: 20px auto 0;
	}

	#reserveEvent_special3 h4 {
		line-height: 36px;
	}
	#reserveEvent_special3 span {
		width: 600px;
		height: 790px;
		margin: 0;
	}
	#reserveEvent_special3 ol {
		width: 700px;
	}
	#reserveEvent_special3 ol li {
		width: 295px;
		height: 150px;
	}
	#reserveEvent_special3 p {
		display: none;
	}


	/* 振袖コレクション */
	#collectionBrand {
		margin-bottom: 60px;
	}
	#collectionBrand span {
		width: 592px;
	}
	#collectionBrand ul {
		width: 616px;
	}
	#collectionBrand li {
		width: calc((100% - 64px) / 4);
	}

	#collectionBanner {
		margin-bottom: 40px;
	}
	#collectionBanner ul.banner {
		width: 600px;
		margin-left: 20px;
	}
	#collectionBanner .banner li {
		float: none;
		display: block;
		margin: 0 0 20px 20px;
	}
	#collectionBanner .banner li img {
		width: 440px;
	}
	#collectionBanner .banner li.c01 {
		margin: 30px 160px 25px 0;
	}
	#collectionBanner .banner li.c02 {
		margin: 0 160px 45px 0;
	}
	#collectionBanner .banner li.c03,
	#collectionBanner .banner li.c04 {
		margin: 0 0 25px 160px;
	}

	#collectionBanner #collection_style1,
	#collectionBanner #collection_style2 {
		position: absolute;
		display: block;
		width: 122px;
	}
	#collectionBanner #collection_style1 {
		right: 20px;
		top: -30px;
	}
	#collectionBanner #collection_style2 {
		left: 20px;
		bottom: 0;
	}
	#collectionBanner #collection_style1 li,
	#collectionBanner #collection_style2 li {
		margin: 16px 0 0;
	}

	.collectionSec ul {
		width: 600px;
	}
	.collectionSec ul li {
		width: 186px;
	}
	.collectionSec ul li a {
		padding-top: 255px;
	}
	html.frame_in .collectionSec ul li {
		margin: 10px 0 10px 20px;
	}
	html.frame_in .collectionSec ul li:nth-child(3n+1) {
		margin-left: 0;
	}


	/* ビューティ */
	#beautySec1 li.c01 img.main {
		width: 620px;
		margin-left: 20px;
		margin-bottom: 100px;
	}
	#beautySec1 li.c01 .text {
		left: 300px;
		top: 120px;
		width: 320px;
	}
	#beautySec1 li.c02 img.main {
		width: 369px;
		margin-left: 251px;
	}
	#beautySec1 li.c02 .text {
		left: 20px;
		top: 61px;
		width: 320px;
	}
	#beautySec1 li.c03 {
		margin: 0;
	}
	#beautySec1 li.c03 img.main {
		width: 564px;
		margin-left: 20px;
	}
	#beautySec1 li.c03 .text {
		left: 340px;
		top: 61px;
		width: 280px;
	}

	#beautySec2 .main {
		float: none;
		display: block;
		margin: 0 auto 30px;
	}
	#beautySec2 h3 {
		padding: 0 20px;
	}
	#beautySec2 p {
		padding: 1em 20px 0;
	}
	#beautySec2 li {
		float: none;
		display: block;
		width: 600px;
		padding: 0 20px 20px;
		background: none;
		border-bottom: 1px dashed #f1c0d4;
	}
	#beautySec2 li p {
		padding: 0;
	}
	#beautySec2 li:nth-child(3) {
		border: none;
		padding-bottom: 0;
	}
	#beautySec2 li:nth-child(3) h4 {
		height: 130px;
	}
	#beautySec2 li:nth-child(3) h4 img {
		margin-bottom: 20px;
	}

	#beautySec3 ul {
		padding: 0 20px;
	}
	#beautySec3 li.c01 {
		position: relative;
		z-index: 2;
	}
	#beautySec3 li.c02 {
		margin: -45px 0 20px;
		position: relative;
		z-index: 1;
	}
	#beautySec3 li.c01 img {
		width: 522px;
	}
	#beautySec3 li.c02 img {
		width: 420px;
	}
	#beautySec3 p {
		padding: 0 20px;
	}


	/* --- 新着情報 --- */
	.news .section,
	.single .section {
		margin: 0 0 55px;
	}
	.news .pageTop p {
		text-align: center;
	}
	.articleArea {
		padding: 0 20px;
	}
	.articleArea .img {
		width: 100%;
	}
	.articleArea .textArea {
		width: 100%;
		margin-top: 3em;
	}
	.articleArea .textArea h3 {
		background: #dd568c;
		padding: 0.5em 1em;
		color: #fff;
		font-size: 1.5em;
		font-weight: normal;
		line-height: 1.5;
		letter-spacing: 0.05em;
		border-radius: 5px 5px 0 0;
	}
}