@charset "utf-8";


/*====================================================================

photo

====================================================================*/

.p-contents__menu {
	margin: 0;
	border-bottom: 1px solid #e5dfd8;
}
	.p-contents__menu li {
		flex: 1;
	}
		.p-contents__menu li a {
			position: relative;
			display: block;
			padding: 1em;
			text-decoration: none;
			text-align: center;
		}
		.p-contents__menu li a::before {
			position: absolute;
			top: calc(50% - .5em);
			left: 0;
			content: "";
			height: 1em;
			border-left: 1px solid #CCC;
		}
		.p-contents__menu li:first-child a::before {
			display: none;
		}
		.p-contents__menu li.active a {
			color: #D13939;
			font-weight: 700;
		}
		.p-contents__menu li.active a::after {
			position: absolute;
			right: 0;
			left: 0;
			bottom: 0;
			content: "";
			margin: auto;
			border-bottom: 2px solid #D13939;
		}
.p-contents__inner {
	padding: 50px;
}
	.p-contents__inner .c-title05 {
		margin: 3em 0 1.3em;
	}
.p-photoback__price {
	letter-spacing: 0;
}
.p-photoback__price .p-price--l {
	display: flex;
	align-items: center;
	padding: 15px 20px;
	border: 1px solid #C9A063;
	border-radius: 10px;
	width: 35%;
}
	.p-photoback__price .p-price--l p:nth-child(2) {
		position: relative;
		padding-top: 15px;
		border-top: 1px solid #e5dfd8;
	}
	.p-photoback__price .p-price--l p:nth-child(2)::before {
		position: absolute;
		top: -10px;
		left: calc(50% - 10px);
		content: "+";
		display: inline-block;
		color: #fff;
		font-weight: 700;
		line-height: 20px;
		width: 20px;
		height: 20px;
		background: #c9a063;
		border-radius: 50%;
		text-align: center;
	}
	.p-photoback__price .p-price--l .p-price--bottom {
		margin: 10px 0 0;
		color: #fff;
		font-weight: 700;
		background: #d01126;
		border-radius: 10px;
		text-align: center;
	}
	.p-price--l__inner {
		width: 100%;
	}
	.p-price--l__inner .c-fnt--block {
		display: block;
	}
.p-photoback__price .p-price--r {
	position: relative;
	flex: 1;
	margin-left: 30px;
	padding: 15px 20px;
	background: #fff8f9;
	border: 1px solid #C9A063;
	border-radius: 10px;
}
.p-photoback__price .p-price--r::before {
	position: absolute;
	top: calc(50% - 20px);
	left: -38px;
	content: "+";
	display: inline-block;
	color: #fff;
	font-size: 30px;
	font-weight: 700;
	line-height: 45px;
	width: 45px;
	height: 45px;
	background: #c9a063;
	border-radius: 50%;
	text-align: center;
}

.c-label__point {
	display: block;
	padding: .2em 0;
	min-width: 6em;
	background: #ffdbdf;
	border-radius: 5px;
}
.p-option__title {
	margin: -15px -20px 0 -20px;
	padding: .2em;
	color: #fff;
	font-weight: 700;
	background: #d01126;
	border-radius: 10px 10px 0 0;
	text-align: center;
}
.p-option__box {
	justify-content: space-between;
	line-height: 1.3;
}
.p-option__item {
	position: relative;
	padding-top: 12px;
	width: 30%;
}
.p-option__item + .p-option__item::before {
	position: absolute;
	left: -14px;
	content: "";
	width: 1px;
	height: calc(100% - 12px);
	background: #C9A063;
}
	.p-option__item > p {
		font-size: 1.5rem;
	}
	.p-option__item dl {
		margin-top: 5px;
		padding-top: 5px;
		line-height: 1.2;
		border-top: 1px solid #e5dfd8;
	}
	.p-option__border {
		border-bottom: 1px solid #e5dfd8;
		padding-bottom: 5px;
	}
	.p-option__item dt {
		width: 6em;
	}
	.p-option__item dd {
		flex: 1;
		text-align: right;
	}
