@charset "utf-8";
@font-face {
	font-family: 'MPLUSRounded1c-Regular';
	src: url(../fonts/MPLUSRounded1c-Regular.ttf) format('truetype'), url(../fonts/MPLUSRounded1c-Regular.woff) format('woff'), url(../fonts/MPLUSRounded1c-Regular.eot) format("embedded-opentype");
}
body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	color: #000;
}
.marumji {
	font-family: 'MPLUSRounded1c-Regular', sans-serif;
}
.bg_pink {
	background: #F9EEEE;
}
.bg_beige {
	background: #FCF6F0;
}
.bg_purple {
	background: #F8F6FA;
}
/* PC-------------------------------------------------------------------- */

@media screen and (min-width:769px) {
	body {
		font-size: 18px;
	}
	/*メインビジュアル*/
	.main {
		position: relative;
	}
	.main_title_box {
		position: absolute;
		bottom: -5%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		-webkit- transform: translateY(-50%) translateX(-50%);
		background: rgba(255, 255, 255, 0.8);
		z-index: 1;
		padding: 40px 70px;
		text-align: center;
	}
	.main_title_box:before {
		position: absolute;
		top: -18px;
		left: -17px;
		width: calc(100% - -1px);
		height: calc(100% - -3px);
		content: '';
		-webkit-transition: all .3s;
		transition: all .3s;
		border: 1px solid #000;
	}
	.main_title {
		width: 280px;
	}
	.main_title span {
		display: inline-block;
		color: #F38989;
		font-size: 36pt;
		letter-spacing: 4px;
		text-shadow: 2px 2px 1px #5D5D5D, -2px 2px 1px #5D5D5D, 2px -2px 1px #5D5D5D, -2px -2px 1px #5D5D5D, 2px 0px 1px #5D5D5D, 0px 2px 1px #5D5D5D, -2px 0px 1px #5D5D5D, 0px -2px 1px #5D5D5D;
	}
	.main_slide img {
		width: 100%;
	}
	.gentei {
		position: absolute;
		left: -96px;
		top: -66px;
	}
	.main .btn_wrap {
		margin-top: 25px;
	}
	.main_reserve_btn {
		border-radius: 0;
		background: #FFDFDF;
		display: inline-block;
		position: relative;
		padding: 20px 0;
		text-decoration: none;
		color: #000;
		max-width: 336px;
		width: 100%;
	}
	.main_reserve_btn:before {
		position: absolute;
		top: 6px;
		left: 6px;
		width: calc(100% - 12px);
		height: calc(100% - 12px);
		content: '';
		-webkit-transition: all .3s;
		transition: all .3s;
		border: 1px solid #707070;
	}
	.main_reserve_btn:hover:before {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		content: '';
	}
	section {
		padding: 95px 15px;
	}
	h2 {
		text-align: center;
		margin-bottom: 50px
	}
	h2.flowe_title img {
		width: 420px;
	}
	.flow_box {
		display: flex;
		justify-content: space-between;
		background: #fff;
		border-bottom: 10px solid #EBDBEC;
		padding: 25px;
		align-items: center;
		color: #707070;
		margin-bottom: 50px;
	}
	.flow_box:last-of-type {
		margin-bottom: 0;
	}
	.flow_num {
		margin-left: 15px;
		width: 154px;
		height: 155px;
	}
	.flow_box h3 {
		font-family: 'MPLUSRounded1c-Regular', sans-serif;
		font-size: 26px;
		margin-bottom: 15px;
	}
	.flow_text {
		padding: 25px;
		width: 53%;
	}
	h2.shop_title img {
		width: 207px;
	}
	.shop_box {
		background: #fff;
		border-bottom: 10px solid #EBDBEC;
		padding: 50px;
		color: #707070;
		margin-bottom: 80px;
	}
	.shop_box_flex {
		display: flex;
		width: 100%;
		max-width: 1100px;
		margin: 0 auto;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.shop_box_innner {
		width: 48%;
	}
	.shop_info_box {
		background: #fff;
		padding: 50px;
	}
	.shop_choco {
		font-size: 20px;
		color: #886B3D;
	}
	.shop_name {
		font-size: 28px;
		color: #886B3D;
	}
	table.shopinfo {
		width: 100%;
		color: #444;
	}
	.shopinfo th {
		width: 20%;
	}
	.shop_info_dot {
		border-top: 1px dotted #D2BA94;
	}
	.shopinfo th, .shopinfo td {
		padding: 10px;
		border-bottom: 1px dotted #D2BA94;
	}
	.shop_telephone {
		font-size: 21px;
		font-weight: bold;
		color: #886B3D;
		text-decoration: none;
	}
	.shop_telephone:before {
		content: '';
		/*何も入れない*/
		display: inline-block;
		/*忘れずに！*/
		width: 30px;
		/*画像の幅*/
		height: 30px;
		/*画像の高さ*/
		background-image: url("../../common/images/tel_brown.svg");
		background-size: contain;
		vertical-align: middle;
		margin-right: 15px;
	}
	.slick-slide img {
		width: 100%;
	}
	.shop_layout .slick-dots {
		margin-top: 5px;
		display: flex;
		justify-content: center;
		left: 50%;
		transform: translateX(-50%);
		-webkit- transform: translateX(-50%);
		bottom: auto;
		max-width: 960px;
	}
	.shop_layout .slick-dots li {
		list-style: none;
		display: inline-block;
		width: 100%;
		height: auto;
		margin: 0;
	}
	.shop_layout .slick-dots li img {
		opacity: 0.5;
		width: 100%;
		height: auto;
	}
	.contents_inner.shop_images {
		margin-bottom: 90px;
	}
	.shop_info_subtitle {
		position: relative;
		display: inline-block;
		padding: 0 45px;
		font-size: 18px;
		margin: 20px;
	}
	.shop_info_subtitle:before {
		content: '';
		position: absolute;
		top: 50%;
		display: inline-block;
		width: 25px;
		height: 2px;
		background-color: #444;
		-webkit-transform: rotate(-60deg);
		transform: rotate(-60deg);
		right: 0;
	}
	.shop_info_subtitle:after {
		content: '';
		position: absolute;
		top: 50%;
		display: inline-block;
		width: 25px;
		height: 2px;
		background-color: #444;
		-webkit-transform: rotate(60deg);
		transform: rotate(60deg);
		left: 0;
	}
	/*アクセス*/
	.access_flex {
		display: flex;
		justify-content: space-between;
	}
	.access_innner {
		width: 48%;
	}
	.access_box {
		background: #fff;
		padding: 50px;
		text-align: center;
		margin-bottom: 30px;
	}
	.access_box_title {
		margin-bottom: 1rem;
		font-size: 130%;
		background-color: #FFF;
		position: relative;
		color: #ceb287;
	}
	.access_box_title:before {
		position: absolute;
		content: "";
		width: 30px;
		height: 1px;
		background-color: #ceb287;
		left: 90%;
		top: 0;
		bottom: 0;
		margin: auto 0;
	}
	.access_box_title:after {
		position: absolute;
		content: "";
		width: 30px;
		height: 1px;
		background-color: #ceb287;
		right: 90%;
		top: 0;
		bottom: 0;
		margin: auto 0;
	}
	.fa-subway {
		color: #ceb287;
		font-size: 30px;
		margin: 7px;
	}
	.fa-car {
		color: #ceb287;
		font-size: 30px;
		margin: 7px;
	}
	.gmap {
		height: 0;
		overflow: hidden;
		padding-bottom: 87.25%;
		position: relative;
	}
	.gmap iframe {
		position: absolute;
		left: 0;
		top: 0;
		height: 100%;
		width: 100%;
	}
	#map {
		height: 400px;
		margin-top: 60px;
	}
	.btn_wrap.map_btn {
		margin-top: 30px;
	}
	/*予約フォーム*/
	h2.reserve_title img {
		width: 352px;
	}
	.text_s {
		font-size: 16px;
	}
	/*予約フォーム*/
	.contents_wrap {
		width: 100%;
		max-width: 1200px;
		margin: 0 auto;
	}
	.form_box {
		background: #fff;
		padding: 90px;
	}
	.contact_item {
		display: flex;
		justify-content: space-between;
		margin-bottom: 40px;
		align-items: flex-start;
	}
	.item_name {
		width: 30%;
	}
	.required {
		position: relative;
	}
	.required:after {
		content: '';
		background-image: url("../images/required.svg");
		width: 41px;
		height: 21px;
		background-size: 100%;
		display: inline-block;
		vertical-align: middle;
		margin-left: 8px;
	}
	.any {
		position: relative;
	}
	.any:after {
		content: '';
		background-image: url("../images/any.svg");
		width: 41px;
		height: 21px;
		background-size: 100%;
		display: inline-block;
		vertical-align: middle;
		margin-left: 8px;
	}
	.item_field {
		width: 70%;
	}
	input {
		border: 1px solid #D0D0D0;
		padding: 8px 10px;
	}
	.kids_age, .month, .days {
		border: 1px solid #D0D0D0;
		padding: 8px 10px;
	}
	.parent_name, .kids_name {
		width: 48%;
	}
	.kids_gender lable {
		margin-right: 50px;
	}
	.kids_gender input[type=radio] {
		display: none;
	}
	.radio01 {
		box-sizing: border-box;
		cursor: pointer;
		display: inline-block;
		padding: 5px 30px;
		position: relative;
		width: auto;
	}
	.radio01::before {
		background: #fff;
		border: 1px solid #183c30;
		border-radius: 50%;
		content: '';
		display: block;
		height: 20px;
		left: 5px;
		margin-top: -8px;
		position: absolute;
		top: 50%;
		width: 20px;
	}
	.radio01::after {
		background: #FF8181;
		border-radius: 50%;
		content: '';
		display: block;
		height: 14px;
		left: 8px;
		margin-top: -5px;
		opacity: 0;
		position: absolute;
		top: 50%;
		width: 14px;
	}
	.kids_gender input[type=radio]:checked+.radio01::after {
		opacity: 1;
	}
	.kids_gender input[type="radio"], .kids_gender input[type="checkbox"] {
		position: relative;
		top: 2px;
	}
	.kids_gender_02 input[type=radio] {
		display: none;
	}
	.radio02 {
		box-sizing: border-box;
		cursor: pointer;
		display: inline-block;
		padding: 5px 30px;
		position: relative;
		width: auto;
	}
	.radio02::before {
		background: #fff;
		border: 1px solid #183c30;
		border-radius: 50%;
		content: '';
		display: block;
		height: 20px;
		left: 5px;
		margin-top: -8px;
		position: absolute;
		top: 50%;
		width: 20px;
	}
	.radio02::after {
		background: #FF8181;
		border-radius: 50%;
		content: '';
		display: block;
		height: 14px;
		left: 8px;
		margin-top: -5px;
		opacity: 0;
		position: absolute;
		top: 50%;
		width: 14px;
	}
	.kids_gender_02 input[type=radio]:checked+.radio02::after {
		opacity: 1;
	}
	.kids_gender_02 input[type="radio"], .kids_gender_02 input[type="checkbox"] {
		position: relative;
		top: 2px;
	}
	.shooting_scene {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		width: 100%;
	}
	.shooting_scene div {
		width: 32%;
		margin-top: 15px;
	}
	.shooting_scene label:nth-child(-n+3) {
		margin-top: 0;
	}
	.shooting_scene input[type="checkbox"] {
		display: none;
	}
	.shooting_scene input[type="checkbox"]+label {
		display: none;
		cursor: pointer;
		display: inline-block;
		position: relative;
		padding-left: 25px;
		padding-right: 10px;
	}
	.shooting_scene input[type="checkbox"]+label::before {
		content: "";
		position: absolute;
		display: block;
		box-sizing: border-box;
		width: 20px;
		height: 20px;
		margin-top: -10px;
		left: 0;
		top: 50%;
		border: 1px solid;
		border-color: #585753;
		background-color: #FFF;
	}
	.shooting_scene input[type="checkbox"]:checked+label::after {
		content: "";
		position: absolute;
		display: block;
		box-sizing: border-box;
		width: 18px;
		height: 9px;
		margin-top: -9px;
		top: 50%;
		left: 3px;
		transform: rotate(-45deg);
		border-bottom: 3px solid;
		border-left: 3px solid;
		border-color: #585753;
	}
	.shooting {
		width: 100%;
	}
	.zip_mark {
		margin-right: 15px;
	}
	.zip {
		margin-right: 5px;
	}
	.month {
		margin-bottom: 15px;
	}
	.addr {
		width: 100%;
		margin-top: 20px;
	}
	.desired_time {
		width: 100%;
	}
	.btn_wrap {
		text-align: center;
		margin-top: 70px;
	}
	.reserve_btn {
		border-radius: 0;
		background: #FFDFDF;
		display: inline-block;
		position: relative;
		padding: 20px 0;
		text-decoration: none;
		color: #000;
		max-width: 336px;
		width: 100%;
	}
	.reserve_btn:before {
		position: absolute;
		top: 6px;
		left: 6px;
		width: calc(100% - 12px);
		height: calc(100% - 12px);
		content: '';
		-webkit-transition: all .3s;
		transition: all .3s;
		border: 1px solid #707070;
	}
	.reserve_btn:hover:before {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		content: '';
	}
	.err_txt {
		display: none;
		color: #cc0000;
		font-size: 0.8em;
		margin-top: 5px;
	}
	/*確認ページ*/
	h1.confirm_title {
		text-align: center;
	}
	.confirm_title img {
		width: 352px;
		margin-bottom: 50px;
	}
	.return_btn {
		border-radius: 0;
		background: #F1E4E4;
		display: inline-block;
		position: relative;
		padding: 20px 0;
		margin-right: 30px;
		max-width: 336px;
		width: 100%;
	}
	.return_btn:before {
		position: absolute;
		top: 6px;
		left: 6px;
		width: calc(100% - 12px);
		height: calc(100% - 12px);
		content: '';
		-webkit-transition: all .3s;
		transition: all .3s;
		border: 1px solid #707070;
	}
	.return_btn:hover:before {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		content: '';
	}
	.contact_item.border {
		border-bottom: 1px dashed #D4D4D4;
		padding: 25px 0;
		margin-bottom: 0;
	}
	.contact_item.border:first-of-type {
		border-top: 1px dashed #D4D4D4;
	}
	/*完了ページ*/
	h1.thanks_title {
		text-align: center;
		margin-bottom: 50px;
	}
	.thanks_title img {
		width: 288px;
	}
	h2.thanks_subtitle {
		font-size: 26px;
	}
	/*フッター*/
	#wrapper {
		display: flex;
		flex-direction: column;
		min-height: 100vh;
	}
	.footer {
		background: #FDC8C8;
		color: #312314;
		padding: 25px 0;
		margin-top: auto;
	}
	.contents_wrap.footer_flex {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
	}
	.footer a {
		text-decoration: none;
		color: #312314;
	}
	.footer p {
		font-size: 12px;
	}
	.logo_img {
		width: 232px;
		margin-right: 15px;
	}

	/*FLOWに追記*/
	.flow_day{
		width: 80%;
		background-color: #e8e8e8;
		font-size: 16px;
		padding: 10px;
		margin: 10px 0;	
	}
	a:link{
		text-decoration: none;
		color: #333;
	}
}
/* SP-------------------------------------------------------------------- */

