/* ==========================================================================
   fv (First View)
   ========================================================================== */
#fv {
	width: 100%;
	padding-top: 80px;
	padding-bottom: 80px;
	background-color: var(--bg-green2);
}
#fv .wrap01 {
	width: 100%;
	max-width: 1440px;/*1200*/
	margin: 0 auto;
	text-align: center;
	box-sizing: border-box;
}
#fv .wrap01 h2 {
	font-size: 1.5rem;
	font-family: "Shippori Mincho", cursive;
	font-weight: 700;
	line-height: 200%;
	color: var(--white00);
}
#fv .wrap01 > p {
	width: 100%;
	max-width: 590px;
	margin: 24px auto 0;
	font-size: 0.875rem;
	font-weight: 400;
	font-family: "Noto Sans JP", cursive;
	line-height: 180%;
	text-align: left;
	color: var(--white00);
}
#fv .wrap01 .fv_wrap {
	width: 100%;
	max-width: 1440px;/*996px*/
	margin: 80px auto 0;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: top;
}
#fv .wrap01 .fv_wrap .fv_box_l {
	/*width: 366px;*/
	width: 48%;
	box-sizing: border-box;
}
#fv .wrap01 .fv_wrap .fv_box_r {
	/*width: 590px;*/
	width: 48%;
	box-sizing: border-box;
}
#fv .wrap01 .fv_wrap .fv_box_l,
#fv .wrap01 .fv_wrap .fv_box_r {
	text-align: left;
	color: var(--white00);
}
#fv .wrap01 .fv_wrap .fv_box_l p,
#fv .wrap01 .fv_wrap .fv_box_r p {
	margin-bottom: 16px;
	font-size: 1.5rem;
	font-family: "Shippori Mincho", cursive;
	font-style: italic;
	line-height: 1;
	display: inline-flex;
	align-items: center;
}
/*#fv .wrap01 .fv_wrap .fv_box_l p:before,
#fv .wrap01 .fv_wrap .fv_box_r p:before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	background-image: url(../images/title_dot01.svg);
	background-size: contain;
	margin-right: 6px;
}*/
#fv.sub01, #fv.sub02 {
	background-color: var(--bg-gray);
}

@media screen and (max-width: 750px) {
	#fv {
		width: 100%;
		padding-top: 40px;
		padding-bottom: 40px;
	}
	#fv .wrap01 {
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
		margin: 0 auto;
	}
	#fv .wrap01 h2 {
		font-size: 1.125rem; /* 4.8vw(375px基準) = 約18px */
	}
	#fv .wrap01 > p {
		width: 100%;
		max-width: 100%;
		margin: 24px auto 0;
		font-size: 0.875rem; /* 3.73vw(375px基準) = 14px */
	}
	#fv .wrap01 .fv_wrap {
		width: 100%;
		margin: 40px auto 0;
		display: flex;
		flex-direction: column;
		align-items: top;
	}
	#fv .wrap01 .fv_wrap .fv_box_l {
		width: 100%;
		max-width: 250px;
		margin: 0 auto;
	}
	#fv .wrap01 .fv_wrap .fv_box_r {
		width: 100%;
		margin-top: 30px;
	}
	#fv .wrap01 .fv_wrap .fv_box_l,
	#fv .wrap01 .fv_wrap .fv_box_r {
		text-align: center;
	}
	#fv .wrap01 .fv_wrap .fv_box_l p,
	#fv .wrap01 .fv_wrap .fv_box_r p {
		margin-bottom: 12px;
		font-size: 1.125rem; /* 4.8vw = 約18px */
	}
	#fv .wrap01 .fv_wrap .fv_box_l p:before,
	#fv .wrap01 .fv_wrap .fv_box_r p:before {
		margin-right: 8px;
	}
}

/* ==========================================================================
   brands
   ========================================================================== */