.p-option__bottom {
	position: absolute;
	right: 0;
	bottom: 0;
}
.p-osusume {
	margin-bottom: 50px;
	border: 1px solid #C9A063;
	border-radius: 10px;
}
.p-osusume__title {
	justify-content: center;
	align-items: center;
	padding: 15px;
	width: 31%;
	background: #FAF4EC;
	border-radius: 10px 0 0 10px;
	text-align: center;
}
.p-osusume__content {
	padding: 15px 20px;
	width: 69%;
}
.p-osusume__list {
	justify-content: space-around;
	align-items: flex-end;
	margin: 0;
	line-height: 1.5;
}
	.p-osusume__list li {
		position: relative;
		margin: 0 15px;
		text-align: center;
	}
	.p-osusume__list li:nth-child(2)::before {
		position: absolute;
		bottom: 5px;
		left: -35px;
		content: "+";
		display: inline-block;
		color: #fff;
		font-weight: 700;
		line-height: 20px;
		width: 20px;
		height: 20px;
		background: #c9a063;
		border-radius: 50%;
		text-align: center;
	}
	.p-osusume__list li:nth-child(3)::before {
		position: absolute;
		bottom: 5px;
		left: -35px;
		content: "=";
		display: inline-block;
		color: #fff;
		font-weight: 700;
		line-height: 20px;
		width: 20px;
		height: 20px;
		background: #c9a063;
		border-radius: 50%;
		text-align: center;
	}
.p-plan {
	margin-bottom: 50px;
	border: 1px solid #d5cfc8;
}
.p-plan__title {
	justify-content: center;
	align-items: center;
	padding: 15px;
	width: 17%;
	background: #FAF4EC;
	text-align: center;
}
.p-plan__content {
	padding: 15px 20px;
	width: 83%;
}
.p-plan__list {
	justify-content: space-around;
	margin: 0;
	line-height: 1.5;
}
	.p-plan__list li {
		position: relative;
		padding: 0 10px;
	}
	.p-plan__list.col3 li { width: calc(100% / 3); }
	.p-plan__list li .c-label--black {
		margin: 3px 0 0;
	}

.p-btnbox {
	margin: 50px 0;
}
.p-btnbox a {
	display: flex;
	align-items: center;
	text-decoration: none;
	color: #fff;
	background: url(../images/common/bg_asanoha.png) #C43C3C 50%;
}
	.p-btnbox .text {
		padding: 30px 40px;
		width: 50%;
	}
		.p-btnbox h3 {
			margin-bottom: 5px;
			font-size: 2.8rem;
		}
		.p-btnbox p {
			margin: 0;
			color: #fff;
		}
		.p-btnbox .text_btn {
			margin: 20px 0 0 0;
			padding: 5px 10px;
			color: #C81D09;
			font-size: 1.6rem;
			background-color: #fff;
			transition: all .3s ease;
		}
		.p-btnbox a:hover {
			background-color: #C81D09;
		}
	.p-btnbox .pic_scale {
		width: 50%;
		overflow: hidden;
	}
		.p-btnbox .pic_scale img {
			width: 100%;
		}
.p-today__flow li {
	position: relative;
}
	.p-today__flow .no {
		position: absolute;
		top: -10px;
		left: -10px;
		display: inline-block;
		margin: 0;
		color: #fff;
		font-size: 2rem;
		font-weight: 700;
		line-height: 40px;
		width: 40px;
		height: 40px;
		background: #c9a063;
		border-radius: 50%;
		text-align: center;
	}
	.p-today__flow .no02 {
		background: #C81D09;
	}
.p-shidai dt, 
.p-shidai dd {
	padding: .3em 0;
}
.p-shidai dd {
	margin: -2.5em 0 1px 18em;
}
	.p-shidai dt.gi {
		margin: 0 0 0 2em;
	}
