@charset "UTF-8";

/*=================================================================
navi
=================================================================*/
.nav {
	width: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 10;
}

@media screen and (min-width:768.1px) {
	.nav .nav-li {
		height: 60px;
		margin: 0 auto;
		padding: 0 1em;
		display: flex;
		justify-content: center;
		gap: 0 min(2.5em, 2.3vw);
		background-color: rgba(253, 217, 120, 0.95);
		background-color: rgba(251, 226, 163, 0.95);
	}

	.nav .nav-li li a {
		height: 60px;
		padding: .5em;
		display: grid;
		place-items: center;
		text-align: center;
		font-weight: bold;
		font-size: min(.9em, 1.5vw);
		color: var(--main-color);
		opacity: 1;
	}

	.nav .nav-li li a span {
		display: inline-block;
		padding-bottom: .2em;
		border-bottom: solid 2px #fff;
		transition: all .3s;
	}

	.nav .nav-li li a.current span {
		border-bottom: solid 2px var(--point-color);
	}

	@media (any-hover:hover) {
		.nav .nav-li li:hover a span {
			border-bottom: solid 2px var(--point-color);
		}
	}

	.nav .menu-btn {
		display: none;
	}
}

@media screen and (max-width:768px) {
	.nav::before {
		content: '';
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		background-color: rgba(0, 0, 0, .5);
		z-index: 0;
		opacity: 0;
		visibility: hidden;
		transition: all .3s ease;
	}

	.nav.menu-open::before {
		opacity: 1;
		visibility: visible;
	}

	.nav .menu-btn {
		display: block;
		width: 3.4em;
		height: 3.4em;
		position: fixed;
		right: min(50px, 10vw);
		top: min(50px, 10vw);
		background-color: var(--sub-color);
		color: var(--main-color);
		font-size: min(1em, 4.2vw);
		border-radius: 50%;
		box-shadow: 1px 1px 3px rgba(30, 30, 30, .35);
		transform: translate(50%, -50%);
		z-index: 3;
	}

	.nav .menu-btn::before,
	.nav .menu-btn::after {
		content: '';
	}

	.nav .menu-btn::before,
	.nav .menu-btn::after,
	.nav .menu-btn .line-box {
		display: block;
		width: 50%;
		height: 0;
		border-top: solid 2px;
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		transition: all .3s ease;
	}

	.nav .menu-btn .line-box {
		opacity: 1;
	}

	.nav .menu-btn::before {
		content: '';
		top: 33%;
	}

	.nav .menu-btn::after {
		content: '';
		top: 67%;
	}

	.nav.menu-open .menu-btn .line-box {
		opacity: 0;
		transform: translate(-150%, -50%);
	}

	.nav.menu-open .menu-btn::before {
		top: 50%;
		transform: translate(-50%, -50%) rotate(45deg);
	}

	.nav.menu-open .menu-btn::after {
		top: 50%;
		transform: translate(-50%, -50%) rotate(-45deg);
	}

	.nav .nav-li {
		width: auto;
		height: auto;
		padding: 2em;
		flex-direction: column;
		position: fixed;
		left: min(45px, 8vw);
		right: min(45px, 8vw);
		top: min(45px, 8vw);
		/*         bottom: min(45px, 8vw); */
		border-radius: 10px;
		background-color: #fbe2a3;
		font-size: min(.95em, 4vw);
		z-index: 1;
		opacity: 0;
		visibility: hidden;
		transition: all .3s ease;
	}

	.nav.menu-open .nav-li {
		opacity: 1;
		visibility: visible;
	}

	.nav .nav-li li {
		padding: .5em 0;
	}

	.nav .nav-li li+li {
		border-top: solid 1px #fff;
	}

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

	.nav .nav-li li a {
		display: block;
		padding: .75em;
		text-align: center;
		font-weight: bold;
		color: var(--main-color);
		opacity: 1;
	}
}

/*=================================================================
hd title
=================================================================*/
.main .header-title-wrp {
	padding: 120px 30px 60px;
	text-align: center;
}

.main .header-title-wrp .header-title {
	width: 96%;
	max-width: 1200px;
	margin: 0 auto min(1em, 5vw);
	position: relative;

}

.main .header-title-wrp .header-title .tag {
	display: inline-block;
	width: max-content;
	background-color: var(--main-color);
	color: #fff;
	font-family: 'Zen Kurenaido', sans-serif;
	font-size: 1.05rem;
	letter-spacing: -.05em;
	font-weight: bold;
	line-height: 1;
	padding: .75em 1em 1em;
	border-radius: 4px;
	position: absolute;
}

.main .header-title-wrp .header-title .tag::before {
	content: '';
	display: block;
	width: 1.75em;
	height: 1em;
	position: absolute;
	bottom: -1em;
	background-color: var(--main-color);
}

.main .header-title-wrp .header-title .tag1 {
	bottom: 75%;
	left: 50%;
	transform: translateX(-140%);
}

