@charset "UTF-8";

/*----------------------------
ページ内共通.reseave
----------------------------*/
#counseling .reseave {
	position: relative;
	z-index: 2;
	margin: 12vw auto 0;
	padding: 30px 0 140px;
	border-radius: 0 0 100px 100px;
	background: #f1f0f0;
}
#counseling .reseave:before {
	display: block;
	position: absolute;
	top: -11vw;
	right: 0;
	left: 0;
	width: 100%;
	height: 11vw;
	background: url(../images/reseave_bg.png) bottom right / contain no-repeat;
	content: "";
}
#counseling .reseave p:nth-of-type(1) {
	font-size: 130%;
}
#counseling .reseave .btn {
	margin: 75px auto 0;
}
#counseling .reseave .btn div {
	display: inline-block;
	margin: 0 20px;
}
#counseling .reseave .btn div a {
	display: block;
	padding: 40px 80px 40px 170px;
	border-radius: 60px;
	color: #fff;
	font-size: 110%;
}
#counseling .reseave .btn div:nth-of-type(1) a {
	background: #9c864b url(../../common/images/cta_icon_reserve.png) 90px center / 60px auto no-repeat;
}
#counseling .reseave .btn div:nth-of-type(2) a {
	background: #a3747f url(../../common/images/cta_icon_line.png) 90px center / 60px auto no-repeat;
}
#counseling .reseave p:nth-of-type(2) {
	margin: 80px auto 0;
}

