@charset "utf-8";
/* top */

/*-------------------------------------------------
コンテンツ領域
-------------------------------------------------*/

.wrapper {
padding: 0;
}

/*-------------------------------------------------
header
-------------------------------------------------*/

.filter_wht {
filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(281deg) brightness(107%) contrast(100%);
}
.header{
background-color: transparent; 
backdrop-filter: none;
padding-bottom: 25px;
}
.header.change-color {
background-color: rgba(0,0,0,0.75); 
transition: all .75s;
}
.g_navi_menu {
border-color: rgba(255,255,255,0.5);
}
.g_navi_menu li a {
color: #fff;
}.g_navi_menu li a:hover {
color: #ddd;
}
.g_navi_menu a span {
color: #fff;
opacity: 0.4;
}
.has-child > a::before {
border-top: 1px solid #fff;
border-right:1px solid #fff;
}
.g_navi_menu .gnav01 a::after {
opacity: 0;
}
.g_navi_menu li a::after {
background-color: #D13239;
}

@media all and (max-width : 767px ){
.filter_wht {
margin-top: 25px;
}
.drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
background-color: #eee;
}
}


/*-------------------------------------------------
KV swiper
-------------------------------------------------*/

.kv_slide {
position: relative;
}
.kv_copy_wrap {
color: #fff;
display: flex;
flex-direction: column;
align-items: center;
position: absolute;
top: 45%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
z-index: 5;
}
.kv_copy {
width: 100%;
text-align: center;
white-space: nowrap;
display: block;
text-shadow: 1px 1px 2px rgba(0,0,0,0.4);
}
.kv_copy dt {
font-family: "Josefin Sans", serif;
font-weight: 400;
font-size: 6.0rem;
letter-spacing: 0.1em;
line-height: 100%;
margin-bottom: 20px;
}
.kv_copy dd {
font-weight: 500;
font-size: 2.4rem;
letter-spacing: 0.4em;
}

@media all and (max-width : 820px ){
.kv_copy dt {
font-size: 5.0rem;
}
}

@media all and (max-width : 767px ){
.kv_copy_wrap {
position: absolute;
top: 30%;
}
.kv_copy dt {
font-size: 3.2rem;
margin-bottom: 10px;
}
.kv_copy dd {
font-size: 1.6rem;
letter-spacing: 0.3em;
}
}

.kv_slide .swiper .swiper-wrapper {
position: relative;
}
.kv_slide .swiper .swiper-wrapper::after {
content: "";
display: block;
background-image: url("../img/top/bg_grid.png");
background-repeat: repeat;
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
}
.mv01 .swiper-fade .swiper-slide {
-webkit-transition-property: opacity, -webkit-transform !important;
transition-property: opacity, -webkit-transform !important;
transition-property: opacity, transform !important;
transition-property: opacity, transform, -webkit-transform !important;
pointer-events: none;
}
.mv01 .swiper-fade .swiper-slide-active {
pointer-events: auto;
}
.mv01 .swiper-pagination {
position: absolute;
z-index: 1;
top: 0;
bottom: 0;
left: 3.2rem;
height: -webkit-max-content;
height: -moz-max-content;
height: max-content;
margin: auto;
}

@media all and (max-width : 767px ){
.mv01 .swiper-pagination {
position: absolute;
z-index: 1;
top: 0;
bottom: 0;
left: 0.7rem;
}
}

.mv01 .swiper-pagination-bullet {
display: block;
width: 3px;
height: 4rem;
cursor: pointer;
-webkit-transition: var(--transition);
transition: var(--transition);
background-color: rgba(255, 255, 255, 0.6);
opacity: 100%;
border-radius: 0%;
}
.mv01 .swiper-pagination-bullet:not(:first-child) {
margin-top: 0.8rem;
}
.mv01 .swiper-pagination-bullet-active {
background-color: #D13239;
}
.mv01 .slide-media {
width: 100%;
height: 100vh;
}

@media all and (max-width : 767px ){
.mv01 .slide-media {
height: 100dvh; 
}
}

