/*=========================================
	Slider
==========================================*/

#slider {
	padding: 0;
}

#slider .carousel-inner .item {
  background-size: cover;
}

.carousel-caption {
  top: 55%;
}

.carousel-caption h2 {
  font-size: 36px;
  font-weight: 300;
  letter-spacing: 0.2em;
  margin-bottom:20px;
}

.carousel-caption h2 span {
  font-weight: 800;
}

.carousel-caption h3 {
  font-size: 24px;
  font-weight: 300;
  margin: 6px 0 20px;
}

.carousel-caption p {
  color: #fff;
  font-size: 12px;
  font-weight: 300;
}

/*.carousel-caption p:before,
.carousel-caption p:after {
color: #BFBFBF;
content: "___";
position: relative;
top: -8px;
}*/

.carousel-caption p:before {
  right: 20px;
}

.carousel-caption p:after {
  left: 20px;
}

.social-links {
  margin-top: 5%;
}

.social-links li {
	display: inline-block;
}

.social-links li a {
  color: rgba(255, 255, 255, 0.3);
  display: block;
  margin: 0 6px;
}

.social-links li a:hover {
  color: #fff;
}

.carousel-indicators {
  bottom: 10px;
  left: inherit;
  margin: 0;
  right: 30px;
  top: 49%;
  width: 0;
}

.carousel-indicators li {
  border: 1px solid rgba(255, 255, 255, 0.3);
  height: 8px;
  width: 8px;
}

.carousel-indicators .active {
  height: 8px;
  width: 8px;
}

/*=========================================
	Big Video
==========================================*/
#big-video-wrap{
	z-index:-1;
}

.top_movie{
	/*background-color:transparent;
	height:100%;*/	
	width: 100vw;
  	height: 100vh;
}

.caption-movie{
	color:#fff;
	font-size:40px;
	position:absolute;
	top:48%;
}

.caption-movie img{
	width:779px;
}


/*=========================================
	Owl Carousel
==========================================*/
.owl-gallery .owl-nav .owl-next {
  right: 0;
  position: absolute;
}

.owl-gallery .owl-nav .owl-prev {
  left: 0;
  position: absolute;
}

.owl-gallery .owl-controls {
  position: absolute;
  text-align: center;
  width: 100%;
  margin:-20px auto;
  top: 45%;
}

.owl-gallery .owl-controls .owl-nav [class*="owl-"] {
  background: none repeat scroll 0 0 #fff;
  border: 0 solid #fff;
  border-radius: 100%;
  color: #242424;
  cursor: pointer;
  display: inline-block;
  font-size: 28px;
  height: 50px;
  line-height: 50px;
  margin: 0 30px;
  padding: 0;
  text-align: center;
  width: 50px;
}

.owl-gallery .owl-controls .owl-nav [class*="owl-"]:hover{
	color: #242424;
}


.section-white .owl-gallery .owl-controls .owl-nav [class*="owl-"] {
  background: #f5f5f5;
}

.owl-gallery .owl-item {
  width:100%;
  text-align:center;
}

.owl-gallery img {
  /*margin:20px auto 0;
  max-width: 100px;*/
  width:100%;
}

.owl-gallery h3 {
  font-size: 16px !important;
  margin: 20px 0 5px;
}

.owl-gallery small {
  font-size:13px;
  font-style: italic;
}

.owl-gallery p {
  font-weight: 300;
  margin:0 0 20px;
  color:#888;
  font-size:14px;
  background:#f5f5f5;
  padding:15px;
}


/*=========================================
	table_rwd
==========================================*/
.table_rwd{
	margin-bottom:40px;
}

.table_rwd dl{
	display:table;
	border-bottom:1px solid #ddd;
	width:100%;
	margin-bottom:0;
}

.table_rwd dl dt{
	display:table-cell;
	width:52%;
	padding:10px;
	vertical-align:middle;
}

.table_rwd dl dd{
	display:table-cell;
	width:48%;
	padding:10px;
	vertical-align:middle;
}


