@charset "UTF-8";

html{
	font-size: 62.5%;
}

body{
	font-family: 'Roboto','M PLUS 1p',"游ゴシック","Yu Gothic","游ゴシック体","YuGothic",'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ Pro W3',Meiryo,'メイリオ', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 1.6rem;
	font-size: 16px;
	line-height: 2.5;
	color: #111;
	box-sizing: border-box;
	background: #fff;
	text-align: justify;
	font-weight: 300;
}

/*=========================

link

==========================*/
a:link,a:visited,a:active{
	text-decoration: none;
	color:#111;
}

a:hover{
	color: #d32d26;
	transition: 0.5s all;
	-webkit-transition: 0.5s all;
}

/*==========================

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

/*==========================

	header nav
	
============================*/

header{
	background: #fff; 
	height: 53px;
	/*padding: 0.5% 1%;*/
	position: fixed;
	z-index: 999;
	width: 100%;
}


#logo h1 {
    font-size: 1.4rem !important;
    font-weight: normal;
}

#logo a{
	float: left;
	padding: 0.5% 0 0 1%;
	margin: 2px 0 0;
	display: block;
	z-index: 9999;
	position: relative;
}

#logo img{
	width: 120px;
	margin-right:10px;
}



/*
#pcNav{
	float: right;
}

#pcNav #menu li{
	margin: 0 15px;
	float: left;
	font-weight: 900;
	line-height: 2;
}

#pcNav #menu li:last-child{
	margin: 0 0 0 10px;
	padding: 5px 0 0;
}
*/

#globalNav{
	font-weight: 900;
	display: block;
	position: fixed;
	text-align: right;
	box-sizing: border-box;
	z-index: 8888;
	width: 100%;
	padding: 0.5% 0 0;
}

#globalNav .iconNav{
	padding-right:10px;

}

#globalNav .iconNav img{
	width:36px;
}

#icon_twitter img {
    width: 34px !important;
    margin-top: 4px;
}


#globalNav button{
	background: none;
	border: none;
}
.globalMenuBtn,
.globalMenuBtn span {
	display: inline-block;
	transition: all .4s;
}
.globalMenuBtn {
	position: relative;
	width: 7vw;
	height: 7vw;
	margin: 5vw 3vw 0 0;
}
.globalMenuBtn span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #222;
	border-radius: 2px;
}
.globalMenu {
	display: block;
	position: fixed;
	text-align: right;
	box-sizing: border-box;
	z-index: 8888;
	width: 100%;
}
.globalMenuBtn,
.globalMenuBtn span {
	display: inline-block;
	transition: all .4s;
}
.globalMenuBtn {
    position: relative;
    width: 50px;
    height: 40px;
    margin: 7px 30px 0 0;
}
.globalMenuBtn span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #222;
	border-radius: 2px;
}
.globalMenuBtn span:nth-of-type(1) {top: 0;}
.globalMenuBtn span:nth-of-type(2) {top: 10px;}
.globalMenuBtn span:nth-of-type(3) {top: 20px;}
.globalMenuBtn::after {
	position: absolute;
	left: 0;
	bottom: -1.5vw;
	content: '';
	display: block;
	width: 100%;
	color: #222;
	font-size: 3vw;
	text-decoration: none;
	text-align: center;
	transition: all .4s;
}
.globalMenuBtn.action::after {
	content: '';
	bottom: -1.5vw;
}
.globalMenuBtn.action span:nth-of-type(1) {
	-webkit-transform: translateY(13px) rotate(-45deg);
	transform: translateY(13px) rotate(-45deg);
}
.globalMenuBtn.action span:nth-of-type(2) {
	opacity: 0;
}
.globalMenuBtn.action span:nth-of-type(3) {
	-webkit-transform: translateY(-6px) rotate(45deg);
	transform: translateY(-6px) rotate(45deg);
}
.globalMenuList{
	background: #fff;
	position: relative;
	width: 100%;
	height: 100vh;
	top: -5px;
	z-index: 9999;
	text-align: center;
	/*overflow: scroll;*/
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
	left: 0;
}
.globalMenuList li a{
	width: 100%;
	height: 100%;
	display: block;
	padding: 1vw 0;
	font-size: 2.0rem;
}
.globalMenuList .topBack a{
	background: #999;
	width: 100%;
	height: 100%;
	display: block;
	text-align: center;
	border: 1px solid #cecece;
	margin: 10px auto 0;
}