.mv01 .slide-media img {
-webkit-transition: 5s 1s ease-out;
transition: 5s 1s ease-out;
width: 100%;
height: 100%;
object-fit: cover;
}
.mv01 .swiper-slide[class*=-active] .slide-media img {
-webkit-transition-delay: 0s;
transition-delay: 0s;
-webkit-transform: scale(1.05);
transform: scale(1.05);
}

@-webkit-keyframes mv01-fadeIn {
0% {
-webkit-transform: scale(0.5);
transform: scale(0.5);
opacity: 0;
-webkit-filter: blur(300px);
filter: blur(300px);
}
100% {
-webkit-transform: scale(1);
transform: scale(1);
opacity: 1;
-webkit-filter: blur(0);
filter: blur(0);
}
}

@keyframes mv01-fadeIn {
0% {
-webkit-transform: scale(0.5);
transform: scale(0.5);
opacity: 0;
-webkit-filter: blur(300px);
filter: blur(300px);
}
100% {
-webkit-transform: scale(1);
transform: scale(1);
opacity: 1;
-webkit-filter: blur(0);
filter: blur(0);
}
}

/* 重要なお知らせ　ティッカー
-------------------------------------------------- */

.ticker_box {
width: 43%;
height: 70px;
position: absolute;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.6);
display: flex;
justify-content: flex-start;
align-items: center;
z-index: 5;
padding: 0 10px 0 0px;
}

@media all and (max-width : 1260px) {
.ticker_box {
width: 100%;
height: 60px;
left: 0;
right: 0;
bottom: 0;
}
}

.news_title_bg {
height: 100%;
display: flex;
align-items: center;
}
.newstitle {
font-weight: 400;
font-size: 1.4rem;
line-height: 100%;
letter-spacing: 0.1em;
position: relative;
padding: 0 30px;
color: #fff;
margin-top: 3px;
white-space: nowrap;
}
.newstitle::after {
content: "";
display: inline-block;
width: 16px;
height: 1px;
background-color: #fff;
position: absolute;
top: 50%;
right: 0px;
}
.ticker {
background-color: transparent;
padding-bottom: 30px;
border: none;
max-width: 650px;
width: 100%;
margin-left: 5px;
}
.ticker_inner {
z-index: 200;
color: #fff;
}
.ticker_inner .date {
font-family: "Oswald", serif;
font-weight: 400;
font-size: 1.4rem;
line-height: 100%;
margin-right: 15px;
letter-spacing: 0.1em;
}
.ticker_inner li a {
text-decoration: underline;
letter-spacing: 0.1em;
font-size: 1.4rem;
}

@media all and (max-width : 820px ){
.ticker_inner li a {
font-size: 1.2rem;
}
}

.ticker_inner li a:hover {
text-decoration: none;
}
.news_article {
width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}


@media all and (max-width : 767px ){
.ticker_box {
width: 100%;
height: 65px;
display: flex;
justify-content: flex-start;
align-items: flex-start;
flex-direction: column;
padding: 0px 10px 0px 0px;
}
.news_title_bg {
display: none;
}
.ticker {
padding-bottom: 40px;
margin-left: 0px;
margin-bottom: 8px;
}
.ticker_inner .date {
font-size: 1.1rem;
margin-right: 0px;
line-height: 160%;
}
.ticker_inner li a,
.ticker_inner li {
font-size: 1.2rem;
margin-top: 0px;
padding-top: 0px;
}
}


/*-------------------------------------------------
スクロール
-------------------------------------------------*/

.scroll_btn {
display: block;
z-index: 10;
position: absolute;
bottom: 30px;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
}

@media all and (max-width : 1260px ){
.scroll_btn {
bottom: 80px;
}
}

.scroll_txt {
font-family: "Josefin Sans", serif;
font-weight: 400;
font-size: 1.2rem;
color: #fff;
letter-spacing: 0.1em;
}
.scroll_btn span {
width: 1px;
height: 100px;
display: block;
margin: 0 auto 8px;
background-color: #fff;
position: relative;
}

@media all and (max-width : 767px ){
.scroll_txt {
font-size: 1.0rem;
}
}

