@charset "utf-8";
/* CSS Document */
@import url(/common/css/slider-pro.css);


/*------------Same Part------------*/
body {
	width: 100%;
	margin: 0 auto;
	font-size: 14px;
	color: #141414;
	line-height: 1.5;
	letter-spacing: 0.05em;
	font-family: "Noto Sans JP", sans-serif,"游ゴシック","ヒラギノ角ゴ ProN";
}

a,
a:hover,
a:active,
a:visited {
	text-decoration: none;
	color: inherit;
}

a:hover {
	opacity: .8;
}

th,
td {
	border: 0;
}

ul {
	list-style: none;
}

h1 {
	margin: 0;
	font-family: 'Zen Old Mincho';
	font-size: 2em;
	letter-spacing: .1em;
}

h2 {
	font-family: 'Zen Old Mincho';
	font-size: 2em;
	letter-spacing: .1em;
	color: #152020;
	/* display: none; */
}

/* h2 {
	margin: 1% auto 2%;
	font-family: 'Zen Old Mincho';
	font-size: 2em;	
	letter-spacing: .1em;
	color: #152020;
	display: none;
} */
h3 {
	border-bottom: 1px solid #000;
}

h4 {
	border-left: 7px solid #2AA888;
	padding-left: .7em;
	font-size: 1.3em;
}

section {
	margin: 0 auto;
	overflow: hidden;
}

textarea::-webkit-input-placeholder {
	color: #d9d9d9;
}

textarea:-moz-placeholder {
	color: #d9d9d9;
}

/* FF 4-18 */
textarea::-moz-placeholder {
	color: #d9d9d9;
}

/* FF 19+ */
textarea:-ms-input-placeholder {
	color: #d9d9d9;
}

/* IE 10+ */

/* auto-hide on focus */
input:focus::-webkit-input-placeholder {
	color: transparent;
}

input:focus:-moz-placeholder {
	color: transparent;
}

/* FF 4-18 */
input:focus::-moz-placeholder {
	color: transparent;
}

/* FF 19+ */
input:focus:-ms-input-placeholder {
	color: transparent;
}

/* IE 10+ */
textarea:focus::-webkit-input-placeholder {
	color: transparent;
}

textarea:focus:-moz-placeholder {
	color: transparent;
}

/* FF 4-18 */
textarea:focus::-moz-placeholder {
	color: transparent;
}

/* FF 19+ */
textarea:focus:-ms-input-placeholder {
	color: transparent;
}

/* IE 10+ */

input[type="text"],
textarea {
	font-size: 16px;
	padding: .2em;
	box-sizing: border-box;
}

input,
textarea,
select {
	outline: none;
}

@media (min-width: 768px) {
	body {
		padding: 0;
	}
	.wrap {
		width: 980px;
		margin: 0 auto;
		line-height: 1.75;
	}
}

.privacy ol {
	margin: 0 0 2em 0;
}

ol[type="a"] {
	margin: 0 0 1% 0;
}

ol li ul {
	margin: 0;
	padding: 0;
}

.privacy li {
	margin: 1% 0;
}

.privacy p {
	margin: 1% 0;
}

.bg {
	background-color: #2AA888;
	padding: 0;
	overflow: hidden;
}

.main {
	width: 100%;
	max-height: 300px;
	margin: 0 auto;
}

.fade img {
	z-index: 9999;
	position: absolute;
}

.title_img {
	margin: 0 auto;
	text-align: center;
}

.title_img img {
	max-width: 100%;
}

.recruit,
.business,
.company,
.gojokai {
	width: 70%;
	margin: 0 auto;
}

@media (max-width: 979px) {
	h1 {
		font-size: 1.5em;
	}

	h2 {
		display: block;
	}

	section {
		max-width: 100%;
	}

	.wrap {
		max-width: 100%;
	}

	.title_img img {
		max-width: 100%;
	}
}

@media (max-width: 767px) {
	.privacy{
		margin: 0 20px;
	}
	.privacy ol{
		margin: 20px auto;
	}
	.privacy li{
		margin: 20px auto 10px;
	}
}

