@charset "utf-8";


/* all
-------------------------------------------------------------------*/
html {
	background:#FFFFFF;
	color:#333333;
	font-family:"Noto Serif JP", "Zen Old Mincho", "Cormorant Garamond", serif;
	font-size:16px;
	line-height:1.4;
}
html .zenold,
html .zenold form * {
	font-family: "Zen Old Mincho", serif;
}
html .cormorant,
html .cormorant form *{
	font-family: "Cormorant Garamond", serif;
}
html .cardo,
html .cardo form * {
	font-family: "Cardo", serif;
}
html body{
	font-family:"Noto Serif JP", "Zen Old Mincho", "Cormorant Garamond", serif;
}
body {
	width: 100%;
	font-size: 100%;
	text-align: center;
	min-width:1200px;
}
main{
	overflow:hidden;
	width:100%;
}
body:not(.home) main{
	margin-top:100px;
}
.sitewrap {
	width: 1200px;
	min-width:1200px;
	overflow:hidden;
	margin: 0 auto;
	text-align: left;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
body:not(.home) .sitewrap{
	width: 1340px;
	min-width:1340px;
	overflow: visible;
}
@media screen and (max-width:1340px) {
	body:not(.home) .sitewrap{
		width: 100%;
		min-width:0;
	}
	body:not(.home) .sitewrap > *{
		padding-left:2%;
		padding-right:2%;
	}
}
@media screen and (max-width:1200px) {
	body,
	.sitewrap {
		width: 100%;
		min-width:0;
	}	
	.sitewrap > *{
		padding-left:2%;
		padding-right:2%;
	}
}
@media screen and (max-width:767px) {
	html {
		font-size:14px;
	}
	.sitewrap > *{
		padding-left:15px;
		padding-right:15px;
	}
	body:not(.home) main{
		margin-top:60px;
		padding-top: 0;
	}
		body:not(.home) .sitewrap > *{
		padding-left:15px;
		padding-right:15px;
	}
}


/* header
-------------------------------------------------------------------*/
header#fix_menu{
	position: fixed;
	top: 0;
	left:0;
	right:0;
	z-index:999;
	transition: top .4s .2s,background-color.4s;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
header#fix_menu.fixedMenu{
	position:fixed;
	top: 0;
	background: #fff;
}
header#fix_menu.fixedMenu .menu_bottom .right_menu li a{
	color:#282828;
}
header .menu_top{
	padding:0;
}
header p{
	margin:0;
	line-height:inherit;
}
.menu_top {
   	position:relative;
}
.menu_top #site_ttl {
	float:left;
	padding: 10px 50px;
	white-space:nowrap;
}
.menu_top #site_ttl a{
	display:inline-block;
	vertical-align:middle;
	filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 2px #fff) drop-shadow(0 0 5px #fff);
	transition: .5s opacity;
}
.menu_bottom{
	display:flex;
	justify-content:flex-end;
	align-items:center;
}
.menu_bottom .right_menu{
	text-align:right;
	height: 100px;
}
.menu_bottom .right_menu ul{
	height: 100px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.menu_bottom .right_menu li{
	height: 100px;
}
.menu_bottom .right_menu .drop_wrap a ~i{
	position: absolute;
	top: 45px;
}
.menu_bottom .right_menu .drop_wrap a ~i:before{
	content: '';
	width: 9px;
	height: 9px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	position: absolute;
	right: 10px;
	top: 0;
	transform: rotate(135deg);
	transition:.5s transform,.5s border-color;
}
.menu_bottom .right_menu .drop_wrap a:hover ~i:before,
header#fix_menu.fixedMenu .menu_bottom .right_menu .drop_wrap a ~i:before,
body:not(.home) .menu_bottom .right_menu .drop_wrap a ~i:before{
	border-top-color:#282828;
	border-right-color:#282828;
}
.menu_bottom .right_menu li a{
	color:#fff;
	padding: 0 27px;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	transition: .5s color;
	font-size: 1.125rem;
}
.menu_bottom .right_menu li a span{
	position: relative;
}
.menu_bottom .right_menu li a:hover{
	opacity:1;
	background: #fff;
	color: #282828;
	text-decoration: none;
}
.menu_bottom .right_menu li a span:after{
	content:"";
	width:0%;
	height:1px;
	display:block;
	background: #912d37;
	transition:width .2s;
	position:absolute;
	bottom: -5px;
	right:0;
	left:0;
	margin:auto;
}
.menu_bottom .right_menu li a:hover span:after{
	width:100%;
}
.menu_bottom .right_menu .drop_wrap a ~ .mega-menu{
	background:#fff;
	position:absolute;
	left: 0;
	right: 0;
	top:90px;
	width: 100%;
	text-align: left;
	padding: 55px 55px 50px;
	text-align: left;
	opacity: 0;
	visibility: hidden;
	transition: opacity .4s;
	height: 0;
	max-width: 1305px;
	margin: 0 auto;
}
.menu_bottom .right_menu .drop_wrap:hover a ~ .mega-menu{
	opacity: 1;
	visibility: visible;
	z-index: 999;
	height: auto;
}
.menu_bottom .right_menu .mega-menu .head_title{
	position:relative;
	margin-bottom: 0.75em;
}
.menu_bottom .right_menu .mega-menu .head_title a{
	text-align:left;
	display: inline-block;
	padding: 0;
	font-size:1rem;
	position: relative;
	color: #282828;
}
.menu_bottom .right_menu .mega-menu .head_title a em{
	font-size:2.75rem;
	display: block;
	text-transform: uppercase;
	font-family: "Cardo", serif;
}
.menu_bottom .right_menu .mega-menu .head_title a em span{
	font-size:1rem;
	font-family: "Noto Serif JP", serif;
	display: block;
	line-height: 1;
}
.menu_bottom .right_menu .mega-menu .head_title a em span:after{
	display:none;
}
.menu_bottom .right_menu .mega-menu .head_title a .arrow{
	width:42px;
	height:42px;
	background:#fff;
	border-radius:50%;
	border:1px solid #d5d5d5;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: 116%;
	top: 0;
	bottom: 0;
	margin: auto;
	transition:.5s background-color;
}
.menu_bottom .right_menu .mega-menu .head_title a .arrow img{
	filter: brightness(0) saturate(100%) invert(12%) sepia(7%) saturate(21%) hue-rotate(335deg) brightness(99%) contrast(90%);
	transition:.5s filter;
}
.menu_bottom .right_menu .mega-menu ul{
	justify-content:flex-start;
	align-items:stretch;
	gap: 2.5%;
	height: auto;
	margin-bottom: 0;
	padding-left: 0;
}
.menu_bottom .right_menu .mega-menu ul li{
	width: 24%;
	max-width: 280px;
	height: auto;
	margin: 0;
}
.menu_bottom .right_menu .mega-menu ul li a{
	padding:0;
	justify-content:flex-start;
	gap:1em;
	font-family: "Noto Serif JP", serif;
	font-size:1.125rem;
	border-bottom:1px solid #d8d8d8;
	height: auto;
	padding-block: 1em;
	position:relative;
	transition:.5s color;
	color: #282828;
}
.menu_bottom .right_menu .mega-menu ul li a .head_icon{
	position:relative;
	z-index:5;
}
.menu_bottom .right_menu .mega-menu ul li a .head_icon{
	transition: .5s filter;
}
.menu_bottom .right_menu .mega-menu ul li a span{
	position:relative;
	z-index:5;
}
.menu_bottom .right_menu .mega-menu ul li a span:after{
	display:none;
}
.menu_bottom .right_menu .mega-menu ul li a .arrow{
	position:absolute;
	right:0;
	top:0;
	bottom: 30px;
	margin:auto;
	height: 5px;
	z-index:5;
	transition:.5s transform;
}
.menu_bottom .right_menu .mega-menu ul li a .arrow img{
	filter: brightness(0) saturate(100%) invert(10%) sepia(5%) saturate(13%) hue-rotate(9deg) brightness(98%) contrast(86%);
	transition:.5s filter;
}
.menu_bottom .right_menu .mega-menu ul li a:after{
	content:"";
	width:100%;
	background:#24305c;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto;
	transition:.5s transform;
	transform:scale(0,1);
	transform-origin:right top;
}
.drop_menu{
	margin:auto;
}
.menu_fix{
	display:flex;
	background:#fff;
	padding: 7px;
	gap: 7px;
}
.menu_fix:before{
	content:"";
	width:1px;
	background:#ddd;
	position:absolute;
	right: 450px;
	top:8px;
	bottom:8px;
	margin:auto;
}
.fix-bottom{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	gap: 7px;
}
.fix-bottom .head_bottom-tel{
	display: block;
	position: relative;
}
.fix-bottom .head_bottom-tel a{
	text-align:center;
	position:relative;
	display:flex;
	flex-direction:column;
	gap:0.25em;
	height:5em;
	font-size:0.875rem;
	justify-content:center;
	align-items:center;
	padding:0.5em;
	height: 86px;
	text-decoration: none;
	pointer-events: none;
}
.fix-bottom .head_bottom-tel a .tel-number{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:1em;
}
.fix-bottom .head_bottom-tel a .tel-number em{
	font-size:1.875rem;
	color:#274875;
	font-weight:bold;
	line-height:1;
}
.fix-bottom .head_bottom-request a{
	background:#912d37;
	aspect-ratio:1/1;
	width:86px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	gap:0.5em;
	color:#fff;
	border:1px solid #912d37;
	transition: .5s color,.5s background-color;
}
.fix-bottom .head_bottom-request a svg{
	transition:.5s fill;
}
.drop_menu #NavWrap {
	padding: 0;
}
.drop_menu #NavWrap .menu_list {
	width:100%;
	box-sizing:border-box;
	display: flex;
	justify-content:flex-start;
	flex-wrap: wrap;
	text-align:left;
	gap: 1.5em 4%;
	padding: 0;
	margin: 0;
}
.drop_menu #NavWrap .menu_list li{
	display:block;
	width: 47%;
}
.drop_menu #NavWrap .menu_list li a{
	font-size:1.125rem;
	font-weight:500;
	color:#1b284f;
	padding: 0;
	text-align: left;
}
.drop_menu #NavWrap .menu_list li a span{
	text-align:left;
	justify-content: flex-start;
	align-items: flex-start;
	position: relative;
	display: inline-block;
}
.drop_menu #NavWrap .btn_info{
	width:100%;
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	gap:1em 1%;
	flex-wrap:wrap;
}
.drop_menu #NavWrap .head-btn{
	width:48%;
}
.drop_menu #NavWrap .head-btn a{
	position: relative;
	display:flex;
	justify-content:center;
	align-items:center;
	gap:5%;
	color:#fff;
	font-size:1.125rem;
	height:4.445em;
	transition: .5s color,.5s background-color;
	padding: 0.5em;
}
.drop_menu #NavWrap .head-btn a svg{
	transition:.5s fill;
}
.drop_menu #NavWrap .btn-new a{
	background:#bca64e;
	border:1px solid #bca64e;
}
.drop_menu #NavWrap .btn-request a{
	background:#912d37;
	border:1px solid #912d37;
}
.drop_menu #NavWrap .head_bottom-tel{
	width:100%;
}
.drop_menu #NavWrap .head_bottom-tel a{
	text-align:center;
	position:relative;
	background:#f4f2ea;
	border:1px solid #58574c;
	display:flex;
	flex-direction:column;
	gap:0.25em;
	height:5em;
	font-size:1rem;
	justify-content:center;
	align-items:center;
	padding:0.5em;
	text-decoration: none;
	pointer-events: none;
}
.drop_menu #NavWrap .head_bottom-tel a .tel-number{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:1em;
}
.drop_menu #NavWrap .head_bottom-tel a .tel-number em{
	font-size:2rem;
	color:#274875;
	font-weight:bold;
	line-height:1;
}
.drop_menu #NavWrap .menu_list .drop_wrap ul{
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 2%;
	transition: opacity .4s,.4s visibility,.4s height;
	position: relative;
	left: 1em;
	padding: 0;
	margin: 0;
}
.drop_menu #NavWrap .sp_link{
	display:none;
}
.drop_menu #NavWrap ul::after{
	display:none;
}
.drop_menu #NavWrap ul > li {
	display:table-cell;
	vertical-align:middle;
	box-sizing:border-box;
}
.drop_menu #NavWrap li a,
.drop_menu #NavWrap li p {
	display: block;
	padding: 0 8px 2px;
	box-sizing:border-box;
	text-decoration: none;
	font-size: 14px;
	width: auto;
	line-height: 1;
	position:relative;
	text-align:center;
	transition:background 0.5s ,color 0.5s, opacity 0.5s, color 0.5s;
}
.drop_menu #NavWrap li a span{
	padding: 20px 0px 22px;
	display:flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	white-space: normal;
	font-weight: bold;
	position:relative;
}
.drop_menu #NavWrap li a span br{
	display:none;
}
.drop_menu #NavWrap li a span:after{
	content:"";
	width: 100%;
	height: 1px;
	display:block;
	position:absolute;
	bottom:2px;
	left:0;
	transition: transform .3s;
	background: #1b284f;
	right: 0;
	transform: scale(0,1);
	transform-origin: right top;
}
.drop_menu #NavWrap li a:hover span{
	opacity:1;
}
.drop_menu #NavWrap li a:hover span:after{
	transform: scale(1,1);
	transform-origin: left top;
}
.drop_menu #NavWrap li a:hover {
   opacity:1;
}
.drop_menu #NavWrap li.drop_wrap {
	position:relative;
}
.drop_menu #NavWrap li.drop_wrap i{
	display:block;
	width:50px;
	height:50px;
	cursor:pointer;
	position:absolute;
	top:0;
	right:0;
	z-index:10;
	margin: 0;
}
.drop_menu #NavWrap ul li.drop_wrap i:before,
.drop_menu #NavWrap ul li.drop_wrap i:after{
	content:"";
	width:20px;
	height:2px;
	display:block;
	position:absolute;
	right:10px;
	top: -10px;
	bottom:0;
	margin:auto;
	z-index:20;
	background:#1b284f;
	transition:transform .4s;
}
.drop_menu #NavWrap ul li.drop_wrap i:after{
	transform:rotate(90deg);
}
.drop_menu #NavWrap ul li.drop_wrap.opened i:before{
	transform:rotate(180deg);
}
.drop_menu #NavWrap ul li.drop_wrap.opened i:after{
	transform:rotate(-180deg);
}
.drop_menu #NavWrap li ul{
	position: relative;
	width:auto;
	opacity:0;
	visibility:hidden;
	transition:opacity .4s;
	height: 0;
}
.drop_menu #NavWrap li.opened ul{
	opacity:1;
	visibility:visible;
	z-index:999;
	position:relative;
	height: auto;
}
.drop_menu #NavWrap .menu_list li ul a{
	padding-left: 1em;
	font-size: 1rem;
}
.drop_menu #NavWrap .menu_list li ul a span{
	font-weight: normal;
	padding: 6px 0;
}
.drop_menu #NavWrap .menu_list li ul a:before{
	content:"";
	width:5px;
	height:1px;
	background:#282828;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto;
}
.drop_menu #NavWrap .menu_list li ul li{
	width: 100%;
}
.drop_menu #NavWrap .menu_list li ul li:last-child{
	width:auto;
}
.menu_bottom #switch {
	position: absolute;
	display: none;
	opacity: 0;
}
.menu_bottom #switch ~ .menu_fix .drop_menu label {
	display: block;
	cursor: pointer;
	position: relative;
	top:0;
	right:0;
	z-index:900;
	-webkit-transition: 0.5s transform;
	transition: 0.5s transform, right 0.2s,.2s background-color;
	padding: 12px;
	width: 86px;
	box-sizing:border-box;
	background: #f4f2ea;
	text-align:center;
	aspect-ratio: 1/1;
}
.txt_menu{
	position:absolute;
	bottom: 20%;
	left:0;
	right:0;
	margin:auto;
	font-size: 0.75rem;
	transition:.5s opacity;
}
.txt_menu.switch_in{
	opacity:1;
}
.txt_menu.switch_out{
	opacity:0;
}
.menu_bottom #switch:checked ~ .menu_fix .txt_menu.switch_in{
	opacity:0;
}
.menu_bottom #switch:checked ~ .menu_fix  .txt_menu.switch_out{
	opacity:1;
}
.menu_bottom #switch ~ .menu_fix .drop_menu label b{
	z-index:2;
	width:100%;
	display:block;
	margin-bottom: 0;
}
.menu_bottom #switch ~ .menu_fix .drop_menu label span{
	cursor: -webkit-grabbing;
	display:block;
	width:60px;
	height: 1px;
	background: #282828;
	-webkit-transition: 0.2s transform, 0.5s background;
	transition: 0.2s transform, 0.5s background;
	position:absolute;
	top: 40%;
	left:0;
	right:0;
	margin:auto;
	margin-top:-5px;
}
.menu_bottom #switch ~ .menu_fix .drop_menu label span:before,
.menu_bottom #switch ~ .menu_fix .drop_menu label span:after{
	content:"";
	display:block;
	width:60px;
	height: 1px;
	background:#282828;
	position:absolute;
	margin-top:0;
}
.menu_bottom #switch ~ .menu_fix .drop_menu label span:before{
	top: -9px;
}
.menu_bottom #switch ~ .menu_fix .drop_menu label span:after{
	top: 9px;
}
.menu_bottom #switch:checked ~ .menu_fix .drop_menu label span{
	-webkit-transform: rotate(-30deg);
	transform: rotate(-30deg);
}
.menu_bottom #switch:checked ~ .menu_fix .drop_menu label span:before{
	top:0;
}
.menu_bottom #switch:checked ~ .menu_fix .drop_menu label span:after{
	-webkit-transform: rotate(240deg);
	transform: rotate(240deg);
	top:0;
	margin-top:0;
}
.menu_bottom #switch:checked ~ .menu_fix .drop_menu label{
	right: 0;
	background-color: #fff;
}
.drop_menu #NavWrap{
	position: fixed;
	top: -100%;
	width: 100%;
	z-index: 800;
	height:100%;
	overflow: auto;
	visibility: hidden;
	box-sizing: border-box;
	transition:all 0.25s;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	background: #f4f2ea;
	left: 0;
	top: -100%;
	bottom: 0;
	overscroll-behavior: contain;
}
.menu_bottom #switch:checked ~ .menu_fix .drop_menu label + #NavWrap{
	visibility:visible;
	/* max-height: 100%; */
	top: 0;
}
.drop_menu #NavWrap::-webkit-scrollbar {
	height:10px;
	width:10px;
}
.drop_menu #NavWrap::-webkit-scrollbar-track {
	border-radius: 10px;
	background: #b3b3b3;
}
.drop_menu #NavWrap::-webkit-scrollbar-thumb {
	border-radius: 10px;
}
.drop_menu #NavWrap .pc_image{
	width: 62%;
}
.drop_menu #NavWrap .pc_image img{
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center;
}
.drop_menu #NavWrap .menu_area{
	width:38%;
	height: 100%;
	display: flex;
	justify-content: center;
	flex-direction: column;
	text-align: left;
	max-width:440px;
	margin:0 auto;
	gap: 5.125em;
	align-items: center;
	padding-block: 50px;
}
.drop_menu #NavWrap .menu_area .menu_logo{
	width:100%;
}
.drop_menu #NavWrap > ul {
	width: 100%;
	margin-right: 0;
	margin-left: auto;
}
.drop_menu #NavWrap li a {
	padding: 15px 0;
	text-decoration: none;
	text-align: center;
	width: auto;
}
.drop_menu #NavWrap li a span{
	padding: 10px 0px;
	border-left:none;
	white-space: normal;
}
@media (hover: hover) {
	.menu_top #site_ttl a:hover{
		opacity:0.7;
	}
	.drop_menu #NavWrap li a:hover span:after{
		transform: scale(1,1);
		transform-origin: left top;
	}
	.drop_menu #NavWrap .btn-new a:hover{
		background:#fff;
		color:#bca64e;
		text-decoration:none;
	}
	.drop_menu #NavWrap .btn-new a:hover span .new-1 {
		fill: #bca64e;
	}
	.drop_menu #NavWrap .btn-new a:hover span .new-1,
	.drop_menu #NavWrap .btn-new a:hover span .new-2 {
		stroke: #bca64e;
	}
	.drop_menu #NavWrap .btn-request a:hover{
		background:#fff;
		color:#912d37;
		text-decoration:none;
	}
	.drop_menu #NavWrap .btn-request a:hover span svg{
		fill:#912d37;
	}
	.fix-bottom .head_bottom-request a:hover{
		background:#fff;
		color:#912d37;
		text-decoration:none;
	}
	.fix-bottom .head_bottom-request a:hover span svg{
		fill:#912d37;
	}
	.menu_bottom .right_menu .mega-menu .head_title a:hover .arrow{
		background:#24305c;
	}
	.menu_bottom .right_menu .mega-menu .head_title a:hover .arrow img{
		filter:none;
	}
	.menu_bottom .right_menu .mega-menu ul li a:hover,
	body:not(.home) header#fix_menu .menu_bottom .right_menu .mega-menu ul li a:hover,
	header#fix_menu.fixedMenu .right_menu .mega-menu ul li a:hover{
		color:#fff;
	}
	.menu_bottom .right_menu .mega-menu ul li a:hover:after{
		transform:scale(1,1);
		transform-origin:left top;
	}
	.menu_bottom .right_menu .mega-menu ul li a:hover span{
		
	}
	.menu_bottom .right_menu .mega-menu ul li a:hover .arrow{
		transform:translateX(-5px);
	}
	.menu_bottom .right_menu .mega-menu ul li a:hover .arrow img{
		filter:none;
	}
	.menu_bottom .right_menu .mega-menu ul li a:hover .head_icon{
		filter: brightness(0) invert(1);
	}
	.menu_bottom .right_menu .drop_wrap:hover a ~i:before{
		transform:rotate(135deg) scale(-1);
	}
}
@media screen and (max-width:17550px) {
	.menu_bottom .right_menu li a{
		font-size: 1rem;
		padding: 0 20px;
	}
	.menu_bottom .right_menu .drop_wrap a{
		padding-right:25px;
	}
}
@media screen and (max-width:1590px) {
	.drop_menu #NavWrap .menu_area{
		padding: 50px 30px;
	}
	.menu_bottom .right_menu li a{
		padding: 0 10px;
		font-size:0.875rem;
	}
	.menu_bottom .right_menu .drop_wrap a{
		padding-right:25px;
	}
}
@media screen and (max-width:1315px) {
	.menu_bottom .right_menu{
		display:none;
	}
}
@media screen and (max-width:1300px) {
	.drop_menu #NavWrap .head-btn a{
		font-size:0.875rem;
	}
	.drop_menu #NavWrap .menu_list li a{
		font-size:0.875rem;
	}
	.drop_menu #NavWrap .menu_list{
		gap: 1em;
	}
	.drop_menu #NavWrap .head_bottom-tel a .tel-number em{
		font-size:1.75rem;
	}
	.drop_menu #NavWrap .head_bottom-tel a{
		font-size:0.875rem;
	}

	.drop_menu #NavWrap .menu_list li ul a{
		padding-left: 0.875em;
		font-size:0.875rem;
	}
}
@media screen and (max-device-width:1280px) {
	.drop_menu #NavWrap .head_bottom-tel a,
	.fix-bottom .head_bottom-tel a,
	body.home .contact .contact_col .contact-tel a{
		pointer-events:auto;
	}
}
@media screen and (max-width:1000px) {
	.drop_menu #NavWrap .head-btn a{
		font-size:0.75rem;
	}
}
@media screen and (max-height:750px) {
	.drop_menu #NavWrap .menu_area{
		height:max-content;
	}
}
@media screen and (min-width:768px) {
	body:not(.home) .aside-vacant{
		display:block;
	}
	body:not(.home) header#fix_menu .menu_bottom .right_menu li a{
		color:#282828;
	}
	body:not(.home) header#fix_menu{
		background-color:#fff;
	}
}
@media screen and (max-width:767px) {
	body {
		padding-top: 0;
	}
	header#fix_menu,
	header#fix_menu.fixedMenu{
		top:0;
		transition: none;
		position: fixed;
		width: 100%;
		height: 60px;
		background: #fff;
		border-bottom: 1px solid;
	}
	header .menu_top {
		position: absolute;
		top:0;
		left:0;
		width:100%;
		z-index: 700;
		background: none;
		padding: 0;
		box-sizing: border-box;
		width: auto;
	}
	header .menu_top #site_ttl{
		padding:0;
	}
	header .menu_top #site_ttl a{
		padding: 10px 5px;
	}
	header .menu_top #site_ttl img{
		max-height:40px;
	}
	.drop_menu #NavWrap li.drop_wrap ul li a span{
		padding:15px 20px;
	}
	.menu_bottom .right_menu {
		padding:5px 60px 5px 5px
	}
	.menu_bottom .right_menu li{
		display:none;
	}
	.drop_menu #NavWrap{
		padding-top: 0;
		left: 0;
		padding:0;
		width:100%;
		height:100%;
	}
	.menu_bottom #switch:checked ~ .menu_fix .drop_menu label + #NavWrap{
		max-height: calc(100% - 60px);
		height: calc(100% - 60px);
		left: 0;
		top: 60px;
		right: 0;
	}
	.menu_bottom #switch ~  .menu_fix .drop_menu label {
	   padding: 12px 12px;
	   width: 60px;
	   height: 60px;
	   position: absolute;
	}
	.menu_bottom #switch:checked ~ .menu_fix .drop_menu label{
		background-color: #f4f2ea;
	}
	.menu_bottom #switch ~  .menu_fix .drop_menu label .txt_menu{
		bottom:15%;
	}
	.menu_bottom #switch ~  .menu_fix .drop_menu label span{
	   width:22px;
	   height:2px;
	   top: 22px;
	   margin:auto;
	}
	.menu_bottom #switch ~  .menu_fix .drop_menu label span:before,
	.menu_bottom #switch ~  .menu_fix .drop_menu label span:after{
	   width:22px;
	   height:2px;
	   margin-top:0;
	}
	.menu_bottom #switch ~  .menu_fix .drop_menu label span:before{
	   top: -9px;
	}
	.menu_bottom #switch ~  .menu_fix .drop_menu label span:after{
	   top: 9px;
	}
	.drop_menu #NavWrap ul {
	   display: block;
	   border-left:none;
	   height: 100%;
	   width: 300px;
	   padding: 0;
	}
	.drop_menu #NavWrap .menu_list li a{
		font-size:1.29rem;
	}
	.drop_menu #NavWrap .menu_list li{
		display:block;
		padding:0;
		width:100%;
		border-bottom:solid 1px #070002;
	}
	.drop_menu #NavWrap .menu_list > li:first-child{
		order:1;
	}
	.drop_menu #NavWrap .menu_list > li:nth-child(2){
		order:2;
	}
	.drop_menu #NavWrap .menu_list > li:nth-child(3){
		order:3;
	}
	.drop_menu #NavWrap .menu_list > li:nth-child(4){
		order:5;
	}
	.drop_menu #NavWrap .menu_list > li:nth-child(5){
		order:4;
	}
	.drop_menu #NavWrap .menu_list > li:nth-child(6){
		order:7;
	}
	.drop_menu #NavWrap .menu_list > li:nth-child(7){
		order:6;
	}
	.drop_menu #NavWrap .menu_list > li:nth-child(8){
		order:9;
	}
	.drop_menu #NavWrap .menu_list > li:nth-child(9){
		order:8;
	}
	.drop_menu #NavWrap .menu_list > li:nth-child(10){
		order:10;
	}
	.drop_menu #NavWrap .menu_list > li:nth-child(11){
		order:11;
	}
	.drop_menu #NavWrap .menu_list > li:nth-child(12){
		order:12;
	}
	.drop_menu #NavWrap li a,
	.drop_menu #NavWrap li a:hover{
		font-size: 1.29rem;
		text-align: left;
		width: auto;
		padding: 0;
		text-decoration: none;
		background:none;
		border:none;
	}
	.drop_menu #NavWrap li a:hover{
		background:none;
	}
	.drop_menu #NavWrap li a span{
		display:block;
		padding: 20px 0;
		font-weight:normal;
		background:none;
		line-height: 1.4;
	}
	.drop_menu #NavWrap li a span br{
		display:block;
	}
	.drop_menu #NavWrap li a span:after{
		display:none;
	}
	.drop_menu #NavWrap ul li.drop_wrap i:before,
	.drop_menu #NavWrap ul li.drop_wrap i:after{
		top: 10px;
	}
	.drop_menu #NavWrap li.drop_wrap ul,
	.drop_menu #NavWrap li.drop_wrap:hover ul{
		opacity:0;
		visibility:hidden;
		display:block;
		position:static;
		transform: none;
		width:100%;
		max-height:0;
		overflow:hidden;
			transition:opacity .4s,visibility .4s, max-height .4s;
	}
	.drop_menu #NavWrap .menu_list .drop_wrap ul{
		left:0;
	}
	.drop_menu #NavWrap ul li.drop_wrap.opened ul{
		opacity:1;
		visibility:visible;
		max-height:100vh;
	}
	.drop_menu #NavWrap .menu_list li ul li{
		width:100%;
	}
	.drop_menu #NavWrap .menu_list li ul li:last-child{
		width:100%;
		border-bottom: none;
	}
	.drop_menu #NavWrap li.drop_wrap ul li + li{
		border-top: none;
	}
	.drop_menu #NavWrap li.drop_wrap ul li a{
		font-size: 1rem;
		text-align: left;
		width: auto;
		padding: 0;
		text-decoration: none;
		color:#333;
		border:none;
	}
	.menu_fix:before{
		display:none;
	}
	.fix-bottom{
		gap:0;
		position:fixed;
		bottom:0;
		left:0;
		right:0;
		margin:auto;
	}
	.fix-bottom .head_bottom-tel{
		width: 50%;
	}
	.fix-bottom .head_bottom-tel a{
		height:60px;
		font-size:0.875rem;
		pointer-events:auto;
		background:#274875;
		color:#fff;
	}
	.fix-bottom .head_bottom-tel a p{
		font-size:0.71rem;
		margin-top:0.5em;
	}
	.fix-bottom .head_bottom-tel a .tel-number{
		gap:0.5em;
	}
	.fix-bottom .head_bottom-tel a .tel-number span{
		width:12px;
		height:12px;
	}
	.fix-bottom .head_bottom-tel a .tel-number span img{
		max-width:100%;
		height:auto;
		filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(345deg) brightness(104%) contrast(102%);
	}
	.fix-bottom .head_bottom-tel a .tel-number em{
		font-size: 1.55rem;
		color:#fff;
	}
	.fix-bottom .head_bottom-request{
		width:50%;
	}
	.fix-bottom .head_bottom-request a{
		aspect-ratio:inherit;
		width:100%;
		height:60px;
		flex-direction: row;
		text-decoration: none;
	}
	.drop_menu #NavWrap .pc_image{
		display:none;
	}
	.drop_menu #NavWrap .menu_area{
		width:100%;
		height: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		flex-direction: column;
		text-align: left;
		max-width:440px;
		margin:0 auto;
		gap: 1em;
		padding: 30px 15px;
	}
	.drop_menu #NavWrap .menu_area .menu_logo{
		order:1;
		display: none;
	}
	.drop_menu #NavWrap .menu_list{
		order:3;
		height: auto;
		gap: 0;
	}
	.drop_menu #NavWrap .btn_info{
		order:2;
	}
	.drop_menu #NavWrap .head_bottom-tel a{
		pointer-events:auto;
		padding: 1.5em 0.5em;
		height: auto;
		gap: 0.5em;
	}
	.drop_menu #NavWrap .head_bottom-tel a .tel-number span{
		filter: brightness(0) saturate(100%) invert(10%) sepia(6%) saturate(21%) hue-rotate(332deg) brightness(101%) contrast(87%);
		width:20px;
		height:20px;
	}
	.drop_menu #NavWrap .head_bottom-tel a .tel-number em{
		font-size: 1.29rem;
		color: #282828;
	}
	.drop_menu #NavWrap img,
	.drop_menu #NavWrap svg{
		max-width:100%;
		height:auto;
	}
	.drop_menu #NavWrap .btn-new a span{
		width: 20px;
		height: 29px;
	}
	.drop_menu #NavWrap .btn-request a span{
		width: 27px;
		height: 21px;
	}
	.drop_menu #NavWrap .head-btn a{
		text-decoration:none;
		font-size:1rem;
	}
	.drop_menu #NavWrap .sp_link{
		display:block;
		order: 4;
		margin-top: 2em;
	}
	.drop_menu #NavWrap .sp_link .sp_link_item{
		position:relative;
	}
	.drop_menu #NavWrap .sp_link .sp_link_item:last-child{
		margin-bottom:30px;
	}
	.drop_menu #NavWrap .sp_link .sp_link_item + .sp_link_item{
		margin-top: 1em;
	}
	.drop_menu #NavWrap .sp_link .sp_link_item a{
		text-decoration:underline;
		padding-bottom:0.5em;
		display:inline-block;
		font-size:0.86rem;
		text-underline-offset:5px;
	}
}
@media screen and (max-width:350px) {
	.fix-bottom .head_bottom-tel a .tel-number em{
		font-size: 1.35rem;
	}
}
/* contents
-------------------------------------------------------------------*/
/*commmon*/
main{
	display: block;
}
body.home .top_style{
	font-size:3.875rem;
	font-weight:500;
	font-family: "Cormorant Garamond", serif;
	margin-bottom: 1em;
	line-height: 1.4;
}
body.home .top_style span{
	font-size: 1.25rem;
	font-family: "Noto Serif JP", serif;
	display: block;
	padding-left: 2.25em;
	position:relative;
	letter-spacing: 0.3em;
}
body.home .top_style span:before{
	content:"";
	width:30px;
	height:1px;
	background:#d0cdcd;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto;
}
body.home .top_style02{
	font-size: 1.875rem;
	font-weight:500;
	font-family: "Zen Old Mincho", serif;
	margin-bottom:1em;
}
.new-1 {
	fill: #fff;
	stroke-width: 2.35px;
	transition:.5s fill;
}
.new-1,
.new-2 {
	stroke: #fff;
	stroke-linecap: round;
	stroke-miterlimit: 10;
	transition:.5s fill;
}
.new-2 {
	fill: none;
	stroke-width: 14.1px;
}
@media screen and (max-width:767px) {
	main{
		padding-top: 60px;
	}
	body.home .top_style{
		font-size:2.93rem;
	}
	body.home .top_style span{
		font-size:1rem;
	}
	body.home .top_style02{
	font-size:1.357rem;
	}
}
/*visual*/
body.home main p,
body.home main ul,
body.home main li{
	line-height:inherit;
	margin:0;
	padding:0;
}
body.home .visual{
	position:relative;
	z-index:5;
	margin-bottom: 6px;
}
body.home .visual ul{
	padding:0;
}
body.home .mv_bg_slider .slick-slide img{
	width:100%;
	height:auto;
}
body.home .mv_bg_slider .slick-slide img.display_pc{
	display:block;
}
body.home .mv_bg_slider .slick-slide img.display_sp{
	display:none;
}
body.home .mv-txt{
	position:absolute;
	z-index:15;
	left: 13%;
	top: 35%;
	bottom: auto;
	margin:auto;
	width:fit-content;
	height:fit-content;
}
body.home .mv-txt .mv_style{
	position:relative;
	z-index:15;
	font-size: 3.875rem;
	font-weight:500;
	text-align:left;
	color:#fff;
	text-shadow: 0 0 10px rgba(0,0,0,0.6);
	letter-spacing: 0.15em;
}
body.home .visual .new-area{
	position:absolute;
	right: 5%;
	bottom:-5%;
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	max-width: 394px;
}
body.home .visual .new-area input{
	opacity:0;
	position:absolute;
}
body.home .visual .new-area:has(input:checked){
	display:none;
}
body.home .visual .new-area label{
	position:absolute;
	right: -2%;
	top: -12%;
	aspect-ratio:1/1;
	width:22px;
	background:#bca64e;
	border:1px solid #fff;
	border-radius:50%;
}
body.home .visual .new-area label:before,
body.home .visual .new-area label:after{
	content:"";
	width:12px;
	height:1px;
	background:#fff;
	position:absolute;
	inset:0;
	margin:auto;
}
body.home .visual .new-area label:before{
	transform:rotate(45deg)
}
body.home .visual .new-area label:after{
	transform:rotate(-45deg)
}
body.home .visual .new-area .tit-area{
	background:#bca64e;
	font-size: 0.875rem;
	color: #fff;
	width: 132px;
	height: 100px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 0.5em;
	border-radius: 5px 0 0 5px;
	text-decoration: none;
	pointer-events: none;
}
body.home .visual .new-area .lick-area{
	flex:1;
	background:#fff;
	padding: 10px 8px 10px 0;
	border-radius: 0 5px 5px 0;
}
body.home .visual .new-area .lick-area .lick-col{
	background:#f0eeea;
	width:100%;
	height:100%;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
	padding: 10px;
	gap:0.5em;
}
body.home .visual .new-area .lick-area .lick-col em{
	font-size:1.125rem;
	font-weight:bold;
}
body.home .visual .new-area .lick-area .lick-col p{
	color:#888888;
	font-size:0.875rem;
	margin: 0;
}
body.home .visual .new-area .lick-area .lick-col p a{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5em;
}
body.home .visual .new-area .lick-area .lick-col p .arrow{
	position: relative;
	background: url(../img/common/icon-arrow.svg);
	width: 21px;
	height: 5px;
	display: block;
	filter: brightness(0) saturate(100%) invert(56%) sepia(7%) saturate(9%) hue-rotate(345deg) brightness(95%) contrast(88%);
	transition:.5s transform;
}
@media (hover: hover) {
	body.home .visual .new-area .lick-area .lick-col p a:hover{
		text-decoration:underline;
		text-underline-offset:5px;
	}
	body.home .visual .new-area .lick-area .lick-col p a:hover .arrow{
		transform:translateX(5px);
	}
}
@media screen and (max-width:1500px) {
	body.home .mv-txt{
		left:15%;
	}
	body.home .mv-txt .mv_style{
		font-size: 2.75rem;
	}
}
@media screen and (max-width:1050px) {
	body.home .mv-txt{
		left:10%;
	}
	body.home .mv-txt .mv_style{
		font-size:2rem;
	}
}
@media screen and (max-width:767px) {
	.mv_bg_slider .slick-slide img.display_pc{
		display:none;
	}
	.mv_bg_slider .slick-slide img.display_sp{
		display:block;
	}
	body.home .visual .new-area label{
		background-color:#7b7137;
	}
	body.home .visual .new-area .tit-area{
		font-size: 0.82rem;
		width:90px;
		height:90px;
		pointer-events: auto;
		border-radius:5px;
	}
	body.home .visual .new-area .lick-area{
		display:none;
	}
	body.home .visual .new-area{
		right: 2%;
		bottom: 2%;
	}
	body.home .mv-txt{
		left:15px;
		top:auto;
		top: 18%;
		margin:auto;
	}
	body.home .mv-txt .mv_style{
		font-size: 2.21rem;
		margin-bottom: 0;
		letter-spacing: 0;
		line-height: 1.25;
	}
}