.scroll_btn span:after {
content: '';
position: absolute;
top: 0;
width: 9px;
height: 9px;
border-radius: 100%;
background-color: #fff;
left: -4px;
right: 0;
margin: auto;
-webkit-animation: sdb 2s infinite;
animation: sdb 2s infinite;
}
@-webkit-keyframes sdb {
0% {
-webkit-transform: translate(0, 0);
opacity: 0;
}
40% {
opacity: 1;
}
80% {
-webkit-transform: translate(0, 100px);
opacity: 0;
}
100% {
opacity: 0;
}
}
@keyframes sdb {
0% {
transform: translate(0, 0);
opacity: 0;
}
40% {
opacity: 1;
}
80% {
transform: translate(0, 100px);
opacity: 0;
}
100% {
opacity: 0;
}
}


/*-------------------------------------------------
block_title
-------------------------------------------------*/

.block_title_en {
font-family: "Oswald", serif;
font-weight: 400;
font-size: 1.3rem;
letter-spacing: 0.05em;
color: #111;
padding-left: 20px;
position: relative;
margin-bottom: 15px;
line-height: 100%;
}
.block_title_en::before {
content: "";
display: inline-block;
background-color: #D13239;
width: 10px;
height: 3px;
position: absolute;
left: 0;
top: 50%;
}
.block_title_jp {
font-size: 2.6rem;
letter-spacing: 0.15em;
line-height: 100%;
margin-left: 20px;
}
.sec_news .block_title_wrap {
margin-bottom: 70px;
}

@media all and (max-width : 767px ){
.block_title_en {
font-size: 1.0rem;
padding-left: 13px;
margin-bottom: 10px;
}
.block_title_en::before {
width: 8px;
height: 2px;
position: absolute;
left: 0;
top: 48%;
}
.block_title_jp {
font-size: 1.6rem;
letter-spacing: 0.15em;
line-height: 100%;
margin-left: 12px;
}
.sec_news .block_title_wrap {
margin-bottom: 30px;
}
}


/*-------------------------------------------------
sec_news
-------------------------------------------------*/

.content {
padding: 50px 0 40px;
}
.sec_news {
margin-bottom: 120px;
}

@media all and (max-width : 820px ){
.content {
padding: 50px 0 20px;
}
.sec_news {
margin-bottom: 60px;
}
}

@media all and (max-width : 767px ){
.content {
padding: 30px 0 0px;
}
.sec_news {
margin-bottom: 40px;
}
}

.tab_menu_title {
font-size: 2.2rem;
font-weight: 500;
letter-spacing: 0.15em;
padding-left: 15px;
margin-bottom: 20px;
}
.tab_menu_title::before {
width: 0px;
}
#page_home .tabs .link_btn_box {
justify-content: flex-start;
margin-top: 40px;
}

@media all and (max-width : 767px ){
.tab_menu_title {
font-size: 1.4rem;
letter-spacing: 0.1em;
padding-left: 6px;
margin-bottom: 10px;
}
#page_home .tabs .link_btn_box {
justify-content: center;
margin-top: 20px;
}
#page_home .tabs .link_btn_box .link_btn {
padding: 10px 80px;
}
}


/*-------------------------------------------------
sec_link_info
-------------------------------------------------*/

.sec_link_info {
margin-bottom: 100px;
}

@media all and (max-width : 820px ){
.sec_link_info {
margin-bottom: 40px;
}
}

@media all and (max-width : 767px ){
.sec_link_info {
margin-bottom: 20px;
}
}