/*------------Header-------------*/
header {
	width: 100%;
	padding: 0;
	position: fixed;
	background: #fff;
	z-index: 20;
	top: 0;

}

.t_nav {
	background: #2AA888;
	color: #fff;
	overflow: hidden;
	list-style: none;
	float: right;
	margin: 0 auto;
	padding: 0;
	border-right: 1px solid #fff;
}

.t_nav li {
	float: left;
	border-left: 1px solid #fff;
	padding: 2% 1em;
}

.t_nav a,
.t_nav a:hover,
.t_nav a:visited {
	color: #fff;
}

.t_nav p {
	border-bottom: 1px solid #fff;
	padding: 0;
	margin: 0;
	text-align: center;
}

.nav_r {
	width: 50%;
	float: left;
}

.buttons {
	width: 100%;
	list-style: none;
	/* overflow: hidden; */
	margin: 0 auto;
	padding: 0;
	display: flexbox;
}

.buttons li {
	width: 32%;
	padding: .5em 0;
	text-align: center;
	background: #2AA888;
	color: #fff;
	float: left;
	margin: 2% 0 4%;
	border-radius: 3px;
}

.buttons li:hover {
	background: #2AA888;
}

.nav-wrap {
	width: 100%;
	display: flex;
	color: #444D4D;
	font-weight: bold;
	padding: 0;
	text-align: center;
	border-left: 1px solid #444D4D;
}

.nav-wrap li {
	border-right: 1px solid #444D4D;
	width: 24.7%;
}

/* 20241024追加 */
header .mobile-menu-icon {
	background-color: transparent;
  	border: none;
}
header .mobile-menu-icon span {
	background-color: #2AA888;
	width: 35px;
	height: 2px;
	display: block;
	margin-bottom: 9px;
	transition: transform 0.3s;
}

header .mobile-menu-icon span:last-child {
	margin-bottom: 0;
}

header .mobile-menu-icon.menu-open span:nth-child(1) {
	transform: translateY(11px) rotate(45deg);
}

header .mobile-menu-icon.menu-open span:nth-child(2) {
	transform: translateY(-11px);
	opacity: 0;
}

header .mobile-menu-icon.menu-open span:nth-child(3) {
	transform: translateY(-11px) rotate(-45deg);
}

nav {
	height: 0;
	opacity: 0;
	overflow: hidden;
	z-index: 10;
	/* transition: ease-in-out 1s; */
	position: fixed;
	background-color: white;
	top: 55px;
	width: 100vw;
	left: 0;
}

nav.menu-open {
	height: 100%;
	overflow: auto;
	opacity: 1;
	margin: 2% 0;
}

.header-nav-li-wrapper {
	width: 90%;
	padding: 5%;
}

.header-nav-li {
	height: 50px;
	border-bottom: 1px solid #2AA888;
}

.header-nav-li a {
	color: #2AA888;
	font-weight: bold;
	width: 100%;
	height: 100%;
	margin-top: 5px;
	display: flex;
	align-items: center;
}

.sp.sp-nav-top {
	margin-top: 20px;
}

.sp.sp-nav-bottom ul li {
	width: 100%;
}

@media (min-width: 768px) {

	header {
		position: static;
	}

	.header_area {
		display: flex;
		overflow: hidden;
		background: #fff;
		margin: 1% auto 2%;
		text-align: center;
	}

	.h_logo {
		width: 49%;
		/*text-indent: 1em;*/
		margin-top: 3%;
	}

	.title_img h2 {
		font-size: 3em;
		padding-top: 2em;
		color: #fff;
		font-weight: normal;
	}

	.title_img{
		background-size: auto;
		height: 250px;
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
	}

	.back-img01 {
		background-image: url(/common/images/h2_business.jpg);
	}

	.back-img02 {
		background-image: url(/common/images/h2_company.jpg);
	}

	.back-img03 {
		background-image: url(/common/images/h2_inquiry.jpg);
	}

	.back-img04 {
		background-image: url(/common/images/h2_request.jpg);
	}

	.back-img05 {
		background-image: url(/common/images/h2_reserve.jpg);
	}

	.back-img06 {
		background-image: url(/common/images/h2_gojokai.jpg);
	}

	.back-img07 {
		background-image: url(/common/images/h2_privacy.jpg);
	}

	.back-img08 {
		background-image: url(/common/images/h2_recruit.jpg);
	}

	.title_img p {
		font-size: 1em;
		color: #fff;
		margin-top: -30px;
		letter-spacing: 0.1em;
	}
}

