@charset "UTF-8";
/*----------------------------
  共通
-----------------------------*/
body {
	font-family: noto-sans-cjk-jp, sans-serif !important;
	font-weight: 500;
	font-style: normal;
	color: #303030;
	line-height: 1.5 !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
header {
	height: 152px !important;
	min-width: 1140px;
}
.header {
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9999;
	padding: 0;
	background-color: #fff;
}
.header-in {
	max-width: 1140px;
	width: 100%;
	margin: 0 auto;
	font-size: 0;
	padding: 0 20px;
	height: 80px;
}
.header-in img.logo {
	width: 360px;
	display: inline-block;
	vertical-align: top;
	margin-top: 10px;
}
.header-in img.logo.sp {
	display: none;
}
.header-in .tel_box {
	display: inline-block;
	float: right;
    margin-top: 20px;
    margin-right: 25px;
}
.header-in .trial_box {
	width: 143px;
	height: 50px;
	background: #ff7600;
	border-radius: 10px;
	float: right;
	position: relative;
    margin-top: 15px;
}
.header-in div.trial_box a {
	display: block;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	text-decoration: none;
	line-height: 1.15;
	height: 60px;
	padding: 5px 10px 0 13px;
}
.header-in div.trial_box a span {
	display: inline-block;
}
.arrow::before, .arrow::after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.org::before {
	width: 19px;
	height: 19px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #fff;
}
.org::after {
	right: 16px;
	width: 9px;
	height: 9px;
	border-top: 3px solid #ff7701;
	border-right: 3px solid #ff7701;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
main {
	margin: 0 auto !important;
	letter-spacing: 0 !important;
	padding-top: 0 !important;
}
button, html [type=button] {
	border: none;
	outline: none;
	background: transparent;
}
a[href^="tel:"] {
	pointer-events: none;
}
#gnavi {
	height: 80px !important;
	width: 1140px !important;
}
#gnavi2 {
	min-width: 1140px;
	background-color: #194eb9 !important;
}
header nav {
	width: 1100px !important;
}
header nav > ul {
	width: 1099px !important;
}
nav li .fm1on {
	font-size: 18px !important;
	font-weight: 500 !important;
}
/* ====== GLOVAL NAV ====== */
.gloval-nav {
	height: 10%;
}
.navbar-white a {
	color: #fff;
}
.navbar-dark .navbar-nav .nav-link:link {
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	transition: .3s;
}
.navbar-dark .navbar-nav .nav-link:visited {
	color: #fff;
}
.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:active {
	color: #fff !important;
}
nav.navbar {
	display: block;
	width: 100%;
	padding: 0;
	text-align: center;
	background-color: #194eb9;
}
.navbar-nav {
	display: block;
	font-size: 0;
}
.navbar-nav .nav-item {
	display: inline-block;
	line-height: 72px;
	width: 25%;
	border-left: 1px solid #fff;
}
.navbar-nav .nav-item:last-child {
	border-right: 1px solid #fff;
}
.navbar-expand-lg .navbar-nav .nav-link {
	padding: 0;
	height: 72px;
}
.navbar-expand-lg .navbar-collapse {
	display: block !important;
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 20px;
}
.navbar-dark .navbar-toggler-icon {
	background-image: url("../img/menu.png");
	background-repeat: no-repeat;
	background-size: contain;
	position: relative;
	z-index: 9999;
	width: 79px;
	height: 81px;
}
.navbar-dark .navbar-mail {
	display: none;
	width: 79px;
	height: 81px;
}
.navbar-dark .navbar-mail img {
	width: 79px;
	height: 81px;
}
/* ====== footer ====== */
.f-menu_block {
	max-width: 1115px;
	width: 100%;
	padding: 0 30px;
	margin: 0 auto 20px;
}
.f-menu_block ul {
	width: 100%;
	border: 4px solid #61c8f7;
	border-radius: 10px;
	text-align: center;
	padding: 18px 10px 8px 10px;
}
.f-menu_block ul li {
	list-style: none;
	font-size: 21px;
	line-height: 1;
	border-right: 1px solid #303030;
	display: inline-block;
	margin-bottom: 10px;
}
.f-menu_block ul li:last-child {
	border-right: none;
}
.f-menu_block ul li a {
	color: #303030;
	display: block;
	padding: 0 15px;
}
.wailast .bg {
	background: linear-gradient(rgba(255, 255, 255, 1), rgba(0, 0, 0, 0));
	background-position: top;
	background-size: 100% 80px;
	background-repeat: no-repeat;
}
.wailast {
	height: 150px !important;
}
.Contlast {
	height: 150px !important;
}
#ftto li a.sp {
	display: none !important;
}
footer {
	width: 100%;
	min-width: 1140px;
	background-color: #248cff;
	color: #fff;
	font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', sans-serif !important;
}
footer dt {
	font-weight: normal !important;
}
footer section {
	max-width: 1115px;
	width: 100%;
	padding: 30px 30px 30px;
	margin: 0 auto;
}
footer section dl {
	font-size: 0;
	text-align: left;
	margin-bottom: 5px;
}
footer section dl:nth-child(2) {
	margin-bottom: 20px;
}
footer section dl dt {
	display: inline-block;
	width: 160px;
	font-size: 21px;
	vertical-align: top;
}
footer section dl dd {
	display: inline-block;
	width: calc(100% - 160px);
	font-size: 21px;
}
footer section dl dd span {
	display: inline-block;
}
footer section dl dd span.pl {
	padding-left: 25px;
}
footer section p:last-child {
	font-size: 21px;
	margin-bottom: 0;
}
footer section p:last-child span {
	display: inline-block;
}
footer section + p {
	width: 100%;
	margin-bottom: 0;
	font-size: 18px;
	background-color: #1742dc;
	padding: 20px;
}
footer section + p span {
	display: inline-block;
}
/* ====== go to top ====== */
.pagetop {
	cursor: pointer;
	position: fixed;
	right: 25px;
	bottom: 70px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	transition: .3s;
	color: #fff;
	background: #1e257b;
	border-radius: 3px;
	opacity: 0;
	z-index: 100;
}
.pagetop:hover {
	/* opacity: 1; */
}
.pagetop p {
	font-size: 10px;
	position: absolute;
	margin-bottom: 0;
	bottom: 8px;
}
.fa-solid {
	position: absolute;
	top: 10px;
}
.fa-chevron-up:before {
	font-size: 30px;
}
/*----------------------------
  レスポンシブ
-----------------------------*/
@media screen and (max-width: 1024px) {
	footer section dl dd span.pl {
		padding-left: 0;
		display: block;
	}
}
@media screen and (min-width: 821px) {
	.navbar-expand-lg .navbar-toggler {
		display: none;
	}
	nav li.fm1 .m-sub li a, nav li.fm2 .m-sub li a, nav li.fm3 .m-sub li a {
		font-family: メイリオ, Meiryo, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", sans-serif !important;
	}
	li.fm4 .m-sub {
		left: -280px !important;
		font-family: メイリオ, Meiryo, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", sans-serif !important;
	}
}
@media screen and (max-width: 820px) {
	header {
		height: 110px !important;
		min-width: auto;
	}
	#s-head {
		height: 81px !important;
	}
	#gnavi {
		height: 81px !important;
		width: 100% !important;
	}
	#gnavi2 {
		width: 175px !important;
		height: 81px !important;
		min-width: auto;
		background-color: transparent !important;
	}
	#btn-mail, #btn-mail a, #btn-mail a span, #btn-menu, #btn-menu span {
		width: 79px !important;
		height: 81px !important;
	}
	#btn-menu {
		margin-top: 0 !important;
		margin-left: 0 !important;
	}
	#btn-mail {
		margin-top: 0 !important;
		margin-right: 10px !important;
		margin-left: 5px !important;
	}
	#btn-mail a span {
		background-image: url(../img/mail.png) !important;
		background-size: contain !important;
	}
	#btn-menu span {
		background-image: url(../img/menu.png) !important;
		background-size: contain !important;
		background-position: 0 0 !important;
	}
	header nav {
		top: 110px !important;
		z-index: 9999 !important;
		width: 100% !important;
		background: rgba(255, 255, 255, 0.95) !important;
	}
	header nav > ul {
		width: 100% !important;
	}
	header nav li a {
		font-size: 3.5vw !important;
	}
	nav li .fm1on {
		font-size: 3vw !important;
		font-weight: bold !important;
		font-family: メイリオ, Meiryo, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", sans-serif !important;
	}
	nav li .m-sub li a:hover {
		color: #282828 !important;
		opacity: 0.6 !important;
	}
	.fm1 .m-sub li, .fm2 .m-sub li, .fm3 .m-sub li {
		line-height: 1 !important;
		font-family: メイリオ, Meiryo, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", sans-serif !important;
	}
	.fm4 .m-sub li {
		line-height: 1 !important;
		font-family: メイリオ, Meiryo, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", sans-serif !important;
	}
	.fm4 .m-sub li.title {
		font-size: 3.5vw !important;
	}
	.down-body-up {
		font-size: 3.5vw !important;
		font-family: メイリオ, Meiryo, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", sans-serif !important;
	}
	.header {
		height: 110px;
		font-size: 0;
		padding: 15px 20px 0 10px;
		background-size: 100% 2px;
		background-repeat: no-repeat;
		background-position: bottom center;
		background-color: rgba(255, 255, 255, 1);
		background-image: repeating-linear-gradient(135deg, transparent, transparent 2px, rgba(42, 52, 140, 1) 2px, rgba(42, 52, 140, 1) 5px);
	}
	.header-in {
		padding: 0;
		display: inline-block;
		height: auto;
		width: calc(100% - 170px);
		vertical-align: middle;
		float: left;
	}
	.header-in img.logo.pc {
		display: none;
	}
	.header-in img.logo.sp {
		display: inline-block;
		max-width: 495px;
		width: 100%;
		margin: 0;
	}
	.header-in .trial_box, .header-in .tel_box {
		display: none;
	}
	a[href^="tel:"] {
		pointer-events: auto;
	}
	#glovalNavbar ul li {
		border-left: none;
	}
	#glovalNavbar ul li:last-child {
		border-right: none;
	}
	.footer-nav ul li {
		border-left: none;
	}
	.footer-nav ul li:last-child {
		border-right: none;
	}
	.pagetop {
		right: 20px;
		bottom: 20px;
	}
	/* ====== SP TOGGLE NAV ====== */
	.offcanvas-collapse {
		position: fixed;
		z-index: 3000;
		top: 110px;
		/* ナビバーの高さ */
		bottom: 0;
		left: 100%;
		width: 100%;
		padding: 0;
		overflow-y: auto;
		background-color: transparent;
		transition-timing-function: ease-in-out;
		transition-duration: .5s;
		transition-property: left, visibility;
	}
	.offcanvas-collapse.open {
		left: 0;
		visibility: visible;
		background: url(../img/bg_close.png);
		background-color: rgba(82, 82, 82, 0.47);
		background-repeat: no-repeat;
		background-size: 48px;
		background-position: calc(100% - 60% - 45px) 18px;
		padding: 0;
	}
	.navbar-nav {
		display: block;
		text-align: left;
		margin: 0;
		height: 100%;
		background: #525252;
		padding: 0;
		width: 60%;
		position: absolute;
		top: 0;
		right: 0;
	}
	.navbar-nav .nav-item {
		display: block;
		background-image: linear-gradient(to right, #b6b6b6, #b6b6b6 2px, transparent 2px, transparent 4px);
		background-size: 4px 1px;
		background-position: left bottom;
		background-repeat: repeat-x;
		line-height: 1;
		width: 100%;
		border: none;
	}
	.navbar-nav .nav-item:last-child {
		border: none;
	}
	.navbar-nav .nav-item a::before, .navbar-nav .nav-item a::after {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 45px;
		margin: auto;
		content: "";
		vertical-align: middle;
	}
	.navbar-nav .nav-item a::before {
		width: 19px;
		height: 19px;
		-webkit-border-radius: 50%;
		border-radius: 50%;
		background: #fff;
	}
	.navbar-nav .nav-item a::after {
		top: 0;
		right: 51px;
		width: 9px;
		height: 9px;
		border-top: 3px solid #525252;
		border-right: 3px solid #525252;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.navbar-expand-lg .navbar-nav .nav-link {
		padding: 0;
		height: auto;
	}
	.navbar-dark .navbar-nav .nav-link:link {
		color: #fff;
		font-size: 20px;
		font-weight: 400;
		text-shadow: none;
		transition: .3s;
		padding: 30px 0 30px 10%;
		line-height: 1.0;
		position: relative;
		text-align: left;
	}
	.navbar-dark .navbar-nav .nav-link:visited {
		color: #fff;
	}
	.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:active {
		color: #fff !important;
	}
	.navbar-expand-lg .navbar-toggler {
		display: inline-block;
	}
	.navbar-dark .navbar-mail {
		display: inline-block;
		vertical-align: top;
		margin: 0 10px 0 0;
	}
	nav.navbar {
		display: flex;
		width: 170px;
		padding: 0;
		text-align: right;
		background-color: transparent;
		height: 81px;
		vertical-align: middle;
		float: right;
	}
	main {
		padding-top: 110px;
	}
	footer {
		min-width: auto;
		background-color: #fff;
	}
	#ftto {
		background-color: #fff;
	}
	#ftto li:last-child {
		float: right !important;
	}
	#ftto li:last-child a {
		margin-left: 0 !important;
		margin-right: 2.5vw !important;
	}
	#ftto li a.sp {
		display: inline-block !important;
	}
	#ftto li a.pc {
		display: none !important;
	}
	#crt {
		padding-bottom: 70px;
	}
}
@media screen and (max-width: 768px) {
	.offcanvas-collapse.open {
		background-position: calc(100% - 75% - 45px) 22px;
	}
	.navbar-nav {
		width: 75%;
	}
}
@media screen and (max-width: 700px) {
	.header-in {
		float: none;
	}
	nav.navbar {
		float: none;
		display: inline-block;
	}
	.wailast .bg {
		background-size: 100% 50px;
	}
	.wailast {
		height: 100px !important;
	}
	.Contlast {
		height: 100px !important;
	}
}
@media screen and (max-width: 668px) {
	.header-in {
		padding-top: 5px !important;
	}
	.f-menu_block {
		padding: 0 20px;
	}
	footer section {
		padding: 30px 20px 30px;
	}
	footer section dl dt {
		width: 140px;
	}
	footer section dl dd {
		width: calc(100% - 140px);
	}
}
@media screen and (max-width: 600px) {
	.header {
		padding: 15px 12px 0 8px;
	}
}
@media screen and (max-width: 568px) {
	.header {
		padding: 10px 12px 0 8px !important;
		height: 80px !important;
	}
	.header-in {
		width: calc(100% - 133px);
		margin-right: 5px !important;
		padding-top: 0 !important;
	}
	.header-in img.logo.sp {
		max-height: 61px !important;
	}
	#s-head {
		height: 61px !important;
	}
	#gnavi {
		height: 61px !important;
	}
	#gnavi2 {
		width: 133px !important;
		height: 61px !important;
	}
	#btn-mail, #btn-mail a, #btn-mail a span, #btn-menu, #btn-menu span {
		width: 59px !important;
		height: 61px !important;
	}
	header nav {
		top: 80px !important;
	}
	nav.navbar {
		height: 61px;
		width: 128px;
	}
	.navbar-dark .navbar-mail {
		width: 59px;
		height: 61px;
	}
	.navbar-dark .navbar-mail img {
		width: 59px;
		height: 61px;
	}
	.navbar-dark .navbar-toggler-icon {
		width: 59px;
		height: 61px;
	}
	.offcanvas-collapse {
		top: 80px;
	}
	.offcanvas-collapse.open {
		background-position: calc(100% - 80% - 48px) 18px;
	}
	.navbar-nav {
		width: 80%;
	}
	main {
		padding-top: 80px;
	}
	.pagetop {
		right: 10px;
		bottom: 10px;
	}
	.f-menu_block ul li {
		font-size: 18px;
	}
	.f-menu_block ul li a {
		padding: 0 8px;
	}
	footer section dl dt {
		width: 120px;
		font-size: 18px;
		font-weight: 300;
	}
	footer section dl dd {
		width: calc(100% - 120px);
		font-size: 18px;
		font-weight: 300;
	}
	footer section p:last-child {
		font-size: 18px;
		font-weight: 300;
	}
	footer section + p {
		font-size: 14px;
		font-weight: 300;
	}
}
@media screen and (max-width: 500px) {
	.offcanvas-collapse {
		transition-duration: .4s;
	}
	.wailast .bg {
		background-size: 100% 25px;
	}
	.wailast {
		height: 50px !important;
	}
	.Contlast {
		height: 50px !important;
	}
	address {
		height: 44vw !important;
	}
}
@media screen and (max-width: 430px) {
	.header {
		padding: 10px 10px 0 8px !important;
	}
	.header-in {
		padding-top: 8px !important;
	}
	#btn-mail {
		margin-right: 8px !important;
	}
	.offcanvas-collapse.open {
		background-position: calc(100% - 80% - 48px) 11px;
	}
	.navbar-dark .navbar-nav .nav-link:link {
		font-size: 18px;
		padding: 25px 0 25px 5.5vw;
	}
	.navbar-nav .nav-item a::before, .navbar-nav .nav-item a::after {
		right: 5.5vw;
	}
	.navbar-nav .nav-item a::after {
		right: 7vw;
	}
	.f-menu_block {
		padding: 0 15px;
	}
	.f-menu_block ul {
		padding: 15px 10px 8px 10px;
	}
	footer section dl dt {
		width: 105px;
		font-size: 16px;
	}
	footer section dl dd {
		width: calc(100% - 105px);
		font-size: 16px;
	}
	footer section p:last-child {
		font-size: 16px;
	}
}
@media screen and (max-width: 390px) {
	.header-in {
		padding-top: 10px !important;
	}
	.f-menu_block ul {
		padding: 10px 10px 10px 10px;
	}
	.f-menu_block ul li {
		font-size: 16px;
		margin-bottom: 5px;
	}
}
@media screen and (max-width: 375px) {
	.header-in {
		padding-top: 12px !important;
	}
	.navbar-nav .nav-item a::after {
		right: 7.2vw;
	}
}
@media screen and (max-width: 320px) {
	.header {
		padding: 10px 10px 0 8px !important;
		height: 70px !important;
	}
	.header-in {
		padding-top: 10px !important;
	}
	#btn-mail, #btn-mail a, #btn-mail a span, #btn-menu, #btn-menu span {
		width: 49px !important;
		height: 51px !important;
	}
	#s-head {
		height: 51px !important;
	}
	#gnavi {
		height: 51px !important;
	}
	#gnavi2 {
		width: 111px !important;
		height: 51px !important;
	}
	header nav {
		top: 70px !important;
	}
	.offcanvas-collapse {
		top: 70px;
	}
	.offcanvas-collapse.open {
		background-position: calc(100% - 80% - 46px) 11px;
	}
	nav.navbar {
		height: 51px;
		width: 106px;
	}
	.navbar-dark .navbar-mail {
		width: 49px;
		height: 51px;
		margin: 0 8px 0 0;
	}
	.navbar-dark .navbar-mail img {
		width: 49px;
		height: 51px;
	}
	.navbar-dark .navbar-toggler-icon {
		width: 49px;
		height: 51px;
	}
	main {
		padding-top: 70px;
	}
	.navbar-nav .nav-item a::after {
		right: 7.5vw;
	}
}
@media screen and (max-width: 280px) {
	.header-in {
		padding-top: 13px !important;
	}
	.offcanvas-collapse.open {
		background-position: calc(100% - 80% - 39px) 11px;
		background-size: 40px;
	}
	.navbar-dark .navbar-nav .nav-link:link {
		font-size: 16px;
	}
	footer section dl {
		text-align: center;
	}
	footer section dl dd {
		width: 100%;
	}
	address {
		height: 48vw !important;
	}
	.s-inde2 {
		text-indent: 0 !important;
		padding-top: 10px !important;
	}
}