@import "oc-theme-base.css";

:root {
	--oc-link-color: #389951;
	--oc-primary-color: #634F18;
	
	--oc-btn-primary-color: #634F18;
	--oc-btn-alt-color: #634F18;

	--oc-blog-heading-mt: 1.9rem;
	--oc-blog-heading-mb: 1.625rem;
	--oc-blog-heading-pt: 1.625rem;
	--oc-blog-font-size: calc(1rem + .069vw);
	--oc-blog-heading1-fs: calc(1.6rem + .069vw);
	--oc-blog-heading2-fs: calc(1.5rem + .069vw);
	--oc-blog-heading3-fs: calc(1.35rem + .069vw);
	--oc-blog-line-height: 1.625rem;

	--header-height: 112px;
}

@media screen and (max-width:1024px) {
	:root {
		--header-height: 64px;
	}
}

body {
	color: var(--oc-primary-color);
	font-size: 16px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 700;
	font-style: normal;
	letter-spacing: 0.02em;
	line-height: 1.8;
	background: #FAF8F2;
}

.text-primary-color{
	color: var(--oc-primary-color);
}
.clear-fix { clear: both; }

a {
	text-decoration: none;
	color: var(--oc-link-color);;
}
a:hover {
	text-decoration: none;
}
img {
	max-width: 100%;
}

.bg-image {
	z-index: 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.text-bg-top {
	z-index: 0;
	height: 200px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.text-bg-top .caption h1,
.text-bg-top .caption h2 {
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
}
.content-none {
    text-align: center;
    font-size: 20px;
    padding: 80px 10px;
}
.content-none .error-number {
    font-size: 70px;
}
.content-none .content-none-btn {
    margin: 20px auto;
    text-align: center;
}

/* OC Button Style */
.site-btn {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 375px;
    height: 73px;
    max-width: 90%;
    border: 1px solid #fff;
    color: #fff;
    background-color: transparent;
    transition: all 0.5s;
}
.site-btn {
    color: var(--oc-primary-color);
    border-color: var(--oc-primary-color);
}

/* END - OC Button Style */

/* OC Modal Style */
.modal-design {
	height: 80vh;
	overflow: scroll;
	margin: 15% 0 10% 0;
	border-radius: unset;
} 
.modal-dialog{
	max-width: 800px;
	padding: 1rem;
}

@media (min-width: 576px){
	.modal-dialog {
		max-width: 500px;
		margin: 1.75rem auto;
	}
}

.close-btn {
	position: fixed;
	right: 0x;
	top: 25px;
}
.modal-side-margin {
	margin: 0;
}

.modal-body-design {
	padding: 0;
}

.round_btn {
	display: block;
	width: 45px;
	height: 45px;
	border: 2px solid #AA8400; /* 枠の調整 */
	border-radius: 50%;  /* 丸みの度合い */
	background: #fff; /* ボタンの背景色 */
}

.round_btn::before, .round_btn::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 3px; /* 棒の幅（太さ） */
	height: 22px; /* 棒の高さ */
	background: #AA8400; /* バツ印の色 */
}

.round_btn::before {
	transform: translate(-50%,-50%) rotate(45deg);
}

.round_btn::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}

/* END - OC Modal Style */

*{
	word-break: break-word;
}
a,
a img{
    transition: all .3s;
}
a[href^="tel:"] {
    pointer-events: none;
}
/* a:hover{
	opacity: 0.7;
} */
p{
	margin-bottom: 30px;
}
p:last-child{
	margin-bottom: 0;
}
img{
	max-width: 100%;
}
figure{
	margin-bottom: 0;
}
i{
	font-style: normal;
}
table{
	width: 100%;
}
.home dl,
.home dd,
.content dl,
.content dd,
ul.reset,
ol.reset,
#header ul,
#footer ul,
.home ul,
.home ol{
	margin: 0;
	padding: 0;
}
ul.reset li,
ol.reset li,
#header li,
#footer li,
.home li{
	list-style: none;
}
.tb,
.sp{
	display: none;
}
.flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.f1{
	font-family: "Poppins", sans-serif;
	font-weight: 600;
	font-style: normal;
}
.btn-s1{
	display: inline-block;
	padding-right: 22px;
	width: 210px;
	height: 56px;
	color: #fff;
	font-size: 16px;
	text-align: center;
	line-height: 56px;
	background: #F98918 url(../img/arrow.svg) no-repeat right 55px top 24px;
	border-bottom: #ad6217 3px solid;
	border-radius: 30px;
}
.btn-s1:hover{
	border-width: 0;
    transform: translateY(3px);
}
.btn-s1.short{
	padding-right: 22px;
	width: 170px;
	height: 51px;
	line-height: 51px;
	background: #F98918 url(../img/arrow.svg) no-repeat right 30px top 22px;
}
.btn-s1.large{
	width: 230px;
}
.text-s1 span{
	display: inline-block;
	position: relative;
	padding: 0 15px;
	font-size: 16px;
	letter-spacing: 0.04em;
	line-height: 2.2;
}
.text-s1 span:after,
.text-s1 span:before{
	content: '';
	position: absolute;
	top: 12px;
	left: 0;
	width: 13px;
	height: 15px;
	background: url(../img/deco03.svg) no-repeat center;
	background-size: contain;
}
.text-s1 span:after{
	left: auto;
	right: 0;
	background: url(../img/deco04.svg) no-repeat center;
	background-size: contain;
}

@media screen and (max-width:820px) {
	.tb{
		display: block;
	}
}

@media screen and (max-width:767px) {
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
    a[href^="tel:"] {
        pointer-events: auto;
    }
	.btn-s1.short,
	.btn-s1{
		padding-right: 22px;
		width: 310px;
		height: 56px;
		line-height: 56px;
		background: #F98918 url(../img/arrow.svg) no-repeat right 105px top 24px;
	}
	.text-s1 span:after,
	.text-s1 span:before{
		top: 9px;

	}
	.text-s1 span{
		font-size: 14px;
	}
}

/*base*/
#container{
	overflow: hidden;
}
.is-fixed #container{
	padding-top: var(--header-height);
}
.package{
	margin: 0;
	padding: 0;
	margin-bottom: 75px;
	max-width: 100%;
}
.wrap{
	margin: 0 auto;
	max-width: 1150px;
	padding: 0 15px;
	width: 100%;
}

@media screen and (max-width:767px) {
	.home .package{
		margin-bottom: 50px;
	}
}

/*ヘッダー*/
#header {
	position: relative;
	padding-left: 35px;
	height: var(--header-height);
	line-height: 1.5;
	letter-spacing: 0;
	background: #FAF8F2;
	z-index: 11;
}
.is-fixed #header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	animation: slideDown .45s cubic-bezier(.22,1,.36,1) both;
	z-index: 11;
}
@keyframes slideDown{
  from { transform: translateY(-100%); }
  to   { transform: translateY(0); }
}
#header .flex{
	gap: 20px;
}
#header .left{
	padding-top: 20px;
}
#header .right{
	display: flex;
	gap: 25px;
	align-items: center;
}
#header .description{
	margin-bottom: 5px;
	padding: 0;
	font-size: 12px;
	font-weight: bold;
	opacity: 0.8;
}
#header .description-sp{
	display: none;
}
#header .gnav{
	display: flex;
	gap: 25px;
	align-items: center;
}
#header .logo{
	width: 60px;
	font-size: 30px;
}
#header .logo a{
	color: var(--oc-primary-color);
}
#header .menu #menu-main-menu{
	display: flex;
	gap: 25px;
}
#header .menu li a{
	color: var(--oc-primary-color);
}
#header .menu li a:hover{
	color: #F98918;
}
#header .tel{
	font-size: 14px;
}
#header .tel a{
	display: block;
	padding-left: 20px;
	min-height: 17px;
	color: #389951;
	font-size: 24px;
	line-height: 1;
	background: url(../img/icon-phone.svg) no-repeat 0 center;
}
#header .tel span{
	color: var(--oc-primary-color);
}
#header .right .contact{
	font-size: 18px;
}
#header .right .contact a{
	display: block;
	position: relative;
	padding: 5px;
	padding-top: 15px;
	width: 163px;
	height: var(--header-height);
	color: #fff;
	text-align: center;
}
#header .right .contact a:hover{
	padding-top: 20px;
}
#header .right .contact a:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #F98918;
	border-radius: 0 0 0 10px;
    transition: all .3s;
}
#header .right .contact a:hover:before{
	height: calc(100% + 5px);
}
#header .right .contact span{
	display: block;
	position: relative;
	margin: 0 auto;
	margin-bottom: 10px;
	padding: 5px 0;
	width: 150px;
	color: #594515;
	font-size: 14px;
	line-height: 1.2;
	background: #FFF2C3;
	border-radius: 999px;
}
#header .right .contact span:before{
	content: '';
	position: absolute;
	left: 50%;
	bottom: -6px;
	width: 12px;
	height: 6px;
	background: #FFF2C3;
	clip-path: polygon(50% 100%, 0 0, 100% 0);
}
#header .right .contact b{
	display: inline-block;
	padding-right: 12px;
	background: url(../img/arrow.svg) no-repeat right center;
    transform: translateX(-3px);
}
.menu-trigger{
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	width: 73px;
	height: var(--header-height);
	cursor: pointer;
	background: #F98918;
	border-radius: 0 0 0 20px;
	z-index: 12;
}
.menu-trigger .inr{
	position: relative;
	width: 24px;
	height: 19px;
    transition: all .3s;
}
.menu-trigger span {
	position: absolute;
	right: 0;
	width: 100%;
	height: 3px;
	background: #fff;
	border-radius: 10px;
	transition: all .3s;
}
.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: 50%;
    transform: translateY(-50%);
}
.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}
.on .menu-trigger span:nth-of-type(3),
.on .menu-trigger span:nth-of-type(1) {
	top: 50%;
	bottom: auto;
    transform: translateY(-50%) rotate(-45deg);
}
.on .menu-trigger span:nth-of-type(2){
	opacity: 0;
}
.on .menu-trigger span:nth-of-type(3) {
    transform: translateY(-50%) rotate(45deg);
}
.sp-menu{
	position: fixed;
	top: 0;
	bottom: 0;
	right: -100%;
	padding-top: calc( var(--header-height) + 15px );
	width: 375px;
	background: #FAF8F2;
    transition: all .8s cubic-bezier(0.19, 1, 0.22, 1);
    overflow: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	z-index: 10;
}
.sp-menu::-webkit-scrollbar{
	display: none;
}
.on .sp-menu{
	right: 0;
}
.sp-menu .inr{
	padding: 45px 15px 20px;
	min-height: 100%;
	color: #fff;
	background: #389951 url(../img/sp-menu-bg.png) repeat-y center 0;
	background-size: 100% auto;
	border-radius: 30px 30px 0 0;
}
.sp-menu .upper {
	margin-bottom: 50px;
	padding: 0 25px;
}
.sp-menu li a,
.sp-menu a{
	color: #fff;
}
.sp-menu dl{
	margin-bottom: 50px;
	text-align: center;
	line-height: 1.5;
}
.sp-menu dl:has(#menu-item-67){
	margin: 0 auto;
	width: 130px;
}
.sp-menu dt{
	margin-bottom: 15px;
	padding-bottom: 20px;
	font-size: 20px;
	background: url(../img/line04.svg) repeat-X 0 bottom;
}
.sp-menu dd{
	letter-spacing: 0;
}
.sp-menu dd>ul{
	display: flex;
	flex-wrap: wrap;
	gap: 15px 0 ;
	margin: 0;
	padding: 0;
}
.sp-menu dd li{
	padding-right: 10px;
	width: 50%;
	text-align: left;
	list-style: none;
	white-space: nowrap;
}
.sp-menu dl:has(#menu-item-67) dd>ul{
	display: block;
}
.sp-menu dl:has(#menu-item-67) li{
	width: 100%;
	text-align: center;
}
.sp-menu .middle{
	margin-bottom: 25px;
}
.design01 .flex{
	justify-content: center;
	flex-wrap: nowrap;
	gap: 10px;
}
.sp-menu .design01 .flex{
	margin-bottom: 20px;
}
.design01 .btn{
	width: 168px;
	height: 57px;
	background: #488FE4;
	border-radius: 10px;
}
.design01 .btn.s2{
	background: #FF706A;
}
.design01 .btn a{
	position: relative;
	display: block;
	padding: 3px 6px;
	line-height: 1.5;
}
.design01 .btn.s2 a:before{
	content: '';
	position: absolute;
	top: -5px;
	right: -1px;
	width: 32px;
	height: 19px;
	background: url(../img/icon-hat.svg) no-repeat center;
	background-size: contain;
	z-index: 2;
}
.design01 .btn span{
	display: inline-block;
	margin-bottom: 2px;
	padding: 0 10px;
	height: 20px;
	color: #488FE4;
	font-size: 12px;
	line-height: 20px;
	background: #fff;
	border-radius: 99px;
}
.design01 .btn.s2 span{
	color: #FF706A;
}
.design01 .btn b{
	display: inline-block;
	padding-right: 20px;
	color: #fff;
	background: url(../img/arrow03.svg) no-repeat right center;
	background-size: 14px;
}
.design01 .btn.s2 b{
	background: url(../img/arrow04.svg) no-repeat right center;
	background-size: 14px;
}
.sp-menu .contact a{
	display: block;
	position: relative;
	margin: 0 auto;
	padding-top: 27px;
	width: 345px;
	height: 68px;
	text-align: center;
	background: #F98918;
	border-radius: 15px;
}
.sp-menu .contact span{
	position: absolute;
	top: -10px;
	left: 50%;
	padding: 0 15px;
	height: 31px;
	color: #F98918;
	font-size: 14px;
	line-height: 31px;
	white-space: nowrap;
	background: #fff;
	border-radius: 1520px;
    transform: translateX(-50%);
}
.sp-menu .contact b{
	display: inline-block;
	padding-right: 25px;
	font-size: 20px;
	background: url(../img/arrow05.svg) no-repeat right center;
}
.sp-menu .bottom{
	letter-spacing: 0.02em;
}
.sp-menu .bottom span{
	display: block;
	margin-bottom: 5px;
}
.fixed-bottom-btn{
	display: none;
	position: fixed;
	left: 50%;
	bottom: 10px;
	width: 345px;
    transform: translateX(-50%);
	z-index: 9;
}