.theme_box_wrap {
display: flex;
flex-wrap: wrap;
}
.theme_box {
width: calc(33.33333% - 40px / 3);
margin-right: 20px;
}
.theme_box:nth-child(3n) {
margin-right: 0px;
}
.theme_imgbox a {
position: relative;
}
.theme_imgbox a::before {
content: "";
display: block;
position: absolute;
width: 100%;
height: 100%;
left: 0px;
top: 0px;
opacity: 0.35;
z-index: 5;
background: #000;
transition: opacity 0.3s ease 0s;
}
.theme_img {
position: relative;
background: #000;
overflow: hidden;
}
.theme_img img {
width: 100%;
transition-duration: 0.7s;
}
.theme_imgbox a:hover .theme_img img {
transform: scale(1.05);
transition-duration: 0.7s;
}
.theme_title_box {
width: 100%;
display: flex;
align-items: center;
flex-direction: column;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
z-index: 5;
}
.theme_jp_title {
font-weight: 700;
font-size: 1.6em;
color: #fff;
letter-spacing: 0.2em;
line-height: 100%;
margin-bottom: 15px;
}
.theme_en_title {
font-family: "Oswald", serif;
font-weight: 400;
font-size: 1.1rem;
color: #fff;
letter-spacing: 0.05em;
line-height: 100%;
}

@media all and (max-width : 820px ){
.theme_jp_title {
font-size: 1.4em;
letter-spacing: 0.2em;
}
.theme_en_title {
font-size: 1.1rem;
}
}

@media all and (max-width : 767px ){
.theme_box_wrap {
display: flex;
flex-wrap: wrap;
flex-direction: column;
}
.theme_box {
width: 100%;
margin-right: 0px;
margin-bottom: 20px;
}
.theme_jp_title {
font-weight: 700;
font-size: 1.4em;
letter-spacing: 0.2em;
margin-bottom: 15px;
}
.theme_en_title {
font-size: 1.0rem;
}
}


/*-------------------------------------------------
sec_data
-------------------------------------------------*/

.sec_data {
margin-bottom: 100px;
}

@media all and (max-width : 820px ){
.sec_data {
margin-bottom: 40px;
}
}

.update_box {
background-image: url("../img/top/update_bg.svg");
background-repeat: no-repeat;
background-position: left top;
background-size: cover;
width: 83px;
height: 83px;
font-family: "Oswald", serif;
font-weight: 400;
color: #fff;
text-align: center;
display: block;
margin-left: 20px;
}
.update_box dt {
font-size: 1.2rem;
padding: 22px 0 5px;
line-height: 100%;
}
.update_box dd {
font-size: 1.0rem;
}
.data_title_wrap {
display: flex;
align-items: center;
margin-bottom: 30px;
}
.sec_title {
font-size: 2.2rem;
font-weight: 700;
letter-spacing: 0.2em;
margin: 0 0 20px 20px;
}
.sec_txt {
font-size: 1.5rem;
letter-spacing: 0.1em;
line-height: 180%;
margin: 0 0 50px 20px;
}

@media all and (max-width : 767px ){
.update_box {
width: 70px;
height: 70px;
margin-left: 10px;
}
.update_box dt {
font-size: 1.0rem;
padding: 20px 0 2px;
}
.update_box dd {
font-size: 0.9rem;
}
.sec_title {
font-size: 1.5rem;
letter-spacing: 0.2em;
margin: 0 0 15px 10px;
}
.sec_txt {
font-size: 1.2rem;
line-height: 160%;
margin: 0 0 20px 10px;
}
}

