@keyframes fadeOutLeft {
	from {
		transform: translate(0, 0);
	}
	to {
		transform: translateX(-800px);
	}
}

@keyframes fadeOutright {
	from {
		transform: translate(0, 0);
	}
	to {
		transform: translateX(800px);
	}
}

@keyframes fadeInDown {
	from {
		opacity: 0;
		transform: translate3d(0, -10%, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.fadeInDown {
	animation-name: fadeInDown;
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translate3d(0, 2%, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.fadeInUp {
	animation-name: fadeInUp;
}

@keyframes fadeInRight {
	from {
		opacity: 0;
		transform: translate3d(10%, 0, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.animate__fadeInRight {
	animation-name: fadeInRight;
}

@keyframes fadeInLeft {
	from {
		opacity: 0;
		transform: translate3d(-10%, 0, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.animate__fadeInLeft {
	animation-name: fadeInLeft;
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

.fadeIn {
	animation-name: fadeIn;
}

.animated {
	animation-duration: 1s;
	animation-fill-mode: both;
	opacity: 0;
}

.animated.infinite {
	animation-iteration-count: infinite;
}

.animated.delay-1s {
	animation-delay: 1s;
}

.animated.delay-2s {
	animation-delay: 2s;
}

.animated.delay-3s {
	animation-delay: 3s;
}

.animated.delay-4s {
	animation-delay: 4s;
}

.animated.delay-5s {
	animation-delay: 5s;
}

.animated.fast {
	animation-duration: 800ms;
}

.animated.faster {
	animation-duration: 500ms;
}

.animated.slow {
	animation-duration: 2s;
}

.animated.slower {
	animation-duration: 3s;
}

@media (print), (prefers-reduced-motion: reduce) {
	.animated {
		animation-duration: 1ms !important;
		transition-duration: 1ms !important;
		animation-iteration-count: 1 !important;
	}
}

@media all and (max-width: 769px) {
	.animated.delay-1s,
	.animated.delay-2s,
	.animated.delay-3s,
	.animated.delay-4s,
	.animated.delay-5s {
		animation-duration: 0.3s;
	}
}

body {
	color: #58493e;
	font-family: "YakuHanJP", "Zen Maru Gothic", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "YuGothic",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.6rem;
	line-height: 1.8;
	-webkit-font-smoothing: antialiased;
	min-height: 100vh;
	overflow-x: hidden;
	font-weight: 500;
	position: relative;
	letter-spacing: 0.1rem;
}

#nav-toggle,
#sp-nav {
	display: none;
}

a {
	color: #1c1714;
	text-decoration: none;
	transition: all 0.3s ease;
	cursor: pointer;
}

img {
	max-width: 100%;
	height: auto;
}

.bold {
	font-weight: 600;
}

h2,
h3 {
	line-height: 1.4;
	font-weight: 400;
}

.mincho {
	font-family: "YakuHanMP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
}

#wrapper {
	overflow: hidden;
}

#bg-class #wrapper {
	overflow: visible;
}

@media all and (max-width: 800px) {
	#bg-class #wrapper {
		overflow: hidden;
	}
}

@keyframes fuwafuwa {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-10px);
	}
	100% {
		transform: translateY(0);
	}
}

.deco {
	max-width: 90px;
	margin: 0 auto;
	position: relative;
	text-align: center;
}

.deco img {
	height: 90px;
	-o-object-fit: contain;
	object-fit: contain;
}

.fuwafuwa {
	animation-name: fuwafuwa;
	animation-duration: 2s;
	animation-delay: 0.5s;
	animation-timing-function: ease;
	animation-iteration-count: infinite;
}

.deco-anime2 {
	animation: rotate_anime 1.5s cubic-bezier(0.87, 0.01, 0, 0.99) infinite;
	margin: 0 auto;
}

.deco-anime {
	animation: rotate_anime 1.5s cubic-bezier(0.87, 0.01, 0, 0.99) infinite;
	max-width: 90px;
	margin: 0 auto;
	background-color: #fff;
	border-radius: 500px;
}

.deco-anime img {
	height: 90px;
	-o-object-fit: contain;
	object-fit: contain;
}

@media all and (max-width: 639px) {
	.deco-anime {
		max-width: 90px;
		margin-top: -80px;
	}
}

@keyframes rotate_anime {
	0% {
		transform: rotate(0deg);
	}
	25% {
		transform: rotate(0deg);
	}
	30% {
		transform: rotate(5deg);
	}
	85% {
		transform: rotate(5deg);
	}
	90% {
		transform: rotate(0deg);
	}
}

@keyframes view-zoomin {
	0% {
		opacity: 0;
		transform: scale(0.95);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes view-slideup {
	0% {
		opacity: 0;
		transform: translate(0, 35px);
	}
	100% {
		opacity: 1;
		transform: translate(0, 0);
	}
}

.animation {
	opacity: 0;
}

.slideup.on {
	opacity: 1;
	animation: view-slideup 0.65s cubic-bezier(0.2, 1, 0.2, 1);
}

.zoomin.on {
	opacity: 1;
	animation: view-zoomin 0.65s cubic-bezier(0.2, 1, 0.2, 1);
}

.loader {
	align-items: center;
	background: #fdfdfd;
	bottom: 0;
	display: flex;
	justify-content: center;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 9999;
}

.loader::after {
	animation: loader 0.5s linear infinite;
	border: 1px solid #58493e;
	border-radius: 50%;
	border-right: 1px solid rgba(88, 73, 62, 0.2);
	border-top: 1px solid rgba(88, 73, 62, 0.2);
	content: "";
	height: 70px;
	width: 70px;
}

.loader.off {
	display: none;
}

@keyframes loader {
	0% {
		transform: rotate(0);
	}
	100% {
		transform: rotate(360deg);
	}
}

@keyframes hd-scrolled {
	0% {
		opacity: 0;
		transform: translate(0, -100%);
	}
	100% {
		opacity: 1;
		transform: translate(0, 0);
	}
}

#l-header {
	position: absolute;
	transition: all 0.4s ease-in;
	width: 100%;
	z-index: 10;
}

#l-header.is-fixed {
	position: fixed;
	width: 100%;
	z-index: 200;
	background: #fff;
	border-bottom: 1px solid #d9d3c3;
}

#l-header.is-fixed::before {
	content: "";
	display: block;
	width: 100%;
	height: 30px;
	background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/nami.svg) repeat-x;
	background-size: contain;
	bottom: -15px;
	position: absolute;
	opacity: 1;
}

#l-header.is-fixed .inner #logo .logo2 {
	display: block;
}

#l-header.is-fixed .inner #logo .logo {
	display: none;
}

#l-header.is-fixed #header_nav ul li a {
	color: #58493e;
}

#l-header.is-fixed #header_nav ul li a:hover {
	color: #fb9797;
}

#l-header.is-fixed #header_nav ul li.insta a {
	color: #fff;
}

@media all and (max-width: 800px) {
	#l-header {
		background: rgba(0, 0, 0, 0);
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
}

#l-header .inner {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
	padding: 15px 0 15px;
	align-items: center;
	justify-content: space-between;
}

@media all and (max-width: 1200px) {
	#l-header .inner {
		justify-content: center;
	}
}

@media all and (max-width: 800px) {
	#l-header .inner {
		min-width: initial;
	}
}

#l-header .inner #logo {
	width: 320px;
	transition: all 0.4s ease-in;
	position: relative;
	margin-left: 30px;
	z-index: 10;
}

@media all and (max-width: 1200px) {
	#l-header .inner #logo {
		width: 258px;
	}
}

#l-header .inner #logo .logo2 {
	display: none;
}

#l-header .inner #logo .logo {
	display: block;
}

#l-header .head-right {
	position: relative;
	margin-left: auto;
}

@media all and (max-width: 1200px) {
	#l-header .head-right {
		margin-right: auto;
	}
}

@media all and (max-width: 800px) {
	#l-header .head-right {
		display: none;
	}
}

#l-header .head-right_contact {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	margin: -15px 40px 10px;
}

#l-header .head-right_box {
	display: flex;
}

#l-header .head-right_box .head-right_txt {
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0;
	margin-right: 15px;
}

#l-header .head-right_box .head-right_txt .detail_ttl {
	text-align: center;
	border: 1px solid #4e472b;
	padding: 2px 16px;
	border-radius: 50px;
}

#l-header .head-right_box .head-right_txt .detail_txt {
	padding-left: 8px;
}

@media all and (max-width: 1200px) {
	#l-header .head-right_box .head-right_txt {
		margin-left: 0;
		flex-wrap: wrap;
		padding: 5px 0;
	}
}

@media all and (max-width: 1200px) {
	#l-header .head-right_box {
		display: block;
	}
}

#l-header .head-right_tel {
	margin-right: 15px;
}

#l-header .head-right_tel a {
	transition: all 0.3s ease-in;
	display: block;
	font-size: 3rem;
	line-height: 1;
	color: #957d6c;
}

#l-header .head-right_tel a:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
	margin-right: 5px;
}

#l-header .head-right_tel a:hover {
	opacity: 0.5;
}

@media all and (max-width: 1200px) {
	#l-header .head-right_tel a {
		font: 2.5rem;
	}
}

#l-header .head-right_mail {
	text-align: center;
}

#l-header .head-right_mail a {
	border: 1px solid #58493e;
	color: #fff;
	background: #58493e;
	font-family: "YakuHanJP", "Zen Maru Gothic", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "YuGothic",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.4rem;
	padding: 10px 14px;
	border-radius: 50px;
}

#l-header .head-right_mail a:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
	margin-right: 5px;
}

#l-header .head-right_mail a:hover {
	background: #fff;
	color: #fb9797;
}

#l-header .head-right_insta {
	text-align: center;
}

#l-header .head-right_insta a {
	border: 1px solid #d43339;
	color: #fff;
	background: #d43339;
	font-family: "EB Garamond", serif;
	font-size: 1.4rem;
	padding: 18px 14px 10px;
}

#l-header .head-right_insta a:before {
	content: "";
	font-family: "Font Awesome 5 Brands";
	font-weight: 600;
	margin-right: 5px;
}

#l-header .head-right_insta a:hover {
	background: #fff;
	color: #d43339;
}

#l-header .head-btn {
	position: absolute;
	right: 0;
	top: -20px;
}

#l-header .head-btn a {
	position: relative;
	padding: 5px 20px;
	display: block;
	font-size: 1.4rem;
	background: #957d6c;
	border: 1px solid #957d6c;
	color: #fff;
	text-align: center;
	line-height: 1.4;
	box-sizing: border-box;
	font-family: "YakuHanJP", "Zen Maru Gothic", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "YuGothic",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	border-radius: 5px;
	width: 70px;
}

#l-header .head-btn a i {
	font-size: 1.8rem;
	margin-right: 5px;
}

#l-header .head-btn a:hover {
	color: #fb9797;
	background: #fff;
}

#l-header .head-btn a:hover:after {
	border-left: 6px solid #58493e;
}

#l-header .head-btn.type1 a {
	background: #4e472b;
	border: 1px solid #4e472b;
}

#l-header .head-btn.type1 a:hover {
	color: #fb9797;
	background: #fff;
}

#l-header .head-btn.type1 a:hover:after {
	border-left: 6px solid #4e472b;
}

#header_nav {
	position: relative;
	margin-left: auto;
	padding: 10px 40px;
	transition: all 0.3s ease-in;
}

@media all and (max-width: 1200px) {
	#header_nav {
		padding: 15px 18px;
	}
}

@media all and (max-width: 800px) {
	#header_nav {
		display: none;
	}
}

#header_nav > ul {
	display: flex;
	flex-wrap: wrap;
}

#header_nav > ul li {
	position: relative;
	flex: 1 0 auto;
	text-align: center;
	padding: 0 10px;
	margin-right: 10px;
	border-radius: 3px;
}

#header_nav > ul li.insta {
	background-color: #d43339;
	transition: all 0.6s ease;
	width: 100px;
}

#header_nav > ul li.insta a {
	color: #fff;
}

#header_nav > ul li.insta:hover {
	background-color: #fff;
}

#header_nav > ul li.insta:hover a {
	color: #fb9797;
}

#header_nav > ul li a {
	display: block;
	line-height: 1.4;
	font-size: 1.7rem;
	color: #fff;
	padding: 10px 0;
	font-family: "YakuHanJP", "Zen Maru Gothic", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "YuGothic",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
	font-weight: 500;
	position: relative;
}

#header_nav > ul li a span {
	display: block;
	font-size: 1.2rem;
	font-family: "EB Garamond", serif;
	font-weight: 600;
	color: #777;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	transition: all 0.3s ease;
}

#header_nav > ul li a.active,
#header_nav > ul li a:hover {
	color: #fb9797;
}

#header_nav > ul li a.active:after,
#header_nav > ul li a:hover:after {
	opacity: 1;
}

#header_nav > ul li a.accent {
	background: #58493e;
	color: #fff;
}

#header_nav > ul li a.accent span {
	color: #fff;
}

#header_nav > ul li a.accent.active,
#header_nav > ul li a.accent:hover {
	background: #4e472b;
}

@media all and (max-width: 1200px) {
	#header_nav > ul li a {
		font-size: 1.5rem;
	}
}

#header_nav .dropdown {
	display: none;
	position: absolute;
	transform: translateX(-50%);
	left: 50%;
	top: 30px;
	padding-top: 28px;
	z-index: 999;
	width: 180px;
}

#header_nav .dropdown .dropdown-li {
	padding: 0 0;
}

#header_nav .dropdown .dropdown-li:not(:last-child) {
	border-bottom: 1px solid #d9d3c3;
}

#header_nav .dropdown .dropdown-li a {
	display: block;
	padding: 10px;
	font-size: 1.4rem;
	color: #957d6c;
	background: #fff7db;
}

#header_nav .dropdown .dropdown-li a:hover {
	background: #ffeca8;
}

.bg-footer {
	background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/008.jpg) no-repeat 50% /
		cover;
}

.bg-footer.bg-half {
	position: relative;
}

.bg-footer.bg-half:before {
	position: absolute;
	content: "";
	left: 0%;
	width: 100%;
	height: 30%;
	bottom: 0;
	background: #fff7db;
	z-index: 0;
}

#l-footer {
	font-size: 1.3rem;
	position: relative;
}

#l-footer:after {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/footer-bg.jpg);
	background-position: 50% 85%;
	opacity: 0.5;
}

#l-footer .inner {
	position: relative;
	z-index: 3;
	padding: 85px 10px 30px;
}

#l-footer .footer-box {
	max-width: 1200px;
	margin: 0 auto;
	padding: 40px 20px;
	border-radius: 20px;
}

@media all and (max-width: 639px) {
	#l-footer .footer-box {
		padding: 25px 10px;
	}
}

@media all and (max-width: 639px) {
	#l-footer {
		font-size: 12px;
	}
}

.footer-column-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	flex-direction: column;
	text-align: center;
	margin-bottom: 40px;
}

.footer-column-wrap .footer-column-left {
	width: 80%;
}

.footer-column-wrap .footer-column-left p {
	font-size: 1.6rem;
}

.footer-column-wrap .footer-column-right {
	width: 80%;
}

@media all and (max-width: 800px) {
	.footer-column-wrap .footer-column-left,
	.footer-column-wrap .footer-column-middle {
		width: 100%;
	}
	.footer-column-wrap .footer-column-right {
		width: 100%;
		margin-top: 20px;
	}
	.footer-column-wrap .footer-column-right {
		margin-top: 20px;
	}
}

@media all and (max-width: 639px) {
	.footer-column-wrap {
		flex-direction: column;
	}
	.footer-column-wrap .footer-column-left,
	.footer-column-wrap .footer-column-middle,
	.footer-column-wrap .footer-column-right {
		width: 100%;
	}
}

.footer_navi {
	margin: 30px auto 20px;
}

.footer_navi ul {
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
}

.footer_navi li {
	width: 33%;
	text-align: center;
	margin: 20px 0;
}

.footer_navi li:last-child {
	border-right: 0;
}

.footer_navi li a {
	color: #957d6c;
	font-size: 1.6rem;
	position: relative;
	font-weight: 600;
	font-family: "YakuHanJP", "Zen Maru Gothic", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "YuGothic",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
}

.footer_navi li a span {
	display: none;
}

.footer_navi li a:hover {
	color: #58493e;
}

.footer_navi li .dropdown {
	display: none;
}

.footer-insta a {
	width: 35px;
	height: 35px;
	display: block;
	margin: 0 auto;
	text-align: center;
	line-height: 35px;
	border-radius: 100%;
	font-size: 1.8rem;
	background: #222;
	color: #fefefe;
}

.address {
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: 20px;
	color: #58493e;
}

@media all and (max-width: 639px) {
	.address {
		font-size: 0.9em;
	}
}

.flogo {
	width: 350px;
	margin: 0 auto 20px;
	min-height: 0;
}

.flogo a {
	display: block;
}

@media all and (max-width: 639px) {
	.flogo {
		width: 250px;
	}
}

.flogo2 {
	position: absolute;
	width: 160px;
	top: -7.76rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 100;
}

.copyright {
	padding: 18px 0 18px;
	background: #588a6e;
	color: #fff;
	font-size: 1.2rem;
	position: relative;
}

@media all and (max-width: 800px) {
	.copyright {
		padding-bottom: 65px;
	}
}

@media all and (max-width: 639px) {
	.copyright {
		font-size: 12px;
	}
}

#page-top {
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index: 200;
}

#page-top a {
	display: block;
	background: #fff;
	color: #957d6c;
	border: 1px solid #957d6c;
	width: 40px;
	height: 40px;
	line-height: 40px;
	border-radius: 50%;
	font-size: 1.1rem;
	text-align: center;
}

#page-top a:hover {
	opacity: 0.6;
}

@media all and (max-width: 639px) {
	#page-top {
		bottom: 73px;
	}
	#page-top a {
		width: 34px;
		height: 34px;
		line-height: 34px;
	}
}

.fixed-btn {
	position: fixed;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 150;
}

@media all and (max-width: 800px) {
	.fixed-btn {
		display: none !important;
	}
}

.fixed-btn a {
	text-align: center;
	padding: 10px;
	display: block;
	background: #b588c4;
	border-radius: 5px 0 0 5px;
	color: #fff;
	font-size: 12px;
	border: 2px solid #73bb92;
	box-shadow: 0 0 0 2px #fff;
}

@media all and (max-width: 1200px) {
	.fixed-btn a {
		font-size: 11px;
	}
}

.fixed-btn a i {
	display: block;
	font-size: 2rem;
	margin-bottom: 3px;
}

.fixed-btn a:hover {
	background: #fff;
	color: #58493e;
}

.fixed-btn a:nth-child(even) {
	background: #4e472b;
	border: 2px solid #4e472b;
}

.fixed-btn a:nth-child(even):hover {
	background: #fff;
	color: #4e472b;
}

.fixed-btn a:not(:last-of-type) {
	margin-bottom: 10px;
}

@media all and (max-width: 800px) {
	.fixed-btn {
		display: none !important;
	}
}

@keyframes zoom-in {
	0% {
		transform: scale(1.1);
	}
	100% {
		transform: scale(1);
	}
}

