@charset "UTF-8";
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);

@font-face {
	font-family:"Aedesty-Personal-Use";
	src: url("../font/Aedesty-Personal-Use.ttf") format("truetype");
}

body{
	margin: 0 auto; 
	color: #222; 
	font-family: "Noto Sans Japanese", san-serif, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 14px;
	line-height: 2em;
	position: relative;
}
@media (max-width: 769px) {
	body{
		font-size: 13px;
	}
}

div{
	box-sizing: border-box!important; /* make sure that the padding is included and not added */
	-webkit-box-sizing: border-box!important;
	-moz-box-sizing: border-box!important;
	overflow: hidden; 
	word-wrap: break-word; 
	margin: 0 auto;
}

a{
	text-decoration: none;
}
a:hover{
	/*text-decoration: underline;*/
	opacity: 0.9;
}
a.logo:hover, .menu a:hover, .f_content a:hover {
	color: #222;
	text-decoration: none;
}
img{
	max-width: 100%;
}

input[type=radio] {
	height: auto;
	width: auto;
}
input[type=checkbox] {
	height: auto;
	width: auto;
}

select, input {
	height: 45px;
	border: 1px solid #999;
	border-radius: 5px;
	width: 45%;
	padding: 0 10px;
	box-sizing: border-box;
}