#brands {
	position: relative;
	width: 100%;
	padding-top: 80px;
	padding-bottom: 80px;
	background-color: var(--bg-green3);
}
#brands .brands_box {
	position: relative;
	width: 100%;
	max-width: 1440px;
	height: 590px;
	margin: 0 auto;
	z-index: 100;
}
#brands .brands_box .brands_img_wrap {
	width: 50%;
	height: auto;
	padding-bottom: 32px;
	overflow: hidden;
	z-index: 500;
}
#brands .brands_box .brands_img_wrap .swiper-horizontal > .swiper-pagination-bullets,
#brands .brands_box .brands_img_wrap .swiper-pagination-bullets.swiper-pagination-horizontal,
#brands .brands_box .brands_img_wrap .swiper-pagination-custom,
#brands .brands_box .brands_img_wrap .swiper-pagination-fraction {
	bottom: 0;
	z-index: 520;
}
#brands .brands_box .brands_img_wrap .swiper-pagination-bullet {
	width: 24px;
	height: 4px;
	background-color: rgba(165, 155, 99, 0.6);
	border-radius: 0;
}
#brands .brands_box .brands_img_wrap .swiper-pagination-bullet-active {
	background-color: rgb(165, 155, 99);
}
#brands .brands_box .brands_txt {
	width: 832px;
	padding-bottom: 80px;
	background-color: var(--bg-gray04);
	z-index: 300;
}
#brands .brands_box .brands_txt h3 {
	width: 488px;
	font-size: 1.25rem;
	font-family: "Shippori Mincho", cursive;
	font-weight: 700;
	line-height: 200%;
	color: var(--black01);
	text-align: left;
}
#brands .brands_box .brands_txt p {
	width: 488px;
	margin-top: 24px;
	font-size: 0.875rem;
	font-weight: 400;
	font-family: "Shippori Mincho", cursive;
	line-height: 180%;
	text-align: left;
	color: var(--black01);
}
#brands .brands_box .brands_txt #bgtxt01 {
	position: absolute;
	top: 405px;
	right: 120px;
	z-index: 400;
	opacity: 0.3;
}
#brands .brands_box .brands_txt #bgtxt02 {
	position: absolute;
	top: 405px;
	left: 120px;
	z-index: 410;
	opacity: 0.3;
}
#brands .brands_box .brands_txt #bgtxt03 {
	position: absolute;
	top: 405px;
	right: 120px;
	z-index: 420;
	opacity: 0.3;
}
#brands .brands_box.pic_l .brands_img_wrap {
	position: absolute;
	top: 40px;
	left: 0;
}
#brands .brands_box.pic_l .brands_txt {
	position: absolute;
	top: 0;
	right: 0;
}
#brands .brands_box.pic_l .brands_txt h3 {
	margin: 80px 120px 0 224px;
}
#brands .brands_box.pic_l .brands_txt p {
	margin: 24px 120px 0 224px;
}
#brands .brands_box.pic_r .brands_img_wrap {
	position: absolute;
	top: 40px;
	right: 0;
}
#brands .brands_box.pic_r .brands_txt {
	position: absolute;
	top: 0;
	left: 0;
}
#brands .brands_box.pic_r .brands_txt h3 {
	margin: 80px 224px 0 120px;
}
#brands .brands_box.pic_r .brands_txt p {
	margin: 24px 224px 0 120px;
}
#brands .tag_box {
	width: 100%;
	max-width: 1200px;
	margin: 40px auto 0;
	background-color: var(--bg-gray03);
}
#brands .tag_box h2 {
	width: 100%;
	max-width: 1120px;
	margin: 40px 40px 0 40px;
	padding-bottom: 16px;
	border-bottom: 1px var(--gray-line) solid;
	font-size: 2.5rem;
	font-family: "Cormorant Garamond", cursive;
	font-style: italic;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	color: var(--black00);
}
#brands .tag_box h2 span {
	margin-left: 20px;
	font-size: 0.75rem;
	font-weight: 400;
	font-style: normal;
	font-family: "Noto Sans JP", cursive;
	line-height: 1;
}
#brands .tag_box h2 span:before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	background-image: url(../images/title_dot01.svg);
	background-size: contain;
	margin-right: 6px;
}
#brands .tag_box p {
	margin: 24px 40px 0 40px;
	padding-bottom: 40px;
}
#brands .tag_box p span {
	margin-right: 8px;
	margin-bottom: 8px;
	padding: 2px 8px;
	background-color: var(--bg-tag);
	border-radius: 4px;
	font-size: 0.75rem;
	font-weight: 400;
	font-style: normal;
	font-family: "Noto Sans JP", cursive;
	line-height: 200%;
	color: var(--white00);
	white-space: nowrap;
}