/*==========================

	display
	
============================*/
.spDisplay{
	display: none;
}


h1{
	font-weight: 900;
	letter-spacing: 0.2rem;
	font-size: 7.6rem;
}

.page_title{
	text-align: center;
	margin-bottom: 70px;
}

.page_title::after {
    content: '';
    position: absolute;
    width: 80px;
    height: 20px;
    background-color: #d32d26;
    left: 0;
    margin: 160px auto 0;
    right: 0;
}

/*==========================

	btn
	
============================*/

a[class~="btn"]{
	background: #d32d26;
	width: 40%;
	padding: 2% 10%;
	color: #fff;
	text-align: center;
	border-radius: 50px;
}

a:hover[class~="btn"]{
	background: #111;
	transition: .5s all;
}

a[class~="window"]{
	background: #d32d26 url(../img/window.svg) no-repeat  90% center / 7%;
}

a:hover[class~="window"]{
	background: #111 url(../img/window.svg) no-repeat  90% center / 7%;
}


.arrow{
	position: relative;
}
.arrow::after{
	content: "";
	position: absolute;
	right: 8%;
	top: 50%;
	display: block;
	width: 10px;
	height: 10px;
	margin-top: -4px;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
}

.arrowLeft::after{
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	-ms-transform: rotate(-135deg);
	left:10%;
}

.arrowUp::after{
	border-top: solid 1px #111;
	border-right: solid 1px #111;
	transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	right: -20px;
}

.arrowUp:hover::after,.arrowDown:hover::after{
	border-top: solid 1px #d32d26;
	border-right: solid 1px #d32d26;
}

.arrowDown::after{
	border-top: solid 1px #111;
	border-right: solid 1px #111;
	transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	left: 0;
	top: 100%;
	right: 0;
	margin: auto;
}

/*==========================

	fadein
	
============================*/

.fadeMV{
	opacity: 0;
	transform: translate(0,60px);
	-webkit-transform: translate(0,60px);
	transition: .8s;
}
.fadeMVON{
	opacity: 1;
	transform: translate(0,0);
	-webkit-transform: translate(0,0);
}

/*=======================

	footer

=======================*/

footer{
	position: absolute;
	bottom: 2vw;
	border-top: 1px solid #111;
	border-bottom: 1px solid #111;
	padding: 0.5% 1%;
	width: 59vw;
	margin: 0 0 0 1vw;
	font-size: 1.4rem;
}

footer #copyright{
	float: left;
    margin-left: 15px;
}

footer #pagetop{
	float: right;
	padding: 0 20px 0 0;
}

footer #pagetop a{
	display: block;
}


.agreeBox {
    margin: 40px auto;
    text-align: center;
    padding: 0 20px;
}

.agree-intro {
    margin: 20px auto;
    max-width: 660px;
    /*
    background: url(../img/icon_blank.png) no-repeat right 0;
    background-size: 30px 30px;
    padding-right: 20px;
    */
    position: relative;
}

.agree-intro a{
	color: #000;
    border-bottom: solid 1px #d32d26;
    padding-bottom: 10px;
	/*
	display: flex;
	justify-content: center;
	align-items: center;
	*/
}

