@charset "UTF-8";

/* reset ---------------------------------------*/

div,dl,dt,dd,ul,ol,
li,h1,h2,h3,h4,h5,
h6,pre,code,form,fieldset,legend,
input,textarea,p,blockquote,
th,td{margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;word-break: break-all;width:100%;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q::before,q::after{content:'';}
abbr{border:0;font-variant:normal;}
sup{vertical-align:text-top;}
sub{vertical-align:text-bottom;}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select{*font-size:100%;}
legend{color:#282828;}
select,input,button,textarea{font-size:inherit;font-family:inherit;box-sizing: border-box;}
pre,code,kbd,samp{font-family:monospace;*font-size:108%;line-height:100%;}
figure{padding:0;margin:0;}
input[type="submit"],
input[type="button"],
button {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration,
button::-webkit-search-decoration {display: none;}
input[type="submit"]::focus,
input[type="button"]::focus,
button::focus {outline-offset: -2px;}


/* base ---------------------------------------*/

* {
	box-sizing:border-box;
	min-height: 0vw;
}

html,body {height:100%;}

body {
	-webkit-text-size-adjust: 100%;
	padding:0;
	margin: 0;
	font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;
	font-feature-settings: "palt" 1;
	-webkit-font-feature-settings: "palt" 1;
	color: #282828;
	letter-spacing: .05em;
	font-size: .625em;
}

a {
	text-decoration: none;
	color:#282828;
	transition: all .25s ease;
	word-break: break-all;
}

img {
	vertical-align: bottom;
	line-height: 1;
	max-width:100%;
	height:auto;
}

.clearfix::after,
.inner::after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.ov-h {overflow: hidden;}
.font-en {font-family: 'Josefin Sans', sans-serif;}

#top{
	position: absolute;
	left: 0;
	top: 0;
}


/* mask icon ---------------------------------------*/

.icon-arrow {
	-webkit-mask-image: url('../img/common/arrow.svg');
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: 0 0;
	-webkit-mask-size: contain;
	mask-image: url('../img/common/arrow.svg');
	mask-repeat: no-repeat;
	mask-position: 0 0;
	mask-size: contain;
	display: inline-block;
	vertical-align: middle;
	height: 24px;
	width: 24px;
	background: #ff0000;
}


/* layout ---------------------------------------*/

.wrapper {padding: 0 50px;}

.inner {
	max-width: 1025px;
	margin:0 auto;
}

.section {margin-bottom: 50px;}
.overlay {display: none;}


/* header ---------------------------------------*/

header {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100px;
	z-index: 1000;
	background: #fff;
}

.header-inner {
	height: 100%;
	position: relative;
}

.header-logo {
	position: absolute;
	left: 40px;
	top: 45%;
	transform: translate(0,-50%);
	width:  386px;
	display: flex;
	align-items: center;
	gap: 10px;
}

.header-logo-bunka {width: 184px;}

.header-logo-future {
	width: 198px;
	height: 43px;
	border-left: 1px solid #282828;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.en .header-logo{
	width: 480px;
}

.en .header-logo-future {
	width: 285px;
}

.header-logo a{
	display: inline-block;
	transition: all .25s ease;
}

.header-logo a:hover {opacity: 0.8;}


/* gnav ---------------------------------------*/

.gnav {
	position:absolute;
	right: 35px;
	top: 48%;
	transform: translate(0,-50%);
	width: calc(100% - 450px);
}

.gnav-list {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 0px 15px;
}

.gnav-list > li {font-size: 1.6em;}

.gnav-list > li a,
.gnav-list > li span {
	display: block;
	padding: 5px 10px;
}

.gnav-list > li span{color:#999;}

.gnav-list > li a.is-current {}
.gnav-list > li a:hover {opacity: 0.7;}

.gnav-copyright {display: none;}

#openmenu{display:none;}


/* footer ---------------------------------------*/

footer {
	background: #333333;
	color: #fff;
}

.footer-bnr {
	padding: 46px 50px 60px;
}

.footer-bnr-title {
	text-align: center;
	font-size: 2.4em;
	font-weight: bold;
	margin-bottom: 28px;
}

.footer-bnr-list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	max-width: 920px;
	margin: 0 auto;
}

.footer-bnr-list > li {width: calc(25% - 15px);}

.footer-bottom {
	border-top: 1px solid #4C4C4C;
	padding:  50px 50px 48px;
	position: relative;
}

.footer-nav-list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap:  15px;
}

.footer-nav-list > li {font-size: 1.6em;}
.footer-nav-list > li a {color: #fff;}
.footer-nav-list > li span {color: #aaa;}
.footer-nav-list > li a:hover {text-decoration: underline;}

.copyright {
	margin-top: 10px;
	display: block;
	font-size: 1.0em;
}

.copyright2 {
	margin-top: 20px;
	display: block;
	font-size: 1.2em;
	line-height: 1.65;
	text-indent: -1em;
	padding-left: 1em;
}

.gotop {
	width: 60px;
	position: fixed;
	right: 40px;
	bottom: 40px;
	z-index: 100;
	opacity: 1;
	display: none;
	transition: none;
}

.gotop:hover {opacity:1;}

.gotop.is-stop {
	position: absolute;
	bottom: auto;
	top: -30px;
	right: 40px;
}

.gotop img {
	width: 100%;
	display: block;
	transition: all .25s ease;
}

.gotop:hover img {opacity:0.7;}


/* title ---------------------------------------*/

.title-page {
	font-weight:600;
	font-size: 2.0rem;
	line-height: 1.5;
	color: #222;
}

.title-section {
	font-weight:600;
	font-size: 1.8rem;
	line-height: 1.5;
	color: #222;
}


/* text ---------------------------------------*/

.text-center {text-align: center !important;}
.text-right {text-align: right !important;}
.text-left {text-align: left !important;}
.text-s {font-size: 1.2rem;}
.text-m {font-size: 1.4rem;}
.text-l {font-size: 1.8rem;}
.text-bold {font-weight:600;}
.text-red {color: #e10013 !important;}

.text-ellipsis-2 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}


/* kv ---------------------------------------*/

.kv {
	height: 275px;
	position: relative;
	background: url('../img/common/kv_bg.jpg') no-repeat center center;
	background-size: cover;
	margin-top: 100px;
	margin-bottom: 50px;
}

.kv-inner {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0,-50%);
	width: 100%;
	text-align: center;
}

.kv-title {
	font-size: 5em;
	font-weight: 600;
	line-height: 1;
}

.kv-title:not(.is-jp)::first-letter {color: #e10013;}

.kv-title.is-jp {font-size: 4.0em}

.kv-subtitle {
	font-size: 1.8em;
	display: inline-block;
	margin-top: 0px;
	font-weight: bold;
}


/* pankuzu ---------------------------------------*/

.pankuzu {border-bottom:1px solid #ddd;}

.pankuzu-list {}
.pankuzu-list > li {
	display: inline-block;
	font-size: 1.3em;
}

.pankuzu-list > li a,
.pankuzu-list > li span {
	display: block;
	padding: 0px 30px 0px 10px;
	line-height: 40px;
	position: relative;
}

.pankuzu-list > li a {text-decoration:none;}

.pankuzu-list > li a::after {
	display:block;
	content:'';
	width:25px;
	height:25px;
	border-top:1px solid #ddd;
	border-right:1px solid #ddd;
	transform: rotate(45deg) translate(0,-50%);
	position:absolute;
	right:10px;
	top:45%;
}


/* news ---------------------------------------*/

.news {
	position: relative;
	border-top:1px solid #ddd;
	margin-bottom: 100px;
}

.news::after {
	display:block;
	content:'';
	background: #e10013;
	width: 145px;
	height: 3px;
	position:absolute;
	left: 0;
	top: -2px;
}

.news-list {
	line-height: 1.6;
	margin-bottom: 20px;
}

.news-list li {border-bottom:1px solid #ddd;}

.news-list li > a {
	display: block;
	padding: 25px 0;
	transition: all .25s ease;
}

.news-list li >a:hover {opacity:0.7;}

.news-item {display: flex;}

.news-item-date {
	width: 150px;
	font-weight: bold;
	font-size: 1.6em;
	position: relative;
	white-space: nowrap;
	line-height: 1.8;
}

.news-item-title {
	flex: 1;
	font-size: 1.6em;
	padding: 0 0px 0 50px;
	line-height: 1.8;
}

.news-more {text-align: right;}


/* news detail ---------------------------------------*/

.newsdetail {padding: 10px 15px 60px;}

.newsdetail-head {
	position: relative;
	border-top:1px solid #ddd;
	padding: 35px 0;
}

.newsdetail-head::after {
	display:block;
	content:'';
	background: #e10013;
	width: 145px;
	height: 3px;
	position:absolute;
	left: 0;
	top: -2px;
}


/* event ---------------------------------------*/

.event {margin:0 0 100px;}
.event-kyouryouri{margin-bottom: 65px;}

.event-lead {
	text-align: center;
	margin-bottom: 60px;
}

.event-lead-title {
	font-size: 2.8em;
	line-height: 1.6;
	margin-bottom: 0.5em;
	font-weight: bold;
}

.event-lead p {
	font-size: 1.8em;
	line-height: 1.75;
}

.event-list {
	display: flex;
	flex-wrap: wrap;
	gap: 70px 50px;
	margin-bottom: 20px;
}

.event-kyouryouri .event-list {
	margin-bottom: 0;
}

.event-list > li {
	width: calc(33.333% - 34px);
	border-bottom:  2px solid #e10013;
}

.event-list > li > a {
	display: block;
	height: 100%;
	padding-bottom: 25px;
}

.event-item {position: relative;}

.event-item-tag {
	display: block;
	width: 80px;
	position: absolute;
	left: 0;
	top: 0;
	background:  #333;
	color: #fff;
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1;
	padding: 7px;
	text-align: center;
	z-index: 5;
}

.event-item-tag-on {
	display: block;
	width: 80px;
	position: absolute;
	left: 0;
	top: 0;
	background:  #e10013;
	color: #fff;
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1;
	padding: 7px;
	text-align: center;
	z-index: 5;
}

.event-item-image {
	overflow: hidden;
	width: 100%;
	margin-bottom: 15px;
	transition: all .25s ease;
}

a:hover .event-item-image{
	opacity: 0.7;
}

.event-item-title {
	font-size: 2em;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 15px;
}

.event-item-text {
	font-size: 1.6em;
	line-height: 1.8;
}

.event-more {text-align: right;}

.en .event-item-tag-on{
	width:auto;
	display: inline-block;
}

/* event detail ---------------------------------------*/

.eventdetail {
	padding: 0 0 65px;
	max-width: 800px;
	margin: 0 auto;
}

.eventdetail-mainimage {
	display: block;
	margin-bottom: 35px;
}

.eventdetail-paper{
	display: flex;
	justify-content: flex-end;
	margin-bottom: 30px;
}

.eventdetail-paper a{
	display: inline-block;
	min-width: 200px;
	line-height: 1.1;
	padding: 16px 48px 16px 32px;
	text-align: center;
	border: 1px solid #CCCCCC;
	font-size: 0.93rem;
	font-weight: bold;
	position: relative;
}

.eventdetail-paper a:hover {opacity: 0.8;}

.eventdetail-paper a::after{
	display:block;
	content:'';
	background:url('../img/common/icon_pdf.png') no-repeat left top;
	background-size:100%;
	width: 20px;
	height: 25px;
	position:absolute;
	right: 20px;
	top: 50%;
	transform:translate(0,-50%);
}

.eventdetail-head {
	position: relative;
	padding-bottom: 10px;
	margin-bottom: 35px;
	border-bottom: 2px solid #e10013;
}

.eventdetail-submit {
	text-align: center;
	padding-top: 13px;
	margin-bottom: 47px;
}

.eventdetail-submit p{
	margin-top: 1.5em;
	font-size: 1.5em;
	line-height: 1.7;
}

.eventdetail-finish-message {
	text-align: center;
	margin-bottom: 45px;
	font-size: 2em;
	font-weight: bold;
	line-height: 1.5;
	padding: 20px;
	border: 1px solid #ddd;
}

.eventdetail-movie {
	padding: 0 10px 10px;
	background: #e10013;
	color: #fff;
	margin-bottom: 40px;
}

.eventdetail-movie-title {
	font-size: 2.4em;
	font-weight: bold;
	text-align: center;
	color: #fff;
	line-height: 1.6;
	padding: 27px;
}

.eventdetail-movie-inner {
	position: relative;
	width: 100%;
	padding-bottom: 56.5%;
}

.eventdetail-movie-inner iframe {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border: none;
}


/* interview ---------------------------------------*/

.interview {
	margin: 0 0 100px;
}

.interview-lead{
	font-size: 2.5em;
	line-height: 1.4;
	font-weight: 600;
	margin-bottom: 60px;
	text-align: center;
}

.interview-list {
	display: flex;
	flex-wrap: wrap;
	gap: 70px 60px;
	max-width: 900px;
	margin: 0px auto 20px;
}

.interview-list > li {
	width: calc(33.333% - 40px);
}

.interview-list > li > a {
	display: block;
	height: 100%;
	padding-bottom: 25px;
}

.interview-item {
	position: relative;
	height: 100%;
	padding-bottom: 5.1em;
}

.interview-item-image {
	overflow: hidden;
	width: 100%;
	margin-bottom: 15px;
}

.interview-item-image a{
	display: block;
	transition: all .25s ease;
}

.interview-item-image a:hover{opacity:0.7;}

.interview-item-job {
	font-size: 1.6em;
	height: 3.5em;
}

.interview-item-name {
	font-size: 3.4em;
	font-weight: bold;
}

.interview-item-name-en {
	color: #e10013;
	font-size: 1.5em;
	margin-top: 3px;
	margin-bottom: 20px;
}

.interview-item-text {
	font-size: 1.5em;
	line-height: 1.5;
	margin-bottom: 1.5em;
}

.interview-item .btn{
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
}

.movie-list + .interviewdetail-profile{margin-top: 50px;}

.interviewdetail-profile {margin-bottom: 50px;}

.interviewdetail-profile-inner {
	display: flex;
	gap: 40px;
}

.interviewdetail-profile .interview-item-image{width: 220px;margin-bottom: 5px;}
.interviewdetail-profile-content{flex: 1;}
.interviewdetail-profile .interview-item-job{height:auto;}

.interviewdetail-profile-content .interview-item-text{
	line-height:1.7;
	margin: 0;
}


/* entry ---------------------------------------*/

.entry-date {
	display: block;
	font-size: 1.6em;
	color:#e10013;
	font-weight: bold;
	margin-bottom: 11px;
}

.entry-title {
	font-size: 2.6em;
	font-weight: bold;
}

.entry-title small {
	display: block;
	font-size: 62%;
	padding-top: 0.3em;
}

.entry-mokuji {
	border-top: 1px solid #e10013;
	background: #FBF2F3;
	padding: 30px 60px 40px;
	margin-bottom: 50px;
}

.entry-mokuji-title {
	font-size: 2.2em;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 20px;
}

.entry-mokuji-title::before{
	content:'';
	background: url('../img/common/icon_mokuji.png') 0 0 no-repeat;
	background-size: 100%;
	width: 20px;
	height: 15px;
}

.entry-mokuji-list li{
	position: relative;
	font-size: 1.6em;
	line-height: 1.5;
	margin: 0 0 0.7em 0;
	padding-left: 1em;
}

.entry-mokuji-list li::before{
	display:block;
	content:'';
	background:#e10013;
	border-radius: 50%;
	width: 8px;
	height: 8px;
	position:absolute;
	left: 0;
	top: 8px;
}

.entry-body {
	margin-bottom: 50px;
	line-height: 2rem;
}

.entry-body p {
	margin: 0 0 1.8em;
	font-size: 1.6em;
	line-height: 2;
}

.entry-body img {
	margin: 0.5em auto 0.5em;
}

.entry-body > figure {
	margin:  30px 0;
}

.entry-body > figure figcaption{
	font-size: 1.6em;
	font-weight: bold;
	margin-top: 0.5em;
}

.entry-body h2 {
	border-left: 5px solid #e10013;
	margin: 2.3em 0 1.2em;
	font-size: 2.2em;
	line-height: 1.5;
	font-weight: bold;
	padding: 0.3em 0 0.3em 0.6em;
}

.entry-body h3 {
	margin: 2.4em 0 1.2em;
	font-size: 2.4em;
	line-height: 1.5;
	font-weight: bold;
	padding-bottom: 0.5em;
	border-bottom: 1px solid #ccc;
	position: relative;
}

.entry-body h3::after{
	display:block;
	content:'';
	background: #e10013;
	width: 145px;
	height: 3px;
	position:absolute;
	left:0;
	bottom: -2px;
}

.entry-body h4 {
	background: #F4F2EA;
	border-radius: 6px;
	margin: 1.8em 0 0.8em;
	font-size: 1.6em;
	line-height: 1.5;
	font-weight: bold;
	padding: 0.8em 1.1em;
}

.entry-body h5 {
	margin: 1.5em 0 1.2em;
	font-size: 2em;
	line-height: 1.6;
	font-weight: bold;
}

.entry-body h6 {
	margin: 1.5em 0 0.1em;
	font-size: 1.6em;
	line-height: 2;
	font-weight: bold;
}

.entry-body table {
	border-top: 1px solid #ddd;
	margin: 38px 0;
	font-size: 1em;
}

.entry-body table th,
.entry-body table td {
	font-size: 1.6em;
	vertical-align: middle;
	padding: 28px 0;
	border-bottom: 1px solid #ddd;
}

.entry-body table th {
	font-weight: bold;
	width: 200px;
	vertical-align: top;
	line-height: 2;
}

.entry-body table td h6{
	font-size: 1em;
}

.entry-body table td p{
	font-size: 0.9em;
}

.entry-body > img {
	display: block;
	margin:  40px 0;
}

.entry-body td dl {
	font-size: 1em;
	display: flex;
	flex-wrap: wrap;
	gap: 15px 20px;
}

.entry-body td dt{
	width: 130px;
	font-weight: bold;
}

.entry-body td dd {
	width: calc(100% - 150px);
	font-weight: bold;
}

.entry-body td dd small{
	font-weight: normal;
	font-size: 0.9em;
}

.entry-body *:first-child {margin-top: 0;}
.entry-body *:last-child {margin-bottom: 0;}
.entry-body a {text-decoration: underline;}
.entry-body a:hover {text-decoration: none;}

.entry-body a[target="_blank"] {
	position: relative;
	display: inline-block;
}

.entry-body a[target="_blank"]::after {
	display: inline-block;
	content:'';
	background:url('../img/common/blank.png') no-repeat left top;
	background-size:100%;
	margin-left: 5px;
	width: 13px;
	height: 11px;
}

.entry-body ul{
	font-size: 1.6em;
	line-height: 2;
}

.entry-body ul li{
	padding-left: 15px;
	position: relative;
}

.entry-body ul li::after{
	display:block;
	content:'・';
	position:absolute;
	left: 3px;
	top: 0px;
}

.entry-body .qa {
	background: #F4F2EA;
	border-radius: 6px;
	margin: 50px 0 40px;
	line-height: 1.5;
	font-weight: bold;
	display: flex;
	overflow: hidden;
	border-radius: 6px;
	min-height: 70px;
}

.entry-body .qa span{
	background: #e10013;
	width: 50px;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}

.entry-body .qa p{
	font-size: 1.6em;
	font-weight: bold;
	padding: 12px 20px;
	flex: 1;
	line-height: 1.5;
	display: flex;
	align-items: center;
}

.entry-body hr{
	display: block;
	border: none;
	border-top: 1px solid #ccc;
	margin: 40px 0;
}

.entry-body .topicmovie {
	max-width: 100%;
}

.entry-body .topicmovie a{
	display: block;
	transition: all .25s ease;
	text-decoration: none
}

.entry-body .topicmovie a::after{
	display:block;
	content:'';
	background:url('../img/common/arrow_circle_white.png') no-repeat left top;
	background-size:100%;
	width:45px;
	height:45px;
	position:absolute;
	left: 25px;
	top:50%;
	transform:translate(0,-50%);
	margin: 0;
}

.entry-body .topicmovie-content p{
	font-size: 1em;
	line-height: 1.6;
}

.entry-body .topicmovie-gotoenglish a{
	text-decoration: underline;
}

.entry-body .topicmovie-gotoenglish a:hover{
	text-decoration: none;
}

.entry-body .graph {
	margin: 50px 0 40px;	
	text-align: center;	
	}	
	.entry-body .graph-title {	
	font-weight: bold;	
	margin-bottom: 1em;	
	}	
	.entry-body .graph-image {	
	margin-bottom: 1em;	
	}	
	.entry-body .graph-list {	
	display: flex;	
	justify-content: center;	
	align-items: center;	
	flex-wrap: wrap;	
	gap: 10px 20px;	
	font-size: 1.5em;	
	font-weight: bold;	
	margin-top: 1em;	
	}	
	.entry-body .graph-list > div{	
	display: flex;	
	justify-content: center;	
	align-items: center;	
	gap: 2px;	
	}	
	.entry-body .graph-list > div > span{	
	content: '';	
	width: 15px;	
	height: 15px;	
	border-radius: 50%;	
	background: #000;	
	}	
	.entry-body .graph-notice{	
	line-height: 1.6;	
	font-size: 1.2em;	
	margin-top: 1em;	
	}	
	.entry-body .graph-list > div > span.icon-red{background: #d00013;}	
	.entry-body .graph-list > div > span.icon-orange{background: #ed7d52;}	
	.entry-body .graph-list > div > span.icon-yellow{background: #f0b766;}	
	.entry-body .graph-list > div > span.icon-blue{background: #3f98e4;}	
	.entry-body .graph-list > div > span.icon-green{background: #7ab843;}	
	.entry-body .graph-list > div > span.icon-gray{background: #e2dcc5;}	
	.entry-body .box {	
	padding: 2.5em 3.5em;	
	border: 1px solid #ddd;	
	margin: 50px 0 40px;	
	}	
	.entry-body .box h5::before{	
	content:'';	
	display: inline-block;	
	vertical-align: middle;	
	margin-right: 10px;	
	background: #d00013;	
	width:16px;	
	height:16px;	
	}
	
.entry-back {
	text-align: center;
	padding-top: 50px;
	font-size: 1.6em;
}

.entry-back a {
	display: inline-block;
	position: relative;
	text-decoration: underline;
}

.entry-back a::before {
	content:'＜';
	font-size: 0.75em;
	display: inline-block;
	vertical-align: middle;
	margin-right: 6px;
}

.entry-back a:hover {text-decoration: none;}
.newsdetail .entry-back {border-top: 1px solid #ddd;}
.eventdetail .entry-back {border-top: 2px solid #e10013;}



/* topicmovie ---------------------------------------*/

.topicmovie-wrapper {
	border-bottom: 1px solid #ddd;
	padding-bottom: 50px;
	margin-bottom: 50px;
}

.interview .topicmovie-wrapper{
	max-width: 900px;
	margin-right: auto;
	margin-left: auto;
}

.topicmovie {
	max-width: 740px;
	margin: 0 auto;
}

.topicmovie a {
	display: block;
	position: relative;
	transition: all .25s ease;
}

.topicmovie a:hover {opacity:0.7;}

.topicmovie a::after{
	display:block;
	content:'';
	background:url('../img/common/arrow_circle_white.png') no-repeat left top;
	background-size:100%;
	width: 45px;
	height: 45px;
	position:absolute;
	left: 25px;
	top:50%;
	transform:translate(0,-50%);
}

.topicmovie-inner {
	display: flex;
	border: 2px solid #e10013;
}

.topicmovie-image {
	width: 178px;
	order: 2;
	background: #e10013;
}

.topicmovie-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.topicmovie-content {
	background: url('../img/common/bg_topicbtn.png') no-repeat center center;
	background-size: cover;
	width: calc(100% - 178px);
	font-size: 2.3em;
	line-height: 1.6;
	letter-spacing: 0.05em;
	color: #fff;
	padding: 0 25px 0 90px;
	display: flex;
	align-items: center;
	font-weight: bold;
}

.topicmovie-content p small{
	font-size: 60%;
	display: block;
	font-weight: normal;
	line-height: 1.3;
}

.topicmovie-gotoenglish {
	text-align: center;
	line-height: 1.6;
	font-size: 1.5em;
	padding-top: 1em;
	text-align: center;
}

.topicmovie-gotoenglish a{text-decoration: underline;}
.topicmovie-gotoenglish a:hover{text-decoration: none}

.en .topicmovie-content{font-size: 2.2em;}



/* movie ---------------------------------------*/

.movie-list {
	display: flex;
	gap: 30px 50px;
}

.movie-item {
	width: 100%;
}

.movie-item a {
	display: block;
	position: relative;
	text-decoration: none;
	transition: all .25s ease;
}

.movie-item a::after{
	display:block;
	content:'';
	background:url('../img/common/arrow_circle_white.png') no-repeat left top;
	background-size:100%;
	width: 28px;
	height: 28px;
	position:absolute;
	right: 15px;
	bottom: 15px;
}

.movie-item a:hover {
	opacity: 0.7;
}

.movie-inner {}

.movie-image {
	width: 100%;
	height: 300px;
}

.movie-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.movie-content {
	background: url('../img/common/bg_topicbtn_sp.png') no-repeat center center;
	background-size: cover;
	font-size: 1.7em;
	line-height: 1.6;
	color: #fff;
	padding: 1em 6em 1em 1em;
	display: flex;
	align-items: center;
	font-weight: bold;
}


/* btn ---------------------------------------*/

.btn {
	display: inline-block;
	font-size: 1.8em;
	padding: 24px 55px 24px 54px;
	min-width: 300px;
	border:1px solid #e10013;
	background-color: #e10013;
	line-height: 1.3;
	text-align: center;
	color: #ffffff;
	font-weight:600;
	cursor: pointer;
	position: relative;
}

.btn::before {
	display:block;
	content:'';
	background:#fff;
	width:20px;
	height:1px;
	position:absolute;
	right: 20px;
	top: 50%;
}

.btn::after {
	display:block;
	content:'';
	background:#fff;
	width:10px;
	height:1px;
	position:absolute;
	right: 20px;
	top: 50%;
	transform-origin: right bottom;
	transform:rotate(45deg);
}

.btn-s {
	min-width: 240px;
	padding: 13px 44px 13px 44px;
	font-size: 1.7em;
}

.btn-s::before,
.btn-s::after {
	right: 10px;
}

.btn:hover {opacity: 0.7;}

.link-arrow {
	display: inline-block;
	padding: 10px 20px 9px 0;
	font-weight: bold;
	font-size: 1.6em;
	color: #e10013;
	line-height: 1.3;
	border-bottom: 1px solid #e10013;
	position: relative;
	transition: all .25s ease;
}

.link-arrow::after {
	display:block;
	content:'';
	background:#e10013;
	width:10px;
	height:1px;
	position:absolute;
	right:0;
	bottom: -1px;
	transform-origin: right bottom;
	transform:rotate(45deg);
}

.link-arrow:hover{
	opacity: 0.7;
}

.btn-close {
	display: inline-block;
	font-size: 1.8em;
	padding: 24px 55px 24px 54px;
	min-width: 300px;
	border:1px solid #ccc;
	background-color: #ccc;
	line-height: 1.3;
	letter-spacing: normal;
	text-align: center;
	color: #ffffff;
	font-weight:600;
	cursor: pointer;
	position: relative;
	letter-spacing: 0.05em;
}

/* privacy ---------------------------------------*/

.privacy {
	padding: 5px 0 35px;
	max-width: 900px;
	margin: 0 auto;
}

.privacy-block {margin-bottom: 55px;}

.privacy-block-title {
	font-size: 2.2em;
	font-weight: bold;
	margin-bottom: 28px;
	border-bottom: 1.5px solid #e10013;
}

.privacy-block-title span {
	display: inline-block;
	line-height: 1.6;
	padding-bottom: 2px;
}

.privacy-block p {
	font-size: 1.6em;
	line-height: 1.95;
}

.privacy-block p:not(:last-child) {margin-bottom: 30px;}

.privacy-block-subtitle {
	font-size: 1.8em;
	font-weight: bold;
}

.privacy-block a {
	text-decoration: underline;
	text-decoration-skip-ink: none;
}

.privacy-block a:hover {
	text-decoration: none;
}

/* pc only */
@media screen and (min-width: 768px){

	.sp {display: none !important;}
	.spbr {display: none;}

}


/* small pc 1 */
@media screen and (min-width: 768px) and (max-width: 1100px){

	.header-logo {
		left: 20px;
		width:  250px;
		gap: 5px;
	}

	.header-logo-bunka {width: 120px;}
	.header-logo-bunka img{width:110px;}

	.header-logo-future {
		width: 120px;
		height: 30px;
	}

	.header-logo-future img{width:110px;}

	.gnav {width: calc(100% - 280px);right:10px;}
	.gnav-list {gap: 5px;}
	.gnav-list > li {font-size: 1.4em;}

}


/* small pc 2 */
@media screen and (min-width: 768px) and (max-width: 900px){

	.wrapper {padding: 0 20px;}

	.gnav {width: calc(100% - 220px);right:0px;}
	.gnav-list {gap: 0;}
	.gnav-list > li {font-size: 1.3em;}
	.gnav-list > li a,
	.gnav-list > li span {padding:5px 8px;}

	.footer-bnr {padding:46px 20px 60px;}
	.footer-bnr-list {gap:16px;}
	.footer-bnr-list > li {width: calc(25% - 12px);}
	.footer-bottom {padding:50px 20px 48px;}
	.footer-nav-list > li {font-size: 1.3em;}

	.event-list {gap:50px 20px;}
	.event-list > li {width:calc(33.333% - 14px);}

}



/* s0 only */
@media screen and (max-width: 767px){

	/* common item ---------------------------------------*/

	.pc {display: none !important;}
	.pcbr {display: none;}


	/* layout ---------------------------------------*/

	.header-inner,
	.footer-inner,
	.inner {
		min-width: 0;
		width: 100%;
	}

	.wrapper {padding: 0 30px;}


	/* header ---------------------------------------*/

	header {
		position: fixed;
		height:  60px;
	}

	.header-inner {
		background: #fff;
		position: relative;
		z-index: 500;
	}

	.header-logo {
		left: 10px;
		top: 47%;
		transform: translate(0,-50%);
		width:  220px;
		gap: 0;
	}

	.header-logo-bunka {width: 110px;}

	.header-logo-bunka img{width:95px;}

	.header-logo-future {
		width: 110px;
		height: 23px;
		border-color: #ddd;
	}

	.header-logo-future img{width:102px;}
	.header-logo a:hover {opacity: 1;}
	.en .header-logo{width:300px;}
	.en .header-logo-future{width: 190px;}

	.en .header-logo-future img{
		width:175px;
		vertical-align: middle;
	}

	.overlay{
		content:'';
		display: block;
		position:fixed;
		width:100%;
		height:300px;
		background: rgba(0,0,0,0.5);
		left:0;
		top:0;
		z-index:6;
	}

	#openmenu {
		display: block;
		width: 60px;
		height: 60px;
		overflow: hidden;
		position:absolute;
		right: 0;
		top: 0;
		background: #e10013;
		z-index: 1000;
		cursor: pointer;
	}

	#openmenu span {
		content:'';
		display: block;
		width: 24px;
		height: 1px;
		background: #fff;
		position: absolute;
		left: 18px;
		transition: all .25s ease;
	}

	#openmenu span:nth-child(1) {top:16px;}
	#openmenu span:nth-child(2) {top:23px;}
	#openmenu span:nth-child(3) {top:30px;}

	#openmenu.is-open span:nth-child(1) {
		transform:rotate(30deg);
		top: 23px;
		left: 18px;
	}

	#openmenu.is-open span:nth-child(2) {
		opacity:0;
		left:-25px;
	}

	#openmenu.is-open span:nth-child(3) {
		transform:rotate(-30deg);
		top: 23px;
		left: 18px;
	}

	#openmenu p {
		color: #fff;
		font-size: 0.8em;
		position: absolute;
		left: 0;
		bottom: 13px;
		width: 100%;
		text-align: center;
		line-height: 1;
		font-family: '游明朝 Medium', serif;
	}

	.bodyfixed {
		position: fixed;
		width: 100%;
		height: 100%;
	}


	/* gnav ---------------------------------------*/

	.gnav {
		border: none;
		background: url('../img/common/bg_hmenu.jpg') no-repeat center center;
		background-size: cover;
		padding-top: 85px;
		overflow:auto;
		z-index: 100;
		position: absolute;
		left: 0px;
		top: 0px;
		width: 100%;
		height: 100vh;
		height: 100svh;
		transition: all .25s ease;
		transform: translate3d(0,-100%,0);
	}

	.gnav.is-active {
		transform: translate3d(0,0,0);
		opacity: 1;
	}

	.gnav-list {
		display: block;
		text-align: left;
		width: 100%;
		padding: 0 30px;
		font-size: 1.2em;
		font-weight: bold;
	}

	.gnav-list > li {margin: 24px 0;}
	.gnav-list > li a {color: #333;}
	.gnav-list > li span {color: #999;}

	.gnav-copyright {
		padding: 30px 30px 0;
		display: block;
		font-size: 1.0em;
	}


	/* footer ---------------------------------------*/

	.footer-bnr {padding: 35px 30px 50px;}

	.footer-bnr-title {
		font-size: 2.2em;
		margin-bottom: 28px;
	}

	.footer-bnr-list {gap: 16px;}
	.footer-bnr-list > li {width: calc(50% - 8px);}
	.footer-bottom {padding:  30px 30px 30px;}
	.footer-nav-list {display: block;}

	.footer-nav-list > li {
		font-size: 1.6em;
		margin-bottom: 11px;
	}

	.copyright {
		margin-top: 10px;
		font-size: 1.0em;
	}

	.copyright2 {
		margin-top: 70px;
		font-size: 1.2em;
	}

	.gotop{
		right: 30px;
		bottom: 30px;
	}
	.gotop.is-stop{right:30px;}


	/* title ---------------------------------------*/

	.title-section {
		font-size: 3.0em;
		padding: 32px 0;
	}

	.title-section::after {width: 100px;}


	/* text ---------------------------------------*/

	.text-sp-center {text-align:center;}
	.text-sp-right {text-align:right;}
	.text-sp-left {text-align:left;}


	/* kv ---------------------------------------*/

	.kv {
		height: 180px;
		background: url('../img/common/kv_bg_sp.jpg') no-repeat center center;
		background-size: cover;
		margin-top: 60px;
		margin-bottom: 32px;
	}

	.kv-title {font-size: 3.8em;}
	.kv-title.is-jp {font-size: 2.6em;}

	.kv-subtitle {
		font-size: 1.4em;
		font-weight: bold;
	}


	/* news ---------------------------------------*/

	.news{margin-bottom: 90px;}

	.news::after {
		width: 80px;
		top: -2px;
	}

	.news-list {margin-bottom: 30px;}
	.news-list li > a {padding: 20px 0;}
	.news-list li >a:hover {opacity:1;}
	.news-item {display: block;}

	.news-item-date {
		width: auto;
		font-size: 1.5em;
		margin-bottom: 0.5em;
		line-height: 1.6;
	}

	.news-item-title {
		font-size: 1.5em;
		padding: 0;
		line-height: 1.6;
	}

	.news-more {text-align: center;}


	/* news detail ---------------------------------------*/

	.newsdetail {padding: 0 0 50px;}
	.newsdetail-head {padding: 30px 0;}

	.newsdetail-head::after {
		width: 80px;
		top: -2px;
	}


	/* event ---------------------------------------*/

	.event {margin-bottom: 90px;}
	.event-kyouryouri {margin-bottom: 90px;}

	.event-lead {margin-bottom: 40px;}

	.event-lead-title {
		font-size: 2.4em;
		margin-bottom: 0.7em;
	}

	.event-lead p {
		font-size: 1.6em;
		line-height: 1.75;
	}

	.event-list {display: block;}

	.event-list > li {
		width: auto;
		margin-bottom: 50px;
	}

	.event-list > li:last-child {margin-bottom: 0;}

	.event-list > li > a {
		display: block;
		height: 100%;
		padding-bottom: 25px;
	}

	.event-item {position: relative;}

	.event-item-tag {
		width: 80px;
		padding: 7px;
	}

	.event-item-image {margin-bottom: 20px;}
	.event-item-text {line-height: 1.8;}
	.event-more {text-align: center;}

	/* event detail ---------------------------------------*/

	.eventdetail {padding: 0px 0 50px;}
	.eventdetail-mainimage {margin-bottom: 25px;}

	.eventdetail-paper{margin-bottom: 20px;}

	.eventdetail-paper a{
		min-width: 160px;
		padding: 12px 36px 12px 24px;
		border: 1px solid #CCCCCC;
		font-size: 0.85rem;
	}

	.eventdetail-paper a:hover {opacity: 0.8;}

	.eventdetail-paper a::after{
		width: 15px;
		height: 20px;
		position:absolute;
		right: 15px;
	}

	.eventdetail-head {margin-bottom: 20px;}

	.eventdetail-finish-message {
		margin-bottom: 30px;
		font-size: 1.4em;
		line-height: 1.6;
	}

	.eventdetail-movie {
		padding: 0 30px 30px;
		margin: 0 -30px;
		width: calc(100% + 60px);
		margin-bottom: 30px;
	}

	.eventdetail-movie-title {
		font-size: 1.5em;
		line-height: 1.6;
		padding: 15px;
	}

	.eventdetail-submit p{
		font-size: 1.4em;
		line-height: 1.8;
	}


	/* interview ---------------------------------------*/

	.interview {margin: 0 0 100px;}

	.interview-lead{
		font-size: 1.8em;
		margin-bottom: 30px;
	}

	.interview-list {
		display: block;
		max-width: 280px;
		margin: 0px auto 20px;
	}

	.interview-list > li {
		width: auto;
		margin-bottom: 70px;
	}

	.interview-item {padding-bottom: 5em;}

	.interview-item-image {
		margin-bottom: 22px;
		text-align: center;
	}

	.interview-item-image img{width:300px;}

	.interview-item-job {height: auto;}

	.interview-item .btn{
		width: 240px;
		left: 50%;
		transform: translate(-50%,0);
	}

	.interviewdetail-profile {
		padding: 0px 20px 0;
		margin-bottom: 60px;
	}

	.interviewdetail-profile-inner {display: block;}

	.interviewdetail-profile .interview-item-image{
		width: auto;
		margin-bottom: 20px;
	}


	/* entry ---------------------------------------*/

	.entry-date {
		font-size: 1.4em;
		margin-bottom: 5px;
	}

	.entry-mokuji {padding: 20px 30px 30px;}

	.entry-mokuji-title {
		margin-bottom: 10px;
	}

	.entry-body {margin-bottom: 50px;}

	.entry-body p {
		margin: 0 0 1.5em;
		font-size: 1.6em;
		line-height: 1.8;
	}

	.entry-body > figure figcaption{
		font-size: 1.5em;
		line-height: 1.4;
	}

	.entry-body > figure figcaption dl {
		display: block;
	}

	.entry-body > figure figcaption dt,
	.entry-body > figure figcaption dd{width:100%;}

	.entry-body h2 {
		border-left-width: 4px;
		font-size: 2em;
	}

	.entry-body h3 {
		font-size: 2em;
		padding-bottom: 1em;
	}

	.entry-body h3::after{width: 80px;}
	.entry-body h4 {margin: 1.8em 0 1em;}

	.entry-body h5 {
		margin: 1.5em 0 1.2em;
		font-size: 1.8em;
	}

	.entry-body h6 {
		margin: 2em 0 0;
		font-size: 1.6em;
	}

	.entry-body table,
	.entry-body tbody,
	.entry-body tr,
	.entry-body th,
	.entry-body td {display: block;}

	.entry-body table {margin: 25px 0;}

	.entry-body table tr {
		border-bottom: 1px solid #ddd;
		padding: 20px 0;
	}

	.entry-body table th,
	.entry-body table td {
		font-size: 1.6em;
		padding: 0 0;
		border-bottom: none;
		line-height: 1.6;
	}

	.entry-body table th {
		width: auto;
		margin-bottom: 0.5em;
	}

	.entry-body table td p{
		line-height: 1.7;
	}
	.entry-body > img{margin:  20px 0;}


	.entry-body .qa {margin: 40px 0 30px;}

	.entry-body .qa span{
		width: 35px;
		font-size: 16px;
	}

	.entry-body .qa p{
		padding: 12px 12px;
		line-height: 1.5;
	}

	.entry-body hr{
		margin: 30px 0;
	}

	.entry-body *:first-child {margin-top: 0;}
	.entry-body *:last-child {margin-bottom: 0;}

	.entry-back {
		padding-top: 45px;
		font-size: 1.5em
	}

	.entry-body .topicmovie a::after{display: none;}
	.entry-body .topicmovie .topicmovie-content{padding-right: 17px;}

	.entry-body .topicmovie .topicmovie-image{
		height: auto;
	}

	.entry-body .graph {margin: 40px 0 30px;}	
	.entry-body .graph-image {	
		display: flex;
		width: 80%;
		margin: 0 auto;
	}	
	.entry-body .graph-list {	
	font-size: 1.3em;	
	margin-top: 1em;	
	}	
	.entry-body .graph-list > div{	
	line-height: 1.3;	
	}	
	.entry-body .graph-list > div > span{	
	width: 13px;	
	height: 13px;	
	}	
	.entry-body .box {	
	padding: 2em 2em;	
	margin: 40px 0 30px;	
	}

	/* topicmovie ---------------------------------------*/

	.topicmovie-wrapper {
		padding-bottom: 40px;
		margin-bottom: 40px;
	}

	.topicmovie {max-width: 400px;}
	.topicmovie a {}
	.topicmovie a::after{display: none;}

	.topicmovie-inner {
		display: block;
		border: 2px solid #e10013;
	}

	.topicmovie-image {
		width: 100%;
		height: auto;
		border: none;
	}

	.topicmovie-content {
		background-image: url('../img/common/bg_topicbtn_sp.png');
		width: 100%;
		font-size: 1.7em;
		padding: 17px 17px 17px 66px;
		display: block;
		position: relative;
	}

	.topicmovie-content::after {
		position: absolute;
		width: 40px;
		height: 40px;
		left: 15px;
		top: 50%;
		transform: translate(0,-50%);
		display: block;
		content: '';
		background: url(../img/common/arrow_circle_white.png) no-repeat left top;
		background-size: 100%;
	}

	.topicmovie-content p small{
		font-size: 70%
	}

	.topicmovie-gotoenglish {
		font-size: 1.2em;
		padding-top: 1em;
	}


	.en .topicmovie-content{font-size: 1.7em;}



	/* movie ---------------------------------------*/

	.movie-list {
		flex-wrap: wrap;
		max-width: 400px;
		margin: 0 auto;
	}

	.movie-image {
		width: 100%;
		height: 66vw;
		max-height: 300px;
	}

	.movie-content {padding: 1em 4em 1em 1.5em;}


	/* btn ---------------------------------------*/

	.btn {
		width: 300px;
		max-width: 100%;
	}

	.btn-s {
		padding: 13px 24px;
		width: 240px;
	}

	/* privacy ---------------------------------------*/

	.privacy {
	}

	.privacy-block {margin-bottom: 45px;}

	.privacy-block-title {
		font-size: 2.0em;
		margin-bottom: 20px;
	}

	.privacy-block p {font-size: 1.5em;}
	.privacy-block-subtitle {font-size: 1.7em;}

}

	/* pdf ---------------------------------------*/

	.pdf {
		text-align: right;
		padding-top: 50px;
		font-size: 1.3em;
	}

	.pdf a {
		display: inline-block;
		position: relative;
		text-decoration: underline;
	}

	.pdf a:hover {text-decoration: none;}