@media (max-width: 767px) {

	body {
		padding-top: 73px;
	}

	.title_img h2 {
		font-size: 2em;
		/* padding-top: 1.5em; */
		color: #fff;
		font-weight: normal;
	}

	.title_img{
		background-size: auto;
		/* padding-top: 50px;
		padding-bottom: 30px; */
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
		aspect-ratio: 16 / 7;
        width: 100%;
        height: auto;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
	}

	.back-img01 {
		background-image: url(/common/images/h2_business_sp.jpg);
	}

	.back-img02 {
		background-image: url(/common/images/h2_company_sp.jpg);
	}

	.back-img03 {
		background-image: url(/common/images/h2_inquiry_sp.jpg);
	}

	.back-img04 {
		background-image: url(/common/images/h2_request_sp.jpg);
	}

	.back-img05 {
		background-image: url(/common/images/h2_reserve_sp.jpg);
	}

	.back-img06 {
		background-image: url(/common/images/h2_gojokai_sp.jpg);
	}

	.back-img07 {
		background-image: url(/common/images/h2_privacy_sp.jpg);
	}

	.back-img08 {
		background-image: url(/common/images/h2_recruit_sp.jpg);
	}

	.title_img p {
		font-size: 1em;
		color: #fff;
		margin-top: -24px;
		letter-spacing: 0.1em;
	}

	.header_area02 {
		display: flex !important;
		justify-content: center;
        align-items: center;
		background: #fff;
		margin-left: 4%;
		height: 73px;
	}

	.mobile-menu {
		display: flex;
        align-items: center;
        justify-content: center;
        margin-right: 3%;
	}

	.h_logo img {
		max-width: 80%;
	}

	.nav_r .buttons {
		display: none;
	}

	.buttons {
		margin-bottom: 2%;
	}

	.h_logo {
		display: flex;
        align-items: center;
        justify-content: flex-start;
	}

	.f_logo img {
		max-width: 90%;
	}

}

@media (max-width: 979px) {
	.h_logo {
		width: 100%;
		text-indent: 0;
	}

	.nav_r {
		width: 100%;
	}

	.nav li:last-child {
		border: none;
	}

	.buttons {
		width: 95%;
		float: none;
		margin: 2% auto 0;
	}

	.buttons li {
		margin-bottom: 0;
	}
}

/*------------Top page contents-----------*/
.content {
	margin: 5% auto;
	position: relative;
}

.sp {
	display: none;
}

.sp .buttons {
	width: 95%;
	margin: 2% auto;
	padding: 0;
}

.sp ul li {
	width: 48%;
	padding: 1em 0;
	text-align: center;
	font-weight: bold;
}

.sp ul li.left_btn {
	margin-left: 0;
}

.menu:hover {
	background: #f9f9f9;
}

.menu {
	width: 46%;
	float: left;
	display: inline-block;
	margin: 2%;
	overflow: hidden;
}

.menu img {
	width: 100%;
	max-width: 100%;
}

.menu a,
.menu a:hover,
.menu a:visited {
	opacity: 1;
}

.menu h3,
.menu p {
	margin: 1em;
}

.gallery {
	overflow: hidden;
	clear: both;
	margin-bottom: 5%;
}

.gallery h2 {
	margin-top: 0 !important;
}

.gallery h2,
.gallery p {
	max-width: 95%;
	margin: 2% auto;
	box-sizing: border-box;
	display: block;
	text-align: center;
}

.gallery ul {
	width: 100%;
	overflow: hidden;
	padding: 0 1em 1em;
	box-sizing: border-box;
	margin: 0 auto;
}

.gallery ul li {
	float: left;
	width: 33%;
	margin: 0 0.5% 2% 0;
	padding: 10% 0;
	position: relative;
	display: inline-block;
}

