@charset "UTF-8";

/* ---------------------------------------------------------
 *	Main visual
 *---------------------------------------------------------- */

#p-home #main {
	position: relative;
}

#p-home #main .inner {
	width: calc(100vw - 60px);
	height: calc(100vh - 114px);
	position: relative;
	z-index: 3;
	position: relative;
	margin-top: 114px;
	margin-right: 60px;
	display: flex;
	align-items: center;
}

#p-home #main h2 {
	width: 493px;
	margin-top: -263px;
	position: absolute;
	left: calc(50% - 680px);
	transition: 0.3s ease;
}

#p-home #main h2 span {
	font-size: 30px;
	font-family: FOT-筑紫明朝 Pr6N R;
	letter-spacing: 0.1em;
	display: block;
	margin-top: 20px;
	white-space: nowrap;
}

#p-home #main .main-visual {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	width: calc(100vw - 60px);
	height: calc(100vh - 114px);
}

#p-home #main .main-visual .image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	animation: anime 20s 0s infinite;
	opacity: 0;
	background-repeat: no-repeat;
	background-position: center center;
	background-position: 15% center;
	background-size: cover;
	z-index: 2;
	animation-fill-mode: forwards;
}

#p-home #main .main-visual .image:nth-of-type(1) {
	background-image: url(../image/pic_main_01.jpg);
}

#p-home #main .main-visual .image:nth-of-type(2) {
	-webkit-animation-delay: 4s;
	animation-delay: 4s;
	background-image: url(../image/pic_main_02_1.jpg);
}

#p-home #main .main-visual .image:nth-of-type(3) {
	-webkit-animation-delay: 8s;
	animation-delay: 8s;
	background-image: url(../image/pic_main_03_1.jpg);
}

#p-home #main .main-visual .image:nth-of-type(4) {
	-webkit-animation-delay: 12s;
	animation-delay: 12s;
	background-image: url(../image/pic_main_04.jpg);
}

#p-home #main .main-visual .image:nth-of-type(5) {
	-webkit-animation-delay: 16s;
	animation-delay: 16s;
	background-image: url(../image/pic_main_05.jpg);
}

@keyframes anime {
	0% {
		opacity: 0;
		transform: scale(1);
	}

	20% {
		opacity: 1;
	}

	40% {
		opacity: 0;
	}

	60% {
		opacity: 0;
		transform: scale(1);
		z-index: 1;
	}

	100% {
		opacity: 0;
	}
}

@media screen and (max-width: 1500px) {
	#p-home #main h2 {
		left: 100px;
	}
}

@media screen and (max-width: 960px) {
	#p-home #main h2 {
		width: 51.354vw;
		left: 10.416vw;
	}

	#p-home #main h2 span {
		font-size: 3.125vw;
		margin-top: 2.083vw;
	}

	#p-home #main .main-visual {
		position: absolute;
		top: 0;
		left: 0;
		overflow: hidden;
		width: 100vw;
		height: calc(100vh - 114px);
	}

	#p-home #main .main-visual .image {
		background-position: 50% 100%;
	}

	#p-home #main .main-visual .image:nth-of-type(1) {
		background-image: url(../image/sp/pic_main_01.jpg);
	}

	#p-home #main .main-visual .image:nth-of-type(2) {
		background-image: url(../image/sp/pic_main_02_1.jpg);
	}

	#p-home #main .main-visual .image:nth-of-type(3) {
		background-image: url(../image/sp/pic_main_03_1.jpg);
	}

	#p-home #main .main-visual .image:nth-of-type(4) {
		background-image: url(../image/sp/pic_main_04.jpg);
	}

	#p-home #main .main-visual .image:nth-of-type(5) {
		background-image: url(../image/sp/pic_main_05.jpg);
	}
}

@media screen and (max-width: 480px) {
	#p-home #main .inner {
		width: 100vw;
		height: calc(100vh - 120px);
		height: 132vw;
		margin-top: 60px;
		margin-right: 0;
		align-items: flex-end;
		justify-content: center;
		padding-bottom: 30px;
	}

	#p-home #main h2 {
		width: 85.866vw;
		position: static;
	}

	#p-home #main h2 span {
		font-size: 5.202vw;
		margin-top: 5.333vw;
	}

	#p-home #main .main-visual {
		height: 132vw;
	}

	#p-home #main .main-visual .image {
		background-position: 15% center;
	}
}

/* ---------------------------------------------------------
 *	Body
 *---------------------------------------------------------- */

#p-home {
	background: url(../image/bg_footer_03.jpg) no-repeat center bottom;
	background-size: 100%;
}

/* ---------------------------------------------------------
 *	Common
 *---------------------------------------------------------- */

#p-home section .title_01 {
	color: #80641e;
	text-align: center;
	line-height: 1;
	margin-bottom: 100px;
}

#p-home section .title_01.left {
	color: #bba378;
	text-align: left;
	margin-bottom: 60px;
}

#p-home section .title_01 strong {
	font-size: 100px;
	font-family: 'GFS Didot', serif;
}

#p-home section .title_01 span {
	font-size: 20px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	display: block;
	margin-top: 20px;
}

#p-home section .title_01.left span {
	display: inline-block;
	margin-top: 0;
	margin-left: 20px;
}

#p-home section .button_01 {
	text-align: center;
}

#p-home section .button_01 a {
	color: #fff;
	font-size: 20px;
	letter-spacing: 0.34em;
	display: block;
	width: 360px;
	height: 60px;
	line-height: 60px;
	margin: 0 auto;
	border-radius: 7px;
	background: #bba378;
}

