@charset "utf-8";
/*===============================================
 CSS 基礎CSS
 use "Twitter Bootstrap v3.0.2"
===============================================*/
@font-face {
	font-family: "Murecho-Bold";
	src: url("../fonts/Murecho-Bold.ttf") format('truetype');
}

body {
	background: #fefefe;
	color: #f0f0f0;
	font-family: "Murecho-Bold", sans-serif;
	font-style: normal;
	font-weight: 100;
	position: relative;
	left: 0;
	overflow-x: hidden;
	height: 100%;
}
a {color: #231815;}
a:hover, a:focus {
	color: #fff;
	text-decoration: underline;
}
section a {
	color: #fff;
	text-decoration: underline;
}
section a:hover {color: #FA8B0C;}
a.off {	color: #898989!important;}

/*===============================================
 CLASSES
===============================================*/
ul.updates, .content ul.updates {
	margin: -10px 0 20px;
	padding: 0;
	font-size: 1.4em;
	font-weight: bold;
}
ul.updates li, .content ul.updates li {
	margin: 0 0 10px 0;
	padding: 20px 20px 20px 13em;
	border-radius: 5px;
	list-style: outside none none;
	text-align: left;
	position: relative;
	border: 2px solid #fff;
	display: block;
	box-shadow: 0 0 5px 0 #fff, inset 0 0 10px 0 #fff;
	background: rgba(255, 255, 255, .8);
	color: #222;
}
ul.updates li a, .content ul.updates li a {
	color: #2358a6;
}
ul.updates li a:hover, .content ul.updates li a:hover {
	text-decoration: none;
}
ul.updates li .date, .content ul.updates li .date {
	font-weight: bold;
	vertical-align: middle;
	position: absolute;
	top: 20px;
	left: 20px;
}
.for-pc {display: none !important;}
.main_title {top: -15rem;}
.main_title:after{clear:fixed;}
.text-nowrap{white-space: nowrap !important;}
/*===============================================
 BOOTSTRAP EXTENTIONS
===============================================*/

.container {
	position: relative;
	margin-right: auto;
	margin-left: auto;
}
.img-cover {
	width: 100%;
	height: auto;
}
.col-top {
	vertical-align: top;
}
.col-middle {
	vertical-align: middle;
}
.col-bottom {
	vertical-align: bottom;
}
.text-rl {
	writing-mode: tb-rl;
	/* IE独自仕様 */
	writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	direction: ltr;
	letter-spacing: 0.2em;
	display: inline-block;
	white-space: nowrap;
	vertical-align: middle;
}

/* table */
.table-centered td {text-align: center;}
.table-footnote {margin: -10px 0 20px;}
.table.table-bordered thead th.lv2 {border-bottom-width: 1px;}
.table-cover {}
.table-cover .table {
	width: 100%;
	table-layout: fixed;
}
.table-cover .table th {vertical-align: middle;}
.table-cover .table th, .table-cover .table td {
	word-wrap: break-word;
	overflow-wrap: break-word;
	text-align: center;
}
.table-cover .table .no-br, .table-cover .table th.no-br, .table-cover .table td.no-br {
	white-space: nowrap;
	vertical-align: middle;
}

/* navbar */
.navbar {
	border-radius: 0;
	min-height: 60px;
}
.navbar-header {
	font-size: 1em;
	margin: 0;
}
.navbar-brand {
	height: auto;
	min-height: 60px;
}

.navbar-toggler {
	margin: 10px;
	padding: 10px;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 9999;
}

.navbar-toggler .bar {
	display: block;
	width: 22px;
	height: 2px;
	margin: 4px 0;
	background-color: #ffffff; /* ← ここで白色に設定 */
	border-radius: 1px;
	transition: all 0.4s ease;       /* ← アニメーション追加 */
	transform-origin: center center; /* ← 回転の基点を中央に */
}
.navbar-toggler:focus {
	outline: none;
	box-shadow: none;
}

/* 通常時はアニメーションあり（フェードアウト対応） */
.navbar-toggler .bar:nth-child(2) {
	transition: opacity 0.3s ease;
}

/* 閉じるとき（非表示から復帰）はアニメーションなし */
.closing .navbar-toggler .bar:nth-child(2) {
	transition: none;
}

/* 開いている状態 */
.opened .navbar-toggler {
	border: none;
}

/* 1本目 → 時計回りに45度 */
.opened .navbar-toggler .bar:nth-child(1) {
	position: relative;
	transform: rotate(45deg) translate(1px, 4px);
	background-color: #ffffff; /* ← ここで白色に設定 */
}

/* 2本目 → 非表示 */
.opened .navbar-toggler .bar:nth-child(2) {
	opacity: 0;
	background-color: #ffffff; /* ← ここで白色に設定 */
}

/* 3本目 → 時計回りに-45度 */
.opened .navbar-toggler .bar:nth-child(3) {
	position: relative;
	transform: rotate(-45deg) translate(5px, -8px);
	background-color: #ffffff; /* ← ここで白色に設定 */
}

.container>.navbar-header, .container-fluid>.navbar-header, .container>.navbar-collapse, .container-fluid>.navbar-collapse {
	padding: 0!important;
}

.row {padding-top:0;}


.navbar .container {
    --bs-gutter-x: 0rem;
}
.nav {
    justify-content: space-evenly;
}
.navbar {
    --bs-navbar-padding-y: 0rem;
}

/*===============================================
 OBJECT LAYOUT
===============================================*/
#page {
	position: relative;
	/*overflow: hidden;*/
	color: #231815;
	z-index: 1;
	background-color: #3159bd;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: bottom;
}
.visual {
	position: relative;
	text-align: center;
	overflow: hidden;
}
.copyright {
	text-align: center;
	font-size: 0.8em;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
}

/*===============================================
 SECTION TYPE
===============================================*/
/* BASE SECTION */
.base {
	color: #000;
	background: #293d6f;
}
@media (max-width : 767px) {
	.base {
		background: #ffffff00;
	}
}
.base a {
	color: #000;
}
.base a:hover {
	color: b71c1c;
	text-decoration: underline;
}
.container>h1 {
	margin-top: 0;
}
.container h1>small {
	color: #FF6279;
}
.container .name>small {
	font-size: 60%;
}

/* CONTENT SECTION */
.content {
	color: #FFFFFF;
	font-size: 0.9em;
	background-repeat: no-repeat;
	background-size: contain;
	text-align: center;
	margin: 0;
	overflow: hidden;
	background-color: #3159bd;
}
.content p, .content section {
	font-size: 1.0em;
	line-height: 1.6;
	letter-spacing: 0.10em;
}
.content p.desc {}
.content ul {
	padding-left: 1.5em;
	vertical-align: middle;
	list-style-type: square
}

.content .title img {
	max-width: 100%;
	height: auto;
}

.title-top{
    height: 80px;
    width: 100vw;
    margin: 36px 0;
    background: url("../img/history/title_top.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.title-history{
	filter: hue-rotate(105deg);
    margin-bottom: 24px;
    width: 50%;
}

/* white background */
.lighten {background-image: none;}
/* dark background */
.invert {
	background: #fefefe;
	-webkit-background-size: 40px 40px;
	background-size: 40px 40px;
}
.invert h1>small {
	color: #f0f0f0;
}
.invert a {
	color: #fff;
}
.invert a:hover {
	color: #fff;
	text-decoration: underline;
}

/*===============================================
 VISUAL
===============================================*/

#page-visual {
	background-color: #000;
}
#page-visual .main_title {
	margin: 0px;
}
#page-visual .main_title img, #page-visual .date img {
	max-width: 100%;
	height: auto;
}
#page-visual .count_cap {
	margin-bottom: 20px;
}
#page-visual .ticker {
	position: relative;
	z-index: 1;
	margin-bottom: -3px;
}