.swiper-wrapper {
	overflow: hidden;
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img {
	animation: zoom-in 11s linear 0s 1 normal both;
}

.swiper-pagination {
	position: relative !important;
	margin-top: 20px;
}

.swiper-pagination-bullet {
	background-color: #58493e !important;
	width: 12px !important;
	height: 12px !important;
	margin: -10px 8px !important;
	position: relative !important;
}

.swiper-pagination-bullet:before {
	width: 1.5px !important;
	height: 20px !important;
	position: absolute !important;
	top: -15px;
	right: 0px;
	content: "";
	background: #58493e;
}

@media all and (max-width: 639px) {
	.swiper-pagination-bullet {
		width: 10px !important;
		height: 10px !important;
	}
}

.swiper-slide {
	position: relative;
}

.swiper-slide.type1:before {
	background-color: rgba(0, 0, 0, 0);
}

.swiper-slide:before {
	position: absolute;
	width: 100%;
	height: 100%;
	content: "";
	left: 0;
	top: 0;
	background-position: center;
	background-size: cover;
	z-index: 1;
	background-color: rgba(78, 71, 43, 0.18);
	background-blend-mode: color;
}

.swiper-slide.slide0:before {
	background-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/0.jpg);
}

.swiper-slide.slide1:before {
	background-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/01.jpg);
}

.swiper-slide.slide2:before {
	background-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/02.jpg);
}

.swiper-slide.slide3:before {
	background-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/014.jpg);
	background-position: center 20%;
}

.slide-img {
	overflow: hidden;
	margin: 0 auto;
	width: 100%;
	height: 100vh;
	max-height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.slide-img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

@media all and (max-width: 639px) {
	.slide-img {
		height: 70vh;
	}
}

.slide-img2 {
	overflow: hidden;
	margin: 0 auto;
	width: 100%;
	height: 300px;
	max-height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.slide-img2 img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

@media all and (max-width: 639px) {
	.slide-img2 {
		height: 200px;
	}
}

.slide-txt {
	position: absolute;
	right: 50%;
	top: 50%;
	transform: translate(50%, -50%);
	text-align: center;
	z-index: 3;
	height: 330px;
}

.slide-txt img {
	width: auto;
	max-height: 100%;
}

@media all and (max-width: 800px) {
	.slide-txt {
		width: 500px;
		bottom: 25%;
	}
}

@media all and (max-width: 639px) {
	.slide-txt {
		width: 85%;
	}
}

#slide-bg {
	position: relative;
}

#slideshow {
	width: 100%;
	margin-left: auto;
	overflow: hidden;
	position: relative;
	background-color: #f4fcee;
}

#slideshow:before {
	position: absolute;
	content: "";
	width: 100%;
	left: 0;
	bottom: 0;
	height: 50%;
	background-size: 600% 600%;
	animation: AnimationName 16s ease infinite;
	mask-image: linear-gradient(transparent, #fff 100%);
	-webkit-mask-image: linear-gradient(transparent, #fff 100%);
	opacity: 0.8;
	background-blend-mode: multiply;
	z-index: 2;
}

#slideshow::after {
	position: absolute;
	content: "";
	bottom: -26px;
	display: block;
	width: 100%;
	height: 100px;
	background-image: url("https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/slide-deco.svg");
	z-index: 2;
}

#catch {
	z-index: 1;
	position: absolute;
	left: 3%;
	bottom: 10%;
	height: 300px;
	opacity: 0;
}

#catch img {
	height: auto;
	max-height: 95%;
	width: auto;
}

#catch.on {
	opacity: 1;
	transition: 2s;
}

@media all and (max-width: 1200px) {
	#catch {
		height: 300px;
	}
}

@media all and (max-width: 800px) {
	#catch {
		height: 200px;
		bottom: 20%;
	}
}

@media all and (max-width: 639px) {
	#catch {
		height: 150px;
	}
}

.contact_lead {
	font-size: 1.3em;
	color: #957d6c;
	text-align: center;
}

@media all and (max-width: 639px) {
	.contact_lead {
		font-size: 1em;
	}
}

.top-news_column2 {
	display: flex;
	flex-wrap: wrap;
}

.top-news_column2 .top_news_left {
	overflow: hidden;
	flex: 1;
	padding: 15px;
	margin-right: 30px;
}

.top-news_column2 .top_news_left .inner {
	background-color: #fff;
	padding: 5px;
}

.top-news_column2 .top_news_right {
	width: 410px;
	padding: 10px;
}

@media all and (max-width: 800px) {
	.top-news_column2 .top_news_right {
		width: 300px;
	}
}

@media all and (max-width: 639px) {
	.top-news_column2 .top_news_left {
		width: 100%;
		margin-right: auto;
		overflow: visible;
	}
	.top-news_column2 .top_news_right {
		width: 98%;
		margin: 0 auto;
	}
}

.top-btn-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
	z-index: 5;
}

.top-btn-list .child {
	width: calc((100% - 80px) / 3);
	background: #fefefe;
	box-shadow: 0 6px 15px rgba(86, 38, 8, 0.06);
	border-radius: 15px;
}

.top-btn-list .child a {
	display: block;
	position: relative;
}

.top-btn-list .child a figure {
	height: 350px;
	overflow: hidden;
	border-radius: 15px 15px 0 0;
	background-image: linear-gradient(to right bottom, #4e472b, #4e472b);
}

.top-btn-list .child a img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;";
	opacity: 0.7;
	transition: 0.2s all ease-in;
}

.top-btn-list .child a:hover img {
	opacity: 1;
	transform: scale(1.1);
}

.top-btn-list .top-btn-title {
	position: relative;
	z-index: 2;
	width: 85%;
	padding-top: 15px;
	margin: -25px auto 20px;
	color: #58493e;
	font-weight: 500;
	text-align: center;
	z-index: 2;
	line-height: 1.4;
	font-size: 2rem;
	background: #fff;
	border-radius: 15px 15px 0 0;
}

.top-btn-list .top-btn-title .eng {
	font-size: 1.5rem;
	color: #457fbc;
	font-family: "Outfit", serif;
	font-weight: 400;
	text-transform: uppercase;
}

.top-btn-list .top-btn-title .txt {
	font-size: 1.5rem;
	color: #4e472b;
}

.top-btn-list .top-btn-title.type1 .eng {
	color: #fb9797;
}

.top-btn-list .top-btn-title.type2 .eng {
	color: #73bb92;
}

@media all and (max-width: 800px) {
	.top-btn-list .child {
		width: calc((100% - 80px) / 2);
		margin: 0 20px;
		margin-bottom: 40px;
	}
}

@media all and (max-width: 639px) {
	.top-btn-list .child {
		width: 100%;
	}
	.top-btn-list .child a figure {
		height: 200px;
	}
	.top-btn-list .top-btn-title {
		padding-top: 10px;
		font-size: 1.5rem;
	}
	.top-btn-list .top-btn-title .eng {
		font-size: 1.2rem;
	}
}

.top-bnr-list2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1200px;
	margin: 0 auto;
}

.top-bnr-list2 > li {
	width: 32%;
	position: relative;
	margin-bottom: 20px;
}

.top-bnr-list2 > li.col2 {
	width: 49%;
}

@media all and (max-width: 639px) {
	.top-bnr-list2 > li.col2 {
		width: 48%;
	}
}

.top-bnr-list2 > li.col2 a .top-bnr-img {
	height: 180px;
}

.top-bnr-list2 > li.col100 {
	width: 100%;
}

.top-bnr-list2 > li.col100:nth-child(2n) a .top-bnr-img {
	background-color: #4e472b;
}

.top-bnr-list2 > li.col100 a .top-bnr-img {
	height: 130px;
	border-radius: 5px;
}

@media all and (max-width: 1200px) {
	.top-bnr-list2 > li.col100 a .top-bnr-img {
		height: 120px;
	}
}

@media all and (max-width: 800px) {
	.top-bnr-list2 > li.col100 a .top-bnr-img {
		height: 90px;
	}
}

@media all and (max-width: 639px) {
	.top-bnr-list2 > li.col100 a .top-bnr-img {
		height: 90px;
	}
}

.top-bnr-list2 > li a {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 2;
	overflow: hidden;
}

.top-bnr-list2 > li a:hover {
	transition: all 0.2s ease-in;
}

.top-bnr-list2 > li a:hover .btn-arrow::before {
	border-top-color: #fefefe;
	border-right-color: #fefefe;
	border-bottom-color: #fefefe;
	transition:
		border-top-color 0.15s linear,
		border-right-color 0.15s linear 0.1s,
		border-bottom-color 0.15s linear 0.2s;
}

.top-bnr-list2 > li a:hover .btn-arrow::after {
	border-top: 1px solid #fefefe;
	border-left-width: 1px;
	border-right-width: 1px;
	transform: rotate(270deg);
	transition:
		transform 0.4s linear 0s,
		border-left-width 0s linear 0.35s;
}

.top-bnr-list2 > li a:hover .btn-arrow i {
	border-bottom-color: #fefefe;
}

.top-bnr-list2 > li a:hover .btn-arrow i:before {
	border-right-color: #fefefe;
}

.top-bnr-list2 > li a:hover .top-bnr-img {
	filter: blur(0);
}

.top-bnr-list2 > li a:hover .top-bnr-img img {
	padding: 0;
	transform: scale(1.05);
	opacity: 0.8;
}

@media all and (max-width: 1200px) {
	.top-bnr-list2 {
		width: 98%;
	}
}

@media all and (max-width: 800px) {
	.top-bnr-list2 {
		width: 90%;
	}
}

@media all and (max-width: 639px) {
	.top-bnr-list2 {
		width: 98%;
		margin: 20px auto 0;
	}
	.top-bnr-list2 > li {
		width: 100%;
		margin-bottom: 20px;
	}
}

.top-bnr-list2 .top-bnr-img {
	position: relative;
	width: 100%;
	height: 300px;
	overflow: hidden;
	box-shadow: 0 0 8px rgba(17, 17, 17, 0.1);
	background-color: rgba(78, 71, 43, 0.9);
}

.top-bnr-list2 .top-bnr-img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;";
	-o-object-position: center 25%;
	object-position: center 25%;
	transition: all 0.2s ease-in;
	opacity: 0.35;
}

@media all and (max-width: 800px) {
	.top-bnr-list2 .top-bnr-img {
		height: 180px;
	}
}

.top-bnr-list2 .btn-arrow {
	width: 53px;
	height: 53px;
	position: absolute;
	right: 3%;
	bottom: 50%;
	transform: translateY(50%);
	text-align: center;
	line-height: 60px;
	border: 1px solid rgba(0, 0, 0, 0);
	border-radius: 100%;
	transition: all 0.2s ease-in;
}

.top-bnr-list2 .btn-arrow::before,
.top-bnr-list2 .btn-arrow::after {
	border-radius: 100%;
	box-sizing: inherit;
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.top-bnr-list2 .btn-arrow::before {
	border: 1px solid rgba(0, 0, 0, 0);
}

.top-bnr-list2 .btn-arrow::after {
	border: 0 solid rgba(0, 0, 0, 0);
}

@media all and (max-width: 800px) {
	.top-bnr-list2 .btn-arrow {
		width: 50px;
		height: 50px;
	}
}

.top-bnr-list2 .btn-arrow i {
	display: block;
	position: absolute;
	width: 30px;
	border-bottom: 1px solid #fff;
	position: relative;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	height: 5px;
}

.top-bnr-list2 .btn-arrow i:before {
	position: absolute;
	width: 10px;
	height: 8px;
	content: "";
	right: 3px;
	bottom: -1px;
	border-right: 2px solid #fff;
	transform: skew(45deg);
}

.top-bnr-list2 .top-bnr-title {
	font-weight: 500;
	padding: 15px 40px;
	line-height: 1.4;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	width: 98%;
	display: flex;
	align-items: center;
	width: 100%;
}

.top-bnr-list2 .top-bnr-title .icon {
	display: inline-block;
	width: 40px;
	margin-right: 20px;
}

.top-bnr-list2 .top-bnr-title .eng {
	font-family: "EB Garamond", serif;
	font-weight: 600;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	color: #58493e;
	display: block;
	font-weight: 500;
	text-transform: uppercase;
}

.top-bnr-list2 .top-bnr-title .ja {
	display: block;
	color: #fff;
	font-size: 2rem;
	font-family: "YakuHanJP", "Zen Maru Gothic", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "YuGothic",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
}

@media all and (max-width: 800px) {
	.top-bnr-list2 .top-bnr-title {
		padding: 15px 20px;
	}
	.top-bnr-list2 .top-bnr-title .eng {
		font-size: 1.6rem;
	}
	.top-bnr-list2 .top-bnr-title .ja {
		font-size: 1.2rem;
	}
}

.top-bnr-list2 .top-bnr-txt {
	color: #222;
	padding: 10px;
	font-size: 1.4rem;
	font-family: "YakuHanJP", "Zen Maru Gothic", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "YuGothic",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.top-bnr-list2 .h-num {
	position: absolute;
	bottom: 5%;
	right: 2%;
	color: #333;
}

.top-bnr-list2 .h-num span {
	font-size: 2rem;
	margin: 0 5px;
}

@media all and (max-width: 800px) {
	.top-bnr-list2 .h-num {
		font-size: 1.3rem;
	}
	.top-bnr-list2 .h-num span {
		font-size: 1.6rem;
	}
}

.top-maru {
	position: relative;
	padding: 30px 0;
}

.top-maru:before {
	position: absolute;
	content: "";
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	width: 120%;
	height: 50%;
	background-color: #b1dbd2;
	border-radius: 100% 100% 0 0;
}

.top_01 {
	background-color: #fff7db;
	background-image: linear-gradient(0deg, #fff7db 0%, #f4fcee 100%);
}

.top_03 .top03_img {
	width: 100%;
	position: relative;
	border-radius: 10px;
	height: 400px;
	border-radius: 10px;
	overflow: hidden;
}

.top_03 .top03_img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
}

.top_03 .top3_read {
	display: table;
	margin-top: -70px;
	background: #fff7db;
	padding: 30px 240px 15px 30px;
	border-radius: 0 10px 0 0;
	font-size: 25px;
	letter-spacing: 0.1em;
	font-weight: bold;
	color: #3e3822;
	margin-bottom: 40px;
	position: relative;
	padding-bottom: 15px;
	text-align: center;
}

.top_03 .top3_read .eng {
	font-family: "EB Garamond", serif;
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 0.1em;
	display: block;
	font-weight: bold;
}

@media all and (max-width: 639px) {
	.top_03 .top03_img {
		height: auto;
	}
	.top_03 .top3_read {
		padding: 15px 30px;
		font-size: 1.8rem;
		margin-bottom: 20px;
	}
	.top_03 .l-m30 {
		margin-left: auto;
	}
}

.news-box {
	padding: 15px;
	position: relative;
	z-index: 10;
	margin: 0 auto;
	display: flex;
	max-width: 1000px;
}

.news-box.type1 {
	background: #fff;
	border-radius: 20px;
	padding: 20px;
}

@media all and (max-width: 639px) {
	.news-box {
		flex-direction: column;
		margin: -10px auto 25px;
		width: 100%;
		padding: 10px;
	}
}

.news-title {
	font-weight: 600;
	border-right: 3px solid #f0f0f0;
	padding: 5px 20px;
	color: #58493e;
}

.news-title span {
	font-size: 2.5rem;
	display: block;
	font-family: "Outfit", serif;
	font-weight: 400;
	margin-bottom: -5px;
	color: #58493e;
}

@media all and (max-width: 639px) {
	.news-title {
		padding: 5px 10px;
		width: 100%;
		font-size: 1.2rem;
		border-right: 0;
	}
	.news-title span {
		font-size: 2rem;
	}
}

.news-right {
	flex: 1;
	padding: 10px;
	margin-left: 20px;
	position: relative;
}

@media all and (max-width: 639px) {
	.news-right {
		width: 100%;
		margin: 10px 0 0;
	}
}

.news .news-inner {
	padding: 10px 5px;
	border-top: 1px solid rgba(88, 73, 62, 0.3);
}

.news dt {
	width: 7em;
	padding: 5px;
	text-align: center;
	background: #fb9797;
	font-weight: 600;
	padding: 5px 0;
	color: #58493e;
}

.news dd {
	padding: 5px;
	padding: 10px 0;
	width: 100%;
	margin-left: 10px;
	line-height: 1.6;
	margin-bottom: 5px;
}

.news dd a {
	color: #333;
}

@media all and (max-width: 639px) {
	.news dd {
		font-size: 0.9em;
	}
}

.news dt:not(:last-of-type),
.news dd:not(:last-of-type) {
	margin-bottom: 5px;
}

.news-bl {
	position: relative;
}

.news-bl dt {
	float: left;
	width: 8em;
	padding: 5px 5px;
	line-height: 1.3;
	letter-spacing: 0;
	text-align: center;
	font-size: 0.9em;
	background: #4e472b;
	border-radius: 20px;
	color: #fff;
}

.news-bl dd {
	padding: 3px 0 10px 9.5em;
	line-height: 1.6;
	border-bottom: 1px dotted #ddd;
	margin: 0 0 10px;
}

.news-bl dd a {
	color: #957d6c;
	font-weight: 700;
}

.news-bl dd:last-child {
	margin: 0;
	border-bottom: none;
}

@media all and (max-width: 639px) {
	.news-bl dt {
		float: none;
	}
	.news-bl dd {
		padding: 5px;
	}
}

.risu {
	position: relative;
}

.risu .risu-img {
	position: absolute;
	width: 90px;
	height: 90px;
	right: -30px;
	bottom: -10px;
}

@media all and (max-width: 639px) {
	.risu .risu-img {
		width: 40px;
		height: 40px;
		right: 0;
	}
}

.top-blog {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.top-blog li {
	width: 32%;
	margin: 0 1.5% 10px;
	position: relative;
}

.top-blog li > a {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 2;
}

.top-blog li > a:hover ~ .top-blog_img img {
	transform: scale(1.1);
}

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

.top-blog .top-blog_img {
	margin-bottom: 10px;
	overflow: hidden;
	height: 180px;
}

.top-blog .top-blog_img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;";
	transition: transform 0.2s ease-in;
}

.top-blog .top-blog_content {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}

.top-blog .top-blog_time {
	background: #58493e;
	padding: 8px 5px;
	color: #fff;
	width: 25%;
	text-align: center;
	line-height: 1.2;
}

.top-blog .top-blog_time span {
	display: block;
	font-size: 1.3rem;
	letter-spacing: 0.1rem;
}

.top-blog .top-blog_time span.day {
	font-size: 2.5rem;
	font-weight: bold;
}

.top-blog .top-blog_detail {
	flex: 1;
	padding-left: 10px;
}

.top-blog .top-blog_ttl {
	font-size: 1.7rem;
	font-weight: bold;
}

@media all and (max-width: 800px) {
	.top-blog li {
		width: 49%;
		margin-right: 2%;
	}
	.top-blog li:nth-child(3n) {
		margin-right: 2%;
	}
	.top-blog li:nth-child(2n) {
		margin-right: 0;
	}
}

@media all and (max-width: 639px) {
	.top-blog li {
		width: 85%;
		margin: 0 auto 20px;
	}
	.top-blog li:nth-child(2n),
	.top-blog li:nth-child(3n) {
		margin-right: auto;
	}
	.top-blog .top-blog_time span {
		font-size: 1.1rem;
	}
	.top-blog .top-blog_time span.day {
		font-size: 1.8rem;
	}
	.top-blog .top-blog_ttl {
		font-size: 1.3rem;
	}
}

.blog-wrap {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
}

.blog-wrap * {
	transition: 0.3s;
}

.blog-wrap > li {
	width: 32%;
	margin: 0 0.5% 3%;
	background: #fefefe;
	position: relative;
}

@media all and (max-width: 800px) {
	.blog-wrap > li {
		width: 48%;
		margin: 0 1% 3%;
	}
}

.blog-wrap > li > a {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 3;
}

.blog-wrap > li > a:hover ~ .blog-img img {
	opacity: 1;
	transform: scale(1.2);
}

@media all and (max-width: 639px) {
	.blog-wrap > li {
		width: 80%;
		margin: 0 auto 3%;
	}
}

.blog-img {
	width: 100%;
	height: 180px;
	overflow: hidden;
}

.blog-img img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: all 0.4s ease;
	font-family: "object-fit: cover;";
}

.blog-img:hover img {
	opacity: 1 !important;
	transform: scale(1.2);
}

.blog-date {
	color: #457fbc;
	display: block;
	font-size: 13px;
}

.blog-date:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
	margin-right: 5px;
}