/*=========================================
	Youtube
==========================================*/
.iframe_wrap_movie{
	position: relative;
	width: 100%;
    padding-top: 56.25%;
    margin-bottom: 20px;
}

.iframe_wrap_movie iframe{
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/*=========================================
	Footer button
==========================================*/
/*.btn_sns{
	background-color: #191919;
    color: #fff;
    height: 42px;
    padding: 10px 0 0;
    width: 42px;
}*/




/*=========================================
	TOP
==========================================*/

/* main visual */
.main-visual{
/*	background:url(../img/top/main_visual.jpg) bottom center no-repeat;*/
	height: 100vh;
/*	height:1000px;*/
	position:relative;
}

/* main visual h1 */
.tit-main-visual h1 {
    position: absolute;
    margin: auto;
    left: 0;
    top: 0;
    bottom: 8%;
    right: 0;
    float: none !important;
    min-width: 220px;
    width: 28%;
    min-height: 115px;
    height: 18%;
    text-align: center;
}

.tit-main-visual h1 span{
	display:block;
	font-size:16px;
	margin-top:20px;
}
#mainlogo h1 img {
    min-width: 220px;
    width: 100%;
}
.main-visual section,
.main-visual section div {
    height: 100%;
}
/*
.tit-main-visual h1::before,
.tit-main-visual h1::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 6px;
  box-sizing: border-box;
}

.tit-main-visual h1::before {
  top: 0;
  border-top: 2px solid #fff;
  border-bottom: 1px solid #fff;
}

.tit-main-visual h1::after {
  bottom: 0;
  border-top: 1px solid #fff;
  border-bottom: 2px solid #fff;
}
*/

.tit-ja{
	font-size:13px !important;
	letter-spacing:3.5px;
}
.bestoffer {
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    text-align: center;
}
.bestoffer img {
    width: 180px;
}
@media screen and (max-width: 767px) {
    .bestoffer img {
        width: 120px !important;
    }
}


/* news 鬩幢ｽ｢隴趣ｽ｢�ｽ�ｽ�ｽ�｡鬩幢ｽ｢�ｽ�ｧ�ｽ�ｽ�ｽ�､鬩幢ｽ｢隴趣ｽ｢�ｽ�ｽ�ｽ�ｳ鬮｣蛹�ｽｽ�ｳ�ｽ�ｽ�ｽ�ｽ */
#news {
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
    background-color: rgba(255,255,255,0.7);
    color: #222;
	padding:20px 0;
}

dl.news-list{
	margin:0;
}

dl.news-list dt{
	width:15%;
	float:left;
	font-size:16px;
	font-weight:normal;
	letter-spacing:1px;
}

dl.news-list dd{
	margin-left:10%;
}

/* link area */
.area-link div img{
	margin-bottom:20px;
}

.area-link div h4{
	margin-bottom:10px;
}


/* news */

#news_top .area-news{
	margin-bottom: 0 !important;
}
.area-news{
	display:table;
	margin-bottom:30px;
}

.area-news > div{
	display:table-cell;
	vertical-align:top;
}

.area-news > div:first-child{
	width:10%;
    min-width: 180px;
}

.area-news > div:last-child{
	width:90%;
	padding-left:20px;
}

.area-news dl dt span{
	font-size:14px;
	margin-left:10px;
}

.area-news dl dt{
	font-size:16px;
	margin-bottom:10px;
	font-weight:normal;
}

.area-news dl dt h3{
	font-size:16px;
	margin:10px 0 0;
}


/* fair */
.area-top-fair{
	border:1px solid #CCC9C6;
	padding:10px;	
	display:table;
	margin-bottom:20px;
	position:relative;
}

.area-top-fair div{
	display:table-cell;
	vertical-align:middle;
}

.area-top-fair div:first-child{
	width:40%;
}

.area-top-fair div:last-child{
	padding-left:15px;
}

.area-top-fair div:last-child:after{
	font-family: 'FontAwesome';
    content: '\f105';
	font-size:22px;
	color:#7F061B;
	position:absolute;
	right:10px;
	top:40%;
}

.area-top-fair div h3{
	font-size:16px;
	color:#222;
}