/*aside-request*/
body.home .aside-request{
	position:fixed;
	right:0;
	top: 360px;
	z-index:50;
}
body.home .aside-request a{
	background:#912d37;
	aspect-ratio:32/95;
	width:64px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	gap:0.5em;
	color:#fff;
	border:1px solid #fff;
	border-right:none;
	transition: .5s color,.5s background-color;
	font-size:1.125rem;
	border: 1px solid;
	border-right: none;
}
body.home .aside-request a svg{
	transition:.5s fill;
}
body.home .aside-request a em{
	writing-mode: vertical-rl;
	display:block;
	letter-spacing:0.1em;
}
body .aside-vacant{
	position:fixed;
	right: -352px;
	top: 550px;
	z-index:50;
	display: flex;
	justify-content: flex-end;
	align-items: stretch;
	transition:.5s right;
}
body .aside-vacant input{
	opacity:0;
	position:absolute;
}
body .aside-vacant:has(input:checked){
	right:0;
}
body .aside-vacant .vacant-tit{
	background:#24305c;
	width:64px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	gap:0.5em;
	color:#fff;
	border:1px solid #fff;
	border-right:none;
	transition: .5s color,.5s background-color;
	font-size:1.125rem;
	position:relative;
	height: auto;
	border: 1px solid;
	border-right: none;
	text-decoration: none;
}
body .aside-vacant .vacant-tit svg{
	transition:.5s fill;
}
body .aside-vacant .vacant-tit i{
	position:relative;
	width: 22px;
	height: 7px;
	transform:rotateY(180deg);
	transition:.5s transform;
	margin: 0;
}
body .aside-vacant input:checked ~ label i{
	transform:rotateY(0deg);
}
body .aside-vacant .vacant-tit i:before,
body .aside-vacant .vacant-tit i:after{
	content: "";
	position: absolute;
	bottom:0;
	right: 0;
	left:0;
	margin:auto;
	width: 7px;
	height: 1px;
	background-color: #fff;
	transform-origin: calc(100% - 0.5px) 50%;
}
body .aside-vacant .vacant-tit i:before{
	transform: rotate(45deg);
}
body .aside-vacant .vacant-tit i:after{
	transform: rotate(-45deg);
}
body .aside-vacant .vacant-tit em{
	writing-mode: vertical-rl;
	display:block;
	letter-spacing:0.1em;
}
body .aside-vacant .vacant-info{
	background:#fff;
	padding: 20px 15px;
	top: 0;
	position: relative;
	z-index: 11;
}
body .aside-vacant .vacant-info .vacant-sp-tit{
	display:none;
}
body .aside-vacant .vacant-txt{
	font-size:0.875rem;
	margin-bottom:0.5em;
}
body .aside-vacant .vacant-txt a{
	text-decoration:underline;
	text-underline-offset:5px;
}
body .aside-vacant .vacant-time{
	position:relative;
	margin-bottom:1.5em;
}
body .aside-vacant .vacant-time p{
	display:block;
	max-width:max-content;
	margin:0 auto 1em;
	background:#f0eeea;
	color:#888888;
	border-radius:5px;
	font-size:0.875rem;
	padding:0.25em 1em;
}
body .aside-vacant .vacant-time p time{
	margin-right:0.5em;
	display:inline-block;
}
body .aside-vacant .vacant-list{
	position:relative;
	padding:0;
	margin:0;
}
body .aside-vacant .vacant-item{
	position:relative;
}
body .aside-vacant .vacant-item + .vacant-item{
	margin-top: 0.5em;
	border-top:1px solid #c6c6c6;
	padding-top: 0.375em;
}
body .aside-vacant .vacant-item .vacant-col{
	display:flex;
	justify-content:center;
	align-items:stretch;
	flex-wrap:wrap;
	gap:3em;
}
body .aside-vacant .vacant-item .vacant-col .list-floor{
	display:block;
	text-align:left;
	width: 20%;
}
body .aside-vacant .vacant-item .vacant-col p{
	display:block;
	text-align:left;
	width:25%;
}
body .aside-vacant .slightly-floors{
	color:#912d37;
}
body .aside-vacant .no-floors{
	color:#aaaaaa;
}
body .aside-vacant .vacant-table{
	width:275px;
	margin-inline:auto;
}
body .aside-vacant .vacant-table,
body .aside-vacant .vacant-table th,
body .aside-vacant .vacant-table td{
	border:none;
	font-weight:600;
	padding-inline:0;
	font-size:inherit;
}
body .aside-vacant .vacant-table :is(th,td){
	border-bottom:solid #c6c6c6 1px;	
}
body .aside-vacant .vacant-table thead th,
body .aside-vacant .vacant-table td{
	text-align:center;
}
body .aside-vacant .vacant-table caption{
	caption-side: bottom;
	text-align:left;
	margin-top:0.75em;
}
body .aside-vacant .vacant-table caption span ~ span{
	margin-left:0.25em;
}
@media (hover: hover) {
	body.home .aside-request a:hover{
		background:#fff;
		color:#912d37;
		text-decoration:none;
	}
	body.home .aside-request a:hover span svg{
		fill:#912d37;
	}
	body .aside-vacant label:hover{
		background:#fff;
		color:#24305c;
		text-decoration:none;
	}
	body .aside-vacant label:hover span svg{
		fill:#24305c;
	}
	body .aside-vacant label:hover i:before,
	body .aside-vacant label:hover i:after{
		background-color: #24305c;
	}
	body .aside-vacant .vacant-txt a{
		text-decoration:none;
	}
}
@media screen and (max-width:1700px) {
	body.home .aside-request{
		display:none;
	}
}
@media screen and (max-width:767px) {
	body .aside-vacant{
		top:0;
		right: 0;
		display: block;
		width: 100%;
		height: auto;
		z-index: 100;
		height: 60px;
	}
	body .aside-vacant .vacant-tit{
		position: absolute;
		top: 0;
		right: 60px;
		z-index: 10;
		width:60px;
		border:none;
		font-size:1.125rem;
		aspect-ratio: 1/1;
		gap: 0;
	}
	body .aside-vacant .vacant-tit svg{
		max-width:100%;
		height:auto;
	}
	body .aside-vacant .vacant-tit em{
		writing-mode:horizontal-tb;
		font-size:0.86rem;
	}
	body .aside-vacant .vacant-tit i{
		display:none;
	}
	body .aside-vacant input:checked ~ .vacant-info{
		transform: translateY(60px);
	}
	body .aside-vacant .vacant-info{
		z-index: 11;
		width: 100%;
		transform: translateY(-100%);
		transition: .5s transform;
		display:flex;
		justify-content:space-between;
		align-items:stretch;
		flex-wrap:wrap;
		gap:2%;
	}
	body .aside-vacant .vacant-info .vacant-info-txt{
		width: 36%;
		display:flex;
		flex-direction:column;
	}
	body .aside-vacant .vacant-info .vacant-sp-tit{
		display:flex;
		justify-content:center;
		align-items:center;
		order:1;
		gap:4%;
		margin-bottom: 0.25em;
	}
	body .aside-vacant .vacant-info .vacant-sp-tit span{
		filter: brightness(0) saturate(100%) invert(20%) sepia(10%) saturate(2942%) hue-rotate(190deg) brightness(94%) contrast(100%);
	}
	body .aside-vacant .vacant-info .vacant-sp-tit em{
		font-size: 1.357rem;
		font-weight:600;
		color:#24305c;
	}
	body .aside-vacant .vacant-time{
		order:2;
		width:100%;
		margin-bottom: 0.75em;
	}
	body .aside-vacant .vacant-time p{
		max-width: 100%;
		margin: 0 auto;
		border-radius: 3px;
		font-size: 0.86rem;
	}
	body .aside-vacant .vacant-txt{
		order:3;
		text-align: left;
		font-size: 0.86rem;
		margin-bottom: 0;
	}
	body .aside-vacant .vacant-list{
		width: 51%;
	}
	body .aside-vacant .vacant-item .vacant-col{
		gap: 3%;
	}
	body .aside-vacant .vacant-item .vacant-col .list-floor{
		width: 40%;
	}
	body .aside-vacant .vacant-item .vacant-col p{
		display:block;
		text-align:left;
		width:50%;
		font-size: 1.14rem;
	}
	body .aside-vacant .vacant-table{
		width: 62%;
	}
	body .aside-vacant .vacant-table caption{
		font-size:0.875rem;
	}
	body .aside-vacant .vacant-table caption span ~ span{
		margin-left: 0.45em;
	}
}

