@charset "euc-jp";
/* CSS Document */

body {
margin: 0;
padding: 0;
background-color: #fbf9f3
;
font-size:16px;
line-height:2.2em;
color:#353535;
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
font-feature-settings: "palt";
letter-spacing: 0.1em;
}

p {
margin-bottom:1.5em;
}

a:hover img {
/*filter:brightness(80%);*/
}

.pc {
display:block;
}

.sp {
display:none;
}

img{
-webkit-backface-visibility: hidden;
}

/* -------------------------------------------------
menu
-------------------------------------------------*/

#overlay {
position:fixed;
top:0;
left:0;
width:100%;
height:100vh;
background-color:#8d8d8d;
z-index:15;
display:none;
}

#menu-wrapper {
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
z-index:15;
display:none;
}

#menu-flex {
display: flex;
flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
justify-content: center; /* 子要素をflexboxにより中央に配置する */
align-items: center;  /* 子要素をflexboxにより中央に配置する */
width: 100%;
height:100%;
text-align: center;
}

#inner {
width:100%;
max-width:1200px;
}

#btn-close {
position:absolute;
right:20px;
top:20px;
z-index:100;
cursor: pointer;
}


#btn-menu {
position:fixed;
top:20px;
right:20px;
z-index:10;
display:none;
cursor: pointer;
}

#btn-menu img,
#btn-close img {
width:96px;
height:auto;
}

#menu-flex ul.menu {
color:#fff;
font-family: "FOT-モード明朝Aラージ Std R","ModeMinALargeStd-R";
font-size:30px;
z-index:30px;
display: block;
max-width: 12em;
margin: 0 auto;
}


#menu-flex ul.menu li a {
color:#ffffff;
text-decoration: none;
padding:20px 10px;
display: inline-block;
font-weight: normal;
letter-spacing: 0.1em;
}


/* -------------------------------------------------
hero
-------------------------------------------------*/
#hero-wrapper {
width:100%;
height: auto;
}

#hero-main {
width:100%;
height: 540px;
overflow: hidden;
}

#hero-main img {
width: 100%;
height: 540px;
object-fit: cover;
}

#hero-sub {
display: flex;
flex-wrap: wrap;
width: 100%;
}

#hero-sub div {
width:12.5%;
}

#hero-sub li img {
width: 100%;
height: auto;
}

/* -------------------------------------------------
main
-------------------------------------------------*/

#main-wrapper {
width:1120px;
height: 1160px;
margin: 0 auto;
position: relative;
}

#main-wrapper h1 {
position: absolute;
left:5%;
top:8%;
width: 43.57%;
}

#main-wrapper h2 {
position: absolute;
right:7.5%;
top:8%;
width: 30.53%;
}

#main-wrapper h3 {
position: absolute;
left:5%;
top:49.91%;
width: 38.92%;
}

img,#main-wrapper h2 img,#main-wrapper h3 img {
width:100%;
height: auto;
}

/* -------------------------------------------------
credit
-------------------------------------------------*/

#credit-wrapper {
width:1060px;
padding:40px 30px 80px 30px;
margin: 0 auto;
text-align: center;
}

#credit-wrapper h4 {
font-family: "秀英横太明朝 B","DNPShueiYMinStd-B";
font-size: 38px;
line-height: 1.5em;
margin-bottom: 30px;
}

#credit-wrapper h4 small {
font-size: 0.8em;
}

#credit-wrapper h4 span {
display: inline-block;
}

#banner a img {
border:solid 1px #e1dac5;
}

#beling {
font-family: "秀英横太明朝 B","DNPShueiYMinStd-B";
font-size: 16px;
line-height: 2.0em;
margin-bottom: 50px;
}

#beling span {
display: inline-block;
margin:0 0.5em;
}

/* -------------------------------------------------
program
-------------------------------------------------*/
#program-wrapper {
width:100%;
background-color: #fff;
}