@media screen and (max-width: 750px) {
	#brands {
		width: 100%;
		padding-top: 40px;
		padding-bottom: 40px;
	}
	#brands .brands_box {
		width: 100%;
		min-height: 620px;
		margin-bottom: 20px;
	}
	#brands .brands_box .brands_img_wrap {
		width: 100%;
		padding-left: 10px;
		padding-right: 10px;
		box-sizing: border-box;
		padding-bottom: 0;
	}
	#brands .brands_box .brands_img_wrap .swiper-horizontal > .swiper-pagination-bullets,
	#brands .brands_box .brands_img_wrap .swiper-pagination-bullets.swiper-pagination-horizontal,
	#brands .brands_box .brands_img_wrap .swiper-pagination-custom,
	#brands .brands_box .brands_img_wrap .swiper-pagination-fraction {
		display: none;
	}
	#brands .brands_box .brands_txt {
		width: 100%;
		padding-left: 10px;
		padding-right: 10px;
		box-sizing: border-box;
		padding-bottom: 40px;
	}
	#brands .brands_box .brands_txt h3 {
		font-size: 1.125rem; /* 4.8vw = 約18px */
		letter-spacing: -0.096vw;
	}
	#brands .brands_box .brands_txt p {
		width: 100%;
		margin-top: 24px;
		font-size: 0.875rem; /* 3.73vw = 14px */
	}
	#brands .brands_box .brands_txt #bgtxt01 {
		top: 436px;
		right: 20px;
		width: 125px;
	}
	#brands .brands_box .brands_txt #bgtxt02 {
		top: 415px;
		left: 35px;
		width: 300px;
	}
	#brands .brands_box .brands_txt #bgtxt03 {
		top: 415px;
		right: 20px;
		width: 178px;
	}
	#brands .brands_box.pic_l .brands_img_wrap {
		top: 0;
		left: 0;
	}
	#brands .brands_box.pic_l .brands_txt {
		top: 119px;
		right: 0;
	}
	#brands .brands_box.pic_l .brands_txt h3 {
		margin: 159px 20px 0 20px;
	}
	#brands .brands_box.pic_l .brands_txt p {
		margin: 24px 20px 0 20px;
	}
	#brands .brands_box.pic_l:nth-of-type(3) {
		margin-bottom: 0;
	}
	#brands .brands_box.pic_r .brands_img_wrap {
		top: 0;
		left: 0;
	}
	#brands .brands_box.pic_r .brands_txt {
		top: 119px;
		left: 20px;
	}
	#brands .brands_box.pic_r .brands_txt h3 {
		margin: 159px 20px 0 20px;
	}
	#brands .brands_box.pic_r .brands_txt p {
		margin: 24px 20px 0 20px;
	}
	#brands .tag_box {
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
		box-sizing: border-box;
		margin: 20px auto 0;
	}
	#brands .tag_box h2 {
		width: 100%;
		margin: 40px 0 0 0;
		padding-bottom: 24px;
		border-bottom: 1px var(--gray-line) solid;
		font-size: 2.125rem; /* 9.06vw = 約34px */
	}
	#brands .tag_box h2 span {
		margin-left: 20px;
		font-size: 0.75rem; /* 3.2vw = 12px */
	}
	#brands .tag_box h2 span:before {
		width: 6px;
		height: 6px;
		margin-right: 6px;
	}
	#brands .tag_box p {
		margin: 24px 0 0 0;
		padding-bottom: 40px;
	}
	#brands .tag_box p span {
		margin-right: 8px;
		margin-bottom: 8px;
		padding: 2px 8px;
		border-radius: 4px;
		font-size: 0.75rem; /* 3.2vw = 12px */
	}
}

/* ==========================================================================
   flow
   ========================================================================== */
