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

@media only screen and (min-device-width: 768px) { /*表示切り替え*/
	.sp-only{
		display: none;
	}
}

@media (min-width: 1200px){
	.container {
		max-width: 1170px;
	}
}



body {
	font-family: maru-maru-gothic-alr-stdn, sans-serif;
	font-weight: 400;
	font-style: normal;
}
header, #main, #about, #voice, #comparison, footer{
	background-color: #f8efe8;
}

img{ max-width: 100%; }

a:hover{
	text-decoration: none!important;
}
h1,h2,h3,h4,h5{
	margin-bottom: 0;
	color: #4d2e1a;
}
h2,h3,h4,h5{
	text-shadow: 0 0 1px #4d2e1a;
}
h3{
	font-size:1.625rem;
	letter-spacing: 0.1em;
}
h4{
	font-size:1.25rem;
	letter-spacing: 0.05em;
}
h5{
	font-size:1.125rem;
	letter-spacing: 0.05em;
}

p{
	word-break: break-all;
	margin-bottom: 0;
	color: #4d2e1a;
}
.line-through{
	text-decoration: line-through;
}
.f-en{
	font-family: cuisine, sans-serif;
	font-weight: 500;
	font-style: normal;
}
.f-red{
	color: #ea5652;
}


.load-up{
	opacity: 0; 
	transform: translateY(30px)/*スクロールアップする距離*/; 
	transition: all 1s/*処理にかかる時間*/;
}
.load-up.done{
	opacity : 1; 
	transform : translate(0, 0);
}
.scroll-up{opacity: 0; transform: translateY(20px)/*スクロールアップする距離*/; transition: all 1s/*処理にかかる時間*/;}
.scroll-up.done{opacity : 1; transform : translate(0, 0);}


.container .row{
	position: relative;
	margin-right: -20px;
	margin-left: -20px;
}
.wave{
position:relative;
height:200px;
}
canvas{
    position: absolute;
    top: -1px;
  	left:0;
    width: 100%;
	transform: rotate(180deg);
}
/*タイトル*/
.sec_title{
	margin-bottom: 48px;
}
.sec_title p{
	font-size: 1rem;
	letter-spacing: 0.05em;
	color: #c07753;

}
.sec_title h2{
	font-size: 2.5rem;
	letter-spacing: 0.1em;
	margin-bottom: 12px;
}
.sub-page h2{
	font-size:1.875rem;
	text-shadow: none;
	letter-spacing: 0.05em;
}

/*リンクボタン 枠 hover 黄色ベタ*/
.btn_simple{
	width: 248px;
	height: 44px;
	margin-top: 16px;
}
.btn_simple a{
	width: 248px;
	height: 44px;
	border: solid 1px #000;
	border-radius: 22px;
	box-sizing: border-box;
	color: #4d2e1a;
	transition : all 0.5s ease 0s;
	display: flex;
	align-items: center;
	padding-left: 24px;
	font-size:0.875rem;
	position: relative;
}
.btn_simple a:after{
	position: absolute;
	content: '';
	right:22px;
	top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	display: block;
	width: 14px;/*幅*/
	height: 14px;
	background-image: url("../img/common/icon_arrow_black.svg");
	background-size: contain;
	background-repeat: no-repeat;/*画像を繰り返さない*/
}
.btn_simple a:hover{
	background-color: #ffe950;
}
#about .btn_simple a{
	width: 227px;
}

/*リンクボタン　撮影予約お申し込み*/
.btn_form_link{
	width: 500px;
	height: 88px;
	margin: 0 auto;
}
.btn_form_link a{
	width: 500px;
	height: 88px;
	background-color: #c07753;
	border-radius: 44px;
	box-shadow: 0 0 16px 0 rgba(0, 0, 0, .18);
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	transition : all 0.5s ease 0s;
}
.btn_form_link a img{
	width: 182px;
	height: auto;
	padding-top: 28px;
}
.btn_form_link a:before{
	position: absolute;
	content: '';
	top: -20px;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	display: block;
	width: 60px;/*幅*/
	height: 50px;
	background-image: url("../img/common/icon_camera.svg");
	background-size: contain;
	background-repeat: no-repeat;/*画像を繰り返さない*/
}
.btn_form_link a:after{
	position: absolute;
	content: '';
	top: 50%;
    right: 30px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	display: block;
	width: 21px;/*幅*/
	height: 21px;
	background-image: url("../img/common/icon_arrow_white.svg");
	background-size: contain;
	background-repeat: no-repeat;/*画像を繰り返さない*/
}
.btn_form_link a:hover{
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
  	transform: translateY(-6px);
}