/*--- cookies popup---*/
.cookie-consent {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    bottom: 0;
    width: 100%;
    font-size: 12px;
    color: #fff;
    background: rgba(0,0,0,.7);
    padding: 1.2em;
    box-sizing: border-box;
    visibility: hidden;
}
.cookie-consent.is-show {
    visibility: visible;
}
.policy-link, a:link, a:visited, a:hover, a:active {
    color: rgb(0, 136, 255);
    font-size: 15px;
    text-decoration: none;
}
.cookie-agree, .cookie-reject {
    color: #fff;
    background: dodgerblue;
    padding: .5em 1.5em;
    margin-left: 20px;
}
.cookie-agree:hover, .cookie-reject:hover {
    cursor: pointer;
}
/* パッと消える */
.cc-hide1 {
    display: none;
}
/* ゆっくり消える */
.cc-hide2 {
    animation: hide 1s linear 0s;
    animation-fill-mode: forwards;
}
@keyframes hide {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
        visibility: hidden;
    }
}


@media screen and (max-width:768px) {

	.pcDisplay{
		display: none;
	}
	.spDisplay{
		display: block;
	}

	h1{
		font-size: 6.0rem;
	}

	/*==========================

		header nav
		
	============================*/

	header{
		height: auto;
		padding: 0 1%;
	}

	#logo a{
		/*width: 30vw;*/
		margin: 2.5vw 0 1vw 1vw;
	}

	#logo h1 {
    font-size: 1.2rem !important;
	}

	#logo img {
	    width: 80px;
	}

	.globalMenuBtn {
	    width: 7vw;
	    height: 7vw;
	    margin: 0 3vw 0 0;
	}

	.globalMenuBtn span:nth-of-type(1) {top: 0;}
	.globalMenuBtn span:nth-of-type(2) {top: 2.2vw;}
	.globalMenuBtn span:nth-of-type(3) {top: 4.5vw;}
	.globalMenuBtn::after {
		position: absolute;
		left: 0;
		bottom: -1.5vw;
		content: '';
		display: block;
		width: 100%;
		color: #222;
		font-size: 3vw;
		text-decoration: none;
		text-align: center;
		transition: all .4s;
	}
	.globalMenuBtn.action::after {
		content: '';
		bottom: -1.5vw;
	}
	.globalMenuBtn.action span:nth-of-type(1) {
		-webkit-transform: translateY(2.2vw) rotate(-45deg);
		transform: translateY(2.2vw) rotate(-45deg);
	}
	.globalMenuBtn.action span:nth-of-type(2) {
		opacity: 0;
	}
	.globalMenuBtn.action span:nth-of-type(3) {
		-webkit-transform: translateY(-2.2vw) rotate(45deg);
		transform: translateY(-2.2vw) rotate(45deg);
	}
	.globalMenuList{
		overflow: scroll;
		-webkit-backdrop-filter: blur(2px);
		backdrop-filter: blur(2px);
		left: -4px;
	}

	.globalMenuList li a{
		width: 100%;
		height: 100%;
		display: block;
		padding: 2vw 0;
		font-size: 2.0rem;
	}

	.globalMenuList li img{
		max-width: 25px;
	}

	.globalMenuList .topBack a{
		background: #999;
		width: 100%;
		height: 100%;
		display: block;
		text-align: center;
		border: 1px solid #cecece;
		margin: 10px auto 0;
	}


	.page_title{
		margin-bottom: 30px;
		padding-top: 15px;
	}

	.page_title::after {
	    height: 10px;
	    margin: 27vw auto 0;
	}


	/*==========================

	btn
	
	============================*/

	a[class~="btn"]{
		padding: 5% 15%;
		border-radius: 30px;
	}

	/*=======================

	footer

	=======================*/

	footer{
		position: static;
		width: 94vw;
		margin: 0 auto 5%;
	}




}

/* メディアクエリ */
@media screen and (max-width: 600px) {
    .cookie-consent {
        flex-direction: column;
    }
    .cookie-text {
        margin-bottom: 1em;
    }
}


@media screen and (max-width: 414px) {
  .agree-intro a{
    display: block;
    }
}