select{				
	background: url(https://cdn1.iconfinder.com/data/icons/cc_mono_icon_set/blacks/16x16/br_down.png);
	background-repeat: no-repeat;
	background-position: 95%;
	background-size:7px 7px;

    -webkit-appearance: none;
    -moz-appearance: none;
    text-indent: 1px;
    text-overflow: '';
}
select::-ms-expand {
    display: none;
}
select:not(.background){
	background-color: #f6fbfe;
}
input{
	text-align: center;
	background-color: #f6fbfe;
}

input[type='number'] {
	appearance: textfield;
}
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button,
input[type='number']:hover::-webkit-inner-spin-button, 
input[type='number']:hover::-webkit-outer-spin-button {
	-webkit-appearance: none; 
	margin: 0; 
}
dt, dd{
	vertical-align: middle;
}

/* clearfix */
.cf:before, .cf:after {content:"";display:table;}
.cf:after {clear:both;}
.clr {clear: both;}

/*ko cho select*/
.unselect{
	-webkit-user-select: none; /* Safari */        
	-moz-user-select: none; /* Firefox */
	-ms-user-select: none; /* IE10+/Edge */
	user-select: none; /* Standard */
}

.base_width{
	width: 100%;
	min-width: 1000px;
}
.container{
	width: 1000px;
}
.pc{
	display: block;
}
.pc_inline{
	display: inline;
}
.sp{
	display: none;
}
.sp_inline{
	display: none;
}

.display-none{
	display: none;
}
.left{
	float: left;
	position: relative;
}
.right{
	float: right;
	position: relative;
}
.align-center{
	text-align: center;
}

.en_ttl{
	font-size: 1.9em;
}

.error{
	font-size: 0.8em;
	color: red;
}

.attention{
	font-size: 0.8em;
	color: #428bca;
}

.error_frame{
	border: 1px solid red;
}

.order_button{
	background-color: #ec661b;	
	color: #FFF;
	outline: none;
	cursor: pointer;
	transition: 0.3s;	
	border: none;
	text-align: center;
	font-weight: bold;
	/*border: 1px solid #222;*/
	border-radius: 5px;
	padding: 12px;	
	width: 300px;
}
.order_button:hover{
	background-color: #d45b18;	
}

.additional_button{
	color:#222;
	font-size: small;
	background-color: #F5FBFB;				
	outline: none;
	cursor: pointer;
	transition: 0.3s;	
	border: 1px solid #c1c1c1;
	border-radius: 5px;
	text-align: center;
	padding: 10px 100px;
	margin: 20px 10px 10px;
	white-space: nowrap
}
@media (max-width: 769px) {
	.additional_button{
		padding: 10px 40px;
	}
}



.orange_link{
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	color: #fff;
	background-color: #ec661b;
	border: 2px solid #FFF;
	border-radius: 5px;
	font-size: 1.2em;
	line-height: 2em;
}

@media (max-width: 769px) {
	.base_width{
		min-width: 320px;
	}
	.container{
		width: 100%;
		padding-left: 10px;
		padding-right: 10px;
	}
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
	.pc_inline{
		display: none;
	}
	.sp_inline{
		display: inline;
	}
	.left, .right{
		width: 100%;
	}
	.title::after{
	    left: 0px;
	}
	.en_ttl{
		font-size: 1.6em;
	}
}

/*-----------------------------------------------------------------------------------------------------*/
header{
	border-bottom: 1px solid #222;	
	font-weight: bold;
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 9999;
	width: 100%;
	background-color: #FFF;
}
header .base_width{
	padding: 12px 30px 3px;
}
header a{
	color: #222;
}
	.logo{
		float: left;
		line-height: 21px;		
	}
	.logo img{
		width: 42px;
	}
	.logo span{
		display: inline-block;
		padding-left: 20px; 
		font-size: 13px;
	}

	.menu ul{
		display: block;
		overflow: hidden;
		margin: 0 auto;
		padding: 0;
		float: right;
	}
	.menu li{
		list-style-type: none;
		display: inline-block;		
	}
	.menu_item_1 a{
		background: url("../image/icon_1.svg") no-repeat;
	}
	.menu_item_2 a{
		background: url("../image/icon_2.svg") no-repeat;
	}
	.menu_item_3 a{
		background: url("../image/story.svg") no-repeat;
		background-size: 30px;
	}
	.menu_item_4 a{
		background: url("../image/icon_3.svg") no-repeat;
	}
	.menu_item_5 a{
		background: url("../image/icon_4.svg") no-repeat;
	}
	.menu_item_dealers a{
		background: url("../image/icon_dealers.svg") no-repeat;
		background-size: 24px;
	}
	.menu_item_wedding a{
		background: url("../image/icon_wedding.svg") no-repeat;
		background-size: 24px;
	}
	.menu_item_review a{
		background: url("../image/icon_review.svg") no-repeat;
		background-size: 24px;
	}
	.menu_item_contact a{
		background-size: 24px;
	}
	.menu_item_single a{
		background: url("../image/icon_frame.svg") no-repeat;
		background-size: 20px;
	}

	@media (min-width: 768px) {
		.menu li.menu_item_contact{
			display: none;
		}
		.menu li.menu_item_sp{
			display: none;
		}
	}
	@media (max-width: 767px) {
		.menu li.menu_item_1{
			display: none;
		}
		.menu li.menu_item_3{
			display: none;
		}
	}
	.menu_item_1 a:hover, .menu_item_1.selected a{
		background: url("../image/icon_1_pink.svg") no-repeat;
		background-position: center top;
	}
	.menu_item_2 a:hover, .menu_item_2.selected a{
		background: url("../image/icon_2_pink.svg") no-repeat;
		background-position: center top;
	}
	.menu_item_3 a:hover, .menu_item_3.selected a{
		background: url("../image/story_pink.svg") no-repeat;
		background-position: center top;
		background-size: 30px;
	}
	.menu_item_4 a:hover, .menu_item_4.selected a{
		background: url("../image/icon_3_pink.svg") no-repeat;
		background-position: center top;
	}
	.menu_item_5 a:hover, .menu_item_5.selected a{
		background: url("../image/icon_4_pink.svg") no-repeat;
		background-position: center top;
	}
	.menu_item_dealers a:hover, .menu_item_dealers.selected a{
		background: url("../image/icon_dealers_pink.svg") no-repeat;
		background-position: center top;
		background-size: 24px;
	}
	.menu_item_wedding a:hover, .menu_item_wedding.selected a{
		background: url("../image/icon_wedding_pink.svg") no-repeat;
		background-position: center top;
		background-size: 24px;
	}
	.menu_item_review a:hover, .menu_item_review.selected a{
		background: url("../image/icon_review_pink.svg") no-repeat;
		background-position: center top;
		background-size: 24px;	
	}
	.menu_item_contact a:hover, .menu_item_contact.selected a{
		background-position: center top;
		background-size: 24px;	
	}
	.menu_item_single a:hover, .menu_item_single.selected a{
		background: url("../image/icon_frame_pink.svg") no-repeat;
		background-position: center top;
		background-size: 20px;
	}

	.menu a{
		display: block;
		padding: 21px 10px 0px 10px;
		text-align: center;		
		background-position: center top;	
		font-size: 13px;			
	}
	.menu a:hover{
		color: #FF6F61;
	}
	.menu .selected a{
		color: #FF6F61;
	}
	.menu li.pc{
		display: none;
	}

	.btn_sp_menu{ /** 2022.08.21 add header + 40px(review) + 48(new menu)  */
		position: absolute;
		right: 20px;
		top: 108px;		/** old 20px */
	}
	.btn_sp_menu_exit{
		max-width: 25px;
		display: none;
		position: fixed;
		right: 20px;
		top: 20px;
		z-index: 9999;
	}
	.sp_cart{
		position: absolute;
		right: 70px;
		top: 98px;	/** old 10px */
		text-align: center;
	}
	.sp_cart img{
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
	.sp_cart span{
		display: block;
	}
@media (max-width: 769px) {
	header{		
		font-size: 0.8em;
	}
	header .base_width{
		padding: 10px 10px 7px;
	}
		.logo span{
			padding-left: 10px; 
			font-size: 1.13em;
			margin-top: 1px;
		}
		.menu{
			display: none;
			position: fixed; 
			top: 0px; 
			left: 0px;
			z-index: 999;
			width: 100%;
			height: 100vh;
			background-color: #f5fbfb;			
		}
			.menu ul{
				text-align: center; 
				width: 100%;
				float: none; 
				margin-left: auto; 
				margin-right: auto;
				margin-top: 10vh;
				height: 90vh;
				overflow: auto;
				-webkit-overflow-scrolling: touch;
			}
				.menu li{
					display: block; 
					margin: 0px 20px; 
					line-height: 70px;
				}
				.menu li:not(:last-of-type){
					border-bottom: 1px solid #222;
				}
					.menu a{
						padding: 0px; 
						font-size: 1.3em;
						background: inherit;
					}
					.menu a:hover, .menu .selected a{
						background-image: none;
					}
						.menu img{
							display: none;
						}

}

main{
	margin-top: 114px; /** 2022.08.21 新しいヘッダ追加 + 50px (元 64px) */
}
@media (max-width: 769px) {
	main{
		margin-top: 147px; /** 2022.08.21 新しいヘッダ追加 + 40px + 48px(元 59px) */
	}
}

footer{
	margin-top: 50px;
	padding: 0 50px;
}
footer a{
	color: #222;
}
	.f_ttl{
		font-weight: bold;
	}
	.f_logo .f_ttl{
		font-size: 13px;
	}
	.follow_happiness{
		text-align: center;
		background: url("../image/wavyline_4.png");
		background-repeat: no-repeat;
  		background-position: bottom center; 
	}
	.follow_happiness img{
		margin: 35px 15px;
	}

	.f_content{
		margin-top: 70px;
		display: flex;
		flex-direction: row;
	}
	.f_content a{		
		display: block;
	}
		.f_logo img{
			width: 52px;
		}
		.f_logo span{
			display: inline-block;
			line-height: 1.5em;
			margin-left: 20px;
			margin-top: 7px;
		}
	.copyright{
		margin-top: 50px;
		text-align: center;
	}
@media (max-width: 769px) {
	footer{
		padding: 0;
	}
	.f_content{
		margin-top: 30px;
		flex-direction: column;
	}
	.f_logo, .f_nav, .f_follow, .f_contact{
		margin-top: 30px;
		margin-left: 15vw!important;
	}
}


/*----------------------------------------------------top-------------------------------------------------*/
.top_1{
	position: relative;	
}

	.top_1_bg{
		width: 100%;
	}
	.top_1_bg.sp_small{
		display: none;
	}
	.top_1_ctt{
		padding-top: 65px;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -60%);
		text-align: center;
		color: #FFF;
	}
	.top_1_ctt img:nth-of-type(2){
		position: absolute;
		top: 15px;
		right: 10px;
		max-width: 74px;
	}
	.top_1_ctt img:nth-of-type(3){
		max-width: 400px;
	}
	.top_1_ctt div:nth-of-type(1){
		font-family: Aedesty-Personal-Use;
		font-size: 7em;
		line-height: 100px;
	}
	.top_1_ctt div:nth-of-type(2){
		font-size: 1.45em;
		font-weight: bold;
		/*margin-top: 25px;*/
	}
	.top_1_ctt div:nth-of-type(3){
		position: absolute;
		top: 30px;
		right: 8px;
		width: 62px;
		text-align: center;
		font-size: 0.9em;
	}
	.top_1_ctt div:nth-of-type(2) span{
		display:inline-block; 
	    transform: matrix(-1, 0, 0, 1, 0, 0);
	}
	.top_1_ctt a{
		width: 190px;
		font-weight: bold;
		background-color: #ec661b;
		margin-top: 35px;
	}	
@media (max-width: 769px) {
	.top_1_bg{
		height: 80vh;
		/*min-height: 300px;*/
	}
	.top_1_ctt{
		width: 320px;
	}
	.top_1_ctt a{
		margin-top: 10px;
	}
	.top_1_ctt a img{
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
	.top_1_ctt div:nth-of-type(1){
		font-size: 5em;
		line-height: 60px;
	}
	.top_1_ctt div:nth-of-type(2){
		font-size: 1.17em;
		/*margin-top: 10px;*/
	}
	.top_1_ctt div:nth-of-type(3){
		top: 17px;
		right: 22px;
	}
	.top_1_ctt img:nth-of-type(2){
		top: 0px;
		right: 25px;
	}
	.top_1_ctt img:nth-of-type(3){
		margin-top: 10px;
		max-width: 100%;
	}
	.top_1_ctt a{
		margin-top: 30px;
	}
}
@media (max-width: 499px) {
	.top_1_bg.sp{display: none;}
	.top_1_bg.sp_small{display: block;}
}

.top_intro{
	text-align: center;
	margin-top: 50px;
}
	.top_intro_ttl{
		background: url("../image/wavyline_1.png");		
	}
	.top_intro_ctt p a{
		color: #f4c545;
	}
	.top_intro_ctt div{
		margin-top: 40px;
	}
	.top_intro a{
		width: 190px;	
	}
	

.item_slide{
	position: relative;
	margin-top: 50px;
	padding-right: 15px;
	padding-left: 15px;
}
	.poster_item{
		position: relative;		
		padding-left: 15px;
		padding-right: 15px;	
	}
		.poster_item img{
			width: 100%;
		}
		.poster_item div {
			width: 100%;
			position: absolute;
			text-align: center;
			top: calc(50% - 15px);
			left: 0px;
		}
			.poster_item a{
				width: 190px;
				display: none;
				transition: 0.1s;
			}
		.poster_item:hover a{
			display: block;
		}

.flickity-page-url{
	display: block;
	width: 190px;
	text-align: center;
	margin-top: 20px;
	display: none;
}

.arrow{
	position: absolute;
	top: 0px;		
	width: 25px;
	height: 100%;	
	cursor: pointer;
	opacity: 0.7;
}	
.arrow:hover, .arrow:active{
	opacity: 1;
}
.arrow img{
	width: 100%;
	height: calc(100% - 10px);
}
.arrow_left, .pet_arrow_left {
	left: 0px;
}
.arrow_right, .pet_arrow_right {
	right: 0px;
}

.dots{
	text-align: center;
}
	.slick-dots{
		display: block;
		margin: 20px 0px 0px;
		padding: 0px;
	}
	.slick-dots li{
		display: inline-block;
		width: 10px;
	    height: 10px;
	    margin: 0 5px;
	    border: 1px solid #aac1c9;
	    border-radius: 50%;
	    cursor: pointer;
	}
	.slick-dots .slick-active{
		background: #aac1c9;
	}
	.slick-dots li button{
		display: none;
	}

@media (max-width: 540px) {	
	.poster_item{
		padding: 0px;
	}
	.poster_item img{
		max-height: 490px!important;
	}
	.poster_item:hover a{
		display: none;
	}

	.sp_none{
		display: none;
	}

	.flickity-page-url {display: block;}
	.arrow{display: none;}
}


.top_pet_card{
	text-align: center;
	margin-top: 50px;
}
.top_pet_card_ttl{
	margin-top: 30px;
	background: url("../image/wavyline_3.png");		
}
.top_pet_card_2{
	margin-top: 30px;
	position: relative;
}
.top_pet_card_2 .top_pet_card_img{
	width: 1000px;
	min-height: 300px;
}
.top_pet_card a{
	margin-top: 40px;
	width: 190px;	
}


.top_gift_card{
	text-align: center;
	margin-top: 50px;
}
.top_gift_card_ttl{
	margin-top: 30px;
	background: url("../image/wavyline_2.png");		
}
.top_gift_card_2{
	margin-top: 30px;
	position: relative;
}
.top_gift_card_2 .top_gift_card_img{
	width: 1000px;
	min-height: 300px;
}
.top_gift_card a{
	width: 190px;	
}


.top_wedding_card{
	text-align: center;
	margin-top: 50px;
}
.top_wedding_card_ttl{
	margin-top: 30px;
	background: url("../image/wavyline_1.png");		
}
.top_wedding_card_2{
	margin-top: 30px;
	position: relative;
}
.top_wedding_card_2 .top_wedding_card_img{
	width: 1000px;
	min-height: 300px;
}
.top_wedding_card a{
	width: 190px;	
}
	

.top_story_card{
	text-align: center;
	margin-top: 50px;
}
.top_story_card_ttl{
	margin-top: 30px;
	background: url("../image/wavyline_2.png");		
}
.top_story_card_2{
	margin-top: 30px;
	position: relative;
}
.top_story_card_2 .top_story_card_img{
	width: 1000px;
	min-height: 300px;
}
.top_story_card a{
	width: 190px;	
}

@media (max-width: 769px){
	.top_pet_card_2 .top_pet_card_img{
		width: 100%;
	}
	.top_gift_card_2 .top_gift_card_img{
		width: 100%;
	}
	.top_wedding_card_2 .top_wedding_card_img{
		width: 100%;
	}
	.top_story_card_2 .top_story_card_img{
		width: 100%;
	}
}
	

.top_review_card{
	text-align: center;
	margin-top: 50px;
}
	.top_review_card_ttl{
		margin-top: 30px;
		background: url("../image/wavyline_2.png");		
	}
	.top_review_card_2{
		margin-top: 30px;
		position: relative;
		width: 50%;
		margin: 0 auto;
	}
	.top_review_card_2 .top_review_card_img{
		width: 100%;
		min-height: 400px;
		object-fit:cover;
	}
	.top_review_card a{
		width: 190px;	
	}


	/** レビューの内容を画像上にオーバーレイ表示 */
	.top_review_card_2 .review_contents{
		position: absolute;
		top: 50px;
		left: 0;
    right: 0;
	}
	@media (max-width: 769px){	
		.top_review_card_2 .review_contents{
			top: 20px;
		}
		.top_review_card_2{
			width: 100%;
		}
	}

	.top_review_card_2 .review_contents::after{
		position: initial;
	}
		
	.review_contents .reviews{
		display: flex;
	}
	.reviews > div {
		width: 82vw;
		display: inline-block;
	}
	.reviews button{
		vertical-align: text-bottom;
	}

	.review_contents .slick-arrow{
		text-indent: 9999px;
		white-space:nowrap;
		overflow:hidden;
		display: inline-block;
		width: 8vw;
		height: 250px;

		cursor: pointer;
		box-shadow: none;
		border: none;
	}

  .review_contents .slick-prev{
    background: url(../image/arrow_left.svg) center;
		background-size: 30px;
		background-repeat: no-repeat;
  }
	
  .review_contents .slick-next{
    background: url(../image/arrow_right.svg) center;
		background-size: 30px;
		background-repeat: no-repeat;
  }

	@media (max-width: 769px){
		.reviews > div {
			width: 88vw;
		}
		.review_contents .slick-arrow{
			width: 5vw;
		}
	
		.review_contents .slick-prev{
			background-size: 4.75vw;
		}
		
		.review_contents .slick-next{
			background-size: 4.75vw;
		}
	}

	/** トップページ レビューの書式 */
	.review_contents .review_yotpo{
		margin-right: 1em;
	}
	.review_contents .subject{
		color:rgb(206, 157, 82);
		font-size: 18px;
	}
	.reviews p{
		color: white;
		padding: 10px 10px 0px 10px;
	}
	.review_title{
		font-weight: bold;
	}
	@media (max-width: 769px){
		.review_contents .subject{
			font-size: 16px;
		}
			.reviews p{
			padding-top: 5px;
			line-height: 1.4em;
		}
	
	}



.top_inspiration{
	text-align: center;
	margin-top: 50px;
}
	.top_inspiration_ttl{
		background: url("../image/wavyline_3.png");		
	}
	.top_inspiration_ctt a{
		font-weight: bold; 
		color: #f4c545;
	}
	.top_inspiration_2{
		margin-top: 20px;
		position: relative;
		width: 50%;
	}	
	.top_inspiration_2 div{
		float: left;
		width: 25%;
		padding: 20px 10px 0px;		
	}
	.top_inspiration_2 div img{
		width: 100%;
	}
@media (max-width: 769px) {	
	.top_inspiration_2 div{
		width: 50%;
		padding: 10px 5px 0px;		
	}
	.top_inspiration_2{
		width: 100%;
	}
}

.top_ttl{
	background-repeat: no-repeat;
	background-position: bottom center;
	padding-bottom: 30px;
	margin-bottom: 30px;
}
@media (max-width: 769px) {	
	.top_ttl{
		padding-bottom: 20px;
	}
}

/*----------------------------------------------------poster-------------------------------------------------*/
.create{
	position: relative;
	border-bottom: 1px solid #999;
}
	.balloon{
		max-width: 100px;
		position: absolute;
		top: 108px;
		left: calc((100% - 1000px) / 2 - 33px);
		z-index: 999;
		cursor: pointer;
	}	

	.price, .balloon_exit{
		position: absolute;
		top: 140px;
		left: calc((100% - 1000px) / 2 - 20px);
		z-index: 1000;
		line-height: 1.2em;
		color: #FFF;
		width: 75px;
		text-align: center;
	}
		.price span{
			width: 100%;
			text-align: center;
			display: block;
		}
		.price span:nth-child(1){
			font-weight: bold;
		}
		.price span:nth-child(2){
			font-size: 0.8em;
		}
		.price span:nth-child(3){
			font-size: 0.8em;
		}

	.balloon.balloon_3{
		left: calc((100% - 1400px) / 2 - 40px);
	}
	.price.balloon_3{
		left: calc((100% - 1400px) / 2 - 30px);
	}
	.balloon_exit.balloon_3{
		left: calc((100% - 1400px) / 2 - 30px);
	}
	.balloon_exit{
		/*position: absolute;
		top: 25px;
		left: calc((100% - 1000px) / 2 + 45px);
		z-index: 1000;
		width: 15px;
		cursor: pointer;
		opacity: 0.5;*/
		/*color: blue;*/
		top: 58px;
		display: none;
		cursor: pointer;
		text-decoration: underline;
	}	
	
	@media (max-width: 1500px) {	
		.balloon.balloon_3{
			left: 0px;
		}
		.price.balloon_3{
			left: 10px;
		}
		.balloon_exit.balloon_3{
			left: 10px;
		}
		/*.balloon_exit.balloon_3{
			left: 60px;
		}*/
	}
	@media (max-width: 1100px) {	
		.balloon, .balloon_exit.balloon_3{
			left: 0px;
		}
		.price{
			left: 10px;
		}
		.balloon_exit{
			left: 10px;
		}
		
		/*.balloon_exit{
			left: 60px;
		}*/
	}

	/*@media (max-width: 768px) {
		.balloon_exit{
			top: 10px;			
			display: block;
		}
	}*/


	.create_ttl{
		text-align: center;
		line-height: 3em;
	}
	.create .right{
		width: 485px;
	}
	.create .left{
		width: calc(100% - 500px);
		text-align: center;
	}
	.illustration{
		border: 1px solid #c1c1c1;
		position: relative;
		text-align: center;
		padding: 15px;
		overflow: hidden;
		background-color: #FFF;
	}
	.illustration_bg{
		width: 100%;
		height: 100%;
	}
	.illustration_img{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -55%);			
		height: 70%;
	}
	.illustration_name{
		font-size: 50%;
		margin-top: 10px;
		font-weight: bold;
		float: left;
		width: 100%;
	}
	.illustration_info{
		font-size: 40%;
		line-height: 17px;
		float: left;
		width: 100%;
	}
	@media (max-width: 768px) {
		.illustration_info{
			line-height: 10px;
		}
		.illustration_name{
			margin-top: 0px;
		}
	}

	.info_3{
		width: 33%;
	}
	.info_3 div{
		display: block;
		width: 120%;
		margin-left: calc(-10%);
		transform: scale(0.8);
	}
	.info_4{
		width: 25%;
	}
	.info_4 div{
		display: block;
		width: 120%;
		margin-left: calc(-10%);
		transform: scale(0.8);
	}

	img.four{
		max-width: 30%;
	}
	span.four{
		font-size: small;
	}

	.paper_size_disp{
		text-align: center;
		margin-top: 5px;
		color: #555;
	}

	.control_panel{
		border: 1px solid #c1c1c1;
	}

	.detail_info{
		border: 1px solid #222;
		margin-top: 20px;		
	}

	.detail_info div{padding: 20px;}
	.detail_info div:nth-of-type(2){
		border-top: 1px solid #c1c1c1;
		background-color: #f5fbfb;
	}
	.detail_info div:nth-of-type(3){
		border-top: 1px solid #c1c1c1;
	}
	.detail_info dl{margin: 0;}
	.detail_info dt, .detail_info dd{display: inline-block; margin: 0; vertical-align: top;}

	.detail_info a.illustration-link{
		color: #375fd5;
		text-decoration: none;
		width: 80%;
	}
	#average_info{
		border-top: none;
		color: white;
		background-color: rgb(229, 84, 77);
	}


	.baby_on_borad{
		border: 1px solid #222;
		margin-top: 20px;
		background-color: #f5fbfb;
		padding: 20px;
	}
		.baby_on_borad div:nth-of-type(1){
			margin-top: 15px;
		}
		.baby_on_borad div:nth-of-type(1) span{
			display: inline-block;
		}
		/*
		.baby_on_borad div:nth-of-type(1) select{
			display: inline-block;
			width: 150px;
			height: 27px;
		}
		*/
		.baby_on_borad div:nth-of-type(2){
			margin-top: 30px;
			overflow: hidden;
			text-align: center;
		}
		/*.baby_on_borad div:nth-of-type(2) img{
			width: 48%;
		}*/
		/*.baby_on_borad div:nth-of-type(2) img:nth-of-type(1){
			float: left;
		}
		.baby_on_borad div:nth-of-type(2) img:nth-of-type(2){
			float: right;
		}*/
		.baby_on_borad select{
			background-color: #FFF;
		}