header{
	
}
header .header_logo{
	max-width: 1210px;
	margin: 0 auto;
	padding: 24px 20px 0;
}
header a{
	width: 200px;
	height: 100px;
	display: flex!important;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.navbar-brand img:first-child{
	width: 210px;
	padding-bottom: 8px;
}
.navbar-brand img:last-child{
	width: 180px;
	
}
#main{
	padding-bottom: 100px;
	position: relative;
}
#main .row{
	margin-right: -15px;
	margin-left: -15px;
}
#main .copy_point{
	margin: 0 auto 33px;
}

#main .main_txt{
	position: relative;
	padding-bottom: 16px;
}
#main .copy_point{
	position: absolute;
	top: -40px;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
#main .f-en{
	max-width: 1170px;
	font-size: 6.375rem;
	position: absolute;
	top: 40px;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
#main .f-en img{
	max-width: inherit;
}
#main h1{
	font-size: 3.375rem;
	letter-spacing: 0.1em;
	position: relative;
	margin-top: 40px;
}
#main .cp_pr_row{
	position: absolute;
	width: 1200px;
	margin: 0 auto;
/*	bottom: -30px;*/ /*キャンペーン料金表示時*/
	bottom: -24px; /*通常料金表示時*/
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
@media print, screen and (max-width: 1216px) {
	#main .cp_pr_row{
		width: calc(100% - 16px);
	}
}
#main .cp_pr_row .col-12{
	padding: 0;
}
#main .cp_pr,#main .main_price{
	background-color: #c47753;
	border-radius: 80px;
	padding: 20px 0 16px;
	box-shadow: 0 0 16px 0 rgba(0, 0, 0, .18);
	position: relative;
}
#main .cp_pr h2,#main .main_price h2{
	margin-bottom: 4px;
}
#main .cp_pr p{
	color: #fff;
}
#main .point_mark_bg {
	position: absolute;
	top: -40px;
    left: 202px;
	display: inline-block;
	animation: r1 8s linear infinite;
}
@keyframes r1 {
	0%   { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
#main .point_txt {
	position: absolute;
    top: 6px;
    left: 242px;
    display: inline-block;
    z-index: 3;
}
#main .main_img{
	position: relative;
}
#main canvas#waveCanvas{
	position: absolute;
    top: -1px;
  	left:0;
    width: 100%;
	transform: rotate(180deg);
	z-index: 2;
}
.slider_main{
  pointer-events: none;
}

#about{
/*	padding-top: 157px;*/ /* キャンペーン料金表示時*/
	padding-top: 128px; /*通常料金表示時*/
}
#about .sec_title p{
	font-size:1.5rem;
	line-height: 1.39583333;
	margin-bottom: 16px;
}
#about .sec_title h2{
	font-size: 3rem;
	margin-bottom: 0px;
}
#about .sub_title{
	margin-top: 0px;
}
#about .sub_title h4{
	text-shadow: none;
	margin-bottom: 30px;
}

#about .service_box{
	display: flex;
	justify-content: space-between;
	max-width: 1000px;
	margin: 0 auto;
}
#about .service_box .col-3{
	padding-left: 0;
	padding-right: 0;
	max-width: 227px;
	flex: initial;
	position: relative;
	padding-bottom: 24px;
	margin-bottom: 32px;
}
#about .service_box .col-3:after{
	position: absolute;
	content: '';
	bottom: 0px;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	display: block;
	width: 195px;/*幅*/
	height: 15px;
	background-image: url("../img/common/brown_dot.svg");
	background-size: contain;
	background-repeat: repeat-x;/*画像を繰り返さない*/
}

#about .icon_box{
	width: 227px;
	height: 186px;
	background-color: #fff;
	border-radius: 24px;
	margin: 0 auto 16px;
}
#about .icon_box img{
	width: 60px;
	height: 60px;
	margin-top: 32px;
	margin-bottom: 16px;
}
#about .icon_box h5{
	line-height: 1.55555556;
}
#about .service_box .col-3 p{
	width: 190px;
	margin: 0 auto;
	font-size:0.875rem;
	line-height: 1.78571429;
}
#about .note .col-12{
	padding-left: 0;
	padding-right: 0;
	
}
#about .note .col-12 p{
	font-size:0.875rem;
	width: 1000px;
	margin: 0 auto;
}

