@charset "utf-8";


body{
	background-image: url(../common/images/bg01.png);
}
@media print, screen and (max-width:640px) {
	body {
		-webkit-background-size: 19px 19px;
		background-size: 19px 19px;
	}
}
.mainArea {
	padding-bottom: 0;
}

/* visual */
#visual {
	position: relative;
	overflow: hidden;
	width: 100%;
	z-index: 1;
	height: 700px;
    height: calc(100vh - 120px);
    height: -webkit-calc(100vh - 120px);
}
#visual > div {
	position: relative;
	width:100%;
	height:100%;
	margin: 0 auto;
}
#visual > div .movie2 {
	display:block;
	overflow: hidden;
	position:absolute;
	top: 0;
	left: 0;
	width:100%;
	height: 100%;
	background-color: #FFF;
}
#visual > div .movie2 video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#visual ul {
	display:none;
	position: relative;
	z-index: 1;
}
#visual ul li {
	position: absolute;
	top: 0;
	left: -165px;
	width: 1300px;
}
#visual p {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 3;
}
#visual p span {
	display:none;
	float: left;
	width: 18px;
	height: 18px;
	background: url(../images/main_btn_off.png) no-repeat center;
	cursor: pointer;
}
#visual p span:hover,
#visual p span.current {
	background-image: url(../images/main_btn_on.png);
}
#visual p span span.current {
	cursor: default;
}

#visual .renew_pc {
	display:inline-block;
	position:absolute;
	bottom: 90px;
	z-index:300;
	left: 32px;
}
#visual .renew {
	display:none;
	position: absolute;
	top: 160px;
	left: -165px;
	z-index: 300;
}
#visual .detailLink {
	position:absolute;
	z-index:350;
	bottom:34px;
	left:47px;
}
#visual .detailLink:hover {
	opacity:0.8;
}
#visual .mvArrow {
	display:block;
	margin:0 auto;
	width:40px;
	height:40px;
	cursor:pointer;
	position:absolute;
	left:0;
	right:0;
	bottom:30px;
	background-color:#fff;
	background-color:rgba(255,255,255,0.8);
	-webkit-transition:opacity 0.2s;
	-o-transition:opacity 0.2s;
	transition:opacity 0.2s;
	-webkit-box-shadow:2px 2px 0px 0px rgba(0,0,0,0.1);
	box-shadow:2px 2px 0px 0px rgba(0,0,0,0.1);
}
#visual .mvArrow img {
	margin:auto;
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	-webkit-transition:bottom 0.2s;
	-o-transition:bottom 0.2s;
	transition:bottom 0.2s;
	width:15px;
	height:auto;
}
#visual .mvArrow:hover {
	opacity:0.7;
}
#visual .mvArrow:hover img {
	bottom:-3px;
}

#visual .logo{
	position: absolute;
	left: 32px;
	bottom: 40px;
}
#visual .oparea{
	z-index: 400;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #FFFFFF;
}
#visual .oparea > .bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url(../images/op_bg.jpg);
	-webkit-background-size: cover;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
#visual .oparea > .logo{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	opacity: 0;
}

#visual .cp_bnr {
	position: absolute;
	bottom: 20px;
	right: 30px;
	z-index: 99999;
	opacity: 1;
	display: block;
}
#visual .cp_bnr a {
	display: block;
	-webkit-transition:filter .3s;
	   -moz-transition:filter .3s;
	    -ms-transition:filter .3s;
	        transition:filter .3s;
}
#visual .cp_bnr a:hover {
	filter: brightness(1.3);
}
#visual .cp_bnr img {
	width: 350px;
	height: auto;
}
#visual .mv_badge {
	position: absolute;
	top: 296px;
	right: 72px;
	width: 150px;
	height: auto;
	z-index: 10;
}
#visual .mv_badge.type_02 {
	position: absolute;
	top: 156px;
	right: 72px;
	width: 150px;
	height: auto;
	z-index: 10;
}
#visual .mv_badge.type_03 {
	position: absolute;
	top: 15px;
	right: 72px;
	width: 150px;
	height: auto;
	z-index: 10;
}
@media print, screen and (max-width:640px) {

	#visual > div .movie2 video {
		display: none !important;
	}
	#visual {
		position: relative;
		overflow: visible;
		width: auto;
		margin: 0;
		height:auto !important;
	}
	#visual .oparea{
		display: none !important;
	}
	#visual div {
		width: auto;
		height: auto;
	}
	#visual ul {
		display:block;
		position: relative;
		overflow: hidden;
		z-index: 1;
	}
	#visual ul li {
		position: absolute;
		width: 100%;
		height: calc((var(--vh, 1vh) * 100) - 50px - 100px);
		left: 0;
	}
	#visual ul li img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center bottom;
	}
	#visual ul li:first-child {
		position: relative;
	}
	#visual img {
		height: auto;
		max-width: 100%;
	}
	#visual > div .movie:after {
		content:none;
	}
	#visual .mvArrow {
		display:none;
	}
	#visual p {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		z-index: 3;
		text-align: center;
	}
	#visual p span {
		float: none;
		display: inline-block;
		width: 18px;
		height: 18px;
		background: url(../images/main_btn_off.png) no-repeat center;
		cursor: pointer;
	}
	#visual p span:hover,
	#visual p span.current {
		background-image: url(../images/main_btn_on.png);
	}
	#visual p span span.current {
		cursor: default;
	}
	#visual .renew {
		display:inline-block;
		display: none;
		top: 50%;
		left: -65px;
		width: 250px;
		margin-top: -110px;
	}
	#visual .renew_pc {
		display:none;
	}
	#visual .detailLink {
		margin-top:33px;
		top:50%;
		left:25px;
		width:100px;
		height:auto;
	}
	#visual .cp_bnr {
		display: none;
	}
	.headerArea .cp_bnr img {
		width: 80%;
		height: auto;
		margin: 0 auto;
	}
	#visual .mv_badge {
		top: auto;
		/* bottom: 120px; */
		bottom: 100px;
		right: auto;
		left: 18px;
		/* width: 108px; */
		width: 88px;
	}
	#visual .mv_badge.type_02 {
		top: auto;
		bottom: 12px;
		right: auto;
		left: 18px;
		/* width: 108px; */
		width: 88px;
	}
	#visual .mv_badge.type_03 {
		top: auto;
		bottom: 100px;
		/* bottom: 186px; */
		right: auto;
		left: 18px;
		width: 88px;
	}
}


/* #visualMovie */
#visualMovie {
	position: relative;
	padding-top: 158px;
	padding-bottom: 30px;
}
#visualMovie > div {
	background-color: #e0e0e0;
}
#visualMovie > div > div {
	position: relative;
	width: 960px;
	height: 540px;
	margin: 0 auto;
}
#visualMovie .dot {
	position: absolute;
	top: 0;
	left: 0;
	width: 960px;
	height: 540px;
}

#mvAreaImg {
	display: block;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: top right;
	background-size: cover;
	background-repeat: no-repeat;
}

/* contents */
#contents {
	margin: 0 auto;
	font-size: 109%;
}
#contents > h1 {
	margin-bottom: 20px;
	text-align: center;
}
@media print, screen and (max-width:640px) {
	#contents {
		font-size: 100%;
	}
	#contents > h1 {
		margin-bottom: 0;
		padding: 15px 0;
		background: none;
		text-align: center;
	}
	#contents > h1 img {
		width: auto;
		height: 70px;
	}
}

