@charset "utf-8";
/*--------------------------------------------------------------
 * Common
--------------------------------------------------------------*/
html,
body {
	color: #333;
	font-family: "zen-maru-gothic", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, メイリオ, sans-serif;
	font-weight: 400; /* 400 700 */
	font-style: normal;
	line-height: 1.6;
}
body.is-menu-open {
	overflow: hidden;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 3.2rem;
	margin: 0;
	padding: 0;
}
h1,h2,h3,h4,h5,h6,strong,th {
	font-weight: 600;
}
.mn {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.tsuku {
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-weight: 700;
	font-style: normal;
}
.noto {
	font-family: "noto-sans-cjk-jp", sans-serif;
	font-weight: 400; /* 400 700 */
	font-style: normal;
}
.logo {
	font-family: "adobe-hebrew", sans-serif;
	font-weight: 600;
	font-style: normal;
}
a {
	color: #000;
	text-decoration: none;
	transition: color 0.3s ease;
}
a:visited {}
a:hover,
a:active {
	color: #009ab8;
	text-decoration: none;
}
::selection {
	background: rgba(0, 144, 202, 0.5); /* Safari */
}
::-moz-selection {
	background: rgba(0, 144, 202, 0.5); /* Firefox */
}
/* 1000 */
@media (max-width: 1000px) {
	h1, h2, h3, h4, h5, h6 {
		font-size: max(3.2vw, 1.8rem);
	}
}
/* 834 */
@media (max-width: 834px) {
	h1, h2, h3, h4, h5, h6 {
		font-size: 2.8rem;
	}
}
/* 580 */
@media (max-width: 580px) {
	body {
		font-size: 1.4rem;
	}
	h1, h2, h3, h4, h5, h6 {
		font-size: 2.2rem;
	}
}

/*--------------------------------------------------------------*/
/* layout */
/*--------------------------------------------------------------*/
body.sub {
	padding-top: 100px;
}
.flex {
	display: flex;
	flex-wrap: wrap;
}
.flex.reverse {
	flex-direction: row-reverse;
}
.center {
	text-align: center;
}
._right {
	text-align: right;
}
/* pc tb sp view */
.sp_view {
	display: none;
}
.tb_view {
	display: none;
}
/* 1000 */
@media (max-width: 1000px) {
	body.sub {
		padding-top: 70px;
	}
}
/* 834 */
@media (max-width: 834px) {
	.pc_view {
		display: none;
	}
	.tb_view {
		display: block;
	}
	.tb_none {
		display: none;
	}
}
/* 580 */
@media (max-width: 580px) {
	body {
		font-size: 14px;
	}
	body.sub {
		padding-top: 60px;
	}
	.sp_view {
		display: block;
	}
	.sp_view.inline {
		display: inline-block;
	}
	.sp_none {
		display: none!important;
	}
}
/* base */
.content {
	width: auto;
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}

/*--------------------------------------------------------------*/
/* .fixed */
/*--------------------------------------------------------------*/
.fixed {
	position: fixed!important;
	top: 0px;
	z-index: 99;
	animation: moveimg 1s 1;
	box-shadow: 0px 3px 3px rgba(0,0,0,0.3);
	border-bottom: none!important;
}
@keyframes moveimg {
	0% { top: -350px; }
	100% { top: 0px; }
}

/*--------------------------------------------------------------*/
/* f4 */
/*--------------------------------------------------------------*/
.f4 {
	font-size: 4.0rem;
}
/* 1000 */
@media (max-width: 1000px) {
	.f4 {
		font-size: max(4vw, 2.2rem);
	}
}

/*--------------------------------------------------------------*/
/* btn */
/*--------------------------------------------------------------*/
.btn {
	font-size: 2.0rem;
	font-weight: bold;
	border: none;
	color: #fff;
	background: #ff9900;
	margin: 0 auto;
	display: block;
	border-radius: 10px;
	max-width: 300px;
	min-width: 270px;
	width: 70%;
	height: 40px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	transition: all .3s ease;
}
.btn._big {
	font-size: 2.4rem;
	max-width: 400px;
	height: 50px;
}
.btn:hover,
.btn._big:hover {
	background: #003d76;
	color: #fff;
}
/* 1000 */
@media (max-width: 1000px) {
	.btn._big {
		font-size: max(2.4vw, 2.0rem);
	}
}

/*--------------------------------------------------------------*/
/* ul.btn3 */
/*--------------------------------------------------------------*/
/* normal */
ul.btn3 {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px 2%;
}
ul.btn3 li {
	width: 280px;
}
ul.btn3 a {
	font-size: 1.8rem;
	font-weight: bold;
	color: #fff;
	background: #ff9900;
	margin: 0 auto;
	border-radius: 10px;
	width: 280px;
	height: 50px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: .3s ease;
}
/* _big */
ul.btn3._big a {
	font-size: 2.2rem;
	max-width: 360px;
	min-width: 310px;
	width: 100%;
	height: 60px;
}
ul.btn3 a:hover:hover {
	background: #003d76;
	color: #fff;
}
/* tel */
ul.btn3 a.tel {
	font-size: 2.4rem;
}
ul.btn3._big a.tel {
	font-size: 2.8rem;
}
ul.btn3 a.tel img {
	width: 27px;
	margin-top: 2px;
	margin-right: 7px;
}
ul.btn3._big a.tel img {
	width: 33px;
}
ul.btn3 a.tel:hover {
	background: #916421;
}
/* mail */
ul.btn3 a.mail {
	background: #43cace;
}
ul.btn3 a.mail i {
	font-size: 2.4rem;
	margin-top: 2px;
	margin-right: 7px;
}
ul.btn3._big a.mail i {
	font-size: 2.8rem;
}
ul.btn3 a.mail:hover {
	background: #429395;
}
/* line */
ul.btn3 a.line {
	background: #19b62f;
}
ul.btn3 a.line i {
	font-size: 2.8rem;
	color: #06c755;
	margin-top: 2px;
	margin-right: 7px;
	position: relative;
}
ul.btn3._big a.line i {
	font-size: 3.2rem;
}
ul.btn3 a.line i::before {
	position: relative;
	z-index: 3;
}
ul.btn3 a.line i::after {
	content: '';
	display: block;
	aspect-ratio: 1 / 1;
	width: 85%;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 1;
}
ul.btn3 a.line:hover {
	background: #428b4d;
}
/* 1000 */
@media (max-width: 1000px) {
	ul.btn3 a {
		font-size: max(1.8vw, 1.6rem);
	}
}
/* 580 */
@media (max-width: 580px) {
	ul.btn3._big a {
		font-size: 1.9rem;
		width: 90%;
	}
}

/*--------------------------------------------------------------*/
/* a.more */
/*--------------------------------------------------------------*/
a.more {
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 444px;
	width: 80%;
	height: 75px;
	margin: 0 auto;
	border: 1px solid #707070;
	letter-spacing: 1.5px;
	position: relative;
	transition: all .3s ease;
}
a.more:before,
a.more:after {
	content: '';
	height: 1px;
	background: #707070;
	position: absolute;
	top: 50%;
	right: 22px;
	transition: all .3s ease;
}
a.more:before {
	width: 30px;
	transform: translateY(-50%);
}
a.more:after {
	width: 8px;
	transform: translateY(-50%) rotate(45deg);
	transform-origin: right center;
}
a.more:hover {
	background: #000;
	color: #fff;
}
a.more:hover:before {
	background: #fff;
	transform: translateY(-50%) translateX(8px);
}
a.more:hover:after {
	background: #fff;
	transform: translateY(-50%) translateX(8px) rotate(45deg);
}

/*--------------------------------------------------------------*/
/* a.more.black */
/*--------------------------------------------------------------*/
a.more.black {
	border: 1px solid #000;
	background: #000;
	color: #fff;
	transition: color .3s ease, background .3s ease;
}
a.more.black:before,
a.more.black:after {
	background: #fff;
}
a.more.black:hover {
	background: #555;
	border: 1px solid #555;
}

/*--------------------------------------------------------------*/
/* .pd_std */
/*--------------------------------------------------------------*/
.pd_std {
	padding: 80px 0;
}
.pd_std.tzero {
	padding: 0 0 80px 0;
}
.pd_std.bzero {
	padding: 80px 0 0 0;
}
/* 834 */
@media (max-width: 834px) {
	.pd_std {
		padding: max(9.6vw, 60px) 0 max(9.6vw, 60px) 0;
	}
	.pd_std.tzero {
		padding: 0 0 max(9.6vw, 60px) 0;
	}
	.pd_std.bzero {
		padding: max(9.6vw, 60px) 0 0 0;
	}
}

/*--------------------------------------------------------------*/
/* Form関連 */
/*--------------------------------------------------------------*/
input, textarea, select, button {
	font-family: inherit;
	font-size: inherit;
	font-weight: normal;
}
input, select, button {
	vertical-align: middle;
}
textarea::placeholder,
input::placeholder {
	color: #ccc;
}
input:-ms-input-placeholder {
	color: #ccc;
}
input::-ms-input-placeholder {
	color: #ccc;
}
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=submit],
input[type=button],
input[type=number],
button,
select,
textarea {
	font-size: 2.4rem;
	border: 1px solid #64696d;
	margin: 0;
	padding: 6px 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
}
select {
	font-size: 2.2rem;
}
textarea {
	width: 100%;
	height: 240px;
}
input[type=text]:focus,
input[type=password]:focus,
input[type=email]:focus,
input[type=tel]:focus,
select:focus,
textarea:focus {
	outline: none;
	background-color: #FFFFDF;
}
input[type=submit],
input[type=button],
button {
	outline: none;
	cursor: pointer;
	background-color: #F4F4F4;
}
input[type=submit]:hover,
input[type=button]:hover,
button:hover {
	background-color: #fff;
}
input[type=submit]:active,
input[type=button]:active,
button:active {
	background-color: #FFFFDF;
}
select {
	background: url(../images/arrow.png) no-repeat #fff;
	background-position: right 10px center;
	background-size: 10%;
	padding-right: 40px;
}
/* checkbox */
input[type=checkbox] {
	width: 0;
}
input[type=checkbox] + .checkbox-text {
	position: relative;
	vertical-align: middle;
	cursor: pointer;
}
input[type=checkbox] + .checkbox-text:before {
	content: "\f0c8";
	font-family: "Font Awesome 6 Free";
	color: #ccc;
	font-size: 22px;
	margin-right: 4px;
	vertical-align: middle;
}
input[type=checkbox]:checked + .checkbox-text:before {
	content: "\f14a";
	color: #333;
}
/* radio */
input[type=radio] {
	display: none;
}
input[type=radio] + .radio-text:before {
	content: "\f111";
	font-family: "Font Awesome 6 Free";
	color: #ccc;
	font-size: 1.6rem;
	margin-right: 6px;
}
input[type=radio]:checked + .radio-text:before {
	content: "\f192";
	color: #333;
}
/* 1000 */
@media (max-width: 1000px) {
	input[type=text],
	input[type=password],
	input[type=email],
	input[type=tel],
	input[type=submit],
	input[type=button],
	input[type=number],
	button,
	select,
	textarea {
		font-size: max(2.4vw, 1.7rem);
	}
	select {
		font-size: max(2.2vw, 1.6rem);
	}
}

