@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap');

html {
	font-size: 10px;
}

body {
	line-height: 1.2;
	font-family: 'Noto Sans JP', sans-serif;
	color: #000;
	word-break: break-all;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	font-weight: 400;
	overflow-x: hidden;
	
}
.top-strength__video{
    max-width: max(100rem, 1000px);
    margin: 0 auto;
}

.txt-center {
	text-align: center;
}



* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

*::after,
*::before {
	box-sizing: border-box;
}

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

main {
	display: block;
}



a {
	text-decoration: none;
	color: inherit
}

.clear {
	clear: both;
}

a[href^="tel:"] {
	cursor: default;
}

a[href^="tel:"]:hover {
	text-decoration: none;
}

br {
	font-size: 0;
}

.hv-o:hover {
	opacity: .7;
}

.container-full {
	max-width: 150rem;
	width: calc(100% - 14vw);
	margin: 0 auto;
}

.container-big {
	max-width: 120rem;
	width: calc(100% - 3rem);
	margin: 0 auto;
}

.container-medium {
	max-width: 141rem;
	width: calc(100% - 3rem);
	margin: 0 auto;
}

.container {
	max-width: 114rem;
	width: calc(100% - 3rem);
	margin: 0 auto;
}

.row {
	display: flex;
	flex-wrap: wrap;
}

.col__12 {
	width: 100%;
}


.border__white {
	border: 0.2rem solid #fff;
}

.color__white {
	color: white;
}

.shadow_bg,
.bg_opacity,
.bg_opacity_before,
.gray_gradient,
.blue_gradient,
.button_bg {
	position: relative;
	display: block;
}


.hv-a {
	transition: all 0.3s ease-in-out;
}

.hv-a:hover {
	opacity: 0.7;
}

button {
	cursor: pointer;
}


.scrolltop {
	display: none;
	border: 0;
	cursor: pointer;
	position: fixed;
	z-index: 100;
	bottom: 10rem;
	right: 2rem;
	width: 8rem;
	height: 8rem;
	border-radius: 99px;
	background-color: #0183de;
}

.scrolltop:hover {
	opacity: 0.7;
}

.scrolltop img {
	width: 4rem;
}

.txt__center {
	text-align: center;
}

.d-inline {
	display: inline-block;
}

/* menu buttom*/

/* menu */



.btn-hamberger.is-show {
	display: flex;
	opacity: 1;
	/* transform: translateY(0); */
}


.btn-hamberger {
	display: none;
	opacity: 0;
	/* transform: translateY(-10px); */
	cursor: pointer;
	transition: opacity 0.3s ease, transform 0.3s ease;
	background-color: rgba(255, 255, 255, 1);
	width: 10rem;
	height: 10rem;
	position: relative;
	cursor: pointer;
}

.btn-hamberger span {
	position: absolute;
	top: 4rem;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 60%;
	height: 0.4rem;
	background-color: #000;
	transition: all 0.3s ease-in-out;
	display: block;
}

.btn-hamberger span::before,
.btn-hamberger span::after {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 0.4rem;
	background-color: #000;
	transition: all 0.3s ease-in-out;
	transform-origin: center center;
}


.btn-hamberger.is-active span {
	opacity: 0;
	top: 45%;
}



.btn-hamberger small {
	font-size: 1.7rem;
	color: #0183de;
	text-align: center;
	position: absolute;
	width: 100%;
	display: block;
	top: 6rem;
}

.cs-fadein {
	opacity: 0;
	transform: translate(0, 35px);
	transition: all 0.5s ease;
}

.cs-fadein.show {
	opacity: 1;
	transform: none;
}

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

	html {
		font-size: 0.69vw;
	}
}

@media screen and (max-width:767px) {
	.btn-hamberger.is-active span {
		opacity: 1;
		background-color: transparent;
	}

	.btn-hamberger.is-active span::before {
		opacity: 1 !important;
		transform: translateX(-50%) rotate(45deg) !important;
		top: 50% !important;
	}

	.btn-hamberger.is-active span::after {
		opacity: 1;
		transform: translateX(-50%) rotate(-45deg) !important;
		top: 50% !important;
		bottom: auto !important;
	}

	.header__toggle {
		position: fixed;
		top: 1.5rem;
		right: 1.5rem;
		text-align: right;
		position: absolute;
		z-index: 101;

	}

	.btn-hamberger {}

	.btn-hamberger span {
		top:50%;
		transform: translateX(-50%);


	}

	.btn-hamberger small {
		top: 4rem;
		font-size: 1.4rem;
	}

	


	.btn-hamberger span::before {
		top: -1.5rem;

	}

	.btn-hamberger span::after {
		bottom: -1.5rem;

	}

	.toggle {
		display: block;
	}

	.scrolltop {
		width: 5rem;
		height: 5rem;
	}

	.scrolltop img {
		width: 3rem;
	}

	html {
		font-size: 2.4vw;
	}
}
