
:root{
    --black: #222;
}

*{
	margin:0;
	padding:0;
	list-style: none;
	box-sizing: border-box;
	text-decoration: none;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

*::before,
*::after{
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	box-sizing: border-box;
}

html {
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
}

input,
select,
textarea{
	font-family: sans-serif;
	color:#1a2c7a;
	-webkit-font-smoothing: antialiased;
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	font-feature-settings: 'palt';
	touch-action: manipulation;
	resize: none;
	display: block;
}

button{
	border: none;
	background: none;
	border-radius: 0;
	cursor: pointer;
}

body{
	color: #1a2c7a;
	font-size: 16px;
	font-family: sans-serif;
	-webkit-font-smoothing: antialiased;
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	position: relative;
}

body::before{
	content:'';
	width:100%;
	height:100%;
	background-color: #1a2c7a;
	position: fixed;
	top:0;
	left:0;
	z-index: -20;
}

body::after{
	content:'';
	width:500px;
	height:100vh;
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	background-color: #fff;
	z-index: 7;
}

img{
	display: block;
	object-position: center;
	width: 100%;
}

#body_wrap{
	overflow: clip;
	position: relative;
}

#body_wrap::before{
	content:'';
	width:100%;
	height:100%;
	background-color: #f0f1f6;
	position: fixed;
	top:0;
	left:0;
	z-index: -10;
}

#body_wrap::after{
	content:'';
	width:100%;
	height:100vh;
	position: fixed;
	top:0;
	left:0;
	z-index: -5;
	background-image: url('../img/page_bg.jpg');
	background-position: top;
}

.page_bg{
	min-width: 1600px;
	width:92%;
	position: fixed;
	top: 140px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -3;
}

a{
	color: #1a2c7a;
	transition-duration: 0.4s;
	transition-property: opacity;
}

.fax a{
	pointer-events: none;
}

@media (any-hover:hover){
	a:hover{
		opacity: 0.7;
	}
	a[href^="tel:"] {
		pointer-events: none;
	}
}

/*
------------------------------------
アニメーション関係
------------------------------------
*/

.common_hover_opa{
	transition: 0.4s;
}


@media (any-hover:hover){
	.common_hover_opa:hover{
		opacity: 0.7;
	}
	
}

/*
------------------------------------
ヘッダー部分等
------------------------------------
*/

.header_logo{
	display: block;
	position: fixed;
	width: 24vw;
	top: 15px;
	left: 15px;
	max-width: 400px;
	z-index: 3;
}

.fix_area{
	position: fixed;
	top:0;
	left:0;
	height:100vh;
	min-height: 630px;
	width:100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.fix_area .fix_area_top{
	width:100%;
	height:100%;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.fix_area .fix_text_head a{
	font-size: 24px;
	font-weight: bold;
}

.fix_area .menu_list{
	margin-top: 28px;
}

.fix_area .menu_list li + li{
	margin-top: 20px;
}

.fix_area .menu_list a{
	color:#1a2c7a;
	font-size: 17px;
	line-height: 1.75;
}


.fix_area .fix_area_bottom{
	width: 100%;
	flex-shrink: 0;
	position: relative;
	background-color: #1a2c7a;
	min-height:170px;
	padding-top: 10px;
	padding-bottom: 10px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.fix_area .page_deco{
	pointer-events: none;
	/* min-width:1484px; */
	/* width:92.3%; */
	width:1484px;
	position: absolute;
	top: -53px;
	left: 50%;
	transform: translateX(-50%);
}
.fix_area .fix_area_contents{
	width:calc(50% - 250px);
	padding-inline: 12px;
	display: flex;
	justify-content: center;
}

.fix_area .sns_area{
	border-top:1px solid #fff;
	padding-top: 24px;
	width: 100%;
}

.fix_area .sns_list{
	display: flex;
	justify-content: center;
	align-items: center;
	gap:24px;
}

.fix_area .sns_list a{
	display: block;
}

.fix_area .sns_list img{
	height:40px;
	width:auto;
}

.fix_area .copy{
	font-size: 11px;
	color:#fff;
	text-align: center;
	margin-top: 24px;
}



/*
------------------------------------
LP本体
------------------------------------
*/

.contents_wrap{
	max-width: 500px;
	margin-inline: auto;
	/* background-color: #1a2c7a; */
	background-color: #fff;
	position: relative;
	z-index: 10;
}

.drawer_open{
	position: fixed;
	top:0;
	right:auto;
	width:60px;
	z-index: 100;
	aspect-ratio: 1 / 1;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #1a2c7a;
	cursor: pointer;
	margin-left: 440px;
}

.drawer_open_inner{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
	min-height: 21px;
}

.drawer_open .bar{
	width:36px;
	height:3px;
	background-color: #fff;
	transition-duration: 0.5s;
}

.drawer_open .bar02{
	margin:6px 0;
}

.drawer_open.active .bar01 {
	transform: translateY(1px) rotate(-45deg);
}
.drawer_open.active .bar02 {
	display: none;
}
.drawer_open.active .bar03 {
	transform: translateY(-1px) rotate(45deg);
}

.drawer_open .drawer_open_text{
	font-size: 11px;
	text-align: center;
	margin-top: 4px;
	color:#fff;
	font-weight: bold;
}

#drawer_menu{
	position: fixed;
	top:0;
	left:auto;
	width:500px;
	height:100vh;
	background-color: #fff;
	z-index: 50;
	display: none;
	padding-top: 70px;
}

#drawer_menu .drawer_menu_inner{
	height:100%;
	overflow-y: auto;
	padding-inline: 30px;
}

#drawer_menu .drawer_menu_contents{
	padding-top: 32px;
}

#drawer_menu .drawer_text_head a{
	font-size: 24px;
	font-weight: bold;
}

#drawer_menu .drawer_nav{
	margin-top: 28px;
}

#drawer_menu .drawer_nav li + li{
	margin-top: 20px;
}

#drawer_menu .drawer_nav a{
	color:#1a2c7a;
	font-size: 17px;
	line-height: 1.75;
}

#drawer_menu .sns_list{
	margin-top: 80px;
	display: flex;
	align-items: center;
	gap:24px;
}

#drawer_menu .sns_list a{
	display: block;
}

#drawer_menu .sns_list img{
	height:30px;
	width:auto;
}


section{
	position: relative;
}


.button{
	display: block;
	width:calc(692 / 750 * 100%);
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}

.data .button.yellow{
	bottom:2.3%;
}
.data .button.green{
	bottom:0.4%;
}

.player .button.yellow{
	bottom:3%;
}
.player .button.green{
	bottom:0.5%;
}

.footer .button.yellow{
	bottom:20.5%;
}
.footer .button.green{
	bottom:13%;
}


@media screen and (max-width:1200px){
	.header_logo{
		display: none;
	}
	
	.fix_area{
		display: none;
	}


	.contents_wrap {
		max-width: 100%;
	}

	.drawer_open{
		right:0;
		margin-left: 0;
	}

	#drawer_menu{
		width: 100%;
	}


	#drawer_menu .drawer_text_head a{
		font-size: 20px;
	}

	#drawer_menu .drawer_nav{
		margin-top: 28px;
	}

	#drawer_menu .drawer_nav li + li{
		margin-top: 20px;
	}

	#drawer_menu .drawer_nav a{
		font-size: 15px;
		line-height: 1.75;
	}

}/*@media screen and (max-width:1200px){*/