.blog-date2 {
	color: #2b241e;
	font-size: 0.9em;
	margin-bottom: 5px;
	margin-right: 5px;
}

.blog-date2:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	margin-right: 5px;
}

.blog-detail {
	padding: 10px;
}

@media all and (max-width: 639px) {
	.blog-detail {
		padding: 10px;
	}
}

.blog-title {
	font-weight: bold;
	margin-bottom: 10px;
	color: #111;
	line-height: 1.5;
}

.blog-txt {
	font-size: 14px;
	line-height: 1.5;
	color: #555;
}

@media all and (max-width: 639px) {
	.blog-txt {
		font-size: 12px;
	}
}

.pages {
	text-align: center;
	margin-top: 30px;
}

.pages .page_next,
.pages .page_prev {
	display: inline;
	margin: 0 20px;
}

.pages .page_next a,
.pages .page_prev a {
	color: #1c1714;
	padding: 3px 5px;
	background: #fff;
}

.category_nav {
	border: 1px solid #ddd;
}

.category_nav li a {
	display: block;
	padding: 15px;
	border-bottom: 1px dotted #ddd;
	background-color: #fff;
}

.category_nav li a:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
	margin-right: 5px;
}

.category_nav li a:hover {
	background: #f0efec;
}

.category_nav li:last-child a {
	border-bottom: none;
}

.blog-month {
	margin-bottom: 10px;
}

.blog-month ul {
	display: flex;
	flex-wrap: wrap;
}

.blog-month ul li {
	background: #fefefe;
	width: 45%;
	padding: 3px 0;
	margin-bottom: 5px;
	font-size: 12px;
	letter-spacing: 0;
	text-align: center;
	margin-bottom: 5px;
}

.blog-month ul li:nth-child(even) {
	margin-left: 1%;
}

.blog-month ul li a {
	color: #58493e;
}

@media all and (max-width: 639px) {
	.blog-month ul li {
		width: 44%;
	}
}

.greet-wrap {
	display: flex;
	flex-wrap: wrap;
	padding: 5% 0;
	margin-bottom: 40px;
	flex-direction: row-reverse;
	justify-content: space-between;
}

.greet-wrap .greet-ttl {
	writing-mode: vertical-rl;
	position: relative;
	font-family: "YakuHanJP", "Zen Maru Gothic", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "YuGothic",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
	font-size: 3.6rem;
	letter-spacing: 0.2em;
	display: flex;
}

.greet-wrap .content {
	width: 74.1%;
}

.greet-wrap .content img {
	position: relative;
	margin: 0 0 40px 0;
}

@media all and (max-width: 800px) {
	.greet-wrap .greet-ttl {
		writing-mode: initial;
		font-size: 2.8rem;
		text-align: center;
		width: 100%;
		flex-wrap: wrap;
		flex-direction: column;
		margin-bottom: 20px;
		letter-spacing: 0.1em;
		line-height: 1.6;
	}
	.greet-wrap .content {
		width: 100%;
	}
}

@media all and (max-width: 639px) {
	.greet-wrap .greet-ttl {
		font-size: 2rem;
	}
}

.greet-txt {
	letter-spacing: 0;
	line-height: 2;
	padding: 15px;
	font-weight: normal;
}

.greet-wrap2 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

.greet-wrap2 .child-txt {
	width: 55%;
	padding: 20px 20px 20px 65px;
}

.greet-wrap2 .child-img {
	width: 38%;
	text-align: center;
	margin-bottom: 30px;
}

.greet-wrap2 .child-img img {
	-o-object-fit: contain;
	object-fit: contain;
}

.article {
	position: relative;
	padding: 100px 0;
}

.article .article-img {
	width: 60%;
	height: 100%;
	overflow: hidden;
	position: absolute;
	left: 0;
	top: 0;
}

.article .article-img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;";
}

.article .article-txt {
	background: #fefefe;
	padding: 40px 35px;
	width: 50%;
	position: relative;
	font-weight: 500;
	margin-left: auto;
	z-index: 2;
}

@media all and (max-width: 639px) {
	.article {
		padding: 0;
	}
	.article .article-img {
		position: static;
		width: 100%;
		height: auto;
	}
	.article .article-txt {
		width: 100%;
		padding: 40px 25px;
	}
}

.single {
	max-width: 1200px;
	margin: 0 auto;
	padding: 80px 0;
	position: relative;
}

@media all and (max-width: 1200px) {
	.single {
		width: 94%;
	}
}

.single.type1 {
	padding: 80px 0 0;
}

@media all and (max-width: 639px) {
	.single.type1 {
		padding: 40px 0 0;
	}
}

.single02 {
	margin: 0 auto;
	padding: 80px 0;
}

.single03 {
	max-width: 1500px;
	margin: 0 auto;
	padding: 90px 0;
	position: relative;
}

.margin-top {
	margin-top: -80px;
}

@media all and (max-width: 639px) {
	.margin-top {
		margin-top: -30px;
	}
}

.lsingle,
.rsingle {
	width: 48.44%;
}

.lsingle {
	float: left;
}

.rsingle {
	float: right;
}

.mbox {
	background: #fefefe;
	padding: 40px 30px;
	max-width: 1200px;
	border-radius: 15px 0 15px 0;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 2;
}

.mbox.transparent {
	background: none;
	border: none;
	box-shadow: none;
}

.mbox.transparent:before {
	display: none;
}

@media all and (max-width: 639px) {
	.mbox {
		padding: 20px 15px;
	}
}

.mbox2 {
	background: #eee;
	margin-right: auto;
	margin-left: auto;
	border-radius: 15px;
	padding: 30px;
}

@media all and (max-width: 639px) {
	.mbox2 {
		padding: 15px;
	}
}

.mbox3 {
	background: rgba(255, 255, 255, 0.8);
	margin-right: auto;
	margin-left: auto;
	padding: 30px;
	border: 10px solid #eee;
}

@media all and (max-width: 639px) {
	.mbox3 {
		padding: 15px;
	}
}

.small-box {
	max-width: 900px;
	margin-right: auto;
	margin-left: auto;
}

.small-box.left {
	margin: 10% auto 10% 0;
}

.small-box.right {
	margin: 10% 0 10% auto;
}

.small-box2 {
	max-width: 900px;
	margin-right: auto;
	margin-left: auto;
	border-top: 4px solid #d43339;
	border-bottom: 4px solid #d43339;
}

.kuzyou {
	font-size: 0.95em;
	font-size: #333;
	font-weight: normal;
}

#main {
	float: left;
	width: 76%;
}

@media all and (max-width: 800px) {
	#main {
		float: none;
		width: 100%;
	}
}

#side {
	float: right;
	position: sticky;
	right: 0;
	top: 0;
	width: 21%;
	padding-right: 10px;
}

@media all and (max-width: 800px) {
	#side {
		float: none;
		width: 100%;
		position: static;
		margin-top: 40px;
	}
}

#col2-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1200px;
	margin: 0 auto;
}

#col2-wrap #col2-main {
	width: 78%;
}

@media all and (max-width: 800px) {
	#col2-wrap #col2-main {
		width: 100%;
		margin: 0 auto;
		order: 2;
	}
}

#col2-wrap #col2-side {
	width: 20%;
	padding: 60px 0 0;
}

@media all and (max-width: 800px) {
	#col2-wrap #col2-side {
		width: 95%;
		margin: 0 auto 20px;
		padding-top: 30px;
	}
}

.icon {
	width: 100px;
	text-align: center;
	margin: 0 auto 5px;
}

@media all and (max-width: 800px) {
	.icon {
		width: 50px;
	}
}

.mtitle {
	margin: 0 auto 40px;
	position: relative;
	text-align: center;
}

.mtitle .eng {
	position: relative;
	font-size: 1.3rem;
	color: #4e472b;
	z-index: 2;
	display: block;
	font-family: "Outfit", serif;
	font-weight: 400;
	text-transform: uppercase;
}

.mtitle .ja {
	position: relative;
	font-family: "YakuHanJP", "Zen Maru Gothic", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "YuGothic",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
	z-index: 2;
	font-size: 3rem;
	color: #58493e;
	line-height: 1.6;
}

.mtitle.type1 span {
	color: #957d6c;
}

.mtitle.type1 span.eng {
	color: #4e472b;
}

.mtitle.sbc span.eng {
	color: #4e472b;
}

.mtitle.white span {
	color: #fff;
	text-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
}

.mtitle.white span.eng {
	color: #fff;
}

.mtitle.mtitle_left {
	text-align: left;
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 25px;
}

.mtitle.mtitle_left:before {
	left: 2%;
	transform: translate(0, -50%);
}

.mtitle.mtitle_left span:after {
	left: 0;
	transform: none;
}

@media all and (max-width: 1200px) {
	.mtitle .ja {
		font-size: 2.2rem;
	}
}

@media all and (max-width: 639px) {
	.mtitle {
		text-align: center;
		margin: 0 auto 25px;
	}
	.mtitle .eng {
		font-size: 1.3rem;
	}
	.mtitle .ja {
		font-size: 2rem;
		letter-spacing: 0.1em;
	}
}

.mtitle_line {
	font-size: 1.8rem;
	padding-bottom: 10px;
	position: relative;
	margin-bottom: 30px;
	padding-top: 8px;
	padding-left: 20px;
	border-top: 2px solid #4e472b;
	letter-spacing: 0.2rem;
	background-color: #73bb92;
	color: #fff;
	font-weight: 500;
}

.mtitle_line span {
	display: block;
	font-size: 1.4rem;
	color: #58493e;
}

@media all and (max-width: 639px) {
	.mtitle_line {
		font-size: 1.4rem;
	}
	.mtitle_line span {
		font-size: 1.2rem;
	}
}

.mtitle_year {
	font-weight: 600;
	font-size: 2.4rem;
	margin: 0px auto 45px;
	position: relative;
	text-align: center;
	line-height: 1.4;
}

.mtitle_year span {
	display: block;
	font-family: "Outfit", serif;
	font-size: 2rem;
}

@media all and (max-width: 639px) {
	.mtitle_year {
		font-size: 1.8rem;
		margin: 0 auto 20px;
	}
}

.mtitle-child {
	position: relative;
}

.mtitle-child:before {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #4e472b;
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
}

.mtitle-child span {
	color: #4e472b;
	font-size: 25px;
	letter-spacing: 0.1em;
	font-weight: 500;
	display: table;
	background: #fff7db;
	line-height: 1em;
	border-left: 1px solid #4e472b;
	border-right: 1px solid #4e472b;
	position: relative;
	padding: 0 1em;
	margin-left: 30px;
}

@media all and (max-width: 639px) {
	.mtitle-child span {
		font-size: 18px;
	}
}

.mtitle2 {
	font-size: 2rem;
	margin-bottom: 20px;
	line-height: 2;
	position: relative;
	line-height: 1.5;
	font-weight: 600;
}

.mtitle2:after {
	position: absolute;
	left: 5px;
	bottom: -15px;
	content: "●●●";
	letter-spacing: 0.8em;
	font-size: 8px;
	color: #4e472b;
}

.mtitle2 .eng {
	font-size: 1.2rem;
	display: block;
	letter-spacing: 0.1rem;
	font-family: "Outfit", serif;
	font-weight: 400;
	color: #fb9797;
}

.mtitle2 .ja {
	color: #58493e;
	font-size: 2.5rem;
	font-weight: 500;
}

.mtitle2 .small {
	font-size: 0.9em;
	color: #4e472b;
	padding-left: 10px;
}

@media all and (max-width: 639px) {
	.mtitle2 {
		font-size: 1.5rem;
		padding-bottom: 5px;
	}
	.mtitle2 .ja {
		font-size: 1.8rem;
	}
}

.mtitle2.white {
	color: #fefefe;
}

.mtitle2.white span {
	color: #947b68;
}

.mtitle3 {
	font-size: 1.8rem;
	font-weight: bold;
	color: #73bb92;
	margin-bottom: 15px;
}

.mtitle3 span {
	display: block;
	color: #957d6c;
	font-size: 1.4rem;
	margin-top: 4px;
}

@media all and (max-width: 800px) {
	.mtitle3 {
		font-size: 1.4rem;
	}
	.mtitle3 span {
		font-size: 13px;
	}
}

.mtitle-bll {
	font-size: 1.8rem;
	font-weight: bold;
	border-bottom: 2px solid #f0efec;
	position: relative;
	padding-bottom: 5px;
	margin-bottom: 10px;
	line-height: 1.5;
}

.mtitle-bll:after {
	position: absolute;
	content: "";
	display: block;
	bottom: -2px;
	width: 100px;
	height: 2px;
	left: 0;
	background: #58493e;
}

@media all and (max-width: 639px) {
	.mtitle-bll {
		font-size: 1.4rem;
	}
}

.mtitle4 {
	text-align: center;
	font-size: 1.5rem;
	line-height: 1.5;
	letter-spacing: 0.1rem;
	font-weight: 600;
	margin-bottom: 15px;
}

.mtitle4.left-l {
	text-align: left;
}

.mtitle4 span {
	position: relative;
	display: inline-block;
	min-width: 10%;
	font-size: 1.5rem;
	color: #73bb92;
}

.mtitle4 span:before,
.mtitle4 span:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 1px;
	height: 2.5rem;
	background-color: #73bb92;
}

.mtitle4 span:before {
	left: -11px;
	transform: rotate(-20deg);
}

.mtitle4 span:after {
	right: -11px;
	transform: rotate(20deg);
}

.mtitle4.white span:before,
.mtitle4.white span:after {
	background-color: #e2b869;
}

.mtitle4.type1 {
	margin: -30px auto 30px;
}

@media all and (max-width: 639px) {
	.mtitle4 {
		font-size: 1.4rem;
	}
	.mtitle4.type1 {
		margin: -20px auto 20px;
	}
}

@media all and (max-width: 320px) {
	.mtitle4 span:before {
		left: -8px;
	}
	.mtitle4 span:after {
		right: -8px;
	}
}

.mtitle5 {
	margin: -118px -30px 40px;
	text-align: center;
	position: relative;
}

.mtitle5 span {
	display: inline-block;
	padding: 10px 18px;
	background: #4e472b;
	font-size: 3rem;
	color: #fff;
	position: relative;
	font-family: "YakuHanJP", "Zen Maru Gothic", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "YuGothic",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
	font-weight: 500;
	z-index: 2;
	border-radius: 50px;
}

@media all and (max-width: 639px) {
	.mtitle5 {
		margin: -49px -15px 0px;
	}
	.mtitle5:before {
		left: 50%;
		top: 50%;
		width: 92%;
		transform: translate(-50%, -50%);
	}
	.mtitle5 span {
		font-size: 1.7rem;
		line-height: 1.4;
	}
}

.mtitle_sub {
	padding-left: 0.5em;
	font-weight: 700;
	line-height: 1.3;
	position: relative;
	margin: 8px 0 30px;
}

.mtitle_sub.type1:before {
	background-color: #4e472b;
}

.mtitle_sub.type2:before {
	background-color: #d43339;
}

.mtitle_sub span {
	font-size: 2rem;
}

.mtitle_sub:before {
	position: absolute;
	left: -6px;
	bottom: 0;
	content: "";
	width: 5px;
	height: 100%;
	background-color: #4e472b;
}

.mtitle_sub2 {
	position: relative;
	margin-bottom: 20px;
}

.mtitle_sub2:before {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #e3e4e5;
	position: absolute;
	margin: auto;
	bottom: 0;
	top: 0;
}

.mtitle_sub2 span {
	display: table;
	background: #58493e;
	color: #e3e4e5;
	border: 1px solid #e3e4e5;
	border-radius: 100px;
	padding: 0 1.5em;
	position: relative;
	font-family: "YakuHanJP", "Zen Maru Gothic", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "YuGothic",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
	font-size: 17px;
	letter-spacing: 0.1em;
	font-weight: 400;
}

.mtitle_sub2 span.type1 {
	background-color: #fff;
	color: #555;
	font-size: 15px;
}

@media all and (max-width: 639px) {
	.mtitle_sub2 {
		margin-bottom: 10px;
	}
	.mtitle_sub2 span {
		font-size: 12px;
	}
}

.mtitle_box {
	background: #4e472b;
	color: #fff;
	font-size: 1.7rem;
	position: relative;
	padding: 10px;
	margin-bottom: 20px;
	font-weight: 500;
	border-radius: 4px;
}

.mtitle_box span {
	font-size: 1.4rem;
	color: #e2b869;
}

.mtitle_box:before {
	position: absolute;
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
	display: block;
	right: -1px;
	top: 50%;
	transform: translateY(-50%);
	color: #fff;
}

@media all and (max-width: 639px) {
	.mtitle_box {
		font-size: 1.4rem;
	}
	.mtitle_box span {
		font-size: 1.6rem;
	}
}

.mtitle_box2 {
	background: #4e472b;
	font-size: 2.2rem;
	color: #fff;
	position: relative;
	letter-spacing: 0.1rem;
	padding: 8px 10px 8px 20px;
	margin-bottom: 25px;
}

.mtitle_box2 span {
	position: absolute;
	font-size: 5rem;
	opacity: 0.5;
	left: 0;
	top: -75px;
	color: #555;
	letter-spacing: 0.2rem;
}

.mtitle_box2 .small-cap {
	font-weight: normal;
	font-size: 14px;
}

@media all and (max-width: 639px) {
	.mtitle_box2 {
		font-size: 15px;
		line-height: 1.5;
		padding: 10px 10px 10px 15px;
		padding-right: 40px;
	}
	.mtitle_box2 span {
		font-size: 3rem;
		top: -40px;
		opacity: 0.3;
	}
}

.mtext1 {
	font-size: 1.8rem;
	line-height: 2;
}

.mtext1 span {
	font-weight: 600;
}

@media all and (max-width: 800px) {
	.mtext1 {
		font-size: 1.5rem;
		line-height: 1.6;
	}
}

@media all and (max-width: 639px) {
	.mtext1 {
		font-size: 1.5rem;
		line-height: 1.6;
	}
}

.mtext2 {
	font-size: 2.5rem;
	font-weight: bold;
	letter-spacing: 0.1rem;
	line-height: 2em;
}

.mtext2 span {
	display: block;
	font-size: 4.4rem;
}

@media all and (max-width: 639px) {
	.mtext2 {
		font-size: 1.8rem;
		line-height: 1.6em;
	}
	.mtext2 span {
		font-size: 1.4rem;
	}
}

.mtitle_category {
	margin-bottom: 15px;
	font-size: 1.8rem;
	font-weight: normal;
}

.mtitle_category:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
	margin-right: 5px;
	color: #58493e;
}

.mtitle_small {
	position: relative;
	font-size: 1.7rem;
	color: #58493e;
	margin-bottom: 20px;
	font-weight: 700;
}

.mtitle_small:before {
	content: "";
	width: 30px;
	height: 1px;
	background-color: #58493e;
	position: absolute;
	left: 0;
	bottom: -10px;
}

.mtitle_small2 {
	position: relative;
	padding-left: 20px;
	color: #58493e;
	font-size: 1.4rem;
}

.mtitle_small2.white {
	color: #fff;
}

.mtitle_small2:before {
	content: "";
	background-color: #73bb92;
	width: 10px;
	height: 4px;
	position: absolute;
	top: 0.9em;
	left: 0;
}