.tab{
	width: 100%;
	border-bottom: 1px solid #c1c1c1;
	display: flex;
	flex-direction: row;
	height: 65px;
}
.tab button{
	background-color: inherit;
	float: left;
	outline: none;
	cursor: pointer;
	transition: 0.3s;	
	vertical-align: middle;
	font-size: 1.1em;
	font-weight: bold;
	border-top: none;
	border-bottom: none;
	border-right: none;
	border-left: 1px solid #c1c1c1;
	margin-left: -1px;
	width: 51%;
	text-align: center;
}
.tab button:nth-of-type(3), .tab button:nth-of-type(4){
	display: none;
}
.tab button:hover{
	background-color: #daf0ee;
}
.tab button.active{
	background-color: #daf0ee;
}
.tab img{
	vertical-align: middle;
	margin-right: 5px;
}
.tabcontent{
	display: none;
}
	.row{
		padding: 10px 10px 10px 20px;
		transition: 0.3s;
	}
	.row:not(:last-of-type){
		border-bottom: 1px solid #c1c1c1;
	}
	.row span{
		vertical-align: middle;
		display: inline-block;
		width: 40%;
	}
	.row span a{
		color: #FFBF00;
	}
	.row input.half-width{
		width: 17%;
	}
	.birth-year{
		width: 70px;
		padding: 0px 10px;
	}
	.birth-month{
		width: 120px;
		padding: 0px 10px;
	}
	.birth-date{
		width: 50px;
		padding: 0px 10px;
	}
	.departed-year{
		width: 70px;
		padding: 0px 10px;
	}
	.departed-month{
		width: 120px;
		padding: 0px 10px;
	}
	.departed-date{
		width: 50px;
		padding: 0px 10px;
	}
	.shinchou{
		width: 25%;
		padding: 0px 10px;
	}

	.pet-height{
		width: 25%;
		padding: 0px 10px;
	}

	.pet-width{
		width: 25%;
		padding: 0px 10px;
	}

	.show_on_twin{
		display: none;
	}

	.poster_cart{
		text-align: center;
		margin: 50px auto;
	}


	.result{
		width: 100%;
		border-top: 1px solid #c1c1c1;
		display: flex;
		flex-direction: row;
		height: 65px;
	}
	.result button{
		background-color: inherit;
		float: left;
		outline: none;
		color: white;
		background-color: rgb(229, 84, 77);
		cursor: pointer;
		transition: 0.3s;	
		vertical-align: middle;
		font-size: 0.9em;
		border-top: none;
		border-bottom: none;
		border-right: none;
		border-left: 1px solid #c1c1c1;
		margin-left: -1px;
		width: 51%;
		text-align: center;
	}