#link{
	max-width: 1000px;
	margin: 128px auto;
}
#link .col-6{
	position: relative;
	padding-bottom: 32px;
}
#link .col-6:after{
	position: absolute;
	content: '';
	bottom: 0;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	display: block;
	width: 215px;/*幅*/
	height: 15px;
	background-image: url("../img/common/brown_dot.svg");
	background-size: contain;
	background-repeat: repeat-x;/*画像を繰り返さない*/
}
#link a{
	width: 382px;
	height: 285px;
	transition : all 0.5s ease 0s;
}
#link a:hover{
	opacity: 0.8;
}
#link img{
	padding-bottom: 24px;
}
#link h4{
	text-shadow: none;
	padding-right: 45px;
	position: relative;
	margin: 0 auto 0;
	display: inline-block;
}
#link .col-6:nth-of-type(1) h4{
	width: 260px;
}
#link .col-6:nth-of-type(2) h4{
	width: 258px;
}
#link h4:after{
	position: absolute;
	content: '';
	top: 50%;
    right: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	display: block;
	width: 21px;/*幅*/
	height: 21px;
	background-image: url("../img/common/icon_arrow_brown.svg");
	background-size: contain;
	background-repeat: no-repeat;/*画像を繰り返さない*/
}

/*==================================================
スライダーのためのcss
===================================*/
.slider img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height:auto;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/

.slider .slick-slide {
    margin:0 6px;/*スライド左右の余白調整*/
}
ul.slider{
	margin-bottom: 0;
	padding-inline-start: 0px;
	padding-bottom: 104px;
}
/*==================================================
end スライダーのためのcss
===================================*/
#about .btn_form_link{
	height: 144px;
}

#price_service{
	margin-bottom: 128px;
}
#price_service .container{
	width: 1000px;
	margin: 0 auto 73px;
}
#price_service .price_box{
	background-color: #f8efe8;
	border-radius: 24px;
	padding: 37px 0 30px;
	margin-bottom: 16px;
}

#price_service .price_box .col-4{
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
#price_service .price_box .col-4 img{
	width: 56px;
	height: 56px;
	margin-right: 20px;
}
#price_service .price_box .col-4:after{
	position: absolute;
	content: '';
	top: 50%;
    right: 32px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	display: block;
	width: 15px;/*幅*/
	height: 118px;
	background-image: url("../img/common/brown_dot.svg");
	background-size: contain;
	background-repeat: repeat-y;
}
.cp_flag img{
	width: 193px!important;
	height: auto;
}
#price_service .price_red{
	display: flex;
	 justify-content: flex-start;
	align-items: flex-end;
}
#price_service .price_red p{
	color: #b0272d;
}
#price_service .price_red span{
	font-size: 2.1875rem;
}
#price_service .price_red img{
	margin-bottom: 12px;
	margin-left: 16px;
}
#price_service .line-through{
	margin-bottom: 16px;
}
#price_service .col-8 p:nth-of-type(2){
	font-size:0.9375rem;	
}
#price_service .note .col-12{
	padding-left: 0;
	padding-right: 0;
}
#price_service .note .col-12 p{
	font-size:0.875rem;
}




#flow{
	padding-bottom: 104px;
}
#flow .slider_flow{
	width: 800px;
	background-color: #f5ece5;
	border-radius: 24px;
	margin: 0 auto;
	flex: initial;
	padding: 48px 43px 40px;
}
#flow .slick-inner{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 24px;
}