/*--------------------------------------------------------------*/
/* body */
/*--------------------------------------------------------------*/
body {
	padding-top: 80px;
	transition: padding .3s ease;
}
/* 900 */
@media (max-width: 900px) {
	body {
		padding-top: 70px;
	}
}
/* 580 */
@media (max-width: 590px) {
	body {
		padding-top: 60px;
	}
}

/*--------------------------------------------------------------*/
/* #header */
/*--------------------------------------------------------------*/
#header {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
#header .pc_head {
	padding: 0 0 0 7vw;
	background: #fff;
	transition: .3s ease;
	position: relative;
}
#header .pc_head h1 {
	line-height: 1;
}
#header .pc_head .flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
/* flex -> logo_etc */
#header .pc_head .flex .logo_etc {
	display: flex;
	align-items: center;
	gap: 0 3vw;
}
#header .pc_head .flex .logo_etc .logo {
	height: 80px;
	display: flex;
	align-items: center;
	transition: .3s ease;
}
#header.fixed .pc_head .flex .logo_etc .logo {
	height: 70px;
}
#header .pc_head .flex .logo_etc ul {
	display: flex;
	gap: 0 2vw;
}
#header .pc_head .flex .logo_etc ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 80px;
	padding: 0 1vw;
	font-size: 1.8rem;
	transition: height .3s ease;
}
#header.fixed .pc_head .flex .logo_etc ul li a {
	height: 70px;
}
/* flex -> contact */
#header .pc_head .flex .contact {
	display: flex;
}
#header .pc_head .flex .contact a:hover {
	opacity: 0.9;
}
/* flex -> contact -> div.mail */
#header .pc_head .flex .contact div.mail a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 230px;
	height: 80px;
	font-size: 1.8rem;
	color: #fff;
	background: #003c76;
	transition: .3s ease;
	backface-visibility: hidden;
}
#header.fixed .pc_head .flex .contact div.mail a {
	height: 70px;
}
#header .pc_head .flex .contact div.mail a i {
	font-size: 2.6rem;
	fill: #fff;
	margin-bottom: -1px;
	margin-right: 9px;
}
/* flex -> contact -> div.tel */
#header .pc_head .flex .contact div.tel a {
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 230px;
	height: 80px;
	color: #fff;
	background: #0d72ab;
	transition: .3s ease;
	backface-visibility: hidden;
}
#header.fixed .pc_head .flex .contact div.tel a {
	height: 70px;
}
#header .pc_head .flex .contact div.tel a i {
	font-size: 2.6rem;
	fill: #fff;
	margin-bottom: -1px;
	margin-right: 9px;
}
#header .pc_head .flex .contact div.tel a div.text span.tel {
	display: block;
	font-size: 2.3rem;
	line-height: 1;
	margin-bottom: 3px;
}
#header .pc_head .flex .contact div.tel a div.text span.time {
	display: block;
	font-size: 1.2rem;
	line-height: 1.1;
}
/* 1440 */
@media (max-width: 1440px) {
	#header .pc_head {
		padding: 0 0 0 20px;
	}
	#header .pc_head nav {
		padding-right: 10px;
	}
}
/* 1150 */
@media (max-width: 1050px) {
	#header .pc_head nav ul.gnav li {
		padding: 0 8px;
	}
}
/* 900 */
@media (max-width: 900px) {
	/* flex -> logo_etc */
	#header .pc_head .flex .logo_etc ul li a {
		height: 70px;
		font-size: 1.7rem;
	}
	/* flex -> contact -> div.mail */
	#header .pc_head .flex .contact div.mail a {
		height: 70px;
		font-size: 1.7rem;
	}
	/* flex -> contact -> div.tel */
	#header .pc_head .flex .contact div.tel a {
		height: 70px;
	}
}
/* 900 */
@media (max-width: 900px) {
	#header .pc_head nav {
		display: none;
	}
	#header .pc_head .flex .contact {
		display: none;
	}
}
/* 580 */
@media (max-width: 580px) {
	#header .pc_head .flex .logo_etc .logo {
		padding: 5px 0;
		height: 60px;
	}
}