.main .header-title-wrp .header-title .tag1::before {
	left: 50%;
	clip-path: polygon(0 0, 60% 0, 70% 100%, 70% 100%);
}

.main .header-title-wrp .header-title .tag2 {
	bottom: 82%;
	left: 50%;
}

.main .header-title-wrp .header-title .tag2::before {
	left: 40%;
	clip-path: polygon(20% 0, 100% 0, 0 100%, 0 100%);
}

.main .header-title-wrp .header-title .tag3 {
	bottom: 54%;
	left: 50%;
	transform: translateX(110%);
}

@media screen and (max-width:768px) {

	.main .header-title-wrp {
		padding: 35vw min(2em, 5vw) min(4em, 12vw);
	}

	.main .header-title-wrp .header-title .tag {
		font-size: min(1.3rem, 3.5vw);
	}

	.main .header-title-wrp .header-title .tag1 {
		bottom: 110%;
		left: 0;
		transform: translateX(-7%);

	}

	.main .header-title-wrp .header-title .tag2 {
		bottom: 140%;
		transform: translateX(-50%);

	}

	.main .header-title-wrp .header-title .tag2::before {
		left: 45%;
		clip-path: polygon(35% 0, 100% 0, 25% 100%, 25% 100%);
	}

	.main .header-title-wrp .header-title .tag3 {
		bottom: 102%;
		left: auto;
		right: 25%;
		transform: translateX(50%);

	}
}

.main .header-title-wrp .header-title .tag3::before {
	left: 55%;
	clip-path: polygon(15% 0, 80% 0, 0% 100%, 0% 100%);
}

.main .header-title-wrp .header-title-hash {
	font-size: min(2em, 5vw);
	font-weight: bold;
	line-height: 1.2;

}

/* mainimg --------------------------------*/
.main .mainimg-wrp {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 auto 3em;
	max-width: 1600px;
	padding: 5px;
}

@media screen and (max-width:768px) {
	.main .mainimg-wrp {
		margin: 0 auto min(3em, 5vw);
	}
}

.main .mainimg-wrp .mainimg {
	display: block;
	width: 25%;
	aspect-ratio: 1/1;
	position: relative;
	border: 3px solid #fff;
	box-sizing: border-box;
	border-radius: 10px;
	overflow: hidden;
}

@media screen and (max-width:768px) {
	.main .mainimg-wrp .mainimg {
		width: 50%;
		aspect-ratio: 1/1;
	}
}

.main a.mainimg:hover {
	opacity: 1;
}

.main a.mainimg::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	display: block;
	z-index: 3;
	transition: all .3s;
	border: 6px solid rgba(253, 217, 119, 0);
	transition: all .3s;
}

.main a.mainimg:hover::before {
	border: 6px solid rgba(253, 217, 119, 1)
}

.main a.mainimg img {
	transition: all .3s;
}

.main a.mainimg:hover img {
	transform: scale(1.05);
}

.main .mainimg-wrp .mainimg .hashtag {
	position: absolute;
	display: block;
	width: 100%;
	padding: .5em 1em 1em;
	bottom: 0;
	left: 0;
	color: var(--main-color);
	background-color: rgba(253, 217, 120, 0.85);
	box-sizing: border-box;
	font-family: 'Zen Kurenaido', sans-serif;
	font-size: clamp(1em, 1.55vw, 1.2em);
	font-weight: bold;
	letter-spacing: -.05em;
	transform: translateY(.5em);
	transition: all .3s;
}

.main a.mainimg:hover .hashtag {
	transform: translateY(0);
	background-color: rgba(253, 217, 120, 1);
}

@media screen and (max-width:640px) {
	.main .mainimg-wrp .mainimg .hashtag {
		padding: .5em .5em 1em;
		font-size: min(1em, 3.2vw);
		letter-spacing: -.1em;
	}
}

.main .mainimg-wrp .mainimg .hashtag::after {
	content: '';
	width: min(10px, 2vw);
	height: min(10px, 2vw);
	border-bottom: 2px solid;
	border-right: 2px solid;
	position: absolute;
	top: calc(50% - min(7px, 1.5vw));
	right: .75em;
	transform: rotate(45deg);
}

.main .mainimg-wrp .mainimg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* concept --------------------------------*/
.main .concept {
	text-align: center;
}

