@charset "utf-8";
/* 事業内容INDEX */

.g_navi_menu .gnav03 a::after {
opacity: 1;
}
.intro_copy {
font-size: 2.2rem;
font-weight: 700;
letter-spacing: 0.2em;
margin-bottom: 30px;
}
.intro_txt {
font-size: 1.5rem;
line-height: 200%;
}
.service_txt_box .facility_title {
letter-spacing: 0.1em;
}

@media all and (max-width : 1260px ){
.service_txt_box .facility_title {
line-height: 140%;
}
}

@media all and (max-width : 767px ){
#page_marketing .page_ttl .ttl,
#page_event .page_ttl .ttl{
letter-spacing: 0.1em;
}
#page_film .page_ttl .ttl {
letter-spacing: 0.15em;
}
#page_facility .page_ttl .ttl {
letter-spacing: 0.15em;
line-height: 130%;
}
.intro_copy {
font-size: 1.8rem;
letter-spacing: 0.15em;
margin-bottom: 20px;
}
.intro_txt {
font-size: 1.2rem;
line-height: 180%;
}
}


/* 事業内容 詳細ページ
-------------------------------------------------- */

.intro_imgbox {
padding-right: 8.02%;
}
.intro_img {
position: relative;
z-index: 0;
}
.intro_img::after {
content: "";
display: block;
background-color: #000;
opacity: 0.1;
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
}
.intro_img img {
width: 100%;
}
.inner {
position: relative;
margin-top: -5.5%;
padding: 0 8.02% 60px 3.59%;
z-index: 2;
display: flex;
justify-content: space-between;
align-items: flex-start;
height: auto;
}
.inner::before {
content: "";
width: 96.41%;
height: 100%;
position: absolute;
left: 3.59%;
top: 0;
background: #fff;
z-index: 1;
}

@media all and (max-width : 820px ){
.inner {
position: relative;
margin-top: -5.5%;
display: flex;
flex-direction: column-reverse;
justify-content: space-between;
align-items: flex-start;
}
}

@media all and (max-width : 767px ){
.inner {
padding-bottom: 35px;
}
}


/*-------------------------------------------------
サイドナビ
-------------------------------------------------*/

.inner_side {
width: 25%;
position: sticky;
top: 0;
left: 0;
z-index: 5;
padding: 45px 0 0 60px;
}

@media all and (max-width : 1260px ){
.inner_side {
width: 30%;
}
}

@media all and (max-width : 1024px ){
.inner_side {
padding: 45px 0 0 30px;
}
}

.inner_side_titlebox {
margin-bottom: 30px;
}
.inner_side_titlebox dt {
font-size: 2.0rem;
font-weight: 500;
line-height: 1.75;
letter-spacing: 0.2em;
position: relative;
border-bottom: 1px solid #d9d9d9;
padding-bottom: 20px;
margin-bottom: 15px;
}

@media all and (max-width : 820px ){
.inner_side_titlebox dt {
font-size: 1.8rem;
line-height: 1.6;
}
}

.inner_side_titlebox dt::after {
content: "";
width: 15px;
height: 1px;
background: #1a1a1a;
position: absolute;
left: 0;
bottom: -1px;
}
.inner_side_titlebox dd {
font-family: "Oswald", serif;
font-weight: 400;
font-size: 1.1rem;
letter-spacing: 0.05em;
line-height: 100%;
color: #999;
}
.menu_nav li a {
display: flex;
justify-content: flex-start;
font-size: 1.4rem;
line-height: 1.6;
position: relative;
padding: 5px 30px 5px 0;
margin: 12px 0;
}

@media all and (max-width : 1366px ){
.menu_nav li a {
font-size: 1.3rem;
letter-spacing: 0.05em;
}
}

@media all and (max-width : 980px ){
.menu_nav li a {
font-size: 1.2rem;
}
}

.menu_nav li a:hover .menu_title {
color: #999;
}
.menu_nav li.active a {
padding: 15px 30px 15px 0;
margin: 15px 0;
}
.menu_nav li.active a::before {
content: "";
width: calc(100% + 20px);
height: 100%;
background: #f7f7f7;
position: absolute;
left: -20px;
top: 0;
}
.menu_nav li a span {
position: relative;
}
.menu_nav li a .number {
width: 30px;
font-family: "Oswald", serif;
font-size: 1.2rem;
font-weight: 400;
letter-spacing: 0.05em;
padding-top: 2px;
color: #999;
}

@media all and (max-width : 1366px ){
.menu_nav li a .number {
width: 25px;
}
}

