/*--------------------------------------------------------------
# Define
--------------------------------------------------------------*/

/*

/*for xs -575px smartphone
@media(max-width: 575px) {

}

/*for sm 576px-767px smartphone
@media(min-width: 576px) and (max-width: 767px) {

}

/*for md 768px-991px tablet
@media(min-width: 768px) and (max-width: 991px) {

}

/*for lg 992px-1199px pc->tablet
@media(min-width: 992px) and (max-width: 1199px) {

}

/*for xl 1200px-1399px pc
@media(min-width: 1200px) and (max-width: 1399px) {

}

/*for xxl 1400px- pc
@media(min-width: 1400px) {

}
*/



/*--------------------------------------------------------------
# Const
--------------------------------------------------------------*/

:root {
	/* Fonts */
	--font-default:"Noto Serif JP", serif;
	--font-default-size:24px;
	--font-default-size-sp:20px;

	--font-sans:"Noto Sans JP", sans-serif;

	/* Colors */
	--color-default-font:#000000;
	--color-default-bgcolor:#FFFFFF; /* 白 */
	--color-default-bgcolor2:#F9F8F6; /* グレー */
	--color-default-bgcolor3:#f7f5e9; /* アイボリー */
	--color-default-bgcolor4:#F5F8F3; /* グリーン */


	--color1:#000000; /* 黒 */
	--color2:#FFFFFF; /* 白 */
	--color3:#EEEEEE; /* グレー */
	--color4:#E17B3D; /* オレンジ */
	--color5:#FFB200; /* ひまわり */
	--color6:#FFF1D0; /* 薄ひまわり */
	--color7:#5B9747; /* 緑 */
	--color8:#5D7D39; /* 深緑 */

	--color-header-border:#CACACA;

	--color-error:#FF0000;

	--color-hover-a:#fead7c;
	--color-hover-btn:#FFE7AC;
	--color-page-top-shadow:rgba(0,0,0,.18);
	--color-page-top-shadow-hover:rgba(0,0,0,.25);
}

/*--------------------------------------------------------------
# Bootstrap Custom
--------------------------------------------------------------*/

.container-fluid {
	margin:0;
	padding:0;
	position:relative;
	z-index:0;
}
.back-w {
	background-color:var(--color2);
	border-radius:30px;
}

.box-center {
	margin:0 auto;
}

.bg-color1 {
	background-color:var(--color4);
}

.bg-color2 {
	background-color:var(--color2);
}

.bg-color3 {
	background-color:var(--color3);
}

.bg-color4 {
	background-color:var(--color7);
}


/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/

body {
	font-family: var(--font-default);
	font-optical-sizing: auto;
	font-weight:400;
	font-style: normal;
	font-size:var(--font-default-size);
	color: var(--color-default-font);
	background:var(--color-default-bgcolor);


	scroll-behavior: smooth;

	position:relative;

}

/* for sm -767px smartphone */
@media(max-width: 767px) {

body {
	font-size:var(--font-default-size-sp);
}

}

main {
	overflow:hidden;
	position:relative;
	z-index:100;
}



a {
	color: var(--color-default-font);
	text-decoration: none;
}

a:hover {
	color: var(--color-hover-a);
	text-decoration: none;
}

h1{
	margin:0;
	font-size:70px;
	font-weight:500;
	line-height:1.5em;
}

.text-orange {
	color:var(--color4);
}

h2{
	margin:0;
	font-size:40px;
	font-weight:500;
	line-height:1.5em;
}

h3{
	margin:0;
	font-size:32px;
	font-weight:500;
	line-height:1.5em;
}

h4{
	margin:0;
	font-size:20px;
	font-weight:500;
	line-height:1.5em;
}

/* for xs,sm,md -991px smartphone / tablet */
@media(max-width:991px){

	h1{
		font-size:40px;
	}

	h2{
		font-size:32px;
	}

	h3{
		font-size:30px;
	}

	h4{
		font-size:20px;
	}

}


p {
	line-height:1.8em;
}

i {
	font-size:24px;
}



/*--------------------------------------------------------------
# Parts
--------------------------------------------------------------*/


/*=========================================
	共通タイトル
=========================================*/

h1.title-mark::before {
	content:"";
	display:block;
	width:54px;
	height:9px;
	margin:0 auto 16px;
	background:url("/assets/img/common/title_mark.svg") center / contain no-repeat;
}


/*=========================================
	ボタンA
=========================================*/

.btn-a {
	display:inline-flex;
	width:566px;
	max-width:100%;
	height:140px;
	background:var(--color5);
	color:var(--color1);
	transition:background-color .3s;
}

.btn-a h3 {
	display:flex;
	flex:1;
	align-items:center;
	justify-content:center;
	gap:12px;
	margin:0;
	font-weight:600;
	text-align:center;
}

.btn-a .bi-envelope {
	display:grid;
	place-items:center;
	width:50px;
	height:50px;
	font-size:50px;
	line-height:1;
}

.btn-a .bi-arrow-right-short {
	display:flex;
	flex:0 0 70px;
	align-items:center;
	justify-content:center;
	background:var(--color1);
	color:var(--color2);
	font-size:48px;
}

.btn-a .bi-arrow-right-short::before {
	display:flex;
	align-items:center;
	justify-content:center;
	width:48px;
	height:48px;
	line-height:1;
}

.btn-a:hover,
.btn-a:focus-visible {
	background:var(--color-hover-btn);
	color:var(--color1);
}

@media(max-width:767px) {
	.btn-a {
		width:330px;
		height:90px;
	}

	.btn-a h3 {
		gap:8px;
		font-size:24px;
	}

	.btn-a .bi-envelope {
		width:24px;
		height:24px;
		font-size:24px;
	}

	.btn-a .bi-arrow-right-short {
		flex-basis:40px;
		font-size:32px;
	}

	.btn-a .bi-arrow-right-short::before {
		width:32px;
		height:32px;
	}
}


/*=========================================
	ボタンB
=========================================*/
.btn-b {
	display:inline-flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	width:566px;
	max-width:100%;
	height:140px;
	background:var(--color7);
	color:var(--color2);
	text-align:center;
	transition:background-color .3s;
}

.btn-b__label {
	font-size:30px;
}

.btn-b__number-row {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:12px;
}

.btn-b__number-row .bi {
	display:grid;
	place-items:center;
	width:50px;
	height:50px;
	font-size:50px;
	line-height:1;
}

.btn-b__number {
	font-size:50px;
	font-weight:600;
	line-height:1;
}

.btn-b:hover {
	background:var(--color8);
	color:var(--color2);
}



@media(max-width:767px) {
	.btn-b {
		width:330px;
		height:90px;
	}

	.btn-b__label {
		font-size:20px;
	}

	.btn-b__number-row .bi {
		width:30px;
		height:30px;
		font-size:30px;
	}

	.btn-b__number {
		font-size:32px;
	}
}



/*=========================================
	中ページ共通見出し
=========================================*/

.page-hero {
	display:flex;
	align-items:center;
	justify-content:center;
	height:400px;
	background-position:center top;
	background-size:auto 400px;
	background-repeat:no-repeat;
	text-align:center;
}

.page-hero--company {
	background-image:url("/assets/img/company/company_image_main.webp");
}

.page-hero--inq {
	background-image:url("/assets/img/inq/inq_image_main.webp");
}

.page-hero--privacy {
	background-image:url("/assets/img/privacy/privacy_image_main.webp");
}

.page-hero--service {
	background-image:url("/assets/img/service/service_image_main.webp");
}

@media(max-width:991px) {
	.page-hero {
		height:200px;
		background-size:auto 200px;
	}

	.page-hero--company {
		background-image:url("/assets/img/company/company_image_main_sp.webp");
	}

	.page-hero--inq {
		background-image:url("/assets/img/inq/inq_image_main_sp.webp");
	}

	.page-hero--privacy {
		background-image:url("/assets/img/privacy/privacy_image_main_sp.webp");
	}

	.page-hero--service {
		background-image:url("/assets/img/service/service_image_main_sp.webp");
	}
}



