@charset "UTF-8";
/* CSS Document */

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/

footer nav ul li:nth-child(4) a::before{
    width: 100%;
    content: '';
}

body.slide_block {
	width: 100%;
	height: 100vh;
	padding: 0;
	
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.slider {
	width: 100%;
}

#album ul li a {
    position: relative;
    width: 228px;
    height: 32px;
	margin: 0 auto;
	display: block;
    line-height: 32px;
    border-radius: 4px;
    border: none;
    background: rgb(246, 244, 242);
    color: #3E3A39;
    text-align: center;
    outline: none;
    cursor: pointer;
    margin: 24px auto;
    font-size: 14px;
    transition: opacity 0.5s ease, visibility 0.5s ease, background 0.2s ease;
}

iframe {
	width: 100%;
	height: 66.6vw;
	margin: 0 auto;
}

.color_red {
	color: red;
}




/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 751px){
	
	.fancybox-content {
        padding: 0;
    }
	
	#main_vl {
        width: 100%;
		height: 39vw;
		max-height: 500px;
		overflow: hidden;
        line-height: 0;
        position: relative;
    }
	
	#main_vl img{
        object-fit: cover;
		object-position: center;
    }

    section {
		width: 100%;
		position: relative;
		padding-top: 60px;
	}
	
	section span.deco{
		width: 10vw;
		max-width: 120px;
		position: absolute;
		top: -2.8vw;
		left: 15vw;
		z-index: 5;
	}
	
	nav.page_nav {
		width: 90%;
		max-width: 960px;
		margin: 0 auto;
	}
	
	nav.page_nav ul{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		list-style: none;
	}
	
	nav.page_nav ul li{
		width: 18%;
		position: relative;
		margin: 0 0.5%;
	}
	
	nav.page_nav ul li a{
		width: 100%;
		text-align: center;
		background: rgba(121,137,114,1);
		color: #FFF;
		font-family: ten-mincho-text, serif;
		display: inline-block;
		padding: 4px 8px;
		border-radius: 5px;
	}
	
	section#studio,
	section#newborn,
	section#shichigosan,
	section#location,
	section#option,
	section#album{
		width: 100%;
		position: relative;
		padding-top: 0;
		margin-top: 100px;
	}
	
	section h3 {
		width: 240px;
		margin: 0 auto 40px;
		font-size: 20px;
        font-size: 2.0rem;
        line-height: 1;
        text-align: center;
        font-family: ten-mincho-text, serif;
		position: relative;
		border: 1px solid #3e3a39;
		border-width: 0 1px;
		padding: 12px 0;
	}
	
	section h3::before {
		content: "";
		width: 100%;
		height: 1px;
		border-top: 1px solid #3e3a39;
		position: absolute;
		top: -5px;
		left: 0;
	}
	
	section h3::after {
		content: "";
		width: 100%;
		height: 1px;
		border-bottom: 1px solid #3e3a39;
		position: absolute;
		bottom: -5px;
		left: 0;
	}
	
	section div.photo {
		line-height: 0;
		margin-bottom: 45px;
	}
	
	section div.box{
		margin-bottom: 40px;
	}
	
	section div.box ul.plan {
		width: 100%;
		border: 1px solid #3e3a39;
		padding: 8px 15px;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
		list-style: none;
		margin-bottom: 20px;
		font-family: a-otf-futo-go-b101-pr6n, sans-serif;
	}
	
	section div.box ul.plan li.price_name{
		width: -webkit-calc(100% - 12em);
		width: -moz-calc(100% - 12em);
		width: calc(100% - 12em);
	}
	
	section div.box ul.plan li.price{
		width: 12em;
		text-align: right;
	}
	
	section div.box ul.plan.price_w li.price_name{
		width: -webkit-calc(100% - 20em);
		width: -moz-calc(100% - 20em);
		width: calc(100% - 20em);
	}
	
	section div.box ul.plan.price_w li.price{
		width: 20em;
		text-align: right;
	}
	
	section div.box ul.plan li.price span{
		font-size: 12px;
		font-size: 1.2rem;
	}
	
	section div.box ul.box_lr {
		width: 100%;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
		list-style: none;
	}
	
	section div.box ul.box_lr li.box_l,
	section div.box ul.box_lr li.box_r{
		width: 48%;
	}
	
	section div.box p {
		font-size: 14px;
        font-size: 1.4rem;
		line-height: 1.8;
		display: flex;
		flex-wrap:wrap;
		justify-content: flex-start;
	}
	
	section div.box p span{
		display: inline-block;
		margin-right: 1.5em;
	}
	
	section p span:last-child{
		margin-right: 0;
	}
	
	section div.box p.cap {
		font-size: 12px;
        font-size: 1.2rem;
		margin-top: 15px;
	}
	
	section div.box p.cap span{
		text-indent: -1em;
		padding-left: 1em;
	}
	
	section#shichigosan div.box ul.plan + p {
		display: block;
	}
	
	section#shichigosan div.box ul.plan + p,
	section#omiyamairi div.box ul.plan + p{
		display: block;
	}
	
	section#shichigosan div.box ul.plan + p a,
	section#omiyamairi div.box ul.plan + p a{
		color: #3e3a39;
		text-decoration: underline;
	}
	
	section#shichigosan div.carry,
	section#omiyamairi div.carry{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		margin-top: 10px;
		margin-bottom: 40px;
		font-size: 14px;
		font-size: 1.4rem;
	}
	
	section#shichigosan div.carry h6,
	section#omiyamairi div.carry h6{
		width: 184px;
		font-size: 14px;
		font-size: 1.4rem;
		font-weight: normal;
	}
	
	section#shichigosan div.carry dl,
	section#omiyamairi div.carry dl{
		width: -webkit-calc(100% - 184px);
		width: -moz-calc(100% - 184px);
		width: calc(100% - 184px);
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	
	section#shichigosan div.carry dl dt,
	section#omiyamairi div.carry dl dt{
		width: 168px;
	}
	
	section#shichigosan div.carry dl dd,
	section#omiyamairi div.carry dl dd{
		width: -webkit-calc(100% - 168px);
		width: -moz-calc(100% - 168px);
		width: calc(100% - 168px);
	}
	
	section#shichigosan div.box div.photo.rental,
	section#omiyamairi div.box div.photo.rental{
		margin-bottom: 30px;
	}
	
	section#shichigosan div.box p.rental,
	section#omiyamairi div.box p.rental{
		display: block;
		font-size: 18px;
		font-size: 1.8rem;
		text-align: center;
		margin-bottom: 30px;
		letter-spacing: 0.1em;
	}
	
	section div.box ul.photo {
		width: 100%;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
		list-style: none;
		margin: 20px 0;
	}
	
	section div.box ul.photo li{
		width: 48%;
	}
	
	section div.box ul.photo li div{
		line-height: 0;
		margin-bottom: 5px;
	}
	
	section div.box ul.photo li p{
		font-size: 12px;
        font-size: 1.2rem;
	}
	
	section div.box div.box_inner{
		background: #F6F4F2;
		padding: 12px 18px;
		margin-top: 25px;
	}
	
	section div.box div.box_inner h6{
		margin-bottom: 5px;
		font-size: 13px;
        font-size: 1.3rem;
		line-height: 1.5;
	}
	
	section div.box div.box_inner p{
		font-size: 13px;
        font-size: 1.3rem;
		line-height: 1.5;
		text-indent: -1em;
		padding-left: 1em;
		margin-bottom: 3px;
	}
	
	section#option p {
		font-size: 14px;
        font-size: 1.4rem;
		line-height: 1.8;
		display: flex;
		flex-wrap:wrap;
		justify-content: center;
	}
	
	section#option div.box + p {
		font-size: 16px;
        font-size: 1.6rem;
		line-height: 1;
		letter-spacing: 0.1em;
		display: block;
		text-align: center;
		margin-top: 60px;
	}
	
	section#option div.box + p a{
		color: #3e3a39;
		text-decoration: underline;
	}
	
	section#album div.photo{
		margin-bottom: 30px;
	}
	
	section#album div.photo + p {
		text-align: center;
		line-height: 2.4;
		margin-bottom: 30px;
	}
	
	section#newborn h4,
	section#album h4 {
		line-height: 1;
		padding: 10px 15px;
		border: 1px solid #3e3a39;
		margin: 30px 0 10px;
	}
	
	section#album ul{
		width: 100%;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
		list-style: none;
	}
	
	section#album ul li{
		width: 49%;
		margin-bottom: 30px;
	}
	
	section#album ul li:nth-child(even){
		width: 49%;
	}
	
	section#album ul li p{
		text-indent: -1.5em;
		padding-left: 1.5em;
	}
}