@media (max-width: 769px){	
	.tab button{
		font-size: 1em;
		height: 65px;
	}
	.tab button{
		font-size: 1em;
		height: 65px;
	}
	.tab img{
		max-width: 25px;
		margin-bottom: 5px;
	}
	.balloon{
		left: 0px;
	}
	/*.balloon_exit{
		left: 60px;
		display: block;
	}*/
	.create .left, .create .right{
		width: 100%;
	}
	.create .right{
		margin-top: 15px;
	}
	.detail_info dl{
		/*margin-top: 10px;*/
		/*font-size: 2.5vw;	*/
		line-height: 2em;	
		/*font-weight: bold;*/
	}
	.tab span{
		display: block;
	}
	.row span{
		width: 25%;
	}
	.birth-year{
		width: 55px;
		padding: 0px 5px;
	}
	.birth-month{
		width: 110px;
		padding: 0px 5px;
	}
	.birth-date{
		width: 40px;
		padding: 0px 5px;
	}

	.departed-year{
		width: 55px;
		padding: 0px 5px;
	}
	.departed-month{
		width: 110px;
		padding: 0px 5px;
	}
	.departed-date{
		width: 40px;
		padding: 0px 5px;
	}

	.info_3 div{
		display: block;
		width: 400%;
		margin-left: calc(-150%);
		transform: scale(0.35);
		line-height: 1em;
	}

	/*.baby_on_borad div:nth-of-type(2) img{
		width: 48%;
	}*/
}

.poster_information_item .illustration_img {
	position: static;
	transform: none;
	width: 100%;
    height: auto;
}

@media (max-width: 469px){
	.illustration_img{
		height: 60%;
		transform: translate(-50%, -57%);
	}
}