/*--------------------------------------------------------------
# side Botton
--------------------------------------------------------------*/

.side-contact {
	display:none;
	position:fixed;
	top:50%;
	right:0;
	z-index:1000;
	width:104px;
	height:300px;
	color:var(--color1);
	transform:translateY(-50%);
}

.side-contact__body {
	display:flex;
	flex-direction:row-reverse;
	align-items:flex-start;
	justify-content:center;
	gap:8px;
	width:104px;
	height:250px;
	padding-top:15px;
	background:var(--color5);
	transition:background-color .3s;
}

.side-contact__title,
.side-contact__sub {
	writing-mode:vertical-rl;
	line-height:1;
}

.side-contact__title {
	font-size:22px;
	font-weight:700;
}

.side-contact__sub {
	font-size:18px;
	font-weight:700;
}

.side-contact__arrow {
	display:grid;
	place-items:center;
	width:104px;
	height:50px;
	background:var(--color1);
	color:var(--color2);
	transition:background-color .3s;
}

.side-contact__arrow .bi {
	display:grid;
	place-items:center;
	width:48px;
	height:48px;
	font-size:48px;
	line-height:1;
}

.side-contact:hover,
.side-contact:focus-visible {
	color:var(--color1);
}

.side-contact:hover .side-contact__body,
.side-contact:focus-visible .side-contact__body {
	background:var(--color6);
}

@media(min-width:992px) {
	.side-contact {
		display:block;
	}
}


/*--------------------------------------------------------------
# SpMenu
--------------------------------------------------------------*/

@media(max-width:991px) {
	.site-header__toggle {
		padding:0;
		border:0;
	}

	.site-header__toggle .navbar-toggler-icon {
		width:44px;
		height:44px;
	}

	.site-header__nav {
		position:absolute;
		top:100%;
		right:0;
		left:0;
		z-index:10;
		padding:24px 30px 30px;
		background:var(--color2);
	}

	.site-header .site-header__links .nav-item + .nav-item {
		border-left:0;
		border-top:1px solid var(--color-header-border);
	}

	.site-header .site-header__nav .navbar-nav .nav-link {
		padding:14px 0;
	}

	.site-header__contact {
		margin-top:16px;
	}
}


/*--------------------------------------------------------------
# SP Menu Under
--------------------------------------------------------------*/

@media(max-width:991px) {
	#spmenuUnder {
		position:fixed;
		right:0;
		bottom:0;
		left:0;
		z-index:1000;
		display:flex;
		height:80px;
	}

	.spmenu-contact,
	.spmenu-top {
		display:flex;
		align-items:center;
		justify-content:center;
		border:0;
		cursor:pointer;
	}

	.spmenu-contact {
		flex:1;
		gap:8px;
		background:var(--color5);
		color:var(--color1);
		font-size:20px;
		font-weight:700;
		transition:background-color .3s;
	}

	.spmenu-contact .bi {
		display:grid;
		place-items:center;
		width:22px;
		height:22px;
		font-size:22px;
		line-height:1;
	}

	.spmenu-contact:hover,
	.spmenu-contact:focus-visible {
		background:var(--color6);
		color:var(--color1);
	}

	.spmenu-top {
		flex:0 0 80px;
		background:var(--color1);
		color:var(--color2);
		transition:background-color .3s;
	}

	.spmenu-top .bi {
		display:grid;
		place-items:center;
		width:32px;
		height:32px;
		font-size:32px;
		line-height:1;
	}

	.spmenu-top:active {
		background:var(--color3);
		color:var(--color1);
	}

	@media(hover:hover) {
		.spmenu-top:hover,
		.spmenu-top:focus-visible {
			background:var(--color3);
			color:var(--color1);
		}
	}
}



/*--------------------------------------------------------------
# Preloader
--------------------------------------------------------------*/

#preloader {
	width:100vw;
	height:100vh;
	top:0;
	left:0;

	background-color:var(--color2);

	position:fixed;
	z-index:3000;

	display:flex;
	justify-content:center;
	align-items:center;
}

#preloaderMark {
	opacity:0;
	animation: blink 1.5s infinite linear;
}

#preloaderMark img {
	width:100px;
	height:100px;
}

@keyframes blink {
	50% {
		opacity: 1;
	}
}


/*--------------------------------------------------------------
# PagetopLink
--------------------------------------------------------------*/

#page-top{
	width:64px;
	height:64px;
	position:fixed;
	right:30px;
	bottom:30px;
	z-index:1000;

	display:flex;
	align-items:center;
	justify-content:center;

	background:var(--color4);
	border-radius:50%;
	box-shadow:0 8px 20px var(--color-page-top-shadow);

	cursor:pointer;

	opacity:0;

	transition:
		background .3s,
		transform .3s,
		box-shadow .3s,
		opacity .4s;
}

#page-top i{
	color:var(--color2);
	font-size:34px;
	line-height:1;
	transition:transform .3s;
}

#page-top:hover{
	background:var(--color-hover-a);
	box-shadow:0 12px 28px var(--color-page-top-shadow-hover);
	transform:translateY(-4px);
}

#page-top:hover i{
	transform:translateY(-3px);
}

#page-top.UpMove{
	animation:UpAnime .4s forwards;
}

@keyframes UpAnime{
	from{
		opacity:0;
		transform:translateY(80px);
	}
	to{
		opacity:1;
		transform:translateY(0);
	}
}

#page-top.DownMove{
	animation:DownAnime .4s forwards;
}

@keyframes DownAnime{
	from{
		opacity:1;
		transform:translateY(0);
	}
	to{
		opacity:0;
		transform:translateY(80px);
	}
}

@media(max-width:991px){

	#page-top{
		width:56px;
		height:56px;
		right:18px;
		bottom:18px;
	}

	#page-top i{
		font-size:30px;
	}

}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/

.site-header {
	min-height:110px;
	padding:0 40px;
}

.site-header__inner {
	display:flex;
	align-items:center;
	justify-content:space-between;
	width:100%;
}

.site-header__logo {
	flex:none;
	transition:opacity .3s;
}

.site-header__logo:hover,
.site-header__logo:focus-visible {
	opacity:.7;
}

.site-header__logo img {
	display:block;
}

.site-header__nav {
	flex-grow:0;
	align-items:center;
	gap:40px;
}

.site-header__links .nav-item + .nav-item {
	border-left:1px solid var(--color-header-border);
}

.site-header .navbar-nav .nav-link {
	padding:0 30px;
	color:var(--color1);
	font-size:20px;
	font-weight:500;
	white-space:nowrap;
}

.site-header .navbar-nav .nav-link:hover,
.site-header .navbar-nav .nav-link:focus-visible {
	color:var(--color4);
}

.site-header__contact {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	flex:none;
	width:204px;
	height:62px;
	border:2px solid var(--color-header-border);
	border-radius:4px;
	color:var(--color1);
	font-size:20px;
	white-space:nowrap;
	transition:background-color .3s, border-color .3s;
}

.site-header__contact .bi {
	font-size:22px;
	line-height:1;
}

.site-header__contact:hover,
.site-header__contact:focus-visible {
	border-color:var(--color5);
	background:var(--color6);
	color:var(--color4);
}

@media(max-width:991px) {
	.site-header {
		min-height:80px;
		padding:0 30px;
	}

	.site-header__logo img {
		width:200px;
		height:43px;
	}

}

@media(max-width:575px) {
	.site-header {
		padding:0 20px;
	}
}


/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

.site-footer__inner {
	padding:42px 40px 40px;
}

.site-footer__main {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:30px;
}