#program-container {
width:1060px;
padding:80px 30px;
margin: 0 auto;
text-align: center;
}

#program-container h2 {
font-family: "FOT-モード明朝Aラージ Std R","ModeMinALargeStd-R";
font-size: 36px;
margin-bottom: 60px;
}

#program-container h3 {
font-family: "秀英にじみ明朝 L","DNPShueiNMinStd-L";
font-size:24px;
line-height: 1.8em;
margin-bottom: 50px;
}

#program-container h3 span {
display: inline-block;
}

#program-list {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.program-article {
text-align: left;
width:48%;
max-width: 500px;
border-top:solid 3px #d3a240;
padding:35px 0;
}

.program-head {
position: relative;
margin-bottom: 20px;
text-align: right;
}

.program-head h5 {
position: absolute;
left:0;
top:0;
font-family: "FuturaLTPro-Book";
color: #d3a240;
font-size: 44px;
line-height: 1em;
}

.program-head img {
width:69%;
height: auto;
}

.program-head .theatrical {
position: absolute;
left: 0;
bottom: 0;
display: inline-block;
background-color: #d3a240;
font-size:12px;
padding:6px 6px;
color: #fff;
font-weight: bold;
line-height: 12px;
}

.program-detail h4 {
font-family: "FOT-テロップ明朝 Pro B","TelopMinPro-B";
font-size: 26px;
line-height: 1.3em;
margin-bottom: 15px;
}

.program-detail .credit {
font-family: "FOT-テロップ明朝 Pro D","TelopMinPro-D";
font-size: 12px;
line-height: 1.5em;
padding-bottom: 15px;
margin-bottom: 15px;
border-bottom:solid 1px #c1bfb7;
}

.program-detail p {
font-family: "FOT-テロップ明朝 Pro D","TelopMinPro-D";
font-size: 18px;
line-height: 1.45em;
margin-bottom: 15px;
}

.program-detail a {
display: block;
padding-left: 30px;
color: #277c89;
font-weight: bold;
text-decoration: none;
background-image:url(../images/icon_link.png);
background-repeat: no-repeat;
background-position: left center;
}

/* -------------------------------------------------
profile
-------------------------------------------------*/

#profile-wrapper {
width:1060px;
padding:80px 30px;
margin: 0 auto;
text-align: center;
}

#profile-wrapper h2 {
font-family: "FOT-モード明朝Aラージ Std R","ModeMinALargeStd-R";
font-size: 36px;
margin-bottom: 60px;
}

#profile-wrapper h3 {
font-family: "FOT-テロップ明朝 Pro B","TelopMinPro-B";
font-size: 30px;
margin-bottom: 20px;
}

#profile-wrapper h4 {
font-family: "FOT-テロップ明朝 Pro B","TelopMinPro-B";
font-size: 18px;
margin-bottom: 50px;
}

#profile-article {
overflow: auto;
}

#profile-article img {
width:230px;
height: auto;
float: left;
margin-right: 50px;
}

#profile-article p {
overflow: hidden;
font-size: 16px;
line-height: 1.7em;
text-align: left;
}

/* -------------------------------------------------
review
-------------------------------------------------*/

#review-wrapper {
width:1060px;
padding:80px 30px;
margin: 0 auto;
text-align: center;
}

#review-wrapper h2 {
font-family: "FOT-モード明朝Aラージ Std R","ModeMinALargeStd-R";
font-size: 36px;
margin-bottom: 60px;
}

#review-article {
padding:80px 10%;
background-color: #fff;
border: solid 1px #e1dac5;
}

#review-article h3 {
font-family: "FOT-テロップ明朝 Pro B","TelopMinPro-B";
font-size: 30px;
margin-bottom: 50px;
}

#review-article h4 {
font-family: "FOT-テロップ明朝 Pro B","TelopMinPro-B";
font-size: 22px;
line-height: 1.6em;
margin-bottom: 20px;
}