@media screen and (max-width:1225px) {
	#header{
		padding: 0 15px;
	}
	#header .flex{
		align-items: center;
		height: 100%;
		width: calc( 100% - 70px );
	}
	#header .right,
	#header .left .menu{
		display: none;
	}
	#header .left{
		padding-top: 0;
	}
	#header .logo{
		width: 45px;
		flex-shrink: 0;
	}
	.menu-trigger{
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#header .gnav{
		gap: 10px;
		align-items: center;
	}
	#header .description {
		font-size: 10px;
		opacity: 0.8;
	}
	#header .description-sp {
		display: block;
		font-size: 10px;
		opacity: 0.8;
	}
}

@media screen and (max-width:820px) {
	.fixed-bottom-btn{
		display: block;
	}
}

@media screen and (max-width:500px) {
	.sp-menu{
		width: 100%;
	}
	#header .description {
		font-size: 8px;
		opacity: 0.8;
	}
}

/*メインカラム*/
.fixed-btn {
	position: fixed;
	bottom: 5%;
	right: 25px;
	z-index: 10;
    transform: translateY(-50%);
}
.fixed-btn .btn{
	position: relative;
	letter-spacing: 0;
}
.fixed-btn .close{
	position: absolute;
	top: 10px;
	right: 10px;
	width: 13px;
	height: 13px;
	cursor: pointer;
	z-index: 2;
}
.fixed-btn .s1 .close{
	background: url(../img/icon-close.svg) no-repeat center;
}
.fixed-btn .s2 .close{
	background: url(../img/icon-close02.svg) no-repeat center;
}
.fixed-btn a{
	display: block;
	position: relative;
	padding: 15px 10px 0 15px;
	width: 236px;
	height: 87px;
	color: #fff;
	border-radius: 10px;
    transition: all .3s;
}
.fixed-btn a:hover{
	opacity: 0.7;
}
.fixed-btn .s1 a{
	margin-bottom: 5px;
	background: #488FE4;
	display: flex;
	justify-content: center;
}
.fixed-btn .s2 a{
	background: #FF706A;
}
.fixed-btn .s2 a:before{
	content: '';
	position: absolute;
	top: 14px;
	right: 25px;
	width: 32px;
	height: 21px;
	background: url(../img/icon-hat.svg) no-repeat center;
	background-size: 100% auto;
}
.fixed-btn .s2 a:after{
	content: '';
	position: absolute;
	right: 10px;
	bottom: 15px;
	width: 44px;
	height: 33px;
	background: url(../img/icon-shoes.svg) no-repeat center;
	background-size: 100% auto;
}
.fixed-btn span{
	display: inline-block;
	text-align: center;
}
.fixed-btn i{
	display: inline-block;
	padding: 0 10px;
	font-size: 14px;
	height: 23px;
	line-height: 23px;
	background: #fff;
	border-radius: 999px;
}
.fixed-btn .s1 i {
	color: #488FE4;
}
.fixed-btn .s2 i {
	color: #FF706A;
}
.fixed-btn b{
	display: inline-block;
	padding-right: 20px;
	font-size: 20px;
}
.fixed-btn .s1 b{
	background: url(../img/arrow03.svg) no-repeat right center;
}
.fixed-btn .s2 b{
	background: url(../img/arrow04.svg) no-repeat right center;
}
.top-mv {
	position: relative;
	margin: 0 auto;
	margin-bottom: 120px;
	padding-top: 100px;
	max-width: 1340px;
}
.top-mv:after,
.top-mv:before {
	content: '';
	position: absolute;
	left: -96px;
	bottom: -72px;
	width: 446px;
	aspect-ratio: 5 / 2;
	background: url(../img/deco.svg) no-repeat center;
	background-size: contain;
	z-index: 2;
}
.top-mv:after {
	left: auto;
	right: -85px;
	bottom: -25px;
	width: 170px;
	background: url(../img/deco02.svg) no-repeat center;
	background-size: contain;
}
.top-mv .wrap{
	position: relative;
}
.top-mv .wrap:before{
	content: '';
	position: absolute;
	right: -40px;
	bottom: -100px;
	width: 110px;
	height: 96px;
	background: url(../img/deco13.svg) no-repeat center;
	background-size: contain;
}
.top-mv .text{
	position: absolute;
	top: -100px;
	left: 0;
	z-index: 2;
	letter-spacing: 0;
}
.top-mv .text p span.s1{
	display: inline-block;
	padding: 0 10px;
	font-size: 26px;
	line-height: 1.5;
	background: #fff;
	border-radius: 5px;
}
.top-mv .text p span.s1 i{
	color: #7FCA92;
}
.top-mv .text p span.s1 b{
	color: #389951;
}
.top-mv .text strong span.s2{
	display: inline;
}
.top-mv .text strong span.s3{
	display: inline-flex;
	align-items: baseline;
	gap: 7px;
}
.top-mv .text strong{
	display: block;
	margin-top: 10px;
	color: #fff;
	font-size: 48px;
	line-height: 1.2;
}
.top-mv .text strong b{
	display: inline-block;
	margin-right: 10px;
	--stroke-color: #B36E29;
	text-shadow:
		var(--stroke-color) 7px 0px 0px,
		var(--stroke-color) 6.92869px 0.996602px 0px,
		var(--stroke-color) 6.71622px 1.9729px 0px,
		var(--stroke-color) 6.36692px 2.909px 0px,
		var(--stroke-color) 5.8879px 3.78584px 0px,
		var(--stroke-color) 5.28893px 4.58555px 0px,
		var(--stroke-color) 4.5822px 5.29183px 0px,
		var(--stroke-color) 3.78212px 5.8903px 0px,
		var(--stroke-color) 2.90498px 6.36876px 0px,
		var(--stroke-color) 1.96865px 6.71747px 0px,
		var(--stroke-color) 0.992221px 6.92932px 0px,
		var(--stroke-color) -0.00442571px 7px 0px,
		var(--stroke-color) -1.00098px 6.92806px 0px,
		var(--stroke-color) -1.97715px 6.71498px 0px,
		var(--stroke-color) -2.91303px 6.36508px 0px,
		var(--stroke-color) -3.78956px 5.88551px 0px,
		var(--stroke-color) -4.58889px 5.28603px 0px,
		var(--stroke-color) -5.29472px 4.57885px 0px,
		var(--stroke-color) -5.89269px 3.77839px 0px,
		var(--stroke-color) -6.3706px 2.90095px 0px,
		var(--stroke-color) -6.71871px 1.96441px 0px,
		var(--stroke-color) -6.92995px 0.98784px 0px,
		var(--stroke-color) -6.99999px -0.00885142px 0px,
		var(--stroke-color) -6.92743px -1.00536px 0px,
		var(--stroke-color) -6.71372px -1.98139px 0px,
		var(--stroke-color) -6.36324px -2.91705px 0px,
		var(--stroke-color) -5.88311px -3.79328px 0px,
		var(--stroke-color) -5.28313px -4.59223px 0px,
		var(--stroke-color) -4.57551px -5.29762px 0px,
		var(--stroke-color) -3.77466px -5.89507px 0px,
		var(--stroke-color) -2.89692px -6.37243px 0px,
		var(--stroke-color) -1.96016px -6.71995px 0px,
		var(--stroke-color) -0.983458px -6.93057px 0px,
		var(--stroke-color) 0.0132771px -6.99999px 0px,
		var(--stroke-color) 1.00974px -6.92679px 0px,
		var(--stroke-color) 1.98564px -6.71247px 0px,
		var(--stroke-color) 2.92107px -6.36139px 0px,
		var(--stroke-color) 3.797px -5.88071px 0px,
		var(--stroke-color) 4.59557px -5.28022px 0px,
		var(--stroke-color) 5.30051px -4.57215px 0px,
		var(--stroke-color) 5.89746px -3.77094px 0px,
		var(--stroke-color) 6.37426px -2.89289px 0px,
		var(--stroke-color) 6.72119px -1.95591px 0px,
		var(--stroke-color) 6.93119px -0.979076px 0px;
	transform: translateY(-7px);
}
.top-mv .text strong i{
	font-size: 70px;
	letter-spacing: 0;
	--stroke-color: #F98918;
	text-shadow:
		var(--stroke-color) 8px 0px 0px,
		var(--stroke-color) 7.93758px 0.997398px 0px,
		var(--stroke-color) 7.7513px 1.97923px 0px,
		var(--stroke-color) 7.44406px 2.93018px 0px,
		var(--stroke-color) 7.02066px 3.8354px 0px,
		var(--stroke-color) 6.4877px 4.68078px 0px,
		var(--stroke-color) 5.85351px 5.45311px 0px,
		var(--stroke-color) 5.12797px 6.14035px 0px,
		var(--stroke-color) 4.32242px 6.73177px 0px,
		var(--stroke-color) 3.44941px 7.21814px 0px,
		var(--stroke-color) 2.52258px 7.59188px 0px,
		var(--stroke-color) 1.55638px 7.84714px 0px,
		var(--stroke-color) 0.565898px 7.97996px 0px,
		var(--stroke-color) -0.433417px 7.98825px 0px,
		var(--stroke-color) -1.42597px 7.87189px 0px,
		var(--stroke-color) -2.39627px 7.63269px 0px,
		var(--stroke-color) -3.32917px 7.27438px 0px,
		var(--stroke-color) -4.21013px 6.80256px 0px,
		var(--stroke-color) -5.02539px 6.22459px 0px,
		var(--stroke-color) -5.76223px 5.54948px 0px,
		var(--stroke-color) -6.40915px 4.78778px 0px,
		var(--stroke-color) -6.95606px 3.95136px 0px,
		var(--stroke-color) -7.39442px 3.05329px 0px,
		var(--stroke-color) -7.71739px 2.10757px 0px,
		var(--stroke-color) -7.91994px 1.12896px 0px,
		var(--stroke-color) -7.9989px 0.132735px 0px,
		var(--stroke-color) -7.95304px -0.865561px 0px,
		var(--stroke-color) -7.78307px -1.85035px 0px,
		var(--stroke-color) -7.49165px -2.80627px 0px,
		var(--stroke-color) -7.08333px -3.71839px 0px,
		var(--stroke-color) -6.56448px -4.57249px 0px,
		var(--stroke-color) -5.94318px -5.35524px 0px,
		var(--stroke-color) -5.22915px -6.05442px 0px,
		var(--stroke-color) -4.43352px -6.65912px 0px,
		var(--stroke-color) -3.5687px -7.15991px 0px,
		var(--stroke-color) -2.6482px -7.54898px 0px,
		var(--stroke-color) -1.68637px -7.82024px 0px,
		var(--stroke-color) -0.698222px -7.96947px 0px,
		var(--stroke-color) 0.300817px -7.99434px 0px,
		var(--stroke-color) 1.29516px -7.89446px 0px,
		var(--stroke-color) 2.2693px -7.67139px 0px,
		var(--stroke-color) 3.20802px -7.32862px 0px,
		var(--stroke-color) 4.09668px -6.87148px 0px,
		var(--stroke-color) 4.92142px -6.30711px 0px,
		var(--stroke-color) 5.66936px -5.64432px 0px,
		var(--stroke-color) 6.32883px -4.89346px 0px,
		var(--stroke-color) 6.88954px -4.06623px 0px,
		var(--stroke-color) 7.34274px -3.17555px 0px,
		var(--stroke-color) 7.68136px -2.23532px 0px,
		var(--stroke-color) 7.90012px -1.26021px 0px,
		var(--stroke-color) 7.9956px -0.265434px 0px;
}
.top-mv .text i.s1{
	--stroke-color: #488FE4;
}
.top-mv .text i.s2{
	--stroke-color: #FF706A;
}
.top-mv .text i.s3{
	--stroke-color: #5CB774;	
}
.top-mv .text strong span.s2 i{
	letter-spacing: 0;
}
.top-mv .slider{
	margin: 0 auto;
	width: 910px;
	max-width: 100%;
}
.top-mv .slider img{
	margin: 0 10px;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 18px;
}
.top-mv .slick-list{
	overflow: visible;
}
.top-mv .slick-arrow {
    top: 50%;
    width: 54px;
    height: 50px;
	background: url(../img/prev.svg) no-repeat center;
	background-size: contain;
	z-index: 1;
}
.top-mv .slick-next {
	background: url(../img/next.svg) no-repeat center;
	background-size: contain;
}
.top-mv .slick-arrow:before {
	display: none;
}
.top-mv .slick-list{
	padding-bottom: 50px;
}
.top-mv .slick-dots{
	left: 50%;
	bottom: 0;
	padding: 0 35px;
	width: auto;
	min-height: 23px;
	line-height: 1;
	background: #fff;
	border-radius: 999px;
    transform: translateX(-50%);
	z-index: 3;
}
.top-mv .slick-dots li:before,
.top-mv .slick-dots button,
.top-mv .slick-dots button:before{
	display: none;
}
.top-mv .slick-dots li{
	content: '';
	margin: 0 10px;
	padding: 0;
	width: 10px;
	height: 10px;
	background: #C2E8F2;
	border-radius: 100%;
	opacity: 1;
    transition: all .3s;
}
.top-mv .slick-dots li.slick-active{
	width: 24px;
	height: 15px;
	background: url(../img/icon-sprout.svg) no-repeat center;
	border-radius: 0;
    transform: translateY(2px);
}
.top-news {
	position: relative;
	margin-bottom: 70px;
}
.top-news .flex{
	align-items: center;
	gap: 15px;
	margin: 0 auto;
	max-width: 940px;
}
.top-news .body{
	flex: 1;
	max-width: 640px;
}
.top-news h2{
	margin-bottom: 25px;
	color: #389951;
	font-size: 46px;
	font-weight: bold;
	letter-spacing: 0;
}
.top-news li{
	padding-bottom: 4px;
	background: url(../img/line.svg) repeat-x 0 bottom;
}
.top-news li a{
	display: block;
	padding: 20px 0;
	color: var(--oc-primary-color);
	font-size: 18px;
	line-height: 2.2;
	letter-spacing: 0.04em;
}
.top-news .date{
	font-size: 16px;
	line-height: 1;
}
.top-news .category{
	display: inline-block;
	margin-left: 10px;
	padding: 0 5px;
	min-width: 90px;
	height: 24px;
	color: #fff;
	font-size: 16px;
	line-height: 24px;
	text-align: center;
	background: #488FE4;
	border-radius: 5px;
}
.top-news .gallery .category{
	background: #FF706A;
}
.top-news .p-title{
	display: block;
    transition: all .3s;
}
.top-news a:hover .p-title{
	color: #F98918;
}
.top-content{
	line-height: 1.5;
}
.top-content .header{
	text-align: center;
}
.top-content h2{
	margin: 0;
	margin-bottom: 45px;
	color: #389951;
	font-size: 46px;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0;
	text-align: center;
}
.top-content .header p{
	display: inline-block;
	position: relative;
	margin-bottom: 10px;
	padding: 0 25px;
	font-size: 20px;
	line-height: 2.2;
	letter-spacing: 0.04em;
}
.top-content .header p:after,
.top-content .header p:before{
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 20px;
	height: 22px;
	background: url(../img/deco03.svg) no-repeat center;
	background-size: 100% auto;
    transform: translateY(-30%);
}
.top-content .header p:after{
	left: auto;
	right: 0;
	background: url(../img/deco04.svg) no-repeat center;
	background-size: 100% auto;
}
.top-content.c01 {
	position: relative;
	margin-bottom: 95px;
	padding-top: 140px;
	padding-bottom: 110px;
	min-height: 660px;
	text-align: center;
	background: url(../img/top-c01-bg.svg) repeat-x center;
	background-size: auto 100%;
}
.top-content.c01:before{
	content: '';
	position: absolute;
	inset: 0;
	background: url(../img/top_c01_bg02.webp) no-repeat center;
    transform: translateY(30px);
	pointer-events: none;
}
.top-content.c01 .header h2{
	margin-bottom: 20px;
}
.top-content.c01 .header p{
	margin-bottom: 0;
}
.top-content.c01 .body{
	margin: 0 auto;
	max-width: 600px;
	font-size: 20px;
	line-height: 2.2;
	letter-spacing: 0.04em;
}
.top-content.c01 .link{
	margin-top: 35px;
}
.top-content.c02 {
	margin-bottom: 95px;
	padding-bottom: 135px;
	background: url(../img/top-c02-bg.svg) no-repeat center bottom;
}
.top-content.c02 .header{
	margin-bottom: 90px;
}
.top-content.c02 .body{
	position: relative;
	padding: 60px 40px;
	z-index: 1;
}
.top-content.c02 .body:before{
	content: '';
	position: absolute;
	top: -40px;
	left: -60px;
	width: calc(100% + 120px);
	height: calc(100% + 80px);
	background: url(../img/top-c02-bg02.svg) no-repeat center;
	background-size: cover;
	z-index: -1;
}
.top-content.c02 .body:after{
	content: '';
	position: absolute;
	inset: 0;
	background: #F5ECD3;
	border-radius: 30px;
}
.top-content.c02 .body>div{
	position: relative;
	z-index: 1;
}
.top-content.c02 .body>div:before{
	content: '';
	position: absolute;
	left: 75px;
	bottom: -110px;
	width: 115px;
	height: 110px;
	background: url(../img/icon-squirrel.svg) no-repeat center;
	background-size: contain;
}
.top-content.c02 ul{
	display: flex;
	flex-wrap: wrap;
	gap: 20px 30px;
	margin-bottom: 20px;
}
.top-content.c02 li{
	width: calc((100% - 60px) / 3);
}
.top-content.c02 .p-title{
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	margin: 0 auto;
	margin-bottom: 10px;
	padding: 0 50px;
	max-width: 326px;
	height: 86px;
	color: #389951;
	font-size: 18px;
	text-align: center;
	line-height: 1.3;
	letter-spacing: 0;
}
.top-content.c02 .p-title:before{
	content: '';
	position: absolute;
	top: 0;
	left: -5px;
	width: calc(100% + 10px);
	height: 100%;
	background: url(../img/fukidashi.svg) no-repeat center;
	background-size: contain;
	z-index: -1;
}
.top-content.c02 .p-title span{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 2;
}
.top-content.c02 .image{
	margin-bottom: 15px;
}
.top-content.c02 .image img{
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 20px;
}
.top-content.c02 .date{
	display: block;
	margin-bottom: 10px;
	font-size: 15px;
	line-height: 1;
	letter-spacing: 0.04em;
}
.top-content.c02 .excerpt{
	position: relative;
	margin-bottom: 15px;
	padding: 15px 0;
	background: url(../img/line.svg) repeat-x 0 0;
}
.top-content.c02 .excerpt:before{
	content: '';
	position: absolute;
	inset: 0;
	background: url(../img/line.svg) repeat-x 0 bottom;
	z-index: -1;
}
.top-content.c02 .excerpt span{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 3;
}
.top-content.c02 .more{
	text-align: right;
}
.top-content.c02 .more a{
	display: inline-block;
	padding-left: 10px;
	width: 111px;
	height: 29px;
	color: var(--oc-primary-color);
	font-size: 14px;
	letter-spacing: 0;
	line-height: 29px;
	text-align: left;
	background: #fff url(../img/arrow02.svg) no-repeat right 12px center;
	border-radius: 99px;
    transition: all .3s;
}
.top-content.c02 .more a:hover{
	opacity: 0.7;
}
.top-content.c02 .link{
	text-align: center;
}
.top-content.c03 {
	position: relative;
	margin-bottom: 95px;
	background: url(../img/top-c03-bg.png) no-repeat center 20px;
}
.top-content.c03:before{
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	width: 203px;
	aspect-ratio: 5 / 2;
	background: url(../img/deco05.svg) no-repeat center;
	background-size: contain;
    transform: translateX(400px);
}
.top-content.c03 .wrap{
	position: relative;
}
.top-content.c03 h2{
	margin-bottom: 0;
}
.top-content.c03 h2 span{
	color: #F98918;
}
.top-content.c03 .body{
    counter-reset: order;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 15px;
	margin-top: -20px;
}
.top-content.c03 .box{
	position: relative;
	padding-top: 20px;
	width: calc((100% - 30px) / 3);
	text-align: center;
}
.top-content.c03 .box:before{
    counter-increment: order;
    content: counter(order, decimal-leading-zero);
	position: absolute;
	top: 0;
	left: 30px;
	color: #FDAE3F;
	font-family: "Poppins", sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 61px;
	font-weight: bold;
	line-height: 0.8;
	letter-spacing: 0.05em;
	z-index: 2;
}
.top-content.c03 .box:nth-of-type(2){
	margin-top: 100px;
}
.top-content.c03 .box:nth-of-type(3){
	margin-top: 170px;
}
.top-content.c03 .box:nth-of-type(4){
	margin-top: -100px;
}
.top-content.c03 .box a{
	display: block;
	color: var(--oc-primary-color);
}
.top-content.c03 .image{
	clip-path: polygon(220px 0%, calc(100% - 60px) 8%, 99% 135px, 100% calc(100% - 50px), calc(100% - 70px) 100%, 14% 96%, 0 calc(100% - 50px), 0 calc(100% - 170px), 20px 4%);
}
.top-content.c03 a:hover .image img{
	transform: scale(1.1);
}
.top-content.c03 dl{
	position: relative;
	margin-top: -40px;
	margin-bottom: 25px;
	text-align: left;
}
.top-content.c03 dt {
	margin-bottom: 15px;
}
.top-content.c03 dt span{
	display: inline-block;
	padding: 0 5px;
	color: #fff;
	font-size: 24px;
	letter-spacing: 0;
	background: #389951;
}
.top-content.c03 dt span:not(:last-child){
	margin-bottom: 3px;
}
.top-content.c03 dd{
	padding-left: 10px;
	padding-right: 15px;
}
.top-content.c03 .link{
	margin-right: 25px;
	padding-right: 0;
	letter-spacing: 0;
	background: #F98918;
    transition: all .3s;
}
.top-content.c03 a:hover .link{
	border-width: 0;
    transform: translateY(3px);
}
.top-content.c03 .link span{
	display: inline-block;
	padding-right: 22px;
	background: url(../img/arrow.svg) no-repeat right center;
}
.top-content.c04 {
	position: relative;
	margin-bottom: 60px;
	padding-top: 65px;
	padding-bottom: 100px;
	background: #FFE070;
}
.top-content.c04:after,
.top-content.c04:before{
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	width: 210px;
	aspect-ratio: 21 / 13;
	background: url(../img/deco06.svg) no-repeat center;
	background-size: contain;
    transform: translateX(-720px);
}
.top-content.c04:after{
	left: auto;
	right: 50%;
	background: url(../img/deco07.svg) no-repeat center;
	background-size: contain;
    transform: translateX(720px);
}
.top-content.c04 .upper {
	gap: 20px;
	margin-right: -60px;
	margin-bottom: 70px;
}
.top-content.c04 .left{
	flex: 1;
	padding-top: 70px;
}
.top-content.c04 .right{
	position: relative;
	padding-bottom: 20px;
	width: 57%;
}
.top-content.c04 .right:before{
	content: '';
	position: absolute;
	top: -5px;
    left: -50px;
    width: 102%;
    height: 102%;
	background: url(../img/top-c04-bg.svg) no-repeat center;
	background-size: contain;
}
.top-content.c04 .header{
	text-align: left;
}
.top-content.c04 .header p{
	margin-bottom: 5px;
}
.top-content.c04 h2{
	margin-bottom: 25px;
	line-height: 1.4;
}
.top-content.c04 h2 span{
	color: #488FE4;
	font-size: 52px;
}
.top-content.c04 .image.s1{
	width: 71%;
	clip-path: polygon(50% 0%, 91% 16%, 100% 53%, 91% 87%, 64% 100%, 23% 93%, 5% 81%, 0 53%, 9% 8%);
}
.top-content.c04 .image.s2{
	position: absolute;
	top: 0;
	right: 0;
	width: 43%;
	clip-path: polygon(42% 0, 70% 9%, 100% 32%, 85% 78%, 53% 100%, 21% 84%, 0 60%, 3% 26%, 22% 5%);
	transform: translateY(80%);
}
.top-content.c04 .bottom{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 45px 10px;
}
.top-content.c04 .btn{
	width: 360px;
}
.top-content.c04 .btn a{
	display: block;
	position: relative;
	padding-top: 35px;
	height: 104px;
	color: #fff;
	font-size: 30px;
	letter-spacing: 0;
	text-align: center;
	background: #FF706A;
	border-radius: 15px;
}
.top-content.c04 .btn a:hover{
	opacity: 0.8;
}
.top-content.c04 .btn span{
	position: absolute;
	top: 0;
	left: 50%;
	padding: 0 15px;
	height: 35px;
	color: #FF706A;
	font-size: 18px;
	line-height: 35px;
	white-space: nowrap;
	background: #fff;
	border-radius: 1520px;
    transform: translateY(-50%) translateX(-50%);
}
.top-content.c04 .btn b{
	display: inline-block;
	padding-right: 25px;
	background: url(../img/arrow04.svg) no-repeat right center;
}
.top-content.c04 .btn.s1 a:after,
.top-content.c04 .btn.s1 a:before{
	content: '';
	position: absolute;
	top: 27px;
	left: 28px;
	width: 44px;
	height: 28px;
	background: url(../img/icon-hat02.svg) no-repeat center;
	background-size: contain;
}
.top-content.c04 .btn.s1 a:after{
	top: auto;
	left: auto;
	right: 10px;
	bottom: 12px;
	width: 57px;
	height: 43px;
	background: url(../img/icon-shoes.svg) no-repeat center;
	background-size: contain;
}
.top-content.c04 .btn.s2 a:hover:before,
.top-content.c04 .btn.s1 a:hover:after,
.top-content.c04 .btn.s1 a:hover:before{
	animation: bounceX 0.8s ease-out 1 both;
}
@keyframes bounceX {
  0%   { transform: translateX(0); }
  30%  { transform: translateX(14px); }
  55%  { transform: translateX(-8px); }
  75%  { transform: translateX(4px); }
  100% { transform: translateX(0); }
}
.top-content.c04 .btn.s2 a{
	background: #488FE4;
}
.top-content.c04 .btn.s2 span{
	color: #488FE4;
}
.top-content.c04 .btn.s2 b{
	background: url(../img/arrow03.svg) no-repeat right center;
}
.top-content.c04 .btn.s3{
	/* margin-left: auto; */
	margin-left: 20px;
}
.top-content.c04 .btn.s3 a{
	background: #F98918;
}
.top-content.c04 .btn.s3 span{
	color: #F98918;
}
.top-content.c04 .btn.s3 b{
	background: url(../img/arrow05.svg) no-repeat right center;
}
.top-content.c05 {
	position: relative;
	margin-bottom: 90px;
}
.top-content.c05:before{
	content: '';
	position: absolute;
	right: -170px;
	bottom: 6px;
	width: 470px;
	aspect-ratio: 5 / 2;
    transform: translateY(100%);
	background: url(../img/deco02.svg) no-repeat center;
	background-size: contain;
}
.top-content.c05 .slider{
	width: 296px;
}
.top-content.c05 .slider img{
	margin: 0 8px;
	width: 280px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 16px;
}
.top-content.c05 .slider img:nth-of-type(odd){
	margin-top: 50px;
}
.top-content.c05 .slick-list{
	overflow: visible;
}
.top-content.c06 {
	position: relative;
	margin-bottom: 150px;
	padding-top: 75px;
	padding-bottom: 25px;
}
.top-content.c06:before{
	content: '';
	position: absolute;
	top: 0;
	right: 50%;
	width: 2000px;
	height: 100%;
	background: #fff;
	border-radius: 30px;
    transform: translateX(360px);
	z-index: -1;
}
.top-content.c06 .body.flex{
	gap: 30px;
	position: relative;
}
.top-content.c06 .body.flex:after{
	content: '';
	position: absolute;
	left: -70px;
	bottom: -140px;
	width: 150px;
	height: 140px;
	background: url(../img/deco09.svg) no-repeat center;
	background-size: contain;
}
.top-content.c06 .left{
	width: 44%;
	min-width: 394px;
}
.top-content.c06 .right{
	flex: 1;
	max-width: 526px;
}
.top-content.c06 .left .upr{
	margin-bottom: 40px;
}
.top-content.c06 .left h2{
	margin-bottom: 30px;
	text-align: left;
}
.top-content.c06 .left .address{
	margin-bottom: 10px;
}
.top-content.c06 .left .tel{
	display: inline-block;
	text-align: center;
}
.top-content.c06 .left .tel .inr{
	padding: 10px;
	padding-top: 18px;
	width: 394px;
	height: 80px;
	font-size: 14px;
	text-align: center;
	letter-spacing: 0;
	line-height: 1.2;
	background: #FAF8F2;
	border-radius: 10px;
}
.top-content.c06 .left .tel p{
	margin-bottom: 0;
}
.top-content.c06 .left .tel a{
	display: inline-block;
	padding-left: 22px;
	font-size: 24px;
	background: url(../img/icon-phone.svg) no-repeat 0 center;
}
.top-content.c06 .left .tel .inr span{
	display: block;
}
.top-content.c06 .left h3{
	margin-bottom: 15px;
	padding-bottom: 15px;
	color: var(--oc-link-color);
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.02em;
	line-height: 1.5;
	background: url(../img/line.svg) repeat-x 0 bottom;
}
.top-content.c06 .left dl:not(:last-of-type){
	margin-bottom: 20px;
}
.top-content.c06 .left dt{
	margin-bottom: 5px;
	padding-left: 33px;
	min-height: 28px;
	font-size: 20px;
	background: url(../img/icon-train.svg) no-repeat 0 center;
}
.top-content.c06 .s2 dt{
	background: url(../img/icon-train02.svg) no-repeat 0 center;
}
.top-content.c06 .s3 dt{
	background: url(../img/icon-bicycle.svg) no-repeat 0 center;
}
.top-content.c06 .right .upr{
	margin-bottom: 50px;
	border-radius: 20px;
	overflow: hidden;
}
.top-content.c06 .right .btm{
	gap: 45px;
}
.top-content.c06 .right figure{
	flex: 1;
	position: relative;
}
.top-content.c06 .right figcaption{
	position: absolute;
	top: -30px;
	left: -20px;
	width: 74px;
	height: 68px;
	text-align: center;
	line-height: 68px;
	background: url(../img/deco08.svg) no-repeat center;
	background-size: contain;
}
.top-content.c06 .right figure img{
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 20px;
}
.top-content.c07 {
	margin-bottom: 150px;
	text-align: center;
}
.top-content.c07 .wrap{
	position: relative;
}
.top-content.c07 .wrap>div{
	position: relative;
	padding-top: 50px;
	padding-bottom: 70px;
	background: #C2E8F2;
	border-radius: 30px;
}
.top-content.c07 .wrap>div:before,
.top-content.c07 .wrap:after,
.top-content.c07 .wrap:before{
	content: '';
	position: absolute;
	top: -65px;
	right: -145px;
	width: 33%;
	aspect-ratio: 1 / 1;
	background: url(../img/top-c07-01.webp) no-repeat center;
	background-size: contain;
	z-index: 1;
}
.top-content.c07 .wrap:after{
	top: auto;
	right: 35px;
	bottom: -60px;
	width: 25%;
	background: url(../img/top-c07-02.webp) no-repeat center;
	background-size: contain;
}
.top-content.c07 .wrap>div:before{
	top: auto;
	right: auto;
	left: -100px;
	bottom: -20px;
	width: 32%;
	background: url(../img/top-c07-03.webp) no-repeat center;
	background-size: contain;
}
.top-content.c07 h2{
	margin-bottom: 20px;
	font-size: 28px;
}
.top-content.c07 h2 span{
	display: block;
	color: #488FE4;
}
.top-content.c07 .header p{
	margin-bottom: 5px;
	padding: 0 35px;
}
.top-content.c07 .body{
	margin: 0 auto;
	max-width: 550px;
}
.top-content.c07 .body p:not(:last-child){
	margin-bottom: 15px;
}
.top-content.c07 .link{
	margin-top: 40px;
}
.top-content.c07 .link a{
	background-position: right 25px top 24px;
}
.top-content.c08 {
	margin-bottom: 200px;
}
.top-content.c08 .box{
	position: relative;
	cursor: pointer;
}
.top-content.c08 .box:not(:last-of-type){
	margin-bottom: 20px;
}
.top-content.c08 dl{
	position: relative;
}
.top-content.c08 dt{
	position: relative;
	padding: 20px 60px;
	font-size: 18px;
	background: #E9EB9D;
	border-radius: 30px;
}
.top-content.c08 dt:after,
.top-content.c08 dt:before{
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	width: 15px;
	height: 3px;
	background: #389951;
    transform: translateY(-50%);
	border-radius: 3px;
	z-index: 2;
    transition: all .3s;
}
.top-content.c08 dt:after{
	transform: translateY(-50%) rotate(90deg);
}
.top-content.c08 .show dt:after{
	transform: translateY(-50%) rotate(0);
}
.top-content.c08 dd:before,
.top-content.c08 dl:before{
	content: 'Q';
	position: absolute;
	top: 20px;
	left: 20px;
	color: #389951;
	font-size: 24px;
	font-family: "Poppins", sans-serif;
	font-style: normal;
	line-height: 1.2;
	z-index: 2;
}
.top-content.c08 dd:before{
	content: 'A';
	top: 40px;
	color: #F98918;
}
.top-content.c08 dd{
	position: absolute;
	padding: 40px 60px 20px 60px;
	opacity: 0;
	z-index: -1;
}
.top-content.c08 .show dd{
	position: relative;
	opacity: 1;
	z-index: 1;
}
.top-content.c08 dd span{
	font-weight: bold!important;
}