.site-footer__logo {
	flex:none;
	transition:opacity .3s;
}

.site-footer__logo:hover,
.site-footer__logo:focus-visible {
	opacity:.7;
}

.site-footer__logo img {
	display:block;
}

.site-footer__nav {
	display:flex;
	align-items:center;
	gap:26px;
}

.site-footer__nav a {
	color:var(--color1);
	font-size:20px;
	font-weight:500;
	white-space:nowrap;
}

.site-footer__nav a:hover,
.site-footer__nav a:focus-visible {
	color:var(--color4);
}

.site-footer__copyright {
	margin:58px 0 0;
	font-size:18px;
	text-align:center;
}

@media(max-width:991px) {
	.site-footer__inner {
		padding:48px 30px 130px;
	}

	.site-footer__main {
		flex-direction:column;
		align-items:center;
		gap:30px;
	}

	.site-footer__logo img {
		width:300px;
		height:65px;
	}

	.site-footer__nav {
		flex-direction:column;
		align-items:center;
		gap:0;
		width:100%;
	}

	.site-footer__nav a {
		display:block;
		width:100%;
		padding:20px 0;
		border-bottom:1px solid var(--color-header-border);
		font-size:20px;
		font-weight:600;
		text-align:center;
	}

	.site-footer__copyright {
		margin-top:42px;
	}
}

@media(max-width:575px) {
	.site-footer__inner {
		padding-right:20px;
		padding-left:20px;
	}

	.site-footer__logo img {
		width:min(300px, calc(100vw - 40px));
		height:auto;
	}
}


/*--------------------------------------------------------------
# nagomiセクション
--------------------------------------------------------------*/

#nagomi{
	padding:110px 0;
	background:#faf8f3;
	border-top:1px solid #ece7de;
}

.nagomi-label{
	display:inline-block;
	padding:6px 18px;
	background:#6c8b42;
	color:#fff;
	font-size:14px;
	border-radius:30px;
	margin-bottom:20px;
}

.nagomi-title{
	font-size:44px;
	font-weight:700;
	line-height:1.5;
	margin-bottom:25px;
}

.nagomi-title span{
	color:#6c8b42;
}

.nagomi-text{
	font-size:17px;
	line-height:2;
	margin-bottom:35px;
}

.nagomi-service{
	background:#FFFFFF;
	border:1px solid #E8E4DA;
	border-radius:14px;

	height:215px;

	padding:26px 18px;

	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;

	text-align:center;

	transition:.25s;
}

.nagomi-service:hover{
	transform:translateY(-5px);
	box-shadow:0 12px 28px rgba(0,0,0,.08);
}

.nagomi-service i{
	font-size:52px;
	color:var(--color8);

	line-height:1;

	margin-bottom:18px;
}

.nagomi-service h4{
	margin:0 0 12px;

	font-size:19px;
	font-weight:700;
	line-height:1.4em;
}

.nagomi-service p{
	margin:0;

	font-size:13px;
	line-height:1.7em;
}

.nagomi-card{
	width:100%;
	padding-left:30px;
}

.nagomi-brand{
	margin-bottom:35px;
	text-align:center;
}

.nagomi-logo{
	margin:0 auto;
	display:block;
}

.nagomi-brand p{
	margin:0;
	color:var(--color8);
	font-size:20px;
	font-weight:700;
	line-height:1.5em;
	letter-spacing:.04em;
}

.nagomi-staff{
	width:100%;
	margin-bottom:28px;
	overflow:hidden;
}

.nagomi-staff img{
	width:100%;
	height:310px;
	object-fit:cover;
	object-position:center;
	display:block;
}

.nagomi-contact{
	width:100%;
	margin-bottom:20px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:22px;
}

.nagomi-contact-main{
	flex:1;
	display:flex;
	align-items:center;
	gap:18px;
}

.nagomi-phone-icon{
	width:64px;
	height:64px;
	flex-shrink:0;
	color:#FFFFFF;
	background:var(--color8);
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
}

.nagomi-phone-icon i{
	color:#FFFFFF;
	font-size:31px;
	line-height:1;
}

.nagomi-phone{
	flex:1;
	text-align:left;
}

.nagomi-phone span{
	margin-bottom:4px;
	color:#555555;
	font-size:16px;
	font-weight:600;
	line-height:1.5em;
	display:block;
}

.nagomi-phone a{
	color:var(--color8);
	font-size:44px;
	font-weight:700;
	line-height:1.1em;
	letter-spacing:.02em;
	white-space:nowrap;
}

.nagomi-phone a:hover{
	color:#4D6A30;
}

.nagomi-hours{
	width:155px;
	padding:14px 10px;
	flex-shrink:0;
	text-align:center;
	background:#F4ECD5;
	border-radius:12px;
}

.nagomi-hours strong{
	margin-bottom:3px;
	color:#555555;
	font-size:15px;
	font-weight:700;
	display:block;
}

.nagomi-hours span{
	color:#444444;
	font-size:15px;
	font-weight:600;
	display:block;
}

.nagomi-hours small{
	margin-top:3px;
	color:#6C7C52;
	font-size:11px;
	font-weight:600;
	line-height:1.45em;
	display:block;
}

.nagomi-btn{
	width:100%;
	height:66px;
	padding:0 30px;
	color:#FFFFFF;
	background:#F68A25;
	border-radius:7px;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	font-size:20px;
	font-weight:700;
	line-height:1;
	transition:.25s;
}

.nagomi-btn i{
	color:#FFFFFF;
	font-size:18px;
	transition:.25s;
}

.nagomi-btn:hover{
	color:#FFFFFF;
	background:#E97A16;
}

.nagomi-btn:hover i{
	transform:translateX(4px);
}

@media(min-width:992px) and (max-width:1399px){

	.nagomi-card{
		padding-left:20px;
	}

	.nagomi-logo{
		max-width:390px;
	}

	.nagomi-brand p{
		font-size:17px;
	}

	.nagomi-staff img{
		height:270px;
	}

	.nagomi-contact{
		gap:14px;
	}

	.nagomi-contact-main{
		gap:12px;
	}

	.nagomi-phone-icon{
		width:54px;
		height:54px;
	}

	.nagomi-phone-icon i{
		font-size:26px;
	}

	.nagomi-phone span{
		font-size:13px;
	}

	.nagomi-phone a{
		font-size:34px;
	}

	.nagomi-hours{
		width:130px;
	}

	.nagomi-btn{
		height:60px;
		font-size:18px;
	}

}

@media(max-width:991px){

	.nagomi-card{
		margin-top:50px;
		padding-left:0;
	}

	.nagomi-brand{
		margin-bottom:25px;
	}

	.nagomi-logo{
		max-width:430px;
	}

	.nagomi-staff img{
		height:auto;
	}

	.nagomi-contact{
		margin-top:25px;
	}

}


@media(max-width:767px) {
	.nagomi-title {
		font-size:40px;
	}

	.nagomi-logo {
		max-width:100%;
	}

	.nagomi-brand p {
		font-size:17px;
	}

	.nagomi-contact {
		display:block;
	}

	.nagomi-contact-main {
		justify-content:center;
	}

	.nagomi-phone {
		flex:initial;
	}

	.nagomi-phone span {
		font-size:14px;
	}

	.nagomi-phone a {
		font-size:35px;
	}

	.nagomi-hours {
		width:100%;
		margin-top:18px;
		padding:12px;
	}

	.nagomi-hours small br {
		display:none;
	}

	.nagomi-btn {
		height:60px;
		padding:0 15px;
		font-size:17px;
	}
}


/*--------------------------------------------------------------
# index sec
--------------------------------------------------------------*/

#inqsec {
	min-height:650px;
	background:var(--color2) url("/assets/img/common/common_contact_back.webp") center top / cover no-repeat;
}

.inqsec-inner {
	padding:90px 24px 70px;
	text-align:center;
}