.mtitle_small3 {
	padding: 12px 0;
	font-size: 1.8rem;
	border-top: 1px solid #58493e;
	border-bottom: 1px solid #58493e;
	font-family: "YakuHanJP", "Zen Maru Gothic", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "YuGothic",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
	margin-bottom: 25px;
}

.mtitle_small3:before {
	content: "―";
	margin-right: 8px;
	color: #58493e;
}

.mtitle_small3.type1 {
	border-top: 1px solid #fff7db;
	border-bottom: 1px solid #fff7db;
}

.mtitle_small3.type1:before {
	color: #fff7db;
}

.mtitle_small3.type2 {
	border-top: 1px solid #4e472b;
	border-bottom: 1px solid #4e472b;
}

.mtitle_small3.type2:before {
	color: #4e472b;
}

.mtitle_small3.type3 {
	border-top: 1px solid #4e472b;
	border-bottom: 1px solid #4e472b;
}

.mtitle_small3.type3:before {
	color: #4e472b;
}

.mtitle_small3.type4 {
	border-top: 1px solid #4e472b;
	border-bottom: 1px solid #4e472b;
}

.mtitle_small3.type4:before {
	color: #4e472b;
}

@media all and (max-width: 639px) {
	.mtitle_small3 {
		margin-bottom: 20px;
		padding: 8px 0;
		font-size: 1.4rem;
	}
}

.btn_wk a {
	letter-spacing: 0.2em;
	text-align: center;
	position: relative;
	color: #555;
	background: #fff;
	border: 1px solid #555;
	padding: 6px 10px;
	max-width: 180px;
	width: 80%;
	margin-top: 15px;
	margin-bottom: 5px;
	margin-right: auto;
	display: table;
	transition: all 0.3s ease-in-out;
}

@media all and (max-width: 639px) {
	.btn_wk a {
		margin-left: auto;
	}
}

.btn_wk a span {
	font-family: "EB Garamond", serif;
	font-weight: 600;
}

.btn_wk a i {
	font-size: 90%;
	margin-right: 5px;
}

.btn_wk a:before,
.btn_wk a:after {
	content: "";
	position: absolute;
	border: solid #555;
	width: 10px;
	height: 10px;
	transition: all 0.3s ease-in-out;
}

.btn_wk a:before {
	top: -6px;
	left: -6px;
	border-width: 1px 0 0 1px;
}

.btn_wk a:after {
	bottom: -6px;
	right: -6px;
	border-width: 0 1px 1px 0;
}

.btn_wk a:hover {
	color: #fff;
	background: #58493e;
	border-color: rgba(0, 0, 0, 0);
}

.btn_wk a:hover:before,
.btn_wk a:hover:after {
	width: calc(100% + 11px);
	height: calc(100% + 11px);
	border-color: #58493e;
}

.btn01 {
	margin: 20px auto 0px;
	width: 300px;
}

.btn01.left {
	margin-top: 20px;
	margin-bottom: 20px;
	margin-right: auto;
	margin-left: 30px;
}

@media all and (max-width: 639px) {
	.btn01.left {
		margin-left: auto;
		margin-right: auto;
		width: 230px;
	}
}

.btn01 a {
	border: 1px solid #4e472b;
	text-align: center;
	color: #fff;
	display: block;
	padding: 8px 5px;
	font-weight: bold;
	background-color: #4e472b;
}

.btn01 a:hover {
	background: #fff;
	color: #4e472b;
}

.btn01.type1 a {
	margin: 20px 0;
}

.btn01.spb {
	display: none;
}

@media all and (max-width: 639px) {
	.btn01.spb {
		display: block;
	}
}

.btn02 {
	width: 350px;
	margin: 20px auto 20px;
}

.btn02.left {
	margin: 20px auto 20px 0;
}

.btn02 a {
	display: block;
	position: relative;
	padding: 15px 0;
	background-color: #58493e;
	line-height: 24px;
	letter-spacing: 0.1rem;
	font-size: 1.6rem;
	text-align: center;
	color: #fff;
}

.btn02 a i {
	display: block;
	position: absolute;
	top: 50%;
	right: -10px;
	width: 50px;
	height: 1px;
	background-color: #fff;
	transition: all 0.3s ease;
}

.btn02 a:hover i {
	width: 34px;
}

@media all and (max-width: 639px) {
	.btn02 {
		width: 280px;
	}
	.btn02 a {
		font-size: 1.2rem;
	}
}

.btn03 {
	width: 100%;
	margin: 20px auto 0;
}

.btn03 a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	padding: 20px 40px;
	background-color: #b588c4;
	border: 1px solid #b588c4;
	color: #fefefe;
	border-radius: 10px;
	font-size: 1.8rem;
	font-weight: bold;
}

.btn03 a i {
	font-size: 2.2rem;
	border-left: 1px solid #fefefe;
	padding: 10px 0 10px 40px;
	padding-left: 40px;
	margin-left: 5px;
}

.btn03 a:hover {
	background: #fff;
	color: #412d26;
}

@media all and (max-width: 639px) {
	.btn03 a {
		font-size: 1rem;
		padding: 10px;
	}
	.btn03 a i {
		padding-left: 10px;
		font-size: 1.5rem;
	}
}

.btn-img01 {
	margin: 15px auto;
	text-align: center;
}

.page-title {
	position: relative;
	z-index: 1;
	overflow: hidden;
}

.page-title:before {
	position: absolute;
	content: "";
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/01.jpg) no-repeat 50% 50% /
		cover;
	opacity: 1;
	filter: contrast(0.7);
}

.page-title::after {
	position: absolute;
	content: "";
	bottom: -75px;
	display: block;
	width: 100%;
	height: 100px;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath fill='%23fefefe' d='M100,25H0V0h0c33.333,33.333,66.666,33.333,100,0l0,0V25z'%3E%3C/path%3E%3C/svg%3E");
	z-index: 2;
}

.page-title.type1:before {
	background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/02.jpg) no-repeat
		center/cover;
}

.page-title.type2:before {
	background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/03.jpg) no-repeat 100% 75% /
		cover;
}

.page-title.type3:before {
	background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/28.jpg) no-repeat center 40% /
		cover;
}

.page-title.type4:before {
	background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/25.jpg) no-repeat
		center/cover;
}

.page-title.type5:before {
	background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/10.jpg) no-repeat
		center/cover;
}

.page-title .inner {
	margin: 10px auto 0;
	padding: 200px 0 100px;
	max-width: 1200px;
}

.page-title .page-lead {
	margin: 0 auto;
	padding: 20px 0;
	position: relative;
}

.page-title .page-lead .mtitle {
	margin-bottom: 0;
	padding-top: 0;
	color: #fff;
	font-size: 3rem;
	font-weight: 600;
}

.page-title .page-lead .mtitle:before {
	display: none;
}

.page-title .page-lead .mtitle span {
	font-size: 3rem;
	line-height: 1.4;
	color: #58493e;
}

@media all and (max-width: 1200px) {
	.page-title .inner {
		padding: 140px 0 60px;
	}
}

@media all and (max-width: 800px) {
	.page-title {
		background-attachment: scroll;
	}
	.page-title .inner {
		width: 99%;
		height: auto;
		padding: 80px 0 40px;
		margin-bottom: 20px;
	}
	.page-title .page-lead {
		width: 90%;
		padding: 0;
	}
}

@media all and (max-width: 639px) {
	.page-title .page-lead {
		padding: 20px 0 0;
	}
	.page-title .page-lead .mtitle {
		font-size: 1.3rem;
	}
	.page-title .page-lead .mtitle span {
		font-size: 2.8rem;
		letter-spacing: 0;
		margin-bottom: -5px;
	}
}

.list-btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.list-btn.single-item li {
	margin: 0 0 10px;
}

.list-btn li {
	width: 32%;
	margin: 0 1.7733333333% 10px 0;
}

.list-btn li a {
	display: block;
	color: #4e472b;
	border: 1px solid #4e472b;
	border-radius: 5px;
	font-weight: 700;
	padding: 5px;
	text-align: center;
	width: 100%;
	height: 100%;
	line-height: 1.5;
	font-size: 1.5rem;
	letter-spacing: 0;
	padding: 15px 0;
}

.list-btn li a.pdf:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
	margin-right: 5px;
}

.list-btn li a .small {
	font-size: 1.4rem;
	margin-left: 3px;
}

.list-btn li:hover {
	transition: all 0.2s ease-in;
}

.list-btn li:hover a {
	background-color: rgba(78, 71, 43, 0.5);
	color: #fff;
}

.list-btn li .top-bnr-img {
	position: relative;
	width: 100%;
	height: 250px;
	overflow: hidden;
	box-shadow: 0 0 8px rgba(255, 255, 255, 0.1);
}

.list-btn li .top-bnr-img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;";
	transition: all 0.2s ease-in;
}

@media all and (max-width: 639px) {
	.list-btn li .top-bnr-img {
		height: 200px;
	}
}

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

@media all and (max-width: 639px) {
	.list-btn li {
		width: 90%;
		margin: 0 auto 10px;
	}
	.list-btn li a {
		font-size: 1.2rem;
	}
	.list-btn li:nth-child(3n) {
		margin-right: auto;
	}
}

.list-btn.type1 {
	max-width: 1000px;
	margin: 0 auto 20px;
	justify-content: center;
}

.list-btn.type1 li a {
	background: #58493e;
	border: 1px solid #3a3029;
}

.list-btn.type1 li a:hover {
	background: #95ccad;
}

.list-btn.type1 li a:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
	margin-right: 5px;
}

.sub-title {
	text-align: center;
	margin: -45px auto 0;
	position: relative;
	z-index: 10;
	line-height: 2.5;
}

.sub-title span {
	background-color: #fff;
	padding: 10px 20px;
	font-size: 2.8rem;
	font-weight: 600;
}

@media all and (max-width: 800px) {
	.sub-title span {
		font-size: 2rem;
		padding: 5px 17px;
	}
}

@media all and (max-width: 639px) {
	.sub-title span {
		font-size: 1.6rem;
		padding: 5px 7px;
	}
}

.bg-white {
	position: relative;
}

.bg-white:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	background-color: #fff;
	z-index: -5;
}

.bg-white.type1 {
	background: rgba(0, 0, 0, 0);
	position: relative;
	margin-top: 50px;
}

.bg-white.type1:after {
	position: absolute;
	content: "";
	left: 50%;
	top: 50%;
	width: calc(100% - 80px);
	height: calc(100% - 80px);
	transform: translate(-50%, -50%);
	background: #fefefe;
	z-index: -1;
}

@media all and (max-width: 800px) {
	.bg-white.type1:after {
		width: calc(100% - 20px);
		height: calc(100% - 20px);
	}
}

.bg-white.type1 .inner {
	position: relative;
	z-index: 3;
}

.bg-pink {
	background: #fff7db;
	position: relative;
}

.bg-pink:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 98%;
	background-color: #b3ddc5;
	z-index: -5;
}

.bg-pink.type1 {
	background: rgba(0, 0, 0, 0);
	position: relative;
	margin-top: 50px;
}

.bg-pink.type1:after {
	position: absolute;
	content: "";
	left: 50%;
	top: 50%;
	width: calc(100% - 80px);
	height: calc(100% - 80px);
	transform: translate(-50%, -50%);
	background: #fefefe;
	z-index: -1;
}

@media all and (max-width: 800px) {
	.bg-pink.type1:after {
		width: calc(100% - 20px);
		height: calc(100% - 20px);
	}
}

.bg-pink.type1 .inner {
	position: relative;
	z-index: 3;
}

.bg-grid {
	background: rgba(255, 255, 255, 0.9);
	background-image: linear-gradient(90deg, transparent 95%, rgba(204, 204, 204, 0.2) 50%, rgba(204, 204, 204, 0.2)),
		linear-gradient(0deg, transparent 95%, rgba(204, 204, 204, 0.2) 50%, rgba(204, 204, 204, 0.2));
	background-size: 20px 20px;
	background-repeat: repeat;
}

.bg-fixed {
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-size: cover;
	height: 480px;
}

@media all and (max-width: 800px) {
	.bg-fixed {
		background-attachment: scroll;
		height: 270px;
	}
}

.bg-fixed.fixed01 {
	background-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/fixed01.jpg);
	background-position: center;
}

.bg-map {
	background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/map.png) no-repeat right
		bottom;
}

@media all and (max-width: 639px) {
	.bg-map {
		background-size: auto 200px;
		background-position: right top;
	}
}

.bg-01 {
	position: relative;
}

.bg-01:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/002.png) repeat 50%/50px;
	z-index: -1;
	opacity: 0.3;
}

.bg-02 {
	position: relative;
}

.bg-02:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	right: 0;
	bottom: 0;
	background: #27333b;
}

.bg-hosi {
	position: relative;
}

.bg-hosi.type1:before,
.bg-hosi.type1:after {
	filter: none;
}

.bg-hosi.type1:before {
	background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/hosi3.png) no-repeat 50% /
		contain;
}

.bg-hosi.type1:after {
	background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/hosi4.png) no-repeat 50% /
		contain;
}

.bg-hosi:before {
	content: "";
	position: absolute;
	width: 220px;
	height: 310px;
	right: 0%;
	top: 0%;
	background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/hosi2.png) no-repeat 50% /
		contain;
	z-index: -1;
	filter: drop-shadow(2px 2px 0px white);
	z-index: 1;
}

.bg-hosi:after {
	content: "";
	position: absolute;
	width: 220px;
	height: 310px;
	left: 0%;
	top: 0%;
	background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/hosi.png) no-repeat 50% /
		contain;
	filter: drop-shadow(2px 2px 0px white);
	z-index: 1;
}

@media all and (max-width: 1200px) {
	.bg-hosi:before,
	.bg-hosi:after {
		width: 150px;
		height: 190px;
	}
}

@media all and (max-width: 800px) {
	.bg-hosi:before,
	.bg-hosi:after {
		width: 80px;
		height: 100px;
	}
}

.bg-hosi2 {
	position: relative;
}

.bg-hosi2 .hosi-img {
	position: absolute;
	width: 170px;
	height: 220px;
	right: 20px;
	top: 0;
	-o-object-fit: contain;
	object-fit: contain;
}

@media all and (max-width: 639px) {
	.bg-hosi2 .hosi-img {
		width: 70px;
		height: 120px;
	}
}

.bg-gradient {
	background-image: linear-gradient(to right, #efe6d6 0%, #fcfcfc 100%);
}

.bg-contents {
	position: relative;
}

.bg-contents:before {
	position: absolute;
	content: "";
	left: 0;
	bottom: 0;
	width: 100%;
	height: 300px;
	z-index: -1;
	background: #4e472b;
	opacity: 0.8;
}

@media all and (max-width: 800px) {
	.bg-contents:before {
		height: 78%;
		opacity: 0.5;
		bottom: 2%;
	}
}

.bg-maru1 {
	background: #fff7db;
	max-width: calc(100% - 50px);
	margin-left: auto;
	margin-right: auto;
	margin: 50px auto;
	border-radius: 20px;
}

@media all and (max-width: 800px) {
	.bg-maru1 {
		max-width: calc(100% - 15px);
	}
}

@media all and (max-width: 639px) {
	.bg-maru1 {
		border-radius: 10px;
	}
}

.bg-maru2 {
	position: relative;
	margin: 50px auto;
}

.bg-maru2:before {
	position: absolute;
	content: "";
	left: 50%;
	top: 0;
	width: calc(100% - 60px);
	height: 98%;
	z-index: -1;
	transform: translateX(-50%);
	background: #fff;
	opacity: 0.9;
	border-radius: 10px;
}

@media all and (max-width: 1200px) {
	.bg-maru2:before {
		width: calc(100% - 30px);
		height: 100%;
	}
}

@media all and (max-width: 639px) {
	.bg-maru2:before {
		width: 100%;
		height: 100%;
	}
}

.bg-base {
	position: relative;
}

.bg-base:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: #f6f1e9;
	opacity: 0.8;
	z-index: -2;
}

.bg-yellow {
	background: #e2b869;
}

.bg-sub {
	position: relative;
	background-color: #fff7db;
}

.bg-sub2 {
	position: relative;
}

.bg-sub2:before {
	position: absolute;
	content: "";
	bottom: 0;
	left: 0;
	width: 100%;
	height: 50%;
	background-color: #4e472b;
}

.bg-sub2:after {
	position: absolute;
	content: "";
	width: 110%;
	height: 190px;
	top: -1%;
	left: 0;
	background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/bottom-kusa.png) no-repeat
		50%/110% 190px;
	z-index: 10;
	opacity: 1;
}

.bg-kusa {
	position: relative;
	overflow: hidden;
}

.bg-kusa:before {
	position: absolute;
	content: "";
	width: 110%;
	height: 190px;
	bottom: -1%;
	left: 0;
	background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/bottom-kusa.png) no-repeat
		50%/110% 190px;
	z-index: 0;
	opacity: 1;
}

@media all and (max-width: 639px) {
	.bg-kusa:before {
		height: 100px;
		background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/bottom-kusa.png) no-repeat
			50%/110% 100px;
	}
}

.bg-blue {
	background: rgba(69, 127, 188, 0.1);
}

.bg-gray {
	position: relative;
	background: rgba(240, 239, 236, 0.7);
}

.bg-gray.bg-half {
	position: relative;
	margin-bottom: 40px;
	background: rgba(0, 0, 0, 0);
}

.bg-gray.bg-half:after {
	position: absolute;
	content: "";
	left: 50%;
	transform: translateX(-50%);
	width: calc(100% - 60px);
	height: 60%;
	bottom: 0;
	background: #edf1ef;
	opacity: 0.7;
	z-index: -2;
}

@media all and (max-width: 639px) {
	.bg-gray.bg-half:after {
		height: 80%;
		width: calc(100% - 30px);
	}
}

.bg-gray2 {
	background: #555;
}

.bg-beige {
	background: #f5efe5;
}

.bg-beige2 {
	background: #f5efe5;
	max-width: calc(100% - 50px);
	margin-left: auto;
	margin-right: auto;
	border-radius: 20px;
	margin-bottom: 50px;
}

@media all and (max-width: 800px) {
	.bg-beige2 {
		max-width: calc(100% - 15px);
	}
}

@media all and (max-width: 639px) {
	.bg-beige2 {
		border-radius: 10px;
	}
}

.tbl {
	width: 100%;
}

.tbl th,
.tbl td {
	padding: 25px 15px;
	vertical-align: middle;
	border: 1px solid rgba(88, 73, 62, 0.3);
	font-weight: 500;
	font-size: 1.7rem;
}

.tbl th {
	background: #eee;
	text-align: left;
	color: #4e472b;
	text-align: center;
}

.tbl th span {
	font-size: 1.5rem;
}

.tbl th.th-1 {
	width: 25%;
}

.tbl th.cell02 {
	width: 20%;
}

.tbl th.cell03 {
	width: 22.5%;
}

.tbl td {
	background: rgba(255, 255, 255, 0.8);
}

.tbl td.td-1 {
	width: 25%;
	line-height: 1.5;
}

.tbl .circle {
	font-weight: 900;
	font-size: 1.1em;
	color: #d43339;
}

.tbl .cross {
	font-weight: 700;
	font-size: 1.1em;
	color: #457fbc;
}

@media all and (max-width: 639px) {
	.tbl th,
	.tbl td {
		padding: 10px;
		font-size: 12px;
	}
}

.tbl .cell01 {
	width: 45%;
}

.tbl .cell02 {
	width: 25%;
}

.tbl-border {
	width: 100%;
	border-top: 1px solid rgba(88, 73, 62, 0.5);
	font-size: 1em;
}

.tbl-border.type1 th {
	background-color: rgba(0, 0, 0, 0);
}

.tbl-border:last-child {
	border-bottom: 1px solid rgba(88, 73, 62, 0.5);
}

