@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  background: #fff;	
}

img {
  width: 100%;
  vertical-align: bottom;
}
a, p, h1, h2, h3, h4, h5, li, dl, dd, ul, ol {
  font-family: 'Montserrat', sans-serif;
  color: #222;
  text-decoration: none;
  font-feature-settings: "palt";	
}
ul li {
  list-style: none;
}
a {
  color: #222;	
}
.pc_br {
  display: none;
}
::-webkit-scrollbar {
  background: #555;
  width:12px;
}
::-webkit-scrollbar-thumb {
  background-color: #ccc;
}
.small {
	font-size: 0.7em;
}
#column_wrap {
	background: #ccc;
}

@media screen and (min-width: 780px) {
	.pc_br {	
	    max-width: 700px; 
		display: block;
	}
	.sp_br {
		display: none;
	}
}
.txt_s {
	display: block;
	font-size: 0.8em;
	line-height: 1.2em;
}
.inr_txt {
	text-align: left;
	padding: 10px 20px;
	font-size: 0.9em;
}
.txt_c {
	text-align: center;
}


/*========= youtubeモーダル表示のためのCSS ===============*/
.movie-content-wrap {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	z-index: 9999;
}
.movie-content-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.mfp-content {
	max-width: 800px;
	padding-top: 44px;
}
.mfp-fade01.mfp-bg {
	opacity: 0;
	transition: all 0.2s ease-out;
}
.mfp-fade01.mfp-bg.mfp-ready {
	opacity: 0.7;
}
.mfp-fade01.mfp-bg.mfp-removing {
	opacity: 0;
}
.mfp-fade01.mfp-wrap .mfp-content {
	opacity: 0;
	transition: all 0.2s ease-out;
}
.mfp-fade01.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
}
.mfp-fade01.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}
/*=============  HEADER ===============*/
header {
	display: flex;
	align-items: center;
	justify-content: space-between;	
	height: 50px;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background-color: #000;
	z-index: 9999; 	
}
.faff_splogo {
	padding: 0 10px;
}
.header__container {
	padding-right: 5px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
/* サイトタイトルの見た目調整 */
.header__logo__link {
  font-size: 1.25em;
  font-weight: bold;
  color: inherit;
  text-decoration: none;
}
/* ハンバーガーボタンのデザイン調整 */
.header__trigger {
  position: relative;
  width: 40px;
  height: 40px;
  border: none;
  z-index: 9999; 
}

/* ハンバーガーボタン内の線、デザイン調整 */
.header__trigger > span {
  display: block;
  position: absolute;
  left: 50%;
  width: 30px;
  height: 2px;
  background-color: #fff;
  transform: translateX(-50%);
}
/* ハンバーガーボタン内の線、位置調整 */
.header__trigger > span:first-child {
  top: 10px;
}
.header__trigger > span:nth-child(2) {
  top: 50%;
  transform: translate(-50%, -50%);
}
.header__trigger > span:last-child {
  bottom: 10px;
}
/* ハンバーガーボタンがクリックされた後、中の線デザイン */
.header__trigger.active > span {
  background-color: #fff;
}
.header__trigger.active > span:first-child {
  transform: translate(-50%, 10px) rotate(-45deg);
  transition: transform 0.3s ease;
}
.header__trigger.active > span:nth-child(2) {
  opacity: 0;
  transition: opacity 0.3s ease;
}
.header__trigger.active > span:last-child {
  transform: translate(-50%, -8px) rotate(45deg);
  transition: transform 0.3s ease;
}
/* メニューのデザイン */
.global-nav {
  position: fixed; 
  top: 50px;
  left: 100%;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.7);
  padding: 20px 0;
  transition: all 0.3s ease;
	font-family: 'Noto Serif JP', serif;	
}
.global-nav.active {
  left: 0;
}
.global-nav__menu {
  flex-direction: column;
  list-style: none;
	text-align: center;
}
.global-nav__link {
	font-size: 1.2rem;
  color: #fff;
  text-decoration: none;
  transition: color 0.3s ease;
}
.global-nav__link > span {
	margin-top: 2px;
	font-size: 0.6em;
	display: block;
}
body.active {
  height: 100%;
  overflow: hidden;
}
.global-nav__item {
	padding: 0 0 20px;
}
@media screen and (min-width: 780px) {
	.header__trigger {
		display: none;
	}
	.global-nav {
		position: relative;
  		top: 0;
  		left: 0;
		width: 100%;
  		height: 50px;		
		background: none;
	  padding: 0 0 0;
		
	}
	.global-nav__menu {
		height: 50px;
		flex-direction: row;
		background: #000;		
	}
	.global-nav__item {
		padding: 10px 5px 0;
		display: inline-block;	
  		line-height: 1;	
	}
}
@media screen and (min-width: 1200px) {
	.faff_splogo {
		padding-left: 30px;
	}
	.header__container {
		padding-right: 20px;
	}
	.global-nav__item {
		padding: 10px 10px 0;
	}
}
/*========================*/