.inqsec-lead {
	margin:20px 0 40px;
	line-height:1.5;
}

.inqsec-actions {
	gap:80px;
}

.inqsec-phone {
	max-width:100%;
}

.inqsec-hours {
	margin:16px 0 0;
	font-size:20px;
	line-height:1.5;
}

@media(min-width:1200px) {
	.inqsec-lead {
		margin-bottom:64px;
	}
}

@media(min-width:1200px) and (max-width:1399px) {
	.inqsec-actions {
		gap:20px;
	}
}

@media(max-width:1199px) {
	.inqsec-actions {
		gap:40px;
	}
}

@media(max-width:991px) {
	#inqsec {
		min-height:740px;
		background-image:url("/assets/img/common/common_contact_back_sp.webp");
	}

	.inqsec-inner {
		padding:78px 15px 60px;
	}

	.inqsec-lead {
		margin:28px auto 40px;
	}

	.inqsec-hours {
		margin-top:12px;
	}
}

/*--------------------------------------------------------------
# Top Image
--------------------------------------------------------------*/

#topimage {
	min-height:800px;
	background-color:var(--color2);
	background-image:
		url("/assets/img/index/index_image_key_cover.webp"),
		url("/assets/img/index/index_image_key.webp");
	background-position:left top, right top;
	background-size:auto 800px, auto 800px;
	background-repeat:no-repeat;
}

.topimage-stage {
	display:flex;
	align-items:center;
	width:100%;
	min-height:800px;
}

.topimage-content {
	width:100%;
	padding:0 8%;
}

.topimage-heading {
	line-height:1.15;
}

.topimage-heading-line {
	display:block;
}

.topimage-heading-line + .topimage-heading-line {
	margin-top:20px;
}

.topimage-heading-main {
	font-size:120px;
	font-weight:500;
}

.topimage-heading-particle,
.topimage-heading-sub {
	font-size:54px;
	font-weight:600;
}

.topimage-services {
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:22px;
	margin-top:42px;
}

.topimage-service-row {
	display:flex;
	flex-wrap:wrap;
	gap:16px;
}

.topimage-service-row span {
	padding:2px 18px;
	background:var(--color5);
	color:var(--color1);
	font-family:var(--font-sans);
	font-size:32px;
	font-weight:700;
}

.topimage-copy {
	margin:32px 0 0;
	font-size:28px;
	font-weight:600;
	line-height:1.5;
}

@media(max-width:991px) {
	#topimage {
		height:380px;
		min-height:0;
		overflow:hidden;
		background:none;
	}

	.topimage-stage {
		width:360px;
		height:380px;
		min-height:0;
		background:url("/assets/img/index/index_image_key_sp.webp") center top / 360px 380px no-repeat;
		transform-origin:left top;
	}

	.topimage-content {
		padding:0 15px;
	}

	.topimage-heading {
		line-height:1;
	}

	.topimage-heading-line + .topimage-heading-line {
		margin-top:0;
	}

	.topimage-heading-main {
		font-size:54px;
	}

	.topimage-heading-particle,
	.topimage-heading-sub {
		font-size:24px;
	}

	.topimage-services {
		gap:8px;
		margin-top:22px;
	}

	.topimage-service-row {
		gap:8px;
	}

	.topimage-service-row span {
		padding:2px 12px;
		font-size:18px;
	}

	.topimage-copy {
		margin-top:16px;
		font-size:18px;
		line-height:1.5;
	}
}


/*--------------------------------------------------------------
# TOP お悩み提示エリア
--------------------------------------------------------------*/

#worries {
	padding:100px 30px 95px;
}

.worries-title {
	text-align:center;
}

.worries-grid {
	--bs-gutter-x:74px;
	--bs-gutter-y:30px;
	margin-top:38px;
}

.worries-card {
	display:flex;
	flex-direction:column;
	align-items:center;
	min-height:320px;
	padding:26px 20px 25px;
	background:var(--color-default-bgcolor2);
	text-align:center;
}

.worries-card-text {
	font-family:var(--font-sans);
}

.worries-card-text .text-orange {
	font-weight:700;
}

.worries-card img {
	width:227px;
	height:150px;
	margin-top:auto;
}

.worries-closing {
	margin-top:80px;
	text-align:center;
}

@media(max-width:1399px) {
	.worries-grid {
		--bs-gutter-x:20px;
	}
}

@media(max-width:991px) {
	#worries {
		padding:80px 24px;
	}

	.worries-grid {
		--bs-gutter-x:24px;
		margin-top:32px;
	}

	.worries-card img {
		width:209px;
		height:138px;
	}

	.worries-closing {
		margin-top:60px;
	}
}

@media(max-width:767px) {
	#worries {
		padding:65px 20px;
	}

	.worries-card {
		min-height:280px;
	}

	.worries-closing {
		margin-top:48px;
	}
}


/*--------------------------------------------------------------
# TOP サービス内容
--------------------------------------------------------------*/

#services {
	padding:100px 42px;
	background:var(--color-default-bgcolor2);
}

.services-title,
.services-lead {
	text-align:center;
}

.services-lead {
	margin:20px 0 80px;
}

.services-grid {
	--bs-gutter-x:45px;
	--bs-gutter-y:40px;
}

.services-card {
	height:100%;
	min-height:720px;
	padding:72% 20px 35px;
	background-color:var(--color2);
	background-position:center top;
	background-size:100% auto;
	background-repeat:no-repeat;
}

.services-card-1 {
	background-image:url("/assets/img/index/index_image_service_1.webp");
}

.services-card-2 {
	background-image:url("/assets/img/index/index_image_service_2.webp");
}

.services-card-3 {
	background-image:url("/assets/img/index/index_image_service_3.webp");
}

.services-card-4 {
	background-image:url("/assets/img/index/index_image_service_4.webp");
}

.services-card h3 {
	text-align:center;
}

.services-card-text {
	margin-top:34px;
}

.services-card-text p {
	margin:0;
}

@media(max-width:1399px) {
	.services-grid {
		--bs-gutter-x:20px;
	}
}

@media(max-width:1199px) {
	.services-grid {
		--bs-gutter-x:30px;
	}
}

@media(max-width:991px) {
	#services {
		padding:80px 24px;
	}

	.services-lead {
		margin-bottom:50px;
	}
}

@media(max-width:767px) {
	#services {
		padding:65px 20px;
	}

	.services-grid {
		--bs-gutter-y:30px;
	}

	.services-card {
		height:auto;
		min-height:0;
		padding-bottom:30px;
	}
}



/*--------------------------------------------------------------
# TOP 墓じまい料金案内
--------------------------------------------------------------*/

#pricing {
	padding:100px 6%;
}

.pricing-title,
.pricing-lead {
	text-align:center;
}

.pricing-lead {
	margin:20px 0 65px;
}

.pricing-panel,
.pricing-detail {
	background:var(--color-default-bgcolor2);
}

.pricing-panel {
	padding:50px 10% 60px;
	text-align:center;
}

.pricing-table {
	width:100%;
	margin-top:20px;
	border-collapse:separate;
	border-spacing:16px 12px;
	table-layout:fixed;
	font-family:var(--font-sans);
}

.pricing-table th:first-child,
.pricing-table td:first-child {
	width:24%;
}

.pricing-table th,
.pricing-table td {
	padding:14px 12px;
	text-align:center;
}

.pricing-table th {
	background:var(--color6);
	font-weight:500;
}

.pricing-table td {
	background:var(--color2);
}

.pricing-table-tax {
	font-size:24px;
	font-weight:600;
}

.pricing-table-note {
	margin:24px 0 0;
}

.pricing-details {
	--bs-gutter-x:56px;
	--bs-gutter-y:32px;
	margin-top:32px;
}

.pricing-detail {
	height:100%;
	padding:50px 48px 60px;
}

