@charset "UTF-8";

/* ▼▼▼全サイト共通で使用するcss（common） */
/* 全体で常に使用するスタイル(*) */
body{
box-sizing: border-box;
font-family: Austin News, georgia, times, serif;
position: relative;
width: 100%;
min-height: 100vh;
word-break: break-word;
background-color: #F0F0F0;
}
body::after{
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
z-index: -100;
background: #F0F0F0;
opacity: 0.1;
}
#header {
z-index: 1;
}
.wrap{
max-width: 85%;
margin: 0 auto 3em;
}
.wrap a{
text-decoration: none;
}
.Sidebar{
z-index: 400;
}
.Sidebar_inner{
height: 100%;
}
.Sidebar_header{
height: 100%;
}
.Sidebar_header >.inner{
background-color: #F0F0F0;
width: 240px!important;
height: 100%;
}
#gloval_nav ul {
list-style: none;
text-align: center;
}
#gloval_nav ul li {
position: relative;
}
#gloval_nav ul li >a {
position: relative;
}
#gloval_nav a{
text-decoration: none;
color:#012169;
font-size: 1.1em;
padding: 12.5px 0;
display: block;
-moz-transition: background-color .3s linear;
-webkit-transition: background-color .3s linear;
transition: background-color .3s linear;
}
#gloval_nav .sub_menu_nav {
position: fixed;
left: 200px;
top: 0;
padding-top: 60px;
z-index: 4;
background: rgb(120, 179, 230);
width: 0;
height: 100%;
overflow: hidden;
-moz-transition: width .1s ease-out;
-webkit-transition: width .1s ease-out;
transition: width .1s ease-out;
}
#gloval_nav .sub_menu_nav.is-active > a, #gloval_nav a:hover{
background: rgb(120, 179, 230);
color: #fff;
}
#gloval_nav .sub_menu_nav a{
color: aliceblue;
font-size: 1.1em;
}
#gloval_nav .sub_menu_nav li a.main_nav_text{
font-size: 1.4em;
}
#gloval_nav .sub_menu_nav a,
#gloval_nav .sub_menu:hover .sub_menu_nav{
width: 170px;
}
#uk_flag {
width: 10em;
line-height: 2.4em;
}
#uk_flag_2 {
line-height: 1.5em;
}
.flag_space {
padding-right: 20px;
}
/*ヘッダータイトルのスタイル（#UK_header）/*
/* 共通 */
#UK_header {
height: 150px;
}
.inner_area {
max-width: 100%;
background-color: #012169;
position: relative;
z-index: -100;
}
.main_title{
font-family: Arial, Helvetica, sans-serif;
}
/* コンテンツを入れるスタイル（common_main ※-webkitは拡張機能に利用）/*
/* 共通 */  
.common_main{
width: 100%;
box-sizing: border-box;
}
.common_detail >.inner{
box-sizing: border-box;
line-height: 1.6;
}
.item-c5r2 a img .title:hover{
display: none!important;
}

/*文字を浮かべる(fadeInDown updown)/*
/* 共通 */
.common_main h2::before{
position: absolute;
top: 0;
left: 0;
background: linear-gradient(#012169, #C8102E);
}
.common_main h3{
font-size: 1.5em;
margin-bottom: 10px;
position: relative;
line-height: 1.8;
padding-left: 5px;
}
/*リード文のスタイル（Read_Area） /*
/* 共通 */
.section_text_2{
font-size: 4em;
display: flex;
align-items: center;
justify-content: center;
color: #000;
padding: 5%;
}
/* スマホ専用ナビゲーションのスタイル（Sp_navigation）*/
/* sp */
#Sp_navigation {
float: left;
width: 30%;
margin: 0;
padding: 0;
} 
#Sp_navigation h3 {
margin: 0;
padding: 8px 5px 5px;
background: #8d990f;
color: aliceblue;
font-size: 12px;
text-align: center;
} 
#Sp_menu h3:nth-of-type(1) {
background: #8d990f;
} 
#Sp_menu h3:nth-of-type(2) {
background: #99820f;
} 
#Sp_navigation ul{
list-style-type: none;
margin: 0;
padding: 0;
background: #fff;
border-left: 5px solid #8d990f;
} 
#Sp_navigation ul li{
width: 100%;
margin: 0;
padding: 0;
} 
#Sp_navigation ul li a{
display: block;
margin: 0;
padding: 8px 10px;
color: #333;
font-size: 12px;
text-align: left;
text-decoration: none;
} 
#Sp_navigation  li a:hover{
background: #eee;
} 
#Toggle{
display: none;
} 
.large-separator {
    border-bottom: 1px solid #d8d8d8;
    margin: 40px 0;   /* 上下だけ余白 */
}