/*========= main ===============*/
main {
	width: 100%;
	margin: 0 auto;
	position: absolute;
	top: 50px;
	left: 0;
}
section {
	width: calc(100% - 20px);
	margin: 0 auto;
	scroll-margin-top: 100px;		
}
.section_title {
	text-align: center;	
	margin: 30px auto 20px;
}
.section_title > span {
	font-size: 0.8rem;
	display: block;
	line-height: 1;
}
/*================= トップイメージ ===============*/
.top_img {
	width: 100%;
	background: #000;
	text-align: center;
}
.tate {
	width: 100%;
	max-width: 480px;
	margin: 0 auto;
}
.yoko {
	display: none;
}
@media screen and (min-width:480px) {
	.tate {
		display: none;
	}
	.yoko {
		max-width: 800px;
		margin: 0 auto;
		display: block;
	}	
}
.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}
/*================ about ===============*/
#about {
	width: calc(100% - 20px);
	margin: 0 auto;
	padding: 30px 0;
	max-width: 800px;
}
#about > h2 {
	text-align: center;
	margin-bottom: 15px;
}
#about > p {
	padding: 0 10px;
	font-size: 0.9rem;
}
@media screen and (min-width:480px) {
	#about > p {
		text-align: center;
	}
}

/*youtube*/
.youtube {
  width: 100%;
	max-width: 800px;
	margin: 0 auto;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}

#end_txt {
	width: 500px;
	display: block;
    margin: 20px auto 5px;
    color: #fff;
    background: #dc143c;	
}
/*=============  link_area ===============*/
#link_area {
	width: calc(100% - 20px);
	margin: 30px auto 80px;
	max-width: 600px;
	text-align: center;
}
#link_area > a:hover {
	opacity: .5;
	transition: 0.3s;		
}
/*===============================*/
/*================ movie ===============*/
#movie {
	text-align: center;
}

.movie_content {
	margin-bottom: 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.movie_btn {
	width: 320px;
	margin: 15px auto 0;
	border-radius: 10px;
	border: solid 1px #b3881b;
	background: #fff;
	transition: 0.3s;	
}
.movie_btn:hover {
		opacity: .6;
}
.kikaku_title {
	margin: 50px 0 5px;
	text-align: center;	
	font-size: 1.2em;
}
.kikaku_title  > .txt_s {
	margin-bottom: 5px;	
}
#about > p {
	padding: 0 10px;
	font-size: 0.9rem;
}
.free, .charity {
	display: inline-block;
	margin-left: 10px;
	padding: 2px 8px;
	color: #fff;
	border-radius: 5px;
	font-size: 0.8em;
}

.library_fl {
	width: calc(100% - 20px);
	margin: 0 auto 20px;
	display: flex;
	justify-content: center;	
	align-items: center;
	flex-direction: column-reverse;
}
.library_fl > div > h3 {
	text-align: left;
	margin: 5px 0 10px;
	padding: 0 10px;
}
.library_fl > div > p {
	width: calc(100% - 20px);
	margin: 0 auto;
	font-size: 0.9rem;	
	text-align: left;
}
.library_fl > p {
	max-width: 300px;
	margin: 0 auto;
	padding: 10px 0;	
}
.free {
	background: #ff8c00;
}
.charity {
	background: #800080;
}
.movie_btn > div {
	padding: 10px;
	display: flex;
	flex-direction: column;
}
.movie_btn > div:first-child {
	height: 100%;
}