.tbl-border th,
.tbl-border td {
	padding: 15px;
	vertical-align: middle;
	border-bottom: 1px dashed rgba(88, 73, 62, 0.5);
}

@media all and (max-width: 639px) {
	.tbl-border th,
	.tbl-border td {
		vertical-align: initial;
		padding: 8px 5px;
	}
}

.tbl-border th {
	width: 20%;
	text-align: left;
	color: #58493e;
	background-color: #eee;
}

@media all and (max-width: 639px) {
	.tbl-border th {
		width: 30%;
	}
}

.tbl-border th.auto {
	width: auto;
}

.company {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 5px;
}

.company th,
.company td {
	padding: 15px 10px;
	vertical-align: middle;
	font-size: 1.6rem;
}

@media all and (max-width: 1200px) {
	.company th,
	.company td {
		font-size: 1.5rem;
	}
}

@media all and (max-width: 639px) {
	.company th,
	.company td {
		font-size: 1.3rem;
	}
}

.company th {
	text-align: center;
	width: 30%;
	position: relative;
	background: #eee;
	color: #58493e;
	font-weight: 600;
}

.company th::after {
	left: 100%;
	top: 50%;
	border: solid rgba(0, 0, 0, 0);
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: #f9f9f9;
	border-width: 10px;
	border-left-color: #eee;
	margin-top: -10px;
}

.company td {
	background: #f9f9f9;
	padding-left: 20px;
}

.tbl0 {
	width: 100%;
}

.tbl0 th,
.tbl0 td {
	padding: 3px 5px;
	border: 0;
	border-bottom: 1px dashed #ddd;
}

.tbl0 th {
	padding-left: 0;
	background: none;
	text-align: left;
	width: 35%;
	color: #111;
}

.tbl0 th:after,
.tbl0 th:before {
	display: none;
}

@media all and (max-width: 639px) {
	.tbl0 th {
		width: 60%;
	}
}

.tbl_new {
	width: 100%;
}

.tbl_new tr th,
.tbl_new tr td {
	vertical-align: middle;
	padding: 15px 10px;
}

.tbl_new tr th {
	font-weight: 700;
	width: 25%;
	text-align: left;
	padding-left: 30px;
	letter-spacing: 0;
}

@media all and (max-width: 639px) {
	.tbl_new tr th {
		width: 40%;
	}
}

.tbl_new tr:nth-child(odd) th,
.tbl_new tr:nth-child(odd) td {
	background: rgba(78, 71, 43, 0.2);
}

.google-txt {
	margin-bottom: 20px;
	letter-spacing: 0;
	font-size: 1.2em;
	font-weight: 600;
	text-align: center;
}

.google-txt span {
	color: #176bef;
}

.ggmap {
	position: relative;
	padding-bottom: 36.25%;
	height: 0;
	overflow: hidden;
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	margin-bottom: 10px;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

.list_common.caution li {
	position: relative;
	padding-left: 1.5em;
	color: #41875f;
}

.list_common.caution li:before {
	content: "※";
	color: #58493e;
	position: absolute;
	left: 0;
	top: 1px;
}

.list_common li {
	padding-bottom: 5px;
	padding-left: 1rem;
	margin-bottom: 8px;
	border-bottom: 1px dotted #ccc;
}

.list_common li:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}

.list_common li .check_num {
	width: 30px;
	height: 30px;
	background: #58493e;
	color: #fff;
	border-radius: 100px;
	line-height: 30px;
	text-align: center;
	font-weight: bold;
	display: inline-block;
	margin-right: 10px;
}

.list_check.type1 {
	display: flex;
	flex-wrap: wrap;
}

.list_check.type1 li {
	width: 48%;
	padding: 0px;
}

.list_check.type1 li:nth-child(2n) {
	margin-left: 4%;
}

@media all and (max-width: 639px) {
	.list_check.type1 li {
		width: 95%;
		margin: 0 auto 5px;
	}
	.list_check.type1 li:nth-child(2n) {
		margin-left: auto;
	}
}

.list_check.type2 {
	display: flex;
	flex-wrap: wrap;
}

.list_check.type2 li {
	width: 32%;
	padding: 0px;
	margin-right: 2%;
}

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

@media all and (max-width: 639px) {
	.list_check.type2 li {
		width: 95%;
		margin: 0 auto 5px;
	}
	.list_check.type2 li:nth-child(3n) {
		margin-right: auto;
	}
}

.list_check.sbc li:before {
	color: #4e472b;
}

.list_check li {
	padding: 2px;
	margin-bottom: 5px;
}

.list_check li:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
	margin-right: 5px;
	color: #58493e;
}

@media all and (max-width: 639px) {
	.list_check li {
		width: 98%;
		margin: 0 auto 10px;
		font-size: 1.2rem;
		letter-spacing: 0.05em;
	}
}

.list_check2.type1 {
	display: flex;
	flex-wrap: wrap;
}

.list_check2.type1 li {
	width: 48%;
}

.list_check2.type1 li:nth-child(2n) {
	margin-left: 4%;
}

@media all and (max-width: 639px) {
	.list_check2.type1 li {
		width: 95%;
		margin: 0 auto 5px;
	}
	.list_check2.type1 li:nth-child(2n) {
		margin-left: auto;
	}
}

.list_check2.type2 li:before {
	color: #4e472b;
}

.list_check2 li {
	position: relative;
	padding: 2px;
}

.list_check2 li:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
	margin-right: 8px;
	color: #58493e;
}

.list_check2 li:not(:last-child) {
	margin-bottom: 5px;
}

.list_disc.type1 li:before {
	content: "・";
	color: #957d6c;
	font-size: inherit;
	margin-right: 0;
}

.list_disc.type1 li span {
	font-size: 90%;
}

.list_disc.type2 li:not(:last-of-type) {
	margin-bottom: 0px;
	border-bottom: 1px dotted #ccc;
}

.list_disc.sbc li:before {
	color: #4e472b;
}

.list_disc li {
	padding: 5px 0;
}

.list_disc li:not(:last-of-type) {
	margin-bottom: 5px;
	border-bottom: 1px dashed #ccc;
}

.list_disc li:before {
	content: "●";
	margin-right: 8px;
	color: #58493e;
	font-size: 0.5em;
}

.ol-list {
	counter-reset: number;
	list-style: none;
	padding: 10px;
}

.ol-list > li {
	line-height: 2;
	border-bottom: 1px dashed #eee;
	margin-bottom: 18px;
	padding: 5px 0 8px;
	padding-left: 50px;
	font-weight: 500;
	position: relative;
	line-height: 1.6;
	color: #58493e;
}

.ol-list > li .small {
	font-weight: normal;
	display: block;
	padding: 10px;
	line-height: 1.6;
	font-size: initial;
}

.ol-list > li:before {
	counter-increment: number;
	content: counter(number);
	position: absolute;
	width: 2em;
	height: 2em;
	text-align: center;
	font-family: "YakuHanMP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-size: 2rem;
	line-height: 2em;
	color: #58493e;
	left: 0;
	top: 0px;
	border-radius: 100%;
}

@media all and (max-width: 639px) {
	.ol-list > li {
		font-size: 1.3rem;
	}
	.ol-list > li span {
		font-size: 0.9em;
	}
	.ol-list > li:before {
		font-size: 1.8rem;
	}
}

.list-type1 li {
	display: inline-block;
	padding: 2px 8px;
	margin-right: 10px;
	font-weight: 600;
	letter-spacing: 0.2rem;
	margin-bottom: 10px;
}

.list-type1 li:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
	margin-right: 5px;
	color: #457fbc;
}

.list-inline li {
	display: inline-block;
	padding: 3px;
}

.list-inline li:not(:last-of-type):after {
	content: "/";
	margin: 0 5px;
	color: #4e472b;
	font-weight: normal;
}

.list-inline2 {
	display: flex;
	justify-content: center;
}

.list-inline2 li {
	display: inline-block;
	padding: 3px;
	background: #fff;
	width: 300px;
	text-align: center;
	font-size: 2.3rem;
	margin: 1%;
}

.cut {
	overflow: hidden;
	zoom: 1;
}

.w300 {
	width: 300px;
}

.spbr {
	display: none;
}

.br_tablet {
	display: none;
}

@media all and (max-width: 800px) {
	.br_tablet {
		display: block;
	}
}

.round-box {
	border-radius: 20px;
	overflow: hidden;
}

.bigger {
	font-size: 1.1em;
}

.smaller {
	font-size: 0.8em;
}

.sentence {
	line-height: 2em;
}

.sentence p + p {
	margin-top: 20px;
}

.color1 {
	color: #493d33;
}

.color2 {
	color: #3e3822;
}

.color3 {
	color: #4e472b;
}

.color4 {
	color: #d43339;
}

.num {
	text-align: center;
}

.num a {
	color: #457fbc;
	font-weight: bold;
	font-size: 3.5rem;
}

.num a:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
	margin-right: 5px;
}

.num a:hover {
	color: #4e472b;
}

@media all and (max-width: 639px) {
	.num a {
		font-size: 2.4rem;
	}
}

.contact_bnr > li {
	margin: 0 auto;
	text-align: center;
}

.contact_bnr > li:not(:last-child) {
	margin: 0 auto 10px;
}

.contact_bnr > li p {
	text-align: center;
	margin: 0 auto -13px;
	position: relative;
	z-index: 1;
}

.contact_bnr > li p span {
	padding: 5px 10px;
	background-color: #58493e;
}

.contact_bnr > li a {
	display: block;
	position: relative;
	line-height: 1;
}

@media all and (max-width: 800px) {
	.contact_bnr > li a {
		text-align: center;
	}
	.contact_bnr > li:first-of-type {
		margin-right: 0;
	}
}

.contact_bnr > li .bnr_tel {
	white-space: nowrap;
	position: relative;
	color: #fff;
	font-family: "Outfit", serif;
	font-weight: 400;
	line-height: 1.4;
	font-size: 2rem;
	font-weight: 600;
	max-width: 300px;
	margin: auto;
	line-height: 1.4;
	border: 2px solid #fff;
	padding: 15px 8px;
}

.contact_bnr > li .bnr_tel:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
	margin-right: 5px;
	font-size: 0.7em;
}

.contact_bnr > li .bnr_tel:hover {
	opacity: 0.3;
}

@media all and (max-width: 1200px) {
	.contact_bnr > li .bnr_tel {
		font-size: 2rem;
	}
}

@media all and (max-width: 639px) {
	.contact_bnr > li .bnr_tel {
		font-size: 1.8rem;
		text-align: center;
	}
}

.contact_bnr > li .bnr_mobile {
	background: #fefefe;
	color: #58493e;
}

.contact_bnr > li .bnr_mobile:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
}

.contact_bnr > li .bnr_fax {
	background: #fdfdfd;
	color: #58493e;
}

.contact_bnr > li .bnr_fax:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
}

.contact_bnr > li .bnr_mail {
	font-family: "YakuHanMP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	color: #fff;
	text-align: center;
	font-size: 1.7rem;
	font-weight: 600;
	max-width: 300px;
	margin: auto;
	line-height: 1.4;
	border: 2px solid #fff;
	padding: 15px 8px;
}

.contact_bnr > li .bnr_mail .small {
	font-size: 0.8em;
	margin-left: 4px;
}

.contact_bnr > li .bnr_mail:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
	font-size: 0.8em;
	margin-right: 10px;
}

.contact_bnr > li .bnr_mail:hover {
	background: #4e472b;
	color: #fff;
}

@media all and (max-width: 639px) {
	.contact_bnr > li .bnr_mail {
		font-size: 1.4rem;
	}
}

.contact_bnr2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	justify-content: center;
}

.contact_bnr2 > li {
	width: 300px;
	max-width: 100%;
	position: relative;
}

.contact_bnr2 > li:last-child {
	margin-left: 20px;
}

@media all and (max-width: 639px) {
	.contact_bnr2 > li {
		width: 100%;
		margin: 0 auto 10px;
	}
}

.contact_bnr2 > li .bnr_tel {
	white-space: nowrap;
	position: relative;
	border: none;
	font-size: 3rem;
	font-family: "Outfit", serif;
	font-weight: 400;
	color: #4e472b;
	transition: all 0.3s ease;
	padding: 0;
}

.contact_bnr2 > li .bnr_tel:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
}

.contact_bnr2 > li .bnr_tel:hover {
	opacity: 0.7;
}

@media all and (max-width: 800px) {
	.contact_bnr2 > li .bnr_tel {
		font-size: 2.8rem;
	}
}

@media all and (max-width: 639px) {
	.contact_bnr2 > li .bnr_tel {
		font-size: 2.4rem;
	}
}

.contact_bnr2 > li .bnr_mobile {
	font-family: "Outfit", serif;
	font-weight: 400;
	font-size: 2.6rem;
}

.contact_bnr2 > li .bnr_mobile:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
}

.contact_bnr2 > li .bnr_fax {
	color: #fff;
	font-family: "Outfit", serif;
	font-weight: 400;
	font-size: 2.6rem;
}

.contact_bnr2 > li .bnr_fax:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
}

@media all and (max-width: 800px) {
	.contact_bnr2 > li .bnr_fax {
		font-size: 1.8rem;
	}
}

@media all and (max-width: 639px) {
	.contact_bnr2 > li .bnr_fax {
		font-size: 1.6rem;
	}
}

.contact_bnr2 > li .bnr_mail {
	background: rgba(0, 0, 0, 0);
	border: 2px solid #4e472b;
	background-color: #4e472b;
	color: #fff;
	margin-left: auto;
	margin-right: auto;
}

.contact_bnr2 > li .bnr_mail:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
}

.contact_bnr2 > li .bnr_mail:hover {
	background: rgba(255, 255, 255, 0.4);
	color: #58493e;
}

.contact_bnr2 > li .bnr_map {
	background: rgba(0, 0, 0, 0);
	border: 2px solid #fff;
	color: #fff;
	font-family: "EB Garamond", serif;
	font-weight: 600;
	margin-left: auto;
	margin-right: auto;
	max-width: 200px;
}

.contact_bnr2 > li .bnr_map:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
}

.contact_bnr2 > li .bnr_map:hover {
	background: rgba(255, 255, 255, 0.4);
}

.contact_bnr2 > li span {
	display: inline-block;
	padding: 5px 10px;
	font-size: 1.3rem;
	border-radius: 5px;
}

.contact_bnr2 > li span .icon {
	display: inline-block;
	width: 20px;
	margin-right: 10px;
	filter: grayscale(1);
}

.contact_bnr2 > li a {
	display: block;
	color: #fff;
	text-align: center;
	padding: 10px 0;
	line-height: 1.2;
	font-size: 1.8rem;
}

.contact_bnr2 > li a:before {
	margin-right: 8px;
	position: relative;
	display: inline-block;
}

@media all and (max-width: 800px) {
	.contact_bnr2 > li a {
		font-size: 1.5rem;
	}
}

@media all and (max-width: 639px) {
	.contact_bnr2 > li a {
		font-size: 1.3rem;
		margin: 0 auto;
		white-space: nowrap;
		width: 100%;
	}
	.contact_bnr2 > li a:before {
		transform: translateY(-2px);
	}
}

.telbox {
	max-width: 700px;
	margin: 0 auto 20px;
	padding: 20px;
	background: #eee;
}

.telbox .inner {
	background: #fff;
	padding: 10px;
}

.telbnr {
	max-width: 700px;
	margin: 30px auto 30px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.telbnr li {
	width: 48%;
	border: 3px solid #58493e;
	padding: 10px 10px;
	text-align: center;
	border-radius: 50px;
}

.telbnr li a {
	display: block;
	font-size: 2.4rem;
	font-weight: 700;
	color: #f6ae54;
}

.telbnr li a:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
	margin-right: 5px;
}

.telbnr li a:hover {
	color: #457fbc;
}

.telbnr li:last-of-type {
	margin-left: 4%;
}

@media all and (max-width: 639px) {
	.telbnr {
		max-width: 98%;
	}
	.telbnr li {
		width: 100%;
		margin: 0 auto 0px;
	}
	.telbnr li:last-of-type {
		margin-left: auto;
	}
	.telbnr li a {
		font-size: 2rem;
	}
}

.telbnr-ttl {
	font-weight: 700;
	font-size: 1.8rem;
	color: #957d6c;
	margin-top: -30px;
}

.telbnr-ttl span {
	background: #f5efe5;
	padding: 0 20px;
}

@media all and (max-width: 639px) {
	.telbnr-ttl {
		font-size: 1.5rem;
	}
}

.breadcrumb {
	max-width: 1200px;
	margin: 20px auto 30px;
	font-size: 12px;
	font-weight: 400;
	position: relative;
	z-index: 5;
}

.breadcrumb li {
	display: inline;
	color: #957d6c;
}

.breadcrumb li a {
	color: #58493e;
}

.breadcrumb li + li:before {
	margin: 0 10px;
	content: ">";
}

.form-pattern-2 {
	background-color: rgba(0, 0, 0, 0) !important;
}

.form-pattern-2 dl dt:not(.pattern-exclusion) span.required::before {
	content: "必須";
	color: #fff !important;
	background: #b588c4 !important;
}

.form-pattern-2 .submit-btn {
	color: #fff;
	background: #58493e !important;
	border: 1px solid #58493e !important;
	-o-border-image: initial;
	border-image: initial;
	padding: 12px 5px;
	margin: 0 auto;
	width: 250px;
	border-radius: 25px;
}

.form-pattern-2 .submit-btn:hover {
	color: #58493e !important;
	background: #fff !important;
}

.form-pattern-2 .submit-btn:hover:before {
	background-color: #58493e !important;
}

.total-box {
	max-width: 400px;
	margin: 30px auto 50px;
	text-align: center;
	display: flex;
	align-items: center;
	padding: 20px 15px;
	background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/body_bg.png);
	justify-content: center;
}

.total-box .textarea {
	width: 60% !important;
}

.total-box span {
	color: #957d6c;
	font-weight: 700;
	margin-right: 10px;
}

.form {
	margin: 0 auto;
	width: 90%;
}

.form dl dt {
	float: left;
	width: 280px;
	padding-top: 20px;
	font-weight: bold;
	color: #957d6c;
}

.form dl dt span {
	color: #fff;
	background: #58493e;
	padding: 5px;
	margin-right: 5px;
	font-size: 11px;
	border-radius: 2px;
	position: relative;
	top: -2px;
}

.form dl dt span.nini {
	background: #4e472b;
}

.form dl dd {
	padding-left: 280px;
	padding-bottom: 20px;
	padding-top: 23px;
	line-height: 1.5;
	border-bottom: 1px dotted #ccc;
}

.form dl dd:last-child {
	border-bottom: none;
}

.form .textarea,
.form textarea {
	border: 0;
	padding: 15px;
	background: #f3f3f3;
	width: 100%;
	border-radius: 0;
	-webkit-appearance: none;
}

.form .textarea02 {
	width: 48.5%;
	margin-right: 3%;
}

.form .textarea02:last-child {
	margin-right: 0;
}

.form .textarea03 {
	width: 20%;
	margin-right: 1%;
}

.form .textarea04 {
	width: 20%;
	margin-right: 1%;
}

.form button {
	cursor: pointer;
	display: block;
	color: #111;
	text-align: center;
	transition: all 0.2s ease-in-out 0s;
	font-family: "-apple-system", BlinkMacSystemFont, "Helvetica Neue", Roboto, "Droid Sans", Arial,
		"Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, Meiryo, sans-serif;
	font-size: 1.5rem;
	font-weight: bold;
	padding: 8px 5px;
	margin: 0 auto;
	width: 250px;
	background: #58493e;
	border: 1px solid #58493e;
	border-radius: 25px;
	color: #fff;
}

.form button:hover {
	background: #fff;
	color: #58493e;
}

.form button:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
	margin-right: 10px;
}