@media screen and (max-width: 1225px) {
	.top-mv .text{
		left: 15px;
	}
}

@media screen and (max-width:1120px) {
	.top-content.c03 .box{
		width: 360px;
	}
	/* .top-content.c03 .box:nth-of-type(2){
		margin-top: 100px;
	} */
	.top-content.c03 .box:nth-of-type(3){
		margin-top: -70px;
	}
	.top-content.c03 .box:nth-of-type(4){
		margin-top: 30px;
	}
	.top-content.c04:after,
	.top-content.c04:before{
		left: 0;
		width: 15%;
    	transform: translateX(0);
	}
	.top-content.c04:after{
		left: auto;
		right: 0;
	}

}

@media screen and (max-width:910px) {
	.top-mv .slider{
		margin: 0 auto;
		width: 910px;
	}
	.top-mv .slider img{
		margin: 0 10px;
		width: 100%;
		aspect-ratio: 16 / 9;
		object-fit: cover;
		border-radius: 18px;
	}
	.top-mv .text strong{
		font-size: 35px;
	}
	.top-mv .text strong span.s2 i{
		letter-spacing: 0;
	}
	.top-mv .text strong span.s3{
		gap: 10px;
	}
}

@media screen and (max-width:820px) {
	.fixed-btn{
		display: none;
	}
	.top-news {
		padding-bottom: 100px;
	}
	.top-news .body{
		flex: none;
		width: 100%;
	}
	.top-news .link{
		position: absolute;
		left: 50%;
		bottom: 0;
	transform: translateX(-50%);
	}
	.top-content.c04 .left{
		order: 2;
		flex: none;
		padding-top: 0;
		width: 100%;
		text-align: center;
	}
	.top-content.c04 .right{
		margin: 0 auto;
	}
	.top-content.c04 .header{
		text-align: center;
	}
	.top-content.c04 .body{
		display: inline-block;
		text-align: left;
	}
	.top-content.c06 .left{
		width: 100%;
	}
	.top-content.c06 .right{
		flex: none;
		max-width: 100%;
	}
	.top-content.c07 .wrap:before{
		top: -130px;
		right: 0;
	}
	.top-content.c07 .wrap:after {
		top: -100px;
		right: auto;
		left: 25px;
		bottom: auto;
	}
	.top-content.c07 .wrap>div:before{
		left: 0;
		bottom: -90px;
	}
}