#flow .slick-inner .slider-text{
	width: 505px;
}
#flow .slick-inner .slider-text h5{
	margin-bottom: 12px;
	text-shadow: none;
}
#flow .slick-inner .slider-text p{
	font-size:0.9375rem;
}
#flow .slick-inner .slider_text_link a{
	color: #4d2e1a;
	border-bottom: solid 1px #4d2e1a;
	padding-bottom: 2px;
}
#flow .slick-inner .slider_text_link a:hover{
	color: #c07753;
	border-bottom: solid 1px #c07753;
}
#flow .slick-inner:nth-of-type(1) .slider-text{
	padding-top: 32px;
}
#flow .slick-inner:nth-of-type(2) .slider-text{
	padding-top: 24px;
}
#flow .slick-inner:nth-of-type(3) .slider-text{
	padding-top: 32px;
}
#flow .slick-inner:nth-of-type(4) .slider-text{
	padding-top: 48px;
}
#flow .slick-inner:nth-of-type(5) .slider-text{
	padding-top: 16px;
}
#flow .slick-inner img{
	width: 180px;
	height: auto;
}
/*==================================================
Flow スライダーのためのcss
===================================*/
.slider_flow{
	position: relative;
}
img.slide-arrow{
	width: 38px;
	height: 38px;
}
img.prev-arrow{
	position: absolute;
	top: 88px;
	left: 8px;
	z-index: 3;
}
img.next-arrow{
	position: absolute;
	top: 88px;
	right: 8px;
	z-index: 0;
}
ul.slide-dots{
	padding-inline-start:0;
	text-align: center;
}
.slide-dots li{
	display: inline-block;
    margin: 0px;
	height: 20px;
  	width: 16px;
	position: relative;
}
.slide-dots li button{
	background: transparent;   
  	border:0;   
  	font-size: 0pt; 
}
.slide-dots li button:before
{
    font-family: 'slick';
    font-size: 62px;
    line-height: 20px;

    position: absolute;
    top: 0;
    right: 0;
    width: 20px;
    height: 20px;

    content: '•';
    text-align: center;
	cursor: default;

/*    opacity: .25;*/
    color: #e9bfaf;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
_::-webkit-full-page-media, _:future, :root .slide-dots li button:before {
    font-size: 32px;
}
.slide-dots li.slick-active button:before
{
/*    opacity: .75;*/
    color: #c07753;
}
/*==================================================
end Flow スライダーのためのcss
===================================*/

#voice{
	padding-bottom: 0;
}
#voice .sec_title{margin-bottom: 40px;}
#voice>.container>.row:nth-of-type(2) .col-12{
	margin: 0 auto;
	flex: initial;
	padding: 0 70px;
}
/*==================================================
Voice スライダーのためのcss
===================================*/
#voice .slider_voice .slick-inner{
	background-color: #fff;
/*	max-width: 314px;*/
	min-height: 586px;
	border-radius: 20px;
	margin: 0 15px;
	padding: 56px 38px 32px;
	position: relative;
}
#voice .slider_voice .slick-inner img{
	margin-bottom: 24px;
}
#voice .slider_voice .slick-inner .slider-text p{
	font-size:0.875rem;
	line-height: 1.75;
}
#voice .slider_voice .slick-inner .slider-text p+p{
	margin-top: 8px;
}
.voice_01,.voice_02,.voice_03,.voice_04,.voice_05,.voice_06{
	position: relative;
	padding-top: 45px;
}
#voice .slider_voice .voice_01:before{
	position: absolute;
	content: '';
	top: 0;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	display: block;
	width: 80px;/*幅*/
	height: 80px;
	background-image: url("../img/top/voice_01_2x.png");
	background-size: contain;
	background-repeat: no-repeat;/*画像を繰り返さない*/
	z-index: 3;
}
#voice .slider_voice .voice_02:before{
	position: absolute;
	content: '';
	top: 0;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	display: block;
	width: 80px;/*幅*/
	height: 80px;
	background-image: url("../img/top/voice_02_2x.png");
	background-size: contain;
	background-repeat: no-repeat;/*画像を繰り返さない*/
	z-index: 3;
}
#voice .slider_voice .voice_03:before{
	position: absolute;
	content: '';
	top: 0;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	display: block;
	width: 80px;/*幅*/
	height: 80px;
	background-image: url("../img/top/voice_03_2x.png");
	background-size: contain;
	background-repeat: no-repeat;/*画像を繰り返さない*/
	z-index: 3;
}
#voice .slider_voice .voice_04:before{
	position: absolute;
	content: '';
	top: 0;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	display: block;
	width: 80px;/*幅*/
	height: 80px;
	background-image: url("../img/top/voice_04_2x.png");
	background-size: contain;
	background-repeat: no-repeat;/*画像を繰り返さない*/
	z-index: 3;
}
#voice .slider_voice .voice_05:before{
	position: absolute;
	content: '';
	top: 0;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	display: block;
	width: 80px;/*幅*/
	height: 80px;
	background-image: url("../img/top/voice_05_2x.png");
	background-size: contain;
	background-repeat: no-repeat;/*画像を繰り返さない*/
	z-index: 3;
}
#voice .slider_voice .voice_06:before{
	position: absolute;
	content: '';
	top: 0;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	display: block;
	width: 80px;/*幅*/
	height: 80px;
	background-image: url("../img/top/voice_03_2x.png");
	background-size: contain;
	background-repeat: no-repeat;/*画像を繰り返さない*/
	z-index: 3;
}
#voice img.slide-arrow{
	width: 64px;
	height: 64px;
	cursor: pointer;
}
#voice img.prev-arrow{
	top: 300px;
	left: -18px;
}
#voice img.next-arrow{
	top: 300px;
	right: -18px;
}
#voice ul.slide-dots{
	margin-block-end: 0;
	margin-top: 16px;
}
/*==================================================
end Voice スライダーのためのcss
===================================*/