/* art00 */
.art00 {
	padding-top: 100px;
	padding-bottom: 60px;
	font-size: 0;
	text-align: center;
	position: relative;
}
.art00 .link > .in {
    margin: 0 10%;
	padding: 10px 10px 20px;
	background-color: #fff;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border: 1px solid #DBDCDC;
}
.art00 .imgarea .img {
	width: 100%;
	padding-top: 65%;
	margin: auto;
	position: relative;
	margin-bottom: 20px;
}
.art00 .imgarea .img:before {
	content:"";
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0.0;
	-webkit-border-radius: 50% 50% 0 0;
	-moz-border-radius: 50% 50% 0 0;
	border-radius: 50% 50% 0 0;
	position: absolute;
	background: -moz-linear-gradient(top, rgba(255,255,255,0.65) 0%, rgba(255,255,255,0) 100%);
	background: -webkit-linear-gradient(top, rgba(255,255,255,0.65) 0%,rgba(255,255,255,0) 100%);
	background: linear-gradient(to bottom, rgba(255,255,255,0.65) 0%,rgba(255,255,255,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6ffffff', endColorstr='#00ffffff',GradientType=0 );
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	-ms-transition: 0.2s;
	-o-transition: 0.2s;
	transition: 0.2s;
}
.no-touchevents .art00 .link:hover .imgarea .img:before,
.art00 .link.hover .imgarea .img:before {
	opacity: 0.5;
}
.art00 .imgarea .img > time {
	width: 35%;
	padding-top: 35%;
	position: absolute;
	top: -20%;
	left: -19%;
	display: block;
}
.art00 .imgarea .img > time:before {
	content:"";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border: 3px solid #C8BB9B;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	background: rgb(156,118,35);
	background: -moz-linear-gradient(left, rgba(156,118,35,1) 0%, rgba(184,145,63,1) 100%);
	background: -webkit-linear-gradient(left, rgba(156,118,35,1) 0%,rgba(184,145,63,1) 100%);
	background: linear-gradient(to right, rgba(156,118,35,1) 0%,rgba(184,145,63,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9c7623', endColorstr='#b8913f',GradientType=1 );
}
.art00 .imgarea .img > time .lines {
	position: absolute;
	top: 53%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 0;
	width: 100%;
	color: #FFF;
}
.art00 .imgarea .img > time .line01 {
	font-size: 20px;
	font-size: 2.0rem;
	display: block;
	line-height: 1;
	letter-spacing: -2px;
}
.art00 .imgarea .img > time .line02 {
	font-size: 1.4rem;
	display: block;
	line-height: 1;
	margin-top: 5px;
}
.art00 .cate {
	margin-bottom: 20px;
}
.art00 .title {
	font-size: 1.4rem;
	color: #808080;
	margin-bottom: 20px;
	line-height: 2.1rem;
}
.no-touchevents .art00 .link:hover .title,
.art00 .link.hover .title {
	text-decoration: underline;
}
.art00 .caption {
	font-size: 1.2rem;
	line-height: 1.8rem;
	color: #808080;
}

@media screen and (max-width:640px) {
	.art00 {
		padding-top: 18%;
		padding-bottom: 10%;
	}
	.art00 .link > .in {
    	padding: 5%;
	}
	.art00 .imgarea .img {
		width: 100%;
		padding-top: 70%;
	}
	.art00 .contentWrapIn {
    	padding: 0 10%;
	}
	.art00 .cate img {
		width: auto;
		height: 4vw;
	}
	.art00 .cate {
    	margin-bottom: 5%;
	}
	.art00 .title {
		font-size: 1.2rem;
		margin-bottom: 7%;
	}
	.art00 .caption {
		font-size: 0.9rem;
		line-height: 1.8;
	}
	.art00 .imgarea .img > time .line01 {
		font-size: 1.4rem;
	}
	.art00 .imgarea .img > time .line02 {
		font-size: 0.95rem;
	}
	.art00 .imgarea .img > time {
		width: 45%;
		padding-top: 45%;
		top: -33%;
		left: -24%;
	}
}


/* art01 */
.art01 {
	padding: 110px 3%;
	font-size: 0;
	text-align: center;
	position: relative;
	-webkit-background-size: cover;
	background-size: cover;
	background-position: 80% 90px;
	color: #FFF;
}
.no-touchevents .art01 {
    -webkit-background-attachment: fixed;
    background-attachment: fixed;
}
.art01 > .in {
	max-width: 650px;
	width: 100%;
	margin: auto;
	background-color: rgba(0,59,90,0.6);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 40px 10px;
}
.art01 .title01 {
	margin-bottom: 20px;
}
.art01 .caption01 {
	font-size: 2.4rem;
	line-height: 4rem;
	margin-bottom: 20px;
}
.art01 .caption02 {
	font-size: 1.4rem;
	line-height: 2.3rem;
}
.art01 .caption02 span {
	display: block;
}
.art01 .caption02 span + span {
	margin-top: 15px;
}
@media screen and (max-width:640px) {
	.art01 {
		padding-top: 10%;
		padding-bottom: 10%;
		background-repeat: no-repeat;
		/*background-position: 98%;*/
		background-position: 47%;
		order: 2;
	}
	.art01 .title01 img {
		width: auto;
		height: 47px;
		height: 15vw;
	}
	.art01 .caption01 {
		line-height: 2.5rem;
	}
	.art01 .caption01 img {
		width: auto;
		height: 14px;
		height: 4.5vw;
	}
	.art01 .caption02 span {
		display: block;
		text-align: left;
		font-size: 1.1rem;
		line-height: 1.7;
	}
}

/* art02 */
.art02 {
	padding: 50px 3% 80px;
	font-size: 0;
	text-align: center;
}
.art02 > .in {
	max-width: 960px;
	width: 100%;
	margin: auto;
}
.art02 > .in:after {
	content:"";
	display: block;
	clear: both;
}
.art02 .art02dl {
	float: left;
	width: 31.3%;
}
.art02 .art02dl + .art02dl {
	margin-left: 3%;
}
.art02 .art02dldt {
	margin-bottom: 20px;
}
.art02 .art02dldd {
	border: 1px solid #DBDCDC;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 5px 5px 30px ;
	background-color: #fff;
}
.art02 .art02dldd .img {
	padding-top: 78%;
	-webkit-background-size: cover;
	background-size: cover;
	background-position: center center;
	margin-bottom: 13px;
}
.art02 .art02dldd .caption {
	font-size: 1.2rem;
	line-height: 2.4rem;
	width: 105%;
	margin-left: -2.5%;
	letter-spacing: -0.5px;
}
@media screen and (max-width: 1024px) {
	.art02 .art02dl + .art02dl {
		margin-left: 1.5%;
	}
	.art02 .art02dl{
		width: 32%;
	}
	.art02 .art02dl .art02dldt img {
		width: auto;
		height: 13.7vw;
	}
}
@media screen and (max-width: 640px) {
	.art02 {
		order: 3;
	}
	.art02 .art02dl {
		width: 100%;
		float: none;
	}
	.art02 .art02dl + .art02dl {
		margin-left: 0;
		margin-top: 9vw;
	}
	.art02 .art02dl .img {
		margin-bottom: 5vw;
	}
	.art02 .art02dl .caption {
		font-size: 1.1rem;
		line-height: 2.0rem;
	}
	
	.art02 {
		padding-top: 10%;
		padding-bottom: 5%;
	}
}


/* art03 */
.art03 {
	margin-bottom: 80px;
}
@media screen and (max-width: 640px) {
	.art03 {
		margin-bottom: 15%;
		order: 4;
	}
}

/* art04 */
.art04 {
	padding: 0 3% 80px;
	font-size: 0;
	text-align: center;
}
.art04 > .in {
	max-width: 960px;
	width: 100%;
	margin: auto;
}
.art04 .topConceptMiddleBox {
	margin: auto;
	position: relative;
	-webkit-box-shadow: 5px 5px 6px rgba(0,0,0,0.2);
	-moz-box-shadow: 5px 5px 6px rgba(0,0,0,0.2);
	box-shadow: 5px 5px 6px rgba(0,0,0,0.2);
}
.art04 .topConceptMiddleBox + .topConceptMiddleBox {
	margin-top: 30px;
}
.art04 .topConceptMiddleBox:after {
	content:"";
	display: block;
	clear: both;
}

.art04 .topConceptMiddleBox.right .slideArea01 {
	right: 400px;
	left: 0;
}

.art04 .topConceptMiddleBox > div {
	width: 400px;
	height: auto;
	padding: 50px 50px 40px 50px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background-color: #fff;
}

.art04 .topConceptMiddleBox.right div {
	float: right;
}

.art04 .topConceptMiddleBox.right .imgs {
	float: none;
}

.art04 .topConceptMiddleBox > div h4 {
	color: #c2a97b;
	font-size: 16px;
	font-size: 1.6rem;
	text-align: center;
	font-family: serif;
	margin-bottom: 35px;
}

.art04 .topConceptMiddleBox > div p {
	font-size: 12px;
	font-size: 1.2rem;
	margin-bottom: 25px;
	line-height: 21px;
	line-height: 2.1rem;
	width: 120%;
	margin-left: -10%;
	color: #4D4D4D;
}

.art04 .topConceptMiddleBox > div p.copy {
	text-align: center;
	font-family: serif;
	margin-bottom: 15px;
	font-size: 18px;
	font-size: 1.8rem;
}

.art04 .topConceptMiddleBox > div a {
	width: 90%;
	margin: 0 5% 5%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.art04 .topConceptMiddleBox .slideArea01 {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 400px;
}

.art04 .topConceptMiddleBox .slideArea01 .imgs {
}

.art04 .topConceptMiddleBox .slideArea01 .imgs .img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	-webkit-background-size: cover;
	background-size: cover;
	background-position: center center;
}

.art04 .topConceptMiddleBox .slideArea01 .pager {
}

.art04 .topConceptMiddleBox .slideArea01 .pager buttom {
}

@media screen and (max-width: 640px) {
	.art04 {
		padding-bottom: 20%;
		order: 5;
	}
	.topConceptMiddle {
		padding: 10% 0 4%;
	}

	.art04 .topConceptMiddleBox .slideArea01 {
		left: 0;
		z-index: 1;
		padding-top: 61%;
		overflow: hidden;
	}

	.art04 .topConceptMiddleBox figure {
		-webkit-background-size: cover;
		background-size: cover;
		height: 0;
		padding-top: 82%;
	}

	.art04 .topConceptMiddleBox.right div {
		float: none;
	}

	.art04 .topConceptMiddleBox.right .slideArea01 {
		right: 0;
	}

	.art04 .topConceptMiddleBox > div h4 {
		margin-bottom: 6%;
	}
	.art04 .topConceptMiddleBox > div h4 img {
		width: auto;
		height: 46px;
		height: 14vw;
	}

	.art04 .topConceptMiddleBox > div p {
		padding: 0 15%;
		font-size: 9px;
		font-size: .9rem;
		line-height: 16px;
		line-height: 1.6rem;
		margin-bottom: 7%;
	}
	.art04 .topConceptMiddleBox > div p {
		padding: 0 3%;
		width: 105%;
		margin-left: -2.5%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}

	.art04 .topConceptMiddleBox > div p.copy {
		padding: 0;
		margin-bottom: 5%;
	}

	.art04 .topConceptMiddleBox {
		height: auto;
		margin: 3% 0;
		background: none;
	}

	.art04 .topConceptMiddleBox > div {
		width: 100%;
		height: auto;
		padding: 68% 0 1%;
		float: none;
	}
}

/* art05 */
.art05 {
	padding: 0 3% 100px;
	font-size: 0;
	text-align: center;
}
.art05 > .in {
	max-width: 960px;
	width: 100%;
	margin: auto;
}
.art05 .art05title {
	margin-bottom: 50px;
}
.art05 .art05caption {
	font-size: 2.0rem;
	line-height: 4rem;
	margin-bottom: 40px;
}
.art05 .art05caption img {
	display: inline-block;
	vertical-align: top;
}
.art05 .art05img {
	margin-bottom: 30px;
	padding-top: 64.58%;
	-webkit-background-size: cover;
	background-size: cover;
	background-position: center center;
}
.art05 .art05link {
	max-width: 300px;
	width: 100%;
}
.art05 .anno_bnr {
	display: block;
	padding: 45px 0 15px;
}
.art05 .anno_bnr a {
	display: inline-block;
}
.art05 .anno_bnr a:hover {
	opacity: 0.7;
}

@media screen and (max-width: 640px) {
	.art05 {
		padding-bottom: 20%;
		order: 6;
	}
	.art05 .art05title {
    	margin-bottom: 5%;
	}
	.art05 .art05title img {
		width: auto;
		height: 47px;
		height: 14vw;
	}
	.art05 .art05caption img {
		width: auto;
		height: 17px;
		height: 4.1vw;
	}
	.art05 .art05caption {
		line-height: 2.5rem;
		margin-bottom: 10%;
	}
	.art05 .art05img {
		width: 100%;
		height: auto;
	}
	.art05 .anno_bnr {
	    padding: 30px 0 10px;
	}
	.art05 .anno_bnr img {
		width: 90%;
		height: auto;
	}
}

/* art06 */
.art06 {
	padding: 0 0 80px;
	font-size: 0;
	text-align: center;
}
.art06 > .in {
	width: 100%;
	margin: auto;
}
.art06 .art06title {
	max-width: 960px;
	width: 100%;
	margin: 0 auto 50px;
}
.art06 .art06imgWrap {
	max-width: 1280px;
	width: 100%;
	margin: 0 auto 30px;
}
.art06 .art06img {
	display: block;
	width: 100%;
	padding-top: 25.5%;
	-webkit-background-size: cover;
	background-size: cover;
	background-position: center center;
}
.art06 .art06linkwrap {
	max-width: 960px;
	width: 100%;
	margin: auto;
}
.art06 .art06link {
	max-width: 300px;
	width: 100%;
}
@media screen and (max-width: 640px) {
	.art06 {
		padding-bottom: 20%;
		order: 7;
	}
	.art06 .art06title {
    	margin-bottom: 5%;
	}
	.art06 .art06title img {
		width: auto;
		height: 47px;
		height: 14vw;
	}
	.art06 .art06img {
		width: 100%;
		height: auto;
	}
}

/* art07 */
.art07 {
	font-size: 0;
	text-align: center;
	overflow: hidden;
	background-color: #FAFAFA;
	border-top: 1px solid #CCCCCC;
	padding: 75px 0 25px;
}
.art07 .art07Title01 {
    max-width: 980px;
    width: 100%;
    margin: 0 auto 35px;
}
.art07 .cmnLayout02 {
    max-width: 1200px;
	text-align: left;
	margin:0 auto 45px;
}
.art07 .btns01 {
    width: 100%;
}
.art07 .link {
    padding-top: 0;
}

.art07 .plancontentWrapIn {
	position: relative;
	margin: 0 40px;
}

.art07 .link .plancontent {
	padding: 50px 40% 100px 50px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background-color: #fff;
	-webkit-box-shadow: 0px 1px 2px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 1px 2px rgba(0,0,0,0.2);
	box-shadow: 0px 1px 2px rgba(0,0,0,0.2);
	min-height: 370px;
}
.art07 .plancontentTitle {
	margin-bottom: 17px;
}

.art07 .plancontentTitle span {
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	margin-bottom: 10px;
	font-weight: normal;
	padding-right: 0;
	
}

.art07 .plancontentTitle b {
	display: block;
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 33px;
	line-height: 3.3rem;
	font-weight: normal;
	word-break: break-all;
}

.art07 .plancontentPrice {
	margin-bottom: 15px;
	display: table;
	width: 100%;
}

.art07 .plancontentPrice dt {
	display: table-cell;
	vertical-align: middle;
	padding: 2px 0;
	width: 15%;
	background-color: #9BA957;
	color: #FFF;
	text-align: center;
	font-size: 13px;
	font-size: 1.3rem;
}

.art07 .plancontentPrice dd {
	display: table-cell;
	vertical-align: baseline;
	width: 65%;
	color: #212121;
	padding-left: 3%;
	line-height: 1.3;
}

.art07 .plancontentPrice dd .line01 {
	font-size: 24px;
	font-size: 2.4rem;
}

.art07 .plancontentPrice dd .line01 span {
	font-size: 16px;
	font-size: 1.6rem;
}

.art07 .plancontentPrice dd .line02 {
	font-size: 14px;
	font-size: 1.4rem;
}

.art07 .link .plancontentTxt {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 25px;
	line-height: 2.5rem;
}

.art07 .link .plancontentImg {
	width: 30%;
	padding-top: 30%;
	-webkit-background-size: cover;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	position: absolute;
	top: 35px;
	right: 50px;
	padding-right: 0;
}

.art07 .plancontentTxtLink a {
	position: absolute;
	bottom: 40px;
	max-width: 300px;
	width: 100%;
	height: 40px;
}

.art07 .plancontentTxtLink a span {
	font-size: 14px;
	font-size: 1.4rem;
}

.art07 .plancontentSlidebtn {
	display: none;
	text-align: center;
	font-size: 0;
	margin: 0 auto;
	max-width: 960px;
	width: 100%;
}

.art07 .plancontentSlidebtn li {
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
	width: 49%;
	height: 50px;
}

.art07 .plancontentSlidebtn li.active {
	opacity: 0.5;
	pointer-events:none;
}

.art07 .plancontentSlidebtn li + li {
	margin-left: 1.9%;
}

.art07 .plancontentSlidebtn li span {
	-webkit-transition: .2s;
	-moz-transition: .2s;
	-ms-transition: .2s;
	-o-transition: .2s;
	transition: .2s;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 22px;
	line-height: 2.2rem;
}
.art07 .btns01 button.prev {
	left: 0px;
}
.art07 .btns01 button.next {
	right: 0px;
}

@media screen and (min-width: 641px) and (max-width: 900px) {
	.art07 .plancontentSlidebtn li {
		width: 31.3%;
	}
}

@media print,screen and (max-width: 900px) {
	.art07 .link .plancontent {
		padding: 8% 7% 8%;
	}

	.art07 .link .plancontentImg {
		width: 40%;
		padding-top: 37%;
		height: 0;
		position: static;
		display: block;
		float: right;
		margin-left: 20px;
		margin-bottom: 20px;
	}

	.art07 .link .plancontentTxt {
		overflow: hidden;
	}

	.art07 .plancontentTxtLink a {
		position: static;
		margin-top: 30px;
	}
}

@media screen and (max-width: 640px) {
	.art07 .art07Title01 {
    	margin-bottom: 5%;
	}
	.art07 .art07Title01 img {
		width: auto;
		height: 47px;
		height: 14vw;
	}
	.art07 .link .plancontent {
		padding: 8% 7% 23vw;
	}
	.art07 {
		padding: 8vw 0 0;
	}
	.art07Title01 {
		margin-bottom: 6vw;
	}

	.art07 .slidearea {
		padding: 0 3%;
	}

	.art07 .btns01 button.prev {
		left: -15px;
	}
	.art07 .btns01 button.next {
		right: -15px;
	}

	.art07 .link .plancontentWrap {
		padding: 0 3%;
	}

	.art07 .plancontentWrapIn {
		margin: 0 2.5%;
	}

	.art07 .plancontentSlidebtn {
		padding: 0 3%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}

	.art07 > .title01 {
		margin-bottom: 7%;
	}

	.art07 .plancontentTitle span {
		font-size: 1rem;
		line-height: 1.6;
		margin-bottom: 1vw;
	}

	.art07 .plancontentTitle b {
		font-size: 1.2rem;
		line-height: 1.8rem;
	}

	.art07 .plancontentPrice {
		display: block;
		margin-bottom: 4vw;
	}
	.art07 .plancontentPrice dt {
		display: inline-block;
		width: auto;
		font-size: 1.0rem;
		padding: 1vw 2vw;
		margin-bottom: 1vw;
	}

	.art07 .plancontentPrice dd {
		display: block;
		width: auto;
		padding-left: 0;
	}
	.art07 .plancontentPrice dd .line01 {
		font-size: 1.7rem;
	}
	
	.art07 .plancontentPrice dd .line01 span {
		font-size: 1.1rem;
	}
	
	.art07 .plancontentPrice dd .line02 {
		font-size: 0.95rem;
	}
	.art07 .link .plancontentWrapIn {
		padding: 0;
	}

	.art07 .link .plancontentTxt {
		font-size: 1rem;
		line-height: 1.8rem;
	}

	.art07 .link .plancontentImg {
		margin-left: 5%;
		margin-bottom: 1%;
		width: 33%;
		padding-top: 33%;
	}

	.art07 .plancontentTxtLink a {
		left: 7%;
		right: 7%;
		bottom: 7vw;
		margin-top: 0;
		position: absolute;
		width: auto;
	}

	.art07 .plancontentSlidebtn li {
		height: 40px;
		width: 100%;
	}
	.art07 .plancontentSlidebtn li span {
		font-size: 1.2rem;
	}
	.art07 .plancontentSlidebtn li + li {
		margin-left: 0;
		margin-top: 3vw;
	}
	.art07 .plancontentTxtLink a span {
		font-size: 1.2rem;
	}
	.art07 .cmnLayout02 {
		margin-bottom: 7vw;
	}
}



/* topFair */
.topFair {
	padding: 90px 0 55px;
	background-image: url(../images/img07.jpg);
	background-position: center center;
	-webkit-background-size: cover;
	background-size: cover;
	background-repeat: no-repeat;
	box-shadow: 0 0 1px 1px #ddd;
}
body.pink .topFair {
	background-image: url(../img/bridalfair_bg_pink.jpg);
}

.no-touchevents .topFair {
	background-attachment: fixed;
}

.topFair > .title01 {
	margin-bottom: 38px;
	text-align: center;
}

.topFair .content01 {
	overflow: hidden;
}

.topFair .slidearea {
	padding: 0 2%;
}

.topFair .slidearea > .in {
	position: relative;
	max-width: 1005px;
	margin: auto;
}

.topFair .slide {
	position: relative;
	margin-bottom: 10px;
	font-size: 0;
}

.topFair .slide .plancontentWrap {
	padding: 0 2%;
	margin-bottom: 40px;
	width: 49.9%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
}

.topFair .slide .plancontentWrapIn {
	position: relative;
}

.topFair .slide .plancontent {
	display: block;
	padding: 30px 30px 30px 43%;
	background-color: #fff;
	text-align: left;
	box-shadow: 0 0 3px rgba(0,0,0,0.2);
	color: #3C3C3C;
}

.topFair .slide .plancontent .row01 {
}

.topFair .slide .plancontent .row01 .left {
	position: absolute;
	top: 30px;
	left: 30px;
	font-size: 0;
	width: 33%;
	padding-top: 33%;
	-webkit-background-size: cover;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.topFair .slide .plancontent .row01 .right {
}

.topFair .slide .plancontent .row01 .right .title {
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 25px;
	line-height: 2.5rem;
	margin-bottom: 10px;
	font-weight: bold;
}

.no-touchevents .topFair .slide .plancontent:hover .row01 .right .title,
.topFair .slide .plancontent.hover .row01 .right .title {
	text-decoration: underline;
}

.topFair .slide .plancontent .row01 .right .datetime {
	margin-bottom: 15px;
}

.topFair .slide .plancontent .row01 .right .datetime .date {
	margin-bottom: 7px;
	display: block;
	font-size: 16px;
	font-size: 1.6rem;
}

.topFair .slide .plancontent .row01 .right .datetime .time {
	margin-bottom: 15px;
	line-height: 1.5;
}

.topFair .slide .plancontent .row01 .right .datetime .time li {
	display: inline-block;
	vertical-align: top;
	font-size: 12px;
	font-size: 1.2rem;
}

.topFair .slide .plancontent .row01 .right .datetime .time li + li:before {
	content: ' / ';
	margin-left: 4px;
	margin-right: -2px;
}

.topFair .slide .plancontent .txt {
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 21px;
	line-height: 2.1rem;
}

.topFair .more {
	text-align: center;
}
.topFair .more a {
	max-width: 300px;
	width: 100%;
}

.topFair .more span {
	font-size: 14px;
	font-size: 1.4rem;
}

@media print,screen and (max-width: 900px) {
	.topFair .slide .plancontent {
		padding-top: 6%;
		padding-right: 6%;
		padding-bottom: 6%;
	}

	.topFair .slide .plancontent .row01 .left {
		top: 7%;
		left: 7%;
	}

	.topFair .slide .plancontentWrap {
		width: 100%;
	}

	.topFair .slide .plancontent {
		min-height: 215px;
	}

	.topFair .slide .plancontentWrap {
		padding: 0 3%;
		position: absolute;
	}

	.topFair .slide {
		margin-bottom: 8%;
	}
}

@media screen and (min-width: 901px) {
	.topFair .slide .plancontent {
		min-height: 185px;
	}

	.topFair .slide {
		-webkit-transform: none !important;
		-moz-transform: none !important;
		-ms-transform: none !important;
		-o-transform: none !important;
		transform: none !important;
		height: auto !important;
	}

	.topFair .slide .plancontentWrap.dammy {
		display: none !important;
	}

}

@media screen and (max-width: 640px) {
	.topFair {
		background-position: center top;
		background-size: cover;
		padding: 10% 0 17%;
	}

	.topFair .slidearea > .in {
		margin-bottom: 9%;
	}

	.topFair .slide .plancontent .row01 {
		overflow: hidden;
		margin-bottom: 3%;
	}

	.topFair .slide .plancontent .row01 .left {
		position: static;
		float: left;
		width: 44%;
		padding-top: 44%;
	}

	.topFair .slide .plancontent .row01 .right {
		float: right;
		width: 50%;
	}

	.topFair .slide .plancontent .row01 .right .title {
		font-size: 10px;
		font-size: 1rem;
		line-height: 15px;
		line-height: 1.5rem;
		margin-bottom: 5%;
		padding-bottom: 5%;
		border-bottom: 1px solid #CFCFCF;
	}

	.topFair .slide .plancontent .row01 .right .datetime .date {
		margin-bottom: 3%;
		font-size: 10px;
		font-size: 1rem;
	}

	.topFair .slide .plancontent .row01 .right .datetime .time {
		word-break: break-all;
		letter-spacing: 1px;
	}

	.topFair .slide .plancontent .row01 .right .datetime .time li {
		display: inline;
		font-size: 8px;
		font-size: .8rem;
	}

	.topFair .slide .plancontent .txt {
		font-size: 8px;
		font-size: .8rem;
		line-height: 15px;
		line-height: 1.5rem;
	}

	.topFair .slide .plancontent {
		padding-left: 6%;
		min-height: 0;
	}

	.topFair > .title01 {
		margin-bottom: 7%;
	}
	.topFair > .title01 img {
		width: auto;
		height: 47px;
		height: 14vw;
	}

	.topFair .slidearea {
		padding: 0 3%;
	}
	.topFair .slide {
		margin-bottom: 20px;
	}
	
	.topFair .more a + a {
		margin-top: 5%;
	}
	.topFair .btns01 button.prev {
		left: -20px;
	}
	.topFair .btns01 button.next {
		right: -20px;
	}
}

/* art08 */
.art08 {
	padding: 80px 3% 0;
	font-size: 0;
	text-align: center;
	background-color: #FAFAFA;
}
.art08 .infobox {
	position: relative;
	max-width: 960px;
	width: 100%;
	margin: auto;
	background-color: #ECE7DA;
	box-sizing: border-box;
	padding: 45px 30px 15px;
	text-align: left;
}
.no-touchevents .art08 .infobox a {
	transition: 0.2s;
}
.no-touchevents .art08 .infobox a:hover {
	opacity: 0.6;
}
.no-touchevents .art08 .infobox a:hover .infoboxlead b {
	text-decoration: underline;
}
.art08 .infoboxtit img {
	position: absolute;
	top: -10px;
	left: 0;
	right: 0;
	margin: auto;
}
.art08 .infoboxlead {
	color: #A8822F;
}
.art08 .infoboxlead span {
	display: inline-block;
	vertical-align: middle;
	font-size: 1.4rem;
}
.art08 .infoboxlead b {
	display: inline-block;
	vertical-align: middle;
	font-weight: normal;
	margin-left: 10px;
	font-size: 1.8rem;
}
.art08 .infoboxbody {
	font-size: 1.4rem;
	margin-top: 6px;
}
@media screen and (max-width: 640px) {
	.art08 {
		padding-top: 15%;
		padding-bottom: 5%;
		order: 1;
	}
	.art08 .art08dl {
		width: 100%;
		float: none;
	}
	.art08 .art08dldd {
		height: auto !important;
	}
	.art08 .art08dldd .title {
		height: auto !important;
		margin-bottom: 6%;
	}
	.art08 .art08dldd .title img {
		width: auto;
		height: 54px;
		height: 18vw;
	}
	.art08 .art08dldd .title.type02 img {
		height: 20px;
		height: 6.5vw;
	}
	.art08 .art08dl + .art08dl {
		margin-left: 0;
		margin-top: 9vw;
	}
	.art08 .art08dl .img {
		margin-bottom: 5vw;
	} 
	.art08 .art08dl .caption {
		font-size: 1.1rem;
		line-height: 2.0rem;
	}
	.art08 .infobox {
		padding: 45px 20px 15px;
		margin-bottom: 30px;
	}
	.art08 .infoboxtit img {
		width: auto;
		height: 7vw;
	}
	.art08 .infoboxlead {
		line-height: 1.3;
	}
	.art08 .infoboxlead span {
		display: block;
		font-size: 1.3rem;
	}
	.art08 .infoboxlead b {
		display: block;
		margin-left: 0;
		font-size: 1.5rem;
	}
	.art08 .infoboxbody {
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		font-size: 1.3rem;
		margin-top: 10px;
	}
	.art08 .infoboxbody br {
		display: none;
	}
}

/* art09 */
.art09 {
	border-top: 2px solid #EAEBEB;
	padding: 90px 0 55px;
	overflow: hidden;
	background-color: #fff;
}
.art09 > .title01 {
	margin-bottom: 38px;
	text-align: center;
}
.art09 > .in {
	padding: 0 2%;
}
.art09 .instagramlist {
}
.art09 .instagramlist > .in {
	position: relative;
	max-width: 1005px;
	margin: auto;
}
.art09 .slide:after {
	content:"";
	display: block;
	clear: both;
}
.art09 .plancontentWrap{
	float: left;
	width: 18%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin-right: 2%;
	margin-bottom: 2%;
}
.art09 .plancontentWrap > .in {
	display: block;
	border: 1px solid #DBDCDC;
	padding: 10px 10px 6px 10px;
}
.art09 .plancontentWrap:nth-child(5n+7) {
	margin-right: 0;
}
.art09 .plancontentWrap .img {
	width: 100%;
	padding-top: 100%;
	-webkit-background-size: cover;
	background-size: cover;
	background-position: center center;
	display: block;
	margin-bottom: 17px;
}
.art09 .plancontentWrap .date {
	text-align: right;
	font-size: 1.4rem;
	line-height: 1;
	color: #999999;
	display: block;
}
.no-touchevents .art09 .plancontentWrap:hover .date,
.art09 .plancontentWrap.hover .date {
	text-decoration: underline;
}
.art09 .plancontentWrap .date:before {
	content:"";
	display: inline-block;
	vertical-align: middle;
	width: 10px;
	height: 10px;
	margin-top: -3px;
	margin-right: 5px;
	-webkit-background-size: contain;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	background-image: url(../common/images/mark01.png);
}
.art09 .more {
	margin-top: 50px;
	text-align: center;
}
.art09 .more a {
	max-width: 300px;
	width: 100%;
}

.art09 .more span {
	font-size: 14px;
	font-size: 1.4rem;
}

@media screen and (min-width: 641px) {
	.art09 .slide {
		-webkit-transform: none !important;
		-moz-transform: none !important;
		-ms-transform: none !important;
		-o-transform: none !important;
		transform: none !important;
		height: auto !important;
	}
	.art09 .plancontentWrap{
		left: 0 !important;
		-webkit-transform: none !important;
		-moz-transform: none !important;
		-ms-transform: none !important;
		-o-transform: none !important;
		transform: none !important;
	}
	.art09 .plancontentWrap.dammy {
		display: none !important;
	}
}
@media screen and (max-width: 640px) {
	.art09 {
    	padding: 10% 0;
	}
	.art09 .plancontentWrap{
		position: absolute;
	    width: 100%;
		padding: 0 5%;
	}
	.art09 .slide {
		padding: 0 10%;
	}
	.art09 .plancontentWrap .date:before {
		width: 4vw;
		height: 4vw;
		margin-top: -5px;
	}
	.art09 > .title01 {
		margin-bottom: 5%;
	}
	.art09 > .title01 img {
		width: auto;
		height: 47px;
		height: 14vw;
	}
	.art09 .more {
    	margin-top: 5%;
	}
}

/* art10 */
.art10 {
	padding: 40px 3% 80px;
	font-size: 0;
	text-align: center;
	background-color: #FAFAFA;
}
.art10 > .in {
	max-width: 960px;
	width: 100%;
	margin: auto;
}
.art10 > .in:after {
	content:"";
	display: block;
	clear: both;
}
.art10 .art10dl {
	float: left;
	width: 31.3%;
}
.art10 .art10dl + .art10dl {
	margin-left: 3%;
}
.art10 .art10dldt {
	margin-bottom: 20px;
}
.art10 .art10dldd {
	border: 1px solid #DBDCDC;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 5px 5px 30px ;
	background-color: #fff;
}
.art10 .art10dldd .img {
	padding-top: 78%;
	-webkit-background-size: cover;
	background-size: cover;
	background-position: center center;
	margin-bottom: 33px;
}
.art10 .art10dldd .title {
	margin-bottom: 30px;
}
.art10 .art10dldd .title:after {
	content:"";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
.art10 .art10dldd .title img {
	display: inline-block;
	vertical-align: middle;
}
.art10 .art10dldd .link {
	width: 90%;
	margin: 0 5%;
}
@media screen and (max-width: 1024px) {
	.art10 .art10dl + .art10dl {
		margin-left: 1.5%;
	}
	.art10 .art10dl{
		width: 32%;
	}
	.art10 .art10dl .art10dldt img {
		width: auto;
		height: 13.7vw;
	}
}
@media screen and (max-width: 640px) {
	.art10 {
		padding-top: 5%;
		padding-bottom: 5%;
		order: 9;
	}
	.art10 .art10dl {
		width: 100%;
		float: none;
	}
	.art10 .art10dldd {
		height: auto !important;
	}
	.art10 .art10dldd .title {
		height: auto !important;
		margin-bottom: 6%;
	}
	.art10 .art10dldd .title img {
		width: auto;
		height: 54px;
		height: 18vw;
	}
	.art10 .art10dldd .title.type02 img {
		height: 20px;
		height: 6.5vw;
	}
	.art10 .art10dl + .art10dl {
		margin-left: 0;
		margin-top: 9vw;
	}
	.art10 .art10dl .img {
		margin-bottom: 5vw;
	} 
	.art10 .art10dl .caption {
		font-size: 1.1rem;
		line-height: 2.0rem;
	}
}

/*--------------------
�o�b�`�ǉ�
--------------------*/
#awardMvArea {
	position: absolute;
	top: 20px;
	left: 30px;
	z-index: 99999;
	opacity: 1;
	display: block;
}
@media print, screen and (max-width:640px) {
	#awardMvArea {
		right: auto;
		top: auto;
		bottom: 10px;
		left: 10px;
	}
	#awardMvArea img {
		width: 90px;
	}
}

.cp_bnr.add {
	margin: 20px 20px;
}

.cp_bnr.add img {
	width: 100%;
	height: auto;
}

@media print, screen and (max-width:640px) {
	.flex_wrap {
		display: flex;
		flex-direction: column;
	}
}

.bridalfairtopArea {
	background-color: #F1F1F1;
}
@media print, screen and (min-width:641px) {
	.bridalfairtopArea {
		padding: 80px 50px;
	}
}
@media print, screen and (max-width:640px) {
	.bridalfairtopArea {
		padding: 14% 15px;
		order: 8;
	}
}
.bridalfairtopArea .tit {
	text-align: center;
}
@media print, screen and (max-width:640px) {
	.bridalfairtopArea .tit img {
		width: auto;
		height: 13vw;
	}
}

@media print, screen and (min-width: 641px) {
	.bridalfairtopArea .left {
		width: 490px;
		box-sizing: border-box;
	}
}
@media screen and (max-width: 640px) {
	.bridalfairtopArea .left {
		margin-top: 30px;
	}
}
.bridalfairtopArea .leftin {
	background-color: #F0E8DD;
}
@media print, screen and (min-width: 641px) {
	.bridalfairtopArea .leftin {
		padding: 40px 50px 20px;
	}
}
@media screen and (max-width: 640px) {
	.bridalfairtopArea .leftin {
		padding: 35px 25px;
	}
}
.bridalfairtopArea .lefttit {
	text-align: center;
}
@media print, screen and (min-width: 641px) {
	.bridalfairtopArea .lefttit {
		font-size: 0.2rem;
	}
}
@media screen and (max-width: 640px) {
	.bridalfairtopArea .lefttit {
		font-size: 0.16rem;
	}
}
.bridalfairtopArea .calwrap {
}
@media print, screen and (min-width: 641px) {
	.bridalfairtopArea .calwrap {
		display: flex;
		justify-content: center;
		margin-top: 30px;
	}
}
@media screen and (max-width: 640px) {
	.bridalfairtopArea .calwrap {
	}
}
.bridalfairtopArea .cal {
	border-collapse: collapse;
	position: relative;
	width: 100%;
}
@media print, screen and (min-width: 641px) {
	.bridalfairtopArea .cal {
		margin: auto;
		margin-top: 40px;
	}
}
@media screen and (max-width: 640px) {
	.bridalfairtopArea .cal {
		margin-top: 30px;
	}
}
.bridalfairtopArea .cal thead th {
	text-align: center;
	width: 14.28%;
	font-weight: bold;
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
@media print, screen and (min-width: 641px) {
	.bridalfairtopArea .cal thead th {
		font-size: 1.4rem;
		padding-bottom: 0.1rem;
	}
}
@media screen and (max-width: 640px) {
	.bridalfairtopArea .cal thead th {
		font-size: 1.25rem;
		padding-bottom: 1.5rem;
	}
}
.bridalfairtopArea .cal thead th.type01 {
	color: #5CA5BE;
}
.bridalfairtopArea .cal thead th.type02 {
	color: #BC5C83;
}
.bridalfairtopArea .cal tbody td {
	width: 14.28%;
	position: relative;
	padding-top: 14.28%;
	height: 0;
}
.bridalfairtopArea .cal tbody td .calenderresultoutput_link {
	display: none;
}
.bridalfairtopArea .cal tbody td.fair {
	cursor: pointer;
}
.bridalfairtopArea .cal tbody td.fair:before {
	content: "";
	display: block;
	position: absolute;
	background-color: #FFF;
	border-radius: 50% 50%;
	box-sizing: border-box;
}
@media print, screen and (min-width: 641px) {
	.bridalfairtopArea .cal tbody td.fair:before {
		top: 6px;
		right: 6px;
		left: 6px;
		bottom: 6px;
	}
}
@media screen and (max-width: 640px) {
	.bridalfairtopArea .cal tbody td.fair:before {
		top: 4px;
		right: 4px;
		left: 4px;
		bottom: 4px;
	}
}
.bridalfairtopArea .cal tbody td.fair.active:before {
	background-color: #5CA5BE;
}
.bridalfairtopArea .cal tbody td.fair.active .date {
	color: #FFF!important;
}
.no-touchevents .bridalfairtopArea .cal tbody td.fair:hover:before {
	border: 2px solid #5CA5BE;
}
.bridalfairtopArea .cal tbody td .date {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	text-align: center;
	transform: translateY(-50%);
	font-weight: bold;
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
@media print, screen and (min-width: 641px) {
	.bridalfairtopArea .cal tbody td .date {
		font-size: 1.40rem;
	}
}
@media screen and (max-width: 640px) {
	.bridalfairtopArea .cal tbody td .date {
		font-size: 1.3rem;
	}
}
.bridalfairtopArea .cal tbody td.fair.type01 .date {
	color: #5CA5BE;
}
.bridalfairtopArea .cal tbody td.fair.type02 .date {
	color: #BC5C83;
}
.bridalfairtopArea .cal tbody td .link {
	position: absolute;
	opacity: 0;
	pointer-events: none;
	top: 0;
	width: 0;
	height: 0;
	overflow: hidden;
}
.bridalfairtopArea .notesp {
	position: relative;
	text-align: right;
}
@media print, screen and (min-width: 641px) {
	.bridalfairtopArea .notesp {
		margin-top: 10px;
		padding-right: 10px;
	}
}
@media screen and (max-width: 640px) {
	.bridalfairtopArea .notesp {
		margin-top: 20px;
	}
}
.bridalfairtopArea .notesp span {
	display: inline-block;
}
@media print, screen and (min-width: 641px) {
	.bridalfairtopArea .notesp span {
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 640px) {
	.bridalfairtopArea .notesp span {
		font-size: 1.2rem;
	}
}
.bridalfairtopArea .notesp span:before {
	content: "";
	display: inline-block;
	border-radius: 50%;
	vertical-align: middle;
	position: relative;
}
@media print, screen and (min-width: 641px) {
	.bridalfairtopArea .notesp span:before {
		margin-right: 8px;
		top: -1px;
		width: 2rem;
		height: 2rem;
	}
}
@media screen and (max-width: 640px) {
	.bridalfairtopArea .notesp span:before {
		margin-right: 4px;
		top: -2px;
		width: 16px;
		height: 16px;
	}
}
.bridalfairtopArea .notesp span.type01 {
	margin-right: 2rem;
}
.bridalfairtopArea .notesp span.type01:before {
	background-color: #fff;
}
.bridalfairtopArea .notesp span.type02:before {
	background-color: #5CA5BE;
}
.bridalfairtopArea .calenderresultarea {
	position: relative;
	background-color: #fff;
}
@media print, screen and (min-width: 641px) {
	.bridalfairtopArea .calenderresultarea {
		width: 488px;
		padding: 30px 0;
	}
}
@media screen and (max-width: 640px) {
	.bridalfairtopArea .calenderresultarea {
		padding: 3rem 1.5rem;
	}
}
@media screen and (max-width: 640px) {
	.bridalfairtopArea .calenderresultarea:before {
		content: "";
		display: block;
		width: 0;
		height: 0;
		border-top: 10px solid #F0E8DD;
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-bottom: 10px solid transparent;
		top: 0;
		left: 0;
		right: 0;
		margin: auto;
		position: absolute;
	}
}
.bridalfairtopArea .calenderresulttit {
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	text-align: center;
}
@media print, screen and (min-width:641px) {
	.bridalfairtopArea .calenderresulttit {
		font-size: 2rem;
	}
}
@media print, screen and (max-width:640px) {
	.bridalfairtopArea .calenderresulttit {
		font-size: 1.6rem;
	}
}
@media print, screen and (min-width:641px) {
	.bridalfairtopArea .calenderresultoutput {
		margin: 0 50px;
	}
}
@media print, screen and (max-width:640px) {
	.bridalfairtopArea .calenderresultoutput {
		margin-top: 1.5rem;
	}
}
.bridalfairtopArea .calenderresultoutput .date {
	display: none;
}
.bridalfairtopArea .calenderresultoutput_link {
	display: flex;
	justify-content: space-between;
}
@media print, screen and (min-width:641px) {
	.bridalfairtopArea .calenderresultoutput_link {
	}
}
@media print, screen and (max-width:640px) {
	.bridalfairtopArea .calenderresultoutput_link {
	}
}
@media print, screen and (min-width:641px) {
	.bridalfairtopArea .calenderresultoutput_link + .calenderresultoutput_link {
		margin-top: 20px;
	}
}
@media print, screen and (max-width:640px) {
	.bridalfairtopArea .calenderresultoutput_link + .calenderresultoutput_link {
		margin-top: 1.5rem;
	}
}
.bridalfairtopArea .calenderresultoutput_ph {
	display: block;
	object-fit: cover;
}
@media print, screen and (min-width:641px) {
	.bridalfairtopArea .calenderresultoutput_ph {
		width: 107px;
		height: 107px;
	}
}
@media print, screen and (max-width:640px) {
	.bridalfairtopArea .calenderresultoutput_ph {
		width: 8.0rem;
		height: 8.0rem;
	}
}
.bridalfairtopArea .calenderresultoutput_right {
}
@media print, screen and (min-width:641px) {
	.bridalfairtopArea .calenderresultoutput_right {
		width: calc(100% - 13rem);
	}
}
@media print, screen and (max-width:640px) {
	.bridalfairtopArea .calenderresultoutput_right {
		width: calc(100% - 9rem);
	}
}
.bridalfairtopArea .calenderresultoutput_statewrap {
	display: inline-block;
	color: #A8822F;
	border: 1px solid #A8822F;
}
@media print, screen and (min-width: 641px) {
	.bridalfairtopArea .calenderresultoutput_statewrap {
		padding: 1px 10px 0 10px;
		border-radius: 20px;
		font-size: 1.2rem;
		color: #A8822F;
	}
}
@media screen and (max-width: 640px) {
	.bridalfairtopArea .calenderresultoutput_statewrap {
		padding: 0.2rem 0.7rem 0.2rem 0.7rem;
		border-radius: 20px;
		font-size: 1.1rem;
		border-width: 2px;
		line-height: 1;
	}
}
.bridalfairtopArea .calenderresultoutput_statewrap svg {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	fill: #A8822F;
}
@media print, screen and (min-width: 641px) {
	.bridalfairtopArea .calenderresultoutput_statewrap svg {
		top: -2px;
	}
}
@media screen and (max-width: 640px) {
	.bridalfairtopArea .calenderresultoutput_statewrap svg {
		top: -1px;
	}
}
.bridalfairtopArea .calenderresultoutput_tit {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
}
@media print, screen and (min-width:641px) {
	.bridalfairtopArea .calenderresultoutput_tit {
		font-size: 1.4rem;
		line-height: 1.5;
		margin-top: 6px;
		-webkit-line-clamp: 3;
	}
}
@media print, screen and (max-width:640px) {
	.bridalfairtopArea .calenderresultoutput_tit {
		font-size: 1.3rem;
		line-height: 1.5;
		margin-top: 0.5rem;
		-webkit-line-clamp: 2;
	}
}
.bridalfairtopArea .calenderresultoutput_date {
	font-weight: bold;
	color: #A8822F;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}
@media print, screen and (min-width:641px) {
	.bridalfairtopArea .calenderresultoutput_date {
		font-size: 1.3rem;
		line-height: 1.5;
		margin-top: 6px;
	}
}
@media print, screen and (max-width:640px) {
	.bridalfairtopArea .calenderresultoutput_date {
		font-size: 1.1rem;
		line-height: 1.5;
		margin-top: 0.5rem;
	}
}
.bridalfairtopArea .moredayfair {
	text-align: center;
}
@media print, screen and (min-width:641px) {
	.bridalfairtopArea .moredayfair {
		margin-top: 30px;
	}
}
@media print, screen and (max-width:640px) {
	.bridalfairtopArea .moredayfair {
		margin-top: 2rem;
	}
}
@media print, screen and (max-width:640px) {
	.bridalfairtopArea .moredayfair .cmnBtn01 {
		width: 100%;
	}
}
@media print, screen and (max-width:640px) {
	.bridalfairtopArea .moredayfair .cmnBtn01 span {
		font-size: 1.3rem;
	}
}
.bridalfairtopArea .calenderresultnote {
	text-align: center;
}
@media print, screen and (min-width: 641px) {
	.bridalfairtopArea .calenderresultnote {
		font-size: 1.4rem;
		margin-top: 20px;
	}
}
@media print, screen and (max-width:640px) {
	.bridalfairtopArea .calenderresultnote {
		font-size: 1.1rem;
		margin-top: 2rem;
		letter-spacing: -1px;
	}
}
.bridalfairtopArea .calenderresultnote svg {
	fill: #A8822F;
}
@media print, screen and (min-width: 641px) {
	.bridalfairtopArea .calenderresultnote svg {
		position: relative;
		top: -2px;
		display: inline-block;
		vertical-align: middle;
	}
}
.bridalfairtopArea .calenderresultoutput {
}
@media print, screen and (min-width:641px) {
	.bridalfairtopArea .calenderresultoutput {
		margin-top: 20px;
	}
}
@media print, screen and (max-width:640px) {
	.bridalfairtopArea .calenderresultoutput {
	}
}
.bridalfairtopArea .morebridal {
	text-align: center;
}
@media print, screen and (max-width:640px) {
	.bridalfairtopArea .morebridal {
		width: 100%;
		box-sizing: border-box;
		padding: 0 1.5rem;
		margin-top: 4rem;
	}
}
@media print, screen and (min-width:641px) {
	.bridalfairtopArea .morebridal .cmnBtn01 {
		width: 300px;
		box-sizing: border-box;
		margin-top: 40px;
	}
}
@media print, screen and (max-width:640px) {
	.bridalfairtopArea .morebridal .cmnBtn01 {
		width: 100%;
	}
}
@media print, screen and (max-width:640px) {
	.bridalfairtopArea .morebridal .cmnBtn01 span {
		font-size: 1.3rem;
	}
}