/*===============================================
 HEADER MENU
===============================================*/

#page-header {
	line-height: 12px;
	border: none;
	border-bottom: #80c0cb solid 8px;
    border-top: #80c0cb solid 8px;
	margin-top: -80px;
}
.toppage-header{
	margin-top: 0!important;
}
#page-header.navbar-fixed-top {
	margin-top: 0;
}
#page-header>* {
	vertical-align: middle;
	height: auto;
	z-index: 1000; /*for IE10*/
}
#page-header .menu {
	font-family: "Murecho-Bold", sans-serif;
	font-style: normal;
	font-weight: 100;
	font-size: 16px;
	margin: 0;
	width: 100%;
}
#page-header .menu>li {
	display: inline-block;
	letter-spacing: 0.05em;
	margin-left: -1px;
	width: calc(100%/6);
}

#page-header .menu>li::before{
	content: "";
	position: absolute;
	top: 50%;
	/*left: -0.5px;*/
	z-index: 10000;
	display: inline-block;
	width: 2px;
	height: 40px;
	transform: translateY(-50%);
	background-color: #80c0cb;
	border-radius: 2px;
}
#page-header .menu>li:last-child::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -0.5px;
	z-index: 10000;
	display: inline-block;
	width: 2px;
	height: 40px;
	transform: translateY(-50%);
	background-color: #80c0cb;
	border-radius: 2px;
}
#page-header .menu>li:first-child {
	margin-left: 0;
}
#page-header .menu>li>a {
	display: block;
	padding: 0;
	line-height: 55px;
	letter-spacing: 0.2em;
	text-align: center;
	font-weight: 500;
	background-color: #293d6f;
	color: #fff;
	background: linear-gradient(to bottom,#80c0cb 50%,#293d6f 70%);
	background-position:0 100%;
	background-size:100% 200px;
	transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
}
@media (max-width:912px) and (min-width:768px){
	#page-header .menu>li>a {
		font-size:12px;
	}
}
#page-header .menu>li>a:hover {
	background-position:0 50%;
	text-decoration: none;
	color: #fefefe;
	transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
}