/*--------------------------------------------------------------*/
/* header.type01 */
/*--------------------------------------------------------------*/
header.type01 {
	background: #003c76;
	color: #fff;
	text-align: center;
	padding: 30px 0;
	margin-bottom: 60px;
}
/* 580 */
@media (max-width: 580px) {
	header.type01 {
		margin-bottom: 40px;
	}
}

/*--------------------------------------------------------------*/
/* header#page_head */
/*--------------------------------------------------------------*/
header#page_head .content {
	height: 400px;
	position: relative;
}
header#page_head .content .wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
header#page_head h1 {
	font-size: 40px;
	font-weight: 600;
	line-height: 1;
	text-align: center;
	color: #fff;
	letter-spacing: 5px;
	text-indent: 5px;
}
header#page_head span.eng {
	font-size: 100px;
	line-height: 1;
	position: absolute;
	top: 8%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	color: rgba(255,255,255,0.18);
	z-index: -1;
}
/* 580 */
@media (max-width: 580px) {
	header#page_head .content {
		height: 300px;
	}
	header#page_head h1 {
		font-size: 30px;
	}
	header#page_head span.eng {
		font-size: 90px;
	}
}

/*--------------------------------------------------------------*/
/* header#parrent */
/*--------------------------------------------------------------*/
header#parrent {
	background: url(../images/parrent_bk.jpg) no-repeat;
	background-size: cover;
	height: 600px;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	overflow: hidden;
}
header#parrent .flex {
	width: 100%;
	position: relative;
}
/* text */
header#parrent div.text {
	width: 50%;
	color: #003c76;
	position: relative;
	z-index: 3;
}
header#parrent div.text h1 {
	font-size: 4.0rem;
	margin-bottom: 40px;
	white-space: nowrap;
}
header#parrent div.text h1 strong {
	font-size: 120%;
}
header#parrent div.text .okage {
	max-width: 465px;
	margin-bottom: 40px;
	position: relative;
}
header#parrent div.text .okage::before {
	content: '';
	display: block;
	aspect-ratio: 55 / 135;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../images/gekkei_left.png) no-repeat;
	background-size: contain;
}
header#parrent div.text .okage::after {
	content: '';
	display: block;
	aspect-ratio: 55 / 135;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	background: url(../images/gekkei_right.png) no-repeat;
	background-size: contain;
}
header#parrent div.text .okage p {
	font-size: 3.2rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
}
header#parrent div.text .okage p strong {
	font-size: 180%;
}
header#parrent div.text .wrap {
	max-width: 465px;
}
/* image */
header#parrent div.image {
	width: 50%;
}
header#parrent div.image .three {
	max-width: 540px;
	width: 100%;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 5%;
	transform: translateX(200px);
	transition: 2s ease;
}
header#parrent div.image .three .box {
	aspect-ratio: 26 / 30;
	max-width: 260px;
	width: 47.5%;
	clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}
header#parrent div.image .three .box:nth-child(2),
header#parrent div.image .three .box:nth-child(3) {
	margin-top: -10%;
}
header#parrent div.image .three .box:nth-child(1) {
	background: url(../images/photo_three01.jpg) no-repeat;
	background-size: cover;
	margin: 0 20px;
}
header#parrent div.image .three .box:nth-child(2) {
	background: url(../images/photo_three02.jpg) no-repeat;
	background-size: cover;
}
header#parrent div.image .three .box:nth-child(3) {
	background: url(../images/photo_three03.jpg) no-repeat;
	background-size: cover;
}
/* sample */
header#parrent div.sample {
	position: absolute;
	top: 50%;
	left: 60%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	transition: 1s ease;
}
header#parrent div.sample span.txt {
	font-size: 3.2rem;
	font-weight: bold;
	color: #fff;
	position: absolute;
	top: 45%;
	left: 52%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
/* 1200 */
@media (max-width: 1200px) {
	header#parrent {
		height: max(50vw, 400px);
	}
	/* text */
	header#parrent div.text h1 {
		font-size: max(3.33vw, 3.0rem);
		margin-bottom: max(3.33vw, 25px);
	}
	header#parrent div.text .okage {
		max-width: max(38.6vw, 365px);
		margin-bottom: max(3.33vw, 25px);
	}
	header#parrent div.text .okage p {
		font-size: max(2.65vw, 2.4rem);
	}
	header#parrent div.text .wrap {
		max-width: max(38.6vw, 365px);
	}
	/* image */
	header#parrent div.image .three {
		transform: translateX(60px);
	}
}
/* 800 */
@media (max-width: 800px) {
	header#parrent {
		height: initial;
	}
	header#parrent .content {
		padding-top: max(20vw, 90px);
		padding-bottom: 40px;
	}
	/* text */
	header#parrent div.text {
		width: 100%;
		text-align: center;
		margin-bottom: 10px;
	}
	header#parrent div.text h1 {
		font-size: max(3.75vw, 2.0rem);
		display: inline-block;
		text-align: left;
	}
	header#parrent div.text .okage {
		margin: 0 auto 25px auto;
	}
	header#parrent div.text .okage p {
		font-size: max(3.75vw, 2.0rem);
	}
	header#parrent div.text .wrap {
		margin: 0 auto 25px auto;
	}
	/* image */
	header#parrent div.image {
		width: 100%;
	}
	header#parrent div.image .three {
		transform: translateX(0);
		margin: 0 auto;
	}
	/* sample */
	header#parrent div.sample {
		position: absolute;
		top: 2%;
		left: 73%;
		max-width: 200px;
		width: 31%;
		-webkit-transform: translate(-50%, 0);
		transform: translate(-50%, 0);
	}
	header#parrent div.sample span.txt {
		font-size: max(4vw, 1.6rem);
	}
}