@media screen and (max-width:767px) {
	.top-mv {
		margin-bottom: 60px;
		padding-top: 20px;
 	}
	.top-mv:before {
		display: none;
	}
	.top-mv:after {
		left: auto;
		right: -115px;
		bottom: -108px;
		width: 236px;
	}
	.top-mv .wrap:before{
		right: 40px;
		bottom: -155px;
		width: 72px;
		height: 52px;
		background: url(../img/deco14.svg) no-repeat center;
		background-size: contain;
	}
	.top-mv .text{
		position: static;
		margin-bottom: 15px;
		text-align: center;
	}
	.top-mv .text p span.s1{
		margin-bottom: 5px;
		font-size: 20px;
		border-radius: 4px;
	}
	.top-mv .text strong span.s2{
		margin-right: 0;
	}
	.top-mv .text strong span.s3{
		margin: 0;
	}
	.top-mv .text strong{
		font-size: 24px;
	}
	.top-mv .text strong b{
		padding: 0 20px;
		height: 37px;
		line-height: 37px;
		letter-spacing: 0.3em;
		text-shadow: none;
		background: #B36E29;
		border-radius: 999px;
	}
	.top-mv .text strong i{
		font-size: 42px;
	}
	.top-mv .text strong i{
		letter-spacing: 0.22em;
		text-shadow:
			var(--stroke-color)  5px        0px        0,
			var(--stroke-color)  4.90033px  0.993347px 0,
			var(--stroke-color)  4.60531px  1.94709px  0,
			var(--stroke-color)  4.12668px  2.82321px  0,
			var(--stroke-color)  3.48353px  3.58678px  0,
			var(--stroke-color)  2.70151px  4.20736px  0,
			var(--stroke-color)  1.81179px  4.6602px   0,
			var(--stroke-color)  0.849836px 4.92725px  0,
			var(--stroke-color) -0.145998px 4.99787px  0,
			var(--stroke-color) -1.13601px  4.86924px  0,
			var(--stroke-color) -2.08073px  4.54649px  0,
			var(--stroke-color) -2.94251px  4.04248px  0,
			var(--stroke-color) -3.68697px  3.37732px  0,
			var(--stroke-color) -4.28444px  2.57751px  0,
			var(--stroke-color) -4.71111px  1.67494px  0,
			var(--stroke-color) -4.94996px  0.7056px   0,
			var(--stroke-color) -4.99147px -0.291871px 0,
			var(--stroke-color) -4.83399px -1.27771px  0,
			var(--stroke-color) -4.48379px -2.2126px   0,
			var(--stroke-color) -3.95484px -3.05929px  0,
			var(--stroke-color) -3.26822px -3.78401px  0,
			var(--stroke-color) -2.4513px  -4.35788px  0,
			var(--stroke-color) -1.53666px -4.75801px  0,
			var(--stroke-color) -0.560763px -4.96845px 0,
			var(--stroke-color)  0.437495px -4.98082px 0,
			var(--stroke-color)  1.41831px  -4.79462px 0,
			var(--stroke-color)  2.34258px  -4.41727px 0,
			var(--stroke-color)  3.17346px  -3.86382px 0,
			var(--stroke-color)  3.87783px  -3.15633px 0,
			var(--stroke-color)  4.4276px   -2.32301px 0,
			var(--stroke-color)  4.80085px  -1.39708px 0,
			var(--stroke-color)  4.98271px  -0.415447px 0;
	}
	.top-mv .text strong span.s2 i{
		letter-spacing: 0;
	}
	.top-mv .text strong span.s3{
		gap: 9px;
	}
	.top-mv .text +  .sp{
		margin: 0 -5px;
	}
	.top-mv .slider img{
		margin: 0 5px;
		aspect-ratio: 4 / 3;
		border-radius: 7px;
	}
	.top-mv .slick-list {
		padding-bottom: 30px;
	}
	.top-mv .slick-arrow {
		left: -6px;
		width: 38px;
		height: 35px;
	}
	.top-mv .slick-next{
		left: auto;
		right: -6px;
	}
	.top-mv .slick-dots{
		padding: 0 25px;
		min-height: 15px;
		line-height: 0.72;
		white-space: nowrap;
	}
	.top-mv .slick-dots li{
		margin: 0 5px;
		width: 8px;
		height: 8px;
	}
	.top-mv .slick-dots li.slick-active{
		width: 16px;
		height: 10px;
		transform: translateY(2px);
	}
	.top-news h2{
		margin-bottom: 0;
		font-size: 32px;
	}
	.top-news li a{
		padding: 15px 0;
		font-size: 16px;
	}
	.top-news .date{
		font-size: 14px;
	}
	.top-news .category{
		min-width: 82px;
		height: 22px;
		font-size: 14px;
		line-height: 22px;
	}
	.top-content h2{
		margin-bottom: 35px;
		font-size: 32px;
	}
	.top-content .header p{
		font-size: 18px;
		line-height: 1.5;
	}
	.top-content.c01 {
		margin-bottom: 60px;
		padding-top: 200px;
		padding-bottom: 50px;
		background: url(../img/top-c01-bg02-sp.svg) no-repeat center bottom;
		background-size: 100% auto;
	}
	.top-content.c01:before{
		inset: auto;
		top: 0;
		left: 0;
		width: 100%;
		height: calc(100% - 50px);
		background: url(../img/top-c01-bg-sp.svg) no-repeat center 0;
		background-size: 100% auto;
		transform: translateY(0);
	}
	.top-content.c01 .wrap{
		position: relative;
		padding-bottom: 200px;
		background: #FFE070;
		z-index: 2;
	}
	.top-content.c01 .wrap:after,
	.top-content.c01 .wrap:before{
		content: '';
		position: absolute;
		inset: 0;
		pointer-events: none;
		background: url(../img/top_c01_bg03_sp.webp) no-repeat center 0;
		background-size: 100% auto;
		background-size: 438px auto;
		transform: translateY(-220px);
		z-index: -1;
	}
	.top-content.c01 .wrap:after{
		background: url(../img/top_c01_bg04_sp.webp) no-repeat center bottom;
		/* background-size: 92% auto; */
		background-size: 350px auto;
		transform: translateX(-9px) translateY(65px);
	}
	.top-content.c01 .header h2{
		margin-bottom: 40px;
	}
	.top-content.c01 .header p{
		margin-bottom: 10px;
	}
	.top-content.c01 .body{
		font-size: 16px;
	}
	.top-content.c01 .link{
		margin-top: 45px;
	}
	.top-content.c02 {
		margin-bottom: 60px;
		background: url(../img/top-c02-bg-sp.svg) no-repeat center bottom;
		background-size: 100% auto;
	}
	.top-content.c02 .header{
		margin-bottom: 50px;
	}
	.top-content.c02 .header p:after,
	.top-content.c02 .header p:before{
		transform: translateY(10%);
	}
	.top-content.c02 .body{
		padding: 15px 20px;
	}
	.top-content.c02 .body:before{
		top: -25px;
		left: -15px;
		width: calc(100% + 30px);
		height: calc(100% + 55px);
		background: url(../img/top-c02-bg02-sp.svg) no-repeat center;
		background-size: cover;
	}
	.top-content.c02 .body>div:before{
		left: -8px;
		width: 80px;
		height: 90px;
	}
	.top-content.c02 ul{
		margin-bottom: 35px;
	}
	.top-content.c02 li{
		width: 100%;
	}
	.top-content.c02 .p-title{
		padding: 0 40px;
	}
	.top-content.c02 .image img{
		border-radius: 18px;
	}
	.top-content.c02 .date{
		margin-bottom: 15px;
	}
	.top-content.c02 .excerpt{
		line-height: 1.8;
	}
	.top-content.c03 {
		margin-bottom: 60px;
		background: none;
	}
	.top-content.c03:before{
		top: -4px;
		left: auto;
		right: -55px;
		width: 210px;
		transform: translateX(0);
	}
	.top-content.c03 h2{
		margin-bottom: 40px;
	}
	.top-content.c03 .body{
		gap: 60px;
	}
	.top-content.c03 .box{
		margin: 0!important;
	}
	.top-content.c03 .box:before{
		left: 25px;
		font-size: 56px;
	}
	.top-content.c03 dl{
		margin-top: -25px;
	}
	.top-content.c03 dd{
		padding: 0;
	}
	.top-content.c03 .link{
		margin-right: 0;
	}
	.top-content.c04 {
		padding-bottom: 45px;
	}
	.top-content.c04:after,
	.top-content.c04:before{
		width: 106px;
	}
	.top-content.c04 .upper {
		margin-right: 0;
		margin-bottom: 50px;
	}
	.top-content.c04 .right{
		width: 100%;
	}
	.top-content.c04 .right:before{
		top: 8px;
		left: -40px;
		width: 100%;
		height: 100%;
		background: url(../img/top-c04-bg-sp.svg) no-repeat right 0;
		background-size: contain;
	}
	.top-content.c04 h2 span{
		font-size: 38px;
	}
	.top-content.c04 .image.s1{
		width: 74%;
		transform: translateX(-40px);
	}
	.top-content.c04 .image.s2{
		right: auto;
		left: 50%;
		width: 47%;
		transform: translateY(70%);
	}
	.top-content.c04 .upper p:not(:last-of-type){
		margin-bottom: 10px;
	}
	.top-content.c04 .bottom{
		gap: 45px 10px;
	}
	.top-content.c04 .btn{
		width: 345px;
	}
	.top-content.c04 .btn.s3 {
		margin-left: 0;
	}
	.top-content.c04 .btn a{
		padding-top: 25px;
		height: 70px;
		font-size: 20px;
	}
	.top-content.c04 .btn.s1 a:before{
		display: none;
	}
	.top-content.c04 .btn.s1 a:after{
		top: auto;
		left: auto;
		right: 15px;
		bottom: 8px;
	}
	.top-content.c04 .btn span{
		padding: 0 15px;
		font-size: 16px;
	}
	.top-content.c04 .btn.s2 a:before{
		right: -10px;
	}
	.top-content.c05 {
		margin-bottom: 70px;
	}
	.top-content.c05:before{
		right: -140px;
		bottom: -50px;
		width: 335px;
		transform: translateY(0);
	}
	.top-content.c05 .slider{
		margin: 0 auto;
	}
	.top-content.c06 {
		position: relative;
		margin-bottom: 100px;
		padding-top: 50px;
		padding-bottom: 90px;
	}
	.top-content.c06 .body.flex:after{
		left: 3px;
		bottom: -134px;
		width: 105px;
		height: 100px;
	}
	.top-content.c06 .left {
		width: 100%;
		min-width: auto;
	}
	.top-content.c06 .left .tel{
		display: block;
	}
	.top-content.c06 .left .tel .inr{
		width: 100%;
	}
	.top-content.c06 .right .upr{
		margin-bottom: 40px;
		border-radius: 13px;
	}
	.top-content.c06 iframe{
		height: 295px!important;
	}
	.top-content.c06 .right .btm{
		gap: 15px;
	}
	.top-content.c06 .right figure img{
		border-radius: 13px;
	}
	.top-content.c06 .right figcaption{
		left: 10px;
		width: 65px;
		height: 60px;
		font-size: 14px;
		line-height: 60px;
	}
	.top-content.c07 {
		margin-bottom: 165px;
	}
	.top-content.c07 .wrap:before{
		top: -175px;
		right: 15px;
		width: 210px;
	}
	.top-content.c07 .wrap:after{
		top: -90px;
		left: 25px;
		width: 150px;
	}
	.top-content.c07 .wrap>div:before{
		left: 15px;
		bottom: -100px;
		width: 210px;
	}
	.top-content.c07 .wrap>div{
		margin: 0 -15px;
		padding: 60px 15px 150px 15px;
	}
	.top-content.c07 h2{
		font-size: 24px;
	}
	.top-content.c07 h2 span{
		display: inline;
	}
	.top-content.c07 .body{
		text-align: left;
	}
	.top-content.c07 .link{
		text-align: center;
	}
	.top-content.c07 .link a{
		background-position: right 75px top 24px;
	}
	.top-content.c08 {
		margin-bottom: 280px;
	}
	.top-content.c08 dt{
		padding: 15px 40px;
		padding-right: 35px;
		font-size: 16px;
	}
	.top-content.c08 dt:after,
	.top-content.c08 dt:before{
		right: 15px;
		width: 12px;
		height: 2px;
	}
	.top-content.c08 dd:before,
	.top-content.c08 dl:before{
		top: 15px;
		left: 12px;
		font-size: 20px;
	}
	.top-content.c08 dd{
		padding: 35px 0 10px 40px;
	}
	.top-content.c08 dd:before{
		top: 35px;
	}
}