#flow {
	width: 100%;
	padding-bottom: 80px;
	color: var(--white00);
	background-color: var(--bg-green2);
}
#flow h2 {
	margin-top: 80px;
	/*margin-left: 120px;*/
	width: 100%;
	font-size: 1.5rem;
	font-family: "Shippori Mincho", cursive;
	font-weight: 700;
	line-height: 200%;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
}
#flow h2:before {
	content: "";
	display: none;
	width: 32px;
	height: 32px;
	background-image: url(../images/about/dot_about.svg);
	background-size: contain;
	margin-top: -16px;
	margin-right: -16px;
}
#flow ol {
	width: 100%;
	max-width: 1200px;
	margin: 40px auto;
	padding: 0;
	display: flex;
	justify-content: space-between;
}
#flow ol li {
	position: relative;
	width: 460px;
	text-align: center;
}
#flow ol li em {
	font-size: 1.75rem;
	font-family: "Cormorant Garamond", cursive;
	font-weight: 700;
	font-style: italic;
	color: var(--white00);
}
#flow ol li img {
	margin-top: 8px;
	margin-left: 50%;
	transform: translateX(-50%);
	filter: brightness(300%);
}
#flow ol li h3 {
	margin-top: 18px;
	font-size: 1rem;
	font-family: "Shippori Mincho", cursive;
	font-weight: 700;
	white-space: nowrap;
}
#flow ol li p {
	margin-top: 10px;
	font-size: 0.875rem;
	font-weight: 400;
	font-style: normal;
	font-family: "Noto Sans JP", cursive;
	line-height: 200%;
}
#flow ol li::after {
	content: "";
	position: absolute;
	top: 57px;
	left: 287px;
	display: block;
	width: 9px;
	height: 17px;
	background-image: url(../images/arrow_right.svg);
	background-size: contain;
}
#flow ol li:last-child::after {
	display: none;
}
#flow .flow_banner {
	width: 100%;
	max-width: 1200px;
	margin: 68px auto 0;
}
#flow .flow_banner ul {
	width: 794px;
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#flow .flow_banner ul li {
	width: 387px;
	height: 183px;
	text-align: center;
	color: var(--black00);
	font-family: "Shippori Mincho", cursive;
	background-color: var(--bg-green2);
}
#flow .flow_banner ul li a {
	position: relative;
	width: 100%;
	height: 100%;
	display: block;
	font-family: "Shippori Mincho", cursive;
	background-color: var(--bg-gray05);
}
#flow .flow_banner ul li a h4 {
	padding-top: 35px;
	font-size: 1rem;
	font-family: "Shippori Mincho", cursive;
	font-weight: 700;
	white-space: nowrap;
}
#flow .flow_banner ul li a p {
	margin-top: 10px;
	font-size: 0.875rem;
	font-weight: 400;
	font-style: normal;
	font-family: "Shippori Mincho", cursive;
	line-height: 200%;
}
#flow .flow_banner ul li a .telnum {
	display: inline-flex;
	align-items: center;
	margin-top: 24px;
	font-size: 1.25rem;
	font-weight: 700;
	font-style: normal;
	font-family: "Shippori Mincho", cursive;
}
#flow .flow_banner ul li a .telnum::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right: 6px;
	background-image: url(../images/tel_icon.svg);
	background-size: contain;
}
#flow .flow_banner ul li a .icon_mail {
	position: absolute;
	top: 117px;
	left: 94px;
}
#flow .flow_banner ul li a .icon_mail::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right: 11px;
	background-image: url(../images/about/icon_mail.svg);
	background-size: contain;
}
#flow .flow_banner ul li a .flow_link {
	margin-top: 24px;
	margin-left: 50%;
	transform: translateX(-50%);
	height: 32px;
	display: inline-block;
	align-items: center;
	font-size: 1rem;
	font-family: "Cormorant Garamond", cursive;
	font-style: italic;
	font-weight: 700;
	text-align: left;
}
#flow .flow_banner ul li.col1 {
	width: 794px;
	height: 120px;
	margin-bottom: 20px;
}
#flow .flow_banner ul li.col1 a {
	position: relative;
}
#flow .flow_banner ul li.col1 a h4 {
	position: absolute;
	top: 44px;
	left: 30px;
	padding: 0;
}
#flow .flow_banner ul li.col1 a h4::before {
	content: "";
	display: inline-block;
	width: 40px;
	height: 40px;
	top: 10px;
	margin-right: 20px;
	background-image: url(../images/about/icon_help.svg);
	background-size: contain;
	vertical-align: middle;
}
#flow .flow_banner ul li.col1 a .btn_toNext {
	position: absolute;
	top: 43px;
	right: 30px;
	font-size: 0.875rem;
	font-family: "Shippori Mincho", cursive;
	font-weight: 700;
	text-align: left;
	white-space: nowrap;
}
#flow.sub01 .flow_banner, #flow.sub02 .flow_banner, #flow.sub03 .flow_banner {
	margin: 0 auto;
	padding-top: 80px;
}