/*--------------------------------------------------------------*/
/* About */
/*--------------------------------------------------------------*/
#About {
	background: #e4f9fc;
}
#About .left {
	width: 50%;
	padding-right: 6%;
}
#About .right {
	width: 50%;
}
#About .right h1 {
	color: #003c76;
	margin-bottom: 20px;
}
#About .right p.noto {
	font-size: 1.8rem;
}
/* 100 */
@media (max-width: 1000px) {
	#About .right p.noto {
		font-size: max(1.8vw, 1.6rem);
	}
}
/* 580 */
@media (max-width: 580px) {
	#About .flex {
		gap: 30px 0;
	}
	#About .left {
		width: 100%;
		padding-right: 0;
	}
	#About .right {
		width: 100%;
	}
	#About .right h1 {
		margin-bottom: 10px;
	}
}

/*--------------------------------------------------------------*/
/* Nayami */
/*--------------------------------------------------------------*/
#Nayami {
	background: url(../images/Nayami_bk.jpg) no-repeat;
	background-size: cover;
	overflow: hidden;
}
/* ul1 */
#Nayami ul.ul1 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 30px 10%;
	margin-bottom: 60px;
}
#Nayami ul.ul1 li {
	font-size: 2.4rem;
	max-width: 280px;
	min-width: 190px;
	width: 26%;
	height: 125px;
	background: #0e72ab;
	color: #f5f104;
	border-radius: 6px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#Nayami p.son {
	font-size: 3.2rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 60px;
}
#Nayami p.son strong {
	display: inline-block;
	font-size: 120%;
	border-bottom: 3px solid #ff9900;
}
#Nayami h2 {
	text-align: center;
	color: #0e72ab;
	margin-bottom: 80px;
}
#Nayami h2 span.num {
	font-size: 160%;
	color: #ff9900;
}
/* ul2 */
#Nayami ul.ul2 {
	max-width: 1040px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding-bottom: 80px;
	margin: 0 auto;
	position: relative;
	gap: 60px 0;
}
#Nayami ul.ul2::after {
	content: '';
	display: block;
	background: #bee2f8;
	width: calc(100% + 120px);
	height: 40%;
	position: absolute;
	bottom: 0;
	left: -60px;
	z-index: 1;
}
#Nayami ul.ul2 li {
	max-width: 302px;
	width: 31%;
	background: #003c76;
	color: #fff;
	padding: 28px;
	position: relative;
	z-index: 2;
}
#Nayami ul.ul2 li dl dt {
	font-size: 2.4rem;
	text-align: center;
	color: #ff9900;
	padding-bottom: 25px;
	border-bottom: 2px solid #64696d;
	margin-bottom: 25px;
}
#Nayami ul.ul2 li .point {
	background: #003c76;
	aspect-ratio: 1 / 1;
	width: 60px;
	border-radius: 50%;
	border: 1px solid #fff;
	text-align: center;
	line-height: 1.2;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	position: absolute;
	left: 0;
	top: -30px;
}
#Nayami ul.ul2 li .point span.num {
	font-size: 2.0rem;
	font-weight: bold;
	display: block;
}
#Nayami ul.ul2 li dl dd {
	font-size: 1.8rem;
}
/* 1000 */
@media (max-width: 1000px) {
	#Nayami ul.ul1 li {
		font-size: max(2.4vw, 1.6rem);
	}
	#Nayami p.son {
		font-size: max(3.2vw, 1.6rem);
	}
	#Nayami ul.ul2 li dl dt {
		font-size: max(2.4vw, 2.0rem);
	}
	#Nayami ul.ul2 li dl dd {
		font-size: max(1.8vw, 1.6rem);
	}
}
/* 834 */
@media (max-width: 834px) {
	/* ul1 */
	#Nayami ul.ul1 {
		gap: 30px 5%;
	}
	#Nayami ul.ul1 li {
		min-width: initial;
		width: 47.5%;
		height: 100px;
	}
	/* ul2 */
	#Nayami ul.ul2 li {
		max-width: 500px;
		width: 100%;
		margin: 0 auto;
		padding: 25px;
	}
	#Nayami ul.ul2::after {
		height: 55%;
	}
}
/* 580 */
@media (max-width: 580px) {
	/* ul1 */
	#Nayami ul.ul1 {
		gap: 20px 5%;
		margin-bottom: 30px;
	}
	#Nayami p.son {
		margin-bottom: 30px;
	}
	#Nayami h2 {
		margin-bottom: 40px;
	}
	#Nayami ul.ul2 li dl dt {
		padding-bottom: 20px;
		margin-bottom: 20px;
	}
}

/*--------------------------------------------------------------*/
/* Rental */
/*--------------------------------------------------------------*/
#Rental header {
	text-align: center;
	margin-bottom: 60px;
}
#Rental header h1 {
	margin-bottom: 8px;
}
#Rental header h1 strong {
	color: #003c76;
}
#Rental header p {
	font-size: 2.4rem;
}
#Rental header p strong {
	font-weight: normal;
	color: #ff9900;
}
#Rental .reltal_image {
	border: 1px solid #000;
	padding: 40px 30px;
	text-align: center;
}
/* 1000 */
@media (max-width: 1000px) {
	#Rental header p {
		font-size: max(2.4vw, 1.6rem);
	}
}
/* 580 */
@media (max-width: 580px) {
	#Rental header {
		margin-bottom: 40px;
	}
}

/*--------------------------------------------------------------*/
/* Btns */
/*--------------------------------------------------------------*/
.Btns {
	background: #ebf2fb;
}
.Btns header {
	color: #003c76;
	text-align: center;
	margin-bottom: 60px;
}
.Btns ul {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 30px 3%;
}
.Btns ul li {
	width: 360px;
}
.Btns ul li h3 {
	font-size: 3.2rem;
	font-weight: 500;
	text-align: center;
	margin-bottom: 10px;
}
/* 1300 */
@media (max-width: 1300px) {
	.Btns ul li h3 {
		font-size: max(2.4vw, 2.0rem);
	}
}