.form .select-wrap {
	position: relative;
	overflow: hidden;
	display: inline-block;
	min-width: 192px;
	min-width: 12em;
	background-color: #fff;
	border: 1px solid #ddd;
	color: #333;
	padding-top: 8px;
}

.form .select-wrap select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: relative;
	z-index: 2;
	display: block;
	width: 200%;
	width: -webkit-calc(100% + 5em);
	margin: 0;
	padding: 11px 35px 11px 11px;
	background: rgba(0, 0, 0, 0);
	border: 0;
	outline: none;
	line-height: 1.5;
}

.form .entypo-down-open-mini:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
	position: absolute;
	z-index: 1;
	top: 50%;
	right: 12px;
	right: 0.75rem;
	margin-top: -8px;
	margin-top: -0.5rem;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1;
	color: #58493e;
}

.form label.radio_text {
	cursor: pointer;
	position: relative;
	margin-right: 20px;
	overflow: hidden;
	padding-left: 20px;
	display: inline-block;
}

.form label.radio_text:before {
	position: absolute;
	width: 15px;
	height: 15px;
	border: 1px solid #ccc;
	border-radius: 50%;
	left: 0px;
	top: 2px;
	content: "";
	z-index: 3;
}

.form label.radio_text:after {
	content: "";
	position: absolute;
	width: 11px;
	height: 11px;
	border-radius: 100%;
	left: 2px;
	top: 4px;
	background-color: #58493e;
	z-index: 1;
}

.form label.radio_text input[type="radio"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	position: absolute;
	z-index: 2;
	width: 20px;
	height: 20px;
	left: -23px;
	top: 0px;
	margin: 0px;
	box-shadow: 20px -1px #fff;
}

.form label.radio_text input[type="radio"]:checked {
	box-shadow: none;
}

.form label.radio_text input[type="radio"]:focus {
	opacity: 0.2;
	box-shadow: 20px -1px #eeebda;
}

.form label.checkbox_text {
	cursor: pointer;
	position: relative;
	padding-left: 25px;
	margin: 0 20px 5px 0;
	overflow: hidden;
	display: inline-block;
}

.form label.checkbox_text:before {
	content: "";
	position: absolute;
	width: 18px;
	height: 18px;
	left: 0px;
	top: 0;
	border: 1px solid #ccc;
	z-index: 3;
	padding: 1px;
}

.form label.checkbox_text:after {
	content: "";
	position: absolute;
	top: 40%;
	left: 5px;
	display: block;
	margin-top: -9px;
	width: 8px;
	height: 12px;
	border-right: 3px solid #58493e;
	border-bottom: 3px solid #58493e;
	transform: rotate(45deg);
	z-index: 1;
}

.form label.checkbox_text input[type="checkbox"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	position: absolute;
	left: -40px;
	width: 20px;
	height: 20px;
	display: block;
	box-shadow: 41px 0px #fff;
	z-index: 2;
	margin: 0px;
	padding: 0px;
}

.form label.checkbox_text input[type="checkbox"]:checked {
	box-shadow: none;
}

.form label.checkbox_text input[type="checkbox"]:checked:focus {
	box-shadow: 40px 0px #666;
	opacity: 0.1;
}

.form label.checkbox_text input[type="checkbox"]:focus {
	box-shadow: 41px 0px #eee;
}

.form input[type="text"],
.form textarea {
	font-size: 16px;
}

@media all and (max-width: 639px) {
	.form input[type="text"],
	.form textarea {
		transform: scale(0.9);
		margin-left: -5px;
	}
}

.select-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.select-group p {
	margin: 0 5px;
}

@media all and (max-width: 639px) {
	.select-group .select-wrap {
		margin-top: 8px;
	}
}

.fm-txt {
	font-size: 1.4rem;
	background: rgba(255, 255, 255, 0.5);
	padding: 5px;
}

.select-content {
	display: flex;
	align-items: center;
}

.select-content .select-txt {
	padding: 0 5px;
}

@media all and (max-width: 639px) {
	.select-content {
		display: block;
	}
}

.form-txt {
	font-size: 0.9em;
	margin-bottom: 5px;
}

.memo {
	background: rgba(78, 71, 43, 0.2);
	padding: 15px;
}

.thanks {
	padding: 40px;
	max-width: 700px;
	margin: 0 auto;
	background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/body_bg.png);
	border: 4px double #e7d8c0;
}

@media all and (max-width: 639px) {
	.thanks {
		max-width: 90%;
		padding: 30px 20px;
	}
}

.shadow {
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}

.policy {
	padding: 20px;
	background: rgba(226, 184, 105, 0.2);
}

.accordion {
	margin-top: 50px;
}

.accordion dt,
.accordion dd {
	position: relative;
	padding: 1em;
}

.accordion dt {
	color: #58493e;
	cursor: pointer;
	font-family: "YakuHanJP", "Zen Maru Gothic", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "YuGothic",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
	font-size: 1.8rem;
	border-top: 1px solid #58493e;
	border-bottom: 1px solid #58493e;
	text-align: center;
}

.accordion dt:after {
	position: absolute;
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.4rem;
}

.accordion dt.on:after {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
}

.accordion dd {
	display: none;
	padding: 20px;
	border-left: 1px solid #f0efec;
	border-right: 1px solid #f0efec;
	border-bottom: 1px solid #f0efec;
}

@media all and (max-width: 639px) {
	.accordion {
		margin-top: 30px;
	}
	.accordion dt,
	.accordion dd {
		padding: 0.8em 0.6em;
	}
	.accordion dt {
		font-size: 1.4rem;
		letter-spacing: 0.05em;
	}
	.accordion dt:after {
		font-size: 0.9rem;
		right: 8px;
	}
}

.gallery_ul {
	display: flex;
	justify-content: start;
	flex-wrap: wrap;
	margin-bottom: 30px;
}

.gallery_ul li {
	margin: 0 2% 2.5% 0;
	width: 32%;
}

.gallery_ul li:nth-child(3n) {
	margin: 0 0 2.5% 0;
}

.gallery_ul li .photobox-wrap {
	width: 100%;
	height: 350px;
	text-align: center;
	overflow: hidden;
	background: rgba(78, 71, 43, 0.1);
	margin-bottom: 8px;
}

.gallery_ul li .photobox-wrap img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
	font-family: "object-fit: contain;";
	-o-object-position: 50% 50%;
	object-position: 50% 50%;
}

@media all and (max-width: 639px) {
	.gallery_ul li .photobox-wrap {
		height: 280px;
	}
}

.product-gallery {
	display: flex;
	flex-wrap: wrap;
}

.product-gallery:not(:last-of-type) {
	margin-bottom: 40px;
}

.product-gallery li {
	width: 24%;
	margin-right: 1.3333333333%;
	margin-bottom: 25px;
}

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

.product-gallery li a {
	background: rgba(0, 0, 0, 0.3);
	display: block;
	text-align: center;
	padding: 0px;
	height: 200px;
}

.product-gallery li a img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;";
}

.product-gallery li p {
	line-height: 1.4;
	margin-top: 5px;
}

@media all and (max-width: 639px) {
	.product-gallery li {
		width: 48%;
		margin-right: 4%;
		margin-bottom: 30px;
	}
	.product-gallery li:nth-child(2n) {
		margin-right: 0;
	}
	.product-gallery li a {
		height: 180px;
	}
}

.gallery {
	display: flex;
	flex-wrap: wrap;
}

.gallery li {
	width: 22%;
	margin: 0 3.495% 25px 0;
}

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

.gallery li a {
	background: rgba(0, 0, 0, 0.3);
	display: block;
	text-align: center;
	padding: 0px;
	height: 250px;
}

.gallery li a img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;";
}

.gallery li p {
	line-height: 1.4;
	margin-top: 5px;
}

@media all and (max-width: 1200px) {
	.gallery li a {
		height: 200px;
	}
}

@media all and (max-width: 800px) {
	.gallery li {
		width: 48%;
		margin: 0 4% 20px 0;
	}
	.gallery li:nth-child(3n) {
		margin: 0 4% 20px 0;
	}
	.gallery li:nth-child(2n) {
		margin-right: 0;
	}
	.gallery li a {
		height: 120px;
	}
	.gallery li p {
		font-size: 1.1rem;
	}
}

.column2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

.column2.item-end {
	align-items: end;
}

.column2 .child {
	width: 48%;
}

.column2 .child img {
	border-radius: 20px;
}

.column2 .child figure {
	height: 400px;
}

.column2 .child figure img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.column2 .child2 {
	width: 62%;
}

.column2 .child3 {
	width: 35%;
}

@media all and (max-width: 639px) {
	.column2 {
		flex-direction: column;
	}
	.column2 .child {
		width: 100%;
	}
	.column2 .child.column2-img {
		order: -1;
		margin-bottom: 30px;
	}
}

.top-list2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 1200px;
	margin: 0 auto;
}

@media all and (max-width: 639px) {
	.top-list2 {
		max-width: 400px;
		width: 100%;
	}
}

.top-list2 li {
	position: relative;
	text-align: center;
	width: 24%;
	margin-top: 30px;
	margin-right: 1%;
	padding: 15px 20px 30px;
	box-shadow: 0 0 8px rgba(88, 73, 62, 0.06);
	background: #fff;
	border-radius: 5px;
}

.top-list2 li img {
	display: block;
	width: 150px;
	height: 150px;
	margin: 0 auto 10px;
	-o-object-fit: contain;
	object-fit: contain;
}

.top-list2 li:last-child {
	margin-right: 0;
}

@media all and (max-width: 800px) {
	.top-list2 li {
		width: 48%;
	}
}

@media all and (max-width: 639px) {
	.top-list2 li {
		width: 100%;
		margin: 30px 0 0;
		padding: 5px 5px 25px;
	}
	.top-list2 li img {
		display: block;
		width: 80px;
	}
}

.top-list2 li .num {
	font-family: "EB Garamond", serif;
	font-weight: 600;
	letter-spacing: 0.05em;
	font-size: 2rem;
	position: absolute;
	left: 50%;
	top: -35px;
	background: #58493e;
	color: #fff;
	width: 48px;
	height: 48px;
	line-height: 49px;
	transform: translateX(-50%);
	position: relative;
	z-index: 2;
	display: block;
	text-align: center;
	border-radius: 50%;
}

.top-list2 li .txt {
	font-size: 1.8rem;
	font-family: "YakuHanJP", "Zen Maru Gothic", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "YuGothic",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
	position: relative;
	color: #957d6c;
	z-index: 2;
	line-height: 1.4;
}

.top-list2 li .txt .small {
	display: block;
	font-size: 0.8em;
}

@media all and (max-width: 639px) {
	.top-list2 li .txt {
		font-size: 1.4rem;
	}
}

.list2 {
	display: flex;
	flex-wrap: wrap;
	margin-top: -45px;
}

@media all and (max-width: 639px) {
	.list2 {
		margin-top: -30px;
	}
}

.list2 > li,
.list2 .child {
	width: 48%;
	margin: 45px 4% 0 0;
}

.list2 > li:nth-child(2n),
.list2 .child:nth-child(2n) {
	margin-right: 0;
}

@media all and (max-width: 639px) {
	.list2 > li:nth-child(2n),
	.list2 .child:nth-child(2n) {
		margin-right: auto;
	}
}

@media all and (max-width: 639px) {
	.list2 > li,
	.list2 .child {
		width: 100%;
		margin: 30px auto 0;
	}
}

.list2 > li.order,
.list2 .child.order {
	order: 2;
}

@media all and (max-width: 639px) {
	.list2 > li.order,
	.list2 .child.order {
		order: 0;
	}
}

.list2.type1 .child {
	overflow: hidden;
	background: #fff;
	border-radius: 10px;
}

.list2.type1 .child .inner {
	padding: 15px;
}

.title-bg {
	background: #4e472b;
	color: #fefefe;
	text-align: center;
	padding: 8px 5px;
	font-weight: 600;
	font-size: 2rem;
	border-radius: 5px;
	margin-bottom: 20px;
}

.list3 {
	display: flex;
	flex-wrap: wrap;
}

.list3 > li,
.list3 .child {
	width: 31%;
	margin: 0 3% 55px 0;
}

.list3 > li:nth-child(3n),
.list3 .child:nth-child(3n) {
	margin-right: 0;
}

.list3 .figure {
	position: relative;
	height: 240px;
	display: block;
	width: 90%;
	margin: auto;
	position: relative;
	margin-bottom: 15px;
	border-radius: 2%;
}

.list3 .figure.circle {
	-webkit-clip-path: ellipse(50% 46% at 50% 50%);
	clip-path: ellipse(50% 46% at 50% 50%);
}

.list3 .figure:before {
	content: "";
	display: block;
	width: 90%;
	height: 100%;
	background-image: linear-gradient(to left, #73bb92 0%, #73bb92 100%);
	transform: rotate(5deg);
	opacity: 0.5;
	position: absolute;
	right: 0;
	z-index: -1;
}

.list3 .figure img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

@media all and (max-width: 639px) {
	.list3 .li,
	.list3 .child {
		width: 100%;
	}
	.list3 .li .figure,
	.list3 .child .figure {
		height: 150px;
	}
}

.list4 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.list4 li {
	width: 23%;
	margin: 0 2.5% 20px 0;
}

.list4 li:nth-child(4n) {
	margin-right: 0;
}

.list4 li .inner {
	background-color: #fff7db;
	padding: 5px;
}

@media all and (max-width: 800px) {
	.list4 {
		max-width: 600px;
	}
	.list4 li {
		width: 48%;
		margin-right: 4%;
		margin-bottom: 20px;
		text-align: center;
	}
	.list4 li img {
		width: 100%;
	}
	.list4 li:nth-child(2n) {
		margin-right: 0;
	}
}

@media all and (max-width: 639px) {
	.list4 li {
		width: 95%;
		margin: 0 auto 20px;
	}
	.list4 li:nth-child(2n) {
		margin-right: auto;
	}
}

.list5 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1000px;
	margin: 20px auto 50px;
}

.list5 li {
	width: 19%;
}

.list5 li .inner {
	padding-top: 100%;
	background-color: rgba(226, 184, 105, 0.8);
	border-radius: 100%;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

.list5 li .inner .ttl {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-weight: 600;
	font-size: 2rem;
}

@media all and (max-width: 639px) {
	.list5 {
		max-width: 95%;
	}
	.list5 li {
		width: 48%;
		margin-bottom: 15px;
	}
	.list5 li .inner .ttl {
		font-size: 1.5rem;
	}
}

.reason-list {
	display: flex;
	flex-wrap: wrap;
}

.reason-list li,
.reason-list .child {
	position: relative;
	width: 31%;
	margin: 0 3.495% 40px 0;
	background: #ecebe9;
	padding: 20px;
	height: 100%;
	box-shadow:
		rgba(0, 0, 0, 0.1) 0px 4px 6px -1px,
		rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
	border-radius: 5px;
}

.reason-list li.col2,
.reason-list .child.col2 {
	width: 48.1%;
}

.reason-list li.col2:nth-child(2n),
.reason-list .child.col2:nth-child(2n) {
	margin-right: 0;
}

.reason-list li figure,
.reason-list .child figure {
	width: 100%;
	height: 250px;
	border-radius: 15px;
	margin-bottom: 10px;
	padding: 10px 10px;
}

.reason-list li figure img,
.reason-list .child figure img {
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit:  cover;";
	width: 100%;
	height: 100%;
	border-radius: 15px;
}

.reason-list li .txt-box,
.reason-list .child .txt-box {
	z-index: 3;
	position: relative;
}

.reason-list li .txt-box h3,
.reason-list .child .txt-box h3 {
	font-weight: 500;
	font-size: 2.3rem;
	margin-bottom: 10px;
	color: #4e472b;
}

.reason-list li .nmb,
.reason-list .child .nmb {
	position: absolute;
	top: 4px;
	right: 9px;
	font-size: 6rem;
	font-weight: 600;
	color: #fff;
	opacity: 0.8;
	line-height: 1;
	z-index: 7;
}

@media all and (max-width: 800px) {
	.reason-list li,
	.reason-list .child {
		width: 45%;
		margin: 0 auto 20px;
	}
	.reason-list li:nth-child(2n),
	.reason-list .child:nth-child(2n) {
		margin-right: 0;
	}
	.reason-list li:nth-child(3n),
	.reason-list .child:nth-child(3n) {
		margin-right: auto;
	}
	.reason-list li:nth-child(2n + 2),
	.reason-list .child:nth-child(2n + 2) {
		margin-right: 0;
	}
}

@media all and (max-width: 639px) {
	.reason-list li,
	.reason-list .child {
		width: 100%;
		margin: 0 auto 20px;
		min-height: auto;
	}
	.reason-list li:nth-child(2n),
	.reason-list .child:nth-child(2n) {
		margin-right: auto;
	}
}

.reason-list li.first,
.reason-list .child.first {
	box-shadow: none;
	background-color: rgba(0, 0, 0, 0);
}

.class-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 30px;
}

.class-list li {
	width: 23%;
	margin: 0 2.5% 20px 0;
}

.class-list li:nth-child(4n) {
	margin-right: 0;
}

.class-list li .inner {
	position: relative;
	padding: 50px 10px 30px;
	background-color: #fff;
	border-radius: 15px;
}

.class-list li .inner .class-ttl {
	padding: 8px 25px;
	background-color: #58493e;
	font-size: 1.6rem;
	color: #fff;
	display: inline-block;
	text-align: center;
	left: 50%;
	transform: translateX(-50%);
	position: absolute;
	top: -20px;
	border-radius: 15px;
}

.class-list li .inner .class-box {
	display: flex;
	max-width: 150px;
	margin: 0 auto;
	align-items: center;
	position: relative;
	margin-bottom: 20px;
}

.class-list li .inner .class-box .class-img {
	width: 60px;
	height: 60px;
}

.class-list li .inner .class-box .class-img img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}

.class-list li .inner .class-box .class-name {
	flex: 1;
	text-align: center;
	font-family: "YakuHanJP", "Zen Maru Gothic", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "YuGothic",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
	font-size: 1.8rem;
	letter-spacing: 0.2em;
}

@media all and (max-width: 800px) {
	.class-list {
		max-width: 600px;
		margin-bottom: 0;
	}
	.class-list li {
		width: 48%;
		margin-right: 4%;
		margin-bottom: 20px;
		text-align: center;
	}
	.class-list li img {
		width: 100%;
	}
	.class-list li:nth-child(2n) {
		margin-right: 0;
	}
}

@media all and (max-width: 639px) {
	.class-list {
		margin-top: 50px;
	}
	.class-list li {
		width: 80%;
		margin: 0 auto 40px;
	}
	.class-list li .inner {
		padding: 45px 10px 20px;
	}
	.class-list li .inner .class-box .class-img {
		width: 45px;
		height: 45px;
	}
	.class-list li .inner .class-box .class-name {
		font-size: 1.5rem;
	}
	.class-list li:nth-child(2n) {
		margin-right: auto;
	}
}

.term-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 1000px;
	margin: 0px auto 30px;
}

.term-list li {
	width: 30%;
	margin: 0 2.5% 20px 0;
}

.term-list li:nth-child(4n) {
	margin-right: 0;
}

.term-list li .inner {
	position: relative;
	height: 200px;
	padding: 50px 16px 0;
}

.term-list li .inner:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: #f0e7dc;
	border-radius: 20px;
}

.term-list li .inner .term-ttl {
	padding: 8px 25px;
	background-color: #e2b869;
	font-size: 1.6rem;
	color: #957d6c;
	display: inline-block;
	text-align: center;
	left: 50%;
	transform: translateX(-50%);
	position: absolute;
	top: -20px;
	border-radius: 15px;
	margin-bottom: 20px;
}

