@charset "utf-8";
/* CSS Document */
.header_frame{
    height: calc(330vw / 19.2);
}

@media screen and (max-width:1400px) {
	.header_frame {
		height: calc(308vw/14);
	}
}

@media screen and (max-width:1200px) {
	.header_frame {
		height: calc(267vw/11);
	}
}

.lpwrap img{
	max-width: 100%;
	vertical-align: bottom;
}
.lpwrap h2 img{
	width: 100%;
}

@media screen and (max-width:768px) {
	.lpwrap img{
		max-width: 100%;
		vertical-align: bottom;
	}
}

@media screen and (max-width:768px) {
	#wrapper{
		width: 100% !important;
	}
	main{
		width: 100%;
	}
	iframe{
		display: none;
	}
}

@media screen and (min-width:769px) {
	#sp_header{
		display: none !important;
	}
	.globalMenuSp{
		display:none;
	}
	.search{
		display: none;
	}
	.footer_top{
		display: none !important;
	}
	footer{
		display: none;
	}
	center{
		display: none;
	}
}

.lpwrap{
    width:980px;
	margin: 0 auto;
}
.lpwrap h2{
	font-size: 1.6rem;
	text-align: center;
	font-weight: 900;
}
.lpwrap h3{
    /*font-size: calc(32 / 16 * 1rem);*/
	font-size: 1.4rem;
    font-weight: 900;
    font-style: normal;
	margin: 1rem 0 0.5rem 0;
}
.lpwrap h3 small{
    display: flex;
    justify-content: center;
    margin-top: 20px;
}
.lpwrap p{
	margin: 0;
}
.lpwrap section{
    padding:80px 0;
}
/*.lpwrap section:nth-child(even){
    background-color:#D8F3FC;
}
.lpwrap section:nth-child(odd){
    background-color:#761b44;
}*/
.pc_only{
    display: block;
}
.sp_only{
    display: none;
}

@media screen and (max-width:768px){
	.pc_only{
		display: none;
	}
	.sp_only{
		display: block;
	}
}
/*タイトル*/
.cat_title{
	color: #4150B5;
}

.itemList{
    display:flex;
    flex-wrap: wrap;
    max-width:980px;
    padding-bottom:80px;
    margin: 20px auto 80px;
    justify-content: space-between;
}
.itemList::after{
    content:"";
    display:block;
    width:calc((100% - 40px)/3);
}
.itemList li a{
    display: block;
    position: relative;
    max-width:100%;
    background-color:#fff;
    padding:20px 20px 20px;
    margin:35px 0 0;
    text-decoration:none;
}
.itemList li a img{
    max-height: 270px;
    margin: auto;
    display: block;
    object-fit: contain;
}
.main_img{
	width: 100%; /*画像のサイズ*/
	height: 100%;
	object-fit: cover;/* 画像をクリッピングマスクする*/
	transition-duration: 0.3s; /*動く時間(なめらかになる)*/
}
.itemList li figure{
	overflow: hidden;
	max-width: 270px; /*boxサイズ*/
	max-height: 270px;
	margin: 0 0 1rem 0;
}
/*ホバー*/
.itemList li img.main_img:hover {
	transform: scale(1.2); /*拡大*/
	transition-duratiosn: 0.3s; /*動く時間(なめらかになる)*/
	opacity: 0.7;/*半透明になる*/
}

.itemList li a p,.itemList li a span,.itemList li a em,.itemList li a small{
    font-size: calc(14 / 16 * 1rem);
    font-weight: 400;
}
.itemList li a div{
display: none;
    width:calc(100% - 40px);
    position:absolute;
    bottom:20px;
    left:0;
    right:0;
    margin:auto;
}
.itemList li a div .btn{
    max-width:100%;
    padding:20px 0;
    margin-bottom:0;
    background-color:#d11f5d;
    color:#fff;
    font-size: calc(18 / 16 * 1rem);
    text-align: center;
    font-weight:bold;
    border-radius: 50px;
    line-height: 1;
}
.itemList li{
    width:calc((100% - 40px)/3);
	list-style: none;
}
.itemList li a p{
    line-height:1.57;
    letter-spacing:0.1em;
    margin:15px 0;
}
.itemList li a .comment{
    color:#761b44;
    font-weight:bold;
    position: relative;
    border-bottom:1px solid #761b44;
    padding-bottom:15px;
}
.itemList li a .comment::before {
	content: "";
	position: absolute;
	bottom: -5px;
	left: 50%;
	width: 9px;
	height: 9px;
	box-sizing: border-box;
	background-color: #ffffff; 
	rotate: 135deg;
	translate: -50%;
}
.itemList li a .comment::after {
	content: "";
	position: absolute;
	bottom: -5px;
	left: 50%;
	width: 9px;
	height: 9px;
	box-sizing: border-box;
	border: 1px solid;
	border-color: #761b44 #761b44 transparent transparent;
	background-color: #ffffff;
	rotate: 135deg;
	translate: -50%;
}
.itemList li a span{
    width:100%;
    padding:5px 0;
    margin:10px 0;
    display:block;
    border:1px solid #ff0000;
    color:#ff0000;
    text-align: center;
    font-weight:bold;
}
.itemList li a small{
    display:block;
    color:#999999;
    text-align: center;
}
.itemList li a em{
    display: block;
    color:#ff0000;
    font-style: normal;
    text-align: center;
    font-weight:bold;
}

@media screen and (max-width:768px){
	.itemList{
		padding:0 4% 40px;
		margin: 20px auto 40px;
	} 
	.itemList li {
	  width: calc((100% - 10px)/2);
	}
	.itemList li a p,.itemList li a span,.itemList li a em,.itemList li a small{
		font-size: calc(14 / 22 * 1rem);
		font-weight: 400;
	}
	.itemList li a {
		display: block;
		position: relative;
		max-width: 100%;
		background-color: #fff;
		padding: 20px 20px 20px;
		margin: 10px 0 0;
		text-decoration: none;
	}
	.itemList li a img{
		max-height: calc(127.5vw / 3.75);
		margin: auto;
		display: block;
		object-fit: contain;
	}
	.itemList li a div {
		width: calc(100% - 40px);
		position: absolute;
		bottom: 0px;
		left: 0;
		right: 0;
		margin: auto;
	}
	.itemList li a div .btn {
		max-width: 100%;
		padding: 10px 0;
		margin-bottom: 15px;
		background-color: #d11f5d;
		color: #fff;
		font-size: calc(18 / 22 * 1rem);
		text-align: center;
		font-weight: bold;
		border-radius: 50px;
		line-height: 1;
	}
}

.lpwrap section:last-child{
    background-color:#fff;
}
.lpwrap section:last-child a{
    position: relative;
    max-width:480px;
    margin:0 auto;
    padding:15px 0;
    display:block;
    color:#fff;
    text-align: center;
    background-color:#333333;
    border-radius:10px;
    text-decoration: none;
    font-weight:400;
    font-size: calc(16 / 16 * 1rem);
}
.lpwrap section:last-child a::after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 8px;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	top: 0;
	right:20px;
	bottom: 0;
	margin: auto;
}

@media screen and (max-width:768px){
	.emb {
		display: flex;
		background: #fff;
	}
	.lpwrap section:last-child a{
		width:92%;
	}
}