/*link-area*/
.link-area-wrap{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	gap: 5px;
	position:relative;
	margin-bottom: 140px;
}
.link-area-wrap img{
	max-width:100%;
	height:auto;
}
.link-area{
	position:relative;
	width: 33%;
	display: flex;
}
.link-area a{
	position:relative;
	overflow:hidden;
}
.link-area  .link-image{
	width:100%;
}
.link-area picture{
	transition:.5s transform;
	display: block;
}
.link-area .link-txt{
	position:absolute;
	z-index:15;
	bottom:0;
	color:#fff;
	width: 84%;
	min-height: 112px;
	left:0;
	right:0;
	margin:auto;
	border-radius:14px 14px 0 0;
	padding:20px;
	display: flex;
	align-items: center;
}
.area-nursing a .link-txt{
	background:rgb(39 72 117/0.8);
}
.area-rehabilitation a .link-txt{
	background:rgb(176 164 96/0.8);
}
.area-meal a .link-txt{
	background:rgb(145 45 55/0.8);
}
.area-event a .link-txt{
	background:rgb(0 113 69/0.8);
}
.link-area a .link-txt .link-col{
	max-width:max-content;
	margin:0 auto;
	display:flex;
	justify-content:center;
	align-items:center;
	gap:1em;
}
.link-area a .link-txt .link-col em{
	font-size: min(1.75rem , 1.325vw);
	font-weight:bold;
	display:block;
	text-align: left;
	word-break: auto-phrase;
}
.link-area a .link-txt .link-col em span{
	font-size:1.25rem;
	font-weight:500;
	display: block;
}
@media (hover: hover) {
	.link-area a:hover picture{
		transform:scale(1.05);
	}
}
@media screen and (max-width:1200px) {
	.link-area a .link-txt .link-col em{
		font-size: min(1.75rem , 1.75vw);
		word-break: break-all;
	}
	.link-area a .link-txt .link-col em span{
		font-size:1rem;
	}
	.link-area .link-txt{
		padding:10px;
		min-height: 100px;
	}
}
@media screen and (max-width:767px) {
	.link-area-wrap{
		gap: 6px;
		margin-bottom: 60px;
		padding: 0 6px;
		flex-wrap:wrap;
	}
	.link-area{
		width: calc(50% - 3px);
		display: flex;
		justify-content: flex-start;
		align-items: stretch;
	}
	.link-area a{
		position:relative;
		overflow: visible;
		display: flex;
		justify-content: flex-start;
		align-items: stretch;
		text-decoration: none;
		width: 100%;
	}
	.link-area  .link-image{
	}
	.link-area picture{
		transition:.5s transform;
		display: block;
	}
	.link-area .link-txt{
		padding: 0 10px;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		position: absolute;
		inset: auto 0 0 0;
		width: 100%;
		height: 3.25em;
		min-height: 0;
		border-radius: 5px 5px 0 0;
	}
	.area-nursing a .link-txt span{
		width:42px;
		height:40px;
	}
	.area-medical a .link-txt span{
		width:41px;
		height:41px;
	}
	.area-nursing a .link-txt{
		background: rgb(39 72 117 / 0.8);
	}
	.area-rehabilitation a .link-txt{
		background:rgb(176 164 96/0.8);
	}
	.area-meal a .link-txt{
		background:rgb(145 45 55/0.8);
	}
	.area-event a .link-txt{
		background:rgb(0 113 69/0.8);
	}
	.area-rehabilitation a .link-txt span{
		width:38px;
		height:46px;
	}
	.link-area a .link-txt .link-col{
		max-width: 100%;
		width: fit-content;
		margin: 0;
		display:flex;
		justify-content: center;
		align-items: center;
		gap: 5px;
		margin: 0 auto;
	}
	.link-area a .link-txt .link-col span{
		display: block;
		width: 28px;
		display: flex;
		align-items: center;
		height: auto;
	}
	.link-area a .link-txt .link-col em{
		font-size: 1.14rem;
		width: 100%;
		text-align: center;
		height: fit-content;
		letter-spacing: -0.11em;
	}
	.link-area a .link-txt .link-col em span{
		font-size: 1rem;
		width: 100%;
		height: auto;
		display: none;
	}
}
@media screen and (max-width:350px) {
	.link-area .link-txt{
		padding: 10px;
	}
	.link-area a .link-txt .link-col em{
		font-size: 1.25rem;
	}
	.link-area a .link-txt .link-col em span{
		font-size:0.86rem;
	}
}