#page-header .menu>li.active>a {
	color: #fefefe;
	background: linear-gradient(to bottom,#80c0cb 50%,#293d6f 70%);
	background-size:100% 200px;
	background-position:0 50%;
}

/*===============================================
 LINKS
===============================================*/
#page-links {
	background: #141a24;
	padding: 60px 0;
    margin-top: 36px;
}
#page-links .title {
	display: none;
}
#page-links .flags {
	background: none #fff;
	color: #000;
	margin: 0 20px 40px;
	padding: 20px;
	border-radius: 20px;
	position: relative;
}
#page-links .flags .slick-slide>a {
	display: block;
	margin: 8px;
}
#float-gotop {
	bottom: 0;
	display: none;
	left: 0;
	position: fixed;
	width: 100%;
	z-index: 100;
}
#float-gotop .gotop {
	background: transparent url("../img/rtn_gotop1.png") no-repeat scroll 0 0;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	display: block;
	position: absolute;
	right: 25px;
	bottom: 15px;
	text-align: left;
	text-indent: -9999px;
	width: 80px;
	height: 65px;
	overflow: hidden;
	outline: none;
}
/* slick */
.slick-arrow {
	background: transparent none no-repeat scroll center center;
	border: 0 none;
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	width: 40px;
	z-index: 100;
	text-indent: -9999px;
	overflow: hidden;
}
.slick-prev {
	background-image: url(../img/btn_prev1.png);
	left: 10px;
}
.slick-next {
	background-image: url(../img/btn_next1.png);
	right: 10px;
}
/*===============================================
 KANERIN
===============================================*/
.chara_sec1 {
	margin-bottom: -160px;
}
.chara_sec2 {
	margin: -90px 0;
	text-align: left;
}
.chara_sec3 {
	position: absolute;
	right: 11px;
	top: 59px;
}
.chara_sec4 {
	position: absolute;
	right: -100px;
	top: 50px;
}

/*===============================================
 FOOTER
===============================================*/
#page-footer {
	background-color: #141a24;
	border-top: 1px solid #FFF;
}
#page-footer .gotop {
	padding: 0;
	margin: 0;
}
#page-footer .copyright {
	position: relative;
	z-index: 9999;
	color: #FFF;
}
.logo{
	margin-bottom:1.5rem;
}