.main .concept .lead {
	display: inline-block;
	font-size: min(1.3em, 4.2vw);
	line-height: 2.75em;
	background-size: 100% 2.75em;
	background-image: linear-gradient(180deg, #777 1px, transparent 1px);
	padding: 0 3em 1em;
}

@media screen and (max-width:768px) {
	.main .concept .lead {
		padding: 0 0 1em;
		line-height: 2.5em;
		background-size: 100% 2.49em;
	}
}

.main .concept .note {
	margin-top: 1em;
	font-size: min(.85em, 3.2vw);
	color: #666;
}


/*=================================================================
contents
=================================================================*/
.main .co .inner {
	padding: 100px 30px;
}

@media screen and (max-width:768px) {
	.main .co .inner {
		padding: min(100px, 12vw) 20px;
	}
}

.main .co .co-title-icon {
	display: block;
	width: min(170px, 31vw);
	margin: 0 auto;
}

.main .co .co-title {
	margin-top: 1em;
	font-size: min(2.5em, 6.4vw);
	font-family: 'Zen Kurenaido', sans-serif;
	color: var(--main-color);
	text-align: center;
	line-height: 1.5;
}

.main .co .co-subtitle {
	margin-top: 1.75em;
	font-size: min(1.2em, 4vw);
	line-height: 2;
	font-weight: 500;
	text-align: center;
}

/* point --------------------------------*/

@media screen and (max-width:768px) {
	.main .point .inner {
		padding: min(100px, 12vw) min(30px, 3vw);
	}
}

.main .point .point-title {
	width: 100%;
	margin-bottom: 2em;
	font-size: min(2.5em, 7.4vw);
	color: var(--main-color);
	line-height: 1.4;
}

@media screen and (max-width:768px) {
	.main .point .point-title {
		text-align: center;
	}
}

.main .point .point-item {
	--border-width: 5px;
	width: min(1120px, 100%);
	margin: calc(var(--border-width)*-1) auto 0;
	/* margin: 0 auto; */
	padding: min(100px, 12vw) min(80px, 7vw) min(30px, 7vw);
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	position: relative;
	/* 	background: linear-gradient(var(--sub-color) var(--border-width), #fff var(--border-width), #fff calc(100% - var(--border-width)), var(--sub-color) calc(100% - var(--border-width))) no-repeat center top / calc(100% - 100px) auto; */
}

.main .point .point-item:first-child {
	padding-top: min(60px, 15vw);
}

@media screen and (min-width:768.1px) {
	.main .point .point-item:nth-child(odd) {
		padding-right: min(20px, 5vw);
	}

	.main .point .point-item:nth-child(even) {
		padding-left: min(20px, 5vw);
	}
}

.main .point .point-item:last-child {
	padding-bottom: 200px;
}

.main .point .point-item::before {}

.main .point .point-item::after {
	content: '';
	display: block;
	width: 80%;
	height: 100%;
	border: solid var(--border-width) var(--sub-color);
	border-right: none;
	border-radius: 25px 0 0 25px;
	position: absolute;
	left: 0;
	top: 0;

}

.main .point .point-item:nth-child(even):after {
	left: auto;
	right: 0;
	transform: rotateY(180deg);
}

@media screen and (max-width:768px) {
	.main .point .point-item {
		--border-width: min(4px, .7vw);
	}

	.main .point .point-item:last-child {
		padding-bottom: 56vw;
	}
}

/* text */
.main .point .point-item .point-text {
	width: 25em;
}

.main .point .point-item:nth-child(even) .point-text {
	order: 2;
}

.main .point .point-item .point-text .hd {
	font-size: min(1.5em, 4.6vw);
	font-weight: 500;
	line-height: 1.8;
}

.main .point .point-item .point-text p {
	margin-top: 2em;
	line-height: 1.8;
	text-align: justify;
}

@media screen and (max-width:768px) {
	.main .point .point-item .point-text {
		width: 100%;
		order: 1 !important;
	}

	.main .point .point-item .point-text .hd {
		text-align: center;
	}

	.main .point .point-item .point-text p {
		font-size: min(.95em, 3.8vw);
		letter-spacing: .1em;
	}
}

/* img */
.main .point .point-item .point-img {
	width: calc(85% - 24em);
}

.main .point .point-item:nth-child(even) .point-img {
	order: 1;
}

.main .point .point-item .deco-img {
	position: absolute;
}

.main .point .point-item .deco-img.intro {
	width: 52%;
	right: -4%;
	top: 0;
	transform: translateY(-17.5%);
	z-index: 2;
}

.main .point .point-item:first-child .img1-1 {
	width: calc((95% - 25em)*.28);
	transform: translateX(-15%);
}

.main .point .point-item:first-child .img1-2 {
	width: calc((95% - 25em)*.68);
}

.main .point .point-item .deco-img.ending1 {
	width: 27%;
	right: 47%;
	bottom: 2px;
	z-index: 2;
}

.main .point .point-item .deco-img.ending2 {
	width: 48%;
	right: -5%;
	bottom: -.5px;
	z-index: 1;
	transform: translateY(.45%);

}

@media screen and (max-width:768px) {
	.main .point .point-item .point-img {
		width: auto;
		height: min(280px, 56vw);
		margin: 2em auto 0;
		order: 2;
	}

	.main .point .point-item .point-img:not(.img1-1):not(.img1-2) img {
		width: auto;
		height: 100%;
	}

	.main .point .point-item:first-child .img1-1 {
		width: 25%;
		transform: translateX(0);
		display: none
	}

	.main .point .point-item:first-child .img1-2 {
		width: min(380px, 75%);
		height: auto;
		order: 2;
	}

	.main .point .point-item .deco-img.intro {
		width: 75%;
		right: -2%;
		top: 0;
		transform: translateY(-17.5%);
	}

	.main .point .point-item .deco-img.ending1 {
		width: min(240px, 35%);
		right: 57%;
		bottom: 2px;
		z-index: 2;
	}

	.main .point .point-item .deco-img.ending2 {
		width: 62%;
		right: 0;
		transform: translateY(0);

	}
}

/* appearance --------------------------------*/
.appearance-slider figure {
	aspect-ratio: 1/1;
}

/* appearance --------------------------------*/
.appearance-slider+.cv {
	padding-bottom: 100px;
}

/* plan --------------------------------*/
/* .main .plan {
	padding-top: 100px;
} */

.main .plan .inner {
	max-width: 100%;
	padding-top: 0;
	background-color: var(--sub-color-light);
}

.main .plan .co-title-icon {
	margin: 0 auto -1.25em;
	transform: translateY(-70%);
}

.main .plan-wrp {
	margin-top: min(60px, 10vw);
}

.main .plan-wrp .plan-tab .tab {
	padding: 1em .5em .75em;
	background-color: var(--sub-color);
	color: var(--main-color);
	font-weight: 500;
	font-size: .95em;
	text-align: center;
	letter-spacing: 0;
	position: relative;
	cursor: pointer;
}

.main .plan-wrp .plan-tab .tab.active {
	background-color: var(--main-color);
	color: #fff;
	font-weight: 500;
}

.main .plan-wrp .plan-tab .tab .area {
	width: 3em;
	height: 3em;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: .1em;
	border-radius: 50%;
	color: #fff;
	background-color: var(--main-color);
	border: solid 2px var(--main-color);
	font-size: 1.1em;
	font-weight: bold;
	position: absolute;
}

.main .plan-wrp .plan-tab .tab.active .area {
	background-color: var(--sub-color);
	color: var(--main-color);
}

.main .plan-wrp .plan-tab .tab .area::after {
	content: '坪';
	font-size: .7em;
	margin: 0 0 -.2em .1em;
}


/* slider arrow */
.main .slick-prev,
.main .slick-next {
	background: rgba(0, 0, 0, 0.05) !important;
	width: 30px;
	height: 178px;
	display: flex;
	z-index: 1;
	top: 50%;
}

.main .slick-prev::before,
.main .slick-next::before {
	content: none;
}

.main .slick-prev::after,
.main .slick-next::after {
	content: "";
	position: absolute;
	height: 12.5px;
	width: 7.25px;
	top: calc(50% - 6.25px);
	left: calc(50% - 3.625px);
}

.main .slick-prev::after {
	background-image: url(../img/icon_slider_prev.svg);
}

.main .slick-next::after {
	background-image: url(../img/icon_slider_next.svg);
}

.main .slick-prev:active,
.main .slick-next:active {
	opacity: 1;
}

.main .slick-prev:hover,
.main .slick-next:hover {
	opacity: 0.6;
}

/* dots */
.main .slick-dots {
	margin-top: 1em;
	position: static;
}

.main .slick-dots li {
	display: inline-block;
	margin: 0;
}

.main .slick-dots button {
	display: block;
	width: 10px;
	height: 10px;
	margin: 6px;
	font-size: 0;
	padding: 0;
	border: 0;
	outline: none;
	cursor: pointer;
	background: #fff;
	border: 1px solid #466A7E;
	border-radius: 50%;
	text-indent: -9999px;
}

.main .slick-dots .slick-active button {
	background: #466a7e;
}

@media screen and (min-width:768.1px) {
	.main .plan-wrp .plan-tab {
		width: min(980px, 100%);
		margin: 0 auto;
		padding: 0 .5em;
		display: flex;
		justify-content: space-evenly;
	}

	.main .plan-wrp .plan-tab .tab {
		width: 22%;
		padding: 1em .5em .75em 3em;
	}

	.main .plan-wrp .plan-tab .tab .area {
		left: -.4em;
		top: 0;
		transform: translateY(-25%);
	}

	.main .plan-wrp .plan-area {
		width: min(980px, 100%);
		margin: 0 auto;
		padding: 50px 40px 40px;
		background-color: #fff;
		border-top: solid 5px var(--main-color);
		position: relative;
	}

	.main .plan-wrp .plan-area .plan-item {
		opacity: 0;
		display: none;
		transition: all .3s;
	}

	.main .plan-wrp .plan-area .plan-item.active {
		opacity: 1;
		display: block;
	}

	.main .plan-wrp .plan-area .plan-item .plan-copy {
		margin: 0 0 .25em;
		font-size: 1.25em;
		color: var(--main-color);
		text-align: center;
	}

	.main .plan-wrp .plan-area .plan-item .plan-item-slider {
		position: relative;
	}

	.main .slick-prev {
		left: -60px;
	}

	.main .slick-next {
		right: -60px;
	}
}

@media screen and (max-width:768px) {
	.main .plan-wrp {
		display: flex;
		flex-direction: column;
	}

	.main .plan-wrp .plan-tab {
		display: contents;
	}

	.main .plan-wrp .plan-tab .tab {
		z-index: 1;
	}

	.main .plan-wrp .plan-tab .tab .area {
		left: -.5em;
		top: 50%;
		transform: translateY(-50%);
		font-size: 1.3em;
	}

	.main .plan-wrp .plan-tab .tab::after {
		content: '';
		display: block;
		width: .7em;
		height: .7em;
		border-bottom: solid 2px;
		border-left: solid 2px;
		position: absolute;
		right: 1em;
		top: 50%;
		transform: translate(-50%, -65%) rotateX(0) rotateZ(-45deg);
		z-index: 1;
	}

	.main .plan-wrp .plan-tab .tab.active:after {
		content: none;
	}

	.main .plan-wrp .plan-tab .tab {
		width: 100%;
		padding: .8em .5em;
		position: relative;
	}

	.main .plan-wrp .plan-tab .tab:not(.tab1) {
		margin-top: 1.5em;
	}

	.main .plan-wrp .plan-tab .tab1 {
		order: 1;
	}

	.main .plan-wrp .plan-tab .tab2 {
		order: 3;
	}

	.main .plan-wrp .plan-tab .tab3 {
		order: 5;
	}

	.main .plan-wrp .plan-tab .tab4 {
		order: 7;
	}

	.main .plan-wrp .plan-area {
		display: contents;
	}

	.main .plan-wrp .plan-area .plan-item {
		height: 0;
		padding: 0 min(60px, 5vw);
		background-color: #fff;
		position: relative;
		overflow: clip;
		transition: all .3s ease-in;
	}

	.main .plan-wrp .plan-area .plan-item.active {
		height: 155vw;
		padding: min(60px, 7vw) min(60px, 5vw) 0;

	}

	.main .plan-wrp .plan-area .plan-item.plan1 {
		order: 2;
	}

	.main .plan-wrp .plan-area .plan-item.plan2 {
		order: 4;
	}

	.main .plan-wrp .plan-area .plan-item.plan3 {
		order: 6;
	}

	.main .plan-wrp .plan-area .plan-item.plan3.active {
		height: 170vw;

	}

	.main .plan-wrp .plan-area .plan-item.plan4 {
		order: 8;
	}

	.main .plan-wrp .plan-area .plan-item .plan-item-slider {
		margin: 0;
	}

	.main .plan-wrp .plan-area .plan-item .plan-copy {
		margin: 0 0 1em;
		font-size: min(1.1em, 4vw);
		color: var(--main-color);
		text-align: center;
	}

	.main .slick-prev {
		left: max(-60px, -5vw);
		width: 20px;
	}

	.main .slick-next {
		right: max(-60px, -5vw);
		width: 20px;
	}
}

/* book banner */
.main .plan .book-banner {
	width: min(760px, 100%);
	margin: 80px auto 0;
	display: flex;
	background-color: #13aad8;
}

@media screen and (max-width:768px) {
	.main .plan .book-banner {
		width: min(400px, 100%);
	}
}

.main .plan .book-banner .txt-box {
	width: 540px;
	padding: 1.75em .5em 1.5em;
	text-align: center;
}

@media screen and (max-width:768px) {
	.main .plan .book-banner .txt-box {
		width: 58%;
		padding: 1.25em .25em 1em;
	}
}

.main .plan .book-banner .txt-box .copy {
	width: fit-content;
	margin: 0 auto;
	color: #fff;
	/*     -webkit-text-stroke: 1px #466a7e; */
	/*     text-stroke: 1px #466a7e; */
	text-shadow: 1.5px 1.5px 0 #466a7e, -1.5px -1.5px 0 #466a7e,
		-1.5px 1.5px 0 #466a7e, 1.5px -1.5px 0 #466a7e,
		0px 1.5px 0 #466a7e, 0 -1.5px 0 #466a7e,
		-1.5px 0 0 #466a7e, 1.5px 0 0 #466a7e,
		0 0 1.5px #466a7e;
	font-size: 1.25em;
	font-weight: bold;
	letter-spacing: .05em;
	position: relative;
}

@media screen and (max-width:768px) {
	.main .plan .book-banner .txt-box .copy {
		font-size: min(.9em, 3.3vw);
		letter-spacing: 0em;
	}
}

.main .plan .book-banner .txt-box .copy::before,
.main .plan .book-banner .txt-box .copy::after {
	content: '';
	display: block;
	width: .4em;
	height: 2.4em;
	background-image: radial-gradient(#fff 35%, transparent 35%);
	background-size: .4em .4em;
	position: absolute;
	bottom: 50%;
	--pos: 7px;
}

@media screen and (max-width:768px) {

	.main .plan .book-banner .txt-box .copy::before,
	.main .plan .book-banner .txt-box .copy::after {
		height: 3.2em;
		--pos: 10px;
	}
}

.main .plan .book-banner .txt-box .copy::before {
	right: calc(100% + var(--pos));
	transform: translateY(50%) rotate(-25deg);
}

.main .plan .book-banner .txt-box .copy::after {
	left: calc(100% + var(--pos));
	transform: translateY(50%) rotate(25deg);
}

.main .plan .book-banner .txt-box .book-title {
	width: min(486px, 95%);
	margin: .75em auto 0;
}

@media screen and (max-width:768px) {
	.main .plan .book-banner .txt-box .book-title {
		width: 75%;
	}
}

.main .plan .book-banner .txt-box .btn {
	display: block;
	width: min(23em, 90%);
	margin: 1.25em auto 0;
	padding: .6em;
	font-size: .95em;
	color: #466a7e;
	background-color: #fdd35c;
	border-radius: 2em;
	position: relative;
}

@media screen and (max-width:768px) {
	.main .plan .book-banner .txt-box .btn {
		padding: .5em 2em .5em .5em;
		font-size: min(.8em, 3vw);
		letter-spacing: .05em;
	}
}

.main .plan .book-banner .txt-box .btn .arrow {
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	width: 2em;
}

@media screen and (max-width:768px) {
	.main .plan .book-banner .txt-box .btn .arrow {
		width: 1.5em;
	}
}

.main .plan .book-banner .txt-box .btn .arrow::before,
.main .plan .book-banner .txt-box .btn .arrow::after {
	content: '';
	display: block;
	height: 0;
	border-bottom: 1px solid;
	position: absolute;
	top: 50%;
	right: 0;
}

.main .plan .book-banner .txt-box .btn .arrow::before {
	width: 100%;
}

.main .plan .book-banner .txt-box .btn .arrow::after {
	width: .8em;
	transform: rotate(30deg);
	transform-origin: bottom right;
}

.main .plan .book-banner .book-img-box {
	width: 220px;
	background-color: #fdd35c;
	position: relative;
}

@media screen and (max-width:768px) {
	.main .plan .book-banner .book-img-box {
		width: 42%;
	}
}

.main .plan .book-banner .book-img-box::after {
	content: '';
	display: block;

}

.main .plan .book-banner .book-img-box-inner {
	width: 125%;
	height: 125%;
	position: absolute;
	left: 0;
	bottom: 0;
	overflow: hidden;
}

@media screen and (max-width:768px) {
	.main .plan .book-banner .book-img-box-inner {
		width: 110%;
		height: 100%;
		left: -10%;
		bottom: 0;
	}
}

.main .plan .book-banner .book-img-box .book-img {
	width: 65%;
	position: absolute;
	left: 10%;
	bottom: -10%;
	transform: rotate(13deg);
	box-shadow: 1px 1px 3px rgba(100, 100, 100, .4);
}

@media screen and (max-width:768px) {
	.main .plan .book-banner .book-img-box .book-img {
		width: 76%;
		position: absolute;
		left: 12%;
		bottom: 7%;
		transform: rotate(9deg);
	}
}

/* experience --------------------------------*/
.main .experience .co-title-icon {
	width: min(190px, 33vw);
}

.main .experience-wrp {
	width: min(1240px, 100%);
	margin: 60px auto 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1em 0;
}

.main .experience .experience-item {
	width: 32%;
	padding: 60px 30px 30px;
	background-color: #fff;
	border: solid 8px var(--main-color-light);
	text-align: center;
	opacity: 1;
	transition: border .2s ease;
}

@media screen and (max-width:1200px) {
	.main .experience .experience-item {
		padding: min(60px, 10vw) 20px 20px;
	}
}

@media screen and (max-width:768px) {
	.main .experience .experience-item {
		width: 100%;
	}
}

.main .experience .experience-item:hover {
	border: solid 8px var(--sub-color-light);
}

.main .experience .experience-item .experience-plan-title {
	width: 4em;
	margin: 0 auto;
	color: var(--main-color);
	font-size: 2.4em;
	line-height: 1;
	background: linear-gradient(transparent 70%, var(--sub-color) 70%);
}

.main .experience .experience-item .experience-hash {
	margin-top: 1.5em;
	font-size: 1.1em;
	font-family: 'Zen Kurenaido', sans-serif;
	line-height: 1.6;
}

@media screen and (min-width:1120px) {
	.main .experience .experience-item .experience-hash br {
		display: none;
	}
}

.main .experience .experience-item p:not([class]) {
	margin: 1.5em 0;
	line-height: 1.8;
}

@media screen and (max-width:1200px) {
	.main .experience .experience-item p:not([class]) {
		font-size: .9em;
	}
}

.main .experience .experience-item figure {
	position: relative;
	background-color: #000;
}

.main .experience .experience-item figure::after {
	content: '';
	display: block;
	width: 50px;
	height: 50px;
	background: url(../img/icon-360.svg) no-repeat center / contain;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
}

.main .experience .experience-item img {
	opacity: .8;
	position: relative;
	transition: opacity .3s ease;
}

.main .experience .experience-item:hover img {
	opacity: .95;
}

/* faq --------------------------------*/
.main .faq {
	background-color: var(--main-color-light);
	position: relative;
}

.main .faq .inner {
	padding: 100px 30px 140px;
}

@media screen and (max-width:768px) {
	.main .faq .inner {
		padding: min(100px, 12vw) 20px min(140px, 20vw);
	}
}

.main .faq .faq-wrp {
	width: min(1200px, 100%);
	margin: min(60px, 10vw) auto 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: min(40px, 5vw);
	counter-reset: qnum;

}

.main .faq .faq-wrp .faq-item {
	width: 45%;
	padding: 40px;
	flex-grow: 1;
	display: grid;
	grid-template-areas: 'question question' 'answer img' 'text img';
	grid-template-columns: 60% 1fr;
	gap: 1.5em 2em;
	background-color: #fff;
	border-radius: 10px;
}

@media screen and (max-width:768px) {
	.main .faq .faq-wrp .faq-item {
		width: 100%;
		padding: min(40px, 7vw);
	}

	@media screen and (max-width:640px) {
		.main .faq .faq-wrp .faq-item {
			grid-template-areas: 'question' 'img' 'answer' 'text';
			grid-template-columns: auto;
			gap: 1em 0;
		}
	}
}

.main .faq .faq-wrp .faq-item .question {
	grid-area: question;
	padding-bottom: .5em;
	padding-left: 4.5em;
	font-size: 1.25em;
	color: var(--main-color);
	line-height: 1.6;
	position: relative;
}

.main .faq .faq-wrp .faq-item .question::before {
	content: 'Q' counter(qnum);
	counter-increment: qnum;
	color: var(--sub-color);
	font-size: 2.1em;
	line-height: 1;
	font-family: 'Outfit', sans-serif;
	position: absolute;
	left: 0;
}


@media screen and (max-width:768px) {

	.main .faq .faq-wrp .faq-item .question {
		width: 108%;
		padding-bottom: 0;
		padding-left: 3.5em;
		font-size: min(1.25em, 4.7vw);

	}

	.main .faq .faq-wrp .faq-item .question::before {
		font-size: min(2.1em, 8.5vw);
		transform: translateX(-5%);
	}
}

.main .faq .faq-wrp .faq-item .answer {
	grid-area: answer;
	font-size: min(1.2em, 4.6vw);
	font-weight: 500;
	line-height: 1.6;
}

.main .faq .faq-wrp .faq-item p:not([class]) {
	grid-area: text;
	line-height: 1.6;
	text-align: justify;
}

@media screen and (max-width:640px) {
	.main .faq .faq-wrp .faq-item p:not([class]) {
		font-size: min(.95em, 3.8vw);
	}
}

.main .faq .faq-wrp .faq-item figure {
	grid-area: img;
	transform: translate(5%, 5%);
}

@media screen and (max-width:640px) {
	.main .faq .faq-wrp .faq-item figure {
		width: min(260px, 50%);
		margin: 0 auto;
		transform: translate(0, 0);
	}
}

.main .faq .lead-text {
	width: fit-content;
	padding: 1.75em 3em;
	border-radius: 3.5em;
	color: var(--main-color);
	background-color: var(--sub-color);
	font-size: 1.4em;
	line-height: 1.5;
	font-weight: bold;
	text-align: center;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%, 50%);
}

.main .faq .lead-text::after {
	content: '';
	display: block;
	width: 45px;
	height: 45px;
	border-bottom: solid 2px;
	border-left: solid 2px;
	position: absolute;
	left: 50%;
	bottom: -30px;
	transform: translate(-50%, 50%) rotateX(30deg) rotateZ(-45deg);

}

.main .faq+.cv {
	padding: 140px 20px min(100px, 15vw);
}

@media screen and (max-width:768px) {
	.main .faq .lead-text {
		width: 18em;
		padding: 1em 1.25em 1em 2em;
		font-size: min(1.4em, 4.4vw);
		line-height: 1.4;
	}
}

/* pickup --------------------------------*/
.main .pickup {
	background-color: #feecbb;
}

.main .pickup .pickup-title {
	width: fit-content;
	margin: 0 auto;
	padding-bottom: .75em;
	text-align: center;
	font-size: min(1.75em, 5.4vw);
	color: var(--main-color);
	line-height: 1.4;
	border-bottom: solid 2px;
}

.main .pickup .pickup-title br {
	display: none;
}

@media screen and (max-width:640px) {
	.main .pickup .pickup-title br {
		display: block;
	}
}

.main .pickup .pickup-title .en {
	display: block;
	margin: 0 auto 1.2em;
	color: var(--point-color);
	font-size: .9em;
}

.main .pickup .pickup-banner {
	width: min(1000px, 100%);
	margin: min(80px, 12vw) auto 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1.5em 0;
}

.main .pickup .pickup-banner .btn-box {
	width: min(470px, 48%);
	background-color: #fff;
	box-shadow: 0 0 3px 0 rgba(30, 30, 30, .35);
}

.main .pickup .pickup-banner .btn-box a {
	display: block;
	padding: min(40px, 5vw) min(30px, 5vw) min(40px, 10vw);
	text-align: center;
}

.main .pickup .pickup-banner .btn-box .copy {
	margin: 1.75rem auto 0;
	font-size: min(1.2em, 4vw);
	font-weight: bold;
	color: var(--main-color);
}

.main .pickup .pickup-banner .btn-box .logo {
	height: min(5em, 15vw);
	margin: .75rem auto 2rem;
}

.main .pickup .pickup-banner .btn-box .logo img {
	width: auto;
	height: 100%;
}

@media screen and (max-width:768px) {
	.main .pickup .pickup-banner .btn-box {
		width: 100%;
	}
}

/* sticky_cv --------------------------------*/
.sticky_cv {
	width: 100%;
	padding: 0 0 60px;
	position: sticky;
	bottom: -45px;
	z-index: 11;
}

.sticky_cv-btn {
	display: block;
	width: 665px;
	margin: 0 auto;
	padding: 1em 3em;
	background-color: var(--main-color);
	border-radius: 3em;
	text-align: center;
	font-weight: bold;
	font-size: min(1.1em, 4.4vw);
	background-color: var(--sub-color);
	color: var(--main-color);
	border: solid 3px var(--main-color);
	opacity: 1 !important;
	box-shadow: 0 2px 7px rgba(30, 30, 30, .3);
	position: relative;
	transition: all .3s;
}

.sticky_cv-btn:hover {
	background-color: var(--main-color);
	color: #fff;
}

.sticky_cv-btn::after {
	content: '';
	width: .8em;
	height: .8em;
	border-top: 2px solid;
	border-right: 2px solid;
	position: absolute;
	top: calc(50% - .4em);
	right: 1.5em;
	transform: rotate(45deg);
	/* transition: all .3s; */
}

.sticky_cv-btn.end {
	box-shadow: 0 0 0 rgba(30, 30, 30, 0);
}

.sticky_cv-img1,
.sticky_cv-img2 {
	width: auto;
	height: 72px;
	position: absolute;
	bottom: 0;

}

.sticky_cv-img1 {
	left: calc(50% - 14em);
}

.sticky_cv-img2 {
	right: calc(50% - 13em);
}

.sticky_cv-img1 img,
.sticky_cv-img2 img {
	width: auto;
	height: 100%;
}

@media screen and (max-width:768px) {

	.sticky_cv-btn {
		width: calc(100% - 30px);
		padding: .75em 1em;
		font-size: min(1.1em, 4.4vw);
	}

	.sticky_cv-img1,
	.sticky_cv-img2 {
		display: none;
	}
}

/* event --------------------------------*/
.event-popupbk {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, .75);
	z-index: 21;
	cursor: pointer;
	display: none;
}