.movie_btn > .category_box {
	padding: 0 10px 10px;
}
.movie_til {
	font-size: 0.9rem;
}
.movie_til_flag img {
	width: 30px;
	margin: 0 2px;
	display: inline-block;
	border: solid 1px #ccc;
	vertical-align: text-bottom;
}
.movie_img {
	overflow: hidden;
	width: 300px;
	height: 160px;
	position: relative;	
	margin-bottom: 10px;
}
.movie_img img{
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	height: auto;
	display:block;
}
.no_category {
	margin-top: 20px;
}
.faff {
	display: block;
	font-size: 0.7em;
	line-height: 1.2em;
	color: #dc143c;
}
.ajibi_til > h3,.cinela_til > h3 {
	margin: 50px auto 10px;
	padding: 5px;
	background: #555;
	color: #fff;
	text-align: center;
}
.place {
	width: calc(100% - 20px);
	font-size: 1.2em;
	text-align: left;
	margin: 5px auto 10px;
}
.place_small {
	text-align: left;
	font-size: 0.8em;
	line-height: 1.5;	
}
.ajibi_til > p:last-of-type {
	font-size: 0.9em;
}

.place > span {
	width: calc(100% - 20px);
	font-size: 0.8em;
	text-align: left;
	margin: 5px auto 10px;	
	padding: 2px 8px;
	margin-right: 10px;
	border: solid 1px #333;
}

.category_til {
  display: block;
  position: relative;
top: -8px;
  height: 28px;/*リボンの高さ*/
  line-height: 28px;/*リボンの高さ*/
  padding: 0 30px;/*横の大きさ*/
  font-size: 0.8rem;
  background: #b3881b;/*塗りつぶし色*/
  color: #FFF;/*文字色*/
  font-weight: 300;
}

  .category_til:before,.category_til:after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}

.category_til:before {
  top: 0;
  left: 0;
  border-width: 14px 0px 14px 14px;
  border-color: transparent transparent transparent #fff;
  border-style: solid;
}

.category_til:after {
  top: 0;
  right: 0;
  border-width: 14px 14px 14px 0px;
  border-color: transparent #fff transparent transparent;
  border-style: solid;
}
@media screen and (min-width: 780px) {
	#movie {
		max-width: 1040px;
		text-align: center;
		margin: 0 auto;
	}	
	.movie_btn {
		margin: 10px;
	}
	.ajibi_til > p ,.cinela_til > p {
		text-align: center;
	}	

	.library_fl {
		width: calc(100% - 20px);
		margin: 0 auto;
		max-width: 850px;
		flex-direction: row;
	}	
	.library_fl > p {
		width: 37%;
		margin-right: 3%;
	}
	.library_fl > div {
		width: 60%;
	}	
	.ajibi > p {
		text-align: center;
	}	
}

/* ニュース */
.news-list{
	width: calc(100% - 10px);
	margin: 50px auto 100px;
	max-width: 1040px;
  list-style: none outside;
}
.news-list .item a{
  display: flex;
  flex-wrap: wrap;
  flex-wrap: nowrap;
  text-decoration: none;
  color: #333;
  border-bottom: 1px solid #CCC;
  padding: 20px 10px;
}
.news-list .item:first-child a{
  border-top: 1px solid #CCC;
}
.news-list .item .date{
  margin: 0;
  min-width: 140px;
  font-size: 0.9em;
  color: #333;
  padding: 0 20px 0 0;
}
.news-list .item .category{
  margin: 0;
  min-width: 140px;
  padding: 0 20px 0 0;
}
.news-list .item .category span{
  background: #999;
  color: #FFF;
  text-align: center;
  display: inline-block;
  padding: 5px 20px;
  font-size: 12px;
  line-height: 1;
}
.news-list .item .title{
  margin: 0;
  width: 100%;
	transition: 0.3s;
	font-size: 0.9em;
}
.news-list .item a:hover .title{
  color: #ccc;
}

@media screen and (max-width: 767px){
.news-list .item a{
  flex-wrap: wrap;
}
.news-list .item .date{
  min-width: 100px;
}
.news-list .item .title{
  margin-top: 10px;
}
}

/* 装飾 */
 