@media screen and (max-width: 750px) {
	#flow {
		width: 100%;
		padding-bottom: 40px;
	}
	#flow h2 {
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
		box-sizing: border-box;
		margin-top: 40px;
		margin-left: 0;
		font-size: 1.25rem; /* 5.33vw = 20px */
		display: inline-block;
	}
	#flow h2:before {
		width: 24px;
		height: 24px;
		margin-top: -12px;
		margin-right: -12px;
	}
	#flow h2 #text {
		width: 100%;
	}
	#flow ol {
		width: 100%;
		margin: 40px auto 0;
		flex-direction: column;
	}
	#flow ol li {
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
		box-sizing: border-box;
		height: 136px;
		margin-left: 0;
	}
	#flow ol li em {
		position: absolute;
		top: 6px;
		left: 19px;
		font-size: 1.75rem; /* 7.46vw = 28px */
	}
	#flow ol li img {
		position: absolute;
		top: 40px;
		left: 20px;
		width: 60px;
		margin: 0;
		transform: translateX(0);
	}
	#flow ol li h3 {
		position: absolute;
		top: 0;
		left: 95px;
		font-size: 1rem; /* 4.26vw = 16px */
	}
	#flow ol li p {
		position: absolute;
		top: 42px;
		left: 95px;
		margin-top: 0;
		font-size: 0.875rem; /* 3.73vw = 14px */
		text-align: left;
	}
	#flow ol li::after {
		bottom: 96px;
		left: 120px;
		width: 17px;
		height: 9px;
	}
	#flow .flow_banner {
		width: 100%;
		margin: 40px auto 0;
	}
	#flow .flow_banner ul {
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
		box-sizing: border-box;
		margin: 0;
		flex-direction: column;
	}
	#flow .flow_banner ul li {
		width: 100%;
		height: 173px;
		margin-bottom: 10px;
	}
	#flow .flow_banner ul li a h4 {
		padding-top: 20px;
		font-size: 1rem; /* 4.26vw = 16px */
	}
	#flow .flow_banner ul li a p {
		margin-top: 10px;
		font-size: 0.875rem; /* 3.73vw = 14px */
	}
	#flow .flow_banner ul li a .telnum {
		margin-top: 14px;
		font-family: "Shippori Mincho", cursive;
		font-size: 1.25rem; /* 5.33vw = 20px */
	}
	#flow .flow_banner ul li a .telnum::before {
		width: 20px;
		height: 20px;
		margin-right: 6px;
	}
	#flow .flow_banner ul li a .icon_mail {
		top: 113px;
		left: 69px;
	}
	#flow .flow_banner ul li a .icon_mail::before {
		width: 20px;
		height: 20px;
		margin-right: 8px;
	}
	#flow .flow_banner ul li a .flow_link {
		margin-top: 20px;
		height: 35px;
		font-size: 1rem; /* 4.26vw = 16px */
	}
	#flow .flow_banner ul li.col1 {
		width: 100%;
		height: 215px;
		margin-bottom: 10px;
	}
	#flow .flow_banner ul li.col1 a h4 {
		width: 100%;
		top: 76px;
		left: 0;
		text-align: center;
		line-height: 200%;
	}
	#flow .flow_banner ul li.col1 a h4::before {
		position: absolute;
		width: 40px;
		height: 40px;
		top: -56px;
		left: 50%;
		transform: translateX(-50%);
	}
	#flow .flow_banner ul li.col1 a .btn_toNext {
		position: absolute;
		top: 160px;
		right: 50%;
		transform: translateX(50%);
		font-size: 0.875rem; /* 3.73vw = 14px */
	}
	#flow .flow_banner ul li:last-child {
		height: 185px;
	}
	#flow.sub01 .flow_banner {
		padding-top: 50px;
	}
}