/* 主要都市ボックスのスタイル（city_item_info）/*
/* 共通 */
.street_map{
width: 100%;
height: 500px; 
margin-bottom: 4em;
} 
.city_box_image{
transition: all 1.1s;
} 
.city_box_image:hover{
transform:scale(1.08, 1.08);
transition: all 1.1s;
} 
.city_box_image figcaption{
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
padding: 20px;
display: flex;
flex-direction: column;
justify-content: flex-end;
background-image: -webkit-linear-gradient(bottom rgba(0,0,0,0.8) 0%, transparent 100%);   
background-image: -webkit-linear-gradient(90deg, #14b9d5 2%, rgba(239,208,60,0) 40%);
} 
.city_box_image.blue figcaption{
background-image: -webkit-linear-gradient(bottom #7773 0%, rgba(239,208,60,0) 100%);   
background-image: -webkit-linear-gradient(90deg, #14b9d5 2%, rgba(239,208,60,0) 40%, rgba(255,255,255,0) 100%);
background-image: -ms-linear-gradient(90deg, #14b9d5 2%, rgba(239,208,60,0) 40%, rgba(255,255,255,0) 100%);
background-image: -o-linear-gradient(90deg, #14b9d5 2%, rgba(239,208,60,0) 40%, rgba(255,255,255,0) 100%);
} 
.city_box_image.blue p{
color: #fff !important;
display: block !important;
float: left;
text-align: left;
font-weight: 400;
text-shadow: none!important;
font-size: 25px;
font-family: 'Capriola', sans-serif !important;
} 

#back_top a{
padding: 7px;
color:#C8102E;
transition: 1s;
}
#back_top a:hover{
opacity: 0.75;
}
#back_top .fa-solid{
font-size: 35px;
}
.fa-chevron-up::before{
content: \f077;
}
/* コピーライト（copy_right) /*
/* 共通 */
.copy_right{
font-size: 0.85em;
padding: 35px;
text-align: center;
font-family: Austin News, georgia, times, serif;
}
/* TOP画像のスタイル（Top_image） */
/* 共通 */
.Top_image::before{
position: absolute;
content: "";
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(128, 226, 200, 0.22);
z-index: 100;
}
/* TOPのテキストキャプション（Top_caption） */
.Top_caption{
position: absolute;
right: 0%;
top: 37.2%;
left: 0%;
z-index: 10;
padding-top: 20px;
padding-bottom: 20px;
color: #fff;
text-align: center;
background-color: rgba(0, 0, 0, 0.3);
z-index: 110;
}


/* スマホ用（540px以下）はここにまとめる */
@media screen and (max-width: 540px) {
.flex_images_categoryindex {
position: relative;
max-width: 100%;
margin-bottom: 30px;
}
}

/* スマホ専用（541～768px以下） */
@media (min-width: 541px) and (max-width: 768px) {
.flex_images_categoryindex{
position: relative;
margin: 10px;
}
}

/* スマホ用（768px以下）はここにまとめる */
@media screen and (max-width: 768px) {
.baner_container{
position: relative;
margin: 0 auto 4em;
width: 100%;
}
#Sp_navigation ul li{
width: 50%;
}
#Sp_navigation ul li:nth-of-type(2n){
border-right: 0;
}
}

/* スマホ用（768～1100px以下） */
@media (min-width: 768px) and (max-width: 1100px) {
.baner_container{
position: relative;
margin: 0 auto 4em;
width: 90%;
}
.flex_images_categoryindex{
position: relative;
margin: 10px;
}
.pagebody .container{
max-width: 100%;
margin: 0 auto;
padding: 0 30px 0;
}
.Top_caption h1 {
font-family: Austin News, georgia, times, serif;
font-weight: 500;
align-items: center;
color: #fff;
font-size: 2em;
line-height: 1.2;
text-shadow: 0 2px 1px rgba(0, 0, 0, 0.8);
margin-bottom: 0.2em;
}
.Top_caption p{
color: #fff;
font-family: Austin News,georgia,times,serif;
font-size: 2em;
text-shadow: 0 1px 2px rgba(0,0,0,0.8);
}
}