.menu_nav li a .menu_title {
width: calc(100% - 30px);
}

@media all and (max-width : 820px ){
.inner_side {
width: 100%;
}
.menu_nav {
display: flex;
flex-wrap: wrap;
}
.menu_nav li a {
font-size: 1.25rem;
padding: 5px 5px 5px 0;
white-space: nowrap;
}
.menu_nav li {
margin-right: 20px;
border-bottom: 1px solid #d9d9d9;
}
.menu_nav li.active a {
padding: 5px 30px 5px 0;
margin: 12px 0;
}
.menu_nav li.active a::before {
content: "";
width: 100%;
height: 1px;
background: #000;
position: absolute;
left: 0px;
top: inherit;
bottom: -13px;
}
}

@media all and (max-width : 767px ){
.inner_side {
width: 97%;
padding: 25px 0 0 25px;
}
.inner_side_titlebox {
margin-bottom: 15px;
}
.menu_nav {
display: flex;
flex-direction: column;
}
.menu_nav li {
margin-right: 0px;
}
}

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

.inner_main {
width: 66.26%;
box-sizing: border-box;
padding: 100px 0 0;
position: relative;
z-index: 5;
}
#page_event .inner_main {
padding: 35px 0 0;
}

@media all and (max-width : 1024px ){
#page_event .inner_main {
padding: 50px 0 0;
}
}

@media all and (max-width : 820px ){
.inner_main,
#page_event .inner_main {
width: 100%;
padding: 40px 0 0px 30px;
}
}

@media all and (max-width : 767px ){
.inner_main {
padding: 30px 0 0px 20px;
}
}

.sec_box {
position: relative;
border-top: 1px solid #d9d9d9;
}
.sec_box::before {
content: "";
width: 60px;
height: 1px;
background: #1a1a1a;
position: absolute;
left: 0;
top: -1px
}
.sec_title {
display: flex;
align-items: center;
padding: 55px 0 40px;
position: relative;
border-top: 1px solid #d9d9d9;
}
.sec_title::before {
content: "";
width: 60px;
height: 1px;
background: #1a1a1a;
position: absolute;
left: 0;
top: -1px
}

@media all and (max-width : 820px ){
.sec_title {
padding: 30px 0 30px;
}
}

.sec_title dt {
position: relative;
font-family: "Oswald", serif;
font-size: 2.6rem;
font-weight: 400;
line-height: 100%;
letter-spacing: 0.1em;
padding: 5px 2px 10px 2px;
margin-right: 15px;
}
.sec_title dt::after {
content: "";
display: block;
background-color: #999;
width: 100%;
height: 1px;
position: absolute;
bottom: 0;
left: 0;
}
.sec_title dd {
font-size: 2.2rem;
font-weight: 500;
letter-spacing: 0.2em;
}
.cont_ttl {
font-size: 2.2rem;
font-weight: 500;
letter-spacing: 0.2em;
padding: 55px 0 40px
}

@media all and (max-width : 820px ){
.sec_title dt {
font-size: 2.4rem;
padding: 5px 2px 10px 2px;
margin-right: 10px;
}
.sec_title dd {
font-size: 2.0rem;
}
.cont_ttl {
font-size: 2.0rem;
padding: 30px 0 30px
}
}

.sec_txt {
font-size: 1.4rem;
line-height: 200%;
letter-spacing: 0.1em;
margin-bottom: 30px;
}

@media all and (max-width : 767px ){
.sec_title {
padding: 20px 0 20px;
}
.sec_title dt {
font-size: 1.6rem;
padding: 7px 2px 8px 2px
}
.sec_title dd {
font-size: 1.4rem;
letter-spacing: 0.1em;
}
.cont_ttl {
font-size: 1.4rem;
padding: 20px 0 20px
}
.sec_txt {
font-size: 1.2rem;
line-height: 180%;
margin-bottom: 20px;
}
}




/*-------------------------------------------------
国内観光事業 / イベント事業
-------------------------------------------------*/

#page_event .b_main_title {
font-size: 3.0rem;
font-weight: 500;
letter-spacing: 0.3em;
line-height: 100%;
margin-bottom: 35px;
}

@media all and (max-width : 1024px ){
#page_event .b_main_title {
font-size: 2.4rem;
letter-spacing: 0.2em;
margin-bottom: 25px;
}
}

@media all and (max-width : 767px ){
#page_event .b_main_title {
font-size: 2.0rem;
letter-spacing: 0.15em;
margin-bottom: 25px;
}
}