/*features*/
body.home .features{
	position:relative;
	padding-bottom: 540px;
	background: url(../img/top/bg-fearures.png) no-repeat bottom center / auto;
}
body.home .features img{
	max-width:100%;
	height:auto;
}
body.home .features .features_txt{
	/* max-width:560px; */
	/* margin-left: 0; */
	text-align: center;
}
body.home .features .features_txt .top_style span{
	padding-left: 0;
}
body.home .features .features_txt .top_style span::before{
	content: none;
}
body.home .features .features_txt p{
	line-height:2.5;
	font-size: 1.125rem;
}
body.home .features .features_image .features_img01{
	position:absolute;
	left: 6%;
	top: -5%;
	width: 41%;
}
body.home .features .features_image .features_img01 picture{
	box-shadow: 0 0 19px rgba(0,0,0,0.2);
	position: relative;
	display: flex;
}
body.home .features .features_image .features_img01:before{
	content:"";
	background:#c2b984;
	inset:0;
	margin:auto;
	transform: translate(-15%,12%);
	position:absolute;
	z-index: 0;
}
body.home .features .features_image .features_img02{
	position:absolute;
	right: 6%;
	top: -12%;
	width: 15.5%;
}
body.home .features .features_image .item{
	position: absolute;
	margin: auto;
	z-index: 0;
	inset: 0;
}
body.home .features .features_image .item01,
body.home .features .features_image .item02{
	filter: drop-shadow(3px 5px 10px rgba(0, 0, 0, 0.2));
}
body.home .features .features_image .item01{
	inset: 26% auto auto 0;
	width: 23%;
	z-index: 0;
}
body.home .features .features_image .item02{
	inset: 60% auto auto 30%;
}
body.home .features .features_image .item03{
	inset: -6% auto auto 0;
}
body.home .features .features_image .item04{
	inset: -6% 0 auto auto;
	z-index: 0;
}
body.home .features .features_image .item05{
	inset: 60% 20% auto auto;
}