/*--------------------------------------------------------------*/
/* Tokuchou */
/*--------------------------------------------------------------*/
#Tokuchou p.head {
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 80px;
}
#Tokuchou p.head strong {
	color: #ff9900;
}
#Tokuchou ol li {
	margin-bottom: 65px;
	border: 1px solid #64696d;
}
#Tokuchou ol li .title {
	display: flex;
}
#Tokuchou ol li .title span.num {
	background: #0e72ab;
	color: #fff;
	font-size: 3.8rem;
	font-weight: bold;
	line-height: 1;
	display: block;
	display: flex;
	justify-content: center;
	align-items: center;
	aspect-ratio: 1 / 1;
	height: 55px;
}
#Tokuchou ol li .title h3 {
	font-size: 2.4rem;
	line-height: 1.2;
	display: flex;
	align-items: center;
	flex: 1;
	height: 55px;
	background: #003c76;
	color: #fff;
	padding-left: 3vw;
}
/* .flex */
#Tokuchou ol li .flex {
	padding: 30px 60px 60px 60px;
	gap: 40px 0;
}
/* left */
#Tokuchou ol li .flex .left {
	width: 35%;
	padding-top: 40px;
	padding-right: 4vw;
}
#Tokuchou ol li .flex .left p.noto {
	font-size: 1.8rem;
	line-height: 2;
}
/* right */
#Tokuchou ol li .flex .right {
	width: 65%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 5%;
}
#Tokuchou ol li .flex .right figure {
	width: 47%;
	text-align: center;
}
#Tokuchou ol li .flex .right figure figcaption {
	font-size: 1.8rem;
	text-align: center;
	margin-bottom: 5px;
}
/* 1000 */
@media (max-width: 1000px) {
	#Tokuchou p.head {
		font-size: max(2.4vw, 1.8rem);
		margin-bottom: max(8vw, 40px);
	}
	#Tokuchou ol li .title span.num {
		font-size: max(3.8vw, 2.6rem);
		height: 55px;
	}
	#Tokuchou ol li .title h3 {
		font-size: max(2.4vw, 1.8rem);
		height: 55px;
	}
	#Tokuchou ol li {
		margin-bottom: max(6.5vw, 40px);
	}
	#Tokuchou ol li .flex {
		padding: 30px max(6vw, 20px) max(6vw, 20px) max(6vw, 20px);
	}
	#Tokuchou ol li .flex .left p.noto {
		font-size: max(1.8vw, 1.5rem);
	}
	#Tokuchou ol li .flex .right figure figcaption {
		font-size: max(1.8vw, 1.5rem);
		margin-bottom: 5px;
	}
}
/* 580 */
@media (max-width: 580px) {
	/* .flex */
	#Tokuchou ol li .flex {
		padding: 20px 20px 30px 20px;
		gap: 15px 0;
	}
	#Tokuchou ol li .title h3 {
		display: block;
		padding-top: 6px;
		padding-left: 15px;
	}
	/* left */
	#Tokuchou ol li .flex .left {
		width: 100%;
		padding-top: 10px;
		padding-right: 0;
	}
	/* right */
	#Tokuchou ol li .flex .right {
		width: 100%;
		gap: 20px 0;
	}
	#Tokuchou ol li .flex .right figure {
		width: 100%;
	}
}

/*--------------------------------------------------------------*/
/* Lineup */
/*--------------------------------------------------------------*/
#Lineup ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 40px 0;
}
#Lineup ul li {
	width: 47.5%;
	border: 1px solid #64696d;
}
#Lineup ul li h3 {
	background: #0e72ab;
	color: #fff;
	padding: 5px;
	text-align: center;
}
#Lineup ul li .box {
	padding: 30px 50px;
}
#Lineup ul li .box p.head {
	font-size: 1.8rem;
	margin-bottom: 40px;
}
#Lineup ul li .box figure {
	text-align: center;
	margin-bottom: 30px;
}
#Lineup ul li .box figure figcaption {
	font-size: 3.2rem;
	font-weight: bold;
	color: #cc2f2f;
}
#Lineup ul li .box dl {
	margin-bottom: 35px;
}
#Lineup ul li .box dl dt {
	border: 1px solid #003c76;
	font-size: 1.8rem;
	color: #003c76;
	display: inline-block;
	padding: 0 5px;
	margin-bottom: 15px;
}
#Lineup ul li .box dl dd {
	font-size: 1.8rem;
	color: #003c76;
}
#Lineup ul li .box table {
	width: 100%;
	border-top: 1px solid #0e72ab;
	border-left: 1px solid #0e72ab;
	border-collapse: collapse;
	margin-bottom: 6px;
}
#Lineup ul li .box table caption {
	text-align: center;
	font-size: 1.8rem;
	margin-bottom: 8px;
}
#Lineup ul li .box table tr td {
	border-bottom: 1px solid #0e72ab;
	border-right: 1px solid #0e72ab;
	text-align: center;
	padding: 5px 0;
	font-size: 1.8rem;
}
#Lineup ul li .box table tr:nth-child(odd) {
	background: #ebf2fb;
}
#Lineup ul li .box p.note {
	text-align: center;
	color: #0e72ab;
}
/* 1000 */
@media (max-width: 1000px) {
	#Lineup ul li .box {
		padding: 30px max(5vw, 20px);
	}
	#Lineup ul li .box p.head {
		font-size: max(1.8vw, 1.6rem);
	}
	#Lineup ul li .box figure figcaption {
		font-size: max(3.2vw, 2.6rem);
	}
	#Lineup ul li .box dl dt {
		font-size: max(1.8vw, 1.6rem);
	}
	#Lineup ul li .box dl dd {
		font-size: max(1.8vw, 1.6rem);
	}
	#Lineup ul li .box table caption {
		font-size: max(1.8vw, 1.6rem);
	}
	#Lineup ul li .box table tr td {
		font-size: max(1.8vw, 1.6rem);
	}
}
/* 580 */
@media (max-width: 580px) {
	#Lineup ul li {
		width: 100%;
	}
	#Lineup ul li .box p.head {
		margin-bottom: 20px;
	}
}

/*--------------------------------------------------------------*/
/* Nintei */
/*--------------------------------------------------------------*/
#Nintei p.noto {
	font-size: 2.4rem;
	margin-bottom: 30px;
}
#Nintei dl dt {
	float: left;
}
#Nintei dl dt,
#Nintei dl dd {
	font-size: 1.8rem;
	font-weight: bold;
}
/* 1000 */
@media (max-width: 1000px) {
	#Nintei p.noto {
		font-size: max(2.4vw, 1.6rem);
	}
	#Nintei dl dt,
	#Nintei dl dd {
		font-size: max(1.8vw, 1.4rem);
	}
}
/* 580 */
@media (max-width: 580px) {
	#Nintei p.noto {
		margin-bottom: 20px;
	}
}