.gallery ul li:nth-child(3n) {
	margin-right: 0;
}

.wedding li:nth-child(n+5) {
	display: none;
}

.gallery .wedding {
	border-top: 1px solid #eee;
}

.gallery .funeral {
	border-bottom: 1px solid #eee;
}

.gallery iframe {
	width: 95%;
	height: 88%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	border-radius: 5px;
	border: 1px solid #fff;
}

.caption {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto !important;
	text-align: center;
	line-height: 1;
}

.wedding .toggle {
	display: block;
}

.toggle,
.none,
.wedding .none {
	display: none;
	position: relative;
	overflow: hidden;
	width: 100%;
	text-align: center;
	letter-spacing: 0.05em;
	padding: 1em 0;
	box-sizing: border-box;
	background: #eee;
	cursor: pointer;
}

@media (max-width: 767px) {
	.menu {
		width: 96%;
	}

	.sp {
		display: block;
	}
}

@media screen and (max-width: 480px) {
	.gallery ul {
		margin: 0 auto;
		width: 95%;
	}

	.gallery ul li {
		width: 100%;
		text-align: center;
		padding: 32% 0;
		margin: 0 auto 5%;
	}

	.wedding li:nth-child(n+5) {
		display: block;
	}

	.gallery iframe {
		width: 100%;
	}

	.toggle {
		display: block;
	}

	.wedding li:nth-child(n+3),
	.funeral li:nth-child(n+3),
	.none {
		display: none;
	}
}

/*---------business-----------*/
@media (min-width: 768px) {
	.business .article .image {
		width: 100%;
		margin: 0 auto;
	}
}

.business .article .image img {
	max-width: 100%;
	margin: 5% auto;
	text-align: center;
	border-radius: 10px;
}

.business .mission {
	padding-bottom: 2%;
	border-bottom: 1px solid #f9f9f9;
}

.business .article .business-img img {
	margin-top: 10%;
}

/*-----------gojokai----------*/
.gojokai .image_illustration img {
	margin-top: 5%;
	padding: 5% 1% 3% 3%;
	text-align: center;
	width: 90%;
	/* border: 1px solid #f9f9f9; */
	/* border-radius: 10px; */
}

.gojokai .article .image_photo {
	width: 100%;
	margin: 0 auto;
}

.gojokai .article .image_photo img {
	max-width: 100%;
	margin: 3% auto;
	text-align: center;
	border-radius: 10px;
}

.btn-cerema{
	width: 100%;
	text-align: center;
}

@media (min-width: 768px) {
	.gojokai .btn {
		background: #fff;
		color: #2AA888;
		border: 1px solid #2AA888;
		border-radius: 6px;
		outline: 0;
		padding: 1em;
		width: 40%;
		margin: 5% auto;
		font-weight: bold;
		cursor: pointer;
	}

	.gojokai .btn:hover {
		background: #2AA888;
		color: #fff;
		border: 1px solid #fff;
		width: 40%;
		margin: 5% auto;
		text-align: center;
		font-weight: bold;
	}
	
	}
	
@media (max-width: 767px) {
	.gojokai img {
		max-width: 100%;
	}

	.gojokai .btn {
		font-size: 1em;
		padding: .4em 0 .3em;
		width: 84% !important;
	}

	.gojokai .btn {
		background: #fff;
		color: #2AA888;
		border: 1px solid #2AA888;
		border-radius: 6px;
		outline: 0;
		padding: 1em;
		width: 40%;
		margin: 2% auto;
		font-weight: bold;
		cursor: pointer;
	}

	.gojokai .btn:hover {
		background: #2AA888;
		color: #fff;
		border: 1px solid #fff;
		width: 40%;
		margin: 2% auto;
		text-align: center;
		font-weight: bold;
	}
}

/*-----------support----------*/
.support-strong{
	font-size: 1.3em;
	font-weight: bold;
	color: rgb(218, 60, 113);
}

.support-caption{
	font-size: 12px;
	line-height: 1.8;
	color: #444D4D;
}

.support-caption02{
	font-size: 0.6em;
	font-weight: bold;
	color: rgb(218, 60, 113);
}