@media screen and (max-width:500px) {
	.top-content.c01 .wrap:before{
		width: calc(100% + 20px);
		transform: translateY(-220px) translateX(-20px);
	}
}

/* フッター */
#footer {
	padding-top: 40px;
	background: url(../img/footer-bg.png) no-repeat center 0;
}
#footer .upper {
	margin-bottom: 90px;
	padding-top: 40px;
	text-align: center;
}
#footer .header{
	margin-bottom: 40px;
	text-align: center;
}
#footer h2{
	margin-bottom: 30px;
	color: #389951;
	font-size: 46px;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0;
}
#footer .body{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 30px 15px;
}
#footer .btn{
	letter-spacing: 0;
}
#footer .btn a{
	display: block;
	position: relative;
	padding-top: 30px;
	width: 360px;
	height: 104px;
	color: #fff;
	background: #488FE4;
	border-radius: 15px;
    transition: all .3s;
}
#footer .btn a:hover{
	opacity: 0.7;
}
#footer .btn.s2 a{
	background: #FF706A;
}
#footer .btn span{
	position: absolute;
	top: 0;
	left: 50%;
	padding: 0 15px;
	height: 35px;
	color: #488FE4;
	font-size: 18px;
	line-height: 35px;
	white-space: nowrap;
	background: #fff;
	border-radius: 1520px;
    transform: translateY(-50%) translateX(-50%);
}
#footer .btn.s2 span{
	color: #FF706A;
}
#footer .btn b{
	display: inline-block;
	position: relative;
	padding-left: 35px;
	padding-right: 25px;
	font-size: 24px;
	background: url(../img/icon-mail.svg) no-repeat 0 center;
}
#footer .btn.s1 b{
	padding-left: 25px;
	padding-right: 0;
	font-size: 28px;
	line-height: 1.5;
	background: url(../img/icon-phone02.svg) no-repeat 0 center;
}
#footer .btn.s2 b:before{
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	width: 16px;
	aspect-ratio: 1 / 1;
	background: url(../img/arrow04.svg) no-repeat right center;
	background-size: contain;
    transform: translateY(-50%);
}
#footer .btn i{
	display: block;
	color: #C2E8F2;
    transform: translateY(-10px);
}
#footer .bottom{
	position: relative;
	padding-top: 65px;
	padding-bottom: 40px;
	color: #fff;
	background: #389951;
	border-radius: 30px 30px 0 0;
}
#footer .bottom a{
	color: #fff;
}
#footer .bottom .flex{
	gap: 35px;
	position: relative;
	margin-bottom: 25px;
}
#footer .bottom .flex:before{
	content: '';
	position: absolute;
	top: -125px;
	left: 55px;
	width: 81px;
	height: 77px;
	background: url(../img/icon-squirrel.svg) no-repeat center;
	background-size: contain;
}
#footer .bottom .left{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
}
#footer .bottom .right{
  display: flex;
  flex-wrap: wrap;
  gap: 35px 85px;
}
#footer .bottom .left .upr{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
#footer .bottom .logo{
	width: 130px;
}
#footer .bottom .left dt{
	margin-bottom: 10px;
	font-size: 20px;
	letter-spacing: 0;
}
#footer .bottom .left dd span{
	display: block;
	margin-bottom: 5px;
}
#footer .bottom .privacy a{
	display: inline-block;
	font-size: 14px;
	letter-spacing: 0;
	text-decoration: underline;
	text-underline-offset: 10px;
}
#footer .bottom .right dl:not(:last-of-type){
	margin-bottom: 35px;
}
#footer .bottom .right dt{
	margin-bottom: 15px;
	padding-bottom: 18px;
	background: url(../img/line02.svg) repeat-x 0 bottom;
}
#footer .bottom .right ul{
	min-width: 165px;
	font-size: 14px;
	letter-spacing: 0;
}
#footer .bottom .right li{
	margin-bottom: 12px;
}
#footer .bottom .right li a:hover{
	color: #FFE070;
}
#footer .copyright{
	font-size: 14px;
	letter-spacing: 0;
}
#footer .pagetop a{
	position: absolute;
	right: 40px;
	bottom: 30px;
}