/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 750px){
	
	.fancybox-slide--iframe .fancybox-content {
        height: 50%;
    }
	
	#main_vl {
        width: 100%;
        line-height: 0;
        position: relative;
    }
	
	section {
		width: 100%;
		position: relative;
		padding-top: 5.4vw;
	}

    section span.deco{
		width: 15vw;
		max-width: 120px;
		position: absolute;
		top: -2.8vw;
		left: 5vw;
		z-index: 5;
	}
	
	nav.page_nav {
		width: 95%;
		margin: 0 auto;
	}
	
	nav.page_nav ul{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		list-style: none;
		font-size: 14px;
		font-size: 1.4rem;
	}
	
	nav.page_nav ul li{
		width: 48%;
		margin: 0 1%;
		margin-bottom: 8px;
	}
	
	nav.page_nav ul li a{
		width: 100%;
		text-align: center;
		background: rgba(121,137,114,1);
		color: #FFF;
		font-family: ten-mincho-text, serif;
		display: inline-block;
		padding: 4px 15px;
		border-radius: 5px;
		letter-spacing: -0.02em;
	}
	
	section#studio,
	section#newborn,
	section#shichigosan,
	section#location,
	section#option,
	section#album{
		width: 100%;
		position: relative;
		padding-top: 0;
		margin-top: 80px;
	}
	
	section h3 {
		width: 220px;
		margin: 0 auto 30px;
		font-size: 18px;
        font-size: 1.8rem;
        line-height: 1;
        text-align: center;
        font-family: ten-mincho-text, serif;
		position: relative;
		border: 1px solid #3e3a39;
		border-width: 0 1px;
		padding: 12px 0;
	}
	
	section h3::before {
		content: "";
		width: 100%;
		height: 1px;
		border-top: 1px solid #3e3a39;
		position: absolute;
		top: -5px;
		left: 0;
	}
	
	section h3::after {
		content: "";
		width: 100%;
		height: 1px;
		border-bottom: 1px solid #3e3a39;
		position: absolute;
		bottom: -5px;
		left: 0;
	}
	
	section div.photo {
		line-height: 0;
		margin-bottom: 35px;
	}
	
	section div.box{
		margin-bottom: 40px;
	}
	
	section div.box ul.plan {
		width: 100%;
		font-size: 14px;
        font-size: 1.4rem;
		border: 1px solid #3e3a39;
		padding: 8px 15px;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
		list-style: none;
		margin-bottom: 20px;
		font-family: a-otf-futo-go-b101-pr6n, sans-serif;
	}
	
	section div.box ul.plan li.price_name{
		width: -webkit-calc(100% - 12em);
		width: -moz-calc(100% - 12em);
		width: calc(100% - 12em);
	}
	
	section div.box ul.plan li.price{
		width: 12em;
		text-align: right;
	}
	
	section div.box ul.plan li.price span{
		font-size: 12px;
		font-size: 1.2rem;
	}
	
	section div.box ul.plan.w100 {
		display: block;
		flex-wrap:wrap;
		justify-content: space-between;
	}
	
	section div.box ul.plan.w100 li.price_name,
	section div.box ul.plan.w100 li.price{
		width: 100%;
	}
	
	section div.box ul.box_lr {
		width: 100%;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
		list-style: none;
	}
	
	section div.box ul.box_lr li.box_l,
	section div.box ul.box_lr li.box_r{
		width: 100%;
	}
	
	section div.box ul.box_lr li.box_l{
		margin-bottom: 35px;
	}
	
	section div.box p {
		font-size: 13px;
        font-size: 1.3rem;
		line-height: 1.8;
		display: flex;
		flex-wrap:wrap;
		justify-content: flex-start;
	}
	
	section div.box p span{
		display: inline-block;
		margin-right: 1.5em;
		text-indent: -1.25em;
		padding-left: 1.25em;
	}
	
	section p span:last-child{
		margin-right: 0;
	}
	
	section div.box p.cap {
		font-size: 12px;
        font-size: 1.2rem;
		margin-top: 15px;
	}
	
	section div.box p.cap span{
		text-indent: -1em;
		padding-left: 1em;
	}
	
	section#shichigosan div.box ul.plan + p,
	section#omiyamairi div.box ul.plan + p{
		display: block;
	}
	
	section#shichigosan div.box ul.plan + p a,
	section#omiyamairi div.box ul.plan + p a{
		color: #3e3a39;
		text-decoration: underline;
	}
	
	section#shichigosan div.carry,
	section#omiyamairi div.carry {
		margin-top: 10px;
		margin-bottom: 20px;
		font-size: 13px;
		font-size: 1.3rem;
	}
	
	section#shichigosan div.carry h6,
	section#omiyamairi div.carry h6{
		font-size: 14px;
		font-size: 1.4rem;
		font-weight: normal;
	}
	
	section#shichigosan div.carry dl,
	section#omiyamairi div.carry dl{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	
	section#shichigosan div.carry dl dt,
	section#omiyamairi div.carry dl dt{
		width: 138px;
	}
	
	section#shichigosan div.carry dl dd,
	section#omiyamairi div.carry dl dd{
		width: -webkit-calc(100% - 138px);
		width: -moz-calc(100% - 138px);
		width: calc(100% - 138px);
		letter-spacing: -0.01em;
	}
	
	section#shichigosan div.box div.photo.rental,
	section#omiyamairi div.box div.photo.rental{
		margin-bottom: 20px;
	}
	
	section#shichigosan div.box p.rental,
	section#omiyamairi div.box p.rental{
		display: block;
		font-size: 14px;
		font-size: 1.4rem;
		text-align: center;
		margin-bottom: 20px;
		letter-spacing: 0.1em;
	}
	
	section div.box ul.photo {
		width: 100%;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
		list-style: none;
		margin: 20px 0;
	}
	
	section div.box ul.photo li{
		width: 80%;
		margin: 0 auto 15px;
	}
	
	section div.box ul.photo li div{
		line-height: 0;
		margin-bottom: 5px;
	}
	
	section div.box ul.photo li p{
		font-size: 12px;
        font-size: 1.2rem;
	}
	
	section div.box div.box_inner{
		background: #F6F4F2;
		padding: 12px 18px;
		margin-top: 25px;
	}
	
	section div.box div.box_inner h6{
		margin-bottom: 5px;
		font-size: 13px;
        font-size: 1.3rem;
		line-height: 1.5;
	}
	
	section div.box div.box_inner p{
		font-size: 13px;
        font-size: 1.3rem;
		line-height: 1.5;
		text-indent: -1em;
		padding-left: 1em;
		margin-bottom: 3px;
	}
	
	section#option p {
		font-size: 13px;
        font-size: 1.3rem;
		line-height: 1.8;
		text-align: center;
		display: block;
	}
	
	section#option div.box + p {
		font-size: 16px;
        font-size: 1.6rem;
		line-height: 1;
		letter-spacing: 0.1em;
		display: block;
		text-align: center;
		margin-top: 60px;
	}
	
	section#option div.box + p a{
		color: #3e3a39;
		text-decoration: underline;
	}
	
	section#option div.box ul.photo li{
		width: 100%;
		margin: 0 auto 15px;
	}
	
	section#option div.box ul.photo li div{
		width: 80%;
		line-height: 0;
		margin: 0 auto 5px;
	}
	
	section#album div.photo{
		margin-bottom: 30px;
	}
	
	section#album div.photo + p {
		ont-size: 14px;
        font-size: 1.4rem;
		text-align: left;
		line-height: 2.4;
		margin-bottom: 30px;
	}
	
	section#newborn h4,
	section#album h4{
		ont-size: 16px;
        font-size: 1.6rem;
		line-height: 1;
		padding: 10px 15px;
		border: 1px solid #3e3a39;
		margin: 45px 0 10px;
	}
	
	section#album ul{
		width: 100%;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
		list-style: none;
	}
	
	section#album ul li{
		width: 100%;
		margin-bottom: 10px;
	}
	
	section#album ul li p{
		font-size: 14px;
        font-size: 1.4rem;
		line-height: 1.8;
		text-indent: -1.5em;
		padding-left: 1.5em;
	}
	
}

@media screen and (max-width: 320px){
	
	section#option p span{
		margin-right: 0;
	}
	
	nav.page_nav ul{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		list-style: none;
		font-size: 12px;
		font-size: 1.2rem;
	}
	
	nav.page_nav ul li{
		width: 48%;
		margin: 0 1%;
		margin-bottom: 8px;
	}
	
	nav.page_nav ul li a{
		width: 100%;
		text-align: center;
		background: rgba(121,137,114,1);
		color: #FFF;
		font-family: ten-mincho-text, serif;
		display: inline-block;
		padding: 4px 15px;
		border-radius: 5px;
		letter-spacing: -0.02em;
	}
}