.pricing-detail > p {
	margin:24px 0 0;
}

.pricing-extra-list {
	margin:32px 0 0;
	padding:28px 40px;
	background:var(--color2);
	list-style:none;
}

.pricing-extra-list li {
	display:flex;
	align-items:baseline;
	gap:16px;
}

.pricing-extra-list li + li {
	margin-top:12px;
}

.pricing-extra-list .bi {
	color:var(--color4);
}

.pricing-total {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	gap:6px;
	margin-top:30px;
	padding:18px;
	background:var(--color2);
	font-family:var(--font-sans);
}

.pricing-total h3,
.pricing-total p {
	font-weight:700;
}

.pricing-total-price {
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	justify-content:center;
	gap:6px;
}

.pricing-total-price h3,
.pricing-total-price p {
	white-space:nowrap;
	line-height:1;
}

.pricing-total-price p {
	margin:0;
}

.pricing-total-amount {
	color:var(--color4);
	font-size:64px;
}

.pricing-detail .pricing-example-note {
	margin-top:34px;
}

.pricing-bottom {
	margin-top:65px;
	text-align:center;
}

.pricing-bottom p {
	margin:0 0 32px;
}

@media(max-width:991px) {
	#pricing {
		padding:80px 24px;
	}

	.pricing-panel {
		padding:40px 24px 50px;
	}

	.pricing-details {
		--bs-gutter-x:32px;
	}

	.pricing-detail {
		padding:40px 28px 50px;
		text-align:center;
	}

	.pricing-extra-list {
		padding:24px;
		text-align:left;
	}
}

@media(max-width:767px) {
	#pricing {
		padding:65px 15px;
	}

	.pricing-lead {
		margin-bottom:40px;
	}

	.pricing-panel {
		padding:30px 10px 40px;
	}

	.pricing-table {
		display:block;
		margin-top:30px;
		border-spacing:0;
	}

	.pricing-table thead {
		display:none;
	}

	.pricing-table tbody,
	.pricing-table tr,
	.pricing-table td {
		display:block;
		width:100%;
	}

	.pricing-table tr + tr {
		margin-top:16px;
	}

	.pricing-table th:first-child,
	.pricing-table td:first-child {
		width:100%;
	}

	.pricing-table td {
		padding:14px 8px;
	}

	.pricing-table td:first-child {
		background:var(--color6);
	}

	.pricing-table-tax {
		font-size:20px;
		font-weight:700;
	}

	.pricing-table-note br,
	.pricing-lead br {
		display:none;
	}

	.pricing-detail {
		padding:30px 12px 40px;
	}

	.pricing-extra-list {
		padding:20px;
	}

	.pricing-total {
		flex-direction:column;
		gap:0;
		padding:12px 6px;
	}

	.pricing-total-price {
		width:100%;
		gap:4px;
	}

	.pricing-total-amount {
		font-size:50px;
	}

	.pricing-bottom {
		margin-top:50px;
	}
}


/*--------------------------------------------------------------
# TOP ご依頼の流れ
--------------------------------------------------------------*/

#flow {
	padding:100px 6%;
	background:var(--color-default-bgcolor2);
}

.flow-title,
.flow-lead {
	text-align:center;
}

.flow-lead {
	margin:20px 0 65px;
}

.flow-list {
	width:88%;
	margin:0 auto;
	padding:0;
	list-style:none;
}

.flow-step {
	position:relative;
	display:grid;
	grid-template-columns:72px 130px minmax(0, 1fr);
	align-items:center;
	gap:40px;
	min-height:190px;
	padding:30px 36px;
	background:var(--color2);
}

.flow-step + .flow-step {
	margin-top:72px;
}

.flow-step::after {
	content:"";
	position:absolute;
	top:100%;
	left:50%;
	width:2px;
	height:72px;
	background:var(--color4);
	transform:translateX(-50%);
}

.flow-number {
	display:flex;
	align-items:center;
	justify-content:center;
	box-sizing:border-box;
	width:72px;
	height:72px;
	padding-bottom:4px;
	border-radius:50%;
	background:var(--color4);
	color:var(--color2);
	font-family:var(--font-sans);
	font-size:40px;
	font-weight:700;
	line-height:1;
}

.flow-step img {
	width:130px;
	height:130px;
}

.flow-content h3,
.flow-complete h3 {
	color:var(--color4);
}

.flow-content p {
	margin:4px 0 0;
}

.flow-complete {
	width:88%;
	margin:72px auto 0;
	padding:30px 24px;
	background:var(--color6);
	text-align:center;
}

.flow-complete p {
	margin:4px 0 0;
}

@media(max-width:991px) {
	#flow {
		padding:80px 24px;
	}

	.flow-list,
	.flow-complete {
		width:100%;
	}

	.flow-lead {
		margin-bottom:50px;
	}

	.flow-step {
		display:flex;
		flex-direction:column;
		gap:0;
		padding:35px 24px;
		text-align:center;
	}

	.flow-step img {
		margin-top:24px;
	}

	.flow-content {
		margin-top:24px;
	}
}

@media(max-width:767px) {
	#flow {
		padding:65px 15px;
	}

	.flow-lead {
		margin-bottom:40px;
	}

	.flow-step {
		padding:30px 12px;
	}

	.flow-number {
		width:50px;
		height:50px;
		font-size:32px;
	}

	.flow-step img {
		width:100px;
		height:100px;
	}

	.flow-complete {
		padding:26px 12px;
	}
}



/*--------------------------------------------------------------
# TOP よくある質問
--------------------------------------------------------------*/

#faq {
	padding:100px 6%;
}

.faq-title {
	text-align:center;
}

.faq-list {
	width:80%;
	margin:80px auto 0;
}

.faq-item + .faq-item {
	margin-top:24px;
}

.faq-question {
	display:grid;
	grid-template-columns:60px minmax(0, 1fr) 32px;
	align-items:center;
	gap:24px;
	width:100%;
	min-height:100px;
	padding:18px 40px;
	border:1px solid var(--color-header-border);
	background:var(--color2);
	color:var(--color1);
	font:inherit;
	text-align:left;
	cursor:pointer;
	transition:background-color .3s;
}

.faq-question:hover,
.faq-question:focus-visible {
	background:var(--color6);
}

.faq-question:focus-visible {
	outline:2px solid var(--color4);
	outline-offset:2px;
}

.faq-letter {
	display:flex;
	align-items:center;
	justify-content:center;
	flex:none;
	box-sizing:border-box;
	width:60px;
	height:60px;
	padding-bottom:4px;
	border-radius:50%;
	color:var(--color2);
	font-family:var(--font-sans);
	font-size:40px;
	font-weight:700;
	line-height:1;
}

.faq-letter-q {
	padding-bottom:8px;
	background:var(--color4);
}

.faq-letter-a {
	background:var(--color1);
}

.faq-arrow {
	display:flex;
	align-items:center;
	justify-content:center;
	color:var(--color4);
}

.faq-arrow .bi {
	font-size:32px;
	line-height:1;
	transition:transform .3s;
}

.faq-question[aria-expanded="true"] .faq-arrow .bi {
	transform:rotate(90deg);
}

.faq-answer {
	display:flex;
	align-items:flex-start;
	gap:24px;
	padding:28px 40px;
	background:var(--color-default-bgcolor2);
}

.faq-answer p {
	margin:0;
}

@media(max-width:991px) {
	#faq {
		padding:80px 24px;
	}

	.faq-list {
		width:100%;
		margin-top:55px;
	}

	.faq-question {
		padding:22px 28px;
	}

	.faq-question[aria-expanded="true"] .faq-arrow .bi {
		transform:rotate(180deg);
	}

	.faq-answer {
		padding:28px;
	}
}