@media screen and (max-width: 1240px) {
	.p-btnbox .text {
		padding: 20px;
	}
}
@media screen and (max-width: 960px) {
	.p-contents__main {
		padding: 15px;
		height: auto;
		background-size: cover;
	}
	.p-contents__main__sub {
		display: none;
	}
	.p-contents__main__inner02 {
		margin: 15px 0 0;
	}
	.p-contents__main__inner02 p {
		line-height: 1.5;
	}
		.p-contents__main h2 {
			font-size: 2.4rem;
		}
		.p-contents__main h2 span {
			font-size: 2rem;
		}
	.p-textarea {
		margin-top: 10px;
		padding: 7px;
	}
		.p-contents__menu li {
			flex: 1;
			font-size: 1.3rem;
			line-height: 1.4;
		}
			.p-contents__menu li a {
				display: flex;
				justify-content: center;
				align-items: center;
				padding: .5em;
				height: 100%;
			}
	.p-contents__inner {
		align-items: center;
		padding: 25px 15px;
	}
		.p-contents__inner .c-title05 {
			margin: 2em 0 1em;
			font-size: 1.6rem;
		}
	.p-photoback__price {
		display: block;
	}
	.p-photoback__price .p-price--l {
		display: block;
		padding: 15px 20px;
		width: 100%;
	}
	.p-photoback__price .p-price--r {
		margin: 40px 0 0;
		padding: 15px 20px 5px;
	}
	.p-photoback__price .p-price--r::before {
		top: -45px;
		left: calc(50% - 22px);
	}
	.p-osusume, 
	.p-plan {
		display: block;
	}
	.p-osusume__title, 
	.p-osusume__content, 
	.p-plan__title, 
	.p-plan__content {
		width: 100%;
	}
	.p-option__item + .p-option__item {
		margin: 0 0 0 25px;
	}
}
@media screen and (max-width: 560px) {
	.p-option__box {
		display: block;
	}
	.p-option__item {
		padding: 15px 0;
		width: 100%;
	}
	.p-option__item + .p-option__item {
		margin: 0;
	}
	.p-option__item + .p-option__item::before {
		display: none;
	}
		.p-option__item dl {
			margin-top: 7px;
			padding-top: 7px;
		}
		.p-option__item dt {
			width: 7em;
			padding-left: 1em;
		}
		.p-option__item .c-caption--10 {
			margin: 5px 0 0;
		}
	.p-option__bottom {
		position: static;
	}
	.p-osusume__list li { width: calc(50% - 30px); }
	.p-osusume__list li:nth-child(2)::before {
		bottom: calc(50% - 10px);
		left: -26%;
	}
	.p-osusume__list li:nth-child(3) { margin-top: 30px; width: 100%; }
	.p-osusume__list li:nth-child(3)::before {
		position: absolute;
		top: -20px;
		bottom: auto;
		left: 46%;
	}
	.p-plan__list li {
		padding: 0 0 15px;
		text-align: center;
	}
	.p-plan__list.col3 li {
		width: 100%;
	}
	.p-btnbox a {
		display: block;
	}
		.p-btnbox .text {
			width: 100%;
			text-align: center;
		}
			.p-btnbox h3 {
				font-size: 2.2rem;
			}
			.p-btnbox .text_btn {
				margin: 10px 0 0 0;
				padding: 5px 10px;
				font-size: 1.3rem;
			}
		.p-btnbox .pic_scale {
			width: 100%;
		}
	.p-shidai dd {
		margin: 0 0 0 3em;
	}
}

.p-photobg {
	background-color: #fff;
}

.p-photoheader {
	text-align: center;
	margin-bottom: 30px;
	padding: 0 20px;
}
.p-photoheader__title {
	font-size: 3rem;
	color: #d01126;
}
.p-photoheader__text {
	text-align: center;
	font-size: 2rem;
	margin-top: 10px;
}