@media screen and (max-width:820px) {
	#footer {
		padding-top: 40px;
		background: url(../img/footer-bg.png) no-repeat center 0;
		background-size: 100% auto;
	}
	#footer .bottom{
		padding-bottom: 100px;
	}
	#footer .bottom .flex{
		justify-content: center;
		padding-bottom: 60px;
	}
	#footer .bottom .privacy{
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		text-align: center;
	}
	#footer .copyright{
		text-align: center;
	}
}

@media screen and (max-width:767px) {
	#footer {
		padding-top: 120px;
		background: url(../img/footer-bg-sp.png) no-repeat 0 0;
		background-size: calc(100% - 15px) auto;
	}
	#footer .upper {
		margin-bottom: 80px;
		padding-top: 0;
	}
	#footer .upper .header{
		text-align: left;
		line-height: 1.5;
	}
	#footer .bottom .flex{
		gap: 10px;
		margin-bottom: 25px;
	}
	#footer h2{
		font-size: 32px;
		text-align: center;
	}
	#footer .btn a{
		padding-top: 20px;
		height: 82px;
	}
	#footer .btn.s2 a{
		padding-top: 25px;
	}
	#footer .btn span{
		font-size: 16px;
	}
	#footer .btn b{
		padding-right: 23px;
		font-size: 20px;
	}
	#footer .btn.s1 b{
		padding-right: 0;
		font-size: 24px;
	}
	#footer .btn i{
		font-size: 14px;
	}
	#footer .bottom{
		padding-top: 45px;
		line-height: 1.5;
	}
	#footer .bottom .flex:before{
		top: -95px;
		left: 15px;
		width: 66px;
		height: 62px;
	}
	#footer .bottom .logo{
		width: 100px;
	}
	#footer .bottom .right{
  		gap: 10px 85px;
		padding: 0 30px;
		text-align: center;
	}
	#footer .bottom .right dl+div,
	#footer .bottom .right dl{
		width: 100%!important;
	}
	#footer .bottom .right dl.s1{
		display: inline-block;
		width: auto!important;
		text-align: center;
	}
	#footer .bottom .right dt{
		text-align: center;
	}
	#footer .bottom .right ul{
		display: flex;
		flex-wrap: wrap;
		min-width: auto;
	}
	#footer .bottom .right li{
		width: 50%;
		padding-right: 10px;
		text-align: left;
	}
	#footer .bottom .right dl.s1 li{
		width: 100%;
		text-align: center;
	}
	#footer .pagetop a{
		top: -25px;
		right: 35px;
		bottom: auto;
	}
	#footer .pagetop img{
		width: 50px;
	}
}