@media(max-width:767px) {
	#faq {
		padding:65px 15px;
	}

	.faq-list {
		margin-top:40px;
	}

	.faq-question {
		display:flex;
		flex-direction:column;
		gap:16px;
		padding:24px 16px;
		text-align:center;
	}

	.faq-letter {
		width:50px;
		height:50px;
		font-size:32px;
	}

	.faq-answer {
		flex-direction:column;
		align-items:center;
		gap:16px;
		padding:24px 16px;
		text-align:center;
	}
}


/*--------------------------------------------------------------
# TOP 対応エリアのご案内
--------------------------------------------------------------*/

#service-area {
	padding:90px 6%;
	background:var(--color-default-bgcolor4);
}

.service-area-row {
	--bs-gutter-x:0;
}

.service-area-heading {
	margin-top:28px;
}

.service-area-regions {
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:12px;
	margin-top:30px;
}

.service-area-region-row {
	display:flex;
	flex-wrap:wrap;
	gap:12px;
}

.service-area-region-row span {
	flex:none;
	padding:4px 16px;
	border-radius:5px;
	background:var(--color7);
	color:var(--color2);
	font-family:var(--font-sans);
	font-size:32px;
	font-weight:700;
	text-align:center;
	white-space:nowrap;
}

.service-area-note {
	margin:30px 0 0;
}

.service-area-map img {
	display:block;
	width:748px;
	max-width:100%;
	height:auto;
}

@media(max-width:991px) {
	#service-area {
		padding:80px 24px;
	}

	.service-area-content {
		text-align:center;
	}

	.service-area-regions {
		align-items:center;
	}

	.service-area-region-row {
		justify-content:center;
		width:100%;
	}

	.service-area-region-row span {
		padding-right:20px;
		padding-left:20px;
	}

	.service-area-map {
		margin-top:40px;
	}

	.service-area-map img {
		margin:0 auto;
	}
}

@media(max-width:767px) {
	#service-area {
		padding:65px 15px;
	}

	.service-area-heading {
		margin-top:24px;
	}

	.service-area-regions {
		margin-top:24px;
	}

	.service-area-region-row {
		gap:8px;
	}

	.service-area-region-row:first-child span {
		padding-right:8px;
		padding-left:8px;
	}

	.service-area-region-row:last-child span {
		padding-right:12px;
		padding-left:12px;
	}

	.service-area-region-row span {
		font-size:30px;
	}

	.service-area-note {
		margin-top:24px;
	}

	.service-area-note br {
		display:none;
	}

	.service-area-map {
		margin-top:35px;
	}
}


/*--------------------------------------------------------------
# お問い合わせフォーム
--------------------------------------------------------------*/

#inq {
	padding:100px 6%;
}

.inq-lead {
	margin:20px 0 75px;
}

.inq-form {
	width:86%;
	margin:0 auto;
}

.inq-fields,
.inq-choice-row {
	--bs-gutter-x:32px;
	--bs-gutter-y:24px;
}

.inq-form-label {
	display:flex;
	align-items:center;
	gap:8px;
	margin-bottom:10px;
}

#inq .required {
	padding:2px 6px;
	background:var(--color4);
	color:var(--color2);
	line-height:1.2;
}

.inq-form-group input:not([type="radio"]):not([type="hidden"]),
.inq-form-group select,
.inq-form-group textarea {
	display:block;
	width:100%;
	padding:16px 18px;
	border:1px solid var(--color-default-bgcolor2);
	border-radius:0;
	background:var(--color-default-bgcolor2);
	color:var(--color1);
	font:inherit;
}

.inq-form-group input:not([type="radio"]):not([type="hidden"]),
.inq-form-group select {
	min-height:72px;
}

.inq-form-group textarea {
	resize:vertical;
}

.inq-form-group input::placeholder,
.inq-form-group textarea::placeholder {
	color:var(--color-header-border);
	opacity:1;
}

.inq-form-group input:focus-visible,
.inq-form-group select:focus-visible,
.inq-form-group textarea:focus-visible {
	outline:2px solid var(--color4);
	outline-offset:2px;
}

.inq-form-note {
	margin:8px 0 0;
}

.inq-form-error {
	display:none;
	margin:8px 0 0;
	color:var(--color-error);
}

.inq-form-group.is-error input:not([type="radio"]):not([type="hidden"]),
.inq-form-group.is-error select,
.inq-form-group.is-error textarea {
	border-color:var(--color-error);
}

.inq-subtitle {
	margin:75px 0 28px;
	color:var(--color4);
}

.inq-choice-row {
	margin-top:75px;
}

.inq-choice-label {
	margin-bottom:28px;
}

.inq-choice-heading {
	color:var(--color4);
}

.inq-radio-list {
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:16px;
}

.inq-radio-item {
	display:inline-flex;
	align-items:center;
	gap:12px;
	cursor:pointer;
}

.inq-radio-item input {
	flex:none;
	appearance:none;
	width:24px;
	height:24px;
	margin:0;
	border:1px solid var(--color-header-border);
	border-radius:0;
	background:var(--color2);
	cursor:pointer;
}

.inq-radio-item input:checked {
	border-color:var(--color4);
	background:var(--color4);
	box-shadow:inset 0 0 0 5px var(--color2);
}

.inq-radio-item input:focus-visible,
.inq-privacy input:focus-visible {
	outline:2px solid var(--color4);
	outline-offset:2px;
}

.inq-radio-item:hover span {
	color:var(--color4);
}

.inq-message-group {
	margin-top:55px;
}

.inq-privacy {
	margin-top:65px;
	text-align:center;
}

.inq-privacy label {
	display:inline-flex;
	align-items:center;
	gap:12px;
	font-family:var(--font-sans);
	cursor:pointer;
}

.inq-privacy input {
	flex:none;
	width:22px;
	height:22px;
	margin:0;
	accent-color:var(--color4);
}

.inq-privacy a {
	text-decoration:underline;
	text-underline-offset:3px;
}

.inq-privacy a:hover,
.inq-privacy a:focus-visible {
	color:var(--color4);
}

.inq-privacy .inq-form-error {
	text-align:center;
}

.inq-submit {
	margin-top:35px;
	text-align:center;
}

.inq-submit .btn-a {
	align-items:stretch;
	padding:0;
	border:0;
	cursor:pointer;
}

.inq-submit .btn-a:disabled {
	opacity:.6;
	cursor:wait;
}

.inq-submit-note {
	margin:18px 0 0;
	text-align:center;
}

.inq-error-box,
.inq-server-error {
	align-items:center;
	gap:16px;
	width:86%;
	margin:0 auto 35px;
	padding:20px;
	background:var(--color6);
}

.inq-error-box {
	display:none;
}

.inq-server-error {
	display:flex;
}

.inq-error-box .bi,
.inq-server-error .bi {
	color:var(--color-error);
}

.inq-error-box p,
.inq-server-error p {
	margin:0;
}

.inq-honeypot {
	position:absolute;
	width:1px;
	height:1px;
	overflow:hidden;
	clip:rect(0, 0, 0, 0);
	white-space:nowrap;
}

.inq-complete {
	width:86%;
	margin:70px auto 0;
	text-align:center;
}

.inq-complete p {
	margin:0 0 55px;
}

@media(max-width:991px) {
	#inq {
		padding:80px 24px;
	}

	.inq-form,
	.inq-error-box,
	.inq-server-error,
	.inq-complete {
		width:100%;
	}

	.inq-lead {
		margin-bottom:55px;
	}
}

@media(max-width:767px) {
	#inq {
		padding:65px 15px;
	}

	.inq-lead {
		margin-bottom:40px;
	}

	.inq-lead br,
	.inq-complete br {
		display:none;
	}

	.inq-fields {
		--bs-gutter-y:20px;
	}

	.inq-choice-row {
		--bs-gutter-y:0;
		margin-top:55px;
	}

	.inq-choice-row > .col-12 + .col-12 {
		margin-top:55px;
	}

	.inq-form-group input:not([type="radio"]):not([type="hidden"]),
	.inq-form-group select {
		min-height:64px;
	}

	.inq-subtitle {
		margin-top:55px;
	}

	.inq-privacy {
		margin-top:50px;
	}

	.inq-complete {
		margin-top:45px;
	}

	.inq-complete p {
		margin-bottom:35px;
	}
}