#comparison{
	padding-top: 112px;
	padding-bottom: 72px;
}
#comparison>.container>.row:nth-of-type(2) .col-12{
	width: 1000px;
	margin: 0 auto;
	flex: initial;
}
#comparison .pc-only .col-12{
	display: flex;
	justify-content: space-between;
}
#comparison .t_midashi{
	width: 250px;
	height: 100px;
	margin-top: 74px;
}
#comparison .t_midashi_box{
	width: 100%;
	height: 100%;
	background-color: #e9bfaf;
	border-top-left-radius: 20px;
	display: flex;
	align-items: center;
	padding: 0 40px;
	margin-bottom: 10px;
}
#comparison .t_midashi_box h4{
	text-shadow: none;
}
#comparison .t_text{
	width: 240px;
	margin-left: 10px;
}
#comparison .t_text_midashi{
	height: 64px;
	margin-bottom: 10px;
	background-color: #e9bfaf;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
	display: flex;
	align-items: center;
	padding: 0 24px;
}
#comparison .t_text_box{
	height: 100px;
	background-color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 0 24px;
	margin-bottom: 10px;
}
#comparison .t_mybook{
	position: relative;
}
#comparison .t_mybook:after{
	content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  display: block;
  border: 2px solid #e65652;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
}
#comparison .t_mybook .t_text_midashi{
	background-color: #e65652;
}
#comparison .t_mybook .t_text_midashi p{
	color: #fff;
}
#comparison .t_text_box:last-of-type{
	margin-bottom: 0;
}
#comparison .mybook_point{
	height: 14px;
	width: auto;
	margin-bottom: 4px;
}
#comparison  .container{
	padding-bottom: 125px;
}