/*----------------------------------------------------Cart-------------------------------------------------*/
.cart_ttl{
	text-align: center;
	line-height: 3em;
}
.cart_ctt{
	text-align: center;
	/*display: flex;
    flex-direction: row;*/
}
	.cart_ttl.additional{
		margin: 10px auto 20px auto;
		line-height: 44px;
	}
	.edit_a{
		line-height: 44px;
	}
	.edit_a > .additional_button{
		padding: 10px 57px;
	}

	.cart_illustration_pn{
		width: calc(50% - 20px);
		display: inline-block;	
		/*margin: 0px 5px 30px!important;*/
		vertical-align: top;
	}
	
	@media (min-width: 769px){
		.cart_illustration_pn {
			margin: 0px 5px 30px!important;
		}
	}
		.cart_illustration{
				border: 1px solid #c1c1c1;
				position: relative;
				text-align: center;
				padding: 30px 30px 15px;
				max-width: 423px;					
			}
				.cart_illustration_pn .control_panel{
					border: none;
				}
				.cart_illustration_bg{width: 100%}
				.cart_illustration_img{
					position: absolute;
					top: 50%;
					left: 50%;
					transform: translate(-50%, -55%);			
					height: 70%;
				}
				.cart_illustration_name, .cart_illustration_info{
					font-size: 30%;
				}
				.cart_illustration_name{
					margin-top: 10px;
					font-weight: bold;
				}

		.edit_pn{
			margin-top: 30px;
		}
		.edit_pn_name {
			font-weight: bold;
		}
			.edit_button button{			
				background-color: #F5FBFB;				
				outline: none;
				cursor: pointer;
				transition: 0.3s;	
				border: 1px solid #c1c1c1;
				border-radius: 5px;
				text-align: center;
				line-height: 40px;
				padding: 0 40px;
				margin: 20px 10px 10px;
			}
			.edit_button button:hover{
				opacity: 0.8;
			}
				.edit_button_save_and_create_new{
					padding: 0 75px!important;
				}

.customer_info{
	margin-top: 50px;
	border-bottom: 1px solid #999;
}
.customer_info_input{
	max-width: 800px;
	margin-top: 0 auto;
}
	.customer_info_input_message{
		text-align: center;
		color: #FFBF00;
	}
	.customer_info_input_ttl{
		font-weight: bold;
		line-height: 50px;
		margin-top: 30px;
		border-bottom: 1px solid #DDD;
		padding-left: 20px;
	}
	.customer_info_input input[type=text]{
		text-align: left;
	}	
	.customer_info_input dl{
		padding: 0px 20px;
	}
	.customer_info_input dt{
		width: 250px;
		display: inline-block;
	}
	.customer_info_input dt img{
		margin-left: 20px;
		vertical-align: middle;
	}
	.customer_info_input dd{
		display: inline-block;
		margin-left: 0px;
	}
		.customer_info_input .short{
			width: 170px;
		}
		.customer_info_input .long{
			width: 400px;
		}
		.customer_info_input .btn_search_address{
			width: 120px;
			background-color: #ffbf00;
			cursor: pointer;	
			outline: none;
			cursor: pointer;
			transition: 0.3s;
			text-align: center;
			font-weight: bold;
			border: 1px solid #999;
			border-radius: 5px;
			padding: 12px;	
		}
		.customer_info_input .note, .customer_info_input .payment_info{
			padding: 10px 20px;
		}
		.payment_info.credit p:not(:first-of-type){
			margin-top: 20px;
			text-align: center;
		}		
		.payment_info.giftcard a{
			display: inline-block;
			vertical-align: bottom;
			overflow: hidden;
		}
		.customer_info_input .waribiki{
			text-align: center;
		}
		.customer_info_input .waribiki a{
			line-height: 40px;
			border-bottom: 1px solid #222;
			text-decoration: none;
			color: #222;
			margin-top: 30px;
			display: inline-block;
		}
		.customer_info_input .waribiki div{
			margin-top: 20px;
			display: none;
		}
		.customer_info_input .waribiki .order_button, .payment_info.giftcard .order_button{
			padding: 15px;
			width: 90px;
		}
		.table_order_content{
			font-size: 1em;
			width: 500px;
			margin: 0px auto;
			border-collapse:collapse;
		}
		.table_order_content td{
			padding: 5px 15px;
		}
		.table_order_content tr:last-of-type td{
			border-top: 1px solid #AAA;
			border-bottom: 1px solid #AAA;
			font-weight: bold;
			padding: 15px;
		}
		.table_order_content tr td:last-of-type{
			text-align: right;
		}
		.customer_info_input .button{
			text-align: center;
			margin: 50px auto;
		}

		.table_order_content tr[id^="detail_"] > td:first-of-type{
			width: 70%;
		}

		.table_order_content tr[id^="detail_"] > td:last-of-type{
			width: 30%;
		}

@media (max-width: 769px){
	.cart_ctt{
		display: block;
	}
	.cart_illustration_pn{
		width: 100%;
	}
	.cart_illustration_pn:not(:first-of-type){
		margin-top: 20px;
	}
	.edit_button button{
		padding: 0 25px;
		margin: 20px 5px 10px;
	}
		.edit_button_save_and_create_new{
			padding: 0 30px!important;
		}

	.customer_info_input dd{width: 100%;}
	.customer_info_input .short{
			width: 40%;
		}
		.customer_info_input .long{
			width: calc(100% - 20px);
		}
	.customer_info_input dt img{
		margin-left: 5px;
	}
	.table_order_content{
		width: 100%;
	}
}

/*----------------------------------------------------checkout-------------------------------------------------*/
.checkout{
	border-bottom: 1px solid #999;
}
	.checkout_ttl{
		text-align: center;
		line-height: 3em;
	}
	.checkout_gr{
		padding: 30px 50px 15px;
		max-width: 1000px;
		text-align: left;
		border: 1px solid #AAA;
		background-color: #F5FBFB;
	}
	.checkout_gr:not(:first-of-type){
		margin-top: 30px;
	}
	.checkout_gr_center{
		text-align: center;
	}
		.checkout_gr_ttl{
			position: relative;
			font-size: 1.3em;
			font-weight: bold;
		}
		.checkout_gr_ttl a{
			position: absolute;
			top: 3px;
			right: 0px;
			background-color: #fff;
			border: 1px solid #000;
			border-radius: 3px;
			width: 60px;
			font-size: 13px;
			text-align: center;
			line-height: 22px;
			color: #222;
		}
		.checkout_gr .checkout_illustration_pn{
			max-width: 423px;
			display: inline-block;
			margin-bottom: 30px;
			margin-left: 10px;
			margin-right: 10px;
			vertical-align: top;
		}
		.checkout_gr .cart_illustration_pn{
			margin: 20px 0px!important;
			display: block;
			width: 100%;
		}
		.checkout_gr .edit_pn_name , .checkout_gr .edit_pn_info{
			text-align: center;
		}
		.checkout_gr .table_order_content{
			margin-top: 30px;
			border-top: 1px solid #AAA;
		}
		.checkout_gr .table_order_content tr:last-of-type td{
			border-bottom: none;
		}
	.checkout_ctt .button{
		text-align: center;
		margin: 50px auto;
	}

	.thankyou{
		text-align: center;
		margin-top: 240px;
	}
	.top_back{
		text-align: center;
		margin: 150px auto 250px;
	}