*{
  box-sizing: border-box;
}
a{
  text-decoration: none;
}
body{
  margin: 20px;
}
/*----------- ベトナム特集 -----------*/
#vietnam  {
	margin-bottom: 50px;
}
#vietnam > div {
	width: 100%;
	margin: 0 auto;
	padding: 20px;
	max-width: 660px;
	border: solid 2px #AD3034;
	text-align: center;
}
#vietnam > div > h3 {
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: solid 2px #AD3034;
}
#vietnam > div > p,#vietnam > div > h3 {
	color: #AD3034;
}
#vietnam > div > a {
	display: block;
	text-align: center;
}	
.kikakuten_btn {
	margin: 10px 0 0;
	padding: 5px 10px;
	display: inline-block;
	color: #fff;
	background: #AD3034;
	transition: .5s;
}
.kikakuten_btn:hover {
	opacity: .7;
}
@media (max-width: 751px)  {
	#vietnam > div {
		padding: 10px;		
		text-align: left;
	}
	#vietnam > div > h3 {
		margin-bottom: 5px;
		padding-bottom: 5px;
		text-align: center;
	}
	.kikakuten_btn {
		margin: 10px 0 10px;
	}	
}
/*----------- Event -----------*/
.event_list {
    margin: 0 0 100px;
}
.event_list > div {
    text-align: center;
}
.event_list > div > h2 {
    max-width: 900px;
    margin: 0 auto;
    padding: 5px;
    font-size: 1.1em;
    border-top: dotted 1px #000;
    border-bottom: dotted 1px #000;
}
.event_list > div,.event_talk > div {
    max-width: 900px;
    margin: 10px auto;
    padding: 5px;
    font-size: 1em;
}
.event_list > div > p,.event_talk > div > p {
	padding: 10px 0 0;
}
.price_small {
	max-width: 500px;
	margin: 10px auto;
	text-align: left;
	font-size: 0.8em;
	line-height: 1.5;	
}
.event_talk > div > h3,.event_talk > div > p {
	margin-bottom: 10px;
}


.award > p:first-of-type img {
	max-width:200px; 
	padding: 6px;
	margin: 0 auto 5px;
	border: solid 1px #ccc;
}

.dir_txt {
	text-align: left;
}
.dir img {
	max-width: 200px;
	margin: 0 auto
}
@media screen and (min-width: 751px) {
	.award {
		display: flex;
		align-items: center;
		justify-content: center;
	}	
	.award > p:first-of-type {
		margin-right: 10px;
	}
	.dir_profile {
		display: flex;
		align-items: center;
	}
	.dir img {
		width: 30%;
		padding-right: 20px;
		min-width: 220px;
	}	
}

.talk_event {
	padding-bottom: 50px;
}
.ribbon {
	width: calc(100% - 25px);
	margin-left: 25px;
	padding-right: 20px;
	background: #AE8748;
	font-size: 0.9em;	
	color: #fff;
	display:flex;
	align-items: center;
}
.ribbon > img {
	width: 50px;
	position: relative;
	right: 25px;
}

.prof_name {
	font-size: 1.2em;
	margin-bottom: 5px;
}
.report {
	text-align: center;
	margin: 0 auto;
}
.report > a {
	margin: 5px;
	padding: 3px 5px;
	display: inline-block;
	text-decoration: none;
	font-size: 0.8em;
	border: solid 1px #333;
	transition: 0.3s;
}
.report > a:hover {
	opacity: 0.5;
}
rt {
	font-size: 0.5em;
}
/*----------- Schedule -----------*/
.schedule_area {
	max-width: 1200px;
	margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.schedule {
    width: 48%;
    margin: 1%;
    text-align: center;
    box-sizing: border-box;
    border: solid 1px #000;
	position: relative;
}
.afternoon1,.afternoon2 {
	width: 100%;
	position: absolute;
}
.afternoon1 {
	bottom: 0;
}


.schedule > .day {
    background: #000;
    font-size: 1.2em;
    font-weight: bold;
    padding: 5px 0;  
    color: #fff;
}
.schedule > .red {
	color: #ffc0cb;
}
.schedule > .blue {
	color: #bfdfff;
}
.schedule > .day > span {
    font-size: 0.8em;
}

.time {
    background: #f5ecdc;
    padding: 3px 0;
    font-size: 1rem;      
}
.schedule_box {
    padding: 10px 3px;
}
.schedule_box > .mov_title {
    font-size: 0.8rem;
    line-height: 1.2em;
    font-weight: bold;
    margin: 0;
}
.schedule_box > .mov_title > span {
    font-size: 0.8em;
}
.mov_box {
    display: inline-block;
    margin: 5px 0;
    padding: 0 10px;
    background: #777;
    color: #fff;
    font-size: 0.7em;
    border-radius: 3px;
}
.cinela {
    background: #fff8bf;	
}
.mov_time {
    font-size: 0.8em;
}
.talk {
    background: #b3881b;
    color: #fff;
    padding: 5px 3px;
    font-size: 0.8rem; 
    line-height: 1.2em;	
}
@media screen and (min-width: 751px)  {
	.schedule {
		width: 30%;
	}	
	.schedule_box > .mov_title {
		font-size: 0.9rem;
		line-height: 1.2em;
	}	
}


/*--------- ご協賛企業 ---------*/	
#sponser > ul {
	max-width: 800px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}	