#faq{
	margin-bottom: 125px;
}
#faq .container{
	padding-top: 32px;
}
/*==================================================
faq 「続きを読む」のためのcss
===================================*/
#faq .row:nth-of-type(2){
	max-width: 1000px;
	margin: 0 auto;
}
.grad-wrap {
  position: relative;
	width: 100%;
	margin: 0 auto;
	border: solid 1px #bbbbbb;
	border-radius: 20px;
	padding: 32px 100px;
}
.grad-wrap + .grad-wrap {
  margin-top: 14px;
}
.grad-trigger {
  z-index: 2;
	position: absolute;
	right: 0;
	bottom: 8px;
	left: 0;
	color: #e65652;
	font-size:0.9375rem;
	text-align: center;
	cursor: pointer;
}
.grad-trigger img{
	width: 14px;
	height: 14px;
	margin-left: 12px;
	margin-top: -4px;
}
.grad-item {
  position: relative;
  overflow: hidden;
	max-width: 800px;
}
.grad-item p{
	font-size:0.9375rem;
}
.p_question{
	padding-bottom: 8px;
	border-bottom: solid 1px #4d2e1a;
}
.p_answer{
	padding-top: 8px;
}
.grad-item.is-hide {
  height: 80px; /*隠した後の高さ*/
}
.grad-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 16px; /*グラデーションで隠す高さ*/
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
}
.grad-trigger.is-show + .grad-item::before {
  display: none;
}
#faq p span.hr_t{
     width: 290px;
	display: block;
	background-image: repeating-linear-gradient(0deg, #fff, #fff 16px, transparent 16px, transparent 21px, #fff 21px), repeating-linear-gradient(90deg, #4d2e1a, #4d2e1a 16px, transparent 16px, transparent 21px, #4d2e1a 21px), repeating-linear-gradient(180deg, #fff, #fff 16px, transparent 16px, transparent 21px, #fff 21px), repeating-linear-gradient(270deg, #fff, #fff 16px, transparent 16px, transparent 21px, #fff 21px);
	background-size: 1px 100%, 100% 1px, 1px 100% , 100% 1px;
	background-position: 0 0, 0 0, 100% 0, 0 100%;
	background-repeat: no-repeat;
	padding-top: 10px;
	margin-top: 8px;
}
#faq p span.hr_b{
    width: 290px;
	display: block;
	background-image: repeating-linear-gradient(0deg, #fff, #fff 16px, transparent 16px, transparent 21px, #fff 21px), repeating-linear-gradient(90deg, #fff, #fff 16px, transparent 16px, transparent 21px, #fff 21px), repeating-linear-gradient(180deg, #fff, #fff 16px, transparent 16px, transparent 21px, #fff 21px), repeating-linear-gradient(270deg, #4d2e1a, #4d2e1a 16px, transparent 16px, transparent 21px, #4d2e1a 21px);
	background-size: 1px 100%, 100% 1px, 1px 100% , 100% 1px;
	background-position: 0 0, 0 0, 100% 0, 0 100%;
	background-repeat: no-repeat;
	padding-bottom:10px;
	margin-bottom: 8px;
}
#faq .p_answer a{
	color: #4d2e1a;
	border-bottom: solid 1px #4d2e1a;
}
#faq .p_answer a:hover{
	color: #c07753;
	border-bottom: solid 1px #c07753;
}


footer{
	padding: 32px 0;
}
.footer_link{
	display: flex;
	justify-content: space-between;
}
.footer_logo{
	display: flex;	
	align-items: center;
}
.footer_logo img{
	  width: 140px;
}
.footer_logo p{
	color: #c07753;
	font-size:0.9375rem;
	margin-left: 16px;
}

/*リンクボタン　撮影予約お申し込み*/
.footer_form_link{
	width: 336px;
	height: 54px;
}
.footer_form_link a{
	width: 336px;
	height: 54px;
	background-color: #c07753;
	border-radius: 27px;
	box-shadow: 0 0 16px 0 rgba(0, 0, 0, .18);
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	transition : all 0.5s ease 0s;
}
.footer_form_link a img{
	height: 15px;
	width: auto;
	padding-top: 0px;
	padding-right: 12px;
}
.footer_form_link a:before{
	position: absolute;
	content: '';
	top: 50%;
    left: 42px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	display: block;
	width: 34px;/*幅*/
	height: 28px;
	background-image: url("../img/common/icon_camera.svg");
	background-size: contain;
	background-repeat: no-repeat;/*画像を繰り返さない*/
}
.footer_form_link a:after{
	position: absolute;
	content: '';
	top: 50%;
    right: 30px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	display: block;
	width: 18px;/*幅*/
	height: 18px;
	background-image: url("../img/common/icon_arrow_white.svg");
	background-size: contain;
	background-repeat: no-repeat;/*画像を繰り返さない*/
}
.footer_form_link a:hover{
	opacity: 0.8;
}

footer ul{
	display: flex;
	justify-content: flex-start;
	padding: 30px 0 16px;
	margin-bottom: 0;
}
footer ul li{
	display: inline-block;
	padding: 0 15px;
}
footer ul li:first-child{
	padding: 0 15px 0 0;
}
footer ul li a{
	color: #4d2e1a;
}
footer ul li a:hover{
	color: #c07753;
}
footer .copyright{
	text-align: left;
}