/* スマホ専用（768px） */
@media screen and (max-width: 768px) {
body{
top: 107px;
}
.Top_image{
position: relative;
width: 100%;
height: auto;
margin-bottom: 2em;
}
.Top_image .read_1{
font-size: clamp(22px, 6vw, 40px);
color: #fff;
font-family: Austin News,georgia,times,serif;
width: 1500px;
text-align: left;
z-index: 1000;
text-shadow: 0 3px 1px rgba(0, 0, 0, 0.9);
}
.Top_image .read_2{
font-size: clamp(18px, 5vw, 32px);
color: #fff;
font-family: Austin News,georgia,times,serif;
text-align: left;
}
.Top_caption{
position: absolute;
right: 0%;
top: 35%;
left: 0%;
z-index: 10;
padding-top: 20px;
padding-bottom: 20px;
color: #fff;
text-align: center;
background-color: rgba(0, 0, 0, 0.3);
z-index: 110;
}
.Top_caption h1 {
font-family: Austin News, georgia, times, serif;
font-weight: 500;
align-items: center;
color: #fff;
font-size: 2em;
line-height: 1.2;
text-shadow: 0 2px 1px rgba(0, 0, 0, 0.8);
margin-bottom: 0.2em;
}
.Top_caption p{
color: #fff;
font-family: Austin News,georgia,times,serif;
font-size: 1.5em;
text-shadow: 0 1px 2px rgba(0,0,0,0.8);
}
}

/* PC専用（768px） */
@media screen and (min-width: 768px) {
body{
top: 89px;
}
.Top_image{
position: relative;
width: 100%;
height: auto;
margin-bottom: 3em;
}
.Top_caption{
position: absolute;
right: 0%;
top: 37.2%;
left: 0%;
z-index: 10;
padding-top: 20px;
padding-bottom: 20px;
color: #fff;
text-align: center;
background-color: rgba(0, 0, 0, 0.3);
z-index: 110;
}
}

/* SP専用（1100px以下）はここにまとめる */
@media screen and (max-width: 1100px) {
#pagebody {
height: 100vh;
z-index: 50;
}
body .common_main  {
padding: 0 25px;
}
.common_main h2::before{
content: '';
height: 100%;
width: 6px;
}
.common_main h1{
font-weight: 600;
color: #005584;
font-size: 1.5em;
text-align: center;
font-family: 'Quando';
margin-bottom: 2em;
}
.common_main h2{
font-size: 2em;
margin-bottom: 1em;
position: relative;
line-height: 1.8;
padding-left: 15px;
font-family: Austin News,georgia,times,serif;
}
#Sp_navigation{
float: none;
background: #ebe7d2;
position: absolute;
top: 0;
right: 25px;
z-index: 999;
}
#Sp_menu{
display: none;
position: relative;
}
#Sp_menu::after{
position: absolute;
content: "";
bottom: 0;
left: 0;
width: 100%;
height: 1px;
background: #d6cea3;
}
#Sp_navigation h3{
clear: both;
position: relative;
z-index: 9999;
}
#Sp_navigation ul{
border-left-width: 3px;
border-right-width: 3px;
border-right-style: solid;
background: #ebe7d2;
}
#Sp_navigation ul::before, 
#Sp_navigation ul::after{
content: "";
display: table;
}
#Sp_navigation ul::after{
clear: both;
}
#Sp_navigation ul::after{
clear: both;
}
#Sp_navigation ul li{
float: left;
width: 50%;
box-sizing: border-box;
border-right: 1px solid #d6cea3;
border-bottom: 1px solid #d6cea3;
}
#Sp_navigation ul li:nth-of-type(4n){
border-right: 0;
}
#Sp_navigation ul li a{
text-align: center;
padding: 12px 0;
}
#Sp_navigation ul li a::hover{
background: #f5f4ea;
}
#Toggle{
display: block;
position: relative;
width: 100%;
background: #222;
} 
#Toggle a{
display: block;
position: relative;
padding: 15px 0 10px;
color: #fff;
text-align: center;
text-decoration: none;
} 
#Toggle::before{
display: block;
content: "";
position: absolute;
top: 50%;
left: 10px;
width: 20px;
height: 20px;
margin-top: -10px;
background: #fff;
} 
#Toggle a::before, #Toggle a::after{
display: block;
content: "";
position: absolute;
top: 50%;
left: 10px;
width: 20px;
height: 4px;
background: #222;
} 
#Toggle a::before{
margin-top: -6px;
} 
#Toggle a::after{
margin-top: 2px;
} 
.Sidebar{
display: none;
}
li.city_box{
position: relative;
margin: 0 auto 1em;
}
.block_one{
max-width: 100%;
margin-bottom: 3em;
}
#back_top{
position: fixed;
right: 7px;
bottom: 80px;
}
.genre_container{
margin: 0 auto 3em;
gap: 10px;
display: grid;
grid-template-columns: repeat(2, 4fr);
padding-top: 10px;
}
/* 外側 → フェードと表示切替 */
.genre_item_info {
opacity: 0;
visibility: hidden;
position: absolute;
transition: opacity .3s ease-out;
}
.genre_item_info.active {
opacity: 1;
visibility: visible;
position: relative;
}