#p-home section .button_01 a span {
	position: relative;
}

#p-home section .button_01 a span:before {
	content: "";
	position: absolute;
	background: url(../image/ico_arrow_03.svg);
	background-size: 100%;
	width: 7px;
	height: 17px;
	right: -30px;
	top: 0;
	transition: 0.3s ease;
}

#p-home section .button_01 a:hover span:before {
	right: -40px;
}

@media screen and (max-width: 480px) {
	#p-home section .title_01 {
		margin-bottom: 60px;
	}

	#p-home section .title_01.left {
		margin-bottom: 30px;
	}

	#p-home section .title_01 strong {
		font-size: 48px;
	}

	#p-home section .title_01 span {
		font-size: 16px;
		margin-top: 10px;
	}

	#p-home section .title_01.left span {
		margin-left: 10px;
	}

	#p-home section .button_01 a {
		font-size: 16px;
		width: 300px;
		height: 60px;
		line-height: 60px;
	}
}

@media screen and (max-width: 340px) {
	#p-home section .button_01 a {
		width: 100%;
	}
}

/* ---------------------------------------------------------
 *	INFORMATION
 *---------------------------------------------------------- */

#p-home #information {
	background: rgba(237, 243, 250, 0.72);
	min-height: 263px;
	margin-top: -263px;
	z-index: 1;
	position: relative;
	z-index: 3;
}

#p-home #information .inner {
	max-width: 1200px;
	min-height: 263px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#p-home #information .contact {
	width: 493px;
}

#p-home #information .schedule {
	width: 602px;
}

#p-home #information .tel {
	white-space: nowrap;
}

#p-home #information .tel small {
	font-size: 16px;
	letter-spacing: 0.16em;
	display: inline-block;
}

#p-home #information .tel a {
	color: #006668;
}

#p-home #information .tel strong {
	color: #006668;
	font-size: 20px;
}

#p-home #information .tel strong em {
	font-size: 40px;
}

#p-home #information .btn {
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
}

#p-home #information .btn a {
	color: #fff;
	font-family: 'Noto Serif JP', serif;
	text-align: center;
	display: block;
	height: 53px;
	line-height: 53px;
	border-radius: 7px;
	transition: 0.3s ease;
}

#p-home #information .inner .btn a:nth-child(1) {
	width: 272px;
	font-size: 25px;
	background: #285983;
}

#p-home #information .inner .btn a:nth-child(2) {
	width: 205px;
	font-size: 22px;
	background: #9f5983;
}

#p-home #information .btn a:hover {
	opacity: 0.8;
}

#p-home #information .inner .btn a:nth-child(1) span {
	padding-left: 50px;
	background: url(../image/ico_note_01.svg) no-repeat left center;
	background-size: 29px;
}

#p-home #information .inner .btn a:nth-child(2) span {
	padding-left: 40px;
	background: url(../image/ico_ig_01.svg) no-repeat left center;
	background-size: 24px;
}

#p-home #information .inner address {
	font-size: 21px;
}

#p-home #information .inner address a span {
	font-size: 18px;
	display: inline-block;
	padding-left: 30px;
	margin-left: 10px;
	background: url(../image/ico_pin_01.svg) no-repeat left center;
	background-size: 24px;
}

#p-home #information .schedule span {
	color: #285983;
}

#p-home #information .schedule table {
	width: 100%;
	border-bottom: 1px solid #666;
	margin-bottom: 10px;
	text-align: center;
}

#p-home #information .schedule table th {
	border-bottom: 1px solid #666;
	padding: 5px 10px;
}

#p-home #information .schedule table td {
	padding: 10px;
}

#p-home #information .schedule table tr:nth-child(2) td {
	padding: 10px 10px 0;
}

#p-home #information .schedule table td span {
	padding: 10px;
}

#p-home #information .schedule p {
	text-align: right;
}

@media screen and (max-width: 1240px) {
	#p-home #information .inner {
		margin: 0 20px;
		justify-content: center;
	}

	#p-home #information .contact {}

	#p-home #information .schedule {
		display: none;
	}
}

@media screen and (max-width: 960px) {
	#p-home #information {
		margin-top: 0;    
		background: #edf3fa;
	}
}

@media screen and (max-width: 767px) {
	#p-home #information .tel small {
		display: block;
	}

	#p-home #information .tel small br {
		display: none;
	}
}

@media screen and (max-width: 533px) {
	#p-home #information .btn {
		justify-content: flex-start;
	}

	#p-home #information .inner .btn a:nth-child(2) {
		width: 53px;
		margin-left: 10px;
		padding-left: 15px;
		overflow: hidden;
	}

	#p-home #information .inner address a span {
		font-size: 0;
		width: 24px;
		height: 24px;
		vertical-align: middle;
	}
}

@media screen and (max-width: 480px) {
	#p-home #information {
		min-height: 0;
	}

	#p-home #information .inner {
		width: 308px;
		min-height: 0;
		display: block;
		margin: 0 auto;
		padding: 30px 0;
	}

	#p-home #information .tel strong {
		font-size: 16px;
	}

	#p-home #information .tel strong em {
		font-size: 36px;
	}

	#p-home #information .inner .btn a:nth-child(1) {
		width: 245px;
	}
}

/* ---------------------------------------------------------
 *	NEWS
 *---------------------------------------------------------- */
#p-home #news {
	padding: 65px 0 60px;
	background: #edf3fa;
	position: relative;
	z-index: 1;
}