@media screen and (max-width: 560px) {
	.p-photoheader__text {
		font-size: 1.8rem;
		margin-top: 10px;
	}
}

/* link__text */
a.c-link__text, 
.c-link__list li a, 
.c-link__menu li a {
	text-decoration: underline;
}
a.c-link__text:hover, 
.c-link__list li a:hover, 
.c-link__menu li a:hover {
	text-decoration: none;
}

/* link__list */
.c-link__list li {
	position: relative;
	padding-left: 20px;
}
.c-link__list.col2 li { width: calc(50% - 10px); }
.c-link__list.col3 li { width: 33.333%; }
.c-link__list.c-link__list02 li {
	padding-top: .5em;
	padding-bottom: .5em;
	border-top: 1px solid #e5dfd8;
}
.c-link__list--faq li {
	padding-left: 3em;
	text-indent: -3em;
}

/* link__menu */
.c-link__menu .c-arrow02 {
	position: relative;
	display: block;
	margin: 5px 0;
	padding-left: 20px;
}
.c-link__menu.col2 li {
	padding-bottom: .5em;
}
.c-link__menu.col2 li { width: calc(50% - 10px); }

@media screen and (max-width: 960px) {
	.c-more, 
	.c-btn a, 
	.c-btn .c-btn--l {
		font-size: 1.5rem;
	}
	.c-more {
		margin: 0 0 10px auto;
		width: 200px;
	}
	.c-link__list.col2 li, 
	.c-link__list.col3 li, 
	.c-link__menu.col2 li {
		width: 100%;
	}
}
@media screen and (max-width: 560px) {
	.c-link__text, 
	.c-link__text.c-fnt--lll {
		margin-left: 0;
		line-height: 1.5;
	}
	.c-btn__cover .c-btn {
		margin: 0 10px 20px;
	}
}

.c-title02--pink {
	margin: 2.5em 0 1em;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-align: center;
}
.c-title02--pink::before, .c-title02--pink::after {
  content: "";
  position: relative;
  top: 50%;
  display: inline-block;
  width: 50px;
  height: 3px;
  border-top: 1px solid #e1d1a9;
  border-bottom: 1px solid #e1d1a9;
	vertical-align: middle;
}
	.c-title02--pink span {
		display: inline-block;
		padding: 0 10px;
	}

.p-photosubtitle {
	border-top: 1px solid #ca1222;
	border-bottom: 1px solid #ca1222;
	padding: 20px 0;
	margin-bottom: 30px;
}
.p-photosubtitle h2 {
	font-size: 2.4rem;
	color: #d01126;
}
.p-photosubtitle p {
	margin: 10px 0 0;
}

.p-photo__foot .p-contact__foot__text {
	width: 500px;
	margin: 0 auto 30px auto;
	padding: 0 20px;
	max-width: 100%;
}
.p-photo__foot .p-contact__foot__text p {
	font-size: 2rem;
}
.p-photo__foot__inner {
	width: 100%;
}

.p-photo__foot .c-btn--l a, .c-btn--l input {
	width: 100%;
}

.c-title05 {
  margin: 1em 0 .5em;
  padding: .3em 1em;
  color: #fff;
  font-size: 1.8rem;
  line-height: 1.5;
  background: #d01126;
  border-radius: 20px;
  text-align: center;
}

/* slideshow */
.slideshow {
	margin: 10px auto;
}
.slideshow ul {
	list-style: none;
	margin: 0;
}
	.slideshow ul li {
		padding: 0;
		background: #f7f7f7;
	}
.photo, .photo02 {
	overflow: hidden;
	position: relative;
	float: left;
}
	.photo li, .photo02 li {
		position: absolute;
		text-align: center;
	}
		.photo li p, .photo02 li p {
			margin: 0 auto 10px auto;
			padding: .3em;
			font-size: 1.4rem;
			line-height: 1.3;
			width: 6em;
			background: #fff;
			border: 1px solid #555;
			border-radius: 20px;
			text-align: center;
		}