.databox_wrap {
display: flex;
flex-wrap: wrap;
}
.databox {
width: calc(33.33333333% - 40px / 3);
margin-right: 20px;
margin-bottom: 40px;
background: #fff;
position: relative;
}
.databox:nth-child(3n) {
margin-right: 0px;
}
.data_title_box {
width: 100%;
padding: 10px 0;
background: #231815;
}
.data_title {
font-size: 1.5rem;
font-weight: 600;
line-height: 130%;
color: #fff;
display: block;
text-align: center;
}
.databox_inner {
padding: 25px 30px 30px 30px;
display: flex;
flex-direction: column;
align-items: center;
}
.data_year {
font-size: 1.6rem;
font-weight: 600;
letter-spacing: 0.1em;
position: relative;
line-height: 100%;
padding-bottom: 10px;
margin-bottom: 25px;
}
.data_year::after {
content: "";
display: block;
background-color: #000;
width: 100%;
height: 1px;
position: absolute;
bottom: 0;
left: 0;
}
.data_img {
margin-bottom: 15px;
}
.data_img img {
width: auto;
height: 100px;
}
.data_subtitle {
font-size: 1.4rem;
font-weight: 700;
letter-spacing: 0.1em;
margin-bottom: 10px;
}
.d_box {
width: 100%;
display: flex;
align-items: flex-end;
justify-content: space-between;
padding: 10px 5px 12px 5px;
border-bottom: dotted 1px #ccc;
}
.data_left {
font-size: 1.3rem;
font-weight: 600;
letter-spacing: 0.1em;
line-height: 1.2;
}
.data_center {
font-size: 1.3rem;
line-height: 100%;
letter-spacing: 0;
}
.data_center span {
font-family: "Oswald", serif;
font-weight: 500;
font-size: 2.6rem;
letter-spacing: 0.05em;
}
.data_right.up {
color: #FC200C;
position: relative;
width: fit-content;
padding-left: 20px;
}
.data_right.up::before {
content: "";
display: inline-block;
background-image: url("../img/top/arrow_up.svg");
background-repeat: no-repeat;
background-size: contain;
width: 16px;
height: 24px;
position: absolute;
left: 0;
bottom: 0;
}
.data_right.down {
color: #3947D0;
position: relative;
width: fit-content;
padding-left: 20px;
}
.data_right.down::before {
content: "";
display: inline-block;
background-image: url("../img/top/arrow_down.svg");
background-repeat: no-repeat;
background-size: contain;
width: 16px;
height: 24px;
position: absolute;
left: 0;
bottom: 0;
}
.data_right .ratio {
font-size: 1.0rem;
font-weight: 700;
line-height: 100%;
display: block;
text-align: center;
margin-bottom: 8px;
}
.data_right .value {
font-family: "Oswald", serif;
font-weight: 400;
font-size: 1.3rem;
line-height: 100%;
}
.data_right .value span {
font-size: 2.4rem;
font-weight: 500;
}
.databox_inner .link_btn_box {
margin-top: 30px;
width: 100%;
}
.databox_inner .link_btn_box .link_btn {
font-size: 1.2rem;
letter-spacing: 0.1em;
width: 100%;
padding: 12px 10px;
}

@media all and (max-width : 1260px ){
.data_year {
font-size: 1.4rem;
margin-bottom: 20px;
}
.data_subtitle {
font-size: 1.3rem;
}
.data_left {
font-size: 1.2rem;
letter-spacing: 0.05em;
}
.data_center {
font-size: 1.1rem;
}
.data_center span {
font-size: 2.0rem;
}
.data_right .ratio {
font-size: 0.9rem;
}
.data_right .value {
font-size: 1.1rem;
}
.data_right .value span {
font-size: 2.0rem;
}
}

@media all and (max-width : 1024px ){
.databox {
width: calc(50% - 30px / 2);
margin-right: 30px;
margin-bottom: 30px;
}
.databox:nth-child(3n) {
margin-right: 30px;
}
.databox:nth-child(2n) {
margin-right: 0px;
}
.databox_inner .link_btn_box .link_btn {
font-size: 1.2rem;
letter-spacing: 0.05em;
}
}

@media all and (max-width : 767px ){
.data_title {
font-size: 1.4rem;
}
.databox_inner {
padding: 20px 15px 20px 15px;
}
.data_year {
font-size: 1.3rem;
font-weight: 600;
margin-bottom: 20px;
}
.databox {
width: 100%;
margin-right: 0px;
margin-bottom: 20px;
}
.databox:nth-child(3n) {
margin-right: 0px;
}
.databox_inner .link_btn_box .link_btn {
font-size: 1.0rem;
letter-spacing: 0.05em;
}
}


/*-------------------------------------------------
sec_business
-------------------------------------------------*/

.sec_business {
margin-bottom: 100px;
}
.sec_business .block_title_wrap {
margin-bottom: 50px;
}
#page_home .sec_business .service_txt_box dd {
font-size: 1.7rem;
font-weight: 500;
line-height: 140%;
letter-spacing: 0.15em;
margin-bottom: 40px;
}

@media all and (max-width : 820px ){
.sec_business {
margin-bottom: 40px;
}
#page_home .sec_business .service_txt_box dd {
font-size: 1.6rem;
letter-spacing: 0.1em;
margin-bottom: 30px;
}
}