@media screen and (max-width:1150px) {
	body.home .features .features_image .item01{
		inset: 20% auto auto 0;
	}
	body.home .features .features_image .item02{
		inset: 56% auto auto 20%;
		width: 26%;
	}
	body.home .features .features_image .item03{
		width: 30%;
	}
	body.home .features .features_image .item04{
		width: 30%;
	}
	body.home .features .features_image .item05{
		inset: 60% 10% auto auto;
		width: 16%;
	}
}
@media screen and (max-width:767px) {
	body.home .features{
		padding-bottom: 70px;
		background-position: top;
	}
	body.home .features .features_txt{
		max-width:100%;
		margin-left:auto;
		width: 100%;
	}
	body.home .features .features_txt p{
		line-height: 2;
		text-align: left;
	}
	body.home .features .features_image .features_img01{
		position: relative;
		left: 0;
		top:0;
		width: 50%;
	}
	body.home .features .features_image{
		display:flex;
		justify-content:center;
		align-items:center;
		margin-top: 3em;
	}
	body.home .features .features_image .item01{
		position: relative;
		z-index: 1;
		inset: unset;
		width: 40%;
	}
	body.home .features .features_image .item02{
		position: relative;
		inset: unset;
		margin-top: 3em;
		width: 36%;
	}
	body.home .features .features_image .item03{
		inset: 0 auto auto 0;
	}
	body.home .features .features_image .item04{
		inset: 0 0 auto auto;
	}
	body.home .features .features_image .item05{
		inset: auto 10% 0 auto;
		width: 16%;
	}
}