/*--------------------------------------------------------------*/
/* Flow */
/*--------------------------------------------------------------*/
#Flow ol {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 60px 9%;
}
#Flow ol li {
	max-width: 333px;
	width: 27%;
	border: 1px solid #64696d;
	padding: 20px 30px 30px 30px;
	position: relative;
}
#Flow ol li:nth-child(n+2)::before {
	content: '';
	display: block;
	aspect-ratio: 59 / 26;
	max-width: 59px;
	width: 100%;
	background: url(../images/arrow.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: -16%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#Flow ol li div.title {
	display: flex;
	align-items: end;
	height: 60px;
	margin-bottom: 25px;
}
#Flow ol li div.title span.num {
	font-size: 6.0rem;
	font-weight: bold;
	line-height: 0.9;
	color: #0e72ab;
	margin-right: 10px;
}
#Flow ol li div.title h3 {
	color: #003c76;
	line-height: 1;
	margin-top: 10px;
}
#Flow ol li figure {
	margin-bottom: 20px;
}
#Flow ol li p.noto {
	font-size: 1.8rem;
}
/* 1260 */
@media (max-width: 1260px) {
	#Flow ol li {
		padding: 20px max(2.4vw, 20px) max(2.4vw, 20px) max(2.4vw, 20px);
	}
	#Flow ol li:nth-child(n+2)::before {
		width: 20%;
	}
	#Flow ol li div.title span.num {
		font-size: max(4.7vw, 2.8rem);
	}
	#Flow ol li div.title h3 {
		font-size: max(2.5vw, 1.8rem);
	}
}
/* 1000 */
@media (max-width: 1000px) {
	#Flow ol li div.title {
		height: max(6vw, 40px);
	}
	#Flow ol li p.noto {
		font-size: max(1.8vw, 1.6rem);
	}
}
/* 834 */
@media (max-width: 834px) {
	#Flow ol li {
		padding: 15px;
	}
	#Flow ol li div.title span.num {
		margin-right: 5px;
	}
}
/* 650 */
@media (max-width: 650px) {
	#Flow ol {
		display: block;
	}
	#Flow ol li {
		max-width: 333px;
		width: 100%;
		margin: 0 auto 60px auto;
		padding: 20px;
	}
	#Flow ol li:nth-child(n+2)::before {
		max-width: 40px;
		top: -8%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%) rotatez(90deg);
		transform: translate(-50%, -50%) rotatez(90deg);
	}
	#Flow ol li div.title span.num {
		font-size: 3.0rem;
		margin-right: 8px;
	}
	#Flow ol li div.title h3 {
		font-size: 2.0rem;
	}
}

/*--------------------------------------------------------------*/
/* Works */
/*--------------------------------------------------------------*/
#Works {
	background: url(../images/works_bk.jpg) no-repeat;
	backgrouns-size: cover;
}
#Works ul.parrent {
}
#Works ul.parrent > li {
	background: #fff;
	margin-bottom: 64px;
	border: 1px solid #64696d;
}
#Works ul.parrent > li h3 {
	background: #d3ebf9;
	color: #003c76;
	font-size: 2.4rem;
	text-align: center;
	padding: 5px 0;
}
#Works .body {
	padding: 35px 20px;
	max-width: 930px;
	margin: 0 auto;
}
/* price */
#Works .body dl.price {
	border: 2px solid #000;
	padding: 10px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 10px;
}
#Works .body dl.price dt {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1;
	margin-top: 5px;
	margin-right: 40px;
}
#Works .body dl.price dd {
	font-size: 3.2rem;
	font-weight: bold;
	color: #003c76;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: flex-end;
}
#Works .body dl.price dd span {
	font-size: 70%;
	margin-right: 4px;
	padding-bottom: 2px;
}
/* photo */
#Works .body .photo {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 30px 0;
	margin-bottom: 25px;
	position: relative;
}
#Works .body .photo figure {
	width: 43%;
}
#Works .body .photo figure:nth-child(2)::before {
	content: '';
	display: block;
	aspect-ratio: 59 / 26;
	max-width: 59px;
	width: 100%;
	background: url(../images/arrow.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 57%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#Works .body .photo figcaption {
	text-align: center;
	font-size: 3.2rem;
}
/* meta */
#Works .body ul.meta {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 15px;
}
#Works .body ul.meta li {
	width: calc(100% / 3);
}
#Works .body ul.meta li dl {
	display: flex;
}
#Works .body ul.meta li dl dt {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #d3ebf9;
	width: 55%;
	font-size: 2.4rem;
}
#Works .body ul.meta li dl dd {
	flex: 1;
	font-size: 3.2rem;
	font-weight: bold;
	padding-left: 25px;
}
/* note */
#Works .body p.note {
	font-size: 1.8rem;
	color: #003c76;
}
/* 1000 */
@media (max-width: 1000px) {
	#Works .body {
		padding: max(3.5vw, 20px) 20px;
	}
	#Works ul.parrent > li h3 {
		font-size: max(2.4vw, 1.8rem);
	}
	/* price */
	#Works .body dl.price {
		padding: max(1vw, 5px);
	}
	#Works .body dl.price dt {
		font-size: max(2.4vw, 1.8rem);
		margin-top: max(0.6vw, 0px);
	}
	#Works .body dl.price dd {
		font-size: max(3.2vw, 2.0rem);
	}
	/* photo */
	#Works .body .photo figcaption {
		font-size: max(3.2vw, 2.0rem);
	}
	#Works .body .photo figure:nth-child(2)::before {
		width: 12%;
	}
	/* meta */
	#Works .body ul.meta li dl dt {
		font-size: max(2.4vw, 1.6rem);
		white-space: nowrap;
	}
	#Works .body ul.meta li dl dd {
		font-size: max(3.2vw, 2.0rem);
	}
	#Works .body .photo figcaption {
		font-size: max(3.2vw, 2.0rem);
	}
	/* note */
	#Works .body p.note {
		font-size: max(1.8vw, 1.6rem);
	}
}
/* 580 */
@media (max-width: 580px) {
	#Works .body dl.price dt {
		margin-top: 0;
	}
	#Works .body ul.meta li {
		width: 100%;
	}
	/* photo */
	#Works .body .photo {
		
	}
	#Works .body .photo figure {
		width: 100%;
	}
	#Works .body .photo figure:nth-child(2)::before {
		top: 53%;
		-webkit-transform: translate(-50%, -50%) rotatez(90deg);
		transform: translate(-50%, -50%) rotatez(90deg);
	}
	#Works .body .photo figcaption {
		text-align: left;
	}
	/* meta */
	#Works .body ul.meta {
		gap: 10px 0;
	}
	#Works .body ul.meta li dl dt {
		font-size: 1.7rem;
		width: 147px;
	}
}

/*--------------------------------------------------------------*/
/* Voice */
/*--------------------------------------------------------------*/
#Voice ul {
	display: flex;
	flex-wrap: wrap;
	max-width: 1140px;
	margin: 0 auto;
	gap: 60px 5%;
}
#Voice ul li {
	background: #ebf2fb;
	width: 47.5%;
}
#Voice ul li span.msg {
	display: block;
	background: #fff;
	font-size: 2.8rem;
	color: #003c76;
	text-align: center;
	padding-bottom: 10px;
}
#Voice ul li .box {
	padding: 30px;
}
#Voice ul li .box figure {
	margin-bottom: 20px;
}
#Voice ul li .box h3 {
	font-size: 2.4rem;
	text-align: center;
	margin-bottom: 20px;
}
#Voice ul li .box hr {
	width: 80%;
	margin-bottom: 20px;
}
/* 1000 */
@media (max-width: 1000px) {
	#Voice ul {
		gap: max(6vw, 40px) 5%;
	}
	#Voice ul li span.msg {
		font-size: max(2.8vw, 2.0rem);
	}
	#Voice ul li .box {
		padding: max(3vw, 20px);
	}
	#Voice ul li .box h3 {
		font-size: max(2.4vw, 1.8rem);
	}
}
/* 580 */
@media (max-width: 580px) {
	#Voice ul li {
		width: 100%;
	}
	#Voice ul li .box figure {
		margin-bottom: 13px;
	}
	#Voice ul li .box h3 {
		margin-bottom: 13px;
	}
	#Voice ul li .box hr {
		margin-bottom: 13px;
	}
}