.service_title {
display: flex;
align-items: center;
margin-bottom: 30px;
position: relative;
padding-top: 55px;
border-top: 1px solid #d9d9d9;
}
.service_title::before {
content: "";
width: 60px;
height: 1px;
background: #1a1a1a;
position: absolute;
left: 0;
top: -1px
}
.service_title dt {
font-family: "Oswald", serif;
font-size: 2.6rem;
font-weight: 400;
letter-spacing: 0.1em;
padding-bottom: 10px;
line-height: 100%;
border-bottom: solid 1px #111;
margin-right: 30px;
}
.service_title dd {
font-size: 2.2rem;
font-weight: 500;
letter-spacing: 0.2em;
}
.service_txt {
font-size: 1.5rem;
line-height: 200%;
}

@media all and (max-width : 1024px ){
.service_title dt {
font-size: 2.2rem;
margin-right: 20px;
}
.service_title dd {
font-size: 2.0rem;
letter-spacing: 0.1em;
}
.service_txt {
font-size: 1.4rem;
line-height: 180%;
}
}

@media all and (max-width : 767px ){
.service_title {
margin-bottom: 20px;
padding-top: 30px;
}
.service_title dt {
font-size: 1.8rem;
padding-bottom: 5px;
margin-right: 10px;
}
.service_title dd {
font-size: 1.5rem;
}
.service_txt {
font-size: 1.3rem;
}
}

.listbox {
width: 100%;
background: #F7F7F7;
border-radius: 7px;
padding: 30px;
margin-top: 40px;
margin-bottom: 25px;
}
.purpose {
padding-left: 35px;
margin-left: 10px;
font-size: 1.8rem;
font-weight: 500;
letter-spacing: 0.2em;
color: #555;
}

@media all and (max-width : 1024px ){
.purpose {
font-size: 1.5rem;
letter-spacing: 0.1em;
}
}

.purpose li { 
padding: 5px 0px 5px 5px;
display:list-item;
list-style-type: decimal;
}

@media all and (max-width : 767px ){
.listbox {
padding: 10px;
margin-top: 20px;
margin-bottom: 20px;
}
.purpose {
padding-left: 0px;
margin-left: 20px;
font-size: 1.3rem;
letter-spacing: 0.1em;
}
}

.cate_list {
display: flex;
align-items: center;
flex-wrap: wrap;
}
.cate_list li {
font-size: 1.2rem;
display: inline-block;
padding: 10px 20px 8px 20px;
line-height: 120%;
border: solid 1px #BBB;
border-radius: 3px;
margin-right: 10px;
margin-bottom: 10px;
}

@media all and (max-width : 767px ){

.cate_list li {
font-size: 1.0rem;
padding: 8px 10px;
line-height: 120%;
margin-right: 5px;
margin-bottom: 5px;
letter-spacing: 0.05em;
}
}

.img3_list {
display: flex;
margin: 50px 0 70px;
}
.img3_list li {
width: calc(33.33333333% - 60px / 3) ;
margin-right: 30px;
}
.img3_list li:nth-child(3n) {
margin-right: 0px;
}

@media all and (max-width : 1260px ){
.img3_list li {
width: calc(33.33333333% - 40px / 3) ;
margin-right: 20px;
}
}

@media all and (max-width : 767px ){
.img3_list {
display: flex;
flex-wrap: wrap;
margin: 20px 0 50px;
}
.img3_list li {
width: calc(50% - 10px / 2) ;
margin-right: 10px;
margin-bottom: 10px;
}
.img3_list li:nth-child(3n) {
margin-right: 10px;
}
.img3_list li:nth-child(2n) {
margin-right: 0px;
}
}

.n05_imgbox {
width: 32%;
}
.txt_box_wrap {
width: 61%;
padding-right: 20px;
}
.txt_box_wrap .txtbox {
font-size: 1.5rem;
line-height: 200%;
margin-bottom: 30px;
}
.float_box {
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-wrap: wrap;
margin-bottom: 70px;
}

@media all and (max-width : 767px ){
.n05_imgbox {
width: 100%;
margin-bottom: 15px;
}
.txt_box_wrap {
width: 100%;
padding-right: 0px;
}
.txt_box_wrap .txtbox {
font-size: 1.3rem;
line-height: 180%;
margin-bottom: 20px;
}
.float_box {
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-wrap: wrap;
flex-direction: column;
margin-bottom: 70px;
}
}


/*-------------------------------------------------
インバウンド事業
-------------------------------------------------*/