/*se-ma_bg*/
body.home .se-ma_bg{
	position:relative;
	z-index:20;
	padding-bottom: 230px;
	margin-top: -100px;
	background: #f3f3f2;
}
body.home .se-ma_bg .bg_text{
	position: absolute;
	z-index: -1;
	margin: auto;
	height: fit-content;
	inset: auto 0 -80px auto;
}
@media screen and (max-width:1200px) {
	body.home .se-ma_bg .bg_text{
		inset: auto 0 -40px auto;
	}
	body.home .se-ma_bg .bg_text img{
		width: 700px;
	}
}


@media screen and (max-width:767px) {
	body.home .se-ma_bg:before{
		width: 140%;
		height:190px;
		top: -43px;
		left:50%;
		transform:translateX(-50%)
	}
	body.home .se-ma_bg{
		padding-bottom:100px;
		margin-top: 0;
		background-size: contain;
		background-position: center bottom;
	}
	body.home .se-ma_bg .bg_text{
		inset: auto 0 -17px auto;
	}
	body.home .se-ma_bg .bg_text img{
		width: 300px;
	}
}

/*se-ma_bg*/
@media (hover: hover) {
	.link-area a:hover picture{
		transform:scale(1.05);
	}
}

/*service*/
body.home .service{
	position:relative;
	z-index:5;
	margin-bottom: 170px;
}
body.home .service .top_style span{
	padding-left:0;
}
body.home .service .top_style span:before{
	display:none;
}
body.home .service .service-wrap{
	position:relative;
	max-width:1700px;
	margin:0 auto;
}
body.home .service .service-list{
	display:flex;
	justify-content:center;
	align-items:stretch;
	flex-wrap:wrap;
	gap: 1%;
	padding: 0;
}
body.home .service .service-item{
	width: 19%;
	max-width:324px;
	list-style:none;
}
body.home .service .service-item a{
	background:#fff;
	display:block;
	transition:.5s transform;
	overflow: hidden;
}
body.home .service .service-item img{
	max-width:100%;
	height:auto;
}
body.home .service .service-item a .service-txt{
	padding-block:60px;
	position: relative;
	border-bottom: 3px solid var(--border-color);
}
body.home .service .service-item a .service-txt .number{
	font-size:3.875rem;
	font-weight:500;
	line-height:1;
	margin-bottom:0.25em;
	display:block;
	color:var(--font-color);
}
body.home .service .service-item a .service-txt p{
	font-size:1.125rem;
	font-weight: bold;
}
body.home .service .service-item a .service-txt i{
	position:absolute;
	right: -62px;
	bottom: -62px;
	background:var(--bg-color);
	width:128px;
	height:128px;
	border-radius: 50%;
}
body.home .service .service-item a .service-txt i img{
	position:absolute;
	top: 40px;
	left: 25px;
	transition:.5s transform;
}
body.home .service .service-item:nth-child(odd){
	--border-color:#274875;
	--font-color:#274875;
	--bg-color:#274875;
}
body.home .service .service-item:nth-child(even){
	--border-color:#c2b984;
	--font-color:#c2b984;
	--bg-color:#c2b984;
}
@media (hover: hover) {
	body.home .service .service-item a:hover{
		text-decoration:none;
		transform:translateY(5px);
	}
	body.home .service .service-item a:hover .service-txt i img{
		transform:translateX(80px);
	}
}
@media screen and (max-width:1200px) {
	body.home .service .service-item a .service-txt{
		padding-block:30px 60px;
	}
	body.home .service .service-item a .service-txt p{
		font-size:1rem;
	}
}
@media screen and (max-width:768px) {
	body.home .service{
		margin-bottom:50px;
	}
	body.home .service .service-wrap{
		padding:0 15px;
	}
	body.home .service .service-list{
		gap:1em;
	}
	body.home .service .service-item{
		width:100%;
		max-width: 100%;
	}
	body.home .service .service-item a{
		display:flex;
		justify-content:flex-start;
		align-items:stretch;
		text-decoration:none;
		width: 100%;
	}
	body.home .service .service-item a .service-img{
		width:150px;
	}
	body.home .service .service-item a .service-txt{
		padding:20px 20px;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap: 1em;
		width: calc(100% - 150px);
	}
	body.home .service .service-item a .service-txt .number{
		font-size: 2.42rem;
	}
	body.home .service .service-item a .service-txt p{
		font-size: 1.14rem;
		text-align: left;
	}
	body.home .service .service-item a .service-txt i{
		right: -47px;
		bottom: -47px;
		width: 94px;
		height: 94px;
	}
	body.home .service .service-item a .service-txt i img{
		top: 28px;
		left: 19px;
		width: 16px;
		height: 3px;
	}
}

/*message*/
body.home .message{
	position:relative;
	z-index:5;
}
body.home .message_inner{
	display: flex;
	gap: 5%;
}
body.home .message .sitewrap{
	overflow:visible;
}
body.home .message .message_txt{
	width: 48%;
}
body.home .message .message_txt .top_style02{
	color: #274875;
	word-break: auto-phrase;
}
body.home .message .message_txt p{
	line-height:2.25;
}
body.home .message .message_txt .message_txt{
	font-size:1.125rem;
	font-weight:500;
	line-height:1.5;
	margin-top:1em;
}
body.home .message .message_image{
	width: 50%;
}
body.home .message .message_image p{
	font-size: 1.25rem;
	line-height: 2;
	margin-bottom: 3em;
}
body.home .message .message_image .common_btn a,
body.home .facilities .common_btn a{
	height:5em;
	color:#fff;
	background:#274875;
	border-color:#274875;
}
body.home .message .message_image .common_btn a:after,
body.home .facilities .common_btn a:after{
	filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(34deg) brightness(103%) contrast(103%);
}
@media (hover: hover) {
	body.home .message .message_image .common_btn a:hover,
	body.home .facilities .common_btn a:hover{
		color:#274875;
		background:#fff;
	}
	body.home .message .message_image .common_btn a:hover:after,
	body.home .facilities .common_btn a:hover:after{
		filter: brightness(0) saturate(100%) invert(22%) sepia(7%) saturate(6929%) hue-rotate(179deg) brightness(99%) contrast(84%);
	}
}
@media screen and (max-width:1200px) {

	body.home .message .message_image .message_img02{
		left: -22%;
		width: 100%;
	}
}
@media screen and (max-width:768px) {
	body.home .message_inner{
		flex-direction: column;
	}
	body.home .message .message_txt .message_txt{
		font-size:1rem;
	}
	body.home .message .message_image{
		width: 100%;
	}
	body.home .message .message_image p{
		font-size: 1rem;
		line-height: 1.6;
		margin-bottom: 2em;
	}
	body.home .message .message_image .common_btn{
		width: 200px;
	}
	body.home .message .message_txt{
		max-width:100%;
		width:100%;
	}
}

/*facilities*/
body.home .facilities{
	position:relative;
	z-index:5;
	padding-block: 100px 80px;
}
body.home .facilities .top_style{
	text-align: left;
}
body.home .facilities .common_btn{
	position:absolute;
	right:6%;
	top:13%;
	width:340px;
}
body.home .facilities .top_style span{
	padding-left: 0;
}
body.home .facilities .top_style span::before{
	content: none;
}
body.home .facilities .facilities_wrap{
	max-width:1690px;
	margin:0 auto;
	text-align: left;
}
body.home .slick-dots{
	margin:1em 0;
}
body.home .slick-dots li{
	margin:0 .5em;
}
body.home .slick-arrow{
	width:62px;
	height:62px;
	background:#274875;
	top: 0;
	bottom: 0;
	margin: auto;
	cursor: pointer;
	border:1px solid;
	transition:.5s background-color;
}
body.home .slick-arrow:before{
	display:none;
}
body.home .slick-arrow:after{
	content:"";
	width:21px;
	height:5px;
	background:url(../img/common/icon-arrow.svg);
	position:absolute;
	inset:0;
	margin:auto;
	filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(6119%) hue-rotate(172deg) brightness(121%) contrast(94%);
}
body.home .prev-arrow{
	transform: rotateY(180deg) translate(0);
	left: -2%;
}
body.home .next-arrow{
	transform: translate(0);
	right:0;
}
body.home .slick-disabled{
	display:none !important;
}
body.home .facilities .facilities_item{
	max-width: 556px;
	margin-right: 1em;
}
body.home .facilities .facilities_image{
	margin-bottom:1em;
}
body.home .facilities .facilities_image img{
	max-width:100%;
	height:auto;
}
body.home .facilities .facilities_txt{
	text-align:left;
	font-size: 1.125rem;
	line-height: 1.875;
}
@media (hover: hover) {
	body.home .slick-arrow:hover{
		background-color:#ffffff;
	}
	body.home .slick-arrow:hover:after{
		filter: brightness(0) saturate(100%) invert(24%) sepia(29%) saturate(1014%) hue-rotate(182deg) brightness(94%) contrast(88%);
	}
}
@media screen and (max-width:1750px) {
	body.home  .facilities .facilities_wrap{
		padding:0 15px;
	}
	body.home .prev-arrow{
		left: -10px;
	}
}
@media screen and (max-width:1200px) {
	body.home .slick-arrow{
		width:50px;
		height:50px;
		background:#274875;
		top: 30%;
		bottom: auto;
	}
}