#sponser > ul > li {
	width: calc(100% / 2);	
	min-width: 230px;
	padding: 10px;
	box-sizing: border-box;
}	
#sponser > ul > li:last-of-type {
	width: 37%;	
	min-width: 200px;
	padding: 10px;
	box-sizing: border-box;
}
@media screen and (min-width: 751px)  {
	.schedule {
		width: 30%;
	}	
}
/*----------- food -----------*/
#food > h2 {
	max-width: 500px;
	margin: 0 auto;
	text-align: center;
}
.food_txt {
	margin: 10px 0;
	font-size: 0.9rem;
	text-align: center;
	font-weight: bold;
}
.food_shop {
	margin: 0 auto;	
}
.fa-facebook-square:before {
    content: "\f082";
	padding-right: 8px;
	color: #b3881b;
}
.fa-external-link-alt:before {
    content: "\f35d";
	padding-right: 8px;
	color: #b3881b;	
}
.shop_area {
	margin: 0 auto 100px;	
	max-width: 1000px;
    display: flex;
    flex-wrap: wrap;
}
.shop {
    width: 100%; 
	max-width: 350px;
	margin: 10px auto;
    border: #EAB08E 1px solid;
    background: #FCFFDB;
    border-radius: 5px;
    box-sizing: border-box;
    padding: 10px;    
}
.shop > div {
	width: 100%;
	height: 140px;
	margin: 0 auto;
	padding: 10px;
	position: relative;
}
.present_name {
	position: absolute;
	top: 20px;
	left: 10px;
    font-size: 1.2em;
    line-height: 1.4em;
    font-weight: bold;
    color: #dc143c;
    text-align: center;
    transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    -webkit-transform: rotate(-10deg);   
	z-index: 10;
  text-shadow:2px 2px 0 #FCFFDB, -2px -2px 0 #FCFFDB,
              -2px 2px 0 #FCFFDB, 2px -2px 0 #FCFFDB,
              0px 2px 0 #FCFFDB,  0 -2px 0 #FCFFDB,
              -2px 0 0 #FCFFDB, 2px 0 0 #FCFFDB;	
}
.present_pct {
    width: 50%;
    min-width: 120px;
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 0;	
}
.shop_name a {
    color: #000;
    font-weight: bold;
    font-size: 1.2em; 
    line-height: 1;
	text-decoration: none;
}
.map,.tel {
	text-decoration: none;
	font-size: .8em;
} 




.present_img > img {
    width: 110px;
    padding: 10px;
    
}
.shop_map a,.shop_tel a {
	font-size: 0.8rem;
	text-decoration: none;
}
.shop_map {
	margin-bottom: 5px;
}
.shop_map a {
	display: flex;
	align-items: flex-start;
}

.shop_tel > a > span,.shop_map > a > span:first-of-type {
    font-size: 0.8em;	
	text-align: center;
    background: #555;
    color: #fff;
    padding: 3px;
    margin-right: 5px;
    border-radius: 2px;
	display: inline-block;
	width: 40px;
	font-weight: bold;
}

@media screen and (min-width: 551px)  {
	.food_txt {
		font-size: 1rem;
	}	
	.shop {
		width: calc(96% / 2); 
		margin: 1% auto;
	}	
}	
@media screen and (min-width: 1000px)  {
	.shop {
		width: calc(94% / 3); 
		margin: 1%;
	}	
	.shop_area {
		justify-content: center;
	}
}
/*----------- supporter -----------*/
#supporter {
    margin: 0 auto;
    background: #e6e6e6;
    padding: 30px 0;
}