#p-home #news:before {
	content: "";
	width: 100%;
	height: 315px;
	position: absolute;
	left: 0;
	top: 78px;
	background: #fff;
	z-index: -1;
}

#p-home #news:after {
	content: "";
	width: 74px;
	height: 315px;
	position: absolute;
	left: calc(50% - 37px);
	top: 78px;
	background: #edf3fa;
	z-index: -1;
}

#p-home #news .inner {
	width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#p-home #news div {
	width: 530px;
}

#p-home #news h3 {
	color: #285983;
	font-size: 48px;
	font-family: 'GFS Didot', serif;
	line-height: 1;
	position: relative;
	margin-bottom: 40px;
}

#p-home #news div:nth-child(2) h3 {
	color: #e68e00;
}

#p-home #news div h3:after {
	content: "";
	position: absolute;
	bottom: 0;
	right: -50px;
	background: #285983;
	width: 417px;
	height: 1px;
}

#p-home #news div:nth-child(2) h3:after {
	background: #e68e00;
}

#p-home #news ul {
	height: 190px;
	overflow-y: scroll;
	padding: 0 0px 0 0px;
}

#p-home #news ul::-webkit-scrollbar {
	width: 5px;
}

#p-home #news ul::-webkit-scrollbar-track {
	background-color: #e0ebf2;
}

#p-home #news ul::-webkit-scrollbar-thumb {
	background-color: #275a83;
}

#p-home #news div:nth-child(2) ul::-webkit-scrollbar-thumb {
	background-color: #e68e00;
}

#p-home #news ul li {
	margin-bottom: 30px;
}

#p-home #news ul li:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 1240px) {
	#p-home #news {
		background: #fff;
	}

	#p-home #news .inner {
		width: auto;
		margin: 0 auto;
		display: block;
	}

	#p-home #news div {
		width: 530px;
		margin: 0 auto;
	}

	#p-home #news div:nth-child(2) {
		margin-top: 60px;
	}

	#p-home #news:before {
		display: none;
	}

	#p-home #news:after {
		display: none;
	}
}

@media screen and (max-width: 570px) {
	#p-home #news div {
		width: auto;
		margin: 0 20px;
	}

	#p-home #news div h3:after {
		right: auto;
		left: 170px;
	}
}

@media screen and (max-width: 480px) {
	#p-home #news {
		padding: 60px 0 60px;
	}

	#p-home #news div:nth-child(2) {
		margin-top: 30px;
	}

	#p-home #news h3 {
		font-size: 36px;
		margin-bottom: 20px;
	}

	#p-home #news div h3:after {
		right: auto;
		left: 120px;
	}
}

/* ---------------------------------------------------------
 *	OPEN
 *---------------------------------------------------------- */
#p-home #open {
	padding: 60px 0 76px;
	background: #edf3fa;
	text-align: center;
}

#p-home #open .inner {
	width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-start;
}

#p-home #open .inner div {
	color: #e68e00;
	font-family: FOT-筑紫明朝 Pr6N L;
	width: 577px;
	background: #fbf6e6 url(../image/ico_new_01.svg) no-repeat center top 16px;
	background-size: 496px;
	padding: 0 20px 20px;
}

#p-home #open .inner div:nth-child(2) {
	color: #006668;
	background: #e0ebf2 url(../image/ico_new_02.svg) no-repeat center top 22px;
	background-size: 501px;
}

#p-home #open .inner div h3 {
	font-size: 45px;
	line-height: 1;
	margin-top: -20px;
}

#p-home #open .inner div:nth-child(2) h3 {
	color: #285983;
}

#p-home #open .inner div h3 span {
	display: inline-block;
	position: relative;
}

#p-home #open .inner div h3 span:before {
	content: "";
	position: absolute;
	left: -35px;
	bottom: -5px;
	width: 1px;
	height: 45px;
	background: #e68e00;
	transform: rotate(-35deg);
}

#p-home #open .inner div h3 span:after {
	content: "";
	position: absolute;
	right: -35px;
	bottom: -5px;
	width: 1px;
	height: 45px;
	background: #e68e00;
	transform: rotate(-35deg);
}

#p-home #open .inner div strong {
	font-size: 25px
}

#p-home #open .inner div strong span {
	font-size: 33px
}

#p-home #open .inner div strong small {
	font-size: 17px;
}

#p-home #open .inner div strong em {
	font-size: 55px;
}

#p-home #open .inner div:nth-child(2) h3 span:before {
	background: #285983;
}

#p-home #open .inner div:nth-child(2) h3 span:after {
	background: #285983;
}

#p-home #open .inner div strong p {
	font-size: 25px;
}

@media screen and (max-width: 1240px) {
	#p-home #open .inner {
		width: 577px;
		margin: 0 auto;
		display: block;
	}

	#p-home #open .inner div:nth-child(2) {
		margin-top: 40px;
	}

	#p-home #open .inner div h3 {
		margin-top: 0;
		margin-bottom: -20px;
		position: relative;
		top: -20px;
	}
}

@media screen and (max-width: 617px) {
	#p-home #open .inner {
		width: calc(100% - 40px);
		margin: 0 20px;
	}

	#p-home #open .inner div {
		width: auto;
		background-size: 85.961vw;
	}

	#p-home #open .inner div:nth-child(2) {
		background-size: 86.828vw;
	}
}