.term-list li .inner .term-box {
	max-width: 150px;
	margin: 0 auto;
	align-items: center;
	position: relative;
}

.term-list li .inner .term-box .first {
	font-size: 2.3rem;
	font-weight: 600;
	text-align: center;
	margin-bottom: 15px;
}

.term-list li .inner .term-box .first::first-letter {
	color: #6f1315;
}

.term-list li .inner .term-box .first.type1::first-letter {
	color: #8dc63e;
}

.term-list li .inner .term-box .first.type2::first-letter {
	color: #ee1c23;
}

.term-list li .inner .term-box .first.type3::first-letter {
	color: #f7931d;
}

.term-list li .inner .term-box p {
	text-align: center;
}

@media all and (max-width: 800px) {
	.term-list {
		margin: 50px auto 0;
	}
	.term-list li .inner .term-ttl {
		font-size: 1.5rem;
		padding: 10px 13px;
	}
	.term-list li .inner .term-box .first {
		font-size: 2rem;
		margin-bottom: 9px;
	}
}

@media all and (max-width: 639px) {
	.term-list {
		max-width: 600px;
	}
	.term-list li {
		width: 48%;
		margin-right: 4%;
		margin-bottom: 50px;
		text-align: center;
	}
	.term-list li .inner {
		padding: 35px 16px 0;
		height: 160px;
	}
	.term-list li img {
		width: 100%;
	}
	.term-list li:nth-child(2n) {
		margin-right: 0;
	}
	.term-list li .inner .term-ttl {
		font-size: 1.3rem;
		padding: 5px 8px;
	}
	.term-list li .inner .term-box .first {
		font-size: 1.6rem;
		margin-bottom: 9px;
	}
}

.year-box {
	padding: 40px 0;
	margin-bottom: 40px;
}

@media all and (max-width: 639px) {
	.year-box {
		margin-bottom: 0;
	}
}

.note {
	padding: 15px;
	margin-top: 10px;
	background: #f9f9f9;
}

.flow-dl {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	padding: 10px 0;
}

.flow-dl dt {
	background: rgba(78, 71, 43, 0.4);
	font-size: 1.5rem;
	color: #fff;
	text-align: center;
	margin-right: 20px;
	padding: 5px;
	border-radius: 3px;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	font-feature-settings: "pkna";
}

.flow-dl dt span {
	font-size: 1.6rem;
	text-combine-upright: all;
}

@media all and (max-width: 639px) {
	.flow-dl dt {
		padding-top: 6px;
	}
	.flow-dl dt span {
		font-size: 1.3rem;
	}
}

.flow-dl dd {
	width: calc(100% - 110px);
	margin-top: 10px;
}

.flow-dl dd:not(:last-child) {
	padding-bottom: 15px;
	border-bottom: 3px solid #f0efec;
}

@media all and (max-width: 639px) {
	.flow-dl dd {
		width: calc(100% - 95px);
	}
}

.flow-dl dt:not(:last-of-type),
.flow-dl dd:not(:last-of-type) {
	margin-bottom: 30px;
}

.txt1 {
	padding-left: 10px;
}

#a01,
#a02,
#a03,
#a04,
#a05,
#a06,
#b01,
#b02,
#entry {
	display: block;
	padding-top: 100px;
	margin-top: -100px;
}

.menu-list {
	margin-bottom: 30px;
	max-width: 200px;
}

.menu-list > li {
	display: flex;
	align-items: center;
	padding: 8px 4px;
}

.menu-list > li p {
	display: inline-block;
	line-height: 1.5;
}

.menu-list > li:before {
	background: radial-gradient(#aaa 20%, transparent 0) center center/8px 8px;
	content: "";
	display: inline-block;
	flex: 1;
	height: 4px;
	margin: 0 1.2em;
}

@media all and (max-width: 639px) {
	.menu-list > li:before {
		margin: 0 5px;
	}
}

.menu-list > li .left {
	order: -1;
	max-width: 60%;
}

.menu-list > li .left .small {
	color: #4e472b;
	padding-left: 5px;
	display: block;
}

.menu-list > li .left .small:before {
	content: "[";
}

.menu-list > li .left .small:after {
	content: "]";
}

@media all and (max-width: 639px) {
	.menu-list > li .left {
		max-width: 65%;
	}
}

.menu-list > li .right {
	max-width: 35%;
	text-align: right;
}

.price {
	font-weight: bold;
	color: #52a977;
	font-size: 1.3em;
}

.price2 {
	text-align: center;
	margin: 8px 0;
}

.price2 span {
	font-weight: 600;
	color: #4e472b;
	font-size: 1.1em;
}

.list-center {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.list-center li {
	max-width: 250px;
}

.list-center li:not(:last-child) {
	margin: 0 5px 5px;
}

@media all and (max-width: 639px) {
	.list-center li {
		width: 220px;
	}
	.list-center li:not(:last-child) {
		margin: 0 0 5px;
	}
}

.faq-dl .faq-inner:not(:last-of-type) {
	margin-bottom: 25px;
}

.faq-dl dt,
.faq-dl dd {
	padding: 15px 15px 15px 60px;
	position: relative;
}

.faq-dl dt:before,
.faq-dl dd:before {
	position: absolute;
	font-size: 3rem;
	font-weight: 700;
	font-family: "EB Garamond", serif;
	font-weight: 600;
	left: 15px;
	top: 0;
}

@media all and (max-width: 639px) {
	.faq-dl dt,
	.faq-dl dd {
		padding: 10px 10px 10px 50px;
	}
	.faq-dl dt:before,
	.faq-dl dd:before {
		font-size: 2rem;
	}
}

.faq-dl dt {
	margin-bottom: 10px;
	line-height: 1.5;
	font-weight: 600;
	color: #957d6c;
}

.faq-dl dt:before {
	content: "Q.";
	color: #58493e;
}

.faq-dl dd {
	margin-left: auto;
	border-radius: 5px 0 5px 0;
	background: rgba(240, 239, 236, 0.7);
	border-radius: 10px;
}

.faq-dl dd:before {
	content: "A.";
	color: #f6ae54;
}

.faq-dl dd:not(:last-child) {
	margin-bottom: 50px;
}

.fukidashi {
	margin: -50px auto 30px;
	padding: 8px;
	text-align: center;
	max-width: 250px;
	border-radius: 50px;
	font-size: 1.6rem;
	background: #73bb92;
	position: relative;
	font-family: "YakuHanJP", "Zen Maru Gothic", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "YuGothic",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
	font-weight: 500;
	color: #fff;
}

.fukidashi a {
	color: #a71017;
}

.fukidashi a:hover {
	color: #d43339;
}

.fukidashi:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -15px;
	border: 15px solid rgba(0, 0, 0, 0);
	border-top: 15px solid #73bb92;
	z-index: 2;
}

@media all and (max-width: 639px) {
	.fukidashi {
		font-size: 1.25rem;
		padding: 10px 15px;
		max-width: 90%;
	}
}

.info-txt {
	width: 95%;
	margin: 10px auto 0;
	background: rgba(78, 71, 43, 0.3);
	padding: 10px;
	border-radius: 10px;
}

.iframe {
	box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.3);
	border-radius: 4px;
}

.frames {
	display: inline-block;
	position: relative;
	overflow: hidden;
	padding: 6px;
}

.frames:before,
.frames:after {
	content: "";
	position: absolute;
	z-index: 1;
	width: 85px;
	height: 50px;
	background: #fff;
	transform: rotate(-30deg);
}

.frames:before {
	box-shadow: 0 10px 8px -12px rgba(149, 125, 108, 0.6);
	top: -24px;
	bottom: auto;
	right: auto;
	left: -26px;
}

.frames:after {
	box-shadow: 0 -10px 10px -10px rgba(149, 125, 108, 0.4);
	top: auto;
	bottom: -22px;
	right: -25px;
	left: auto;
}

.feature-list li {
	padding: 4px 4px 4px 8px;
	font-weight: 600;
	margin-bottom: 8px;
	background: #f0f0f0;
}

.feature-list li:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
	margin-right: 5px;
	color: #58493e;
}

.mtitle-vertical {
	writing-mode: vertical-rl;
	text-orientation: mixed;
	font-feature-settings: "pkna";
	font-size: 1.8rem;
	font-weight: 600;
	color: #555;
}

.mtitle-vertical span {
	display: block;
	font-size: 4rem;
	font-family: "EB Garamond", serif;
	font-weight: 600;
	color: #58493e;
}

@media all and (max-width: 639px) {
	.mtitle-vertical {
		writing-mode: inherit;
		font-size: 1.3rem;
	}
	.mtitle-vertical span {
		font-size: 2.5rem;
	}
}

.vertical-box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

@media all and (max-width: 639px) {
	.vertical-box {
		flex-direction: column;
	}
}

.vertical-content {
	flex: 1;
	margin-left: 10%;
}

@media all and (max-width: 639px) {
	.vertical-content {
		flex: 1 0 auto;
		margin: 15px 0 0;
	}
}

.link-txt {
	font-weight: 600;
	border-bottom: 1px dashed #957d6c;
	color: #957d6c;
}

.lead01 {
	margin-bottom: 15px;
	text-align: center;
	line-height: 1.4;
	font-weight: 600;
	font-size: 1.1em;
	margin-bottom: 15px;
}

.lead01 span {
	background: #4a986b;
	color: #fff;
	padding: 2px 4px;
	font-size: 1.8rem;
	font-weight: 600;
}

.lead01 span em {
	font-style: normal;
	font-family: "Outfit", serif;
	font-weight: 400;
	font-size: 2rem;
	padding-right: 5px;
}

.lead02 {
	font-weight: 600;
	margin-top: 15px;
	line-height: 1.5;
}

.lead03 {
	margin-bottom: 20px;
}

.lead03 span {
	padding: 2px 5px;
	background: #eee4d3;
	color: #957d6c;
	font-size: 2rem;
	font-weight: 600;
}

.lead03:before {
	font-family: "Font Awesome 5 Free";
	content: "";
	font-weight: bold;
	margin-right: 5px;
}

@media all and (max-width: 639px) {
	.lead03 span {
		font-size: 1.4rem;
	}
}

.title-big {
	font-weight: 500;
	margin: -170px auto 40px;
	text-align: center;
}

.title-big .logo {
	font-size: 1.5rem;
	color: #0b3160;
	text-align: center;
	width: 150px;
	margin: 0 auto 20px;
	display: block;
}

.title-big .eng {
	font-size: 3.5rem;
	display: block;
	font-family: "Outfit", serif;
}

.title-big .ja {
	font-size: 3rem;
	font-family: "YakuHanJP", "Zen Maru Gothic", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "YuGothic",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
	color: #58493e;
}

@media all and (max-width: 1200px) {
	.title-big {
		font-size: 3.5rem;
	}
}

@media all and (max-width: 800px) {
	.title-big {
		font-size: 3rem;
	}
}

@media all and (max-width: 639px) {
	.title-big {
		font-size: 5rem;
		margin-bottom: 10px;
		font-size: 2rem;
	}
}

.title01 {
	font-weight: 700;
	color: #957d6c;
	font-size: 2rem;
	margin-bottom: 25px;
}

.title01 .small {
	display: block;
	font-size: 1.4rem;
	color: #73bb92;
}

@media all and (max-width: 639px) {
	.title01 {
		font-size: 1.4rem;
	}
	.title01 .small {
		font-size: 13px;
	}
}

.title02 span {
	display: inline-block;
}

@media all and (max-width: 639px) {
	.title02 span:not(.lead) {
		display: block;
	}
}

.title02 .lead {
	background: #fff;
	display: inline-block;
	color: #4e472b;
	border: 1px solid #4e472b;
	padding: 4px 15px;
	font-weight: 600;
	line-height: 1.8;
	font-family: "YakuHanJP", "Zen Maru Gothic", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "YuGothic",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
	font-size: 1.2rem;
	border-radius: 30px;
}

@media all and (max-width: 639px) {
	.title02 .lead {
		padding: 4px 15px;
	}
}

.title02.type1 .lead {
	background-color: rgba(0, 0, 0, 0);
	border: 1px solid #58493e;
	color: #58493e;
}

.title03 {
	text-align: center;
	font-weight: bold;
	padding-bottom: 8px;
	color: #3e3822;
	font-size: 1.8rem;
	margin-bottom: 20px;
}

.title03 span {
	position: relative;
	border-bottom: solid 2px #3e3822;
	display: inline-block;
	letter-spacing: 3px;
	font-size: 3.3rem;
	padding-bottom: 10px;
}

@media all and (max-width: 1200px) {
	.title03 span {
		font-size: 2.5rem;
	}
}

@media all and (max-width: 639px) {
	.title03 span {
		font-size: 2rem;
	}
}

.feature {
	width: 100%;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0 auto;
}

@media all and (max-width: 800px) {
	.feature {
		margin-top: 100px;
	}
}

@media all and (max-width: 639px) {
	.feature {
		margin-top: 50px;
	}
}

.feature li {
	width: 32%;
	margin-right: 2%;
	position: relative;
}

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

@media all and (max-width: 800px) {
	.feature li:nth-child(3n) {
		margin-right: auto;
	}
}

@media all and (max-width: 800px) {
	.feature li {
		text-align: left;
		width: 40%;
		max-width: 600px;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 30px;
	}
	.feature li:last-child {
		margin-bottom: 0;
	}
}

@media all and (max-width: 639px) {
	.feature li {
		text-align: left;
		width: 95%;
		max-width: 600px;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 30px;
	}
	.feature li:last-child {
		margin-bottom: 0;
	}
}

.feature li:nth-child(odd) {
	margin-top: 30px;
}

@media all and (max-width: 800px) {
	.feature li:nth-child(odd) {
		margin-top: 0;
	}
}

.feature li .feature-img {
	position: relative;
}

.feature li .feature-img img {
	display: block;
	border-radius: 5px 20px 5px 20px;
}

.feature li .feature-img .nub {
	position: absolute;
	left: 5px;
	bottom: 0px;
	font-size: 3rem;
	font-weight: 600;
	line-height: 1;
	color: #fff;
	text-shadow:
		1px 1px 0px #2c4d70,
		-1px 1px 0px #2c4d70,
		1px -1px 0px #2c4d70,
		-1px -1px 0px #2c4d70,
		1px 0px 0px #2c4d70,
		0px 1px 0px #2c4d70,
		-1px 0px 0px #2c4d70,
		0px -1px 0px #2c4d70;
}

.feature li .feature-img .nub span {
	font-size: 5rem;
}

@media all and (max-width: 639px) {
	.feature li .feature-img .nub {
		font-size: 2rem;
	}
}

.feature li .txt {
	padding: 20px 10px 0;
}

.feature li .txt .mtext1 {
	text-align: center;
	margin-bottom: 10px;
	font-family: "YakuHanJP", "Zen Maru Gothic", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "YuGothic",
		"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
	color: #493d33;
}

@media all and (max-width: 800px) {
	.feature li .reason-img img {
		border-radius: 2px 15px 2px 15px;
	}
	.feature li .reason-img .nub {
		right: 10px;
		bottom: 5px;
		font-size: 1.5rem;
	}
	.feature li .reason-img .nub span {
		font-size: 3.6rem;
	}
	.feature li .txt {
		padding: 15px 5px 0;
	}
}

.top-service-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.top-service-list li {
	width: 19%;
	font-weight: 600;
	text-align: center;
	color: #52a977;
}

.top-service-list .top-service-img {
	width: 120px;
	height: 120px;
	margin: 0 auto 10px;
}

.top-service-list .top-service-img img {
	border-radius: 50%;
}

@media all and (max-width: 639px) {
	.top-service-list {
		justify-content: flex-start;
	}
	.top-service-list li {
		width: 48%;
		margin-right: 4%;
		margin-bottom: 15px;
	}
	.top-service-list li:nth-child(2n) {
		margin-right: 0;
	}
}

.box1 {
	max-width: 700px;
	margin-right: auto;
	margin-left: auto;
}

.link-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin-top: -15px;
}

@media all and (max-width: 639px) {
	.link-list {
		padding: 0 10px;
	}
}

.link-list li {
	width: 15%;
	margin-top: 15px;
	border: 1px solid #f0f0f0;
	background: #fff;
	padding: 4px 0;
}

.link-list li img {
	width: 100%;
}

@media all and (max-width: 639px) {
	.link-list li {
		width: 31%;
	}
}