.supporter_inr {
    margin: 10px;
}
.supporter_inr > dl {
	margin-bottom: 15px;
}
.supporter_inr dt {
    font-weight: bold;
}
@media screen and (min-width: 751px){
	
}
/*----------- attention -----------*/
#attention {
    margin: 100px auto;
    width: calc(100% - 20px);  
	max-width: 1000px;
}
.attention_box {
	max-width: 600px;
	margin: 0 auto;
    display: flex;
    flex-wrap: wrap;	
}
.attention_box > p {
	width: calc(96% / 2);
	min-width: 120px;
    font-size: 0.8em;
    line-height: 1.2em;
    text-align: center;
}
.attention > div > p > img {
    width: 50%;
    margin: 5px 0;
    min-width: 120px;   
}
.attention ul {
    margin: 10px 0;
}
.attention_txt li {
    list-style: circle;
    margin-left: 1em;      
}
.attention_red {
    color: #dc143c;
}
.attention > p > a {
    font-weight: bold;
    color: #000;
    display: inline-block;
    margin-bottom: 10px;
    border-bottom: solid 1px #000;
}
.attention > p > a:hover {
    opacity: .7;
}
.ticket {
    color: #b3881b;
}
.ticket > span {
    font-size: 0.9em;
    padding: 4px 8px;
    margin-right: 10px;
    border: solid 1px #b3881b;
    color: #b3881b;
}
.attention_small {
    font-size: 0.8em;
}
.attention_small li {
    text-indent: -1em;
    padding-left: 1em;   
    list-style: none;    
}
.attention_txt2 li {
    text-indent: -1em;
    padding-left: 1em;   
    list-style: none;    
}
.attention_txt2 > li::before {
    content:  "◎";
}
.special_gift {
    display: inline-block;
    margin: 20px 0 5px;
    padding: 5px 10px;
    color: #fff;
    background: #dc143c;
}
.ticket_buy {
    margin-top: 20px;
}
.ticket_buy_fl {
	margin-top: 10px;
	display: flex;
}
.ticket_buy_txt {
    font-size: 1em;
}
.ticket_buy_txt > span {
    font-weight: bold;
    font-size: 0.9em;
    padding: 4px 8px;
    margin-right: 10px;
    border: solid 1px #000; 
}
.border {
	border-bottom: solid 1px #333;
}
.pay_area {
    max-width: 200px; 
    display: block;
    padding: 5px 10px;
    margin: 10px 0;
    border: solid 1px #000;
}
.pay_area > div {
    display: flex;
    justify-content: space-around;
    padding: 10px 0 0;
}

/*----------- Access -----------*/
#access > div {
    max-width: 1000px;	
	margin: 0 auto;
	display: flex;
	justify-content: space-around;
}
#access > div > div {
	width: 49%;
	display: block;
}
.map {
    max-width: 700px;
    margin: 0 auto 30px;
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
}
.map iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}
.access_title {
	max-width: 700px;
	font-size: 0.8em;
	text-align: center;	
	margin: 10px auto 0;
	padding: 5px;
	background: #333;
	color: #fff;
}

.access_small {
	margin-bottom: 50px;
	text-align: left;
	font-size: 0.8em;
	line-height: 1.5;	
}
@media screen and (max-width:480px) {
	#access > div {
		display: block;
	}	
	#access > div > div {
		width: 100%;
	}	
}
/*----------- Archive -----------*/
#archive {
    margin: 50px auto;
}
#archive > div {
	width: 100%;
    display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#archive > div > p a {
    text-align: center;
    width: 80px;
    box-sizing: border-box;
    color: #000;
    display: block;
    margin: 5px 0 10px;
    padding: 3px 10px;
    font-size: 1em;
	text-decoration: none;
}
#archive > div > p:not(:last-of-type) a {
    border-right: solid 1px #000;    
}
/*footer*/
footer {
	margin-top: 50px;
}

.copy {
    text-align: center;
	width: 100%;
	margin: 0 auto;
    padding: 10px 0 15px;
	font-size: 0.8rem;
	line-height: 1.5rem;
	border-top: 0;
	color: white;
	background: #000;
}
@media screen and (min-width: 751px){
	.fb {
		max-width: 800px;
		margin: 40px auto;
		display: flex;
		justify-content: center;
	}	
}


/*====================================
ふわっアニメーション
===================================*/
.fadeUp {
  -webkit-animation-name: fadeUpAnime;
          animation-name: fadeUpAnime; /*アニメーションの名前*/
  -webkit-animation-duration: 1s;
          animation-duration: 1s; /*アニメーションの実行時間*/
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards; /*アニメーション後、要素が表示されたままにする*/
}
@-webkit-keyframes fadeUpAnime {
  0% {
    opacity: 0; /*非表示*/
    -webkit-transform: translateY(100px);
            transform: translateY(100px); /*縦方向に100pxずらす*/
  }
  100% {
    opacity: 1; /*表示*/
    -webkit-transform: translateY(0);
            transform: translateY(0); /*元の位置*/
  }
}
@keyframes fadeUpAnime {
  0% {
    opacity: 0; /*非表示*/
    -webkit-transform: translateY(100px);
            transform: translateY(100px); /*縦方向に100pxずらす*/
  }
  100% {
    opacity: 1; /*表示*/
    -webkit-transform: translateY(0);
            transform: translateY(0); /*元の位置*/
  }
}
.fadeUpTrigger {
  opacity: 0; /*非表示*/
}