@media screen and (max-width: 480px) {
	#p-home #open {
		padding: 60px 0 60px;
	}

	#p-home #open .inner div h3 {
		font-size: 36px;
	}

	#p-home #open .inner div strong {
		font-size: 18px
	}

	#p-home #open .inner div strong span {
		font-size: 24px
	}

	#p-home #open .inner div strong small {
		font-size: 14px;
	}

	#p-home #open .inner div strong em {
		font-size: 30px;
	}
}

/* ---------------------------------------------------------
 *	PHILOSOPHY
 *---------------------------------------------------------- */
#p-home #philosophy {
	min-height: 902px;
	background: url(../image/bg_philosophy_01.jpg) no-repeat center center;
	background-size: cover;
	display: flex;
	align-items: center;
	position: relative;
}

#p-home #philosophy .pic_01 {
	width: 50.781vw;
	position: absolute;
	left: -18.072vw;
	bottom: -17.291vw;
	transform-origin: center bottom;
	animation: yurayura 10s linear infinite;
}

@keyframes yurayura {

	0%,
	100% {
		transform: rotate(20deg);
	}

	50% {
		transform: rotate(-20deg);
	}
}

#p-home #philosophy .inner {
	width: 1200px;
	margin: 0 auto;
	position: relative;
	display: flex;
	align-items: center;
}

#p-home #philosophy h2 {
	color: #fff;
	font-size: 78px;
	font-family: 'GFS Didot', serif;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

#p-home #philosophy h3 {
	font-size: 28px;
	font-family: FOT-筑紫明朝 Pr6N L;
	letter-spacing: 0.2em;
	margin-bottom: 30px;
}

#p-home #philosophy h3 strong {
	color: #e68e00;
	font-size: 46px;
}

#p-home #philosophy h3 strong.c1 {
	color: #285983;
}

#p-home #philosophy p {
	font-size: 20px;
	letter-spacing: 0.12em;
	line-height: 2;
}

@media screen and (max-width: 1240px) {
	#p-home #philosophy {
		min-height: 902px;
		background: url(../image/bg_philosophy_01.jpg) no-repeat right center;
	}
}

@media screen and (max-width: 480px) {
	#p-home #philosophy {
		min-height: 0;
		background: url(../image/sp/bg_philosophy_01.png) no-repeat center top;
		background-size: contain;
		padding: 0 0 100px;
	}

	#p-home #philosophy .pic_01 {
		width: 100vw;
		left: -60vw;
		bottom: auto;
		top: 100vw;
	}

	#p-home #philosophy .inner {
		width: 100%;
		margin: 0 20px 0 0;
		align-items: flex-start;
	}

	#p-home #philosophy h2 {
		font-size: 14.399vw;
		margin-top: 80vw;
	}

	#p-home #philosophy h3 {
		font-size: 7.466vw;
		margin-top: 117.333vw;
		margin-bottom: 30px;
		text-align: right;
		letter-spacing: 0;
		white-space: nowrap;
	}

	#p-home #philosophy h3 strong {
		font-size: 11.2vw;
	}

	#p-home #philosophy p {
		font-size: 20px;
		margin-left: -65px;
	}
}

/* ---------------------------------------------------------
 *	FEATURES
 *---------------------------------------------------------- */
#p-home #features {
	padding: 246px 0 221px;
	background: url(../image/bg_features_01.jpg) repeat-x left top, url(../image/bg_features_02.jpg) no-repeat center top 284px;
	background-size: auto, cover;
	position: relative;
}

#p-home #features ol {
	max-width: 1200px;
	margin: 0 auto 120px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#p-home #features ol li {
	width: 550px;
	margin-top: 70px;
}

#p-home #features ol li:nth-child(1) {
	width: 100%;
	margin-top: 0;
}

#p-home #features ol li img {
	margin-bottom: 10px;
}

#p-home #features ol li h4 {
	font-size: 25px;
	font-family: FOT-筑紫明朝 Pr6N L;
	line-height: 1.2;
	margin-bottom: 20px;
}

#p-home #features ol li:nth-child(1) h4 {
	font-size: 31px;
}

#p-home #features ol li h4 strong {
	color: #e68e00;
	font-size: 64px;
	margin-right: 10px;
}

#p-home #features ol li h4 em {
	color: #e68e00;
	font-size: 34px;
	margin-right: 10px;
}

#p-home #features ol li:nth-child(1) h4 em {
	font-size: 38px;
}

#p-home #features .inner {
	max-width: 1335px;
	margin: 0 auto;
	background: #fff;
	padding: 70px 0;
}

#p-home #features .inner h3 {
	color: #307995;
	font-size: 34px;
	font-family: FOT-筑紫明朝 Pr6N L;
	letter-spacing: 0.28em;
	text-align: center;
	margin-bottom: 40px;
}

#p-home #features .inner h3 strong {
	color: #e68e00;
	font-size: 49px;
}

#p-home #features .inner ul {
	max-width: 1134px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

#p-home #features .inner ul li {
	width: 360px;
}

#p-home #features .inner ul li div {
	margin: 0 20px;
}

#p-home #features .inner ul li img {
	margin-bottom: 30px;
}

#p-home #features .inner h4 {
	font-size: 25px;
	font-family: FOT-筑紫明朝 Pr6N L;
	margin-bottom: 20px;
}

@media screen and (max-width: 1375px) {
	#p-home #features .inner {
		margin: 0 20px;
	}
}

@media screen and (max-width: 1240px) {
	#p-home #features ol {
		margin: 0 20px 120px;
	}

	#p-home #features ol li {
		width: 45.833%;
	}
}

