/*						*/
/*		topImage		*/
/*						*/
.topImage{
	position: relative;
	width:100%;
    height: auto;
	overflow: hidden;
}

.topImage video{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.topImage .pattern {
	position: absolute;
	width:1200px;
	height:1200px;
	background-image: url(../img/dot_w.webp);
	background-size: auto;
	background-repeat: repeat;
	background-position: center center;
	z-index:1;
}

@media screen and (min-width: 568px) {
	.topImage{
		margin-top:-66px;
	}
}
@media screen and (min-width: 768px) {
}
@media screen and (min-width: 1024px) {
}
@media screen and (min-width: 1280px) {
}

main img.logo{
	position: relative;
	width:240px;
	left:50%;
	transform: translateX(-50%);
	margin-top:3em;
}


main h1{
	font-size:5vw;
	text-align:center;
	line-height:1em;
}

main h1 span{
	opacity:0;
	display:block;
}

@media screen and (min-width: 568px) {
	main h1{
		font-size:1.8em;
	}
}

@media screen and (min-width: 768px) {
	main h1 span{
		opacity:1;
		display:inline;
	}
}

main h2{
	left:50%;
	transform: translateX(-50%);
	margin-bottom:1.5em !important;
}


/*						*/
/*		greeting		*/
/*						*/
.greeting{
	width:100%;
	margin:0 auto;
}

.fade_wrap {
	position: relative;
	width: 150px;
	height:113px;
	margin-left:1em;
	float:right;
}

.fade_wrap img{
	position: absolute;
	opacity: 0;
	animation: change-img-anim 48s infinite;
}

.fade_wrap img:nth-of-type(1) {
	animation-delay: 0s;
}
.fade_wrap img:nth-of-type(2) {
	animation-delay: 6s;
}
.fade_wrap img:nth-of-type(3) {
	animation-delay: 12s;
}
.fade_wrap img:nth-of-type(4) {
	animation-delay: 18s;
}
.fade_wrap img:nth-of-type(5) {
	animation-delay: 24s;
}
.fade_wrap img:nth-of-type(6) {
	animation-delay: 30s;
}
.fade_wrap img:nth-of-type(7) {
	animation-delay: 36s;
}
.fade_wrap img:nth-of-type(8) {
	animation-delay: 42s;
}

@keyframes change-img-anim {
	0%{ opacity: 0;}
	7.5%{ opacity: 1;}
	12.5%{ opacity: 1;}
	17.5%{ opacity: 0;}
	100%{ opacity: 0;}
}



@media screen and (min-width: 568px) {
	.fade_wrap {
		width: 200px;
		height: 150px;
		margin-left:1.5em;
	}
}

@media screen and (min-width: 768px) {
	.greeting{
		width:720px;
		font-size:1.17em;
	}
	.fade_wrap {
		margin-left:2em;
	}
}


/*						*/
/*		shortcut		*/
/*						*/
main .full-wrap{
	background: rgb(255,255,255);
	background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(248,180,0,1) 44%, rgba(248,180,0,1) 100%);
	padding-top:2.5em;
	margin-bottom:3em;
}


main ul.short_cut{
	list-style:none;
	padding:0;
	text-align:center;
	display:flex;
	flex-wrap: wrap;
	margin:0 1.5em 3em 1.5em;
}


main ul.short_cut li.card{
	padding:0;
	box-shadow: 0 3rem 3rem -1.5rem hsl(25 75% 25% / 25%);
	background:white;
	
	margin:0 1em 2em 0;	
	width:calc((100% - 1em) / 2);
}

main ul.short_cut li.card:nth-child(2n){
	margin-right:0;
}

main ul.short_cut li.card img{
	width:100%;
	height:36vw;
	border-radius:0;
}

main ul.short_cut li.card a{
	text-decoration: none;
	opacity: 1 !important;
	height:100%;
	display:block;
	box-sizing:inherit !important;
	color:rgb(75,74,73) !important;	
}

main .short_cut b{
	display:inline-block;
	letter-spacing: 0.2em;
	margin:0.25em 0 0.75em 0;
	position: relative;	
	z-index:1;	
}

main .short_cut p{
	text-align:left;
	font-size:0.84em;
	line-height: 1.4em;
	margin:0 0.5em 1em 1em;
}

main ul.short_cut b.marker_b:after{
	width:80%;
	margin-top:-0.8em;
	background-color:#F8B400;
}

main .short_cut .card:hover{
	transition: ease .3s;
	opacity:0.88;
	box-shadow: 0 1.5rem 1.5rem -1.5rem hsl(25 75% 25% / 25%);
}


@media (min-width: 568px) {
	
	main ul.short_cut{
		margin:0 0 3em 0;
	}

	main ul.short_cut li.card{
		width:calc((100% - 1.5em) / 4);
	}	

	main ul.short_cut li.card{
		margin:0 0.5em 1.5em 0;	
	}
	
	main ul.short_cut li.card:nth-child(2){
		margin-right:0.5em;
	}
	main ul.short_cut li:last-child{
		margin-right:0;
	}
	main ul.short_cut li.card img{
		height:20vw;
	}	
}
@media (min-width: 768px) {

	main ul.short_cut{
		max-width:720px;
		margin:0 auto 3em auto;
	}
	
	main ul.short_cut li.card{
		width:calc((100% - 2.25em) / 4);
	}	
	
	main ul.short_cut li.card,
	main ul.short_cut li.card:nth-child(2){
		margin-right:0.75em;	
	}
	main ul.short_cut li.card img{
		height:155px;
	}	
}