/*========= youtubeモーダル表示のためのCSS ===============*/
.movie-content-wrap {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.movie-content-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.mfp-content {
	max-width: 800px;
	padding-top: 44px;
}
.mfp-fade01.mfp-bg {
	opacity: 0;
	transition: all 0.2s ease-out;
}
.mfp-fade01.mfp-bg.mfp-ready {
	opacity: 0.7;
}
.mfp-fade01.mfp-bg.mfp-removing {
	opacity: 0;
}
.mfp-fade01.mfp-wrap .mfp-content {
	opacity: 0;
	transition: all 0.2s ease-out;
}
.mfp-fade01.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
}
.mfp-fade01.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}


/*----------- slider -----------*/
.movie_area {
	overflow-y: auto;		
	overflow-x: none;		
	padding: 20px 20px 60px;
	background: #fff;	
	height: 100vh;
}
.caption,.story {
	margin: 20px auto;
}
.cap_til_box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.movie_title {
	font-size: 1.1rem;
	margin-bottom: 5px;
}

.movie_til_box {
	font-size: 0.7em;
	background: #33C;
	color: #fff;
	margin: 0 3px;
	padding: 0 5px;
	border-radius: 3px;
	font-weight: bold;
	display: inline-block;
}

.movie_btn_fl {
	margin-top: 3px;
	display: flex;
	justify-content: center;
}
h3 > .movie_til_box {
	width: calc(100% - 20px);
	margin: 0 auto;
	vertical-align: middle;
}
.slider > div {
	max-width: 500px;
	height: auto;
	margin: 0 auto;
	position: relative;
}
.slider > div > ul {
	padding:0;
	margin:0;
	width:100%;
	height:100%;
	font-size:0;
	overflow:hidden;
	white-space:nowrap;
	scroll-snap-type:x mandatory;
	scroll-behavior:smooth;
}
.slider img {
	width:100%;
	height:100%;
	object-fit:cover;
	image-rendering:-webkit-optimize-contrast;
}
.slider > div > ul > li {
	list-style:none;
	display:inline-block;
	scroll-snap-align:center;
	width:100%;
	height:100%;
}
/*
.slider .arrow:before {
	content:'';
	position:absolute;
	width:10px;
	height:10px;
	border-left:4px solid gray;
	border-bottom:4px solid gray;
}
.slider .arrow {
	top:0;
	position:absolute;
	width:8%;
	height:100%;
	background:rgba(255,255,255,0);
	cursor:pointer;
}
.slider .arrow:hover {
	background:rgba(255,255,255,0.3);
}
.slider .left {
	left:0px;
}
.slider .left:before {
	top:calc(50% - 10px);
	left:calc(50% - 4px);
	transform:rotate(45deg);
}
.slider .right {
	right:0;
}
.slider .right:before {
	top:calc(50% - 10px);
	right:calc(50% - 6px);
	transform:rotate(-135deg);
}
*/


.award_tag {
	margin-top: 5px;
	display: block;
	font-size: 0.9rem;
	line-height: 1.2rem;
	font-weight: bold;
	color: #191970;	
}
.category {
	font-size: 1rem;
	line-height: 1.2rem;
	font-weight: bold;
}
.flag {
	margin: 0 5px 5px;
	display: flex;
}
.flag > img {
	width: 50px;
	border: solid 1px #ccc;
}
.flag > img:first-of-type {
	margin-right: 3px;
}
.flag > img:not(:first-of-type) {
	margin: 0 3px;
}
.s_txt {
	font-size: 0.7rem;
}
.cap_txt ,.story_txt, .profile_txt{
	margin: 10px 0 ;
	font-size: 0.8rem;
}
.profile_fl {
	padding: 20px 0;
	display: flex;
}
.profile_img {
	width: 20%;
	max-width: 250px;
	margin: 0 auto;
}
.profile_fl > .profile_txt {
	width: calc(80% - 20px);
	margin: 0 0 0 20px;	
}
.tag_area {
	margin: 5px 0;
}
.tag1 {
	display: inline-block;
    background: #33C;
    color: #fff;
    padding: 3px 10px;
    font-weight: bold;
    border-radius: 3px;	
}
@media screen and (max-width:480px) {
	.profile_fl {
		display: block;
	}
	.profile_img {
		width: 100%;
		max-width: 200px;
		margin: 0 auto 20px;		
	}
	.profile_fl > .profile_txt {
		width: 100%;
		margin: 0;	
	}	
}