/*--------------------------------------------------------------*/
/* Keiyaku */
/*--------------------------------------------------------------*/
#Keiyaku p.head {
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 60px;
}
#Keiyaku ol > li {
	border: 2px solid #d3ebf9;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 65px;
}
#Keiyaku ol > li .step {
	max-width: 160px;
	width: 18%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	background: #d3ebf9;
	color: #003c76;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1;
}
#Keiyaku ol > li .step .num {
	display: block;
	font-size: 6.0rem;
	font-weight: bold;
}
#Keiyaku ol > li .box {
	flex: 1;
	padding: 30px 40px 30px 80px;
}
#Keiyaku ol > li .box h3 {
	color: #003c76;
	margin-bottom: 7px;
}
#Keiyaku ol > li .box p.noto {
	font-size: 2.4rem;
}
#Keiyaku ol > li .box p.noto strong {
	font-weight: normal;
	color: #ff9900;
}
#Keiyaku ul.btn3 {
	margin-top: 20px;
}
/* 1000 */
@media (max-width: 1000px) {
	#Keiyaku p.head {
		font-size: max(2.4vw, 1.8rem);
		margin-bottom: max(8vw, 40px);
	}
	#Keiyaku ol > li {
		margin-bottom: max(6.5vw, 40px);
	}
	#Keiyaku ol > li .step {
		font-size: max(2.4vw, 1.8rem);
	}
	#Keiyaku ol > li .step .num {
		font-size: 6.0rem;
		font-size: max(6.0vw, 3rem);
	}
	#Keiyaku ol > li .box {
		padding: max(3.0vw, 20px) max(4.0vw, 20px) max(3.0vw, 20px) max(8.0vw, 20px);
	}
	#Keiyaku ol > li .box h3 {
		margin-bottom: 7px;
	}
	#Keiyaku ol > li .box p.noto {
		font-size: max(2.4vw, 1.6rem);
	}
}
/* 580 */
@media (max-width: 580px) {
	#Keiyaku ol > li {
		display: block;
	}
	#Keiyaku ol > li .step {
		display: block;
		max-width: initial;
		width: 100%;
		padding: 3px 5px 10px 5px;
		text-align: center;
	}
	#Keiyaku ol > li .step .num {
		display: inline;
		margin-left: 3px;
	}
	#Keiyaku ol > li .box {
		padding: 20px;
	}

}

/*--------------------------------------------------------------*/
/* Faq */
/*--------------------------------------------------------------*/
#Faq {
	background: url(../images/faq_bk.png) no-repeat;
	backgrouns-size: cover;
}
.qa_lists {
	margin-bottom: 80px;
}
.qa_lists dl:last-child {
	margin-bottom: 0;
}
.qa_lists dl {
	border: 1px solid #64696d;
	background: #d3ebf9;
	margin-bottom: 60px;
}
.qa_lists dl dt.is-close {
	border-bottom: none;
}
.qa_lists dl dt {
	width: 100%;
	line-height: 1.2;
	padding: 32px 70px 28px 25px;
	position: relative;
	cursor: pointer;
}
.qa_lists dl dt:hover {
	background: #e0f4ff;
}
.qa_lists dl dt.is-open .text,
.qa_lists dl dt:hover .text {
	background: #eb7077;
	color: #fff;
}
.qa_lists dl span.qq {
	font-size: 2.2rem;
	font-weight: bold;
	background: #003c76;
	color: #fff;
	width: 36px;
	height: 36px;
	border-radius: 18px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	left: 30px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	padding-bottom: 3px;
}
.qa_lists dl dt span.q_txt {
	font-size: 2.4rem;
	margin-left: 55px;
	display: block;
	line-height: 1.4;
}
.qa_lists dl dd {
	background: #fff;
	overflow: hidden;
}
.qa_lists dl dd .text {
	margin: 32px 70px 28px 30px;
	padding-left: 50px;
	position: relative;
}
.qa_lists dl dd .text p {
	font-size: 1.8rem;
}
.qa_lists dl dt.is-close + dd {
	display: none;
}
.qa_lists dl dt.is-open + dd {
	display: block;
}
.qa_lists dl dt::after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	right: 30px;
	width: 20px;
	height: 4px;
	background: #333;
	-webkit-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: .6s;
	transition-duration: .6s;
	-webkit-transition-delay: 0;
	transition-delay: 0;
	-webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transform: rotate(-180deg);
}
.qa_lists dl dt.is-close:not(.is-open)::after,
.qa_lists dl dt.is-open::after {
	transform: rotate(-90deg);
}
.qa_lists dl dt.is-close.is-open::after {
	transform: rotate(-180deg);
}
.qa_lists dl dt::before {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	right: 30px;
	width: 20px;
	height: 4px;
	background: #333;
	-webkit-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: .6s;
	transition-duration: .6s;
	-webkit-transition-delay: 0;
	transition-delay: 0;
	-webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transform: rotate(0deg);
}
.qa_lists dl dt.is-close:not(.is-open)::before,
.qa_lists dl dt.is-open::before {
	transform: rotate(180deg);
}
.qa_lists dl dt.is-close.is-open::before {
	transform: rotate(0deg);
}
/* otameshi */
.otameshi {
	background: #fff;
	text-align: center;
}
.otameshi p.txt {
	color: #003c76;
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 20px;
}
.otameshi p.txt span.txt {
	position: relative;
}
.otameshi p.txt span.txt::before {
	content: '';
	display: block;
	height: 90%;
	width: 2px;
	background: #003c76;
	position: absolute;
	top: 0;
	left: -20px;
	transform: rotateZ(-15deg);
}
.otameshi p.txt span.txt::after {
	content: '';
	display: block;
	height: 90%;
	width: 2px;
	background: #003c76;
	position: absolute;
	top: 0;
	right: -20px;
	transform: rotateZ(15deg);
}

/* 1000 */
@media (max-width: 1000px) {
	.qa_lists dl {
		margin-bottom: max(6.0vw, 30px);
	}
	.qa_lists dl dt span.q_txt {
		font-size: max(2.4vw, 1.7rem);
	}
	.qa_lists dl dd .text p {
		font-size: max(1.8vw, 1.5rem);
	}
	.otameshi p.txt {
		font-size: max(2.4vw, 2.0rem);
	}
}
/* 768 */
@media (max-width: 768px) {
	.qa_lists dl dt {
		padding: 27px 50px 23px 5px;
	}
	.qa_lists dl dt span.qq {
		left: 14px;
	}
	.qa_lists dl dt::after {
		right: 20px;
	}
	.qa_lists dl dt::before {
		right: 20px;
	}
	.qa_lists dl dd .text {
		margin: 27px 50px 23px 14px;
		padding-left: 45px;
	}
}
/* 580 */
@media (max-width: 580px) {
	.qa_lists dl dt {
		padding: 22px 45px 18px 5px;
	}
	.qa_lists dl dt span.qq {
		left: 14px;
		font-size: 2.0rem;
		padding-bottom: 0;
	}
	.qa_lists dl dt::after {
		right: 12px;
	}
	.qa_lists dl dt::before {
		right: 12px;
	}
	.qa_lists dl dd .text {
		margin: 22px 45px 18px 14px;
	}
}