/*----------------------------
#counseling
----------------------------*/
#counseling {
	text-align: center;
}
#counseling .main_img {
	position: relative;
	padding: 210px 0 190px;
	background: url(../images/main_img.webp) top center / cover no-repeat;
	color: #fff;
}
#counseling .main_img h1 span {
	display: block;
}
#counseling .main_img h1 .bold {
	margin: 15px auto 0;
	font-size: 300%;
	line-height: 1.25;
}
#counseling .main_img h1 .font_en {
	margin: 30px auto 0;
	font-size: 130%;
}
#counseling .pankuzu {
	margin: 70px auto 0;
	width: 80%;
}
#counseling .intro p {
	margin: 80px auto 0;
}
#counseling .intro p:nth-of-type(1) {
	font-family: "A1 Mincho";
	font-size: 200%;
}
#counseling .point {
	margin: 170px auto 0;
}
#counseling .point .title {
	padding: 110px 0 190px;
	background: rgb(183,135,139);
	background: linear-gradient(90deg, rgba(183,135,139,1) 0%, rgba(231,210,187,1) 50%, rgba(241,240,239,1) 100%);
}
#counseling .point .title div {
	position: relative;
	margin: 0 auto;
	padding: 0 0 0 400px;
	width: 1080px;
}
#counseling .point .title div:before {
	display: block;
	position: absolute;
	top: -60%;
	left: 0;
	width: 356px;
	height: 165%;
	border-radius: 50px;
	background: url(../images/point_img.webp) 26% top / auto 102% no-repeat;
	content: "";
}
#counseling .point h2 {
	display: grid;
	padding: 70px 0 60px;
	background: url(../images/point_title_bg.png) center center / contain no-repeat;
	line-height: 0.5;
	letter-spacing: 0;
	grid-template-columns: 150px 1fr;
}
#counseling .point h2 > span {
	display: block;
	text-align: left;
}
#counseling .point h2 .small {
	padding: 0 0 0 10px;
	font-size: 130%;
	grid-column: 2 / 3;
	grid-row: 1 / 2;
}
#counseling .point h2 .white {
	display: flex;
	align-items: center;
	text-shadow: 0 0 15px rgba(220,191,165,0.8), 0 0 15px rgba(220,191,165,0.8), 0 0 15px rgba(220,191,165,0.8);
	color: #fff;
	font-size: 550%;
	font-style: italic;
	line-height: 1;
	letter-spacing: -0.1em;
	grid-column: 1 / 2;
	grid-row: 1 / 3;
}
#counseling .point h2 .bold {
	font-size: 180%;
	grid-column: 2 / 3;
	grid-row: 2 / 3;
}
#counseling .point h2 .big {
	font-size: 150%;
}
#counseling .point .list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: -120px auto 0;
	width: 900px;
}
#counseling .point .list .top4 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 80%;
}
#counseling .point .list .circle {
	width: 31.33%;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 35px 2px rgba(192,153,140,0.7);
}
#counseling .point .list .circle div {
	position: relative;
	padding-top: 100%;
	height: 0;
}
#counseling .point .list .circle div:before {
	display: block;
	position: absolute;
	top: 25px;
	right: 0;
	left: 0;
	color: #b8a572;
	font-family: "itc-avant-garde-gothic-pro";
	font-size: 120%;
	font-weight: 300;
}
#counseling .point .list .top4 > div:nth-of-type(1) div:before {
	content: "1.";
}
#counseling .point .list .top4 > div:nth-of-type(2) div:before {
	content: "2.";
}
#counseling .point .list .top4 > div:nth-of-type(3) div:before {
	content: "3.";
}
#counseling .point .list .circle div p {
	position: absolute;
	top: calc( (100% - 2em) / 2 );
	right: 0;
	left: 0;
	font-size: 110%;
	line-height: 1.3;
}
#counseling .point .list .top4 > div:nth-of-type(2) div p {
	top: calc( (100% - 2.5em) / 2 );
}
#counseling .point .list ul {
	margin: 55px 0 0;
	width: 46%;
	text-align: left;
}
#counseling .point .list ul:nth-of-type(1) {
	margin: 55px 0 0 4%;
}
#counseling .point .list ul li {
	display: table;
	margin: 20px 0 0;
}
#counseling .point .list ul:nth-of-type(1) li:nth-of-type(2) span {
	display: block;
	font-size: 80%;
	text-align: right;
}
#counseling .point .list ul:nth-of-type(2) li:nth-of-type(2) span {
	font-size: 80%;
}
#counseling .use {
	position: relative;
	margin: -100px auto 0;
	padding: 28vw 0 64vw;
}
#counseling .use > * {
	position: relative;
	z-index: 2;
}
#counseling .use:before {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 52vw;
	background: url(../images/use_top_bg.webp) top center / cover no-repeat;
	content: "";
}
#counseling .use:after {
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 98vw;
	background: url(../images/use_bottom_bg.webp) bottom center / cover no-repeat;
	content: "";
}
#counseling .use h2 {
	display: table;
	position: relative;
	margin: 0 auto;
	padding: 10px 130px;
	background: #9c864b;
	color: #fff;
	font-size: 180%;
}
#counseling .use h2:before {
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -25px;
	border: 25px solid transparent;
	border-top: 25px solid #9c864b;
	content: "";
}
#counseling .use .box {
	position: relative;
	margin: -100px auto 0;
	padding: 90px 0 230px;
	max-width: 1200px;
	width: 90%;
	border-radius: 100px 100px 0 0;
	background: #fff;
}
#counseling .use .box.first {
	margin: 120px auto 0;
}
#counseling .use .box.second {
	background: #f4f1e9;
}
#counseling .use .box.third {
	padding: 90px 0 120px;
	border-radius: 100px;
}
#counseling .use .font_en {
	position: absolute;
	top: 0;
	left: 8%;
	color: #f6f2eb;
	font-size: 760%;
	line-height: 1;
	letter-spacing: 0;
}
#counseling .use .box.second .font_en {
	color: #fff;
}
#counseling .use h3 {
	position: relative;
	font-family: "A1 Mincho";
	font-size: 200%;
}
#counseling .use h3 span {
	display: block;
	margin: 10px auto 0;
	color: #242424;
	font-size: 80%;
}
#counseling .use .box > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 90px auto 0;
	width: 83%;
}
#counseling .use .box > div img {
	width: 46%;
	border-radius: 50px;
}
#counseling .use .box.first > div img {
	border: 3px solid #d8d5cc;
}
#counseling .use .box > div p {
	width: 50%;
	text-align: left;
	line-height: 2;
}
#counseling .use .box.third > p {
	margin: 100px auto 0;
	width: 75%;
	text-align: left;
	line-height: 2;
}
#counseling .faq {
	position: relative;
	margin: -48vw auto 0;
	padding: 80px 0 120px;
	max-width: 1200px;
	width: 90%;
	border-radius: 50px;
	background: #f9f8f5;
}
#counseling .faq h2 > span {
	display: block;
	margin: 0 auto 15px;
	font-size: 370%;
}
#counseling .faq h2 span {
	font-family: "A1 Mincho";
}
#counseling .faq h2 span span {
	margin: 0 10px;
	font-size: 80%;
}
#counseling .faq .box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 55px auto 0;
	width: 85%;
}
#counseling .faq .box div {
	margin: 45px auto 0;
	width: 46%;
	text-align: left;
}
#counseling .faq .box h3 {
	position: relative;
	padding: 25px 30px 25px 95px;
	border-radius: 50px 50px 0 0;
	background: #f6eede;
	font-size: 70%;
}
#counseling .faq .box h3 span {
	display: block;
	position: absolute;
	top: 50%;
	left: 25px;
	color: #c1bab1;
	font-size: 220%;
	transform: translateY(-50%);
}
#counseling .faq .box p {
	position: relative;
	padding: 25px 25px 25px 95px;
	background: #fff;
	color: #67615b;
	font-size: 80%;
}
#counseling .faq .box p span {
	display: block;
	position: absolute;
	top: 22px;
	left: 50px;
	color: #ba8b8d;
	font-size: 180%;
}
#counseling .online {
	margin: -16vw auto -230px;
	padding: calc( 16vw + 200px ) 0 220px;
	background: url(../images/online_bg.webp) top center / cover no-repeat;
}
#counseling .online .inner {
	margin: 0 auto;
	max-width: 1100px;
	width: 90%;
}
#counseling .online h2 {
	display: table;
	position: relative;
	margin: 0 auto;
	padding: 10px 130px;
	background: #9c864b;
	color: #fff;
	font-size: 180%;
}
#counseling .online h2:before {
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -25px;
	border: 25px solid transparent;
	border-top: 25px solid #9c864b;
	content: "";
}
#counseling .online .box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin: 80px auto 0;
}
#counseling .online .box div {
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin: 30px 0 0;
	width: 46%;
	text-align: left;
}
#counseling .online .box div img {
	width: 130px;
}
#counseling .online .box div p {
	width: calc( (100% - 130px) - 10% );
	font-size: 110%;
}
#counseling .online .box div p span {
	display: block;
	font-size: 80%;
}
#counseling .online .box + p {
	margin: 100px auto 0;
	font-size: 120%;
}
#counseling .online ul {
	margin: 65px auto 0;
	text-align: left;
}
#counseling .online li {
	position: relative;
	margin: 10px auto 0;
	padding: 0 0 0 0.7em;
}
#counseling .online li:before {
	display: block;
	position: absolute;
	top: 0.6em;
	left: 0;
	width: 3px;
	height: 3px;
	background: #000;
	content: "";
}