.area-top-fair div h3,
.area-top-fair div p{
	margin-bottom:10px;
}

.area-top-fair div p:last-child{
	margin-bottom:0;
}

/* link */
.area-link-second{
	display:table;
	border-top:1px solid #CCC9C6;
	width:100%;
}

.area-link-second div{
	display:table-cell;
}

.area-link-second .photo{
	width:56%;
	background-position:top center;
	background-repeat:no-repeat;
	background-size:cover;
}

.area-link-second .txt{
	width:44%;
	padding:160px 30px;
	text-align:center;
}

.area-link-second .txt .tit-box{
	text-align:center;
	display:block;
}

/* plan / fair */
.section-plan{
	background:url(../img/top/bg_plan.jpg) bottom center no-repeat;
	background-size:cover;
	padding:60px 0;
}

.wrap-top-plan{
	background-color:rgba(0,0,0,0.3);
	text-align:center;
	padding:60px 0;
}

.wrap-top-plan h3,
.wrap-top-plan p{
	color:#fff;
}

/*=================================
     Report
==================================*/
.post-type-archive-party-report {
    background: #f9f7f6;
}
.post-type-archive-party-report #wed_plan .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
/* top */
.section-report{
	background:url(../img/top/bg_report.jpg) top center no-repeat;
	background-size:cover;
	padding:160px 0;
	margin-bottom:60px;
}

.list-plan .card{
/*	border:1px solid #aaa;*/
	margin:12px;
/*    background: #fff;*/
}
.list-plan .card_txt{
	padding:15px;
    background: #fff;
    height: 100%;
}

.list-plan .card h3{
	font-size:15px;
}

dl.report_info{
	font-size:14px;
	line-height:1.8;
	margin-bottom:20px;
}

dl.report_info dt{
	width:35%;
	float:left;
	margin-bottom:7px;
}

dl.report_info dd{
	margin:0 0 0 35%;
	margin-bottom:7px;
}
dl.report_info dd,
dl.report_info dt {
	font-size: .87em;
}

/* detail */
.bg-report-cap{
/*	background: #e8e8e8;*/
    padding: 20px 10px;
	margin-bottom:30px;
}

.bg-report-cap h2{
	font-size:20px;
	text-align:center;
	margin-bottom:0;
}

.wrap-data{
	background:#fbfbfb;
	padding:20px;
}
@media screen and (min-width:768px) {
    .wrap-data{
        margin-left: 20px;
    }

}
.card a.btn-style-01 {
    display: inline-block;
    line-height: 40px;
    margin: 0;
    width: auto;
}

ul.list-report-photo li{
	list-style:none;
	float:left;
	width:33%;
	margin-bottom:30px;
}

ul.list-report-photo li:nth-child(2){
	margin:0 0.5% 30px;
}

/* access */
.gmap{
	height:557px;
}


.salon_box {
    border: 1px solid #ccc;
    padding: 20px 0;
    width: 86%;
    margin: 0 7%;
	text-align:center;
}