@media screen and (max-width: 1213px) {
	#p-home #features .inner ul li {
		width: 31.746%;
	}
}

@media screen and (max-width: 767px) {
	#p-home #features ol li {
		width: 100%;
	}

	#p-home #features .inner ul {
		display: block;
	}

	#p-home #features .inner ul li {
		width: 100%;
		margin-bottom: 60px;
	}

	#p-home #features .inner ul li:last-child {
		margin-bottom: 0;
	}
}

@media screen and (max-width: 480px) {
	#p-home #features {
		padding: 100px 0 100px;
		background: url(../image/bg_features_01.jpg) repeat-x left top, url(../image/bg_features_02.jpg) no-repeat center top 125px;
		background-size: auto 125px, cover;
	}

	#p-home #features ol {
		margin: 0 20px 60px;
	}

	#p-home #features ol li {
		margin-top: 60px;
	}

	#p-home #features ol li h4 {
		font-size: 18px;
		margin-bottom: 10px;
	}

	#p-home #features ol li:nth-child(1) h4 {
		font-size: 18px;
	}

	#p-home #features ol li h4 strong {
		font-size: 48px;
	}

	#p-home #features ol li h4 em {
		font-size: 24px;
		margin-right: 5px;
	}

	#p-home #features ol li:nth-child(1) h4 em {
		font-size: 30px;
	}

	#p-home #features .inner {
		padding: 20px;
	}

	#p-home #features .inner h3 {
		font-size: 24px;
		margin-bottom: 30px;
	}

	#p-home #features .inner h3 strong {
		font-size: 36px;
	}

	#p-home #features .inner h4 {
		font-size: 18px;
		margin-bottom: 10px;
	}

	#p-home #features .inner ul li img {
		margin-bottom: 20px;
	}

	#p-home #features .inner ul li div {
		margin: 0;
	}
}


/* ---------------------------------------------------------
 *	MENU
 *---------------------------------------------------------- */
#p-home #menu {
	padding: 180px 0 213px;
	background: url(../image/bg_menu_01.jpg) no-repeat center center;
	background-size: cover;
}

#p-home #menu .inner {
	max-width: 1200px;
	margin: 0 auto;
}

#p-home #menu .box_01 ul {
	margin-bottom: 107px;
}

#p-home #menu .box_01 ul li {
	color: #fff;
	font-family: 'Noto Serif JP', serif;
	margin-bottom: 48px;
	min-height: 370px;
	background-size: cover !important;
	display: flex;
	align-items: center;
}

#p-home #menu .box_01 ul li:nth-child(1) {
	background: url(../image/bg_menu_02.jpg) no-repeat center center;
}

#p-home #menu .box_01 ul li:nth-child(2) {
	background: url(../image/bg_menu_03.jpg) no-repeat center center;
}

#p-home #menu .box_01 ul li:nth-child(3) {
	background: url(../image/bg_menu_04.jpg) no-repeat center center;
}

#p-home #menu .box_01 ul li:last-child {
	margin-bottom: 0;
}

#p-home #menu .box_01 ul li a {
	color: #fff;
	display: block;
	width: 100%;
	min-height: 370px;
	padding: 50px 70px;
}

#p-home #menu .box_01 ul li .btn div {
	color: #fff;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
	width: 220px;
	display: block;
	position: relative;
}

#p-home #menu .box_01 ul li .btn div:before {
	content: "";
	width: 220px;
	height: 1px;
	background: #fff;
	left: 0;
	bottom: -15px;
	position: absolute;
	animation: arrowlong01 2s ease infinite;
}

#p-home #menu .box_01 ul li .btn div:after {
	content: "";
	width: 10px;
	height: 10px;
	background: #fff;
	border-radius: 50%;
	left: 0;
	bottom: -20px;
	position: absolute;
	animation: arrowlong02 2s ease infinite;
}

@keyframes arrowlong01 {
	0% {
		width: 0;
		opacity: 0
	}

	20% {
		width: 0;
		opacity: 1
	}

	80% {
		width: 105%;
		opacity: 1
	}

	100% {
		width: 105%;
		opacity: 0
	}
}

@keyframes arrowlong02 {
	0% {
		left: 0;
		opacity: 0
	}

	20% {
		left: 0;
		opacity: 1
	}

	80% {
		left: 103%;
		opacity: 1
	}

	100% {
		left: 103%;
		opacity: 0
	}
}

#p-home #menu .box_01 ul li h3 {
	font-size: 65px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1;
	margin-bottom: 20px;
}

#p-home #menu .box_01 ul li h3 span {
	margin-right: 10px;
}

#p-home #menu .box_01 ul li h3 img {
	display: inline-block;
	vertical-align: bottom;
}

#p-home #menu .box_01 ul li:nth-child(1) h3 img {
	width: 199px;
}

#p-home #menu .box_01 ul li:nth-child(2) h3 img {
	width: 178px;
}

#p-home #menu .box_01 ul li:nth-child(3) h3 img {
	width: 102px;
}

#p-home #menu .box_01 ul li strong {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.1em;
	display: block;
	margin-bottom: 10px;
}

#p-home #menu .box_01 ul li h3 small {
	font-size: 50px;
}

#p-home #menu .box_01 ul li p {
	font-weight: 500;
	letter-spacing: 0.05em;
	max-width: 570px;
}

#p-home #menu .box_01 ul li .btn {
	margin-top: 30px;
}

#p-home #menu .box_02 ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: -28px;
	margin-bottom: 117px;
}

#p-home #menu .box_02 ul li {
	width: 358px;
	margin-top: 28px;
	font-size: 26px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
}