@media all and (max-width : 767px ){
.sec_business {
margin-bottom: 20px;
}
.sec_business .block_title_wrap {
margin-bottom: 20px;
}
#page_home .sec_business .service_txt_box dd {
font-size: 1.2rem;
letter-spacing: 0.1em;
margin-bottom: 20px;
}
}


/*-------------------------------------------------
sec_about
-------------------------------------------------*/

.sec_about {
width: 100%;
background-image: url("../img/top/about_bg.jpg");
background-repeat: no-repeat;
background-size: cover;
background-attachment: fixed;
position: relative;
color: #fff;
}
.sec_about::after {
content: "";
display: block;
background-color: #000;
opacity: 0.35;
width: 100%;
height: 100%;
position: absolute;
left: 0;
top:0;
z-index: 0;
}
.about_box_wrap {
display: flex;
}
.about_box {
margin-left: 20px;
margin-right: 80px;
}
.sec_about .box_m {
position: relative;
z-index: 1;
}
.sec_about .block_title_wrap {
padding-top: 80px;
margin-bottom: 40px;
}
.sec_about .block_title_en {
color: #fff;
}
.about_title_jp {
font-size: 2.2rem;
font-weight: 500;
letter-spacing: 0.2em;
padding-left: 33px;
line-height: 100%;
margin-bottom: 10px;
position: relative;
}
.about_title_jp::before {
content: "";
display: inline-block;
background-color: #fff;
width: 26px;
height: 1px;
position: absolute;
left: 0;
top: 50%;
}
.about_title_en {
font-family: "Oswald", serif;
font-weight: 400;
font-size: 1.0rem;
letter-spacing: 0.05em;
line-height: 100%;
margin: 0 0 15px 33px;
}
.about_list {
display: flex;
flex-direction: column;
gap: 4rem;
padding-top: 4rem;
padding-bottom: 10rem;
border-left: 1px solid #b0b5c2;
margin-left: 35px;
}
.about_box_wrap .about_box:first-of-type .about_list {
padding-bottom: 29.5rem;
}
.about_list li a {
font-size: 1.6rem;
padding-left: 35px;
position: relative;
}
.about_list li a::before {
content: "";
display: inline-block;
background-color: #b0b5c2;
width: 26px;
height: 1px;
position: absolute;
left: 0;
top: 50%;
}

@media all and (max-width : 767px ){
.sec_about {
background-position: right top;
}
.sec_about .block_title_wrap {
padding-top: 30px;
margin-bottom: 30px;
}
.sec_about .block_title_jp {
font-size: 1.5rem;
letter-spacing: 0.1em;
}
.about_box_wrap {
padding-top: 20px;
}
.about_box {
margin-left: 0px;
margin-right: 20px;
}
.about_title_jp {
font-size: 1.6rem;
letter-spacing: 0.15em;
padding-left: 25px;
}
.about_title_jp::before {
width: 18px;
}
.about_title_en {
margin: 0 0 15px 25px;
}
.about_list {
gap: 2rem;
padding-top: 2rem;
padding-bottom: 10rem;
margin-left: 25px;
}
.about_box_wrap .about_box:first-of-type .about_list {
padding-bottom: 22.5rem;
}
.about_list li a {
font-size: 1.2rem;
letter-spacing: 0.05em;
padding-left: 20px;
white-space: nowrap;
}
.about_list li a::before {
width: 16px;
}
}


/*-------------------------------------------------
観光パンフレット
-------------------------------------------------*/

.sec_pamphlet {
padding: 100px 0;
}

@media all and (max-width : 820px ){
.sec_pamphlet {
padding: 50px 0;
}
}

.sec_pamphlet .block_title_wrap {
margin-bottom: 60px;
}

@media all and (max-width : 767px ){
.sec_pamphlet .block_title_wrap {
margin-bottom: 30px;
}
}

.pamphlet_wrap {
position: relative;
padding-bottom: 50px;
margin-bottom: 40px;
overflow: hidden;
}
.pamphlet_wrap_inner {
max-width: 1260px;
margin: 0 auto;
}