@media screen and (max-width:768px) {
	body.home .facilities{
		padding-block: 60px 0;
		margin-bottom:70px;
	}
	body.home .facilities .top_style{
		padding:0 15px;
	}
	body.home .slick-arrow{
		width:40px;
		height:40px;
	}
	body.home .slick-arrow:after{
		width:15px;
		height:4px;
	}
	body.home .prev-arrow{
		transform: rotateY(180deg) translate(0);
		left:5px;
	}
	body.home .facilities .slick-list{
		overflow:visible;
	}
	body.home .facilities .facilities_item{
		margin: 0px 15px;
	}
	body.home .facilities .facilities_image{
		margin-bottom:1em;
	}
	body.home .facilities .facilities_image img{
		max-width:100%;
		height:auto;
	}
	body.home .facilities .facilities_txt{
		text-align:left;
		font-size:0.875rem;
	}
	body.home .facilities .common_btn{
		position:relative;
		right:0;
		top:0%;
		width:80%;
		margin: 2.5em auto 0;
	}
}

/*post-series*/
body.home .post-series{
	position:relative;
	padding-block: 100px 120px;
	background: #f8f7f2;
}
body.home .post-series .post-series-col{
	position:relative;
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	flex-wrap:wrap;
	gap:2%;
}
body.home .post-series .post-series-col .news_area,
body.home .post-series .post-series-col .blog_area{
	flex-basis:48%;
}
body.home .post-series .post_col{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:2em;
	margin-bottom:2em;
}
body.home .post-series .post_col .top_style{
	margin-bottom:0;
}
body.home .post-series .post_col .common_btn{
	width:220px;
}
body.home .post-series .post_col .common_btn a{
	font-weight:bold;
}
body.home .blog_area .topics_list li a{
	min-height:154px;
}
body.home .blog_area .topics_list{
	border-top:none;
}
body.home .blog_area .topics_list li:first-child a{
	padding-top:0;
	border-top:none;
	min-height:134px;
}
@media screen and (max-width:768px) {
	body.home .post-series .post-series-col{
		gap:4em;
	}
	body.home .post-series .post-series-col .news_area,
	body.home .post-series .post-series-col .blog_area{
		flex-basis:100%;
	}
	body.home .post-series .post_col .common_btn{
		width:132px;
	}
	body.home .blog_area .topics_list li a{
		min-height:115px;
	}
	body.home .blog_area .topics_list li a{
		min-height:105px;
	}
	body.home .blog_area .topics_list li:first-child a{
		padding-top:0;
		border-top:none;
		min-height:85px;
	}
}

/*voice*/
body.home .voice{
	position:relative;
	margin-bottom:150px;
}
body.home .voice .top_style{
	text-align:center;
}
body.home .voice .top_style span{
	padding-left:0;
}
body.home .voice .top_style span:before{
	display:none;
}
body.home .voice .voice_inner > p{
	text-align:center;
}
body.home .voice .voice_col{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	flex-wrap:wrap;
	gap: 0.5%;
	margin-top: 3em;
}
body.home .voice .voice_col .voice_item{
	width: 32%;
	background: #f0eeea;
	padding: 35px 25px;
}
body.home .voice .voice_col .voice_item .voice_item_col{
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	gap:1.5em 3%
}
body.home .voice .voice_col .voice_item .voice_item_col .voice_image{
	width:100px;
}
body.home .voice .voice_col .voice_item .voice_item_col .voice_tit{
	width:calc(100% - 130px);
}
body.home .voice .voice_col .voice_item .voice_item_col .voice_tit .voice_style{
	font-size:1.25rem;
	font-weight:500;
}
body.home .voice .voice_col .voice_item .voice_item_col .voice_txt{
	width:100%;
	line-height:2;
}
@media screen and (max-width:1200px) {
	body.home .voice .voice_col .voice_item .voice_item_col .voice_tit .voice_style{
		font-size:1rem;
	}
	body.home .voice .voice_col .voice_item .voice_item_col .voice_tit .voice_style .display_pc{
		display:none;
	}
	body.home .voice .voice_col .voice_item .voice_item_col .voice_txt{
		font-size:0.875rem;
	}
	body.home .voice .voice_col .voice_item .voice_item_col{
		gap:3em 1%;
	}
	body.home .voice .voice_col .voice_item{
		padding:35px 15px;
	}
}
@media screen and (max-width:768px) {
	body.home .voice{
		margin-bottom:50px;
	}
	body.home .voice .voice_inner > p{
		text-align:center;
		font-size: 1.14rem;
		line-height: 1.6;
	}
	body.home .voice .voice_col{
		gap:1.5em;
		margin-top: 3em;
	}
	body.home .voice .voice_col .voice_item{
		width:100%;
		padding:20px 25px;
	}
	body.home .voice .voice_col .voice_item .voice_item_col{
		gap:1em 15px;
	}
	body.home .voice .voice_col .voice_item .voice_item_col .voice_image{
		width: 90px;
	}
	body.home .voice .voice_col .voice_item .voice_item_col .voice_image img{
		max-width:100%;
		height:auto;
	}
	body.home .voice .voice_col .voice_item .voice_item_col .voice_tit{
		width:calc(100% - 105px);
	}
	body.home .voice .voice_col .voice_item .voice_item_col .voice_tit .voice_style{
		font-size:1.25rem;
		font-weight:500;
	}
	body.home .voice .voice_col .voice_item .voice_item_col .voice_txt{
		width:100%;
		line-height:2;
		font-size: 1rem;
	}
}

/*recruit*/
body.home .recruit{
	height:480px;
	background:url(../img/top/bg-recruit.jpg) no-repeat center / cover;
	margin-bottom: 0;
}
body.home .recruit .recruit_inner{
	display:flex;
	justify-content:center;
	align-items:flex-start;
	height: 480px;
	flex-direction:column;
}
body.home .recruit .top_style{
	color:#fff;
}
body.home .recruit .common_btn{
	width:340px;
}
body.home .recruit .common_btn a{
	height:5em;
	color:#fff;
}
body.home .recruit .common_btn a:after{
	filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(34deg) brightness(103%) contrast(103%);
}
@media screen and (max-width:768px) {
	body.home .recruit{
		height: 434px;
		background-image: url(../img/top/bg-recruit_sp.jpg);
	}
	body.home .recruit .recruit_inner{
		height: 434px;
		justify-content: flex-start;
		padding-top: 60px;
	}
	body.home .recruit .common_btn{
		width: 200px;
	}
	body.home .recruit .common_btn a{
		height: 4.286em;
		font-size: 1rem;
	}
}

/*group*/
body.home .group{
	position:relative;
	margin-bottom:80px;
}
body.home .group .group_col{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	flex-wrap:wrap;
	gap:2%;
}
body.home .group .group_col .group_item{
	width:48%;
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:3%;
}
body.home .group .group_col .group_item:first-child{
	border-right: 1px solid #c9c9c9;
}
body.home .group .group_col .group_item .group_image{
	width: 55%;
}
body.home .group .group_col .group_item .group_image img{
	max-width:100%;
	height:auto;
}
body.home .group .group_col .group_item .group_txt{
	width:44%;
}
body.home .group .group_col .group_item .group_txt .group_style{
	font-size:1.625rem;
	font-weight:bold;
	margin-bottom:0.25em;
}
body.home .group .group_col .group_item .group_txt .cormorant{
	font-size: 1.25rem;
	font-weight:500;
	color:#4d4d4d;
	margin-bottom:1em;
}
body.home .group .group_col .group_item .group_txt p a{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 0.5em;
	font-size: 1rem;
	font-weight:bold;
}
body.home .group .group_col .group_item .group_txt p a .arrow{
	position: relative;
	background: url(../img/common/icon-arrow.svg);
	width: 21px;
	height: 5px;
	display: block;
	filter: brightness(0) saturate(100%) invert(14%) sepia(16%) saturate(23%) hue-rotate(359deg) brightness(96%) contrast(95%);
	transition:.5s transform;
	background-repeat: no-repeat;
}
@media (hover: hover) {
	body.home .group .group_col .group_item .group_txt p a:hover{
		text-decoration:underline;
		text-underline-offset:5px;
	}
	body.home .group .group_col .group_item .group_txt p a:hover .arrow{
		transform:translateX(5px);
	}
}
@media screen and (max-width:768px) {
	body.home .group{
		margin-bottom: 60px;
	}
	body.home .group .group_col{
		gap:2em;
	}
	body.home .group .group_col .group_item{
		width:100%;
		gap:5%;
	}
	body.home .group .group_col .group_item .group_txt .group_style{
		font-size:1.357rem;
	}
	body.home .group .group_col .group_item .group_txt .cormorant{
		font-size:0.94rem;
	}
	body.home .group .group_col .group_item .group_txt p a{
		gap: 0.5em;
		font-size: 1rem;
		text-decoration: none;
	}
	body.home .group .group_col .group_item:first-child{
		border-right:none;
	}
}