@media screen and (max-width:768px) {
	body {
		font-size: 16px;
	}
	/*メインビジュアル*/
	/*.main {
		position: relative;
	}
	.main_slide img {
		width: 100%;
		max-width: 400px;
	}*/
	/*メインビジュアル*/
	.main {
		position: relative;
	}
	.main_title_box {
		position: absolute;
		top: 69%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		-webkit- transform: translateY(-50%) translateX(-50%);
		background: rgba(255, 255, 255, 0.8);
		z-index: 1;
		padding: 22px 0;
		text-align: center;
		width: 264px;
	}
	.main_title_box:before {
		position: absolute;
		top: -9px;
		left: -10px;
		width: calc(100% - 0px);
		height: calc(100% - 2px);
		content: '';
		-webkit-transition: all .3s;
		transition: all .3s;
		border: 1px solid #000;
	}
	.main_title {
		width: 164px;
	}
	.main_title span {
		display: inline-block;
		color: #F38989;
		font-size: 36pt;
		letter-spacing: 4px;
		text-shadow: 2px 2px 1px #5D5D5D, -2px 2px 1px #5D5D5D, 2px -2px 1px #5D5D5D, -2px -2px 1px #5D5D5D, 2px 0px 1px #5D5D5D, 0px 2px 1px #5D5D5D, -2px 0px 1px #5D5D5D, 0px -2px 1px #5D5D5D;
	}
	.main_slide img {
		width: 100%;
		max-width: 400px!important;
	}
	.gentei {
		position: absolute;
		left: -45px;
		top: -35px;
		width: 90px;
	}
	.main .btn_wrap {
		margin-top: 15px;
	}
	.main_reserve_btn {
		border-radius: 0;
		background: #FFDFDF;
		display: inline-block;
		position: relative;
		padding: 20px 0;
		width: 220px;
		text-decoration: none;
		color: #000;
		font-size: 14px;
	}
	.main_reserve_btn:before {
		position: absolute;
		top: 6px;
		left: 6px;
		width: calc(100% - 12px);
		height: calc(100% - 12px);
		content: '';
		-webkit-transition: all .3s;
		transition: all .3s;
		border: 1px solid #707070;
	}
	.main_reserve_btn:hover:before {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		content: '';
	}
	section {
		padding: 50px 15px;
	}
	h2 {
		text-align: center;
		margin-bottom: 30px;
	}
	h2.reserve_title img {
		width: 204px!important;
	}
	h2.flowe_title img {
		width: 249px;
	}
	.flow_box {
		background: #fff;
		border-bottom: 10px solid #EBDBEC;
		padding: 25px;
		align-items: center;
		color: #707070;
		margin-bottom: 50px;
	}
	.flow_box:last-of-type {
		margin-bottom: 0;
	}
	.flow_num {
		margin: 0 auto;
		width: 74px;
		display: block;
		text-align: center;
	}
	.flow_box h3 {
		font-family: 'MPLUSRounded1c-Regular', sans-serif;
		font-size: 22px;
		margin-bottom: 15px;
		text-align: center;
	}
	.flow_img {
		width: 100%;
		vertical-align: middle;
	}
	.flow_text {
		padding: 15px 0;
	}
	h2.shop_title img {
		width: 120px;
	}
	.shop_box {
		background: #fff;
		border-bottom: 10px solid #EBDBEC;
		padding: 25px 15px;
		color: #707070;
		margin-bottom: 30px;
	}
	.shop_box_flex {
		display: flex;
		flex-direction: column;
		width: 100%;
		max-width: 1100px;
		margin: 0 auto;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.shop_box_innner {
		width: 100%;
	}
	.shop_info_box {
		background: #fff;
		padding: 50px;
	}
	.shop_choco {
		font-size: 18px;
		color: #886B3D;
	}
	h3.shop__title.al_center {
		margin-bottom: 15px;
	}
	.shop_name {
		font-size: 22px;
		color: #886B3D;
	}
	table.shopinfo {
		width: 100%;
		color: #000;
		margin-top: 15px;
	}
	.shopinfo th {
		width: 27%;
	}
	.shop_info_dot {
		border-top: 1px dotted #D2BA94;
	}
	.shopinfo th, .shopinfo td {
		padding: 10px;
		border-bottom: 1px dotted #D2BA94;
		font-size: 14px;
	}
	.shop_telephone {
		font-weight: normal;
		color: #000;
		text-decoration: none;
	}
	.slick-slide img {
		width: 100%;
	}
	.shop_layout .slick-dots {
		margin-top: 5px;
		display: flex;
		justify-content: center;
		left: 50%;
		transform: translateX(-50%);
		-webkit- transform: translateX(-50%);
		bottom: auto;
		max-width: 960px;
	}
	.shop_layout .slick-dots li {
		list-style: none;
		display: inline-block;
		width: 100%;
		height: auto;
		margin: 0;
	}
	.shop_layout .slick-dots li img {
		opacity: 0.5;
		width: 100%;
		height: auto;
	}
	.contents_inner.shop_images {
		margin-bottom: 60px;
	}
	.shop_info_subtitle {
		position: relative;
		display: inline-block;
		padding: 0 45px;
		font-size: 18px;
		margin: 20px;
	}
	.shop_info_subtitle:before {
		content: '';
		position: absolute;
		top: 50%;
		display: inline-block;
		width: 25px;
		height: 2px;
		background-color: #444;
		-webkit-transform: rotate(-60deg);
		transform: rotate(-60deg);
		right: 0;
	}
	.shop_info_subtitle:after {
		content: '';
		position: absolute;
		top: 50%;
		display: inline-block;
		width: 25px;
		height: 2px;
		background-color: #444;
		-webkit-transform: rotate(60deg);
		transform: rotate(60deg);
		left: 0;
	}
	.text_s {
		font-size: 14px;
	}
	/*アクセス*/
	.access_flex {
		display: block;
	}
	.access_innner {
		width: 100%;
	}
	.access_box {
		background: #fff;
		padding: 50px;
		text-align: center;
		margin-bottom: 30px;
	}
	.access_box_title {
		margin-bottom: 1rem;
		font-size: 130%;
		background-color: #FFF;
		position: relative;
		color: #ceb287;
	}
	.access_box_title:before {
		position: absolute;
		content: "";
		width: 30px;
		height: 1px;
		background-color: #ceb287;
		left: 90%;
		top: 0;
		bottom: 0;
		margin: auto 0;
	}
	.access_box_title:after {
		position: absolute;
		content: "";
		width: 30px;
		height: 1px;
		background-color: #ceb287;
		right: 90%;
		top: 0;
		bottom: 0;
		margin: auto 0;
	}
	.fa-subway {
		color: #ceb287;
		font-size: 30px;
		margin: 7px;
	}
	.fa-car {
		color: #ceb287;
		font-size: 30px;
		margin: 7px;
	}
	.gmap {
		height: 0;
		overflow: hidden;
		padding-bottom: 87.25%;
		position: relative;
	}
	.gmap iframe {
		position: absolute;
		left: 0;
		top: 0;
		height: 100%;
		width: 100%;
	}
	#map {
		height: 400px;
	}
	.btn_wrap.map_btn {
		margin-top: 30px;
	}
	/*予約フォーム*/
	.contents_wrap {
		width: 100%;
		margin: 0 auto;
	}
	.form_box {
		background: #fff;
		padding: 30px 15px;
	}
	.contact_item {
		display: block;
		justify-content: space-between;
		margin-bottom: 30px;
		align-items: flex-start;
	}
	.item_name {
		width: 100%;
		margin-bottom: 5px;
	}
	.required {
		position: relative;
	}
	.required:after {
		content: '';
		background-image: url("../images/required.svg");
		width: 41px;
		height: 21px;
		background-size: 100%;
		display: inline-block;
		vertical-align: middle;
		margin-left: 8px;
	}
	.any {
		position: relative;
	}
	.any:after {
		content: '';
		background-image: url("../images/any.svg");
		width: 41px;
		height: 21px;
		background-size: 100%;
		display: inline-block;
		vertical-align: middle;
		margin-left: 8px;
	}
	.item_field {
		width: 100%;
	}
	input {
		border: 1px solid #D0D0D0;
		padding: 8px 10px;
	}
	.kids_age, .month, .days {
		border: 1px solid #D0D0D0;
		padding: 8px 10px;
	}
	.parent_name, .kids_name {
		width: 100%;
	}
	.kids_gender lable {
		margin-right: 50px;
	}
	/*	.kids_gender input[type="radio"] {
		margin-right: 5px;
		width: 20px;
		height: 20px;
		vertical-align: middle;
	}*/
	.kids_gender input[type=radio] {
		display: none;
	}
	.radio01 {
		box-sizing: border-box;
		cursor: pointer;
		display: inline-block;
		padding: 5px 30px;
		position: relative;
		width: auto;
	}
	.radio01::before {
		background: #fff;
		border: 1px solid #183c30;
		border-radius: 50%;
		content: '';
		display: block;
		height: 20px;
		left: 5px;
		margin-top: -8px;
		position: absolute;
		top: 50%;
		width: 20px;
	}
	.radio01::after {
		background: #FF8181;
		border-radius: 50%;
		content: '';
		display: block;
		height: 14px;
		left: 8px;
		margin-top: -5px;
		opacity: 0;
		position: absolute;
		top: 50%;
		width: 14px;
	}
	.kids_gender input[type=radio]:checked+.radio01::after {
		opacity: 1;
	}
	.kids_gender input[type="radio"], .kids_gender input[type="checkbox"] {
		position: relative;
		top: 2px;
	}
	.kids_gender_02 input[type=radio] {
		display: none;
	}
	.radio02 {
		box-sizing: border-box;
		cursor: pointer;
		display: inline-block;
		padding: 5px 30px;
		position: relative;
		width: auto;
	}
	.radio02::before {
		background: #fff;
		border: 1px solid #183c30;
		border-radius: 50%;
		content: '';
		display: block;
		height: 20px;
		left: 5px;
		margin-top: -8px;
		position: absolute;
		top: 50%;
		width: 20px;
	}
	.radio02::after {
		background: #FF8181;
		border-radius: 50%;
		content: '';
		display: block;
		height: 14px;
		left: 8px;
		margin-top: -5px;
		opacity: 0;
		position: absolute;
		top: 50%;
		width: 14px;
	}
	.kids_gender_02 input[type=radio]:checked+.radio02::after {
		opacity: 1;
	}
	.kids_gender_02 input[type="radio"], .kids_gender_02 input[type="checkbox"] {
		position: relative;
		top: 2px;
	}
	.shooting_scene {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		width: 100%;
	}
	.shooting_scene div {
		width: 100%;
		margin-top: 15px;
	}
	.shooting_scene label:nth-child(-n+3) {
		margin-top: 0;
	}
	.shooting_scene input[type="checkbox"] {
		display: none;
	}
	.shooting_scene input[type="checkbox"]+label {
		display: none;
		cursor: pointer;
		display: inline-block;
		position: relative;
		padding-left: 25px;
		padding-right: 10px;
	}
	.shooting_scene input[type="checkbox"]+label::before {
		content: "";
		position: absolute;
		display: block;
		box-sizing: border-box;
		width: 20px;
		height: 20px;
		margin-top: -10px;
		left: 0;
		top: 50%;
		border: 1px solid;
		border-color: #585753;
		background-color: #FFF;
	}
	.shooting_scene input[type="checkbox"]:checked+label::after {
		content: "";
		position: absolute;
		display: block;
		box-sizing: border-box;
		width: 18px;
		height: 9px;
		margin-top: -9px;
		top: 50%;
		left: 3px;
		transform: rotate(-45deg);
		border-bottom: 3px solid;
		border-left: 3px solid;
		border-color: #585753;
	}
	.shooting {
		width: 100%;
	}
	.zip_mark {
		margin-right: 5px;
	}
	.zip {
		margin-right: 5px;
		margin-right: 5px;
		width: 35%;
	}
	.month {
		margin-bottom: 15px;
	}
	.addr {
		width: 100%;
		margin-top: 20px;
	}
	.desired_time {
		width: 100%;
	}
	.btn_wrap {
		text-align: center;
		margin-top: 30px;
	}
	.reserve_btn {
		border-radius: 0;
		background: #FFDFDF;
		display: inline-block;
		position: relative;
		padding: 20px 0;
		width: 100%;
		text-decoration: none;
		color: #000;
	}
	.reserve_btn:before {
		position: absolute;
		top: 6px;
		left: 6px;
		width: calc(100% - 12px);
		height: calc(100% - 12px);
		content: '';
		-webkit-transition: all .3s;
		transition: all .3s;
		border: 1px solid #707070;
	}
	.reserve_btn:hover:before {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		content: '';
	}
	.err_txt {
		display: none;
		color: #cc0000;
		font-size: 0.8em;
		margin-top: 5px;
	}
	/*確認画面*/
	/*.reserve_title{
		width: 250px;
		text-align: center;
	}*/
	h1.confirm_title {
		text-align: center;
	}
	.confirm_title img {
		width: 213px;
		margin-bottom: 30px;
	}
	.return_btn {
		border-radius: 0;
		background: #F1E4E4;
		display: inline-block;
		position: relative;
		padding: 20px 0;
		width: 100%;
		margin-bottom: 20px;
	}
	.return_btn:before {
		position: absolute;
		top: 6px;
		left: 6px;
		width: calc(100% - 12px);
		height: calc(100% - 12px);
		content: '';
		-webkit-transition: all .3s;
		transition: all .3s;
		border: 1px solid #707070;
	}
	.return_btn:hover:before {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		content: '';
	}
	.contact_item.border {
		border-bottom: 1px dashed #D4D4D4;
		padding: 25px 0;
		margin-bottom: 0;
	}
	.contact_item.border:first-of-type {
		border-top: 1px dashed #D4D4D4;
	}
	/*完了ページ*/
	h1.thanks_title {
		text-align: center;
		margin-bottom: 30px;
	}
	.thanks_title img {
		width: 168px;
	}
	h2.thanks_subtitle {
		font-size: 18px;
		margin-bottom: 30px;
	}
	/*フッター*/
	#wrapper {
		display: flex;
		flex-direction: column;
		min-height: 100vh;
	}
	.footer {
		background: #FDC8C8;
		color: #312314;
		padding: 25px 0;
		margin-top: auto;
	}
	.contents_wrap.footer_flex {
		text-align: center;
	}
	.footer a {
		text-decoration: none;
		color: #312314;
	}
	.footer p {
		font-size: 10px;
		margin-top: 20px
	}
	.footer a {
		text-decoration: none;
		color: #312314;
	}
	.logo_img {
		width: 150px;
		margin-right: 10px;
	}

	/*FLOWに追記*/
	.flow_day{
		width: 100%;
		background-color: #e8e8e8;
		font-size: 13px;
		padding: 10px;
		margin: 10px 0;
	}
	.flow_tel{
		text-align: center;
		line-height: 40px;
		margin-bottom: 15px;
	}
	.flow_tel span{
		border: 1px solid #b87f4f;
		padding: 10px 50px;
		background-color: #fff9ed;
	}
	a:link{
		text-decoration: none;
		color: #9e683a;
	}
}