.box-line {
	background-image: linear-gradient(to right, #957d6c, #957d6c 30%, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0) 100%),
		linear-gradient(to right, #957d6c, #957d6c 30%, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0) 100%),
		linear-gradient(to bottom, #957d6c, #957d6c 30%, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0) 100%),
		linear-gradient(to bottom, #957d6c, #957d6c 30%, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0) 100%);
	background-size:
		8px 1px,
		8px 1px,
		1px 8px,
		1px 8px;
	background-position:
		left top,
		left bottom,
		left top,
		right top;
	background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
	padding: 25px;
	max-width: 800px;
	margin: 0 auto 40px;
	position: relative;
}

.box-line:before {
	position: absolute;
	content: "";
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	top: 50%;
	left: 50%;
	background: #457fbc;
	opacity: 0.1;
	transform: translate(-50%, -50%);
}

@media all and (max-width: 639px) {
	.box-line {
		max-width: 95%;
		padding: 15px;
	}
}

.top-btn-box {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 20px 0;
}

.top-btn-box a {
	display: block;
	width: 350px;
}

.top-btn-box a:first-of-type {
	margin-right: 40px;
}

@media all and (max-width: 800px) {
	.top-btn-box a {
		width: 45%;
	}
}

@media all and (max-width: 639px) {
	.top-btn-box a {
		width: 90%;
	}
	.top-btn-box a:first-of-type {
		margin: 0 auto 20px;
	}
}

.slide_list,
.slide_list2 {
	margin-top: 40px;
}

.slide_list li,
.slide_list2 li {
	margin-right: 1%;
}

.slide_list img,
.slide_list2 img {
	border-radius: 10px;
	width: 330px;
	height: 280px;
}

@media all and (max-width: 639px) {
	.slide_list img,
	.slide_list2 img {
		height: 170px;
		width: 220px;
	}
}

.price-box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 40px;
}

.price-box .price-video {
	width: 30%;
}

.price-box .price-txt {
	width: 65%;
}

.price-box .tbl_new tr th {
	width: 30%;
	padding-left: 10px;
}

@media all and (max-width: 800px) {
	.price-box {
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.price-box .price-video {
		width: 200px;
		margin-bottom: 20px;
	}
	.price-box .price-txt {
		width: 80%;
	}
	.price-box .tbl_new tr th {
		width: 50%;
	}
}

@media all and (max-width: 639px) {
	.price-box .price-txt {
		width: 100%;
	}
}

.bg-joinus {
	position: relative;
	padding: 80px 0 0;
}

.bg-joinus:before {
	position: absolute;
	content: "";
	width: 300px;
	height: 300px;
	right: 0;
	top: 0;
	background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/join-right.png) no-repeat 50% /
		contain;
}

.bg-joinus:after {
	position: absolute;
	content: "";
	width: 300px;
	height: 300px;
	left: 0;
	top: 0;
	background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/25049/join-left.png) no-repeat 50% /
		contain;
}

@media all and (max-width: 639px) {
	.bg-joinus {
		padding: 50px 0 0;
	}
	.bg-joinus:before {
		width: 160px;
		height: 140px;
	}
	.bg-joinus:after {
		width: 170px;
		height: 119px;
	}
}

.join-box {
	position: relative;
	margin: 90px auto 50px;
}

.join-box .join-ttl {
	position: absolute;
	z-index: 10;
	top: -80px;
	left: 50%;
	transform: translateX(-50%);
}

.join-box a {
	display: block;
}

.join-box a:hover {
	opacity: 0.8;
}

@media all and (max-width: 639px) {
	.join-box {
		margin: 90px auto 0;
	}
	.join-box .join-ttl {
		left: auto;
		transform: none;
		top: -40px;
	}
}

.what-inner {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 40px;
	justify-content: space-between;
	align-items: center;
}

.what-inner.m-b0 {
	margin-bottom: 0;
}

.what-inner .in-left {
	padding: 10px;
}

.what-inner .in-left .read {
	color: #d43339;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 30px;
	letter-spacing: 0.1em;
	letter-spacing: 0.2em;
	font-weight: 500;
	line-height: 1.4em;
	text-align: center;
}

.what-inner .in-left .read span {
	display: table;
	margin: 0;
	font-size: 23px;
	letter-spacing: 0.1em;
	line-height: 1em;
	color: #deafb0;
	margin-top: 10px;
}

.what-inner .in-left .kodomo {
	text-align: center;
	position: relative;
	margin: 20px auto -12px;
}

.what-inner .in-right {
	flex: 1 0 auto;
}

@media all and (max-width: 639px) {
	.what-inner .in-left {
		width: 100%;
	}
	.what-inner .in-left .btn01 {
		display: none !important;
	}
	.what-inner .in-left .read {
		font-size: 18px;
		margin-bottom: 20px;
	}
	.what-inner .in-left .read span {
		font-size: 18px;
	}
	.what-inner .in-right {
		width: 100%;
	}
}

.kiritori {
	height: 1px;
	border-top: 1px solid rgba(78, 71, 43, 0.1);
	margin: 50px auto;
	width: 80%;
	display: block;
}

.bgextend {
	animation-name: bgextendAnimeBase;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	position: relative;
	overflow: hidden;
	opacity: 0;
}

@keyframes bgextendAnimeBase {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

.bgappear {
	animation-name: bgextendAnimeSecond;
	animation-duration: 1s;
	animation-delay: 0.6s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes bgextendAnimeSecond {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.bgLRextend::before {
	animation-name: bgLRextendAnime;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	background-image: linear-gradient(to right, rgba(88, 73, 62, 0.5), rgba(88, 73, 62, 0.2));
}

@keyframes bgLRextendAnime {
	0% {
		transform-origin: left;
		transform: scaleX(0);
	}
	50% {
		transform-origin: left;
		transform: scaleX(1);
	}
	51% {
		transform-origin: right;
	}
	100% {
		transform-origin: right;
		transform: scaleX(0);
	}
}

.bgRLextend::before {
	animation-name: bgRLextendAnime;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #58493e;
}

@keyframes bgRLextendAnime {
	0% {
		transform-origin: right;
		transform: scaleX(0);
	}
	50% {
		transform-origin: right;
		transform: scaleX(1);
	}
	51% {
		transform-origin: left;
	}
	100% {
		transform-origin: left;
		transform: scaleX(0);
	}
}

.bgappearTrigger,
.bgUDextendTrigger,
.bgDUextendTrigger,
.bgRLextendTrigger,
.bgLRextendTrigger {
	opacity: 0;
}

.innerB {
	margin-top: 60px;
	display: table;
	width: 100%;
	table-layout: fixed;
}

.innerB .left {
	width: 48%;
	float: left;
}

.innerB .left img {
	width: 100%;
	border-radius: 10px;
}

.innerB .event_text {
	padding-left: 180px;
	position: relative;
}

.innerB .event_text .kisetu {
	display: block;
	width: 115px;
	position: absolute;
	left: 0;
	top: 0;
}

.innerB .right {
	width: 48%;
	float: left;
	margin-left: 4%;
}

.innerB .imgB {
	width: 100%;
	border-radius: 10px;
	height: 300px;
	-o-object-fit: cover;
	object-fit: cover;
}

.daily-dl {
	position: relative;
}

.daily-dl .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 30px;
	position: relative;
}

.daily-dl .inner:before {
	position: absolute;
	content: "";
	height: 125%;
	width: 8px;
	top: 25px;
	left: 30px;
	background: #fb9797;
}

.daily-dl .inner:last-child {
	margin-bottom: 0;
}

.daily-dl .inner:last-child::before {
	display: none;
}

@media all and (max-width: 639px) {
	.daily-dl .inner {
		width: 100%;
		margin: 0 auto 20px;
	}
	.daily-dl .inner:before {
		width: 8px;
		height: 130%;
		left: 30px;
		top: 15px;
	}
}

.daily-dl .inner dt {
	position: relative;
	width: 70px;
	height: 70px;
	line-height: 70px;
	background: #fb9797;
	border-radius: 50%;
	color: #fff;
	text-align: center;
	font-size: 1.4rem;
	z-index: 4;
	font-family: "Outfit", serif;
	font-weight: 600;
	letter-spacing: 0.05em;
}

.daily-dl .inner dt.line2 {
	line-height: 1.2;
	padding-top: 18px;
}

@media all and (max-width: 639px) {
	.daily-dl .inner dt {
		font-size: 1.2rem;
	}
}

.daily-dl .inner dd {
	flex: 1;
	position: relative;
	background: #fff;
	left: -10px;
	margin-top: 10px;
	padding: 15px 10px 15px 25px;
	z-index: 2;
	border-radius: 3px;
}

@media all and (max-width: 639px) {
	.daily-dl .inner dd {
		margin-top: 10px;
	}
}

.daily-dl.type2 .inner::before {
	background: #4e472b;
}

.daily-dl.type2 .inner dt {
	background: #4e472b;
}

.daily-dl.type3 .inner::before {
	background: #97cee4;
}

.daily-dl.type3 .inner dt {
	background: #97cee4;
}

.about-box {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 40px;
	justify-content: space-between;
}

.about-box.m-b0 {
	margin-bottom: 0;
}

.about-box .in-left {
	width: 40%;
	padding: 10px;
}

.about-box .in-left .read {
	color: #d43339;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 30px;
	letter-spacing: 0.1em;
	letter-spacing: 0.2em;
	font-weight: 500;
	line-height: 1.4em;
	text-align: center;
}

.about-box .in-left .read span {
	display: table;
	margin: 0;
	font-size: 23px;
	letter-spacing: 0.1em;
	line-height: 1em;
	color: #deafb0;
	margin-top: 10px;
}

.about-box .in-left figure {
	height: 100%;
	overflow: hidden;
}

.about-box .in-left figure img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.about-box .in-right {
	flex: 1 0 auto;
	margin-left: 30px;
}

@media all and (max-width: 639px) {
	.about-box .in-left {
		width: 100%;
	}
	.about-box .in-left .read {
		font-size: 18px;
		margin-bottom: 20px;
	}
	.about-box .in-left .read span {
		font-size: 18px;
	}
	.about-box .in-right {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}

.about-column2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 90px;
}

.about-column2 .child {
	position: relative;
	width: 48%;
	margin-bottom: 20px;
}

.about-column2 .child.col100 {
	width: 100%;
}

.about-column2 .child:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 1px;
	background: #4e472b;
	top: 17px;
}

.about-column2 .child .inner {
	padding: 30px 20px;
}

.about-column2 .child .about-read {
	display: table;
	border: 1px solid #4e472b;
	color: #4e472b;
	border-radius: 100px;
	padding: 0 25px;
	font-size: 28px;
	font-size: 1.75rem;
	letter-spacing: 0.1em;
	font-weight: 500;
	background: #fff;
	margin-left: 20px;
	position: relative;
}

@media all and (max-width: 639px) {
	.about-column2 {
		margin-top: 40px;
	}
	.about-column2 .child {
		width: 100%;
	}
	.about-column2 .child .about-read {
		font-size: 16px;
	}
}

.about-box2 {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 40px;
	justify-content: space-between;
}

.about-box2 .in-left {
	width: 20%;
	padding: 10px;
}

.about-box2 .in-right {
	width: 78%;
}

@media all and (max-width: 639px) {
	.about-box2 .in-left {
		width: 100%;
	}
	.about-box2 .in-left .read {
		font-size: 18px;
		margin-bottom: 20px;
	}
	.about-box2 .in-left .read span {
		font-size: 18px;
	}
	.about-box2 .in-right {
		width: 100%;
	}
}

.about_02 .about_02_image {
	position: relative;
}

.about_02 .about_02_image img {
	position: relative;
	z-index: 1;
	width: 100%;
}

.about_02 .mbox.about_02_mbox {
	margin-top: -200px;
	max-width: 90%;
}

.about_tableBox {
	display: flex;
	flex-wrap: wrap;
	width: 90%;
	margin: auto;
	margin-top: -190px;
}

.about_tableBox .tableBox_left {
	background: #e3e4e5;
	padding: 60px 60px;
	position: relative;
	z-index: 22;
	width: 50%;
}

.about_tableBox .tableBox_right {
	background: #4e472b;
	padding: 60px 60px;
	position: relative;
	z-index: 22;
	width: 50%;
}

.history-dl {
	display: flex;
	flex-wrap: wrap;
	position: relative;
	z-index: 10;
	width: 85%;
}

.history-dl:before {
	position: absolute;
	content: "";
	left: 200px;
	top: 0;
	width: 1px;
	height: 100%;
	z-index: 1;
	background: #aaa;
}

@media all and (max-width: 639px) {
	.history-dl {
		display: block;
		width: 99%;
	}
	.history-dl:before {
		left: 0;
	}
}

.history-dl dt,
.history-dl dd {
	margin-bottom: 40px;
	padding-bottom: 20px;
	border-bottom: 1px solid #ddd;
}

.history-dl dt {
	width: 160px;
	margin-right: 40px;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #4e472b;
	text-align: right;
	line-height: 1;
	text-shadow:
		1px 1px 0 #fff,
		-1px 1px 0 #fff,
		1px -1px 0 #fff,
		-1px -1px 0 #fff;
}

.history-dl dt span {
	font-size: 2rem;
	padding: 0 3px;
	color: #2d2919;
}

@media all and (max-width: 639px) {
	.history-dl dt {
		width: 60%;
		font-size: 1.5rem;
		padding-left: 20px;
		text-align: left;
		border-bottom: 0;
		margin-bottom: 0;
	}
	.history-dl dt span {
		font-size: 1.8rem;
	}
}

.history-dl dd {
	width: calc(100% - 200px);
	display: flex;
	flex-wrap: wrap;
	padding-left: 40px;
	align-items: flex-start;
	font-size: 1.4rem;
}

@media all and (max-width: 639px) {
	.history-dl dd {
		width: 100%;
		padding-left: 20px;
		font-size: 1.2rem;
	}
}

.history-dl dd .month {
	width: 65px;
	font-weight: 700;
	background: #4e472b;
	padding: 5px;
	text-align: center;
	border-radius: 30px;
	position: relative;
	color: #fff;
}

.history-dl dd .month.type1 {
	background-color: rgba(0, 0, 0, 0);
	position: absolute;
	margin-top: 15px;
}

.history-dl dd .month:before,
.history-dl dd .month:after {
	position: absolute;
	content: "";
}

.history-dl dd .month:before {
	left: -40px;
	top: 50%;
	width: 42px;
	height: 1px;
	z-index: 1;
	background: #aaa;
}

.history-dl dd .month:after {
	width: 10px;
	height: 10px;
	left: -45px;
	top: 50%;
	border-radius: 100%;
	background: #d43339;
	margin-top: -5px;
	z-index: 10;
}

@media all and (max-width: 639px) {
	.history-dl dd .month:before {
		left: -20px;
		width: 25px;
	}
	.history-dl dd .month:after {
		left: -25px;
	}
}

.history-dl dd .txt {
	width: calc(100% - 65px);
	padding: 10px;
}

.history-dl dd .txt.type1 {
	margin-top: -17px;
}

.history-dl dd .month,
.history-dl dd .txt {
	margin-bottom: 10px;
}

.arrow {
	font-size: 5rem;
	color: #58493e;
	margin-top: 40px;
}

.sns-link_box {
	position: relative;
	max-width: 1200px;
	min-height: 116px;
	margin: 30px auto;
	padding: 30px 20px;
	border-top: #053446 solid 1px;
	border-bottom: #053446 solid 1px;
}

.sns-link_box.type1 {
	max-width: 1000px;
}

.sns-link_box .sns-title {
	font-size: 20px;
	letter-spacing: 0.1em;
	background: #fff;
	position: absolute;
	width: 350px;
	top: -16px;
	left: 50%;
	color: #58493e;
	font-weight: 600;
	margin: 0 auto;
	text-align: center;
	transform: translateX(-50%);
}

@media all and (max-width: 639px) {
	.sns-link_box .sns-title {
		width: 220px;
	}
}

.img_contents {
	overflow: hidden;
	position: relative;
	padding: 120px 0 0;
}

.img_contents .img_area {
	position: absolute;
	top: -80px;
	left: 51%;
	margin-left: -270px;
	z-index: 1;
	height: 100%;
}

.img_contents .img_area img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

@media all and (max-width: 639px) {
	.img_contents .img_area {
		top: -100px;
		height: 70%;
	}
	.img_contents .img_area img {
		-o-object-position: 30% center;
		object-position: 30% center;
	}
}

.img_contents .img_area > .swiper-wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

@media all and (max-width: 639px) {
	.img_contents .img_area > .swiper-wrapper {
		flex-wrap: nowrap;
		justify-content: initial;
	}
}

.img_contents .img_area .swiper-slide .slide-img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;";
}

.img_contents .img_container {
	position: relative;
	z-index: 2;
}

.img_contents .img_container .txt {
	width: 50%;
	background: #fefefe;
	padding: 30px 20px;
}

@media all and (max-width: 639px) {
	.img_contents .img_container .txt {
		margin-top: 50px;
		width: 100%;
	}
}

#content-wrap {
	margin-inline: auto;
	max-width: 1920px;
	margin-inline: auto;
	position: relative;
}

#content-wrap #page-side {
	width: 25%;
	max-width: 280px;
	float: left;
	position: sticky;
	left: 5%;
	top: 50px;
	z-index: 4;
}

#content-wrap #page-main {
	position: relative;
}

#content-wrap #page-main .single {
	max-width: 1400px;
	padding-left: calc(3% + 280px);
}

@media all and (max-width: 1200px) {
	#content-wrap #page-main .single {
		padding-left: 25.5%;
	}
	#content-wrap #page-side {
		left: 1%;
	}
}

@media all and (max-width: 800px) {
	#content-wrap #page-main .single {
		padding-left: 0;
		padding: 60px 0 60px;
	}
	#content-wrap #page-side {
		float: none;
		width: 100%;
		max-width: 100%;
		margin-bottom: 50px;
	}
}

#side-nav {
	padding: 0 30px;
	position: relative;
	top: 140px;
	z-index: 4;
}

#side-nav:before {
	position: absolute;
	content: attr(data-title);
	left: 50%;
	transform: translateX(-50%);
	top: -24px;
	width: calc(100% - 60px);
	padding: 3px 0;
	background: #58493e;
	text-align: center;
	font-size: 11px;
	color: #fff;
	letter-spacing: 0.1em;
}

#side-nav .side-nav-list {
	counter-reset: number;
	list-style: none;
	padding: 0;
	border-radius: 0 0 50px 0;
	background: #fff;
	overflow: hidden;
	box-shadow:
		rgba(0, 0, 0, 0.1) 0px 10px 15px -3px,
		rgba(0, 0, 0, 0.05) 0px 4px 8px -2px;
}

#side-nav .side-nav-list li {
	font-weight: 500;
	position: relative;
	transition: 0.3s all cubic-bezier(0.18, 0.06, 0.23, 1);
}

#side-nav .side-nav-list li:last-of-type(not) {
	border-bottom: 2px solid #f2f2f2;
}

#side-nav .side-nav-list li:hover {
	opacity: 0.8;
	background-color: #f5efe5;
}

#side-nav .side-nav-list li a {
	display: block;
	color: #111;
	width: 100%;
	height: 100%;
	padding: 1em 1em 1em 4em;
	line-height: 1.4;
}

#side-nav .side-nav-list li:before {
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
	counter-increment: number;
	content: counter(number, decimal-leading-zero);
	line-height: 1;
	text-align: center;
	font-size: 2rem;
	color: #4e472b;
	font-family: "EB Garamond", serif;
	font-weight: 600;
	font-weight: 600;
}

#side-nav .side-nav-list li.current a {
	background-color: #4e472b;
	color: #fff;
}

#side-nav .side-nav-list li.current a:before {
	color: #e2b869;
}

@media all and (max-width: 1200px) {
	#side-nav {
		padding: 0 20px;
	}
	#side-nav:before {
		width: calc(100% - 40px);
	}
	#side-nav .side-nav-list li a {
		padding-left: 3em;
	}
	#side-nav .side-nav-list li:before {
		font-size: 2.2rem;
	}
	#side-nav .side-nav-list li.current a {
		background: #4e472b;
		color: #fff;
	}
	#side-nav .side-nav-list li.current a:before {
		color: #dbe158;
	}
}

@media all and (max-width: 800px) {
	#side-nav {
		top: 50px;
	}
	#side-nav .side-nav-list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		border-radius: 0;
	}
	#side-nav .side-nav-list li a {
		padding: 1em 0.5em 1em 2.8em;
	}
	#side-nav .side-nav-list li:before {
		font-size: 1.8rem;
		left: 5px;
		transform: none;
		top: 10px;
	}
}

.img-100 {
	position: relative;
	width: 100%;
	height: 100%;
}

.img-100 img {
	height: 350px;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
}

.split-ttl {
	margin-bottom: 40px;
	color: #957d6c;
}

.split-ttl span:nth-child(1),
.split-ttl span:nth-child(9),
.split-ttl span:nth-child(17) {
	color: #fb9797;
}

.split-ttl span:nth-child(2),
.split-ttl span:nth-child(10),
.split-ttl span:nth-child(18) {
	color: #457fbc;
}

.split-ttl span:nth-child(3),
.split-ttl span:nth-child(11),
.split-ttl span:nth-child(19) {
	color: #b588c4;
}

.split-ttl span:nth-child(4),
.split-ttl span:nth-child(12),
.split-ttl span:nth-child(20) {
	color: #73bb92;
}

.split-ttl .eng {
	font-size: 8rem;
	font-family: "EB Garamond", serif;
	font-weight: 600;
}

@media all and (max-width: 1200px) {
	.split-ttl .eng {
		font-size: 7rem;
	}
}

@media all and (max-width: 800px) {
	.split-ttl {
		margin-bottom: 35px;
	}
	.split-ttl .eng {
		font-size: 5.4rem;
	}
}

@media all and (max-width: 639px) {
	.split-ttl .eng {
		font-size: 4.6rem;
	}
}

.glowAnime span {
	opacity: 0;
}

.glowAnime.glow span {
	animation: glow_anime_on 1s ease-out forwards;
}

@keyframes glow_anime_on {
	0% {
		opacity: 0;
		text-shadow:
			0 0 0 #fefefe,
			0 0 0 #fefefe;
	}
	50% {
		opacity: 1;
		text-shadow:
			0 0 10px #fefefe,
			0 0 15px #fefefe;
	}
	99% {
		opacity: 1;
		text-shadow:
			0 0 0 #fefefe,
			0 0 0 #fefefe;
	}
	100% {
		opacity: 1;
		text-shadow: none;
	}
}

.btn-list {
	width: 90%;
	margin: 60px auto 0;
}

.btn-list.type2 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	row-gap: 20px;
}

.btn-list.type2 .btn03 {
	width: 48%;
	margin: 0;
}

.btn-list.type2 .btn03 a {
	padding: 10px 20px;
}

@media all and (max-width: 639px) {
	.btn-list {
		width: 100%;
		margin: 20px auto 0;
	}
	.btn-list .btn03 {
		margin: 10px auto 0;
	}
}