/* 下層ページ */
.package.sub-page .static-content .wrap{
	max-width: 955px;
}
.package.sub-page .eyecatch{
	margin: 20px auto;
	max-width: 1300px;
	aspect-ratio: 7 / 2;
	overflow: hidden;
}
.package.sub-page .eyecatch img{
	width: 100%;
	height: 100%;
	max-width: auto;
	object-fit: cover;
	object-position: center bottom;
	border-radius: 20px;
}
.package.sub-page .blog-bc{
	margin-top: 0;
	margin-bottom: 30px;
}
.package.sub-page .blog-bc li{
	margin-right: 7px;
	font-weight: bold;
	font-size: 14px;
}
.package .bread-crumbs .bc-item:not(.bc-home):before {
    content: "/";
	margin-right: 7px;
	border: none;
    transform: rotate(0deg) translateY(15%);
}
.package.sub-page .static-content .wrap{
	position: relative;
}
.package.sub-page .static-content .wrap:after,
.package.sub-page .static-content .wrap:before{
	content: '';
	position: absolute;
	top: -20px;
	left: -260px;
	width: 446px;
	aspect-ratio: 5 / 2;
	background: url(../img/deco.svg) no-repeat center;
	background-size: contain;
}
.package.sub-page .static-content .wrap:after{
	top: -135px;
	left: auto;
	right: -230px;
	width: 315px;
	aspect-ratio: 21 / 19;
	background: url(../img/deco10.png) no-repeat center;
	background-size: contain;
}
.package.sub-page .static-content *{
	max-width: 100%;
}
.package.sub-page .static-content a{
    transition: all .3s;
}
.package.sub-page .static-content a:hover{
	opacity: 0.7;
}
.package.sub-page .page-title h1{
	position: relative;
	margin-bottom: 20px;
	color: var(--oc-link-color);
	font-weight: bold;
	font-size: 36px;
	letter-spacing: 0.02em;
	line-height: 1.5;
	text-align: center;
}
.package.sub-page .page-title+.body{
	position: relative;
}
.package.sub-page .page-title+.body>p{
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 100px;
	max-width: 720px;
	font-weight: bold;
	font-size: 24px;
	line-height: 1.8;
	text-align: center;
}
.sub-page .body > .wp-block-group:not(:last-child){
	margin-bottom: 120px;
}
.sub-page h2.wp-block-heading,
.sub-page h3.wp-block-heading,
.sub-page h4.wp-block-heading,
.sub-page h5.wp-block-heading,
.sub-page h6.wp-block-heading{
	margin-bottom: 20px;
	color: var(--oc-link-color);
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.02em;
}
.sub-page .static-content h2.wp-block-heading{
	margin-bottom: 30px;
	padding-top: 30px;
	font-size: 24px;
	letter-spacing: 0;
	text-align: center;
	background: url(../img/deco11.svg) no-repeat center 0;
}
.sub-page h3.wp-block-heading{
	margin-bottom: 25px;
	font-size: 24px;
}
.sub-page h4.wp-block-heading{
	margin-bottom: 25px;
	padding: 10px 20px;
	font-size: 20px;
	background: #E9EB9D;
	border-radius: 20px;
}
.sub-page h6.wp-block-heading,
.sub-page h5.wp-block-heading{
	position: relative;
	padding-left: 20px;
	font-size: 18px;
}
.sub-page h6.wp-block-heading:before,
.sub-page h5.wp-block-heading:before{
	content: '';
	position: absolute;
	top: 6px;
	left: 0;
	width: 13px;
	aspect-ratio: 1 / 1;
	background: var(--oc-link-color);
	border-radius: 3px;
}
.sub-page h6.wp-block-heading{
	font-size: 16px;
}
.sub-page h6.wp-block-heading:before{
	top: 5px;
}
.sub-page .static-content a{
	text-decoration: underline;
	text-underline-offset: 6px;
}
.sub-page .static-content a[target]{
	/* display: inline-block; */
	padding-right: 20px;
	background: url(../img/icon-link.svg) no-repeat right center;
}
.sub-page .static-content{
	line-height: 1.8;
}
.sub-page .static-content ul{
	padding: 0;
}
.sub-page .static-content li{
	position: relative;
	margin-bottom: 5px;
	padding-left: 15px;
	line-height: 1.8;
	list-style: none;
}
.sub-page .static-content li:before{
	content: '';
	position: absolute;
	top: 10px;
	left: 0;
	width: 8px;
	aspect-ratio: 1 / 1;
	background: var(--oc-primary-color);
	border-radius: 2px;
}
.sub-page .wp-block-table table{
	margin-bottom: 40px;
	border-collapse: separate;
	border-spacing: 4px;
}
.sub-page .wp-block-table thead{
	border: none;
}
.sub-page .wp-block-table th{
	padding: 10px;
	font-size: 18px;
	color: #fff;
	background: var(--oc-link-color);
	border: none;
	border-radius: 10px;
}
.sub-page .wp-block-table td{
	padding: 15px 10px;
	line-height: 1.8;
	background: #fff;
	border: none;
	border-radius: 10px;
}
.sub-page .wp-block-buttons>.wp-block-button{
	display: block;
}
.sub-page .wp-block-buttons{
	margin-bottom: 40px;
}
.sub-page .is-style-btn-s1 a{
	padding: 0 20px;
	min-width: 240px;
	height: 66px;
	color: #fff;
	font-size: 20px;
	line-height: 62px;
	text-align: center;
	text-decoration: none;
	background: #F98918;
	border-radius: 15px;
}
.sub-page .is-style-btn-s1 a:after{
	content: '';
	display: inline-block;
	margin-left: 10px;
	width: 16px;
	aspect-ratio: 1 / 1;
	background: url(../img/arrow05.svg) no-repeat center;
}
.sub-page .is-style-btn-s2 a{
	padding: 0 20px;
	min-width: 210px;
	height: 56px;
	font-size: 16px;
	text-align: center;
	text-decoration: none;
	letter-spacing: 0;
	line-height: 54px;
	background: #F98918;
	border-bottom: #ad6217 3px solid;
	border-radius: 30px;
}
.sub-page .is-style-btn-s2 a:hover{
	opacity: 1!important;
	border-width: 0;
    transform: translateY(3px);
}
.sub-page .is-style-btn-s2 a:after{
	content: '';
	display: inline-block;
	margin-left: 18px;
	width: 6px;
	aspect-ratio: 2 / 3;
	background: url(../img/arrow.svg) no-repeat center;
}
.sub-page .is-style-btn-s3 a{
	padding: 0 10px;
	min-width: 111px;
	height: 29px;
	color: var(--oc-primary-color);
	font-size: 14px;
	text-align: center;
	text-decoration: none;
	line-height: 27px;
	background: #fff;
	background-size: 7.5px auto;
	border-radius: 99px;
}
.sub-page .is-style-btn-s3 a:after{
	content: '';
	display: inline-block;
	margin-left: 10px;
	width: 7px;
	aspect-ratio: 2 / 3;
	background: url(../img/arrow02.svg) no-repeat center;
}
.sub-page .definition-list{
  display: grid;
  grid-template-columns: max-content 1fr;
  overflow: hidden;
}
.sub-page .definition-list dt{
  grid-column: 1;
	margin-bottom: 0;
	padding-top: 22px;
	padding-bottom: 17px;
	padding-right: 10px;
	min-width: 145px;
	color: var(--oc-link-color);
}
.sub-page .definition-list dd{
  grid-column: 2;
	position: relative;
	margin-bottom: 0;
	padding-top: 22px;
	padding-bottom: 17px;
}
.sub-page .definition-list dd:before{
	content: '';
	position: absolute;
	left: -1500px;
	bottom: 0;
	width: 3000px;
	height: 100%;	
	pointer-events: none;
	background: url(../img/line03.svg) repeat-x 0 bottom;
}
.sub-page .wp-block-media-text{
	margin-bottom: 35px;
}
.sub-page .wp-block-media-text>.wp-block-media-text__content:first-child{
	padding-left: 0;
	padding-right: 13%;
}
.sub-page .wp-block-media-text>.wp-block-media-text__content:last-child{
	padding-right: 0;
	padding-left: 13%;
}
.sub-page .wp-block-media-text__media img{
	border-radius: 20px;
}