.movielink {
/*
    letter-spacing: 0em;
    display: inline-block;
    vertical-align: top;
    overflow: hidden;
    padding: 0;
*/
    position: relative;
     height: 0;
     overflow: hidden;
}
.movielink iframe {
    position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
.movielink a {
   position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    z-index: 20;
    background-color: rgba(0,0,0,.1);
}
.movielink a:hover {
    background-color: rgba(0,0,0,0) !important;
}
.movielink .img {
    -webkit-transition: all 3s;
    transition: all 3s;
    padding-bottom: calc(440/640*100%);
    z-index: 0;
    -webkit-transform: scale(1);
    transform: scale(1);
}

.movielink:hover .img {
/*    opacity: .8;*/
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}

.movielink p {
    display: inline-block;
    white-space: nowrap;
/*    line-height: 45px;*/
    letter-spacing: .1em;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 10;
    font-size: 8px;
    text-align: center;
    margin-bottom: 0;
}
.movielink p span {
    background: none;
    border: 0;
    box-sizing: border-box;
    margin: 1em;
    padding: 1em;
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.7);
    color: #fff;
    font-size: inherit;
    font-weight: 700;
    position: relative;
    vertical-align: middle;
    display: block;
}
.movielink p span i {
    font-size: 26px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: inline-block;
    font-style: normal;
    letter-spacing: 0;
    transform: rotate(90deg);
}
.movielink p span::before, .movielink p span::after {
  box-sizing: inherit;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
}
.movielink p .spin {
  width: 70px;
  height: 70px;
}
.movielink:hover p .spin {
  color: #fff;
}
.movielink p .spin::before, .movielink p .spin::after {
  top: 0;
  left: 0;
}
.movielink p .spin::before {
  border: 2px solid transparent;
}
.movielink:hover p .spin::before {
  border-top-color: #fff;
  border-right-color: #fff;
  border-bottom-color: #fff;
  transition: border-top-color 0.15s linear, border-right-color 0.15s linear 0.1s, border-bottom-color 0.15s linear 0.2s;
}
.movielink p .spin::after {
  border: 0 solid transparent;
}
.movielink:hover p .spin::after {
  border-top: 2px solid #fff;
  border-left-width: 2px;
  border-right-width: 2px;
  transform: rotate(270deg);
  transition: transform 0.4s linear 0s, border-left-width 0s linear 0.35s;
}

.movielink p .circle {
  border-radius: 100%;
}
.movielink p .circle::before, .movielink p .circle::after {
  border-radius: 100%;
}

#concept,
#facility {
    padding-top: 16%;
    position: relative;
}
#concept::before,
#facility::before {
    content: '';
    display: block;
    background-color: #F3F5F7;
    width: 64%;
    position: absolute;
    bottom: 6%;
    margin: auto 0;
}
#concept::before {
    right: 0;
    top: 10%;
}
#facility::before {
    left: 0;
    top: 0;
    bottom: 0;
}
#facility .container {
    padding-top: 4%;
}

.img_shadow {
    box-shadow: 20px 20px 20px rgba(0,0,0,.1);
}
#concept h3 {
    font-size: 24px;
    color: #000;
    letter-spacing: 13.2px;
    line-height: 2;
}

.box_report img {
    object-fit: cover;
    margin-bottom: 10px;
}

#linksR .container,
#wReport .tit-box {
    margin-right: 0 !important;
    margin-left: auto;
    padding: 0 !important;
}
#linksR .container .col-md-12 {
    padding-right: 0 !important;
}
.more_btn {
    text-align: right;
    padding-right: 15px;
    padding-left: 15px;
}
.more_btn a.more_btn {
    padding-bottom: calc(248/696*44%);
    max-width: 226px;
    width: 44%;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(../img/top/btn_more.png);
    display: inline-block;
}
/* 鬮ｴ髮｣�ｽ�､�ｽ�ｽ�ｽ�ｹ鬮ｮ蜿･�･�ｽ�ｽ�ｿ�ｽ�ｽ */
/*
.more_btn a.more_btn:hover {
	-webkit-animation:blink 0.8s ease-in-out infinite alternate;
    -moz-animation:blink 0.8s ease-in-out infinite alternate;
    animation:blink 0.8s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {background-image: url(../img/top/btn_more.png);}
    100% {background-image: url(../img/top/btn_more_off.png);}
}
@-moz-keyframes blink{
    0% {background-image: url(../img/top/btn_more.png);}
    100% {background-image: url(../img/top/btn_more_off.png);}
}
@keyframes blink{
    0% {background-image: url(../img/top/btn_more.png);}
    100% {background-image: url(../img/top/btn_more_off.png);}
}
*/