.support-caption-green{
	color: #2AA888;
	font-size: 0.8em;
	font-weight: bold;
}

@media (min-width: 768px) {
.support-flex{
	display: flex;
}

.support-caption{
	margin-top: 5px;
}

.img-support img{
	width: 80%;
	display: flex;
}

.support-inner-wrap{
	margin-top: 60px;
}

.support-img{
	max-width: 100%;
	margin: 0 0 24px 10px;
}

.support-img02{
	max-width: 100%;
	margin: 10px auto;
}

}

@media (max-width: 767px) {

.support-img02{
	margin: 10px auto;
}

.support-img{
	text-align: right;
	margin-bottom: 24px;
}
}

/*-----------company-----------*/
.business .article ul li:before,
.company .article ul li:before,
.company th:before {
	content: none !important;
}

.company td {
	border-bottom: 1px solid #f1f1f1 !important;
	width: 70% !important;
}

/*-----------recruit-----------*/
.recruit,
.business,
.company {
	width: 70%;
	margin: 0 auto 20px;
}

.article {
	width: 100%;
	display: inline-block;
}

/* .article h4 {
	margin: 1em;
} */

.article .recruit-box {
	background: #f9f9f9;
	border-radius: 10px;
	padding: 1em;
	margin: 0 auto 20px;
}

.article ul {
	background: #f9f9f9;
	border-radius: 10px;
	padding: 1em;
	margin: 0 auto;
}

.article ul li {
	margin: .5% 0;
	padding: 0;
}

.article ul li:before {
	content: '■';
	font-size: .6em;
	margin-right: 1em;
	color: #2AA888;
}

.article ul p {
	margin-left: 1em;
}

.article p {
	margin-left: 1em;
}

.article table {
	margin: 0 auto;
	width: 70%;
}

.article table th {
	width: 30%;
	/* color: #2AA888; */
	text-align: left;
	/* vertical-align: top; */
	background-color: #2AA888;
	color: #fff;
}

.article table th:before {
	/* content:'・'; */
}

.article table th,
.article table td {
	padding: 2%;
	border-bottom: 1px dotted #2AA888;
}

.job ul {
	margin: 3% auto;
}

.job ul p {
	margin: 1% 3%;
}

.job ul li:before {
	color: #2AA888;
}

.job strong {
	font-size: 1.2em;
	border-bottom: 1px solid #2AA888;
	letter-spacing: 0.05em;
}

.job span {
	padding: 0 3.5em;
}

.recruit-category {
	display: flex;
	justify-content: center;
	margin: 0 auto 30px;
}

.recruit-category .part,
.recruit-category .regular {
	width: 50%;
	text-align: center;
	border: #2AA888 1px solid;
	padding: 10px;
}

.recruit-category .part {
	border-radius: 4px 0 0 4px;
}

.recruit-category .regular {
	border-radius: 0 4px 4px 0;
}

.recruit-category .select {
	background-color: #2AA888;
	color: #fff;
	font-weight: bold;
}

.recruit-category .no-select a {
	width: 100%;
	display: inline-block;
	color: #2AA888;
	font-weight: bold;
}

.oubo a {
	color: #2AA888;
	font-weight: bold;
}

.oubo {
	margin-bottom: 20px;
}

.recruit-category .no-select a:hover,
.oubo a:hover {
	color: #2AA888;
	font-weight: bold;
	text-decoration: underline;
}

.recruit-copy {
	font-weight: bold;
	font-size: 1.4em;
}

.recruit-position {
	border-bottom: 2px dotted #2AA888;
	padding-bottom: 10px;
	margin-bottom: 20px;
}

.article table {
	width: 100%;
}

@media (min-width:768px) {
	.sp {
		display: none;
	}
}

@media (max-width:767px) {
	.pc {
		display: none;
	}

	.recruit,
	.business,
	.company,
	.gojokai {
		width: 95%;
	}

	.recruit table {
		width: 100%;
	}
}

/*------------contact----------*/
.required:after {
	content: "※";
	color: #e00021;
	margin-left: 2%;
}

.company table,
.contact table {
	width: 90%;
	margin-top: 3%;
}

