@charset "UTF-8";
/*
	Filename: home
	Version: 1.0.1
*/
/*-----------------------------------------------------
	#mv
------------------------------------------------------*/
#mv {
  position: relative;
  width: 100%;
	margin-top: 44px;
	overflow: hidden;
}
.mv_bg {
  position: relative;
  width: 100%;
}
.mv_slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 2.5s ease, transform 20s ease;
}
.mv_slide.is_active {
  opacity: 1;
}
.mv_slide:first-child {
  position: relative;
}
.mv_slide img {
	display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 1000px) {
	#mv {
		margin-top: 30px;
	}
}
@media screen and (max-width: 750px) {
	#mv {
		margin-top: 27px;
	}
}
/*-----------------------------------------------------
	#news
------------------------------------------------------*/
#news {
  padding-top: 0;
	padding-bottom: 120px;
}
.news_head {
	justify-content: space-between;
	align-items: center;
	margin-bottom: 40px;
}
.news_head .section_title_en {
	font-family: "Cardo", serif;
	font-style: italic;
	font-size: 64px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.1em;
}
.news_head .section_title_en span {
	color: #DB7FA0;
}
.news_head h2 {
	font-family: var(--font-serif);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.1em;
}
.news_link a {
	display: block;
	position: relative;
	background: #F4AEB0;
	background: linear-gradient(90deg, rgba(244, 174, 176, 1) 0%, rgba(239, 138, 182, 1) 86%);
	width: 200px;
	padding: 12px 10px;
	border-radius: 9999px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.1em;
	color: #fff;
	text-align: center;
}
.news_link a::after {
  content: "";
  display: block;
  position: absolute;
	top: 50%;
	right: 11px;
	transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background: url("../img/home/btn_more_pink.svg") no-repeat center center;
  background-size: cover;
}
.news_item {
	position: relative;
	margin-bottom: 33px;
	padding-bottom: 33px;
	padding-right: 58px;
	border-bottom: 1px solid #AFAFAF;
}
.news_item::after {
  content: "";
  display: block;
  position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
  width: 38px;
  height: 5px;
  background: url("../img/common/news_arrow.svg") no-repeat center center;
  background-size: cover;
}
.news_item .news_meta {
	justify-content: flex-start;
	align-items: center;
	gap: 16px;
	margin-bottom: 16px;
}
.news_item time {
	font-family: "Cardo", serif;
	font-style: italic;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.05em;
}
.news_item .news_cat {
	display: inline-block;
	padding: 3px 16px;
	background: #DB7FA0;
	border-radius: 9999px;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #fff;
}
.news_item h3 {
	font-family: var(--font-serif);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 750px) {
	#news {
		padding-top: 0px;
	}
	.news_head {
		margin-bottom: 24px;
	}
	.news_head .section_title_en {
		font-size: 40px;
	}
	.news_head h2 {
		font-size: 16px;
	}
	.news_link a {
		max-width: 100%;
	}
	.news_link a::after {
		right: 10px;
		width: 24px;
		height: 24px;
	}
	.news_item {
		margin-bottom: 17px;
		padding-bottom: 17px;
		padding-right: 41px;
	}
	.news_item::after {
		width: 31px;
		height: 4px;
	}
	.news_item h3 {
		font-size: 16px;
	}
}
@media screen and (max-width: 414px) {
	.news_link a {
		width: 170px;
	}
}
/*-----------------------------------------------------
	#choice
------------------------------------------------------*/
#choice {
	position: relative;
	margin-top: -100px;
}
#choice .midasi_01 .en_title {
	color: #F29289;
}
.choice_list {
	margin-top: 84px;
	background: url("../img/home/choice_list_bg.webp") no-repeat center center;
	background-size: cover;
}
.choice_list .flex {
	gap: 32px;
	position: relative;
	top: -34.5px;
}
.choice_item {
	width: calc((100% - 96px) / 4);
	padding: 34.5px 20px;
	background: #fff;
	border: 1px solid #F2F2F2;
	border-radius: 24px;
	text-align: center;
}
.choice_item img {
	margin-bottom: 16px;
}
.choice_item h3 {
	margin-bottom: 16px;
	font-family: var(--font-serif);
	font-size: 26px;
	font-weight: 500;
	letter-spacing: 0.1em;
}
.choice_item h3 span {
	display: block;
	font-family: "Cardo", serif;
	font-style: italic;
	font-size: 22px;
	font-weight: 300;
	color: #0088CC;
}
.choice_item_green h3 span {
	color: #4AC27C;
}
.choice_item_yellow h3 span {
	color: #D99D5E;
}
.choice_item_pink h3 span {
	color: #E0799F;
}
.choice_item h4 span {
	position: relative;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.1em;
}
.choice_item_yellow h4 span, .choice_item_pink h4 span {
  padding-left: 15px;
}
.choice_item_yellow h4 span::before, .choice_item_pink h4 span::before {
  content: "";
  display: block;
  position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
  width: 12px;
  height: 16px;
  background: url("../img/home/wakaba.svg") no-repeat center center;
  background-size: cover;
}
.choice_item p {
	margin-bottom: 16px;
	font-family: var(--font-serif);
	font-size: 22px;
	font-weight: 500;
	letter-spacing: 0.1em;
	color: #F49450;
}
.choice_item p span {
	font-size: 30px;
}
.choice_item_pink p {
	margin-bottom: 29px;
}
.choice_item .btn_more {
	display: block;
	position: relative;
	padding: 19px 10px;
	background: #79D4E6;
	background: linear-gradient(90deg, rgba(121, 212, 230, 1) 0%, rgba(156, 180, 239, 1) 86%);
	border-radius: 9999px;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1;
	color: #fff;
}
.choice_item_green .btn_more {
	background: #77DAD7;
	background: linear-gradient(90deg, rgba(119, 218, 215, 1) 0%, rgba(127, 212, 137, 1) 86%);
}
.choice_item_yellow .btn_more {
	background: #EED46A;
	background: linear-gradient(90deg, rgba(238, 212, 106, 1) 0%, rgba(230, 188, 96, 1) 86%);
}
.choice_item_pink .btn_more {
	background: #F4AEB0;
	background: linear-gradient(90deg, rgba(244, 174, 176, 1) 0%, rgba(239, 138, 182, 1) 86%);
}
.choice_item .btn_more::after {
  content: "";
  display: block;
  position: absolute;
	top: 50%;
	right: 24px;
	transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background: url("../img/home/btn_more_blue.svg") no-repeat center center;
  background-size: cover;
}
.choice_item_green .btn_more::after {
  background: url("../img/home/btn_more_green.svg") no-repeat center center;
  background-size: cover;
}
.choice_item_yellow .btn_more::after {
  background: url("../img/home/btn_more_yellow.svg") no-repeat center center;
  background-size: cover;
}
.choice_item_pink .btn_more::after {
  background: url("../img/home/btn_more_pink.svg") no-repeat center center;
  background-size: cover;
}
@media screen and (max-width: 1240px) {
	.choice_list .flex {
		gap: 16px;
	}
	.choice_item {
		width: calc((100% - 48px) / 4);
		padding: 34.5px 15px;
	}
	.choice_item .btn_more {
		font-size: 16px;
	}
	.choice_item .btn_more::after {
		right: 18px;
		width: 16px;
		height: 16px;
	}
}
@media screen and (max-width: 1100px) {
	#choice {
		margin-top: -70px;
	}
	.choice_item {
		width: calc((100% - 32px) / 2);
		padding: 34.5px 20px;
	}
}
@media screen and (max-width: 750px) {
	.choice_list {
		margin-top: 155px;
		background: url("../img/home/sp_choice_list_bg.webp") no-repeat center center;
		background-size: cover;
	}
	.choice_list .flex {
		gap: 8px;
		top: -107px;
	}
	.choice_item {
		width: calc((100% - 16px) / 2);
		padding: 16px;
		border-radius: 16px;
	}
	.choice_item img {
		width: 104px;
		height: 104px;
		margin-bottom: 8px;
	}
	.choice_item h3 {
		margin-bottom: 8px;
		font-size: 18px;
	}
	.choice_item h3 span {
		font-size: 14px;
	}
	.choice_item h4 span {
		font-size: 14px;
	}
	.choice_item_yellow h4 span, .choice_item_pink h4 span {
		padding-left: 14px;
	}
	.choice_item_yellow h4 span::before, .choice_item_pink h4 span::before {
		width: 10px;
		height: 15px;
	}
	.choice_item p {
		margin-bottom: 8px;
		font-size: 16px;
	}
	.choice_item p span {
		font-size: 24px;
	}
	.choice_item_pink p {
		margin-bottom: 8px;
	}
	.choice_item .btn_more {
		padding: 12px 10px;
		font-size: 16px;
	}
	.choice_item .btn_more::after {
		right: 10px;
	}
}
@media screen and (max-width: 414px) {
	.choice_item .btn_more {
		font-size: 14px;
	}
	.choice_item .btn_more::after {
		right: 5px;
	}
}
/*-----------------------------------------------------
	.group
------------------------------------------------------*/
.group {
	position: relative;
	padding-top: 68px;
	padding-bottom: 136px;
	background: url("../img/home/group_bg.webp") no-repeat center center;
	background-size: cover;
}
.group .midasi_01 .en_title {
	color: #70C3B3;
}
.group_ill {
	position: absolute;
	top: 158px;
	left: 0;
}
.group_list {
	gap: 24px;
}
.group_item {
	width: calc((100% - 24px) / 2);
	background: #fff;
	border-radius: 16px;
}
.group_img img {
	width: 100%;
	border-radius: 16px 16px 0 0;
}
.group_text {
	padding: 16px;
	text-align: center;
}
.group_text h3 {
	margin-bottom: 4px;
	font-family: var(--font-serif);
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.5;
}
.group_text p span {
	position: relative;
	padding-left: 15px;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 1.5;
}
.group_text p span::before {
  content: "";
  display: block;
  position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
  width: 11px;
  height: 16px;
  background: url("../img/home/map.svg") no-repeat center center;
  background-size: cover;
}
@media screen and (max-width: 1000px) {
	.group_ill {
		top: 43px;
	}
	.group_text h3 {
		font-size: 18px;
	}
	.group_text p span {
		font-size: 14px;
	}
}
@media screen and (max-width: 900px) {
	.group_item {
		width: 100%;
		border-radius: 8px;
	}
	.group_item a {
		display: flex;
		align-items: center;
	}
	.group_img {
		width: 50%;
	}
	.group_img img {
		border-radius: 8px 0 0 8px;
	}
	.group_text {
		width: 50%;
	}
}
@media screen and (max-width: 750px) {
	.group {
		padding-top: 64px;
		padding-bottom: 80px;
		background: url("../img/home/sp_group_bg.webp") no-repeat top center;
		background-size: cover;
	}
	.group_ill {
		top: 87px;
	}
	.group_text h3 {
		font-size: 14px;
	}
	.group_text p span {
		font-size: 14px;
	}
}
@media screen and (max-width: 414px) {
	.group_img {
		width: 48%;
	}
	.group_text {
		width: 52%;
	}
	.group_text h3 {
		font-size: 13px;
	}
	.group_text p span {
		font-size: 13px;
	}
}
/*-----------------------------------------------------
	#message
------------------------------------------------------*/
#message {
	position: relative;
	z-index: 0;
	padding-top: 80px;
	padding-bottom: 215px;
	overflow-x: hidden;
}
#message::after {
  content: "";
  display: block;
  position: absolute;
	bottom: 0;
	right: 0;
	transform: translateY(-50%);
	z-index: -1;
  width: 188px;
  height: 185px;
  background: url("../img/home/message_illust.svg") no-repeat center center;
  background-size: cover;
}
.message_bg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: calc(100% - 50px);
	border-radius: 0 0 80px 0;
}
.message_bg img {
	width: 100%;
	height: 920px;
	object-fit: cover;
	border-radius: 0 0 80px 0;
}
.message_box {
	justify-content: space-between;
	align-items: center;
}
.message_img {
	width: 48%;
}
.message_img img {
	width: 100%;
	border-radius: 40px;
}
.message_content {
	width: 46.8%;
}
.message_content .section_title {
	margin-bottom: 16px;
	text-align: center;
}
.message_content .section_title p.section_title_en {
	position: relative;
	margin-bottom: 8px;
	font-family: "Cardo", serif;
	font-style: italic;
	font-size: 80px;
	line-height: 1.25;
	letter-spacing: 0.1em;
}
.message_content .section_title p.section_title_en::after {
  content: "";
  display: block;
  position: absolute;
	top: 62%;
	right: -180px;
	transform: translateY(-50%);
  width: 250px;
  height: 1px;
  background: var(--text-color);
}
.message_content .section_title h2 {
	font-family: var(--font-serif);
	font-size: 24px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.1em;
}
.message_content h3 img {
	max-width: 100%;
}
.message_content p {
	margin-bottom: 12px;
	font-family: var(--font-sans);
	font-size: 20px;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.1em;
}
.message_content p span {
	margin-left: 5px;
	font-size: 24px;
	line-height: 1.7;
}
.message_content p strong {
	border-bottom: 1px dotted var(--text-color);
	font-family: var(--font-serif);
	font-size: 24px;
	font-weight: 500;
	line-height: 1.7;
}
.message_content a {
	display: block;
	width: 280px;
	margin-top: 40px;
	margin-right: auto;
	margin-left: auto;
	padding: 13px 10px;
	background: #fff;
	border-radius: 9999px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.1em;
	text-align: center;
}
.message_content a span {
	position: relative;
	padding-right: 42px;
}
.message_content a span::after {
  content: "";
  display: block;
  position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background: url("../img/home/message_arrow.svg") no-repeat center center;
  background-size: cover;
}
.sp_message_img {
	display: none;
}
@media screen and (max-width: 1240px) {
	.message_img {
		display: none;
	}
	.sp_message_img {
		display: block;
	}
	#message {
		margin-bottom: 64px;
		padding-bottom: 64px;
		background: url("../img/home/message_bg.webp") no-repeat center center;
		background-size: cover;
		overflow: visible;
	}
	#message::before {
		content: "";
		display: block;
		position: absolute;
		top: 263px;
		right: 0;
		transform: translateY(-50%);
		width: 31%;
		height: 1px;
		background: var(--text-color);
	}
	#message::after {
		bottom: -150px;
	}
	.message_bg {
		display: none;
	}
	.message_content {
		width: 80%;
		margin: 0 auto;
	}
	.message_content .section_title {
		margin-bottom: 40px;
	}
	.message_content .section_title p.section_title_en::after {
		display: none;
	}
	.sp_message_img {
		width: 100%;
		margin-bottom: 24px;
		border-radius: 40px;
	}
	.message_content h3 {
		text-align: center;
	}
	.message_content h3 img {
		max-width: 100%;
	} 
}
@media screen and (max-width: 750px) {
	#message {
		padding-top: 64px;
	}
	#message::before {
		top: 171px;
		width: 26%;
	}
	#message::after {
		bottom: -90px;
		width: 80px;
		height: 93px;
		background: url("../img/home/sp_message_illust.svg") no-repeat center center;
		background-size: cover;
	}
	.message_content {
		width: 100%;
	}
	.message_content .section_title img {
		width: 61px;
		height: auto;
	}
	.message_content .section_title p.section_title_en {
		margin-bottom: 0;
		font-size: 48px;
	}
	.sp_message_img {
		width: 100%;
		margin-bottom: 24px;
		border-radius: 40px;
	}
	.message_content p {
		font-size: 16px;
	}
	.message_content p.name {
		margin-bottom: 24px;
	}
	.message_content p span {
		font-size: 20px;
	}
	.message_content p strong {
		font-size: 20px;
	}
	.message_content a {
		width: 240px;
		padding: 9px 10px;
		font-size: 14px;
	}
	.message_content a span {
		padding-right: 34px;
	}
	.message_content a span::after {
		width: 24px;
		height: 24px;
	}
}
@media screen and (max-width: 500px) {
	#message::before {
		width: 18%;
	}
}
/*-----------------------------------------------------
	#safety #worth
------------------------------------------------------*/
#safety {
	position: relative;
	padding: 114px 0 80px;
	background: #FFE996;
	background: linear-gradient(20deg,rgba(255, 229, 226, 1) 0%, rgba(255, 233, 150, 1) 100%);
}
#worth {
	position: relative;
	padding: 114px 0 80px;
	background: #C9FBF7;
	background: linear-gradient(90deg, rgba(201, 251, 247, 1) 0%, rgba(177, 244, 215, 1) 100%);
}
.safety_bg {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	mix-blend-mode: multiply;
}
.worth_bg {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	mix-blend-mode: multiply;
	text-align: right;
}
.safety_bg img, .worth_bg img {
	width: 50%;
}
.safety, .worth {
	justify-content: space-between;
}
.order1 {
	order: 1;
}
.order2 {
	order: 2;
}
#safety .section_title, #worth .section_title {
	width: 18.9%;
	text-align: center;
}
#safety .section_title p {
	font-family: "Cardo", serif;
	font-style: italic;
	font-weight: 400;
	font-size: 40px;
	line-height: 1.25;
	letter-spacing: 0.1em;
	color: #F29289;
}
#worth .section_title p {
	font-family: "Cardo", serif;
	font-style: italic;
	font-weight: 400;
	font-size: 40px;
	line-height: 1.25;
	letter-spacing: 0.1em;
	color: #55E1BF;
}
#safety .section_title h2, #worth .section_title h2 {
	margin-bottom: 3px;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.1em;
}
#safety .section_title h2 span, #worth .section_title h2 span {
	display: block;
	font-family: var(--font-serif);
	font-size: 80px;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0.05em;
}
.point_grid {
	width: 77.5%;
	gap: 58px 8px;
}
.point_item {
	position: relative;
	width: calc((100% - 16px) / 3);
	height: 280px;
	padding-bottom: 70px;
	background: #fff;
	border-radius: 8px;
	text-align: center;
}
.point_item h3 {
	width: 81%;
	margin: -34px auto 10px;
	padding: 14px 10px;
	background: #ED9FDE;
	background: linear-gradient(90deg, rgba(237, 159, 222, 1) 0%, rgba(239, 138, 182, 1) 100%);
	border-radius: 9999px;
	font-family: var(--font-serif);
	font-size: 26px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.1em;
	color: #fff;
}
.point_item h3.grad2 {
	background: #CC91DA;
	background: linear-gradient(90deg, rgba(204, 145, 218, 1) 0%, rgba(121, 130, 226, 1) 100%);
}
.point_item h3.grad3 {
	background: #79D4E6;
	background: linear-gradient(90deg, rgba(121, 212, 230, 1) 0%, rgba(156, 180, 239, 1) 100%);
}
.point_item h3.grad4 {
	background: #77DAD7;
	background: linear-gradient(90deg, rgba(119, 218, 215, 1) 0%, rgba(127, 212, 137, 1) 100%);
}
.point_item p {
	font-family: var(--font-serif);
	font-size: 24px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: 0.05em;
}
.point_item p span.text88 {
	padding: 0 5px;
	font-family: "Cardo", serif;
	font-style: italic;
	font-size: 88px;
}
.point_item p span.text80 {
	padding: 0 5px;
	font-family: "Cardo", serif;
	font-style: italic;
	font-size: 80px;
}
.point_item p span.text56 {
	padding: 0 5px;
	font-family: "Cardo", serif;
	font-style: italic;
	font-size: 56px;
}
.point_item p span.text22 {
	font-size: 22px;
}
.point_item p span.text24 {
	font-size: 24px;
}
.point_item p span.text26 {
	font-size: 26px;
}
.point_item p span.text28 {
	font-size: 28px;
}
.point_item p span.text32 {
	font-size: 32px;
}
.point_item p span.text40 {
	font-size: 40px;
}
.point_item p span.text14 {
	font-size: 14px;
}
.pink {
	color: #E99AB1;
}
.murasaki {
	color: #D5A8E8;
}
.blue {
	color: #80C4EE;
}
.green {
	color: #7ED595;
}
.point_icon {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding-bottom: 24px;
	text-align: center;
}
@media screen and (max-width: 1200px) {
	.safety_bg {
		top: 0;
		left: 0;
		transform: none;
	}
	.worth_bg {
		top: 0;
		right: 0;
		transform: none;
	}
	.safety_bg img, .worth_bg img {
		width: 80%;
	}
	#safety .section_title, #worth .section_title {
		width: 100%;
		margin-bottom: 58px;
	}
	.point_grid {
		width: 100%;
		gap: 58px 8px;
	}
	.order1 {
		order: 2;
	}
	.order2 {
		order: 1;
	}
}
@media screen and (max-width: 1000px) {
	.point_item {
		width: calc((100% - 8px) / 2);
	}
}
@media screen and (max-width: 750px) {
	#safety, #worth {
		padding: 64px 0;
	}
	.safety_bg img, .worth_bg img {
		width: 90%;
	}
	#safety .section_title, #worth .section_title {
		margin-bottom: 44px;
	}
	#safety .section_title p, #worth .section_title p {
		font-size: 28px;
	}
	#safety .section_title h2, #worth .section_title h2 {
		font-size: 16px;
	}
	#safety .section_title h2 span, #worth .section_title h2 span {
		font-size: 56px;
	}
	.point_grid {
		gap: 27px 8px;
	}
	.point_item {
		height: auto;
		padding-bottom: 97px;
	}
	.point_item h3 {
		width: 95%;
		margin: -19px auto 10px;
		padding: 4px 10px;
		font-size: 20px;
	}
	.point_item p {
		font-size: 15px;
	}
	.point_item p span.text88 {
		font-size: 52px;
	}
	.point_item p span.text80 {
		font-size: 52px;
	}
	.point_item p span.text56 {
		font-size: 40px;
	}
	.point_item p span.text22 {
		font-size: 18px;
	}
	.point_item p span.text24 {
		font-size: 15px;
	}
	.point_item p span.text26 {
		font-size: 16px;
	}
	.point_item p span.text28 {
		font-size: 22px;
	}
	.point_item p span.text32 {
		font-size: 20px;
	}
	.point_item p span.text40 {
		font-size: 28px;
	}
	.point_item p span.text14 {
		font-size: 12px;
	}
	.point_icon {
		padding-bottom: 30px;
	}
}
/*-----------------------------------------------------
	#photo
------------------------------------------------------*/
#photo {
	position: relative;
	z-index: 0;
	padding-top: 64px;
	padding-bottom: 136px;
	background: #FFF9EF;
}
#photo::after {
  content: "";
  display: block;
  position: absolute;
	top: 10px;
	right: 0;
	z-index: -1;
  width: 108px;
  height: 134px;
  background: url("../img/home/photo_illust.svg") no-repeat center center;
  background-size: cover;
}
#photo h2 {
	margin-bottom: 24px;
	font-size: 24px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.05em;
	text-align: center;
}
#photo .swiper_clip {
	position: relative;
}
#photo .swiper-slide {
  position: relative;
	border: none;
}
#photo .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
	object-fit: cover;
	border-radius: 8px;
}
.swiper-button-next:after, .swiper-button-prev:after {
  display: none;
}
#photo .slide_button {
	position: absolute;
	top: calc(50% + 24px);
	left: 0;
	transform: translateY(-50%);
	width: 100%;
	z-index: 10;
}
#photo .swiper-button-next,
#photo .swiper-button-prev
{
	cursor: pointer;
  z-index: 11;
}
.swiper-button-next {
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
}
.swiper-button-prev {
	position: absolute;
	top: 50%;
	left: 10px;
	transform: translateY(-50%);
}
@media screen and (max-width: 750px) {
	#photo {
		padding-top: 24px;
		padding-bottom: 96px;
	}
	#photo::after {
		display: none;
	}
	#photo .wrap {
		width: 100%;
	}
	#photo h2 {
		margin-bottom: 24px;
		font-size: 20px;
	}
}
/*-----------------------------------------------------
	#schedule
------------------------------------------------------*/
#schedule {
	position: relative;
	z-index: 0;
	padding-top: 68px;
	padding-bottom: 80px;
}
#schedule .midasi_01 .en_title {
	color: #F29289;
}
.stripe {
	position: absolute;
	top: 152px;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 64px;
	background-image: url("../img/home/stripe.webp");
	background-repeat: repeat-x;
  background-position: left top;
}
#schedule .wrap {
	width: 1000px;
}
.tab_buttons {
  display: flex;
	justify-content: center;
  gap: 16px;
  margin-bottom: 24px;
}
.tab_button {
	width: 148px;
  padding: 6.5px 10px;
  background: #79D4E6;
	background: linear-gradient(90deg, rgba(121, 212, 230, 1) 0%, rgba(156, 180, 239, 1) 86%);
	border: none;
	border-radius: 9999px;
	font-family: "Cardo", serif;
	font-style: italic;
	font-size: 20px;
	letter-spacing: 0.1em;
  color: #fff;
  cursor: pointer;
  transition: .3s;
}
.tab_button.green {
	background: #77DAD7;
	background: linear-gradient(90deg, rgba(119, 218, 215, 1) 0%, rgba(127, 212, 137, 1) 86%);
}
.tab_button.yellow {
	background: #EED46A;
	background: linear-gradient(90deg, rgba(238, 212, 106, 1) 0%, rgba(230, 188, 96, 1) 86%);
}
.tab_content {
  display: none;
	padding: 80px;
	background: #fff;
	border-radius: 40px;
}
.tab_content img {
  width: 100%;
	margin-bottom: 56px;
}
.tab_content.is-active {
  display: block;
}
.tab_content .btn_more {
	display: block;
	position: relative;
	width: 280px;
	margin: 0 auto;
	padding: 19px 10px;
	background: #79D4E6;
	background: linear-gradient(90deg, rgba(121, 212, 230, 1) 0%, rgba(156, 180, 239, 1) 86%);
	border-radius: 9999px;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1;
	color: #fff;
	text-align: center;
}
.tab_content.green .btn_more {
	background: #77DAD7;
	background: linear-gradient(90deg, rgba(119, 218, 215, 1) 0%, rgba(127, 212, 137, 1) 86%);
}
.tab_content.yellow .btn_more {
	background: #EED46A;
	background: linear-gradient(90deg, rgba(238, 212, 106, 1) 0%, rgba(230, 188, 96, 1) 86%);
}
.tab_content .btn_more::after {
  content: "";
  display: block;
  position: absolute;
	top: 50%;
	right: 24px;
	transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background: url("../img/home/btn_more_blue.svg") no-repeat center center;
  background-size: cover;
}
.tab_content.green .btn_more::after {
  background: url("../img/home/btn_more_green.svg") no-repeat center center;
  background-size: cover;
}
.tab_content.yellow .btn_more::after {
  background: url("../img/home/btn_more_yellow.svg") no-repeat center center;
  background-size: cover;
}
@media screen and (max-width: 1240px) {
	#schedule .wrap {
		width: calc(100% - 80px);
	}
	.tab_content .btn_more {
		font-size: 16px;
	}
	.tab_content .btn_more::after {
		right: 18px;
		width: 16px;
		height: 16px;
	}
}
@media screen and (max-width: 900px) {
	#schedule .midasi_01 .en_title {
		font-size: 70px;
	}
}
@media screen and (max-width: 750px) {
	#schedule {
		padding-top: 64px;
	}
	#schedule .midasi_01 {
		margin-bottom: 24px;
	}
	#schedule .midasi_01 .en_title {
		font-size: 48px;
	}
	.stripe {
		top: 129px;
		height: 17px;
		background-image: url("../img/home/sp_stripe.webp");
		background-repeat: repeat-x;
		background-position: left top;
	}
	#schedule .wrap {
		width: calc(100% - 32px);
	}
	.tab_buttons {
		gap: 8px;
		margin-bottom: 24px;
	}
	.tab_button {
		width: 116px;
		padding: 6.5px 10px;
		font-size: 18px;
	}
	.tab_content {
		padding: 24px 0;
		border-radius: 16px;
	}
	.tab_content img {
		width: 100%;
		margin-bottom: 24px;
	}
	.tab_content .btn_more {
		padding: 12px 10px;
		font-size: 16px;
	}
	.tab_content .btn_more::after {
		right: 10px;
	}
}
@media screen and (max-width: 500px) {
	#schedule .midasi_01 .en_title {
		font-size: 37px;
	}
	.stripe {
		top: 119px;
	}
	.tab_content .btn_more {
		font-size: 14px;
	}
	.tab_content .btn_more::after {
		right: 5px;
	}
}
/*-----------------------------------------------------
	#interview
------------------------------------------------------*/
#interview {
	position: relative;
	z-index: 0;
	padding-top: 80px;
	padding-bottom: 64px;
}
#interview .inner {
	position: relative;
	width: 932px;
	margin: 0 auto;
}
.interview_illust {
	position: absolute;
	bottom: -91px;
	right: -76px;
	z-index: -1;
}
.interview_left {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 320px;
}
@media screen and (max-width: 1600px) {
	.interview_left {
		opacity: 25%;
	}
}
.interview_left img {
	width: 100%;
}
.interview_head {
	justify-content: space-between;
	margin-bottom: 34px;
}
#interview .inner .section_title {
	width: 34%;
	text-align: center;
}
#interview .inner .section_title p.section_title_en {
	font-family: "Cardo", serif;
	font-style: italic;
	font-size: 55px;
	line-height: 1.25;
	letter-spacing: 0.1em;
}
#interview .inner .section_title h2 {
	margin-bottom: 8px;
	font-family: var(--font-serif);
	font-size: 36px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.1em;
	color: #F29289;
}
#interview .inner .section_title p {
	margin-bottom: 8px;
	font-size: 18px;
	line-height: 1.5;
	letter-spacing: 0.1em;
}
.tabs_02 {
	width: 62%;
}
.tab_buttons_02 {
  display: flex;
  gap: 12px;
  margin-bottom: 24px;
}
.tab_button_02 {
	width: calc((100% - 36px) / 4);
  padding: 43px 0 30px;
  background: #fff;
	border: none;
	border-radius: 8px;
  color: #fff;
	text-align: center;
  cursor: pointer;
  transition: .3s;
}
.tab_button_02 img {
	width: 80px;
  height: 80px;
}
.tab_button_02 p {
	width: 96px;
	margin: 8px auto 0;
	padding: 2.5px 5px;
	border-radius: 9999px;
	font-family: "Cardo", serif;
	font-style: italic;
	font-size: 20px;
	line-height: 1.25;
	letter-spacing: 0.1em;
}
.tab_button_02.blue p {
	background: #79D4E6;
	background: linear-gradient(90deg, rgba(121, 212, 230, 1) 0%, rgba(156, 180, 239, 1) 86%);
	color: #fff;
}
.tab_button_02.blue.is-active, .staff_tag.blue, .staff_link.blue, .staff_link_02.blue {
	background: #79D4E6;
	background: linear-gradient(90deg, rgba(121, 212, 230, 1) 0%, rgba(156, 180, 239, 1) 86%);
}
.tab_button_02.blue.is-active p {
	background: #fff;
	color: #628CE2;
}
.tab_button_02.green p {
	background: #77DAD7;
	background: linear-gradient(90deg, rgba(119, 218, 215, 1) 0%, rgba(127, 212, 137, 1) 86%);
	color: #fff;
}
.tab_button_02.green.is-active, .staff_tag.green, .staff_link.green, .staff_link_02.green {
	background: #77DAD7;
	background: linear-gradient(90deg, rgba(119, 218, 215, 1) 0%, rgba(127, 212, 137, 1) 86%);
}
.tab_button_02.green.is-active p {
	background: #fff;
	color: #3FAC61;
}
.tab_button_02.yellow p {
	background: #EED46A;
	background: linear-gradient(90deg, rgba(238, 212, 106, 1) 0%, rgba(230, 188, 96, 1) 86%);
	color: #fff;
}
.tab_button_02.yellow.is-active, .staff_tag.yellow, .staff_link.yellow, .staff_link_02.yellow {
	background: #EED46A;
	background: linear-gradient(90deg, rgba(238, 212, 106, 1) 0%, rgba(230, 188, 96, 1) 86%);
}
.tab_button_02.yellow.is-active p {
	background: #fff;
	color: #BF8F5D;
}
.tab_button_02.pink p {
	background: #F4AEB0;
	background: linear-gradient(90deg, rgba(244, 174, 176, 1) 0%, rgba(239, 138, 182, 1) 86%);
	color: #fff;
}
.tab_button_02.pink.is-active, .staff_tag.pink, .staff_link.pink, .staff_link_02.pink, .staff_link_03 {
	background: #F4AEB0;
	background: linear-gradient(90deg, rgba(244, 174, 176, 1) 0%, rgba(239, 138, 182, 1) 86%);
}
.tab_button_02.pink.is-active p {
	background: #fff;
	color: #C06D8C;
}
.tab_content_02 {
  display: none;
}
.tab_content_02.is-active {
  display: block;
}
.staff_top {
	justify-content: space-between;
	position: relative;
	margin-bottom: 16px;
	padding: 40px 40px 80px;
	background: #fff;
	border-radius: 16px;
}
.staff_top_img {
	width: 26.7%;
	text-align: center;
}
.staff_top_img img {
	width: 100%;
}
.staff_top_text {
	width: 68.5%;
}
.staff_tag {
	display: inline-block;
	margin-bottom: 4px;
	padding: 2.5px 23px;
	border-radius: 9999px;
	font-family: "Cardo", serif;
	font-style: italic;
	font-size: 14px;
	line-height: 1.25;
	letter-spacing: 0.1em;
	color: #fff;
}
.staff_name {
	margin-bottom: 16px;
	font-family: var(--font-serif);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.1em;
}
.staff_top_text h3 {
	margin-bottom: 8px;
	font-family: var(--font-serif);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.1em;
}
.staff_top_text p {
	font-size: 20px;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.1em;
}
.staff_top_link {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	text-align: right;
}
.staff_link {
	display: inline-block;
	position: relative;
	width: 180px;
	padding: 16.5px 0;
	border-radius: 500px 0 190px 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.1em;
	color: #fff;
	text-align: center;
}
.staff_link::after {
  content: "";
  display: block;
  position: absolute;
	top: 50%;
	right: 6px;
	transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background: url("../img/home/btn_more_blue.svg") no-repeat center center;
  background-size: cover;
}
.staff_link.green::after {
  background: url("../img/home/btn_more_green.svg") no-repeat center center;
  background-size: cover;
}
.staff_link.yellow::after {
  background: url("../img/home/btn_more_yellow.svg") no-repeat center center;
  background-size: cover;
}
.staff_link.pink::after {
  background: url("../img/home/btn_more_pink.svg") no-repeat center center;
  background-size: cover;
}
.staff_bottom {
	gap: 16px;
}
.staff_bottom_child {
	justify-content: center;
	align-items: center;
	gap: 17px;
	width: calc((100% - 32px) / 3);
	padding: 27px 20px;
	background: #fff;
	border-radius: 16px;
	text-align: center;
}
.staff_bottom_child img {
	width: 80px;
	height: 80px;
}
.staff_bottom_child h4 {
	width: 100%;
	font-family: var(--font-serif);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.1em;
}
.staff_link_02 {
	display: block;
	width: 100%;
	padding: 8px 10px;
	border-radius: 9999px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.1em;
	color: #fff;
	text-align: center;
}
.staff_link_02 span {
	position: relative;
	padding-right: 34px;
}
.staff_link_02 span::after {
  content: "";
  display: block;
  position: absolute;
	top: 50%;
	right: 6px;
	transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: url("../img/home/btn_more_blue.svg") no-repeat center center;
  background-size: cover;
}
.staff_link_02.green span::after {
  background: url("../img/home/btn_more_green.svg") no-repeat center center;
  background-size: cover;
}
.staff_link_02.yellow span::after {
  background: url("../img/home/btn_more_yellow.svg") no-repeat center center;
  background-size: cover;
}
.staff_link_02.pink span::after {
  background: url("../img/home/btn_more_pink.svg") no-repeat center center;
  background-size: cover;
}
#interview .inner .center {
	margin-top: 48px;
}
.staff_link_03 {
	display: block;
	position: relative;
	width: 400px;
	margin: 0 auto;
	padding: 16.5px 10px;
	border-radius: 9999px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.1em;
	color: #fff;
	text-align: center;
}
.staff_link_03::after {
  content: "";
  display: block;
  position: absolute;
	top: 50%;
	right: 37px;
	transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background: url("../img/home/btn_more_pink.svg") no-repeat center center;
  background-size: cover;
}
@media screen and (max-width: 1200px) {
	.interview_illust {
		right: 0;
	}
}
@media screen and (max-width: 1000px) {
	#interview {
		padding-top: 0;
	}
	#interview .inner {
		width: calc(100% - 80px);
	}
	#interview .inner .section_title {
		width: 100%;
		margin-bottom: 24px;
	}
	.tabs_02 {
		width: 100%;
	}
}
@media screen and (max-width: 750px) {
	#interview {
		padding-bottom: 80px;
		overflow: hidden;
	}
	#interview .inner {
		width: calc(100% - 40px);
	}
	.interview_illust {
		bottom: -51px;
		right: -19px;
	}
	.interview_head {
		margin-bottom: 0;
	}
	.interview_left {
		width: 150px;
	}
	#interview .inner .section_title p.section_title_en {
		font-size: 48px;
	}
	#interview .inner .section_title h2 {
		font-size: 24px;
	}
	#interview .inner .section_title p {
		font-size: 16px;
	}
	.tabs_02 {
		width: 100%;
	}
	.tab_buttons_02 {
		gap: 8px;
	}
	.tab_button_02 {
		width: calc((100% - 24px) / 4);
		padding: 12px;
	}
	.tab_button_02 img {
		width: 64px;
		height: 64px;
	}
	.tab_button_02 p {
		width: 100%;
		padding: 4.5px 5px;
		font-size: 12px;
	}
	.staff_top {
		justify-content: flex-start;
		gap: 16px;
		padding: 24px 16px 48px;
	}
	.staff_top_img {
		width: 120px;
		text-align: center;
	}
	.staff_top_img img {
		width: 100%;
		height: auto;
	}
	.staff_top_text {
		width: calc(100% - 136px);
	}
	.staff_tag {
		padding: 4px 24px;
		font-size: 12px;
	}
	.staff_name {
		margin-bottom: 8px;
		font-size: 16px;
	}
	.staff_top_text h3 {
		margin-bottom: 0;
		font-size: 20px;
	}
	.staff_link {
		padding: 10px 0;
		font-size: 14px;
	}
	.staff_link::after {
		right: 16px;
		width: 24px;
		height: 24px;
	}
	.staff_bottom_child {
		justify-content: flex-start;
		gap: 16px;
		width: 100%;
		padding: 24px 16px;
	}
	.staff_bottom_img {
		width: 120px;
		text-align: center;
	}
	.staff_bottom_img img {
		width: 100%;
		height: auto;
	}
	.staff_bottom_text {
		width: calc(100% - 136px);
		text-align: left;
	}
	.staff_bottom_child h4 {
		width: auto;
		font-size: 20px;
	}
	.staff_link_02 {
		width: 240px;
		margin: 0 auto;
		padding: 11px 10px;
	}
	#interview .inner .center {
		margin-top: 24px;
	}
	.staff_link_03 {
		width: 358px;
		max-width: 100%;
		padding: 11px 10px;
		font-size: 14px;
	}
	.staff_link_03::after {
		right: 20px;
		width: 24px;
		height: 24px;
	}
}