.page_top{
  position: fixed;
  right: 0px;
  bottom: 20px;
	z-index: 3;
}
.page_top a{
  position: relative;
  display: block;
  text-decoration: none;
	width: 100px;
	height: 60px;
	background-color: #fff;
	box-shadow: 0 0 16px 0 rgba(0, 0, 0, .18);
	border-top-left-radius: 30px;
	border-bottom-left-radius: 30px;
	transition : all 0.5s ease 0s;
}
.page_top a img{
	position: absolute;
	width: 22px;
	height: 22px;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.page_top a:hover{
	opacity: 0.8;
}

.form_link{
	position: fixed;
	right: 0px;
	top: 168px;
	z-index: 3;
}
.form_link a{
	-ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
	font-size:1.125rem;
	letter-spacing: 0.1em;
	color: #fff;
	background-color: #c07753;
	width: 100px;
	height: 260px;
	border-top-left-radius: 30px;
	border-bottom-left-radius: 30px;
	box-shadow: 0 0 16px 0 rgba(0, 0, 0, .18);
	position: relative;
	padding-top: 54px;
	padding-right: 37px;
	transition : all 0.5s ease 0s;
}
.form_link a:before{
	position: absolute;
	content: '';
	top: -18px;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	display: block;
	width: 60px;/*幅*/
	height: 50px;
	background-image: url("../img/common/icon_camera.svg");
	background-size: contain;
	background-repeat: no-repeat;/*画像を繰り返さない*/
}
.form_link a:hover{
	opacity: 0.8;
}
/*==================================================
レスポンシブのためのcss
===================================*/
@media print, screen and (max-width: 1199px) {
	#main .cp_pr_row{
		width: 990px;
	}
	#main .point_mark_bg{
		left: 108px;
	}
	#main .point_txt{
		left: 148px;
	}
	.about_img img:nth-child(2){
		top: 90px;
	}
	.about_img img:nth-child(3){
		top: 300px;
	}
}
@media print, screen and (max-width: 991px) {
	#main .copy_point{
		top: -30px;
	}
	#main .main_txt{
		margin-top: 40px;
	}
	#main .f-en{
		max-width: 620px;
	}
	#main .cp_pr_row{
		width: 750px;
/*		bottom: -38px;*/ /*キャンペーン料金表示時*/
		bottom: -24px; /*通常料金表示時*/
	}
	#main .cp_pr_row .main_price h2 img.pc-only{
		width: 368px;
		height: auto;
	}
	#main .point_mark_bg{
		left: 0px;
	}
	#main .point_txt{
		left: 38px;
	}
	#price_service .price_box .col-4:after{
		top: inherit;
		transform:translateY(0%);
		-webkit-transform:translateY(0%);
		-ms-transform:translateY(0%);
		right: 12px;
	}
	#price_service .price_red{
		flex-direction: column;
		align-items: flex-start;
	}
	#price_service .price_red img{
		margin-left: 0;
	}
	#link .col-6{
		padding-left: 20px;
		padding-right: 20px;
	}
	#flow .slick-inner .slider-text{
		padding-left: 20px;
	}
	#comparison .t_midashi_box{
		padding: 0 20px;
	}
	#comparison .t_text_midashi{
		padding: 0 20px;
	}
	#comparison .t_text_box{
		padding: 0 20px;
	}
	#comparison img.mybook_point {
		max-width: inherit;
	}
	.footer_logo{
		flex-direction: column;
		align-items: flex-start;
	}
	.footer_logo p{
		margin-left: 0;
	}
}
@media print, screen and (max-width: 767px) {
	#main .cp_pr_row{
		width: 570px;
	}
	#main .point_mark_bg{
		left: 0px;
	}
	#main .point_txt{
		left: 38px;
	}
}

/*==================================================
下層ページのためのcss
===================================*/
section.page_midashi{
	padding-top: 40px;
	background-color: #f8efe8;
}
section.page_midashi h1{
	font-size: 3.125rem;
	margin-bottom: 8px;
	text-shadow: 0 0 1px #4d2e1a;
	letter-spacing: 0.1em;
}
section.page_midashi p{
	font-size: 1.113125rem;
	color: #c07753;
}
.btn_top_back{
	width: 500px;
	height: 74px;
	margin: 80px auto 184px;
}
.btn_top_back a{
	width: 500px;
	height: 74px;
	border: solid 2px #c47753;
	border-radius: 37px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.btn_top_back a img{
	width: 104px;
	height: auto;
}
.btn_top_back a:before{
	position: absolute;
	content: '';
	top: 50%;
    left: 44px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	display: block;
	width: 22px;/*幅*/
	height: 22px;
	background-image: url("../img/common/icon_arrow_back.svg");
	background-size: contain;
	background-repeat: no-repeat;/*画像を繰り返さない*/
}