.company th,
.contact th {
	background: #2AA888;
	margin: 0;
	color: #fff !important;
	border: none !important;
	text-align: left;
}

.contact td input {
	width: 63%;
	float: left;
}

.contact td {
	background: none;
	border-bottom: 1px solid #f1f1f1 !important;
	margin: 0;
	font-size: 12px;
	color: #999;
	padding: 1% !important;
}

.contact td span {
	margin: 1% 0 0 1%;
	float: left;
}

.contact .error,
.contact .ersp {
	width: 100%;
}

.contact p {
	width: 90%;
	margin: 0 auto;
}

.contact input[type="text"],
.contact textarea {
	border: 1px solid #f1f1f1;
	background: none;
	display: inline-block;
}

.contact textarea {
	width: 100%;
	outline: none;
	height: 150px;
}

.contact .btn {
	width: 30%;
	clear: both;
	margin: 3% auto;
	overflow: hidden;
}

.contact #check_btn,
.btn_back {
	background: #fff;
	color: #2AA888;
	border: 1px solid #2AA888;
	border-radius: 6px;
	padding: 1em;
	width: 100%;
	font-weight: bold;
	}

.contact #check_btn:hover,
.contact #check_btn:after,
.btn_back:hover,
.btn_back:after {
	background: #2AA888;
	color: #fff;
	border: 1px solid #fff;
	border-radius: 7px;
	padding: 1em;
	font-weight: bold;
	width: 100%;
}

.btn_back {
	width: 45%;
	margin: 0 5% 0 0;
}

.btn_back:hover,
.btn_back:after {
	width: 45%;
}

.btn_left {
	float: left;
}

.contact table th:before {
	content: none;
}

#inquiry {
	padding: 1%;
	border: 1px solid #f1f1f1;
	color: #888;
	width: 55%;
	float: left;
	display: block;
}

.reserve,
.request {
	display: none;
	margin: 0 auto;
}

#address {
	width: 100% !important;
}

#gojokai .cnt,
#contact .cnt {
	display: none !important;
}

#send input[type="text"] {
	border: none;
}

@media (max-width: 768px) {
	#inquiry {
		width: 100%;
	}

	.btn {
		margin-top: 8% !important;
		width: 80% !important;
	}

	.contact input[type="text"] {
		width: 100%;
	}

	.contact-txt{
		margin-bottom: 20px;
	}
}

/*------------Footer-----------*/
.bg .wrap {
	display: flex;
	flex-direction: row-reverse;
}

.cnt {
	background: #2AA888;
	color: #fff;
	margin: 0 auto 12%;
	text-align: center;
	border-radius: 6px;
	padding: .2em 0 .2em;
	width: 80%;
}

.cnt img {
	max-width: 80%;
}

.footer_area {
	margin-left: 1%;
	width: 100%;
}

.gotop {
	margin: 1% 0;
	padding: 0;
	overflow: hidden;
}

.gotop img {
	width: 50px;
}

.f_nav {
	display: flex;
	/* width: 80%; */
	margin: 3% 0 4%;
	overflow: hidden;
	color: #fff;
	padding: 0;
}

.f_nav li {
	margin-right: 4%;
}

.f_logo {
	overflow: hidden;
	color: #fff;
	margin-bottom: 1%;
}

.footer_area p {
	color: #fff;
	font-size: .8em;
	text-align: center;
}

.fix {
	width: 100%;
	bottom: 0;
	margin-bottom: 0;
	position: fixed;
}

.fix img {
	width: 100%;
}

@media (min-width: 768px) {
	.f_nav li{
		font-size: 1em;
	}
}

@media (max-width: 767px) {
	.f_nav {
		flex-wrap: wrap;
	}

	.footer_area {
		margin-left: 1%;
		padding: 5% 0 1%;
	}

	.gotop {
		display: none;
	}

	.f_nav {
		width: 100%;
		text-align: center;
		margin-bottom: 7%;
	}

	.f_nav li {
		width: 50%;
		margin: 0;
	}

	.footer_area {
		text-align: center;
	}

	.f_logo {
		font-size: 1.3em;
	}

	.btn-contact{
		font-weight: bold;
	}

}