/*===============================================
 CONTENTS
===============================================*/
.content .container>.body {
	background: #fff none repeat scroll 0 0;
	color: #000;
	/*padding: 50px;*/
	margin: 30px auto;
	text-align: left;
}
.content .container>.body a {
	color: #08f;
}
.content.dark {
	background-image: url(../img/bg05.png);
	background-color: #333;
}
/*float解除*/
.clear-both {
	clear:both;
}

/*===============================================
slide-bottom
===============================================*/
.slide-bottom{
    opacity: 0;
    transform: translate(0, 50px);
    transition: all 0.5s cubic-bezier(0.45, 0, 0.55, 1);
}

/*===============================================
リンク
===============================================*/
a {
	text-decoration: none;
}

/*===============================================
 Media Query
 デバイスの幅毎にCSS値変更
===============================================*/
/* Small device */
@media (min-width : 576px) {
	.main_title { top: -6rem;}
}
/* Medium device */
@media (min-width : 768px) {
	.main {
		position: absolute;
		right: 0px;
		z-index: -1;
	}
	.main_title { margin-top: 12rem;}
	.for-pc {display: block !important;	}
	.for-sp {display: none !important;}
	.pc-br:after {
		content: "";
		display: block;
	}
	.text-sm-rl {
		writing-mode: tb-rl;
		/* IE独自仕様 */
		writing-mode: vertical-rl;
		-moz-writing-mode: vertical-rl;
		-o-writing-mode: vertical-rl;
		-webkit-writing-mode: vertical-rl;
		direction: ltr;
		letter-spacing: 0.2em;
		display: inline-block;
		white-space: nowrap;
		vertical-align: middle;
	}
	.container .row>div>h1 {
		margin-top: 0;
	}
	#page-header .menu>li.menuBR>a {
		line-height: 20px;
		margin-top: 8px;
	}
	#page-footer .gotop {
		background-color: #141a24;
		color: #FFF;
		font-size: 0.95em;
		line-height: 2.5em;
		padding: 0 1em;
		position: absolute;
		right: -1px;
		top: -2.5em;
		border-radius: 8px 8px 0 0;
		border-color: #fff #fff #141a24 #fff;
		border-width: 1px;
		border-style: solid;
		box-sizing: border-box;
		height: 2.5em;
		min-width: 0;
	}
	#page-links {
		font-size: 0.8em;
		padding: 20px 0;
	}
	#page-links .flags {
		margin: 0 0 20px;
		padding: 10px;
		border-radius: 10px;
	}
	#page-links .flags .slick-slide>a {
		margin: 3px;
	}
	.right-fix{
		width: 51.8%;
		margin-right: 15px;
		z-index: 1;
		float: right !important;
	}
}
/* Large device */
@media (min-width : 992px) {
	.main {
		position: absolute;
		right: 0px;
		z-index: -1;
	}
}
/* Extra large device */
@media (min-width: 1200px) {
	.main {
		position: absolute;
		right: 0px;
		z-index: -1;
	}
}