/* ==========================================================================
   more
   ========================================================================== */
#more {
	width: 100%;
	padding-bottom: 80px;
	background-color: var(--bg-green3);
}
#more h2 {
	margin-top: 80px;
	margin-left: 120px;
	font-size: 1.5rem;
	font-family: "Shippori Mincho", cursive;
	font-weight: 700;
	line-height: 200%;
	color: var(--white00);
	display: inline-flex;
	align-items: center;
}
#more h2:before {
	content: "";
	display: inline-block;
	width: 32px;
	height: 32px;
	background-image: url(../images/about/dot_about.svg);
	background-size: contain;
	margin-top: -16px;
	margin-right: -16px;
}
#more .more_banner {
	width: 100%;
	max-width: 1200px;
	margin: 40px auto 0;
	display: flex;
	justify-content: space-between;
}
#more .more_banner .more_box {
	width: 387px;
}
#more .more_banner .more_box p {
	margin-top: 16px;
	font-size: 0.875rem;
	font-weight: 400;
	font-style: normal;
	font-family: "Noto Sans JP", cursive;
	line-height: 180%;
	color: var(--white00);
}

@media screen and (max-width: 750px) {
	#more {
		width: 100%;
		padding-bottom: 40px;
	}
	#more h2 {
		margin-top: 40px;
		margin-left: 20px;
		font-size: 1.25rem; /* 5.33vw = 20px */
	}
	#more h2:before {
		width: 24px;
		height: 1px;
		background-image: url(../images/about/dot_about.svg);
		background-size: contain;
		margin-top: -12px;
		margin-right: -12px;
	}
	#more .more_banner {
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
		box-sizing: border-box;
		margin: 20px auto 0;
		flex-direction: column;
	}
	#more .more_banner .more_box {
		width: 100%;
		margin-bottom: 20px;
	}
	#more .more_banner .more_box p {
		margin-top: 16px;
		font-size: 0.875rem; /* 3.73vw = 14px */
	}
	#more .more_banner .more_box:last-child {
		margin-bottom: 0;
	}
}



/* ==========================================================================
   plan
   ========================================================================== */
#plan {
	position: relative;
	width: 100%;
	padding-top: 0;
	padding-bottom: 40px;
}
#plan .plan_box {
	position: relative;
	width: 100%;
	max-width: 1440px;
	height: 562px;
	margin: 0 auto;
	z-index: 100;
}
#plan .plan_box .img_plan {
	width: 720px;
	height: auto;
	padding-bottom: 32px;
	overflow: hidden;
	z-index: 500;
}
#plan .plan_box .plan_txt {
	width: 832px;
	padding-bottom: 80px;
	background-color: var(--bg-green);
	z-index: 300;
}
#plan .plan_box .plan_txt h2 {
	margin-top: 80px;
	margin-left: 136px;
	font-size: 1.5rem;
	font-family: "Shippori Mincho", cursive;
	font-weight: 700;
	line-height: 200%;
	color: var(--black01);
	display: inline-flex;
	align-items: center;
}
#plan .plan_box .plan_txt h2:before {
	content: "";
	display: inline-block;
	width: 32px;
	height: 32px;
	background-image: url(../images/about/dot_about02.svg);
	background-size: contain;
	margin-top: -16px;
	margin-right: -16px;
}
#plan .plan_box .plan_txt h3 {
	width: 488px;
	font-size: 1.25rem;
	font-family: "Shippori Mincho", cursive;
	font-weight: 700;
	line-height: 200%;
	color: var(--black01);
	text-align: left;
}
#plan .plan_box .plan_txt p {
	width: 488px;
	margin-top: 24px;
	font-size: 0.875rem;
	font-weight: 400;
	font-family: "Noto Sans JP", cursive;
	line-height: 180%;
	text-align: left;
	color: var(--black01);
}
#plan .plan_box.pic_l .img_plan {
	position: absolute;
	top: 40px;
	left: 0;
}
#plan .plan_box.pic_l .plan_txt {
	position: absolute;
	top: 0;
	right: 0;
}
#plan .plan_box.pic_l .plan_txt h3 {
	margin: 80px 120px 0 224px;
}
#plan .plan_box.pic_l .plan_txt p {
	margin: 24px 120px 0 224px;
}
#plan .plan_box.pic_r .img_plan {
	position: absolute;
	top: 40px;
	right: 0;
}
#plan .plan_box.pic_r .plan_txt {
	position: absolute;
	top: 0;
	left: 0;
}
#plan .plan_box.pic_r .plan_txt h3 {
	margin: 80px 224px 0 120px;
}
#plan .plan_box.pic_r .plan_txt p {
	margin: 24px 224px 0 120px;
}
#plan.sub02 .plan_box .plan_txt {
	background-color: var(--bg-blue);
}
#plan.sub02 .plan_box.pic_r h3 {
	margin: 40px 224px 0 120px;
}