/*--------------------------------------------------------------
# お問い合わせ送信結果
--------------------------------------------------------------*/

#inq-comp {
	padding:100px 6%;
}

.inq-comp-result {
	margin-top:75px;
	text-align:center;
}

.inq-comp-lead {
	margin:0;
}

.inq-comp-result h2 {
	margin-bottom:35px;
}

.inq-comp-note {
	margin:55px auto 0;
	padding:35px;
	background:var(--color-default-bgcolor2);
	text-align:left;
}

.inq-comp-note h3 {
	margin-bottom:20px;
	text-align:center;
}

.inq-comp-note ul {
	width:fit-content;
	max-width:100%;
	margin:0 auto;
	padding-left:1.5em;
}

.inq-comp-mail-note {
	margin:35px 0 0;
}

.inq-comp-buttons {
	margin-top:65px;
	text-align:center;
}

.inq-comp-text-link {
	display:inline-block;
	margin-top:25px;
	text-decoration:underline;
	text-underline-offset:3px;
}

.inq-comp-text-link:hover,
.inq-comp-text-link:focus-visible {
	color:var(--color4);
}

@media(max-width:991px) {
	#inq-comp {
		padding:80px 24px;
	}
}

@media(max-width:767px) {
	#inq-comp {
		padding:65px 15px;
	}

	.inq-comp-result {
		margin-top:45px;
	}

	.inq-comp-result h2 {
		margin-bottom:25px;
	}

	.inq-comp-note {
		margin-top:40px;
		padding:25px 20px;
	}

	.inq-comp-mail-note {
		margin-top:30px;
	}

	.inq-comp-buttons {
		margin-top:45px;
	}
}


/*--------------------------------------------------------------
# 会社概要
--------------------------------------------------------------*/

#company-info {
	padding:100px 6%;
}

.company-info-panel {
	width:88%;
	margin:65px auto 0;
	padding:65px 7% 45px;
	background:var(--color-default-bgcolor2);
}

.company-info-table {
	width:100%;
	border-collapse:separate;
	border-spacing:12px;
}

.company-info-table th,
.company-info-table td {
	padding:30px 28px;
	background:var(--color2);
	vertical-align:middle;
}

.company-info-table th {
	width:24%;
	font-family:var(--font-sans);
	font-weight:600;
	text-align:center;
}

.company-info-table td h3 {
	font-weight:400;
}

.company-info-note {
	margin:35px 0 0;
	text-align:center;
}

#company-partners {
	padding:100px 6%;
	background:var(--color-default-bgcolor2);
}

.company-partners-lead {
	margin:20px 0 55px;
}

.company-partners-list {
	width:65%;
	margin:0 auto;
}

.company-partner {
	padding:55px 45px;
	background:var(--color2);
	text-align:center;
}

.company-partner + .company-partner {
	margin-top:35px;
}

.company-partner-location {
	margin:10px 0 35px;
	color:var(--color4);
}

.company-partner-description {
	margin:0;
}

@media(max-width:991px) {
	#company-info,
	#company-partners {
		padding:80px 24px;
	}

	.company-info-panel {
		width:100%;
		padding:40px 24px;
	}

	.company-info-table th,
	.company-info-table td {
		padding:25px 16px;
	}

	.company-info-table th {
		width:30%;
	}

	.company-partners-list {
		width:100%;
	}
}

@media(max-width:767px) {
	#company-info,
	#company-partners {
		padding:65px 15px;
	}

	.company-info-panel {
		margin-top:40px;
		padding:20px 10px 30px;
	}

	.company-info-table {
		display:block;
		border-spacing:0;
	}

	.company-info-table tbody,
	.company-info-table tr,
	.company-info-table th,
	.company-info-table td {
		display:block;
		width:100%;
	}

	.company-info-table tr + tr {
		margin-top:12px;
	}

	.company-info-table th {
		margin-bottom:3px;
		padding:14px 10px;
	}

	.company-info-table td {
		padding:8px 10px 20px;
		text-align:center;
	}

	.company-info-note {
		margin-top:25px;
	}

	.company-partners-lead {
		margin-bottom:35px;
	}

	.company-partner {
		padding:35px 20px;
	}

	.company-partner + .company-partner {
		margin-top:25px;
	}

	.company-partner-location {
		margin-bottom:25px;
	}
}


/*--------------------------------------------------------------
# プライバシーポリシー
--------------------------------------------------------------*/

#privacy {
	padding:100px 6% 140px;
	background:var(--color-default-bgcolor2);
}

.privacy-inner {
	width:70%;
	margin:0 auto;
}

.privacy-intro {
	margin:0 0 85px;
}

.privacy-block + .privacy-block {
	margin-top:85px;
}

.privacy-block h3 {
	margin-bottom:22px;
	font-family:var(--font-sans);
	color:var(--color4);
}

.privacy-block p {
	margin:0;
}

.privacy-block ul {
	margin:20px 0;
	padding:0;
	list-style:none;
}

.privacy-block li {
	padding-left:1em;
	text-indent:-1em;
	line-height:1.8em;
}

.privacy-block li::before {
	content:"・";
}

.privacy-contact-link {
	font-family:var(--font-sans);
	color:var(--color4);
	text-decoration:underline;
	text-underline-offset:3px;
}

.privacy-contact-link:hover,
.privacy-contact-link:focus-visible {
	color:var(--color-hover-a);
}

.privacy-date {
	margin:65px 0 0;
}

@media(max-width:991px) {
	#privacy {
		padding:80px 24px 110px;
	}

	.privacy-inner {
		width:100%;
	}

	.privacy-intro {
		margin-bottom:70px;
	}

	.privacy-block + .privacy-block {
		margin-top:70px;
	}
}

@media(max-width:767px) {
	#privacy {
		padding:65px 15px 100px;
	}

	.privacy-block h3 {
		margin-bottom:18px;
	}

	.privacy-date {
		margin-top:50px;
	}
}


/*--------------------------------------------------------------
# service section 1
--------------------------------------------------------------*/

#service-intro {
	padding:70px 6%;
}

#service-intro p {
	margin:0;
}

#service-fee {
	padding:100px 6%;
	background:var(--color-default-bgcolor2);
}

.service-fee-overview {
	display:flex;
	align-items:center;
	gap:60px;
	margin-top:65px;
}

.service-fee-overview img {
	display:block;
	width:788px;
	max-width:47%;
	height:auto;
}

.service-fee-overview-text {
	flex:1;
}

.service-fee-overview-text p {
	margin:0;
}

.service-fee-overview-text p + p {
	margin-top:20px;
}

#service-fee > .pricing-panel {
	margin-top:75px;
}

.service-fee-inclusions {
	margin-top:75px;
	padding:45px;
	background:var(--color2);
}

.service-fee-inclusions-row {
	--bs-gutter-x:35px;
	--bs-gutter-y:35px;
	margin-top:0;
}

.service-fee-inclusion {
	height:100%;
	text-align:center;
}

.service-fee-inclusion-heading {
	padding:25px 12px;
	background:var(--color6);
}

.service-fee-inclusion-heading h3 {
	margin-bottom:15px;
	font-family:var(--font-sans);
	color:var(--color5);
}

.service-fee-inclusion-heading img {
	display:block;
	width:130px;
	height:130px;
	margin:0 auto;
}

.service-fee-inclusion p {
	margin:20px 0 0;
}