/*----------------------------
スマホ
----------------------------*/
@media screen and (max-width: 767px) {
	/*----------------------------
    ページ内共通.reseave
    ----------------------------*/
	#counseling .reseave {
		margin: 0 auto;
		padding: 30px 0 70px;
		border-radius: 0 0 50px 50px;
	}
	#counseling .reseave:before {
		top: -26vw;
		height: 26vw;
		background: url(../images/reseave_bg_sp.png) bottom right / contain no-repeat;
	}
	#counseling .reseave p:nth-of-type(1) {
		font-size: 150%;
	}
	#counseling .reseave p:nth-of-type(1) span:nth-of-type(1):after {
		display: block;
		clear: both;
		content: "";
	}
	#counseling .reseave .btn {
		margin: 35px auto 0;
	}
	#counseling .reseave .btn div {
		display: block;
		margin: 20px 10% 0;
	}
	#counseling .reseave .btn div a {
		padding: 30px 10% 25px 28%;
		font-size: 120%;
	}
	#counseling .reseave .btn div:nth-of-type(1) a {
		background: #9c864b url(../../common/images/cta_icon_reserve.png) 12% center / auto 40% no-repeat;
	}
	#counseling .reseave .btn div:nth-of-type(2) a {
		background: #a3747f url(../../common/images/cta_icon_line.png) 12% center / auto 40% no-repeat;
	}
	#counseling .reseave p:nth-of-type(2) {
		margin: 50px auto 0;
		font-size: 120%;
	}

	/*----------------------------
    #counseling
    ----------------------------*/
	#counseling .main_img {
		padding: 45vw 0 42vw;
		background: url(../images/main_img_sp.webp) center center / cover no-repeat;
	}
	#counseling .main_img h1 img {
		width: 110px;
	}
	#counseling .main_img h1 .bold {
		margin: 8px auto 0;
		font-size: 260%;
	}
	#counseling .main_img h1 .font_en {
		margin: 10px auto 0;
		font-size: 110%;
	}
	#counseling .pankuzu {
		margin: 20px auto 0;
		width: 90%;
	}
	#counseling .intro p {
		margin: 50px auto 0;
	}
	#counseling .point {
		margin: 80px auto 0;
		padding: calc( 75vw - 30px ) 0 0;
		background: url(../images/point_img.webp) top center  / contain no-repeat;
	}
	#counseling .point .inner {
		padding: 0 0 26vw;
		border-radius: 30px 30px 0 0;
		background: rgb(183,135,139);
		background: linear-gradient(66deg, rgba(183,135,139,1) 0%, rgba(231,210,187,1) 45%, rgba(241,240,239,1) 100%);
	}
	#counseling .point .title {
		padding: 0;
		background: none;
	}
	#counseling .point .title div {
		padding: 40px 0 0;
		width: 95%;
	}
	#counseling .point .title div:before {
		display: none;
	}
	#counseling .point h2 {
		padding: 40px 0 25px;
		line-height: inherit;
		grid-template-columns: 21vw 1fr;
	}
	#counseling .point h2 .small {
		padding: 0 0 0 5px;
		font-size: 4.5vw;
	}
	#counseling .point h2 .white {
		text-shadow: 0 0 10px rgb(220 191 165 / 80%), 0 0 10px rgb(220 191 165 / 80%);
		font-size: 18vw;
	}
	#counseling .point h2 .bold {
		font-size: 6vw;
	}
	#counseling .point h2 .big {
		font-size: 8vw;
	}
	#counseling .point .list {
		display: block;
		margin: 0 auto 0;
		width: 90%;
	}
    #counseling .point .list .top4 {
        margin: 20px auto 0;
        width: 100%;
        justify-content: center;
    }
	#counseling .point .list .circle {
		margin: 0 auto;
		width: 47%;
		box-shadow: 0 0 15px 0 rgb(192 153 140 / 70%);
	}
	#counseling .point .list .circle div:before {
		top: 10%;
		font-size: 180%;
	}
	#counseling .point .list .circle div p {
		font-size: 5vw;
	}
	#counseling .point .list ul {
		display: table;
		margin: 0 auto;
		width: 100%;
		width: auto;
		color: #fff;
		font-size: 120%;
	}
	#counseling .point .list ul:nth-of-type(1) {
		margin: 40px auto 0;
	}
	#counseling .point .list ul li {
		margin: 10px 0 0;
	}
	#counseling .use {
		margin: -50px auto 0;
		padding: 200px 0 0;
	}
	#counseling .use:before {
		height: 82vw;
		background: url(../images/use_top_bg_sp.webp) top center / cover no-repeat;
	}
	#counseling .use:after {
		display: none;
	}
	#counseling .use h2 {
		padding: 8px 20%;
		font-size: 120%;
	}
	#counseling .use h2:before {
		margin-left: -12px;
		border: 12px solid transparent;
		border-top: 12px solid #9c864b;
	}
	#counseling .use .box {
		padding: 50px 0 160px;
		width: 100%;
		border-radius: 50px 50px 0 0;
	}
	#counseling .use .box.first {
		margin: 50px auto 0;
	}
	#counseling .use .font_en {
		font-size: 640%;
	}
	#counseling .use h3 {
		font-size: 170%;
	}
	#counseling .use h3 span {
		margin: 5px auto 0;
	}
	#counseling .use .box > div {
		margin: 50px auto 0;
		width: 75%;
	}
	#counseling .use .box > div img {
		width: 100%;
		border-radius: 25px;
	}
	#counseling .use .box.first > div img {
		border: 1px solid #d8d5cc;
	}
	#counseling .use .box > div p {
		margin: 30px auto 0;
		width: 100%;
		font-size: 90%;
	}
	#counseling .use .box.third {
		padding: 60px 0;
		border-radius: 50px;
	}
	#counseling .use .box.third > p {
		margin: 30px auto 0;
	}
	#counseling .faq {
		margin: -50px auto 0;
		padding: 240px 0 60px;
		width: 100%;
		border-radius: 0 0 50px 50px;
		background: #f9f8f5 url(../images/use_bottom_bg_sp.webp) top center / contain no-repeat;
	}
	#counseling .faq h2 > span {
		font-size: 280%;
	}
	#counseling .faq .box {
		margin: 20px auto 0;
	}
	#counseling .faq .box div {
		margin: 15px auto 0;
		width: 100%;
	}
	#counseling .faq .box h3 {
		padding: 15px 20px 15px 70px;
		border-radius: 25px 25px 0 0;
		font-size: 80%;
	}
	#counseling .faq .box h3 span {
		left: 18px;
	}
	#counseling .faq .box p {
		padding: 15px 20px 15px 70px;
		font-size: 90%;
	}
	#counseling .faq .box p span {
		top: 12px;
		left: 35px;
	}
	#counseling .online {
		margin: -50px auto 0;
		padding: 150px 0;
		background: url(../images/online_bg_sp.webp) top left / cover no-repeat;
	}
	#counseling .online h2 {
		padding: 8px 20%;
		font-size: 120%;
	}
	#counseling .online h2:before {
		margin-left: -12px;
		border: 12px solid transparent;
		border-top: 12px solid #9c864b;
	}
	#counseling .online .box {
		margin: 40px auto 0;
		width: 80%;
	}
	#counseling .online .box div {
		margin: 15px 0 0;
		width: 100%;
	}
	#counseling .online .box div img {
		width: 20%;
	}
	#counseling .online .box div p {
		width: 70%;
	}
	#counseling .online .box + p {
		margin: 50px auto 0;
		font-size: 100%;
	}
	#counseling .online ul {
		margin: 20px auto 0;
		width: 80%;
		font-size: 80%;
	}
	#counseling .online li:before {
		top: 0.5em;
	}
}