/*contact*/
body.home .contact{
	position:relative;
	background:url(../img/top/bg-contact.jpg) no-repeat center / cover;
	padding-block:100px;
	margin-bottom: 80px;
}
body.home .contact .contact_box{
	background:#fff;
	padding: 65px 30px 85px;
	text-align:center;
}
body.home .contact .top_style span{
	padding:0;
}
body.home .contact .top_style span:before{
	display:none;
}
body.home .contact .top_style ~ p{
	font-weight:500;
	line-height:1.875;
	font-size: 1.125rem;
}
body.home .contact .contact_col{
	position:relative;
	display:flex;
	justify-content:center;
	align-items:center;
	gap: 5.5%;
	max-width: 830px;
	margin: 2.5em auto 0;
}
body.home .contact .contact_col .contact-tel{
	width: 55%;
}
body.home .contact .contact_col .contact-tel a{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:2%;
	pointer-events: none;
	margin-bottom: 0.25em;
}
body.home .contact .contact_col .contact-tel a p{
	font-size:3.5rem;
	font-weight:bold;
	color:#274875;
	line-height: 1;
}
body.home .contact .contact_col .contact-tel a span{
	display:block;
	height:100%;
	display:flex;
	justify-content:center;
	align-items:center;
}
body.home .contact .contact_col .common_btn{
	width:48%;
}
body.home .contact .contact_col .contact-tel p{
	font-weight:600;
	font-size: 1.125rem;
}
body.home .contact .contact_col .common_btn a{
	height:5em;
	color:#fff;
	background:#274875;
	border-color:#274875;
}
body.home .contact .contact_col .common_btn a:after{
	filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(34deg) brightness(103%) contrast(103%);
}
@media (hover: hover) {
	body.home .contact .contact_col .common_btn a:hover{
		color:#274875;
		background:#fff;
	}
	body.home .contact .contact_col .common_btn a:hover:after{
		filter: brightness(0) saturate(100%) invert(22%) sepia(7%) saturate(6929%) hue-rotate(179deg) brightness(99%) contrast(84%);
	}
}
@media screen and (max-width:1200px) {
	body.home .contact .contact_col{
		gap:2em;
		flex-wrap:wrap;
	}
	body.home .contact .contact_col .contact-tel{
		width:100%;
	}
	body.home .contact .contact_col .common_btn{
		width:100%;
	}
	body.home .contact .contact_col .common_btn a{
		margin:0 auto;
	}
}
@media screen and (max-width:768px) {
	body.home .contact{
		padding-block: 55px;
		background-image: url(../img/top/bg-contact_sp.jpg);
		margin-bottom: 60px;
	}
	body.home .contact .contact_box{
		background:#fff;
		padding: 40px 15px;
		text-align:center;
	}
	body.home .contact .top_style span{
		padding:0;
	}
	body.home .contact .top_style span:before{
		display:none;
	}
	body.home .contact .contact_col{
		gap:5%;
		margin: auto;
	}
	body.home .contact .contact_col .contact-tel{
		width: 100%;
		margin-top: 2em;
	}
	body.home .contact .contact_col .contact-tel a{
		gap:2%;
		pointer-events: auto;
		width: 100%;
		margin-bottom: 0.75em;
		text-decoration: none;
	}
	body.home .contact .contact_col .contact-tel a p{
		font-size: 2.64rem;
	}
	body.home .contact .contact_col .contact-tel a span{
		width: 22px;
		height: 22px;
	}
	body.home .contact .contact_col .contact-tel a span img{
		max-width:100%;
		height:auto;
	}
	body.home .contact .contact_col .common_btn{
		width: 240px;
		margin-top: 2em;
	}
	body.home .contact .contact_col .common_btn a{
		height: 4.286em;
		font-size: 1rem;
	}
}
/*foot_sns*/
body.home .foot_sns{
	background: #f3f3f2;
	padding-block: 70px;
}
body.home .foot_sns_inner{
	display: flex;
	gap: 1em 5%;
	align-items: center;
}
body.home .foot_sns .top_style{
	min-width: 220px;
	margin-bottom: 0.5em;
}
body.home .foot_sns .top_style span {
	padding-left: 0;
}
body.home .foot_sns .top_style span::before{
	content: none;
}
body.home .foot_sns .btn_area {
	width: calc((100% - 5%) - 200px);
	display: flex;
	flex-wrap: wrap;
	gap: 1em 3%;
}
body.home .foot_sns .btn_area .common_btn {
	width:calc((100% - 6%) / 3) ;
	min-width: 270px;
}
body.home .foot_sns .btn_area .common_btn a {
	height: 80px;
	font-size: 1.125rem;
	font-weight: 600;
	background: #fff;
	padding-inline: 1.5em;
	text-align: left;
}
body.home .foot_sns .btn_area .common_btn a b {
	font-size: 1rem;
}
body.home .foot_sns .btn_area .common_btn a img {
	margin-right: 0.5em;
	display: inline-block;
	transition: all 0.3s;
}
@media (any-hover: hover) {
	body.home .foot_sns .btn_area .common_btn a:hover{
		background: #282828;
	}
	body.home .foot_sns .btn_area .common_btn a:hover img {
		filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7493%) hue-rotate(336deg) brightness(105%) contrast(100%);
	}
}
@media screen and (max-width:768px) {
	body.home .foot_sns{
		padding-block: 40px 60px;
	}
	body.home .foot_sns_inner{
		flex-direction: column;
	}
	body.home .foot_sns .top_style{
		text-align: center;
	}
	body.home .foot_sns .btn_area {
		width: 100%;
		align-items: center;
		flex-direction: column;
	}
	body.home .foot_sns .btn_area .common_btn {
		width: 260px;
		min-width: 260px;
	}
	body.home .foot_sns .btn_area .common_btn a {
		height: 60px;
		font-size: 1.125rem;
	}
	body.home .foot_sns .btn_area .common_btn a b {
		font-size: 0.875rem;
	}
	body.home .foot_sns .btn_area .common_btn a img {
		max-width: 30px;
		height: auto;
	}
}



/* footer
-------------------------------------------------------------------*/
#top_link{
	position:relative;
	z-index: 990;
}
#pageTop {
	position: fixed;
	bottom: 35px;
	right: 5%;
	z-index: 500;
	transition: transform .4s;
	writing-mode: vertical-lr;
	text-decoration: none;
}
#pageTop .pageTop-col{
	display:flex;
	justify-content:center;
	align-content:center;
	gap:1.15em;
	font-size: 1.25rem;
	font-weight: 500;
}
#pageTop span{
	filter: brightness(0) saturate(100%) invert(22%) sepia(7%) saturate(6929%) hue-rotate(179deg) brightness(99%) contrast(84%);
	transform: rotateX(180deg) rotate(90deg);
	display: block;
}
footer{
	padding: 100px 0;
}
footer .foot_top{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	flex-wrap:wrap;
	gap: 2em;
	margin-bottom: 5em;
}
footer .foot_top .foot_top-left{
	position:relative;
}
footer .foot_top .foot_top-left a{
	display:block;
	transition:0.5s opacity;
}
footer .foot_top .foot_top-right{
	position:relative;
	width: 63%;
}
footer .foot_top .foot_top-right ul{
	display:flex;
	justify-content:flex-start;
	align-items:stretch;
	flex-wrap:wrap;
	gap:2em;
	padding: 0;
	margin: 0;
}
footer .foot_top .foot_top-right ul li{
	flex-basis: 21%;
	margin: 0;
}
footer .foot_top .foot_top-right ul li .foot_item1,
footer .foot_top .foot_top-right ul li .foot_item2{
	position:relative;
	font-size:1rem;
	line-height: 1;
}
footer .foot_top .foot_top-right ul li a{
	display:block;
}
footer .foot_top .foot_top-right ul li a span{
	position:relative;
	display:inline-block;
}
footer .foot_top .foot_top-right ul li a span:after{
	content:"";
	width: 100%;
	height: 1px;
	position:absolute;
	bottom:-5px;
	left:0;
	background: #1b284f;
	right: 0;
	transform: scale(0,1);
	transform-origin: right top;
	transition: transform .3s;
}
footer .foot_top .foot_top-right ul li .foot_item2 a{
	padding-left:0.75em;
	position:relative;
}
footer .foot_top .foot_top-right ul li .foot_item2 a:before{
	content:"";
	width:5px;
	height:1px;
	background:#282828;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto;
}
footer .foot_top .foot_top-right ul li div + div{
	margin-top: 0.75em;
}
footer .foot_top .foot_top-right ul li .foot_item1 + .foot_item1,
footer .foot_top .foot_top-right ul li .foot_item2 + .foot_item1{
	margin-top:1.875em;
}
footer .foot_bottom{
	position:relative;
	display:flex;
	justify-content:space-between;
	align-items:center;
	color:#282828;
	font-size: 0.875rem;
	font-weight: bold;
	flex-wrap: wrap;
	gap: 2em;
}
footer .foot_bottom .foot_bottom-left{
	display:flex;
	justify-content:flex-start;
	align-items:center;
	padding: 0;
	margin: 0;
}
footer .foot_bottom .foot_bottom-left li{
	margin:0;
}
footer .foot_bottom .foot_bottom-left li a{
	display:block;
	padding:0.125em 1em;
}
footer .foot_bottom .foot_bottom-left li a span{
	position:relative;
	display:inline-block;
}
footer .foot_bottom .foot_bottom-left li a span:after{
	content:"";
	width: 100%;
	height: 1px;
	position:absolute;
	bottom: -2px;
	left:0;
	background: #1b284f;
	right: 0;
	transform: scale(0,1);
	transform-origin: right top;
	transition: transform .3s;
}
footer .foot_bottom .foot_bottom-left li + li{
	border-left:1px solid;
}
main a.page_link {
	margin-top: -110px;
	padding-top: 110px;
	display: block;
	position:relative;
	z-index:-10;
}
@media (hover: hover) {
	footer .foot_top .foot_top-left a:hover{
		opacity:0.7;
	}
	footer .foot_top .foot_top-right ul li a{
		text-decoration:none;
	}
	footer .foot_top .foot_top-right ul li a:hover span:after{
		transform:scale(1,1);
		transform-origin:left top;
	}
	footer .foot_bottom .foot_bottom-left li a:hover span:after{
		transform:scale(1,1);
		transform-origin:left top;
	}
	#pageTop:hover{
		transform:translateY(5px);
	}
}

@media screen and (max-width:1200px) {
	footer .foot_top .foot_top-right{
		flex-basis:auto;
	}
	footer .foot_top .foot_top-right ul li{
		flex-basis: auto;
	}
}
@media screen and (max-width:1040px) {
	footer .foot_top .foot_top-right{
		flex-basis:100%;
	}
}
@media screen and (max-width:767px) {
	#pageTop {
	    right:10px;
	    bottom: 80px;
	}
	#pageTop span{
		width:16px;
		height:4px;
		margin: auto;
	}
	#pageTop span img{
		max-width:100%;
		height:auto;
	}
	#pageTop .pageTop-col{
		font-size: 1rem;
	}
	footer{
		padding: 40px 0 35px;
		margin-bottom: 60px;
	}
	footer .foot_top{
		justify-content:center;
		margin-bottom: 2em;
	}
	footer .foot_top .foot_top-left a img{
		max-width:100%;
		height:auto;
		max-height:34px;
	}
	footer .foot_top .foot_top-right,
	footer .foot_bottom .foot_bottom-left{
		display:none;
	}
	footer .foot_bottom{
		justify-content:center;
	}
	main a.page_link {
		margin-top: -60px;
		padding-top: 60px;
	}
}