@media (min-width: 1024px) {
	main ul.short_cut{
		max-width:980px;
	}
	
	main ul.short_cut li.card{
		width:calc((100% - 3em) / 4);
	}	
	main ul.short_cut li.card,
	main ul.short_cut li.card:nth-child(2){
		margin-right:1em;	
	}
	main ul.short_cut li.card img{
		height:200px;
	}	
}

main .wrap{
	overflow:hidden;
}

main a.swip{
	position:relative;
}

main a.swip img.image{
	vertical-align: top;
	opacity:1 !important;
	transition:.3s all;	
}

main a.swip:hover img.image{
	transform:scale(1.11,1.11);
	transition:.3s all;
}

main a.swip img.icon{
	position:absolute;
	z-index:1;
	width:20vw !important;
	height:auto !important;
	margin-top:-10vw;
	left:50%;
	transform: translate(-50%,0)
}

@media screen and (min-width: 568px) {
	main a.swip img.icon{
		width:4em !important;
		margin-top:-2em;
	}
}

@media screen and (min-width: 768px) {
	main a.swip img.icon{
		width:5em !important;
		margin-top:-2.5em;
	}
}
@media screen and (min-width: 1024px) {
	main a.swip img.icon{
		width:6em !important;
		margin-top:-3em;
	}
}
/*						*/
/*		kaitori			*/
/*						*/

main .kaitori h2{
	margin-bottom:1em !important;
}

main .kaitori .period{
	font-size:0.9em;
	text-align:center;
	margin-bottom:1em !important;	
}

main .kaitori .headline{
	font-size:1.1em;
}

main #listData .list{
	width:100% !important;
}

main #listData .list-item.sm,
main #listData .list-item.md,
main #listData .list-item.lg{
	display:none;
}

@media screen and (min-width: 568px) {
	main #listData .list-item.sm{
		display:flex;
	}
}

@media screen and (min-width: 768px) {
	main #listData .list-item.md{
		display:block;
	}
}
@media screen and (min-width: 1024px) {
	main #listData .list-item.lg{
		display:block;
	}
}


/*					*/
/*		banner		*/
/*					*/
ul.topBanner{
	list-style:none;
	margin:0;
	padding:0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.topBanner li{
	width:100%;
}

@media screen and (min-width: 568px) {
	.topBanner li{
		width:calc(100% / 2);
	}
}

@media screen and (min-width: 768px) {
	.topBanner li{
		width:calc((100% - 1.5em) / 2);
	}
	.topBanner li:nth-child(1){
		margin-right:1.5em;
	}	
}
@media screen and (min-width: 1024px) {
	ul.topBanner{
		width:720px;
		margin:0 auto;
	}
}

/*					*/
/*		review		*/
/*					*/
.reviewData{
	opacity:0;
	min-height: 53vw;
	max-height: 53vw;
}

@media screen and (min-width: 568px) {
	.reviewData{
		min-height: 230px;
		max-height: 230px;
	}
}


/*					*/
/*		twitter		*/
/*					*/
ul.sns{
	list-style:none;
	margin:0em 0 3em 0;
	padding:0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	position: relative;
	z-index:20;
}
@media screen and (min-width: 568px) {
	ul.sns{
		margin-bottom:4em;
	}
}

.sns li{
	margin:0 0.5em;
	width:44px;
}

/*						*/
/*		more			*/
/*						*/
a.more{
	display: block;
	padding: 0.5em 2.5em 0.4em 2.5em;
	text-align:center;
	position: relative;
	opacity:1 !important;
	
	border:0.5px solid #e50012;

	color:#e50012;
	text-decoration: none;	
	
	margin:0;	
	z-index:2;
}

a.more span{
	font-weight:bold;
}


a.more sign{
	position: relative;
}

a.more .sign::before{
    content: '';
    /*絶対配置で下線の位置を決める*/
	position: absolute;
    bottom:16px;
    right:1em;
    width:12px;
    height: 1px;
	background:#e50012;
	transition: all .3s;	
}

a.more .sign::after{
    content: '';
	position: absolute;
    bottom:18px;
    right:1em;
    width: 7px;
    height:1px;
	background:#e50012;
    transform: rotate(35deg);
    transition: all .3s;	
}


/* Effect1
*************************************** */
/* 擬似要素の共通スタイル */
a.more::after,
a.more::before,
.more_inner::after,
.more_inner::before {
	background-color:#f7b2b8;
	content: '';
	display: block;
	position: absolute;
	z-index: 10;
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}
/* 左上へ配置 */
a.more::after {
	width: 0px;
	height: 0.5px;
	top: -0.5px;
	left: -0.5px;
}
/* 右下へ配置 */
a.more::before {
	width: 0px;
	height: 0.5px;
	right: -0.5px;
	bottom: -0.5px;
}
/* 左下へ配置 */
.more_inner::after {
	width: 0.5px;
	height: 0px;
	left: -0.5px;
	bottom: -0.5px;
}
/* 右下へ配置 */
.more_inner::before {
	width: 0.5px;
	height: 0px;
	top: -0.5px;
	right: -0.5px;
}

/* hover */

a.more:hover{
	border-color:#fff;
}

a.more:hover::after,
a.more:hover::before {
	width: 100%;
	width: calc(100% + 0.5px);
}
a.more:hover .more_inner::after,
a.more:hover .more_inner::before {
	height: 100%;
	height: calc(100% + 0.5px);
}
a.more:hover .sign::before,
a.more:hover .sign::after{
    right:0.5em;
}