.btn_arrow {
    letter-spacing: 10px;
    padding: 0 20px 10px 0;
    background-position: left bottom;
    position: relative;
    display: inline-block;
    z-index: 1;
    background-image: url(../img/top/arrow_bg.png);
    background-size: contain;
    background-repeat: no-repeat;
}
/*
#facility .btn_arrow::before {
    display: block;
    content: '';
    background-image: url(../img/top/arrow_bg.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute
}
*/
.btn_arrow::before {
    content: '';
    width: 60px;
    height: 60px;
    background-color: #0000000d;
    border-radius: 50%;
    z-index: -1;
    position: absolute;
    right: -21px;
    bottom: -15px;
}
/* 鬮ｴ髮｣�ｽ�､�ｽ�ｽ�ｽ�ｹ鬮ｮ蜿･�･�ｽ�ｽ�ｿ�ｽ�ｽ */
/*
.btn_arrow:hover::before {
	-webkit-animation:flash 0.8s ease-in-out infinite alternate;
    -moz-animation:flash 0.8s ease-in-out infinite alternate;
    animation:flash 0.8s ease-in-out infinite alternate;
}
@-webkit-keyframes flash{
    0% {opacity:1;}
    100% {opacity:0.2;}
}
@-moz-keyframes flash{
    0% {opacity:1;}
    100% {opacity:0.2;}
}
@keyframes flash{
    0% {opacity:1;}
    100% {opacity:0.2;}
}
*/

.btn_arrow:hover {
    text-decoration: none;
    opacity: .7;
}
#facility h3{
    position: relative;
}
#facility h3::after {
    content: '';
    display: inline-block;
    width: 148px;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    background-color: #000;
}
.swiper-container,
.linkimg {
    padding-left: 3%;
}
.swiper-container::after {
    content: '';
    display: block;
    height: 60px;
}
img[alt*="CEREMONY"] {
    max-width: 266px;
    width: 40%;
}
img[alt*="BANQUET"] {
    max-width: 231px;
    width: 38%;
}

@media only screen and (min-width:1200px) {
    .box_report img {
        width: 204px;
        height: 204px;
    }
    .container {
        width: 1180px !important;
    }
    #linksR .container,
    #wReport .tit-box {
        width: calc(620px + 50%) !important;
    }
    .more_btn {
        width: 1240px !important;
    }
    #concept p {
        font-size: 18px;
        line-height: 2.5;
        letter-spacing: 8px;
    }
    .movielink {
         padding-bottom: 28.1%;
    }
}

@media only screen and (max-width:1199px) and (min-width:992px) {
    .box_report img {
        width: 164px;
        height: 164px;
    }  
    #linksR .container,
    #wReport .tit-box {
        width: calc(485px + 50%) !important;
    } 
    
    .more_btn {
        width: 970px !important;
    }
    #concept p {
        font-size: 16px;
        line-height: 2.4;
        letter-spacing: 6px;
    }
    .movielink {
         padding-bottom: 28.1%;
    }
}
@media only screen and (max-width:991px) and (min-width:769px) {
    .box_report img {
        width: 172.5px;
        height: 172.5px;
    }   
    #linksR .container,
    #wReport .tit-box {
        width: calc(485px + 50%) !important;
    }
    
    .more_btn {
        width: 750px !important;
        margin: auto;
    }
    #concept p {
        font-size: 16px;
        line-height: 2.4;
        letter-spacing: 4px;
    }
    .movielink {
         padding-bottom: 37.5%;
    }
}
@media only screen and (max-width:768px) {

    #linksR .container,
    #wReport .tit-box {
        width: 98% !important;
    }
    #concept p {
        font-size: 11px;
        line-height: 2.8;
        letter-spacing: 2px;
    }
    #concept h3 {
        letter-spacing: 2.2px;
        font-size: 18px;
    }
    .movielink p span i {
        top: 11px;
    }
    .btn_arrow {
        font-size: 11px !important;
        letter-spacing: 6px !important;
    }
    .movielink {
         padding-bottom: 46.8%;
    }
/*
    .box_report img {
        width: 172.5px;
        height: 172.5px;
    }  
*/
    #news_top .area-news > div:first-child{
        display: none;
    }
    #news_top .area-news > div + div {
        margin-top: 0 !important;
    }
    
    .area-news > div + div {
        margin-top: 15px;
    }
    .area-news > div {
        width:100% !important;
        padding-left:0 !important;
        display: block;
    }

}


/*----------------*/