@media screen park and (max-width: 750px) {
	#plan {
		width: 100%;
		padding-top: 40px;
		padding-bottom: 0;
	}
	#plan .plan_box {
		width: 100%;
		min-height: 540px;
		margin-bottom: 40px;
	}
	#plan .plan_box .img_plan {
		width: 100%;
		padding-left: 10px;
		padding-right: 10px;
		box-sizing: border-box;
		padding-bottom: 0;
	}
	#plan .plan_box .plan_txt {
		width: 100%;
		padding-bottom: 40px;
	}
	#plan .plan_box .plan_txt h2 {
		margin-top: 159px;
		margin-left: 20px;
		font-size: 1.25rem; /* 5.33vw = 20px */
	}
	#plan .plan_box .plan_txt h2:before {
		width: 24px;
		height: 24px;
	}
	#plan .plan_box .plan_txt h3 {
		width: 100%;
		font-size: 1.125rem; /* 4.8vw = 約18px */
		letter-spacing: -0.36px;
	}
	#plan .plan_box .plan_txt p {
		width: 100%;
		margin-top: 24px;
		font-size: 0.875rem; /* 3.73vw = 14px */
	}
	#plan .plan_box.pic_l .img_plan {
		top: 0;
		left: 0;
	}
	#plan .plan_box.pic_l .plan_txt {
		top: 119px;
		right: 0;
	}
	#plan .plan_box.pic_l .plan_txt h3 {
		width: 100%;
		margin: 159px 0 0 20px;
		padding-right: 10px;
		box-sizing: border-box;
	}
	#plan .plan_box.pic_l .plan_txt p {
		margin: 24px 0 0 20px;
		padding-right: 10px;
		box-sizing: border-box;
	}
	#plan .plan_box.pic_r .img_plan {
		top: 0;
		left: 0;
	}
	#plan .plan_box.pic_r .plan_txt {
		top: 119px;
		left: 20px;
	}
	#plan .plan_box.pic_r .plan_txt h3 {
		width: 100%;
		margin: 159px 0 0 20px;
		padding-right: 10px;
		box-sizing: border-box;
	}
	#plan .plan_box.pic_r .plan_txt p {
		margin: 24px 0 0 20px;
		padding-right: 10px;
		box-sizing: border-box;
	}
	#plan.sub02 {
		padding-bottom: 40px;
	}
	#plan.sub02 .plan_box {
		min-height: 597px;
	}
	#plan.sub02 .plan_box .plan_txt {
		background-color: var(--bg-blue);
	}
	#plan.sub02 .plan_box.pic_r h3 {
		margin: 24px 0 0 20px;
	}
}

/* ==========================================================================
   process
   ========================================================================== */