.interview_bottom {
	width: 100%;
	height: 180px;
}
.interview_bottom img {
	width: 100%;
	height: 180px;
	object-fit: cover;
	object-position: top center;
}
@media screen and (max-width: 750px) {
	.interview_bottom {
		height: 180px;
		padding-top: 80px;
	}
	.interview_bottom img {
		height: 100px;
	}
}
/*-----------------------------------------------------
	#entry
------------------------------------------------------*/
#entry {
	position: relative;
	z-index: 0;
	padding-top: 28px;
	padding-bottom: 120px;
	background: #FDEFDB;
}
#entry::before {
  content: "";
  display: block;
  position: absolute;
	top: 25px;
	left: 0;
	z-index: -1;
  width: 155px;
  height: 188px;
  background: url("../img/home/entry_illust_01.svg") no-repeat center center;
  background-size: cover;
}
#entry::after {
  content: "";
  display: block;
  position: absolute;
	top: -65px;
	right: 0;
	z-index: -1;
  width: 218px;
  height: 194px;
  background: url("../img/home/entry_illust_02.svg") no-repeat center center;
  background-size: cover;
}
#entry h2 {
	position: relative;
	margin-bottom: 46px;
	padding: 19px 10px;
	background: #fff;
	border-radius: 16px;
	font-family: var(--font-serif);
	font-size: 28px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.1em;
	text-align: center;
}
#entry h2::after {
  content: "";
  display: block;
  position: absolute;
	bottom: -27px;
	left: 50%;
	transform: translateX(-50%);
  width: 16px;
  height: 28px;
  background: url("../img/home/entry_arrow.svg") no-repeat center center;
  background-size: cover;
}
#entry h2 span {
	border-bottom: 1px dotted #F3761C;
	color: #F3761C;
}
.entry_box {
	justify-content: center;
	gap: 25px;
	margin-bottom: 40px;
}
#entry p {
	margin-bottom: 40px;
	font-size: 18px;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.1em;
	text-align: center;
}
#entry h3 {
	margin-bottom: 40px;
	padding: 8px;
	background: #E0914C;
	text-align: center;
}
#entry h3 span {
	display: block;
	padding: 17px 0;
	border: 1px solid #fff;
	font-family: var(--font-serif);
	font-size: 22px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.1em;
	text-align: center;
	color: #fff;
}
#entry .center {
	font-size: 15px;
	font-weight: 400;
	line-height: 1.7;
	letter-spacing: 0.1em;
}
.entry_link {
	display: block;
	width: 400px;
	margin: 0 auto 12px;
	padding: 16.5px 10px;
	background: #F39F1C;
	background: linear-gradient(90deg, rgba(243, 159, 28, 1) 0%, rgba(243, 118, 28, 1) 100%);
	border-radius: 9999px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.1em;
	color: #fff;
	text-align: center;
}
.entry_link span {
	position: relative;
	padding-right: 42px;
	padding-left: 34px;
}
.entry_link span::before {
  content: "";
  display: block;
  position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
  width: 24px;
  height: 20px;
  background: url("../img/home/entry_icon.svg") no-repeat center center;
  background-size: cover;
}
.entry_link span::after {
  content: "";
  display: block;
  position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background: url("../img/home/btn_more_orange.svg") no-repeat center center;
  background-size: cover;
}
@media screen and (max-width: 1000px) {
	#entry p {
		text-align: left;
	}
	.entry_box {
		flex-direction: column;
		gap: 0;
		text-align: center;
	}
}
@media screen and (max-width: 750px) {
	#entry {
		padding-top: 24px;
		padding-bottom: 80px;
	}
	#entry::before {
		top: -64px;
		width: 62px;
		height: 94px;
		background: url("../img/home/sp_entry_illust_01.svg") no-repeat center center;
		background-size: cover;
	}
	#entry::after {
		top: -64px;
		z-index: -1;
		width: 61px;
		height: 97px;
		background: url("../img/home/sp_entry_illust_02.svg") no-repeat center center;
		background-size: cover;
	}
	#entry h2 {
		padding: 24px 10px;
		border-radius: 8px;
	}
	#entry h2::after {
		bottom: -24px;
		width: 12px;
		height: 24px;
	}
	.entry_box {
		margin-bottom: 24px;
	}
	#entry p {
		margin-bottom: 24px;
		font-size: 16px;
	}
	#entry h3 span {
		padding: 5px 0;
		font-size: 17px;
	}
	#entry .center {
		font-size: 14px;
	}
	.entry_link {
		width: 358px;
		max-width: 100%;
		padding: 12px 10px;
		font-size: 16px;
	}
}