/*.bnr-mnw{
	background:#fff;
	padding:30px 0 0 !important;
	margin:0 0 -70px;
}

.bg-concept{
	background:url(../img/top/photo_concept.jpg) 0 0 no-repeat fixed;
	background-size:cover;
	width:100%;
	padding:350px 0;
	text-align:center;
}


.bg-plan{
	background:url(../img/top/photo_plan.jpg) 0 0 no-repeat fixed;
	background-size:cover;
	width:100%;
	padding:200px 100px;
	text-align:left;
}*/


/*=========================================
	2nd
==========================================*/

/* commmon
------------------------------------------*/

/* page title */
.area-hero-title{
	background-position:top center;
	background-size:cover;
	background-repeat:no-repeat;
	text-align:center;
	padding:200px 0;	
}

.area-hero-title-s{
	padding:90px 0 50px !important;
}

.area-hero-title h1{
	color:#fff;
	font-size:50px;
}

.area-hero-title p{
	color:#fff;
	margin-bottom:0;
}

.txt-capacity{
	border:1px solid #767069;
	padding:5px 10px;
	line-height:1;
	display:inline-block;
	font-size:12px;
	letter-spacing:1px;
}

.txt-mgn-01{
	margin:100px 0;
}

/*.txt-mgn-02-01{
	margin:100px 0 20px;
}

.txt-mgn-02-02{
	margin:0 0 100px;
}*/


/* fair
------------------------------------------*/
.fair_zexy_pc {
    width: 100%;
    height: 8800px;
}


/* guest
------------------------------------------*/
ul.nav-guest{
	margin:0 auto;
	text-align:center;
}

ul.nav-guest li{
	display:inline-block;
	line-height:1;
	padding:0 15px;
	border-left: 1px solid #ccc;
}

ul.nav-guest li:last-child{
	border-right: 1px solid #ccc;
}

dl.list-guest{
	margin-bottom:30px;
}

dl.list-guest dt{
	border-bottom:1px dotted #ccc;
	padding-bottom:5px;
	font-weight:bold;
	margin-bottom:20px;
	font-size:16px;
}

.txt-guest-en{
	font-size:38px !important;
}

/* news
------------------------------------------*/
.news_top {
    padding: 40px 0;
}
#news_top {
    padding: 15px 0;
}
.photo-news-detail img{
	width:100%;
	height:450px;
	object-fit:cover;
	margin-bottom:30px;
}


/* plan
------------------------------------------*/
/* top */
.post-item .thumbnail{
	margin-bottom:20px;
}

.post-item .excerpt{
	margin-bottom:30px;
}

/* detail */
.tit-plan{
	font-size:16px;
}

.subtit-plan{
	color:#000;
	font-weight:bold;
	margin-bottom:0px !important;
	font-size:14px;
}

.plan-item table p{
	margin-bottom:0 !important;
}

.plan-item table{
	width:100% !important;
	margin-bottom:30px;
}

.plan-item table th,
.plan-item table td{
	border-bottom:1px solid #e8e8e8;
	padding:12px !important;
	font-size:13px;
}

/* party report 2020髯樊ｺｽ蛻､陝ｲ�ｩ
------------------------------------------*/
.report_gallery {
    display:flex;
    flex-wrap: wrap;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-pack:justify;
    -moz-box-pack:justify;
    -webkit-flex-pack:justify;
    -moz-flex-pack:justify;
    -ms-flex-pack:justify;
    -webkit-justify-content:space-between;
    -moz-justify-content:space-between;
    justify-content:space-between;
}
.report_gallery a {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    transition: all 0.3s ease;
    position: relative;
    display: block;
    margin-bottom: 2%;
}
.report_gallery a:before {
    display: block;
    content: '';
    padding-top: 100%;
}
.report_gallery a img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    object-fit: cover;
}
.report_movie {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}
.report_movie iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}
@media screen and (max-width:767px) {
    .report_gallery a {
        width: 49%;
    }
}
@media screen and (min-width:768px) {
    .report_gallery a {
        width: 32%;
    }
}
.report_gallery a:hover {
    opacity: .8;
}