.event-popupbk .close-btn {
	width: 2em;
	height: 2em;
	position: absolute;
	right: 1em;
	top: 1em;
	cursor: pointer;
}

.event-popupbk .close-btn::before,
.event-popupbk .close-btn::after {
	content: '';
	display: block;
	width: 100%;
	height: 0;
	border-top: solid 2px #fff;
	position: absolute;
	left: 50%;
	top: 50%;
	/* transform: translate(-50%, -50%); */
}

.event-popupbk .close-btn::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.event-popupbk .close-btn::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.event-popup {
	width: min(1200px, 90%);
	height: max(300px, calc(100svh - 7em));
	position: fixed;
	left: 50%;
	top: calc(50% + 1em);
	background-color: #fff;
	border: solid 5px var(--sub-color);
	transform: translate(-50%, -50%);
	box-shadow: 1px 1px 15px rgba(0, 0, 0, .6);
	z-index: 22;
	overflow: scroll;
	display: none;
}

.event-popup .event-wrp {
	padding: min(40px, 5vw) min(40px, 3vw);
}

.event-popup .event-wrp h1 {
	text-align: center;
	margin: 0 0 .5em;
	padding: 1em;
	color: var(--main-color);
	font-size: min(1.5em, 5vw);
}

.event-popup .event-wrp #iemiru-cms-index-page {
	width: 100%;
	max-width: 100%;
	padding: 0;
}

.event-popup .event-wrp #iemiru-cms-index-page h2.evnet-title {
	display: block;
	padding: 1.5%;
	margin: 0 auto 1em;
}

.event-popup .event-wrp #iemiru-cms-index-page .kc-events-event {
	width: auto;
	min-width: 0;
	min-height: 0;
	margin: 0;
	float: none;
	border: 2px solid #ddd;
	background-color: #fff;
}

.event-popup .event-wrp #iemiru-cms-index-page {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 24px;
}

.event-popup .event-wrp #iemiru-cms-index-page .kc-events-event:hover {
	border: solid 2px var(--main-color);
}