#p-home #menu .box_02 ul li:nth-child(7) {
	letter-spacing: -0.1em;
}

#p-home #menu .box_02 ul li a {
	background: #dfd7ba;
	display: flex;
	align-items: center;
	height: 150px;
	padding-left: 30px;
	position: relative;
}

#p-home #menu .box_02 ul li a:before {
	content: "";
	position: absolute;
	background: url(../image/ico_arrow_04.svg);
	background-size: 100%;
	width: 9px;
	height: 23px;
	right: 23px;
	transition: 0.3s ease;
}

#p-home #menu .box_02 ul li a:hover:before {
	right: 13px;
}

#p-home #menu .box_02 ul li a span {
	display: inline-block;
	padding: 10px 0 10px 70px;
}

#p-home #menu .box_02 ul li:nth-child(1) a span {
	background: url(../image/ico_menu_01.svg) no-repeat left center;
	background-size: 47px;
}

#p-home #menu .box_02 ul li:nth-child(2) a span {
	background: url(../image/ico_menu_02.svg) no-repeat left center;
	background-size: 48px;
}

#p-home #menu .box_02 ul li:nth-child(3) a span {
	background: url(../image/ico_menu_03.svg) no-repeat left center;
	background-size: 53px;
}

#p-home #menu .box_02 ul li:nth-child(4) a span {
	background: url(../image/ico_menu_04.svg) no-repeat left center;
	background-size: 53px;
}

#p-home #menu .box_02 ul li:nth-child(5) a span {
	background: url(../image/ico_menu_05.svg) no-repeat left center;
	background-size: 48px;
}

#p-home #menu .box_02 ul li:nth-child(6) a span {
	background: url(../image/ico_menu_06.svg) no-repeat left center;
	background-size: 47px;
}

#p-home #menu .box_02 ul li:nth-child(7) a span {
	background: url(../image/ico_menu_07.svg) no-repeat left center;
	background-size: 46px;
}

#p-home #menu .box_02 ul li:nth-child(8) a span {
	background: url(../image/ico_menu_08.svg) no-repeat left center;
	background-size: 53px;
}

#p-home #menu .box_02 ul li:nth-child(9) a span {
	background: url(../image/ico_menu_09.svg) no-repeat left center;
	background-size: 37px;
}

#p-home #menu .button_01 {
	display: flex;
	justify-content: center;
}

#p-home #menu .button_01 a {
	margin: 0;
}

#p-home #menu .button_01 a:first-child {
	margin: 0 47px 0 0;
}

@media screen and (max-width: 1240px) {
	#p-home #menu .inner {
		max-width: 1200px;
		margin: 0 20px;
	}

	#p-home #menu .box_02 ul {
		width: 744px;
		margin: 0 auto 117px;
	}

	#p-home #menu .box_02 ul li {
		width: 358px;
		margin-top: 28px;
		font-size: 26px;
		font-family: 'Noto Serif JP', serif;
		font-weight: 500;
	}

	#p-home #menu .button_01 {
		width: 744px;
		margin: 0 auto;
	}
}

@media screen and (max-width: 784px) {
	#p-home #menu .box_02 ul {
		width: auto;
	}

	#p-home #menu .box_02 ul li {
		width: 48.118%;
		margin-top: 3.763vw;
		font-size: 3.494vw;
	}

	#p-home #menu .box_02 ul li a {
		height: 20.161vw;
		padding-left: 4.032vw;
	}

	#p-home #menu .box_02 ul li a:before {
		width: 1.209vw;
		height: 3.091vw;
		right: 3.091vw;
	}

	#p-home #menu .box_02 ul li a:hover:before {
		right: 1.747vw;
	}

	#p-home #menu .box_02 ul li a span {
		padding: 1.344vw 0 1.344vw 9.408vw;
	}

	#p-home #menu .box_02 ul li:nth-child(1) a span {
		background-size: 6.317vw
	}

	#p-home #menu .box_02 ul li:nth-child(2) a span {
		background-size: 6.451vw;
	}

	#p-home #menu .box_02 ul li:nth-child(3) a span {
		background-size: 7.123vw;
	}

	#p-home #menu .box_02 ul li:nth-child(4) a span {
		background-size: 7.123vw;
	}

	#p-home #menu .box_02 ul li:nth-child(5) a span {
		background-size: 6.451vw;
	}

	#p-home #menu .box_02 ul li:nth-child(6) a span {
		background-size: 6.317vw;
	}

	#p-home #menu .box_02 ul li:nth-child(7) a span {
		background-size: 6.182vw;
	}

	#p-home #menu .box_02 ul li:nth-child(8) a span {
		background-size: 7.123vw;
	}

	#p-home #menu .box_02 ul li:nth-child(9) a span {
		background-size: 4.973vw;
	}

	#p-home #menu .button_01 {
		width: auto;
		display: block;
	}

	#p-home #menu .button_01 a {
		margin: 0 auto;
	}

	#p-home #menu .button_01 a:first-child {
		margin: 0 auto 20px;
	}
}

