@charset "utf-8";
/*
Theme Name:tokyoyousetsu
Author:KMY
*/

/* LINK */
/* -------------------------------------------------- */
a:link,
a:visited { text-decoration: none; color: #333333; }
a:hover  { text-decoration: none; color: #000; 	transition: 0.3s ease-in-out;
}
a:active { text-decoration: none; color: #000; }
a:hover img{
	transition: 0.3s ease-in-out;
}

/* OUTLINE */
/* -------------------------------------------------- */
html {
	font-size: 100%;
	overflow-x: hidden;
}

/* webフォントのちらつきをなくす */
html.wf-active,
html.loading-delay {
    visibility: visible;
}

body {
	background: #FFFFFF;
	color: #282828;
	font-family: "Noto Sans JP", sans-serif;
	font-feature-settings : "palt";
	line-height: 1.95;
	width: 100%;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
}

img{
	max-width: 100%;
	height: auto;
}

*{
	box-sizing: border-box;
}

a:hover{
	opacity: 0.7;
}

.bebas{
	font-family: "Bebas Neue", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.noto-sans-jp{
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.zen-kaku-gothic-new-regular {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-style: normal;
}
  
.zen-kaku-gothic-new-medium {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	font-style: normal;
}
  
.zen-kaku-gothic-new-bold {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
}
  
 .zen-kaku-gothic-new-black {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 900;
	font-style: normal;
}

.roboto {
	font-family: "Roboto", sans-serif;
	font-style: normal;
}

.pc{
	display: block;
}

.sp{
	display: none;
}

@media (max-width: 768px) {
	.pc{
		display: none;
	}
	
	.sp{
		display: block;
	}
	
}

/* 共有 */

.ly-wrap{
	width:960px;
	margin:0 auto;
}

@media (max-width: 768px) {
	.ly-wrap{
		width:initial;
		margin:0;
	}
}

.ly-wrap02{

}

.ly-flexC{
	display: flex;
	justify-content: center;
}

.ly-textR{
	text-align: right;
}

a.button01{
	width: 335px;
	font-weight: bold;
	font-size: 16px;
	color: #fff;
	text-align: center;
	display: block;
	padding:10px 0;
	background-color:#282828;
	border:1px solid #282828;
}

input.button01{
	width: 335px;
	font-weight: bold;
	font-size: 16px;
	color: #fff;
	text-align: center;
	display: block;
	padding:10px 0;
	background-color:#282828;
	border:1px solid #282828;
}

@media (max-width: 768px) {
	a.button01{
		width: 240px;
		margin:0 auto;
	}
	
	input.button01{
		width: 240px;
		margin:0 auto;
	}
}

a.button01:link,a.button01:visited{
	color:#FFF;
}

a.button01:hover{
	background-color:#FFF;
	color:#282828;
	opacity: 1;
}

a.button02{
	width: 336px;
	height: 64px;
	font-weight: bold;
	font-size: 16px;
	border:1px solid #282828;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: 0.5s all;
	background-color:#FFF;
}

@media (max-width: 768px) {
	a.button02{
		width: 240px;
		margin:0 auto;
	}
}

a.button02:link,a.button02:visited{
	color:#282828;
}

a.button02:hover{
	background-color:#282828;
	color:#FFF;
	opacity: 1;
}

a.button03{
	width: 191px;
	height: 50px;
	font-weight: bold;
	font-size: 16px;
	border:1px solid #282828;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: 0.5s all;
	background-color:#FFF;
}

a.button03:link,a.button03:visited{
	color:#282828;
}

a.button03:hover{
	background-color:#282828;
	color:#FFF;
	opacity: 1;
}

.button04{
	font-family: "Bebas Neue", sans-serif;
    font-size: 16px;
	display: inline-flex;
    align-items: center;
}

.button04::after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url('./image/btn_arrow.png');
    background-size: cover;
    margin-left: 8px;
  }

.button04-white{
	font-family: "Bebas Neue", sans-serif;
    font-size: 16px;
	color:#FFF;
	display: inline-flex;
    align-items: center;
}

.button04-white::after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url('./image/btn_arrow_wt.png');
    background-size: cover;
    margin-left: 8px;
}

.button04-white a:link,.button04-white a:visited {
	color: #FFF;
}

.insta_sp{
	display: none;
}

@media (max-width: 768px) {
	.insta_sp{
		display: block;
		margin-top:20px;
	}
}

.no-scroll {
	overflow: hidden; /* スクロールを無効化 */
	height: 100%;    /* 高さを固定 */
}

/* TOPページ */

.header{
	background-size:cover;
	color: #fff;
	position: relative;
}

@media (max-width: 768px) {
	.header{
		padding:15px 20px 0px;
	}
}

.headerLine{
	border: 1px solid #fff;
	transition: 0.5s all;
}

@media (max-width: 768px) {
	.headerLine{
		border: none;
		position: fixed;
        width: 100%;
        top: 0px;
        left: 0px;
        padding: 15px;
		z-index: 100;
	}

	.headerLine.active{
		background-color:rgba(0,0,0,0.5);
	}
}

.header__top{
	width:1280px;
	margin:0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-shadow: 1px 1px rgba(0, 0, 0, 0.8);
}

@media (max-width: 768px) {
	.header__top{
		width:initial;
		text-shadow:none;
	}
}

.header__top__logo{
	width:76px;
}

@media (max-width: 768px) {
	.header__top__logo{
		width:54px;
	}
}

.header__top__logo-black{
	display: none;
	width:54px;
}

@media (max-width: 768px) {
	.header__top__logo-black{
		display: block;
	}
}

.header__top nav{
	width:1076px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

@media (max-width: 768px) {
	.header__top nav{
		width:initial;
		transform: translateX(2200px);
		width:100%;
		height: 100vh;
		background-color:#FFF;
		position: fixed;
		display: block;
		top:0px;
		left:0px;
		transition: 0.5s all;
	}

	.header__top.active nav{
		transform: translateX(0px);
		padding:15px 20px;
	}
}

.header__top__ul{
	display: flex;
	justify-content: space-between;
	font-family: "Bebas Neue", sans-serif;
	font-weight: 400;
	font-size: 24px;
	width:720px;
	margin-right:40px;
}

@media (max-width: 768px) {
	.header__top__ul{
		width:initial;
		color:#282828;
		display: block;
		margin-top:40px;
	}
}

.header__top__ul a:link,.header__top__ul a:visited{
	color:#FFF;
}

@media (max-width: 768px) {
	.header__top__ul a:link,.header__top__ul a:visited{
		color:#282828;
	}
}

.header__top__btn{
	width:400px;
	display: flex;
	justify-content: space-between;
	font-family: "Bebas Neue", sans-serif;
	font-weight: 400;
	font-size: 24px;
	border-left:1px solid #FFF;
}

@media (max-width: 768px) {
	.header__top__btn{
		width:100%;
		display: block;
		margin-top:20px;
	}
}

.header__top__btn li a{
	display: block;
	width:200px;
	text-align: center;
	line-height: 0.75;
	padding:30px 0;
	border-right:1px solid #FFF;
	transition: all 0.5s;
}

@media (max-width: 768px) {
	.header__top__btn li a{
		display: block;
		width:100%;
		border:1px solid #282828;
		padding:15px 0;
		margin-top:20px;
	}
}

.header__top__btn li a span{
	font-weight: 500;
	font-size: 11px;
	color: #fff;
}

@media (max-width: 768px) {
	.header__top__btn li a span{
		color: #282828;
	}
}

.header__top__btn li a:link,.header__top__btn li a:visited{
	color:#FFF;
}

@media (max-width: 768px) {
	.header__top__btn li a:link,.header__top__btn li a:visited{
		color:#282828;
	}
}

.header__top__btn li a:hover{
	background-color:rgba(0,0,0,0.9);
}

.header__msg{
	width:1280px;
	margin:390px auto 0px;
	padding-bottom:90px;
	color: #fff;
}

@media (max-width: 768px) {
	.header__msg{
		width:initial;
		margin:320px 0 0px;
	}
}

.header__msg__txtEn{
	font-family: "Bebas Neue", sans-serif;
	font-weight: normal;
	font-size: 100px;
	line-height: 1;
}

@media (max-width: 768px) {
	.header__msg__txtEn{
		font-family: "Bebas Neue", sans-serif;
		font-weight: normal;
		font-size: 54px;
		line-height: 1;
	}
}

.header__msg__txtJa{
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-size: 24px;
	line-height: 28.61px;
}


@media (max-width: 768px) {
	.header__msg__txtJa{
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 700;
		font-size: 18px;
		line-height: 1;
	}
}

.header__movie{
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 800px;
    object-fit: cover;
    z-index: -1;
}

@media (max-width: 768px) {
	.header__movie{
		height: 550px;
	}
}

.hamburger-menu {
	display: none;
}

@media (max-width: 768px) {
	.hamburger-menu {
		display: block;
		position: relative;
		width: 35px;
		height: 25px;
		cursor: pointer;
	}
}

.menu-icon {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 35px;
	height: 25px;
	position: relative;
}
  
.menu-icon span {
	display: block;
	width: 100%;
	height: 3px;
	background-color: #FFF;
	transition: transform 0.3s ease, opacity 0.3s ease;
	border-radius: 0px;
	position: absolute; /* 重なるように調整 */
}

.menu-icon.active span {
	z-index: 999;
	background-color: #282828;
}

.menu-icon span:nth-child(1) {
	top: 0;
}
  
.menu-icon span:nth-child(2) {
	top: 10px; /* 真ん中の線 */
}
  
.menu-icon span:nth-child(3) {
	top: 20px; /* 下の線 */
}
  
.menu-icon.active span:nth-child(1) {
	transform: rotate(45deg) translate(5px, 5px);
	top:5px;
}
  
.menu-icon.active span:nth-child(2) {
	opacity: 0; /* 中央の線を隠す */
}
  
.menu-icon.active span:nth-child(3) {
	transform: rotate(-45deg) translate(5px, -5px);
}
  

.footer{
	padding:50px 0;
	border-top: 1px solid #282828;
}

@media (max-width: 768px) {
	.footer{
		padding:50px 20px 20px;
	}
}

.footerSec{
	display: flex;
	justify-content: space-between;
	align-items: end;
}

@media (max-width: 768px) {
	.footerSec{
		display: block;
	}
}

.footer__logoArea{
	width:180px;
}

@media (max-width: 768px) {
	.footer__logoArea{
		width:initial;
	}
}

.footer__logoArea__logo{
	margin-bottom:28px;
}

.footer__logoArea__address{
	font-weight: 500;
	font-size: 16px;
}

@media (max-width: 768px) {
	.footer__logoArea__address{
		margin-bottom:60px;
	}
}

.footer__navArea{
	width:730px;
}

@media (max-width: 768px) {
	.footer__navArea{
		width:initial;
	}
}

.footer__navArea__nav ul{
	display: flex;
}

@media (max-width: 768px) {
	.footer__navArea__nav ul{
		display: block;
	}
}

.footer__navArea__nav ul li{
	font-family: "Bebas Neue", sans-serif;
	font-size: 20px;
	color: #282828;
	margin-right:32px;
}

.footer__navArea__nav__btnArea{
	display: flex;
	align-items: end;
	margin-top:20px;
	border-top:1px solid #282828;
	padding-top:20px;
}

@media (max-width: 768px) {
	.footer__navArea__nav__btnArea{
		flex-wrap: wrap;
		justify-content: space-between;
	}
}

.footer__navArea__nav__btnArea a{
	margin-right:30px;
}

@media (max-width: 768px) {
	.footer__navArea__nav__btnArea a{
		flex-basis: calc(50% - 10px);
		margin-right:0px;
		margin-bottom:24px;
	}
}

.footer__navArea__nav__btnArea__copyright{
	font-size: 12px;
}

@media (max-width: 768px) {
	.footer__navArea__nav__btnArea__copyright{
		flex-basis:100%;
		text-align: center;
	}
}

.aligncenter{
	display:flex;
	justify-content:center;
	text-align:center
}

.pagination {
  text-align: center;
  margin-top: 40px;
}
.pagination a,
.pagination span {
  display: inline-block;
  margin: 0 5px;
  padding: 8px 12px;
  border: 1px solid #ccc;
  color: #333;
  text-decoration: none;
}
.pagination .current {
  background: #333;
  color: #fff;
  font-weight: bold;
}

.nav-links{
	margin-bottom:60px;
}

.newsSec__articleArea__article__title.checkRed{
	color:red;
}

.textRed {
  color: red;
}