#review-article h4 small {
font-size: 0.7em;
display: inline-block;
}

#review-article h5 {
font-family: "FOT-テロップ明朝 Pro B","TelopMinPro-B";
font-size: 16px;
line-height: 1.6em;
margin-bottom: 50px;
opacity: 0.8;
}

#review-article p {
text-align: left;
font-family: "FOT-テロップ明朝 Pro D","TelopMinPro-D";
font-size: 18px;
line-height: 2.0em;
margin-bottom: 2em;
}

/* -------------------------------------------------
theater
-------------------------------------------------*/

#theater-wrapper {
width:1060px;
padding:80px 30px;
margin: 0 auto;
text-align: center;
}

#theater-wrapper h2 {
font-family: "FOT-モード明朝Aラージ Std R","ModeMinALargeStd-R";
font-size: 36px;
margin-bottom: 60px;
}

#theater-wrapper h3{
font-family: "FOT-テロップ明朝 Pro B","TelopMinPro-B";
font-size: 30px;
line-height: 1.6em;
margin-bottom: 40px;
}

#theater-wrapper p {
margin-top: -40px;
margin-bottom: 30px;
}

/* イベントリスト */

.event-list {
margin-bottom:50px;
text-align: left;
}

.event-name {
font-family: "FOT-テロップ明朝 Pro B","TelopMinPro-B";
font-size: 30px;
display: inline-block;
margin-right: 0.5em;
margin-bottom: 1em;
line-height: 1.4em;
}

.event-date {
font-size:22px;
font-weight: bold;
border-left: solid 6px #277c89;
padding:0px 0px 0px 15px;
margin-bottom: 1em;
line-height: 1.4em;
}

.event-detail {
font-size:20px;
line-height: 1.7em;
margin-bottom: 1.2em;
}

.event-detail span {
font-weight: bold;
color: #d3a240;
}

.event-info {
font-size:18px;
margin-bottom: 1em;
}

.event-notice {
font-size:14px;
line-height: 1.5em;
margin-bottom: 1.2em;
}

.event-kei {
background-color: #fff;
border:solid 1px #d5cbad;
padding:1em 1.5em;
line-height: 1.5em;
display: inline-block;
}

.event-kei a {
color: #277c89;
text-decoration: underline;
}

/* 上映劇場用リスト */

.theater-list {
margin-bottom:50px;
text-align: left;
}

.theater-name {
font-family: "FOT-テロップ明朝 Pro B","TelopMinPro-B";
font-size: 30px;
display: inline-block;
margin-right: 0.5em;
margin-bottom: 0.3em;
}

.theater-term {
font-family: "FOT-テロップ明朝 Pro B","TelopMinPro-B";
font-size: 24px;
display: inline-block;
margin-bottom: 0.3em;
}

.theater-list .tel {
display: inline-block;
margin-right: 0.5em;
}

.theater-list a.website {
display: inline-block;
padding-left: 30px;
color: #277c89;
font-weight: bold;
text-decoration: none;
background-image:url(../images/icon_link.png);
background-repeat: no-repeat;
background-position: left center;
}

.theater-list .show-detail {
font-family: "FOT-テロップ明朝 Pro B","TelopMinPro-B";
font-size: 24px;
padding:15px 0px 15px 40px;
background-image:url(../images/icon_plus.png);
background-repeat: no-repeat;
background-position: left 8px center;
cursor: pointer;
border-bottom: solid 1px #e1dac5;
}

.theater-list .active {
border-bottom: none;
background-image:url(../images/icon_minus.png);
}

.theater-detail {
padding-top: 30px;
text-align: center;
border-bottom: solid 1px #e1dac5;
display: none;
}

.theater-list a.detail-link {
display: inline-block;
background-color: #277c89;
color: #fff;
padding:5px 15px 5px 45px;
font-weight: bold;
text-decoration: none;
background-image:url(../images/icon_link_w.png);
background-repeat: no-repeat;
background-position: left 15px center;
margin-top: 20px;
}