@media screen and (max-width: 480px) {
	#p-home #menu {
		padding: 100px 0 100px;
	}

	#p-home #menu .box_01 ul {
		margin-bottom: 60px;
	}

	#p-home #menu .box_01 ul li {
		margin-bottom: 30px;
		min-height: 0;
	}

	#p-home #menu .box_01 ul li:nth-child(1) {
		background: url(../image/sp/bg_menu_02.jpg) no-repeat left top;
	}

	#p-home #menu .box_01 ul li:nth-child(2) {
		background: url(../image/sp/bg_menu_03.jpg) no-repeat left top;
	}

	#p-home #menu .box_01 ul li:nth-child(3) {
		background: url(../image/sp/bg_menu_04.jpg) no-repeat left top;
	}

	#p-home #menu .box_01 ul li a {
		padding: 50px 20px 50px;
	}

	#p-home #menu .box_01 ul li h3 {
		font-size: 36px;
	}

	#p-home #menu .box_01 ul li h3 span {
		margin-right: 0;
	}

	#p-home #menu .box_01 ul li h3 img {
		display: block;
		margin-top: 10px;
	}

	#p-home #menu .box_01 ul li strong {
		font-size: 18px;
		margin-bottom: 20px;
	}

	#p-home #menu .box_01 ul li h3 small {
		font-size: 24px;
	}

	#p-home #menu .box_01 ul li .btn {
		margin-top: 20px;
	}

	#p-home #menu .box_02 ul {
		margin: 0 auto 60px;
	}
}

/* ---------------------------------------------------------
 *	GREETING
 *---------------------------------------------------------- */
#p-home #greeting {
	padding: 246px 0 136px;
	background: url(../image/bg_greeting_01.jpg) repeat-x left top;
}

#p-home #greeting .inner {
	display: flex;
	margin-bottom: 70px;
}

#p-home #greeting .pic_01 {
	width: 45.468vw;
}

#p-home #greeting .pic_01 p {
	font-size: 29px;
	font-family: FOT-筑紫明朝 Pr6N L;
	text-align: right;
	margin-top: 40px;
}

#p-home #greeting .pic_01 p ruby {
	font-size: 33px;
}

#p-home #greeting .pic_01 p rt {
	font-size: 14px;
	transform: translateY(-0.5em);
}

#p-home #greeting .txt_01 {
	/* width: 33.333vw;
	width: 640px; */
	max-width: 640px;
	margin-left: 50px;
}

#p-home #greeting .txt_01 h3 {
	font-size: 29px;
	font-family: FOT-筑紫明朝 Pr6N L;
	letter-spacing: 0.08em;
	margin-bottom: 30px;
}

#p-home #greeting .txt_01 h3 strong {
	color: #e68e00;
	font-size: 42px;
}

#p-home #greeting .txt_01 h3 strong.c1 {
	color: #006668;
}

#p-home #greeting .txt_01 h3 span {
	width: 2.11em;
	display: inline-block;
}

#p-home #greeting .txt_01 h4 {
	font-size: 24px;
	font-family: FOT-筑紫明朝 Pr6N L;
	letter-spacing: 0.08em;
	margin: 40px 0 20px;
	display: flex;
	align-items: center;
}

#p-home #greeting .txt_01 h4:after {
	content: "";
	height: 1px;
	flex-grow: 1;
	background-color: #989898;
}

#p-home #greeting .txt_01 h4:after {
	margin-left: 1rem;
}

#p-home #greeting .button_01 {
	margin: 0 20px;
}

@media screen and (max-width: 960px) {
	#p-home #greeting .inner {
		display: block;
		margin-bottom: 70px;
	}

	#p-home #greeting .pic_01 {
		width: auto;
		max-width: 640px;
		margin: 0 auto 30px;
	}

	#p-home #greeting .txt_01 {
		max-width: 640px;
		margin: 0 auto;
	}
}

@media screen and (max-width: 680px) {
	#p-home #greeting .pic_01 {
		margin: 0 20px 30px;
	}

	#p-home #greeting .txt_01 {
		margin: 0 20px;
	}

	#p-home #greeting .txt_01 h3 span {
		width: auto;
		display: inline;
	}
}

@media screen and (max-width: 480px) {
	#p-home #greeting {
		padding: 100px 0 100px;
		background: url(../image/bg_greeting_01.jpg) repeat-x left top;
		background-size: auto 125px;
	}

	#p-home #greeting .inner {
		margin-bottom: 60px;
	}

	#p-home #greeting .pic_01 p {
		font-size: 18px;
		margin-top: 30px;
	}

	#p-home #greeting .pic_01 p ruby {
		font-size: 24px;
	}

	#p-home #greeting .pic_01 p rt {
		font-size: 12px;
	}

	#p-home #greeting .txt_01 h3 {
		font-size: 24px;
		margin-bottom: 30px;
	}

	#p-home #greeting .txt_01 h3 strong {
		font-size: 30px;
	}

	#p-home #greeting .txt_01 h4 {
		font-size: 18px;
		margin: 40px 0 20px;
	}
}

/* ---------------------------------------------------------
 *	FACILITY
 *---------------------------------------------------------- */

#p-home #facility {
	background: url(../image/bg_facility_01.jpg) no-repeat center center;
	background-size: cover;
	padding: 180px 0 160px;
	position: relative;
	z-index: 1;
}

#p-home #facility .inner {
	max-width: 1200px;
	margin: 0 auto;
}

#p-home #facility .slide {
	display: flex;
	overflow: hidden;
}

#p-home #facility .slide ul {
	display: flex;
	margin-bottom: 130px;
	animation: infinity-scroll-left 30s infinite linear 0.5s both;
}

#p-home #facility .slide ul li {
	width: calc(100vw / 5);
	margin: 0 1.822vw;
}

#p-home #facility .slide ul li > img {
	width: 100%;
}

@keyframes infinity-scroll-left {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-100%);
	}
}