@media all and (max-width : 1260px ){
.works_wrap_inner {
padding-left: 20px;
}
}

.slide_pamphlet {
width: 100vw;
margin-right: calc(50% - 50vw);
}
.slide_pamphlet .item_box {
max-width: 326px;
display: flex;
flex-direction: column;
align-items: center;
}
.slide_pamphlet .item_img {
background: #fff;
padding: 10px;
margin-bottom: 15px;
position: relative;
}
.slide_pamphlet .item_img img {
width: auto;
object-fit: contain;
overflow: hidden;
height: 400px;
transition-duration: 0.7s;	
}
.slide_pamphlet .item_img img:hover {
transform: scale(1.02);	
transition-duration: 0.7s;	
opacity: 0.8;
}
.slide_pamphlet .pamphlet_title {
font-weight: 500;
font-size: 1.5rem;
letter-spacing: 0.1em;
}

@media all and (max-width : 767px ){
.pamphlet_wrap {
padding-bottom: 30px;
margin-bottom: 30px;
}
.slide_pamphlet .item_img img {
height: 220px;
}
.slide_pamphlet .pamphlet_title {
font-size: 1.2rem;
letter-spacing: 0.05em;
}
}


/* ページネーション
-------------------------------------------------*/

.pamphlet_wrap .swiper-pagination-bullet,
.relate_wrap .swiper-pagination-bullet{
width: 5px;
height: 5px;
display: inline-block;
border-radius: 100%;
background: #000;
opacity: .2;
margin-right: 10px;
}
.pamphlet_wrap .swiper-pagination-bullet:last-child,
.relate_wrap .swiper-pagination-bullet:last-child{
margin-right: 0px;
}
.pamphlet_wrap .swiper-pagination-bullet-active,
.relate_wrap .swiper-pagination-bullet-active {
opacity: 1;
background: #D13239;
}
.pamphlet_wrap .swiper-pagination,
.relate_wrap .swiper-pagination{
position: absolute;
bottom: 0px;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
}
.pamphlet_wrap .swiper-pagination-bullet:hover,
.relate_wrap .swiper-pagination-bullet:hover{
cursor: pointer;
}


/*-------------------------------------------------
sec_relate
-------------------------------------------------*/

.sec_relate .block_title_wrap {
margin-bottom: 60px;
}

@media all and (max-width : 767px ){
.sec_relate .block_title_wrap {
margin-bottom: 30px;
}
}

.relate_wrap {
position: relative;
padding-bottom: 50px;
margin-bottom: 40px;
overflow: hidden;
}
.relate_wrap_inner {
max-width: 1260px;
margin: 0 auto;
}
.slide_relate {
width: 100vw;
margin-right: calc(50% - 50vw);
}
.relate_box .relate_img {
max-width: 490px;
height: auto;
margin-bottom: 15px;
position: relative;
aspect-ratio: 16 / 9;
object-fit: cover;
background: #000;
overflow: hidden;
}
.relate_box .relate_img img {
width: 100%;
transition-duration: 0.7s;	
}
.relate_box .relate_img img:hover {
transform: scale(1.05);	
transition-duration: 0.7s;	
opacity: 0.8;
}
.relate_title {
font-size: 1.5rem;
font-weight: 500;
padding-left: 25px;
letter-spacing: 0.1em;
position: relative;
}
.relate_title::before {
content: "";
display: inline-block;
background-color: #000;
width: 15px;
height: 1px;
position: absolute;
left: 0;
top: 50%;
}
.relate_url a {
font-family: "Oswald", serif;
font-weight: 400;
color: #999;
font-size: 1.1rem;
letter-spacing: 0.05em;
margin-left: 25px;
}

@media all and (max-width : 767px ){
.relate_wrap {
padding-bottom: 40px;
margin-bottom: 30px;
}
.relate_title {
font-size: 1.2rem;
padding-left: 15px;
}
.relate_title::before {
width: 10px;
top: 9px;
}
.relate_url a {
font-size: 1.0rem;
margin-left: 15px;
}
}