.table_scroll_wrap {
width: 100%;
overflow: hidden;
}
.table_scroll_inner {
overflow-x: auto;
}
.target_table {
width: 100%;
border-collapse: collapse;
border-top: solid 1px #ccc;
border-left: solid 1px #ccc;
font-size: 1.4rem;
}
.target_table th {
padding: 15px 10px;
background: #242528;
color: #fff;
font-weight: 500;
text-align: center;
border-right: solid 1px #ccc;
border-bottom: solid 1px #ccc;
}
.target_table td {
padding: 15px 15px;
font-weight: 400;
text-align: left;
border-right: solid 1px #ccc;
border-bottom: solid 1px #ccc;
}
.target_table .box_left {
white-space: nowrap;
}
#page_inbound .sec_title {
margin-top: 50px;
display: flex;
align-items: center;
padding: 55px 0 40px;
position: relative;
border-top: 1px solid #d9d9d9;
}
.red {
color: red !important;
}

@media all and (max-width : 820px ){
#page_inbound .sec_title {
padding: 30px 0 30px;
}
}

@media all and (max-width : 767px ){
#page_inbound .sec_title {
padding: 25px 0 20px;
}
.target_table {
width: 1000px;
font-size: 1.2rem;
}
.tbl_fix {
width: 100% !important;
}
.target_table th {
padding: 12px 10px;
}
.target_table td {
padding: 15px 10px;
}
.table_scroll_inner {
overflow-x: scroll;
}
}



/*-------------------------------------------------
MICE
-------------------------------------------------*/

.intro_txtbox_wrap {
width: 53%;
}
.head_imgbox {
width: 42.74%;
margin-top: 50px;
}
.intro_box_wrap {
display: flex;
justify-content: space-between;
margin-bottom: 50px;
}

@media all and (max-width : 1260px ){
.intro_txtbox_wrap {
width: 100%;
}
.head_imgbox {
width: 90%;
margin-top: 30px;
}
.intro_box_wrap {
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-direction: column-reverse;
margin-bottom: 50px;
}
}

@media all and (max-width : 767px ){
.head_imgbox {
width: 100%;
}
}

.sec_subtitle {
font-size: 2.0rem;
font-weight: 700;
letter-spacing: 0.2em;
margin-bottom: 25px;
margin-top: 50px;
}

@media all and (max-width : 820px ){
.sec_subtitle {
font-size: 1.8rem;
}
}

@media all and (max-width : 767px ){
.sec_subtitle {
font-size: 1.4rem;
letter-spacing: 0.1em;
margin-bottom: 20px;
margin-top: 25px;
}
}

.target_table .box_center {
text-align: center;
}
.img2_list {
display: flex;
margin: 20px 0 50px;
}
.img2_list li {
width: calc(50% - 30px / 2);
margin-right: 30px;
}
.img2_list li:nth-child(2n) {
margin-right: 0px;
}
.menu_gry {
font-size: 1.8rem;
font-weight: 500;
letter-spacing: 0.2em;
padding: 15px 20px 15px 25px;
background: #F7F7F7;
display: block;
position: relative;
margin: 30px 0 50px;
}
.menu_gry::before {
content: "";
display: inline-block;
background-color: #333;
width: 2px;
height: 100%;
position: absolute;
left: 0;
top: 0;
}
.data_txt {
font-size: 1.5rem;
line-height: 180%;
}

@media all and (max-width : 767px ){
.menu_gry {
font-size: 1.3rem;
letter-spacing: 0.1em;
padding: 10px 10px 10px 15px;
margin: 20px 0 30px;
}
.data_txt {
font-size: 1.2rem;
}
}


/*-------------------------------------------------
フィルムコミッション
-------------------------------------------------*/

#page_film .no_border {
border-top: none;
}
#page_film .no_border::before {
display: none;
}

@media all and (max-width : 767px ){
#page_film .intro_box_wrap {
margin-bottom: 0;
}
}

/*-------------------------------------------------
マーケティング / DMO事業
-------------------------------------------------*/

#page_marketing .target_table td {
text-align: left;
}
#page_marketing .service_txt {
margin-bottom: 40px;
}
#page_marketing .service_title {
margin-top: 50px;
}
.subtitle_list {
font-size: 2.0rem;
font-weight: 500;
letter-spacing: 0.2em;
margin-bottom: 40px;
}
.subtitle_list li {
margin-bottom: 5px;
}

@media all and (max-width : 820px ){
.subtitle_list {
font-size: 1.8rem;
}
}

@media all and (max-width : 767px ){
.subtitle_list {
font-size: 1.4rem;
letter-spacing: 0.1em;
margin-bottom: 20px;
}
}