@media screen and (max-width:480px) {
	.slider > div > ul {
		overflow-x:none;
		height:200px;
	}	
}
.slider .thumbs {
	max-width: 500px;
	list-style:none;
	margin: 0 auto;
	padding:0;
	font-size:0;
}
.slider .thumbs li {
	display:inline-block;
	cursor:pointer;
	width: 25%;
	height: 60px;
	opacity:0.5;
	margin-top: 3px;
}
.slider .thumbs li.selected {
	opacity:1;
}
.slider .thumbs img {
	width:100%;
	object-fit:cover;
	padding:0;
}
.first_box_red {
	font-size: 0.8em;
	background: #AD3034;
	color: #fff;
	margin: 0 3px;
	padding: 3px 10px;
}
.first_box_blue {
	font-size: 0.8em;
	background: #30318D;
	color: #fff;
	margin: 0 3px;
	padding: 3px 10px;
}
.first_box_green {
	font-size: 0.8em;
	background: #55B192;
	color: #fff;
	margin: 0 3px;
	padding: 3px 10px;
}
.first_box_gray {
	font-size: 0.8em;
	background: #555;
	color: #fff;
	margin: 0 3px;
	padding: 3px 10px;
}
@media screen and (min-width: 751px) {
	.movie_area {
		padding: 40px 60px 40px;
	}	
	
	.movie_caption  {
		display: flex;
		justify-content: center;
		align-items: flex-start;
	}
	.caption {
		width: 60%;
		margin: 0 auto 20px;
		padding-left: 30px;
		box-sizing: border-box;		
	}	
	.story {
		width: 100%;
	}
}
/*====================================
森さんの気まぐれコラム
===================================*/
.morisan > a {
	text-decoration: none;
}
.morisan {
	width: calc(100% - 20px);
	max-width: 400px;
	margin: 0 auto 80px;
	padding: 20px;
	text-align: center;
	transition: .3s;
}
.morisan:hover {
	opacity: .5;
}
.new {
	margin: 0 5px;
	padding: 2px 5px;
	font-size: 0.8em;
	background: #ccb129;
}
.new{
    animation:blink 1s ease-in-out infinite alternate;
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
#column {
	margin: 20px 0;
}
#column > div {
	width: calc(100% - 40px);
	margin: 0 auto;
	max-width: 1000px;
}
.pan {
	padding: 10px;
	font-size: 0.8em;
}
.column_title {
	margin: 50px 0 30px;
	font-size: 1.1em;
	text-align: center;
}
.column_inr {
	padding: 20px;
	border-radius: 5px;
	border: solid 1px #ccc;
	background: #f5f5f5;
}

.column_prof {
	display: flex;
}
.prof_photo {
	width: 35%;
	padding-right: 20px;
}
.prof_txt {
	width: 65%;
}
.prof_name {
	font-size: 1.2em;
	font-weight: bold;
}
@media screen and (max-width:480px) {
	.column_prof {
		display: block;
	}
	.prof_photo {
		width: 100%;
		margin: 0 auto;
		padding-right: 0;
		padding-bottom: 20px;
	}
	.prof_txt {
		width: 100%;
	}	
}


.column_category {
	margin: 30px 0;
}
.accordion-001 {
	width: 80%;
	margin: 0 auto;
}

.accordion-001:not([open]) {
    margin-bottom: 7px;
}

.accordion-001 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    border-radius: 5px;
    background-color: #999999;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.accordion-001 summary::-webkit-details-marker {
    display: none;
}

.accordion-001 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 8px;
    height: 8px;
    margin-left: 10px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    content: '';
    transition: transform .3s;
}

.accordion-001[open] summary::after {
    transform: rotate(225deg);
}

.accordion-001 a {
	display: block;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 10px 15px;
    color: #333333;
    transition: .5s;
}

.accordion-001 > a:first-of-type {
	  padding: 20px 15px 10px;
}
.accordion-001 > a:last-of-type {
	  padding: 10px 15px 20px;	
}
.accordion-001[open] a {
    transform: none;
    opacity: 1;
}
.accordion-001 a:hover {
	opacity: .5;
}
@media screen and (max-width: 751px) {
	.column_category {
		flex-wrap: nowrap;
		flex-direction: column;
	}	

	.accordion-001 {
		width: 100%;
	}	
}

.swiper-button-next, .swiper-button-prev {
	top: 60%;
}