/*-----------------------------------------------------
	#instagram
------------------------------------------------------*/
#instagram {
	position: relative;
	z-index: 0;
  padding-top: 80px;
	padding-bottom: 80px;
	background: #fff;
}
#instagram::after {
  content: "";
  display: block;
  position: absolute;
	top: -50px;
	right: 36px;
	z-index: -1;
  width: 175px;
  height: 246px;
  background: url("../img/home/insta_illust.svg") no-repeat center center;
  background-size: cover;
}
#instagram h2 {
	margin-bottom: 8px;
	font-family: var(--font-serif);
	font-size: 40px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.1em;
	color: #F29289;
}
#instagram h2::before {
	display: none;
}
#instagram p {
	margin-bottom: 5px;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.1em;
}
.insta_b img {
	max-width: 100%;
}
#instagram .center {
	margin-top: 60px;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.7;
	letter-spacing: 0.1em;
}
#instagram .center .insta_link {
	display: block;
	width: 400px;
	margin: 0 auto 12px;
	padding: 1px;
	background: #E48D8B;
	background: linear-gradient(90deg, rgba(228, 141, 139, 1) 0%, rgba(207, 170, 125, 1) 44%, rgba(237, 209, 119, 1) 100%);
	border-radius: 9999px;
}
#instagram .center .insta_link a {
	display: block;
	padding: 12px;
	background: #fff;
	border-radius: 9999px;
	font-family: "Cardo", serif;
	font-style: italic;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: 0.05em;
}
#instagram .center .insta_link a span {
	display: inline-block;
	position: relative;
	padding-left: 48px;
}
#instagram .center .insta_link a span::after {
  content: "";
  display: block;
  position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background: url("../img/home/insta_icon.png") no-repeat center center;
  background-size: cover;
}
@media screen and (max-width: 750px) {
	#instagram {
		padding-top: 64px;
		padding-bottom: 64px;
	}
	#instagram::after {
		top: -40px;
		right: 0;
		width: 71px;
		height: 123px;
		background: url("../img/home/sp_insta_illust.svg") no-repeat center center;
		background-size: cover;
	}
	#instagram h2 {
		font-size: 24px;
	}
	#instagram p {
		font-size: 16px;
	}
	.insta_b img {
		width: 100%;
	}
	#instagram .center {
		margin-top: 24px;
		font-size: 14px;
	}
	#instagram .center .insta_link {
		width: 358px;
		max-width: 100%;
	}
	#instagram .center .insta_link a {
		font-size: 20px;
	}
	#instagram .center .insta_link a span {
		padding-left: 40px;
	}
	#instagram .center .insta_link a span::after {
		width: 24px;
		height: 24px;
	}
}