@media (max-width: 769px){
	.checkout_gr{
		padding: 20px 5px 5px;
	}
	.checkout_gr .checkout_illustration_pn{
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
	.checkout_gr .cart_illustration_pn{
		width: 100%;
	}
	.checkout_gr_ttl a{
		top: 0px;
	}
}

/*----------------------------------------------------gift_card-------------------------------------------------*/
.gift_card{
	text-align: center;
	position: relative;
	border-bottom: 1px solid #999;
}
	.gift_card_ttl{		
		line-height: 3em;
	}
	.gift_card_img{
		text-align: center;
	}
	.gift_card_img div{
		width: 49%;
		text-align: center;
	}
	.gift_card_note{
		margin-top: 20px;
	}
	.gift_card .detail_info{
		max-width: 550px;
		text-align: left;
	}
	.gift_card .detail_info div:nth-of-type(2){
		padding-top: 0px;
	}
	.gift_card_cart{
		text-align: center;
		margin-bottom: 50px;
	}
	.gift_card_cart .single_twin{
		margin-top: 50px;
		width: 250px;
	}
@media (max-width: 769px){
	.gift_card_img div{
		width: 100%;
	}
	.gift_card_img div:not(:first-of-type){
		margin-top: 30px;
	}
}

/*----------------------------------------------------story_cct-------------------------------------------------*/
.story{
	text-align: center;
	padding-top: 90px;	
}
	.story_ttl{
		padding-bottom: 30px;
		background: url("../image/wavyline_5.svg") no-repeat;	
		background-position: bottom center;
		background-size: 200px;
	}
	.story_cct{
		margin-top: 10px;
	}
		.story_cct p{
			margin-top: 25px;
		}
		.story_cct p:first-of-type{
			margin-top: 50px;
		}

	.story_img{
		padding: 30px 0px 20px;
		text-align: center;
	}

/*----------------------------------------------------help-------------------------------------------------*/
.help{
	border-bottom: 1px solid #999;
	padding-bottom: 50px;
}
	.help_ttl{
		line-height: 3em;
		background-color: #aac1c9;
		color: white;
		border: 1px solid #222;
		margin-top: -1px;
		padding-left: 30px;
	}
	.help_sub_ttl{
		font-size: 1.3em;
		font-weight: bold;
		margin-top: 50px;
	}
	.question, .answer{
		border: 1px solid #222;
		margin-top: -1px;
		padding: 10px 20px;
	}
	.question span{
		font-size: 1.5em;
		font-weight: bold;
		margin-right: 15px;
		color: #FF0000;
	}
	.answer span{
		font-size: 1.5em;
		font-weight: bold;
		margin-right: 15px;
		color: #0071BC;
	}
	.answer .illustration-link{
		color: #375fd5;
		text-decoration: none;
	}

/*-----------------------------------------*/
.privacypolicy{
	border-bottom: 1px solid #999;
	padding-bottom: 50px;
}
.privacypolicy .help_sub_ttl{
	margin-top: 20px;
}

/*-----------------------------------------*/
.specified_table{
	width: 700px;
    margin: 0px auto;
    border-collapse: collapse;
    word-break: break-all;
    margin-top: 50px;
    background-color: #F5FBFB;
}
.specified_table td{
	padding: 10px 20px;
	border: 1px solid #AAA;
	vertical-align: top;
}
.specified_table tr td:nth-of-type(1){
	width: 230px;	
}
@media (max-width: 769px){
	.specified_table{
		width: 100%;
	}
	.specified_table tr td:nth-of-type(1){
		width: 30%;
	}
}

/*----------------------------------------------------wedding_cct-------------------------------------------------*/
.wedding{
	text-align: center;
	padding-top: 90px;	
}

.wedding_ttl{
	padding-bottom: 30px;
	background: url("../image/wavyline_5.svg") no-repeat;	
	background-position: bottom center;
	background-size: 200px;
}

.wedding > img {
	margin-top: 60px;
	width: 100%;
}

	.wedding_cct{
		padding-bottom: 30px;
		/* background: url("../image/wedding_visual_.png") no-repeat;	*/
		background-position: bottom center;
		padding: 0 10px 0 10px;
	}

	.wedding_cct p{
			margin-top: 25px;
	}
	.wedding_cct p:first-of-type{
			margin-top: 36px;
			color: #cf9c52;
			font-size: 16px;
	}

	.wedding_refer_image {
		margin-top: 40px;
		position: relative;
	}	
	.wedding_refer_image div{
		float: left;
		position: relative;
		text-align: center;
		width: 50%;
		height: 480px;
		margin-top: 40px;
	}
	.wedding_refer_image div img{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		}
	.wedding_refer_image div img.height_max{
		height: 100%;
	}
	.wedding_refer_image div img.width_max{
		width: 90%;
	}

	@media (max-width: 769px) {	
		.wedding_refer_image div{
			width: 100%;
			padding: 10px 5px 0px;
			margin-top:  40px;
		}
		.wedding_refer_image div.width_div{
			max-height: 300px;
		}
		.wedding_refer_image div.height_div{
			min-height: 600px;
		}
		.wedding_refer_image div img.height_max{
			height: auto;
			min-width: 100%;
		}
			.wedding_refer_image div img.width_max{
			width: 100%;
		}
	}

	.wedding_create_poster_link {
		margin-top: 60px;
		width: 190px;
	}

	.wedding_guidance{
		text-align: left;
    list-style: none;
    padding-left: 1.5em;
		margin-top: 40px;
    margin-left: 0.5em;
	}
	.wedding_guidance li{
			margin-bottom: 10px;
			text-indent: -1.5em;
	}
	.wedding_guidance li:before{
			content: "※";
			margin-right: 0.5em;
	}


/* -------------------------------------- */
.top_modal_wrap, .cart_modal_wrap{
	width: 100%;
	height: 100%;
	position: fixed;
	top:0;
	left:0;
	background-color: rgb(0, 0, 0);
	z-index: 10000;
	opacity:0.5;
}
.top_modal_contents{
	background-image: url("/image/50PerOff1.png");
	background-repeat: no-repeat;
	background-size: cover;
	position: fixed;
	height: 540px;
	width: 375px;
	top: calc((100% - 540px) / 2);
	left: calc((100% - 375px) / 2);
	z-index: 10001;
}
.cart_modal_contents{
	background-image: url("/image/pop_f.png?i=1");
	background-repeat: no-repeat;
	background-size: cover;
	position: fixed;
	height: 540px;
	width: 368px;
	top: calc((100% - 540px) / 2);
	left: calc((100% - 368px) / 2);
	z-index: 10001;
	
}
@media (max-width: 769px){
	.top_modal_contents, .cart_modal_contents{
		height: 360px;
		width: 250px;
		top: calc((100% - 360px) / 2);
		left: calc((100% - 250px) / 2);
		}
	.cart_modal_contents{
		/*
		height: 370px;
		width: 252px;
		top: calc((100% - 370px) / 2);
		left: calc((100% - 252px) / 2);
		*/
		
		width: 95%;
		height: calc(103vw / 0.75);
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		background-size: contain;
		background-position: center;
	}
}


.top_batsu {
  display: block;
	right:-30px;
  position: absolute;
  width: 30px;
  height: 30px;
	margin: 15px;
}
.top_batsu::before, .top_batsu::after { /* 共通設定 */
  content: "";
  position: absolute;
  width: 5px; /* 棒の幅（太さ） */
  height: 30px; /* 棒の高さ */
  background: #333;
  border-radius: 2.5px; /* 棒の四隅の丸み*/
}
.top_batsu::before {
  transform: translate(-50%,-50%) rotate(45deg);
}
.top_batsu::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}


/*----------------------------------------------------contact_cct-------------------------------------------------*/
.contact{
	text-align: center;
	padding-top: 90px;	
}

.contact_ttl{
	padding-bottom: 30px;
	background: url("../image/wavyline_5.svg") no-repeat;	
	background-position: bottom center;
	background-size: 200px;
}
.contact_cct{
	margin-top: 10px;
}
.contact_cct p{
	margin-top: 25px;
}

.contact_form{
	margin-top: 40px;
	background-color: rgb(242, 244, 247);
}

label > span.required{
	font-style: italic;
	font-size: smaller;
}

form.contact{
	text-align: left;
	padding-top: 20px;
}

.contact_form label{
	color:rgb(154, 159, 164);
}

.contact_form input{
	text-align: left;
}

.contact_form .form-group:last-of-type{
	padding-top:50px;
	padding-bottom:50px;
	display: block;
  text-align: center;
}

.contact_form textarea{
	resize: vertical;
}

.contact_form button{
	color:rgb(120, 120, 120);
}

a.contact_link{
  display       : inline-block;
  font-size     : smaller;        /* 文字サイズ */
	border: solid 1px #333;

  text-align    : center;      /* 文字位置   */
  cursor        : pointer;     /* カーソル   */
  padding       : 12px 12px;   /* 余白       */
  background    : #ffffff;     /* 背景色     */
  color         : #999999;     /* 文字色     */
  line-height   : 1em;         /* 1行の高さ  */
  transition    : .3s;         /* なめらか変化 */
}
a.contact_link:hover {
  color         : #ffffff;     /* 文字色     */
  background    : #7a7a7a;     /* 背景色     */
  opacity       : 0.8;         /* カーソル時透明度 */
}

/*----------------------------------------------------review_cct-------------------------------------------------*/
.review{
	text-align: center;
	padding-top: 90px;	
}
.review_ttl{
	padding-bottom: 30px;
	background: url("../image/wavyline_5.svg") no-repeat;	
	background-position: bottom center;
	background-size: 200px;
}

.review_cct{
	padding-bottom: 30px;
	background: url("../image/review_top.png") no-repeat;	
	background-position: bottom center;
	background-size: 1042px;
	height: 522px;
	padding: 0 10px 0 10px;
}