/* 内側 → ふわっと動く（translateY） */
.fade_wrap {
display: flex;
flex-flow: row wrap;
justify-content: space-between;
align-items: center;
width: 100%;

/* ← ふわっと演出（これが必要！）  /*  */
opacity: 0;
transform: translateY(18px);
transition:
opacity 1s cubic-bezier(.25,1,.25,1),
transform 1s cubic-bezier(.25,1,.25,1);
}
.genre_item_info.active .fade_wrap {
opacity: 1;
transform: translateY(0);
}
.genre_left_item {
width: 90%;
position: relative;
margin: 0 auto 1em;
}
.genre_right_item {
width: 90%;
margin: 0 auto 1em;
}
}



/* PC専用（1101px以上）は全てまとめる */
@media screen and (min-width: 1101px) {
.baner_container{
position: relative;
margin: 0 auto 4em;
width: 70%;
}
.common_wrapper {
display: flex;
box-sizing: border-box;
}
.Sidebar{
position: fixed;
height: 100vh;
box-shadow: 0px 5px 5px #999;
border-bottom: 10px solid #fff;
width: 240px!important;
}
.common_main{
width: 100%;
padding-left: 200px;
box-sizing: border-box;
}
.common_detail >.inner{
padding: 0 30px;
}
.common_main h1{
font-weight: 600;
color: #005584;
font-size: 2em;
text-align: center;
margin-bottom: 2em;
font-family: 'Quando';
}
.common_main h2{
font-size: 3em;
margin-bottom: 1em;
position: relative;
line-height: 1.8;
padding-left: 15px;
font-family: Austin News,georgia,times,serif;
}
.common_main h2::before{
content: '';
height: 100%;
width: 6px;
}
#Sp_menu{
display: none;
position: relative;
}
li.city_box{
max-width: 45%;
position: relative;
display: inline-block;
margin: 0px 5px 0px;
overflow: hidden;
}
li.city_box_2{
max-width: 35%;
position: relative;
display: inline-block;
margin: 0px 5px 0px;
overflow: hidden;
}
#back_top{
position: fixed;
right: 6%;
bottom: 10%;
}
.Top_caption h1{
font-family: Austin News,georgia,times,serif;
font-weight: 500;
align-items: center;
color: #fff;
font-size: 4em;
line-height: 1.2;
text-shadow: 0 2px 1px rgba(0,0,0,0.8);
margin-bottom: 0.2em;
}
.Top_caption p{
color: #fff;
font-family: Austin News,georgia,times,serif;
font-size: 2.5em;
text-shadow: 0 1px 2px rgba(0,0,0,0.8);
}
.genre_container{
margin: 0 auto 3em;
gap: 10px;
display: grid;
grid-template-columns: repeat(5, 4fr);
padding-top: 10px;
}
.flex_images_categoryindex{
position: relative;
margin-bottom: 30px;
}
/* 外枠：ボタンを重ねるためのラッパー */
.Visit_wrapper {
  position: relative;
}
/* 外枠：ボタンを重ねるためのラッパー */
.Visit_wrapper {
  position: relative;
}
/* 矢印ボタン */
.Visit_nav {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 36px;
height: 36px;
border-radius: 50%;
border: none;
background: rgba(255,255,255,0.85);
box-shadow: 0 3px 10px rgba(0,0,0,0.25);
cursor: pointer;
display: grid;
place-items: center;
font-size: 20px;
z-index: 10;
}

.Visit_prev { left: 0; }
.Visit_next { right: 0; }

.Visit_nav:hover {
background: #fff;
}

/* 外側 → フェードと表示切替 */
.genre_item_info {
opacity: 0;
visibility: hidden;
position: absolute;
transition: opacity .3s ease-out;
}
.genre_item_info.active {
opacity: 1;
visibility: visible;
position: relative;
}

/* 内側 → ふわっと動く（translateY） */
.fade_wrap {
display: flex;
flex-flow: row wrap;
justify-content: space-between;
align-items: center;
width: 100%;

/* ← ふわっと演出（これが必要！）  /*  */
opacity: 0;
transform: translateY(18px);
transition:
opacity 1s cubic-bezier(.25,1,.25,1),
transform 1s cubic-bezier(.25,1,.25,1);
}
.genre_item_info.active .fade_wrap {
opacity: 1;
transform: translateY(0);
}
.genre_left_item {
width: 50%;
position: relative;
margin-bottom: 1em;
}
.genre_right_item {
width: 49%;
margin-bottom: 1em;
}
}

/* ▲▲▲全サイト共通で使用するcss（common）▲▲▲ */