/* 上映劇場用テーブル */

.theater-table {
border-collapse: collapse;
border: none;
border-spacing: 0;
width: 100%;
margin-top: 20px;
margin-bottom: 40px;
font-size:1.0em;
line-height:1.4em;
}

.theater-table td {
padding: 1.5em 1em;
background-color: #fff;
text-align:center;
color:#101010;
}

.theater-table tr:nth-child(odd) td {
background-color:#f5f5f5;
}

.theater-table tr.header td {
background-color: #277c89;
font-weight: bold;
color:#fff;
}

.theater-table td a {
color:#277c89;
text-decoration: none;
}

.theater-table td a:hover {
text-decoration: underline;
}

/* タイムテーブル */

.time-table {
border-collapse: collapse;
border: none;
border-spacing: 0;
width: 100%;
margin-top: 20px;
margin-bottom: 40px;
font-size:1.0em;
line-height:1.4em;
}

.time-table td {
padding: 1.5em 1.5em;
text-align:left;
}

.time-table tr.date td {
background-color:#ebd7b6;
font-weight:bold;
}

.time-table td.time {
width:3.5em;
padding: 1.5em 0.5em 1.5em 1.5em;
font-weight: bold;
}

.time-table td span {
color:#d3a240;
font-weight: bold;
margin-right: 0.5em;
}

/* チケット・フリーパス */

#theater-wrapper h5 {
font-family: "FOT-テロップ明朝 Pro B","TelopMinPro-B";
font-size: 32px;
line-height: 1.6em;
margin-bottom: 15px;
}

#theater-wrapper h5 span {
display: inline-block;
margin: 0 0.5em;
}

#theater-wrapper h6 {
font-weight: bold;
font-size: 18px;
line-height: 1.8em;
margin-bottom: 15px;
}

#theater-wrapper h6 span {
display: inline-block;
}

#theater-wrapper .notice {
font-weight: normal;
font-size: 16px;
line-height: 1.8em;
margin-bottom: 40px;
}

/* PDFダウンロード */

#download {
margin-bottom: 60px;
}

#download ul {
display: block;
text-align: center;
}

#download li {
display: inline-block;
margin: 30px 15px;
}

#download li img {
border:solid 1px #e1dac5;
width: 215px;
height: auto;
}

#download a.btn {
display: inline-block;
font-family: "FOT-テロップ明朝 Pro B","TelopMinPro-B";
font-size: 24px;
color: #fff;
background-color: #277c89;
padding:15px 60px 15px 80px;
border-radius: 100px;
text-decoration: none;
background-image: url(../images/icon_download.png);
background-repeat: no-repeat;
background-position: left 40px center;
background-size: 20px auto;
}

/* -------------------------------------------------
sns share
-------------------------------------------------*/

#sns-container {
width: 100%;
background-color:#ece7d9;
text-align:center;
position:fixed;
left:0;
bottom:0;
padding:4px;
z-index: 3;
}

ul#social {
width: 100%;
align-items: center;
}

#social li {
display:inline-block;
height:27px;
vertical-align: bottom;
padding:0 0;
overflow: hidden;
}

/* -------------------------------------------------
1120以下
-------------------------------------------------*/

@media only screen and (max-width: 1120px) {

/* -------------------------------------------------
hero 1120
-------------------------------------------------*/

#hero-main {
width:100%;
height: 35vw;
}

#hero-main img {
width: 100%;
height: 35vw;
object-fit: cover;
}

/* -------------------------------------------------
main 1120
-------------------------------------------------*/

#main-wrapper {
width:100%;
height: 106.5vw;
}

/* -------------------------------------------------
credit 1120
-------------------------------------------------*/

#credit-wrapper {
width:94%;
padding:40px 3% 80px 3%;
}