/*--------------------------------------------------------------*/
/* Area */
/*--------------------------------------------------------------*/
#Area {
	text-align: center;
	position: relative;
	background: #ebf2fb;
}
#Area .text {
	display: inline-block;
	position: absolute;
	top: 20%;
	left: 34%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}
#Area .text p.head {
	color: #ff9900;
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 30px;
	white-space: nowrap;
}
#Area .text .maru {
	aspect-ratio: 1 / 1;
	max-width: 280px;
	min-width: 165px;
	width: 60%;
	margin: 0 auto;
	border-radius: 50%;
	background: #003c76;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
#Area .text .maru h2 {
	font-size: 4.0rem;
	margin-bottom: 10px;
}
#Area .text .maru p.txt {
	font-size: 1.8rem;
}
#Area .otameshi {
	background: initial;
}
/* 1000 */
@media (max-width: 1000px) {
	#Area .text p.head {
		font-size: max(2.4vw, 1.5rem);
		margin-bottom: max(3.0vw, 15px);
	}
	#Area .text .maru h2 {
		font-size: max(4.0vw, 2.2rem);
		margin-bottom: max(1vw, 0px);
	}
	#Area .text .maru p.txt {
		font-size: max(1.8vw, 1.4rem);
	}
}

/*--------------------------------------------------------------*/
/* #pageTop */
/*--------------------------------------------------------------*/
#pageTop {
	display: none;
	width: 60px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	right: 10px;
	bottom: 15px;
	cursor: pointer;
	position: fixed;
	text-align: center;
	background: #fff;
	filter: drop-shadow(0px 0px 0.5px rgba(0,0,0,0.3));
	z-index: 5;
}
#pageTop:hover {
	background: #f6fbeb;
}
#pageTop .box {
	display: flex;
	justify-content: center;
	align-items: center;
	aspect-ratio: 1 / 1;
	width: 100%;
}
/* 580 */
@media (max-width: 580px) {
	#pageTop {
		right: 5px;
		bottom: 15px;
		width: 40px;
	}
}

/*--------------------------------------------------------------*/
/* .banner_nav */
/*--------------------------------------------------------------*/
.banner_nav {
	background: #333;
	z-index: 4;
}
.banner_nav .content {
	padding-top: 30px;
	padding-bottom: 30px;
	position: relative;
}
.banner_nav ul.index {
	position: absolute;
	width: 200px;
	left: -200px;
	transition: 1s ease;
}
.banner_nav ul.index li a,
.banner_nav ul.index li span {
	font-size: 1.8rem;
	color: #fff;
	cursor: pointer;
	transition: color 0.3s ease;
}
.banner_nav ul.index li a:hover,
.banner_nav ul.index li span:hover {
	color: #43cace;
}
.banner_nav ul.banner {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px 25px;
}
.banner_nav ul.banner li {
	width: 22%;
}
/* 1680 */
@media (max-width: 1680px) {
	.banner_nav ul.index {
		position: initial;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 0 30px;
		margin-bottom: 30px;
		width: 100%;
	}
}
/* 1000 */
@media (max-width: 1000px) {
	.banner_nav ul.banner {
		gap: 20px max(2.5vw, 10px);
	}
}
/* 834 */
@media (max-width: 834px) {
	.banner_nav ul.banner li {
		width: 47.5%;
	}
}
/* 580 */
@media (max-width: 580px) {
	.banner_nav ul.index {
		display: block;
		width: 100%;
		text-align: center;
	}
	.banner_nav ul.index li {
		margin-bottom: 10px;
	}
}

/*--------------------------------------------------------------*/
/* Fixed */
/*--------------------------------------------------------------*/
.Fixed {
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 9;
	width: 100%;
	padding: 5px 0 10px 0;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.4));
}
.Fixed h3.vflg {
	display: none;
	text-align: center;
	margin-bottom: 10px;
}
.Fixed ul {
	transition: .3s ease;
	flex-wrap: nowrap;
}
.Fixed ul li h3 {
	font-size: 2.2rem;
	margin-bottom: 1px;
}
.Fixed ul li a {
	min-width: initial!important;
}
/* 1300 */
@media (max-width: 1300px) {
	.Fixed h3 {
		font-size: max(1.69vw, 1.6rem)!important;
	}
	.Fixed ul li {
		width: calc(94% / 2);
		max-width: 360px;
		min-width: initial;
	}
	.Fixed ul li a.tel {
		font-size: max(2.15vw, 1.4rem)!important;
	}
	.Fixed ul li a {
		font-size: max(1.69vw, 1.4rem)!important;
	}
}
/* 1100 */
@media (max-width: 1100px) {
	.Fixed h3.vflg {
		display: block;
	}
	.Fixed ul li h3 {
		display: none;
	}
	.Fixed ul li span.vflg {
		display: none;
	}
	.Fixed ul li a {
		height: max(5.45vw, 40px)!important;
	}
}
/* 580 */
@media (max-width: 580px) {
	.Fixed h3.vflg {
		margin-bottom: 6px;
	}
	.Fixed .content {
		padding-left: 12px;
		padding-right: 12px;
	}
	.Fixed ul li a {
		height: 35px!important;
	}
	.Fixed ul.btn3._big a {
		width: 100%;
	}
	ul.btn3._big a.tel img {
		width: 22px;
		margin-right: 3px;
	}
	ul.btn3._big a.mail i {
		font-size: 2.2rem;
	}
	ul.btn3._big a.line i {
		font-size: 2.6rem;
	}
}


/*--------------------------------------------------------------*/
/* Footer */
/*--------------------------------------------------------------*/
footer {
	background: #333;
}
footer .foot {
	padding-top: 30px;
	padding-bottom: 20px;
}
footer .foot ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	max-width: 900px;
	margin: 0 auto 25px auto;
	gap: 20px 0;
}
footer .foot ul li {
	text-align: center;
	position: relative;
	padding: 0 1.3vw;
	line-height: 1.0;
}
footer .foot ul li:nth-child(n+2) {
	border-left: 1px solid #fff;
}
footer .foot ul li a {
	color: #fff;
}
footer .foot ul li a:hover {
	color: #ccc;
}
footer .copy {
	text-align: center;
	color: #fff;
}
footer .copy a {
	color: #fff;
}
footer .copy a:hover {
	color: #ccc;
}
/* 1920 */
@media (min-width: 1920px) {
	footer .foot ul li {
		padding: 0 25px;
	}
}
/* 580 */
@media (max-width: 580px) {
	footer .foot ul li {
		padding: 0 2.4vw;
	}
	footer .foot ul li:nth-child(4) {
		border: none;
	}
	footer .copy {
		font-size: 80%;
	}
}