@media(max-width:991px) {
	#service-intro {
		padding:60px 24px;
	}

	#service-fee {
		padding:80px 24px;
	}

	.service-fee-overview {
		flex-direction:column;
		gap:35px;
	}

	.service-fee-overview img {
		width:788px;
		max-width:100%;
	}

	.service-fee-overview-text {
		text-align:center;
	}

	.service-fee-inclusions {
		padding:35px 24px;
	}

	.service-fee-inclusions-row {
		--bs-gutter-x:20px;
	}
}

@media(max-width:767px) {
	#service-intro {
		padding:50px 15px;
	}

	#service-fee {
		padding:65px 15px;
	}

	.service-fee-overview {
		margin-top:40px;
	}

	.service-fee-overview img {
		width:100%;
	}

	#service-fee > .pricing-panel {
		margin-top:55px;
	}

	.service-fee-inclusions {
		margin-top:55px;
		padding:30px 15px;
	}
}


/*--------------------------------------------------------------
# service section 2
--------------------------------------------------------------*/

#service-support {
	padding:100px 128px 100px 6%;
}

.service-support-lead {
	margin:20px 0 75px;
	text-align:center;
}

.service-support-list {
	--bs-gutter-x:40px;
	--bs-gutter-y:70px;
}

.service-support-item-inner {
	--bs-gutter-x:80px;
	align-items:center;
}

.service-support-media h3 {
	margin-bottom:20px;
	text-align:center;
}

.service-support-media img {
	display:block;
	width:464px;
	max-width:100%;
	height:auto;
	margin:0 auto;
}

.service-support-cost {
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	justify-content:flex-start;
	gap:8px 25px;
	padding:15px 30px;
	background:var(--color6);
	font-family:var(--font-sans);
	text-align:left;
}

.service-support-cost-label {
	font-size:24px;
	font-weight:500;
}

.service-support-price {
	line-height:1.3;
}

.service-support-price-number {
	color:var(--color4);
	font-size:40px;
	font-weight:700;
}

.service-support-price-yen,
.service-support-price-tax,
.service-support-price-suffix {
	font-size:24px;
	font-weight:700;
}

.service-support-price-tax {
	white-space:nowrap;
}

.service-support-price-tilde {
	font-size:40px;
	font-weight:700;
}

.service-support-body > p {
	max-width:840px;
	margin:25px 0 0;
}

.service-support-body > p + p {
	margin-top:18px;
}

.service-support-body > .service-support-note {
	margin-top:35px;
}

@media(min-width:1200px) {
	.service-support-item-inner {
		--bs-gutter-x:0;
		align-items:flex-start;
		column-gap:80px;
	}

	.service-support-media {
		flex:0 0 464px;
		width:464px;
	}

	.service-support-body {
		flex:1 1 0;
		min-width:0;
		width:auto;
	}
}

@media(min-width:768px) and (max-width:1199px) {
	.service-support-item:nth-child(2) .service-support-price-suffix {
		line-height:52px;
	}
}

@media(max-width:1199px) {
	#service-support {
		padding:80px 24px;
	}

	.service-support-lead {
		margin-bottom:55px;
	}

	.service-support-item-inner {
		--bs-gutter-x:0;
	}

	.service-support-media img {
		width:100%;
	}

	.service-support-body {
		margin-top:30px;
	}

	.service-support-cost {
		justify-content:center;
		text-align:center;
	}
}

@media(max-width:767px) {
	#service-support {
		padding:65px 15px;
	}

	.service-support-lead {
		margin-bottom:50px;
	}

	.service-support-list {
		--bs-gutter-y:65px;
	}

	.service-support-body {
		margin-top:25px;
	}

	.service-support-cost {
		display:block;
		padding:15px 10px;
		text-align:center;
	}

	.service-support-cost-label {
		display:block;
		margin-bottom:10px;
	}
}


/*--------------------------------------------------------------
# service section 3
--------------------------------------------------------------*/

#service-extra {
	padding:100px 128px 100px 6%;
	background:var(--color-default-bgcolor2);
}

.service-extra-panel {
	padding:40px;
	background:var(--color2);
}

@media(max-width:1199px) {
	#service-extra {
		padding:80px 24px;
	}

	.service-extra-panel {
		padding:24px;
	}
}

@media(max-width:767px) {
	#service-extra {
		padding:65px 15px;
	}

	.service-extra-panel {
		padding:15px;
	}
}


/*--------------------------------------------------------------
# service section 4
--------------------------------------------------------------*/

#service-additional {
	padding:100px 128px 100px 6%;
}

.service-additional-lead {
	margin:25px 0 35px;
	text-align:center;
}

.service-additional-description {
	margin:0 0 75px;
	text-align:center;
}

.service-additional-frame {
	padding:40px 7%;
	background:var(--color-default-bgcolor2);
}

.service-additional-panel {
	padding:50px 6%;
	background:var(--color2);
}

.service-additional-columns {
	--bs-gutter-x:60px;
}

.service-additional-list {
	margin:0;
	padding:0;
	list-style:none;
}

.service-additional-list li {
	display:flex;
	align-items:flex-start;
	gap:20px;
}

.service-additional-list li + li {
	margin-top:30px;
}

.service-additional-icon {
	display:grid;
	flex:0 0 32px;
	place-items:center;
	width:32px;
	height:32px;
	border-radius:50%;
	background:var(--color4);
	color:var(--color2);
}

.service-additional-icon .bi {
	font-size:24px;
	line-height:1;
}

@media(max-width:991px) {
	#service-additional {
		padding:80px 24px;
	}

	.service-additional-description {
		margin-bottom:55px;
	}

	.service-additional-frame {
		padding:24px;
	}

	.service-additional-panel {
		padding:35px 24px;
	}

	.service-additional-columns {
		--bs-gutter-y:30px;
	}
}

@media(max-width:767px) {
	#service-additional {
		padding:65px 15px;
	}

	.service-additional-description {
		margin-bottom:50px;
	}

	.service-additional-frame {
		padding:15px;
	}

	.service-additional-panel {
		padding:30px 15px;
	}
}


/*--------------------------------------------------------------
# service section 5
--------------------------------------------------------------*/

#service-estimate {
	padding:100px 128px 100px 6%;
	background:var(--color-default-bgcolor2);
}

.service-estimate-inner {
	--bs-gutter-x:0;
	align-items:flex-start;
	gap:80px;
	margin-top:75px;
}

.service-estimate-media {
	flex:0 0 876px;
	width:876px;
	max-width:none;
}

.service-estimate-media picture,
.service-estimate-media img {
	display:block;
}

.service-estimate-media img {
	width:100%;
	height:auto;
}

.service-estimate-body {
	flex:1 1 0;
	min-width:0;
	width:auto;
	max-width:none;
}

.service-estimate-body h2 {
	margin:0 0 40px;
}

.service-estimate-body p {
	margin:0;
}

.service-estimate-body p + p {
	margin-top:35px;
}

@media(min-width:1400px) and (max-width:1919px) {
	.service-estimate-media {
		flex-basis:680px;
		width:680px;
	}
}

@media(min-width:1200px) and (max-width:1399px) {
	.service-estimate-media {
		flex-basis:500px;
		width:500px;
	}
}

@media(max-width:1199px) {
	#service-estimate {
		padding:80px 24px;
	}

	.service-estimate-inner {
		display:block;
		margin-top:55px;
	}

	.service-estimate-media {
		width:100%;
		max-width:100%;
	}

	.service-estimate-body {
		width:100%;
		max-width:100%;
		margin-top:35px;
		text-align:center;
	}
}

@media(max-width:767px) {
	#service-estimate {
		padding:65px 15px;
	}

	.service-estimate-inner {
		margin-top:50px;
	}

	.service-estimate-body h2 {
		margin-bottom:30px;
	}

	.service-estimate-body p + p {
		margin-top:25px;
	}
}