@media screen and (max-width:767px) {
	.package.sub-page .eyecatch{
		margin: 20px 15px;
		margin-bottom: 10px;
		aspect-ratio: 2 / 1;
	}
	.package.sub-page .eyecatch img{
		border-radius: 7px;
	}
	.package.sub-page .blog-bc{
		margin-bottom: 145px;
	}
	.package.sub-page .blog-bc li{
		font-size: 12px;
	}
	.package.sub-page .static-content .wrap:after,
	.package.sub-page .static-content .wrap:before{
		top: -95px;
		left: -16px;
		width: 135px;
	}
	.package.sub-page .static-content .wrap:after{
		top: -175px;
		left: auto;
		right: 0;
		width: 180px;
		background: url(../img/deco15.png) no-repeat center;
		background-size: 100% auto;
	}
	.package.sub-page .page-title h1{
		margin-bottom: 40px;
		font-size: 32px;
		letter-spacing: 0;
	}
	.package.sub-page .page-title+.body>p{
		margin-bottom: 60px;
		font-size: 18px;
		line-height: 2.2;
	}
	.sub-page .body > .wp-block-group:not(:last-child){
		margin-bottom: 100px;
	}
	.sub-page h2.wp-block-heading,
	.sub-page h3.wp-block-heading,
	.sub-page h4.wp-block-heading,
	.sub-page h5.wp-block-heading,
	.sub-page h6.wp-block-heading{
		margin-bottom: 15px;
	}
	.sub-page .static-content h2.wp-block-heading{
		margin-bottom: 35px;
		padding-top: 25px;
	}
	.sub-page h3.wp-block-heading{
		margin-bottom: 15px;
		font-size: 20px;
	}
	.sub-page h4.wp-block-heading{
		margin-bottom: 25px;
	}
	.sub-page .static-content li{
		margin-bottom: 10px;
	}
	.sub-page .is-style-btn-s2 a,
	.sub-page .is-style-btn-s1 a{
		width: 345px;
	}
	.sub-page .wp-block-table td{
		min-width: 224px;
	}
	.sub-page .wp-block-table{
		margin-right: -15px;
		padding-right: 15px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}
	.sub-page .wp-block-table table{
		width: auto;
	}
	.sub-page .wp-block-media-text{
		margin-bottom: 45px;
	}
	.sub-page .wp-block-media-text>.wp-block-media-text__content:first-child,
	.sub-page .wp-block-media-text>.wp-block-media-text__content:last-child{
		padding-left: 0;
		padding-right: 0;
	}
	.sub-page .wp-block-media-text__media{
		margin-bottom: 15px;
	}
}

/* 園について */
body.profile .greeting{
	margin-bottom: 90px;
}
body.profile .policy{
	position: relative;
	margin-bottom: 50px;
	padding-top: 55px;
	padding-bottom: 70px;
	text-align: center;
}
body.profile .policy:after,
body.profile .policy:before{
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	width: 5000px;
	height: 100%;
	background: #FFE070;
	z-index: -1;
    transform: translateX(-50%);
}
body.profile .policy:after{
	width: 1440px;
	height: 100%;
	background: url(../img/profile-goal-bg.webp) no-repeat center;
	background-size: cover;
	z-index: -1;
    transform: translateX(-50%);
}
body.profile .policy .wp-block-list{
    counter-reset: order;
	margin: 0 auto;
	margin-bottom: 20px;
	padding: 30px 50px;
	padding-right: 10px;
	max-width: 650px;
	text-align: left;
	background: #FFFFFF;
	border-radius: 20px;
}
body.profile .policy .wp-block-list li{
	padding-left: 37px;
	font-size: 20px;
	line-height: 1.5;
}
body.profile .policy .wp-block-list li:not(:last-child){
	margin-bottom: 15px;
}
body.profile .policy .wp-block-list li:before{
    counter-increment: order;
    content: counter(order, decimal-leading-zero);
	top: -1px;
	width: 32px;
	height: auto;
	color: #F98918;
	font-size: 24px;
	font-family: "Poppins", sans-serif;
	font-weight: bold;
	font-style: normal;
	background: none;
}
body.profile .history,
body.profile .facility,
body.profile .goal{
	max-width: 1120px!important;
	margin-right: -100px!important;
	margin-left: -100px!important;
}
body.profile .goal .wp-block-group{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 60px 25px;
	padding: 60px 50px;
	background: #C2E8F2;
	border-radius: 20px;
}
body.profile .goal figure{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
	margin: 0!important;
	width: calc((100% - 50px) / 3);
}
body.profile .goal figure img{
	order: 2;
	width: 100%;
	aspect-ratio: 3 / 2;
	border-radius: 20px;
}
body.profile .goal figcaption{
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	min-height: 60px;
	margin: 0;
	padding: 5px 10px;
	color: var(--oc-link-color);
	font-size: 18px;
	line-height: 1.3;
	letter-spacing: 0;
	text-align: center;
	background: #fff;
	border-radius: 99px;
}
body.profile .goal figcaption:before{
	content: '';
	position: absolute;
	left: 50%;
	bottom: -10px;
	width: 20px;
	height: 10px;
	background: #fff;
    transform: translateX(-50%);
	clip-path: polygon(50% 100%, 0 0, 100% 0);
}
body.profile .facility{
	margin-top: calc( var(--header-height) * -1 );
	margin-bottom: 200px;
	padding-top: var(--header-height);
}
body.profile .facility .wp-block-group{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 25px;
	padding: 0 40px;
}
body.profile .facility figure{
	margin: 0!important;
	width: calc((100% - 50px) / 3);
}
body.profile .facility figure img{
	width: 100%;
	aspect-ratio: 3 / 2;
	border-radius: 15px;
}
body.profile .facility figcaption{
	margin-top: 10px;
	margin-bottom: 0;
	font-size: 18px;
	line-height: 1.5;
	text-align: center;
}
body.profile .facility figcaption strong{
	color: var(--oc-link-color);
}
body.profile .history {
	position: relative;
	margin-bottom: 150px;
	padding: 60px 0;
	padding-left: 35px;
}
body.profile .history:after,
body.profile .history:before{
	content: '';
	position: absolute;
	top: 0;
	right: 50%;
	width: 3000px;
	height: 100%;
	background: #fff;
	border-radius: 30px;
    transform: translateX(360px);
	z-index: -1;
}
body.profile .history:after{
	top: -50px;
	width: 194px;
	aspect-ratio:  2 / 1;
	height: auto;
    background: url(../img/deco12.svg) no-repeat center;
	background-size: contain;
	border-radius: 0;
    transform: translateX(320px);
}
body.profile .history h2.wp-block-heading{
	padding-top: 0;
	padding-left: 30px;
	text-align: left;
    background: url(../img/deco11.svg) no-repeat 0 5px;
}
body.profile .history .wp-block-column:has(figure){
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}
body.profile .history figure img {
	border-radius: 20px;
}
body.profile .history .wp-block-columns:last-child {
	margin-bottom: 0;
}
body.profile .gallery .slick-list{
	overflow: visible;
}
body.profile .slick-track{
	max-width: none!important;
}
body.profile .slick-arrow {
	top: auto;
	left: 45%;
	bottom: 0;
    width: 54px;
    height: 50px;
	background: url(../img/prev.svg) no-repeat center;
	background-size: contain;
    transform: translateY(28%) translateX(-190px);
	z-index: 1;
}
body.profile .slick-next {
	left: auto;
	right: 45%;
	background: url(../img/next.svg) no-repeat center;
	background-size: contain;
    transform: translateY(28%) translateX(190px);
}
body.profile .slick-arrow:before {
	display: none;
}
body.profile .slick-list{
	padding-bottom: 60px;
}
body.profile .slick-dots{
	left: 50%;
	bottom: 0;
	padding: 0 35px;
	width: auto;
	min-height: 23px;
	line-height: 1;
	background: #fff;
	border-radius: 999px;
    transform: translateX(-50%);
	z-index: 3;
}
body.profile .slick-dots li:before,
body.profile .slick-dots button,
body.profile .slick-dots button:before{
	display: none;
}
body.profile .slick-dots li{
	content: '';
	margin: 0 10px;
	padding: 0;
	width: 10px;
	height: 10px;
	background: #C2E8F2;
	border-radius: 100%;
	opacity: 1;
    transition: all .3s;
}
body.profile .slick-dots li.slick-active{
	width: 24px;
	height: 15px;
	background: url(../img/icon-sprout.svg) no-repeat center;
	border-radius: 0;
    transform: translateY(2px);
}
body.profile .wp-block-gallery{
	position: relative;
	margin: 0 auto!important;
	width: 910px;
}
body.profile .wp-block-gallery .wp-block-image{
	padding: 0 10px;
}
body.profile .wp-block-gallery .wp-block-image img{
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 18px;
}

@media screen and (max-width:1100px){
	body.profile .history,
	body.profile .facility,
	body.profile .goal{
	margin-left:  clamp(-100px, calc((100vw - 925px) * -0.5714), 0px) !important;
	margin-right: clamp(-100px, calc((100vw - 925px) * -0.5714), 0px) !important;
	}
	body.profile .goal figcaption{
		font-size: clamp(
			14px,
			calc(14px + (100vw - 820px) * 0.0142857),
			18px
		);
	}
}

@media screen and (max-width:820px) {
	body.profile .history figure,
	body.profile .facility figure,
	body.profile .goal figure{
		width: calc((100% - 25px) / 2);
	}
	body.profile .history {
		padding-left: 0;
	}
	body.profile .history .wp-block-column:has(figure){
		gap: 30px;
	}
}

@media screen and (max-width:767px) {
	body.profile .greeting{
		margin-bottom: 60px;
	}
	body.profile .greeting .wp-block-media-text__media{
		margin-bottom: 65px;
	}
	body.profile .policy{
		margin-bottom: 60px;
		padding: 60px 0;
		background: url(../img/profile-goal-bg-sp.svg) repeat-y center 0;
		background-size: 100% auto;
	}
	body.profile .policy:after{
		display: none;
	}
	body.profile .policy .wp-block-list{
		padding: 30px 25px;
	}
	body.profile .policy .wp-block-list li{
		padding-left: 30px;
		font-size: 18px;
	}
	body.profile .policy .wp-block-list li:before{
		width: 27px;
		font-size: 20px;
	}
	body.profile .history figure,
	body.profile .facility figure,
	body.profile .goal figure{
		width: 100%;
	}
	body.profile .goal .wp-block-group{
		gap: 40px 0;
		padding: 30px 10px 35px;
	}
	body.profile .goal figcaption{
		font-size: 18px;
	}
	body.profile .facility{
		margin-bottom: 90px;
	}
	body.profile .facility .wp-block-group{
		gap: 40px;
		padding: 0;
	}
	body.profile .history {
		margin-bottom: 90px;
		padding: 60px 0 40px;
	}
	body.profile .history:before{
		right: -15px;
		transform: translateX(0);
	}
	body.profile .history:after{
		top: -45px;
		right: 15px;
		width: 154px;
		transform: translateX(0);
	}
	body.profile .history h2.wp-block-heading{
		margin-bottom: 15px;
	}
	body.profile .history .wp-block-columns{
		gap: 3.5em;
	}
	body.profile .wp-block-gallery .wp-block-image{
		padding: 0 4px;
	}
	body.profile .wp-block-gallery .wp-block-image img{
		aspect-ratio: 4 / 3;
		border-radius: 8px;
	}
	body.profile .slick-arrow {
		top: 40%;
		left: -10px;
		bottom: auto;
		width: 38px;
		height: 35px;
		transform: translateY(28%) translateX(0);
	}
	body.profile .slick-next {
		left: auto;
		right: -10px;
		transform: translateY(28%) translateX(0);
	}
	body.profile .slick-list{
		padding-bottom: 30px;
	}
	body.profile .slick-dots{
		padding: 0 25px;
		min-height: 15px;
		line-height: 0.72;
		white-space: nowrap;
	}
	body.profile .slick-dots li{
		margin: 0 5px;
		width: 8px;
		height: 8px;
	}
	body.profile .slick-dots li.slick-active{
		width: 16px;
		height: 10px;
		transform: translateY(2px);
	}
}

.wp-block-image img {
	border-radius: 20px;
}