@charset "UTF-8";
img { display: block; width: 100%; height: auto; }

figure { margin: 0; padding: 0; }

.l-contents { min-height: auto; width: 1080px; padding-bottom: 60px; }
.l-header { z-index: 1; }
.l-main { min-height: auto; }
.l-main__inner { margin-bottom: 0; }

.copyright { color: #000; text-align: center; padding-bottom: 20px; }

.img-before { opacity: 0; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; transition: opacity 4000ms; }

.img-after { opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }

.gal_content { overflow: hidden; }
.gal_content .gal_items { display: flex; flex-wrap: wrap;overflow: hidden; }
.gal_content .gal_item { position: relative; overflow: hidden; text-align: center; vertical-align: middle; }
.gal_content .gal_item a { display: block; height: 100%; }
.gal_content .gal_item figure { display: block; font-size: 0; }
.gal_content .gal_item figcaption { text-align: left; }
.gal_content .gal_item figcaption .ja { color: #000000; font-weight: bold; margin-right: 0.5em; }
.gal_content .gal_item figcaption .en { color: #000000; }
.gal_content .gal_item figcaption:after { content: ""; position: absolute; display: block; background: url("../gallery/images/ico_arrow_right_black.svg") no-repeat center; background-size: contain; }
.gal_content .gal_item.switch figcaption { background-color: #34c3c9; padding: 16px 10px;}
.gal_content .gal_item.switch figcaption:after { background-image: url("../gallery/images/ico_arrow_right_white.svg"); }
.gal_content .gal_item.switch .ja, .gal_content .gal_item.switch .en { color: #ffffff; }
.gal_content-photo .gal_items { overflow: hidden; }
.gal_content-photo .gal_item { float: left; width: 145px; height: 82px; overflow: hidden;}
.gal_content-photo .gal_item a { display: block; }

/* ---------- PC：横幅769px以上 ---------------------------------------- */
@media screen and (min-width: 769px) { .pc-only { display: block; }
  .sp-only { display: none; }
  .l-main__inner.paddingset_top { padding: 60px; }
  .l-main__inner.paddingset { padding: 60px 40px 60px 60px; }
  .tab01 li { width: 360px; text-align: center; }
  .past_area { margin-top: 40px; }
  .past_area .past_items-wrap { display: table; }
  .past_area .past_item { display: table-cell; width: 80px; text-align: center; border-right: 1px solid #696969; }
  .past_area .past_item:first-child { text-align: left; width: 60px; }
  .past_area .past_item:last-child { border-right: none; }
  .gal_content .gal_items { margin: -10px; }
  .gal_content .gal_item { margin: 10px; width: 470px; }
  .gal_content .gal_item figcaption { padding: 16px 0; line-height: 1.4; }
  .gal_content .gal_item figcaption:after { top: 50%; right: 20px; margin-top: -5px; width: 6px; height: 11px; }
  .gal_content .gal_item figcaption .ja { font-size: 18px; }
  .gal_content .gal_item figcaption .en { font-size: 14px; }
  .gal_content .gal_item.switch a { border: solid 2px #01b4bb; }
  .gal_content-photo { height: 500px; overflow-x: hidden; overflow-y: auto; }
  .gal_content-photo .gal_items { margin: -9px; }
  .gal_content-photo .gal_item { margin: 9px; } }
/* ---------- スマホ：横幅768px以下 ---------------------------------------- */
@media screen and (max-width: 768px) { .pc-only { display: none; }
  .sp-only { display: block; }
  .l-header{position: fixed;}
  .l-contents { margin-bottom: 30px; padding-bottom: 0; }
  .l-main__inner.paddingset_top, .l-main__inner.paddingset { padding: 8.75% 6.25% 11.25%; }
  .m-logo { width: 210px; }
  .tab01 { width: 100%; padding: 0; display: block; }
  .tab01 li { width: 50%; text-align: center; margin: 0; }
  .tab01 li a,.tab01 li span {padding: 10px 15px 4px 15px;}
  .gal_content .gal_item { width: 100%; height: auto; }
  .gal_content .gal_item:not(:last-child) { margin-bottom: 7.14286%; }
  .gal_content .gal_item figcaption { padding: 5px; line-height: 1.4; }
  .gal_content .gal_item figcaption:after { top: 50%; right: 13px; margin-top: -4px; width: 5px; height: 9px; }
  .gal_content .gal_item figcaption .ja { font-size: 16px; }
  .gal_content .gal_item figcaption .en { font-size: 12px; }
  .gal_content .gal_item.switch a { border: solid 1px #01b4bb; }
  .gal_content-photo .gal_item { width: 47%; height: 27.4vw; margin-right: 6%; margin-bottom: 4%; }
  .gal_content-photo .gal_item:nth-child(2n) { margin-right: 0; }
  .movie-item iframe { width: 100%; height: auto; }
  select[name="pulldown_gal-cat"] { width: 77%; }
  .past_area { padding:8.75% 6.25% 11.25%;}
  .past_area .past_items-wrap ul{display: flex; flex-wrap: wrap; justify-content: space-between; }
  .past_area .past_item a{padding: 10px;}

}


/* 2019追加 */
.l-header{ box-sizing: content-box; height: 80px; padding-top: 60px; width: 100%; }
.l-header_inner{ align-items: center; display: flex; justify-content: space-between; margin: auto; max-width: 1080px; min-width: auto; width: 100%; }

.m-logo { float: none; padding-left: 0; }

.gallerymenu{ display: block; height: 23px; position: relative; width: 30px; z-index: 1; }
.gallerymenu span{background: #0fb7be; display: block; height: 3px; margin: 10px 0; position: relative; transition-duration: 0.4s; width: 100%;}
.gallerymenu span::before,.gallerymenu span::after{background: #0fb7be; content: ""; display: block; height: 100%; transform-origin: center; transition-duration: 0.4s; width: 100%;}
.gallerymenu span::before{transform: translateY(-9px) rotate(0);}
.gallerymenu span::after{transform: translateY(6px) rotate(0);}

.gallerymenu.open span{background: transparent;}
.gallerymenu.open span::before{transform: translateY(1px) rotate(45deg);}
.gallerymenu.open span::after{transform: translateY(-1px) rotate(-45deg);}

.gallerymenu_wrap{ box-sizing: border-box; height: 100%; left: 0; position: fixed; top: -130%; transition-duration: 0.4s; width: 100%; z-index: 0;}

.gallerymenu_wrap .gallerymenu_list li { box-sizing: border-box; margin-bottom: 10px; width: 48%;}
.gallerymenu_wrap .gallerymenu_list li a {  color: #fff; display: block; padding: 10px 15px; position: relative; }
.gallerymenu_wrap .gallerymenu_list li:first-child{ color: #fff; font-size: 22px; font-weight: bold; width: 100%;}
.gallerymenu_wrap .gallerymenu_list li:last-child { margin-top: 10px; width: 100%;}
.gallerymenu_wrap .gallerymenu_list li:last-child a{ background: #ffffff; color: #0fb7be; margin: auto; text-align: center; width: 35%;}
.gallerymenu_list a svg { height: 10px; left: 0; position: absolute; top: 50%; transform: translate(0, -50%); width: 10px; }
.gallerymenu_list a svg path {fill: #fff;}
.gallerymenu_list li a span{display: inline-block;}
.gallerymenu_list li a .ja{margin-right: 0.5em;}

.tab_icon{ display: inline-block; height: 1em; margin-right: 8px; width: auto; }
@media all and (min-width: 769px) {
  .tab_icon {margin-bottom: -1px;}
  .gallerymenu.open span::before{background: #fff;}
  .gallerymenu.open span::after{background: #fff;}
  .gallerymenu_wrap{background: rgba(15, 183, 190, 0.9);}
  .gallerymenu_wrap .gallerymenu_list{ display: flex; flex-wrap: wrap; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); z-index: 100;}
  .open + .gallerymenu_wrap{ top: 0;}
  .gallerymenu_wrap .gallerymenu_list li:last-child { bottom: 0; margin-top: 20px; position: relative; right: calc(50% - 540px);}
  .gallerymenu_wrap .gallerymenu_list li:last-child a{ margin-right: 0;}
  .gallerymenu_list li a .ja{font-size: 18px; font-weight: bold;}
  .gallerymenu_list li a .en{font-size: 14px;}
}
@media all and (max-width: 768px) {
  .l-header{  box-sizing: border-box; height: auto; padding: 6.25% 6.25% 3.12%; }
  .tab_icon{ display: block; margin: auto; }
  .gallerymenu{ height: 17px; width: 21px; }
  .gallerymenu span{height: 3px; margin: 7px 0;}
  .gallerymenu span::before{transform: translateY(-7px);}
  .gallerymenu span::after{transform: translateY(4px);}
  .gallerymenu.open span{background: transparent;}
  .gallerymenu_wrap{background: #fff;overflow-y: auto; padding-top: 64px;}
  .open + .gallerymenu_wrap{  top: 0;}
  .gallerymenu_wrap .gallerymenu_list{ background: #fff; display: block; padding: 0; }
  .gallerymenu_wrap .gallerymenu_list li { margin-bottom: 1px; width: 100%;}
  .gallerymenu_wrap .gallerymenu_list li:first-child{ color: #0fb7be; font-size: 16px; padding: 10px;}
  .gallerymenu_wrap .gallerymenu_list li a { background: #0fb7be; color: #fff; display: block; padding: 10px 10px 10px 24px; position: relative; }
  .gallerymenu_list a svg { height: 10px; left: 10px; position: absolute; top: 50%; transform: translate(0, -50%); width: 10px; }
  .gallerymenu_list li a .ja{font-size: 16px; font-weight: bold;}
  .gallerymenu_list li a .en{font-size: 12px;}
}