#banner a img {
width:100%;
height: auto;
}

/* -------------------------------------------------
program 1120
-------------------------------------------------*/

#program-container {
width:94%;
padding:80px 3%;
}


/* -------------------------------------------------
profile 1120
-------------------------------------------------*/

#profile-wrapper {
width:94%;
padding:80px 3%;
}

#profile-article img {
width:25vw;
height: auto;
float: left;
margin-right: 4.5vw;
}

/* -------------------------------------------------
review 1120
-------------------------------------------------*/

#review-wrapper {
width:94%;
padding:80px 3%;
}

#review-article {
padding:8vw 10%;
}

/* -------------------------------------------------
theater 1120
-------------------------------------------------*/

#theater-wrapper {
width:94%;
padding:80px 3%;
}

/* タイムテーブル */

.time-table td {
padding: 1.0em 1.0em;
}

.time-table td.time {
padding: 1.0em 0.5em 1.0em 1.0em;
}

}

/* -------------------------------------------------
640以下
-------------------------------------------------*/

@media only screen and (max-width: 640px) {

.pc {
display:none;
}

.sp {
display:block;
}

/* -------------------------------------------------
menu 640
-------------------------------------------------*/

#btn-close {
position:absolute;
right:20px;
top:20px;
z-index:100;
cursor: pointer;
}


#btn-menu {
position:fixed;
top:20px;
right:20px;
z-index:10;
display:none;
cursor: pointer;
}

#btn-menu img,
#btn-close img {
width:50px;
height:auto;
}

#menu-flex ul.menu {
font-size:18px;
}

#menu-flex ul.menu li a {
padding:10px 10px;
}


/* -------------------------------------------------
hero 640
-------------------------------------------------*/

#hero-main {
width:100%;
height: 50vw;
}

#hero-main img {
width: auto;
height: 100%;
}

#hero-sub div {
width:25%;
}

/* -------------------------------------------------
credit 640
-------------------------------------------------*/

#credit-wrapper {
padding:30px 3% 60px 3%;
}

#credit-wrapper h4 {
font-size: 22px;
margin-bottom: 30px;
}

#beling {
font-size: 11px;
line-height: 1.8em;
margin-bottom: 30px;
}

/* -------------------------------------------------
program 640
-------------------------------------------------*/

#program-container {
padding:50px 3%;
}

#program-container h2 {
font-size: 21px;
margin-bottom: 40px;
}

#program-container h3 {
font-size:4vw;
line-height: 1.8em;
margin-bottom: 40px;
}

.program-article {
width:100%;
padding:25px 0;
}

.program-head {
position: relative;
margin-bottom: 20px;
text-align: right;
}

.program-head h5 {
font-size: 30px;
line-height: 1em;
}

.program-head .theatrical {
font-size:11px;
padding:6px 6px;
line-height: 11px;
}

.program-detail h4 {
font-size: 18px;
margin-bottom: 15px;
}

.program-detail .credit {
font-size: 10px;
padding-bottom: 15px;
margin-bottom: 15px;
}

.program-detail p {
font-size: 14px;
margin-bottom: 15px;
}

.program-detail a {
padding-left: 25px;
font-size: 0.8em;
}

/* -------------------------------------------------
profile 640
-------------------------------------------------*/

#profile-wrapper {
padding:50px 3%;
}

#profile-wrapper h2 {
font-size: 21px;
margin-bottom: 40px;
}

#profile-wrapper h3 {
font-size: 24px;
margin-bottom: 10px;
}

#profile-wrapper h4 {
font-size: 12px;
margin-bottom: 30px;
}

#profile-article img {
width:40vw;
height: auto;
float: none;
margin-right: 0;
margin-bottom: 30px;
}

#profile-article p {
font-size: 13px;
}

/* -------------------------------------------------
review 640
-------------------------------------------------*/

#review-wrapper {
padding:50px 3%;
}