.thumb, .thumb02 {
	float: right;
}
	.thumb li, .thumb02 li {
		display: inline-block;
		margin: 0 3px 10px 3px;
		width: calc(100% / 4 - 10px);
		cursor: pointer;
	}
	.thumb li.thumbnail-current, .thumb02 li.thumbnail-current {
		position: relative;
	}
	.thumb li.thumbnail-current::before, .thumb02 li.thumbnail-current::before {
		position: absolute;
		content: "";
		width: 100%;
		height: 100%;
		border: 2px solid #d01126;
	}
.vertical .photo, .vertical .photo02 {
	width: 400px;
	height: 540px;
}
.vertical .thumb, .vertical .thumb02 {
	width: calc(100% - 420px);
}
@media screen and (max-width: 560px) {
	.photo, .photo02 {
		overflow: hidden;
		position: relative;
		float: none;
	}
		.photo li, .photo02 li {
			position: absolute;
		}
	.thumb, .thumb02 {
		float: none;
	}
	.vertical .photo, .vertical .photo02 {
		margin-bottom: 10px;
		width: 100%;
		height: auto;
	}
		.vertical .photo img, .vertical .photo02 img {
			width: 100%;
			height: auto;
		}
	.vertical .thumb, .vertical .thumb02 {
		width: 100%;
	}
}

.c-fnt--point {
	display: inline-block;
	padding: .5em 1em;
	color: #fff;
	background: #393939;
}
.p-box01 .c-fnt--point {
	margin: -20px auto 10px;
}

@media screen and (max-width: 560px) {
	.p-box.l-row--between .u-w22p, .p-box.l-row--between .u-w25p, .p-box.l-row--between .u-w30p, .p-box.l-row--between .u-w35p, .p-box.l-row--between .u-w40p, .p-box.l-row--between .u-w45p, .p-box.l-row--between .u-w50p, .p-box.l-row--between .u-w55p, .p-box.l-row--between .u-w60p, .p-box.l-row--between .u-w65p, .p-box.l-row--between .u-w70p, .l-row--between .u-w47p, .l-row--between .u-w49p {
		width: 100%;
	}
}

.p-box01 .p-phototitle01 {
	margin: -15px -25px 10px -25px;
	border: none;
	padding: 20px;
}
.p-box01--2 .p-phototitle01 {
	background: #fcf9e9;
}
.c-box01--pink {
	margin: 2.5em 0 1em;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-align: center;
}
.c-label--red {
	display: inline-block;
	padding: .3em .5em;
	color: #fff;
	background: #D13939;
}

.p-contact__foot {
	border-top: none;
}


/* slick-dots */
.p-slide .slick-dots {
	position: absolute;
	z-index: 2;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin: 10px 0 0;
	padding: 0 20px;
	list-style: none;
	text-align: center;
}
.p-slide .slick-dots li {
	position: relative;
	display: inline-block;
	width: 15px;
	height: 15px;
	margin: 0 3px;
	padding: 0;
}
.p-slide .slick-dots li button {
	font-size: 0;
	line-height: 0;
	display: block;
	width: 15px;
	height: 15px;
	padding: 5px;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: transparent;
}
.p-slide .slick-dots li button:hover,
.p-slide .slick-dots li button:focus {
	outline: none;
}
.p-slide .slick-dots li button:hover:before,
.p-slide .slick-dots li button:focus:before {
	opacity: 1;
}
.p-slide .slick-dots li button:before {
	font-size: 13px;
	line-height: 13px;
	position: absolute;
	top: 0;
	left: 0;
	width: 13px;
	height: 13px;
	font-family: "メイリオ", Meiryo;
	content: '●';
	text-align: center;
	color: #bbb;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.p-slide .slick-dots li.slick-active button:before, 
.p-slide .slick-dots li button:hover:before {
	color: #C43C3C;
}


.u-mt0 { margin-top: 0 !important;}
.u-w45p { width: 45%;}