.review_cct{
	margin-top: 80px;
	font-size: 16px;
}
.review_cct p{
		margin-top: 25px;
		color: #fff;
		line-height: 2.3em;
}
.review_cct p:first-of-type{
	margin-top: 36px;
	color: #f4c545;
	font-size: 24px;
}

span.review_yotpo{
	color: #f4c545;
}

/*----- SP -----*/
@media (max-width: 769px) {
	.review_cct{
		background-size: 769px;
		height: 385px;
	}
	.review_cct{
	font-size: 14px;
	}
	.review_cct p{
			margin-top: 10px;
			color: #fff;
			line-height: 1.2em;
	}
	.review_cct p:first-of-type{
			margin-top: 24px;
			color: #cf9c52;
			font-size: 16px;
		}
}

.review_guidance{
	color: #f4c545;
	text-align: left;
	list-style: none;
	padding-left: 1.5em;
	margin-top: 40px;
	margin-left: 0.5em;
}
.review_guidance li{
		margin-bottom: 10px;
		text-indent: -1.5em;
}
.review_guidance li:before{
		content: "※";
		margin-right: 0.5em;
}

.review_create_poster_link {
	text-align: center;
	margin: 20px auto 60px auto;
	width: 190px;
}


/*----------------------------------------------------add header css -------------------------------------------------*/
.header_top{
	background-color: #f4c545;
	border-bottom:solid 1px #000;

	color: white;
	white-space: nowrap;

	padding: 10px 20px;

}

/*----- SP -----*/
@media (max-width: 769px) {
	.header_top{
		padding: 5px 10px;
	}
}



nav.sp_nav ul{
	list-style-type: none;
	text-align: center;
	color: white;

	display:flex;
	flex-wrap: nowrap;

	margin-block-start: 0px;
	margin-block-end: 0px;
	margin-inline-start: 0px;
	margin-inline-end: 0px;
	padding-inline-start: 0px;
}

nav.sp_nav li{
	width: 100%;
	padding: 10px 0;
	background-color: #aac1c9;
}
nav.sp_nav li:first-of-type{
	border: 1px solid black;
}

nav.sp_nav li:nth-of-type(n+2){
	border-top: 1px solid black;
	border-right: 1px solid black;
	border-bottom: 1px solid black;
}

/*----------------------------------------------------switch_cct-------------------------------------------------*/
.switch{
	text-align: center;
	padding-top: 90px;	
}
	.switch_ttl{
		padding-bottom: 30px;
		background: url("../image/wavyline_5.svg") no-repeat;	
		background-position: bottom center;
		background-size: 200px;
	}
	.switch_cct{
		margin-top: 10px;
	}
		.switch_cct p{
			margin-top: 25px;
		}
		.switch_cct p:first-of-type{
			margin-top: 50px;
		}
	
		.switch_btn{
			margin-top: 40px;
		}


/*----------------------------------------------------footer_accordion-------------------------------------------------*/
.footer-accordion{
	width: 160px;
}
.footer-toggle {
	display: none;
}
.footer-label {		/*タイトル*/
	display: block;
}
.footer-label::before{		/*タイトル横の矢印*/
	content:"";
	width: 6px;
	height: 6px;
	border-top: 2px solid rgb(0, 0, 0);
	border-right: 2px solid rgb(0, 0, 0);
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 4px;
	transform: rotate(135deg);
}
.footer-label,
.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.content {		/*本文*/
	height: 0;
	margin-bottom:10px;
	padding:0 10px;
	overflow: hidden;
}
.content a:first-child{		/*本文*/
	margin-bottom: 0.3em;
}
.footer-toggle:checked + .footer-label + .content {
	height: auto;
	padding: 10px;
	transition: all .3s;
}
.footer-toggle:checked + .footer-label::before {
	transform: rotate(-45deg) !important;
}


/*----------------------------------------------------pet-illust-and-size_cct-------------------------------------------------*/
.pet-illust-and-size{
	text-align: center;
	padding-top: 90px;	
}
	.pet-illust-and-size_ttl{
		padding-bottom: 30px;
		background: url("../image/wavyline_5.svg") no-repeat;	
		background-position: bottom center;
		background-size: 200px;
	}
	.pet-illust-and-size_cct{
		margin-top: 10px;
	}
		.pet-illust-and-size_cct p{
			margin-top: 25px;
		}
		.pet-illust-and-size_cct p:first-of-type{
			margin-top: 50px;
		}
	
		.pet-illust-and-size_btn{
			margin-top: 80px;
		}
		.pet-illust-and-size_cct div.image{
			margin-top: 40px;
			width: 100%;
			padding: 0 5% 0 5%;
		}


/*----------------------------------------------------story-pet_cct-------------------------------------------------*/
.story-pet{
	text-align: center;
	padding-top: 90px;	
}
.story-pet_ttl{
	padding-bottom: 30px;
	background: url("../image/wavyline_5.svg") no-repeat;	
	background-position: bottom center;
	background-size: 200px;
}
.story-pet_cct{
	margin-top: 10px;
}
.story-pet_cct p{
	margin-top: 25px;
}
.story-pet_cct p:first-of-type{
	margin-top: 50px;
}
.story-pet_cct p:last-of-type{
	margin-bottom: 50px;
}

.story-pet_btn{
	margin-top: 40px;
}

/*---- 画像右クリック禁止、透明画像 ----*/
.illustration img {
	pointer-events: none;
}
.copy_guard {
	width: 100%;
	height: 100%;
	position: absolute; 
	z-index: 2;
}

/*----------------------------------------------------news 2023/07/20 追記-------------------------------------------------*/
.top_news_wrap {
	margin: 0 0 70px;
}
.news_list ul,
.news_list li {
	padding: 0;
	margin: 0;
	list-style: none;
}
.news_list li {
	width: 100%;
}
.news_list.top li {
	text-align: left;
}
.news_list.top li {
	border-bottom: 1px solid #222;
}
.news_list li a {
	color: #222;
	display: block;
	width: 100%;
}
.news_list dl {
	width: 100%;
}
.news_list dd {
	margin: 0;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}