#review-wrapper h2 {
font-size: 21px;
margin-bottom: 40px;
}

#review-article {
padding:15vw 8% 10vw 8%;
}

#review-article h3 {
font-size: 24px;
margin-bottom: 30px;
}

#review-article h4 {
font-size: 18px;
margin-bottom: 20px;
}

#review-article h4 small {
font-size: 0.7em;
}

#review-article h5 {
font-size: 14px;
margin-bottom: 40px;
opacity: 0.8;
}

#review-article p {
font-size: 14px;
margin-bottom: 2em;
}

/* -------------------------------------------------
theater 640
-------------------------------------------------*/

#theater-wrapper {
padding:50px 3%;
}

#theater-wrapper h2 {
font-size: 21px;
margin-bottom: 40px;
}

#theater-wrapper h3{
font-size: 21px;
margin-bottom: 30px;
}

#theater-wrapper p {
margin-top: -30px;
margin-bottom: 20px;
font-size: 0.8em;
}

/* イベントリスト */

.event-list {
margin-bottom:50px;
text-align: left;
}

.event-name {
font-family: "FOT-テロップ明朝 Pro B","TelopMinPro-B";
font-size: 22px;
}

.event-date {
font-size:16px;
}

.event-detail {
font-size:16px;
}

.event-info {
font-size:16px;
}

.event-notice {
font-size:12px;
}

.event-kei {
font-size:12px;
}

/* 上映劇場用リスト */

.theater-list {
margin-bottom:50px;
}

.theater-name {
font-size: 22px;
display: block;
}

.theater-term {
font-size: 18px;
}

.theater-list .tel {
font-size: 0.8em;
}

.theater-list a.website {
padding-left: 25px;
font-size: 0.8em;
}

.theater-list .show-detail {
font-size: 1.2em;
padding:10px 0px 10px 35px;
background-size: 16px auto;
}

.theater-list a.detail-link {
font-size: 0.8em;
padding:5px 15px 5px 45px;
font-weight: bold;
text-decoration: none;
background-image:url(../images/icon_link_w.png);
background-repeat: no-repeat;
background-position: left 15px center;
margin-top: 20px;
}

/* 上映劇場用テーブル */

.theater-table {
border-collapse: collapse;
border: none;
border-spacing: 0;
width: 100%;
margin-top: 20px;
margin-bottom: 40px;
font-size:0.8em;
line-height:1.4em;
}

.theater-table td {
padding: 1.0em 0.7em;
}

/* タイムテーブル */

.time-table {
margin-top: 20px;
margin-bottom: 40px;
font-size:0.8em;
line-height:1.4em;
}

.time-table td {
padding: 1.0em 1.0em;
}

.time-table tr.date td {
display: block;
background-color:#ebd7b6;
font-weight:bold;
margin: 1em 0;
}

.time-table td.time {
width:5em;
padding: 0;
margin:0.5em 0;
text-align: center;
display: block;
float:left;
}

.time-table td.program {
padding: 0;
margin:0.5em 0;
display: block;
width:calc(100% - 6em);
float:right;
}

.time-table td span {
color:#d3a240;
font-weight: bold;
margin-right: 0.5em;
}

/* チケット・フリーパス */

#theater-wrapper h5 {
font-size: 24px;
margin-bottom: 15px;
}

#theater-wrapper h6 {
font-size: 14px;
margin-bottom: 15px;
}

#theater-wrapper .notice {
font-size: 14px;
margin-bottom: 40px;
}

/* PDFダウンロード */

#download {
margin-bottom: 50px;
}

#download li {
display: inline-block;
margin: 30px 2vw;
}

#download li img {
width: 35vw;
}

#download a.btn {
font-size: 16px;
padding:12px 40px 12px 60px;
text-decoration: none;
background-image: url(../images/icon_download.png);
background-repeat: no-repeat;
background-position: left 30px center;
background-size: 16px auto;
}

}