@media screen and (max-width: 414px) {
	#instagram p {
		font-size: 14px;
	}
}

/*-----------------------------------------------------
	#book
------------------------------------------------------*/
#book {
	position: relative;
	z-index: 0;
  padding-top: 80px;
	padding-bottom: 70px;
	background: url("../img/home/book_bg.webp") no-repeat center center;
	background-size: cover;
	text-align: center;
}
#book::after {
  content: "";
  display: block;
  position: absolute;
	top: -40px;
	left: 40px;
  width: 198px;
  height: 134px;
  background: url("../img/home/book_illust.svg") no-repeat center center;
  background-size: cover;
}
#book img {
	max-width: 100%;
}
#book h2 {
	margin-top: 8px;
	margin-bottom: 8px;
	font-family: var(--font-serif);
	font-size: 40px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.1em;
}
#book h2 span {
	color: #F29289;
}
#book p {
	margin-bottom: 50px;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.1em;
}
a.book_link {
	display: block;
	position: relative;
	background: #F4AEB0;
	background: linear-gradient(90deg, rgba(244, 174, 176, 1) 0%, rgba(239, 138, 182, 1) 86%);
	width: 280px;
	margin: 50px auto 0;
	padding: 12px 10px;
	border-radius: 9999px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.1em;
	color: #fff;
	text-align: center;
}
a.book_link::after {
  content: "";
  display: block;
  position: absolute;
	top: 50%;
	right: 11px;
	transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background: url("../img/home/btn_more_pink.svg") no-repeat center center;
  background-size: cover;
}

@media screen and (max-width: 750px) {
	#book {
		padding-top: 64px;
		padding-bottom: 64px;
		background: url("../img/home/sp_book_bg.webp") no-repeat center center;
		background-size: cover;
	}
	#book::after {
		top: -20px;
		left: 0;
		width: 81px;
		height: 67px;
		background: url("../img/home/sp_book_illust.svg") no-repeat center center;
		background-size: cover;
	}
	.midasi_icon img {
		width: 61px;
		height: auto;
	}
	#book h2 {
		font-size: 36px;
	}
	#book p {
		margin-bottom: 24px;
		font-size: 16px;
	}
	a.book_link {
		width: 240px;
		margin: 24px auto 0;
		padding: 12px 10px;
		font-size: 14px;
	}
	a.book_link::after {
		right: 11px;
		width: 24px;
		height: 24px;
	}
}
@media screen and (max-width: 414px) {
	#book h2 {
		font-size: 32px;
	}
}

#sapo {
	padding: 40px 0 80px;
}
#sapo img {
	width: 100%;
}

@media screen and (max-width: 750px) {
	#sapo {
		padding: 24px 0 64px;
	}
}