.news_list .new_icon {
	letter-spacing: 0.05em;
	display: inline-block;
	color: #fff;
	background: #aac1c9;
	padding: 0.3em 0.6em 0.5em;
	line-height: 1;
	margin: 0 0.8em 0 0;
	border-radius: 5px;
}
@media ( min-width: 770px ) {
	.news_list.top {
		max-width: 700px;
		margin: 0 auto;
	}
	.news_list dl {
		display: flex;
	}
	.news_list dt {
		flex: 0 0 100px;
	}
	.news_list dd {
		flex: 1 1 auto;
		width: calc(100% - 100px);
	}
	.news_list .new_icon {
		font-size: 12px;
	}
}
@media ( max-width: 769px ) {
	.news_list .new_icon {
		font-size: 11px;
	}
}
.news_archive {
	text-align: center;
	padding-top: 90px;
}
.news_archive .news_list {
	margin: 50px auto;
}
.news_archive .news_list ul {
	display: flex;
	flex-wrap: wrap;
}
.news_archive .news_list li .title,
.news_archive .news_list li .text {
	text-align: left;
}
.news_archive .news_list li .title {
	margin: 0 0 0.5em;
	line-height: 1.4;
	font-weight: bold;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.news_archive .news_list li .text {
	line-height: 1.5;
	margin: 0;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.news_archive .news_list li .new_icon_wrap {
	width: 50%;
	float: left;
	text-align: left;
	margin: 0 0 0.5em;
}
.news_archive .news_list .new_icon {
	padding: 0.3em 2em 0.5em;
}
.news_archive .news_list li time {
	float: right;
	width: 50%;
	color: #aac1c9;
	display: block;
	text-align: right;
	line-height: 1;
	padding: 0.6em 0;
	margin: 0 0 0.5em;
}
.news_archive .thumbnail {
	margin: 0 0 0.5em;
}
.news_archive .thumbnail img {
	object-fit: contain;
	transition: transform 0.3s;
	max-height: 100%;
	height: 100%;
	width: auto;
}
.news_archive .news_list a:hover .thumbnail img {
	transform: scale(1.2);
}
@media ( min-width: 770px ) {
	.news_archive .news_list {
		padding: 0 30px;
	}
	.news_archive .news_list ul {
		gap: 40px;
	}
	.news_archive .news_list li {
		width: calc((100% - 80px) / 3);
	}
	.news_archive .news_list li .title {
		font-size: 16px;
	}
	.news_archive .news_list li time {
		font-size: 13px;
	}
	.news_archive .thumbnail {
		height: 200px;
	}
}
@media ( max-width: 769px ) {
	.news_archive .news_list {
		max-width: 500px;
	}
	.news_archive .news_list ul {
		gap: 30px;
	}
	.news_archive .news_list li .title {
		font-size: 15px;
	}
	.news_archive .news_list li time {
		font-size: 12px;
	}
	.news_archive .thumbnail {
		height: 68vw;
	}
}
.news_detail {
	text-align: center;
	padding-top: 90px;
}
.news_detail .story-pet_ttl {
	margin: 0 0 3em;
}
.news_detail .title {
	text-align: left;
	line-height: 1.5;
	margin: 0 0 0.5em;
}
.news_detail time {
	color: #aac1c9;
	display: block;
	text-align: right;
	line-height: 1;
	margin: 0 0 2em;
}
.news_detail .editor_area {
	margin: 0 0 2em;
}
.news_detail .editor_area h2 {
	text-align: left;
	border-bottom: 2px solid #ffbf00;
	padding: 0 0 0.5em;
	line-height: 1.5;
	margin: 1.4em 0;
}
.news_detail .editor_area h3 {
	position: relative;
	color: #ffbf00;
	text-align: left;
	margin: 1.75em 0;
	padding: 0 0 0 1.3em;
	line-height: 1.5;
}
.news_detail .editor_area h3::before {
	content: '';
	display: block;
	width: 0.5em;
	height: 100%;
	background: #ffbf00;
	position: absolute;
	top: 0;
	left: 0;
}
.news_detail .editor_area p {
	text-align: left;
	margin: 2em 0;
	line-height: 1.6;
}
.news_detail .editor_area p.img {
	text-align: center;
	line-height: 1;
}
.news_detail .editor_area p.img img {
	vertical-align: bottom;
}
.news_detail .editor_area p a {
	color: #ffbf00;
	text-decoration: underline;
	text-underline-offset: 0.3em;
}
.news_detail .editor_area p a:hover {
	text-decoration: none;
}
.news_detail .navigation_group {
	position: relative;
	display: grid;
	margin: 0 0 2em;
}
.news_detail .navigation_group a:nth-of-type(2)::before {
	content: '';
	display: block;
	background: #9a9a9a;
	position: absolute;
}
.news_detail .navigation_group .prev,
.news_detail .navigation_group .next {
	position: relative;
	display: flex;
	gap: 0 10px;
	justify-content: space-between;
}
.news_detail .navigation_group .next {
	flex-direction: row-reverse;
	justify-content: flex-end;
}
.news_detail .navigation_group .img {
	width: 100px;
	height: 80px;
	flex: 0 0 auto;
	margin: 0;
	background: no-repeat;
	background-size: contain;
	background-position: center center;
}
.news_detail .navigation_group .content_block {
	position: relative;
	margin: 0;
}
.news_detail .navigation_group .content_block {
	width: calc(100% - 100px);
}
.news_detail .navigation_group .content_block .group {
	display: flex;
	justify-content: space-between;
	margin: 0 0 12px;
}
.news_detail .navigation_group .decoration {
	color: #222;
	font-size: 10px;
	line-height: 1;
	margin: 0;
}
.news_detail .navigation_group .decoration {
	position: relative;
	margin: 0 0 1em;
}
.news_detail .navigation_group .prev .decoration {
	padding: 0 0 0 10px;
	text-align: left;
}
.news_detail .navigation_group .next .decoration {
	padding: 0 10px 0 0;
	text-align: right;
}
.news_detail .navigation_group .decoration::before {
	content: '';
	display: inline-block;
	width: 4px;
	height: 4px;
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	top: 50%;
}
.news_detail .navigation_group .prev .decoration::before {
	border-bottom: 1px solid rgb(0, 0, 0);
	border-left: 1px solid rgb(0, 0, 0);
	left: 1px;
}
.news_detail .navigation_group .next .decoration::before {
	border-top: 1px solid rgb(0, 0, 0);
	border-right: 1px solid rgb(0, 0, 0);
	right: 3px;
}
.news_detail .navigation_group .prev time,
.news_detail .navigation_group .next time {
	font-size: 10px;
	margin: 0 0 0.5em;
	text-align: left;
}
.news_detail .navigation_group .prev .text,
.news_detail .navigation_group .next .text {
	color: #222;
	font-size: 12px;
	display: block;
	line-height: 1.2;
	text-align: center;
	margin: 0;
	text-align: left;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.news_detail .back_to_list {
	text-align: center;
}
.news_detail .back_to_list .orange_link {
	margin: 0 auto;
	width: 190px;
}
@media ( min-width: 770px ) {
	.news_detail .title {
		font-size: 24px;
	}
	.news_detail .editor_area {
		padding: 0 30px;
	}
	.news_detail .editor_area h2 {
		font-size: 20px;
	}
	.news_detail .editor_area h3 {
		font-size: 16px;
	}
	.news_detail .navigation_group {
		padding: 0 30px;
		gap: 0 5em;
		grid-template-columns: 1fr 1fr;
	}
	.news_detail .navigation_group .prev {
		grid-column: 1;
	}
	.news_detail .navigation_group .next {
		grid-column: 2;
	}
	.news_detail .navigation_group a:nth-of-type(2)::before {
		width: 1px;
		height: 100%;
		top: 0;
		left: -2.5em;
	}
}
@media ( max-width: 769px ) {
	.news_detail .title {
		font-size: 20px;
	}
	.news_detail .editor_area h2 {
		font-size: 17px;
	}
	.news_detail .editor_area h3 {
		font-size: 15px;
	}
	.news_detail .navigation_group {
		grid-template-columns: 1fr;
		gap: 3em 0;
	}
	.news_detail .navigation_group a:nth-of-type(2)::before {
		width: 100%;
		height: 1px;
		top: 0;
		top: -1.5em;
	}
}
/*----------------------------------------------------pager 2023/07/20 追記-------------------------------------------------*/
.pagination,
.pagination li {
	padding: 0;
	margin: 0;
	list-style: none;
}
.pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 2.2em;
	min-height: 30px;
}
.pagination a {
	color: #222;
	position: relative;
	display: block;
}
.pagination a:hover::before,
.pagination a.active::before {
	content: '';
	display: block;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #aac1c9;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}
.pagination .prev,
.pagination .next {
	position: relative;
}
.pagination .prev span::before,
.pagination .next span::before {
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	transform: rotate(45deg);
}
.pagination .prev span::before {
	border-bottom: 2px solid rgb(0, 0, 0);
	border-left: 2px solid rgb(0, 0, 0);
}
.pagination .next span::before {
	border-top: 2px solid rgb(0, 0, 0);
	border-right: 2px solid rgb(0, 0, 0);
}
.pagination .prev span.disable::before,
.pagination .next span.disable::before {
	border-color: #bbb;
}

/*----------------------------------------------------アップロード中オーバーレイ 2023/07/27 追記-------------------------------------------------*/
/* オーバーレイ用のスタイル */
#overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	z-index: 9999;
}

#overlay p {
	color: white;
	font-size: 24px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* ボタンを無効化するスタイル */
.not_click {
	pointer-events: none;
}

/*----------------------------------------------------ポスタカード 2023/11/09 追記-------------------------------------------------*/
.postcar_span p.number {
	display: inline;
}

/*----------------------------------------------------カートボタン修正 2023/12/12 追記-------------------------------------------------*/
.select_edit_btn {
	display: block;
	width: 100%;
	max-width: 194px;
	padding: 0 !important;
	margin: 20px auto 10px !important;;
	line-height: 40px;
	box-sizing: border-box;
	color: #222;
	font-size: small;
}

/*----------ポスターページ文言追加 2024/08/27 追記 ----------*/
.poster_create_text {
	text-align: center;
	color: #ffcc00;
	margin-bottom: 24px;
}