@media (max-width: 767px) {
	.sp-br:after { content: ""; display: block;	}
	.for-pc { display: none;}
	ul.updates, .content ul.updates { margin: 10px 0 20px;}
	ul.updates li, .content ul.updates li { padding: 10px;}
	ul.updates li .date, .content ul.updates li .date {
		display: block;
		position: relative;
		top: 0;
		left: 0;
	}
	.text-xs-rl {
		writing-mode: tb-rl;
		/* IE独自仕様 */
		writing-mode: vertical-rl;
		-moz-writing-mode: vertical-rl;
		-o-writing-mode: vertical-rl;
		-webkit-writing-mode: vertical-rl;
		direction: ltr;
		letter-spacing: 0.2em;
		display: inline-block;
		white-space: nowrap;
		vertical-align: middle;
	}
	.table-cover .table tbody td {
		font-size: 0.7em;
	}
	.table-cover .table th, .table-cover .table td {
		padding-left: 0;
		padding-right: 0;
	}
	.content {
		padding: 0;
	}
	#page-header {
		left: 0;
		top: 0;
		position: fixed;
		right: 0;
		z-index: 1030;
		margin: 0;
        border: none;
	}
	#page-header.closed, #page-header.over-visual {
		background: transparent;
		border: 0 none;
	}
	#page-header.over-visual .container {
		opacity: 0;
	}
	#page-header .navbar-toggler {
		z-index: 9999!important;
	}
	#page-header.closed .navbar-toggler {
		background-color: #6b7ec9;
	}
	#page-header.over-visual .navbar-toggler {
		background-color: #6b7ec9;
		/*transparent;*/
	}
	#page-header .container {
		position: absolute;
		top:0;
		opacity: 1;
		-webkit-transition: opacity 0.3s;
		transition: opacity 0.3s;
	}
	#page-header .menu {
		width: 100%;
		font-weight: 600;
	}
	#page-header .handy-logo {
		padding: 0;
		margin: 0 15px;
	}
	#page-header .menu>li {
		display: block;
		text-align: left;
		width: 100%;
		padding: 0;
		margin: 0;
		margin: -1px;
		border: 0 none;
	}
    #page-header .menu>li::before{
        display: none;
    }
    #page-header .menu>li::after,#page-header .menu>li:last-child::after{
        content: "";
        position: absolute;
        top: inherit;
        right: inherit;
        bottom: -2px;
        left: 0;
        z-index: 10000;
        display: inline-block;
        width: 100%;
        height: 3px;
        transform: translateY(-50%);
        background: linear-gradient(to left,#80c0cb 70%,#6b7ec9);
    }
	#page-header .menu>li>a {
		text-align: left;
		padding: 0 1em;
	}
	#page-header .menu>li.active>a{
        background: linear-gradient(to right,#80c0cb 50%,#6b7ec9 100%);
    }
	#page-header .menu>li>a:hover{
        background: linear-gradient(to right,#80c0cb 50%,#6b7ec9 100%);
    }
    #page-header .menu>li>a:active{
        background: linear-gradient(to right,#80c0cb 50%,#6b7ec9 100%);
    }
	#page-footer .gotop {
		display: none;
	}
	#page-footer .gotop:focus, #page-footer .gotop:hover {
		top: -35px;
	}
	#float-gotop .gotop {
		right: 15px;
		bottom: 15px;
	}
	.chara_sec1 {
		margin-bottom: -100px;
	}
	.chara_sec1 img {
		width: 120px;
		height: auto;
	}
	.chara_sec2 {
		margin: 30px 0;
		text-align: center;
	}
	.chara_sec2 img {
		width: 150px;
		height: auto;
	}
	.chara_sec3 {
		position: relative;
		top: 0;
		left: 0;
		margin-bottom: -22px;
		z-index: 1;
	}
	.chara_sec3 img {
		width: 120px;
		height: auto;
	}
	.chara_sec4 {
		position: relative;
		top: 0;
		left: 0;
		margin-bottom: -65px;
		z-index: 1;
	}
	.chara_sec4 img {
		width: 150px;
		height: auto;
	}
	.content .container>.body {
		padding: 15px;
		margin: 30px -15px;
	}
	.slick-arrow {
		-webkit-background-size: 20px 20px;
		background-size: 20px 20px;
		width: 20px;
	}
	.slick-prev {
		left: 5px;
	}
	.slick-next {
		right: 5px;
	}
	.fix{
		z-index: 1;
        top: -140px;
	}
    .fix-title{
        top: -180px;
    }
	.row{
		margin: 0 auto;
		max-width: none;
	}
    .title-top{
        width: 100%;
        height: 40px;
        background: url("../img/history/title_top_sp.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }
    .title-history{
        width: 90%;
    }
}

@media screen and (min-width: 1000px) {
	.br-pc { display: block; }
	.br-sp { display: none; }
}
@media screen and (max-width: 1000px) {
	.br-pc { display: none; }
	.br-sp { display: block; }
}


.h-fit {
	height:100%;
}
.w-fit {
	width:100%;
}