#p-home #facility .button_01 {
	display: flex;
	justify-content: center;
}

#p-home #facility .button_01 a {
	margin: 0;
}

#p-home #facility .button_01 a:first-child {
	margin: 0 47px 0 0;
}

@media screen and (max-width: 1240px) {
	#p-home #facility .inner {
		margin: 0 20px;
	}
}

@media screen and (max-width: 807px) {
	#p-home #facility .button_01 {
		display: block;
	}

	#p-home #facility .button_01 a {
		margin: 0 auto;
	}

	#p-home #facility .button_01 a:first-child {
		margin: 0 auto 20px;
	}
}

@media screen and (max-width: 480px) {
	#p-home #facility {
		padding: 100px 0 100px;
	}

	#p-home #facility .slide ul {
		margin-bottom: 60px;
		animation: infinity-scroll-left 20s infinite linear 0.5s both;
	}

	#p-home #facility .slide ul li {
		width: calc(100vw / 2);
	}
}

/* ---------------------------------------------------------
 *	OUTLINE
 *---------------------------------------------------------- */

#p-home #outline {
	font-size: 18px;
	padding: 90px 0 70px;
	position: relative;
}

#p-home #outline .pic_01 {
	width: 43.75vw;
	position: absolute;
	left: -16.354vw;
	bottom: -22.239vw;
	transform-origin: center bottom;
	animation: yurayura 10s linear infinite;
}

#p-home #outline .pic_02 {
	width: 43.697vw;
	position: absolute;
	right: -26.25vw;
	top: -16.093vw;
	transform-origin: center bottom;
	animation: yurayura 10s linear infinite;
}

#p-home #outline .inner {
	display: flex;
	justify-content: space-between;
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
}

#p-home #outline dl {
	width: 620px;
	display: flex;
	margin-bottom: 20px;
}

#p-home #outline dt {
	width: 90px;
	white-space: nowrap;
	text-align-last: justify;
	text-justify: inter-ideograph;
}

#p-home #outline dd {
	width: calc(100% - 130px);
	border-left: 1px solid #cbcbcb;
	margin-left: 20px;
	padding-left: 20px;
}

#p-home #outline .calendar {
  --fc-button-bg-color: #bba378;
  --fc-button-border-color: #bba378;
  --fc-button-text-color: #fff;
  --fc-button-hover-bg-color: #bba378;
  --fc-button-hover-border-color: #bba378;
	--fc-button-active-border-color: #bba378;
	--fc-button-active-bg-color: #bba378;
	max-width: 531px;
	font-family: 'Noto Serif JP', serif;
}
#p-home #outline .calendar .fc-button {
	box-shadow: none !important;
}

@media screen and (max-width: 1240px) {
	#p-home #outline {
		padding: 90px 20px 70px;
	}

	#p-home #outline .inner {
		display: block;
	}

	#p-home #outline .inner > .outline {
		margin-bottom: 30px;
	}

	#p-home #outline dl {
		margin: 0 auto 20px;
	}

	#p-home #outline .calendar {
		max-width: 620px;
		margin: 60px auto 0;
	}
}

@media screen and (max-width: 660px) {
	#p-home #outline dl {
		width: 100%;
		margin: 0 0 20px;
	}
}

@media screen and (max-width: 480px) {
	#p-home #outline {
		font-size: 16px;
		padding: 100px 20px 100px;
	}

	#p-home #outline .pic_01 {
		width: 50vw;
	}

	#p-home #outline .pic_02 {
		width: 50vw;
	}
}



.postie-post{
	margin:0 !important;
}



/*コラム新着*/
#col_ul{
	display: flex;
	justify-content: space-between;
	list-style: none;
  margin-top:30px;
  width:min(100%,1200px);
  margin: auto;
}

#col_ul li{
	width:30% !important;
	height:auto;
	
	position: relative;
  text-align: left;
  line-height: 1.8;
  list-style: none;
}

#col_ul li .ica{
	height:200px;
	overflow: hidden;
	display: block;
}
#col_ul li img{
	width:100%;
	height:auto;
    margin-bottom: 20px;
}

#col_ul .tit{
	font-size:20px;
}

#col_ul .top_cate {
    position: absolute;
    left: 0;
    top: 0;
    display: inline-block;
    color: #fff !important;
    padding: 5px;
    z-index: 2;
    background-color: #BBA377;
    line-height: 1;
	border-radius:0px 0 0 0 ;
  text-align: left;
	
}

#col_ul .top_cate a{
    color: #fff !important;
	
}

.p-top-column{
	margin-bottom:100px;
	padding:70px 10px;
}

#home .h3_c{
	text-align: center;
	padding:20px;
  }

  .column_tit{
	text-align: center;
	font-size:20px;
	padding:50px 0px 20px;
  }
  
 
 
 
  @media screen and (max-width: 600px) {
	#col_ul{
		display: block;
		justify-content: space-between;
		list-style: none;
		flex-wrap: wrap;
    padding:0px 20px;
    box-sizing: border-box;
	}
	
	#col_ul li{
		width:100% !important;
		height:auto;
		
		position: relative;
	  text-align: left;
	  line-height: 1.8;
	  list-style: none;
	  margin-top:30px;
    padding:0px 0px 20px !important;
	}
  #col_ul li .ica{
    height: auto !important;
  }
}





.column_btn{

	display: block;
	width: 280px;
	height: 60px;
	line-height: 60px;
	margin: 0 auto;
	background: #ccc;
	letter-spacing: 0.075em;
	transition: 0.3s ease;
  }