#process {
	position: relative;
	width: 100%;
	padding-top: 66px;
	padding-bottom: 80px;
	background-color: var(--bg-gray);
}
#process .wrap01 {
	background-image: url(../images/about/process/img_line01.png);
	background-size: 1px;
	background-position: 222px 3px;
	background-repeat: no-repeat;
}
#process .wrap01 .process_box {
	padding-bottom: 40px;
	display: flex;
}
#process .wrap01 .process_box h3 {
	position: relative;
	min-width: 136px;
	margin-left: 206px;
	font-size: 1.25rem;
	font-family: "Shippori Mincho", cursive;
	font-weight: 700;
	line-height: 200%;
	color: var(--black01);
	display: flex;
	align-items: flex-start;
}
#process .wrap01 .process_box h3:before {
	content: "";
	display: inline-block;
	width: 32px;
	height: 32px;
	background-image: url(../images/about/dot_about03.svg);
	background-size: contain;
	margin-top: 0;
	margin-right: -16px;
}
#process .wrap01 .process_box h3 span {
	position: absolute;
	top: 44px;
	left: 21px;
	font-size: 1rem;
	font-family: "Cormorant Garamond";
	font-style: italic;
	font-weight: 700;
	line-height: 120%;
}
#process .wrap01 .process_box .img_process {
	width: 181px;
	height: 181px;
	margin-left: 85px;
}
#process .wrap01 .process_box .img_process img {
	width: 100%;
}
#process .wrap01 .process_box .process_txt {
	width: 488px;
	margin-left: 20px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
#process .wrap01 .process_box .process_txt p {
	width: 488px;
	font-size: 0.875rem;
	font-weight: 400;
	font-family: "Noto Sans JP", cursive;
	line-height: 180%;
	text-align: left;
	color: var(--black01);
}
#process .wrap01 .process_box .process_txt div {
	margin-top: 20px;
	display: inline-flex;
	flex-direction: row;
	align-items: flex-start;
}
#process .wrap01 .process_box .process_txt div a {
	display: inline-block;
	padding: 6px 20px;
	border: var(--black01) 1px solid;
	font-family: "Shippori Mincho", cursive;
	font-weight: 700;
	line-height: 200%;
	color: var(--black01);
	display: inline-flex;
	align-items: center;
}
#process .wrap01 .process_box .process_txt div a:after {
	content: "";
	display: inline-block;
	width: 9px;
	height: 17px;
	background-image: url(../images/arrow_right.svg);
	background-size: contain;
	background-repeat: no-repeat;
	margin-left: 8px;
}
#process .wrap01 .process_box .process_txt div a:nth-of-type(2) {
	margin-left: 20px;
}

@media screen and (max-width: 750px) {
	#process {
		width: 100%;
		padding-top: 45px;
		padding-bottom: 0;
	}
	#process .wrap01 {
		background-image: url(../images/about/process/img_line01_sp.png);
		background-size: 1px;
		background-position: 20px 1px;
	}
	#process .wrap01 .process_box {
		position: relative;
		padding-bottom: 40px;
		display: flex;
		flex-direction: column;
	}
	#process .wrap01 .process_box h3 {
		position: relative;
		min-width: 140px;
		margin-left: 5px;
		font-size: 1.25rem; /* 5.33vw = 20px */
	}
	#process .wrap01 .process_box h3:before {
		width: 32px;
		height: 32px;
		margin-right: -16px;
	}
	#process .wrap01 .process_box h3 span {
		position: absolute;
		top: 44px;
		left: 21px;
		font-size: 1rem; /* 4.26vw = 16px */
	}
	#process .wrap01 .process_box .img_process {
		position: absolute;
		width: 100px;
		height: 100px;
		top: 0;
		right: 25px;
	}
	#process .wrap01 .process_box .process_txt {
		width: 100%;
		padding-left: 40px;
		padding-right: 20px;
		box-sizing: border-box;
		margin-top: 68px;
		margin-left: 0;
		justify-content: flex-start;
	}
	#process .wrap01 .process_box .process_txt p {
		width: 100%;
		font-size: 0.875rem; /* 3.73vw = 14px */
	}
	#process .wrap01 .process_box .process_txt div {
		margin-top: 20px;
		display: inline-flex;
		flex-direction: column;
		align-items: flex-start;
	}
	#process .wrap01 .process_box .process_txt div a {
		padding: 6px 20px;
		border: var(--black01) 1px solid;
	}
	#process .wrap01 .process_box .process_txt div a:after {
		width: 9px;
		height: 17px;
		margin-left: 8px;
	}
	#process .wrap01 .process_box .process_txt div a:nth-of-type(2) {
		margin-left: 0;
		margin-top: 16px;
	}
}