@charset 'UTF-8';

/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

	トップページ

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */



/* ================================================================================

	レイアウト

================================================================================ */

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	#wrapper {
	}

	main.outer_wrap {
		position: relative;
		max-width: none;
		/* max-width: 1920px; 固定幅レイアウト時 */
		width: 100%;
		min-height: 50vh;
		display: block;
		margin: 0 auto;
	}

	.inner_wrap {
		position: relative;
	}
}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	#wrapper {
	}

	main.outer_wrap {
		position: relative;
		width: 100%;
	}

	.inner_wrap {
		position: relative;
	}
}





/* ================================================================================

	メイン画像

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.main_top {
		position: relative;
	}
	
	
	/* キャッチコピー
	----------------------------------------------- */
	.main_top_in {
		position: absolute;
		z-index: 1;
		color: #ffffff;
		font-weight: 700;
		font-size: 2.604vw;
		top: 50%;
		left: 9.6vw;
		margin-top: -4.5vw;
		line-height: 1.4;
		letter-spacing: 0.05em;
	}
	.main_top_in span {
		display: block;
		font-size: 1.197vw;
		font-weight: 500;
		letter-spacing: 0.05em;
		margin: 1vw 0 0 0.3vw;
	}
	
	
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.main_top {
		position: relative;
	}
	
	
	/* キャッチコピー
	----------------------------------------------- */
	.main_top_in {
		position: absolute;
		z-index: 1;
		color: #ffffff;
		font-weight: 700;
		font-size: 6vw;
		top: 50%;
		left: 6vw;
		margin-top: -5vw;
		line-height: 1.6;
		letter-spacing: 0.05em;
	}
	.main_top_in span {
		display: block;
		font-size: 3.2vw;
		font-weight: 500;
		letter-spacing: 0.05em;
		margin: 2vw 0 0 0.6vw;
	}
	
	
}





/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

	ここからコンテンツ内容

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */




/* ================================================================================

	共通

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	
	/* 見出し */
	.top_title h2 {
		color: #da68ac;
		font-size: 18px;
		font-weight: 500;
	}
	
	/* 文章 */
	.top_text {
		margin-top: 20px;
		letter-spacing: 0.05em;
	}
	
	/* ボタン */
	.button_box {
		margin-top: 32px;
	}
	.button_box a {
		position: relative;
		display: inline-block;
		width: 250px;
		height: 70px;
		font-size: 18px;
		color: #ffffff;
		font-weight: 500;
		text-align: center;
		background-color: #be85c5;
		padding: 18px 0;
	}
	.button_box a:before {
		content: '';
		position: absolute;
		border-left: 10px solid #ffffff;
		border-top: 6px solid transparent;
		border-bottom: 6px solid transparent;
		height: 0;
		width: 0;
		left: 20px;
		top: 50%;
		margin-top: -7px;
	}
	
	
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	
	/* 見出し */
	.top_title h2 {
		color: #da68ac;
		text-align: center;
		font-weight: 500;
	}
	.top_title h2 span {
		display: block;
		font-size: 4vw;
	}
	
	/* 文章 */
	.top_text {
		margin-top: 6vw;
		letter-spacing: 0.05em;
	}
	
	/* ボタン */
	.button_box {
		margin-top: 8vw;
		text-align: center;
	}
	.button_box a {
		position: relative;
		display: inline-block;
		width: 70vw;
		font-size: 4vw;
		color: #ffffff;
		font-weight: 500;
		text-align: center;
		background-color: #be85c5;
		padding: 4vw 0;
	}
	.button_box a:before {
		content: '';
		position: absolute;
		border-left: 2.5vw solid #fff;
		border-top: 1.5vw solid transparent;
		border-bottom: 1.5vw solid transparent;
		height: 0;
		width: 0;
		left: 6vw;
		top: 50%;
		margin-top: -1.2vw;
	}
	
	
}




/* ================================================================================

	Concept

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	
	.row01 {
		margin: 160px 0;
	}
	
	.row01_title img {
		width: 195px;
	}
	
	.row01_02 {
		margin-left: 40px;
	}
	
	/* 写真 */
	.row01_img img {
		z-index: 1;
		position: relative;
		border-radius: 40px;
	}
	.row01_img:before {
		content: '';
		position: absolute;
		background: url(../img/row01_img01_bg.jpg) center top / auto no-repeat;
		width: 550px;
		height: 400px;
		top: -40px;
		right: -20px;
		border-radius: 40px;
	}
	.row01_img:after {
		content: '';
		position: absolute;
		background: url(../img/row01_img01_deco.png) center top / auto no-repeat;
		width: 146px;
		height: 248px;
		bottom: -70px;
		right: -20px;
		z-index: 1;
	}
	
	
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	
	.row01 {
		margin: 16vw 6vw;
	}
	
	.row01 .row01_title h2 img {
		width: 37vw;
		margin-bottom: 3vw;
	}
	
	.row01_01 {
		margin-top: 8vw;
	}
	
	/* 写真 */
	.row01_img img {
		z-index: 1;
		position: relative;
		border-radius: 4vw;
	}
	.row01_img:before {
		content: '';
		position: absolute;
		background: url(../img/row01_img01_bg.jpg) center top / contain no-repeat;
		width: 88vw;
		height: 64vw;
		top: -6vw;
		right: -6vw;
		border-radius: 4vw;
	}
	.row01_img:after {
		content: '';
		position: absolute;
		background: url(../img/row01_img01_deco.png) center top / contain no-repeat;
		width: 27vw;
		height: 46vw;
		bottom: -12vw;
		right: -6vw;
		z-index: 1;
	}
	
	
}





/* ================================================================================

	Service

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	
	.row02 {
		background: url(../img/row02_bg.jpg) center top / auto no-repeat;
		height: 660px;
	}
	
	.row02_content {
		width: 635px !important;
		margin: 120px 0 0 545px !important;
		padding: 60px 45px;
		background-color: rgba(255,255,255,0.8);
		border-radius: 40px;
	}
	
	.row02_title img {
		margin-bottom: 20px;
		width: 167px;
	}
	.row02_title h2:after {
		content: '';
		position: absolute;
		background: url(../img/row02_title_deco.png) center top / auto no-repeat;
		width: 97px;
		height: 81px;
		top: -15px;
		left: 150px;
	}
	
	
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	
	.row02 {
		background: url(../img/row02_bg_sp.jpg) center top / cover no-repeat;
		padding: 16vw 6vw 120vw;
	}
	
	.row02_content {
		padding: 8vw 6vw;
		background-color: rgba(255,255,255,0.8);
		border-radius: 4vw;
	}
	
	.row02_title img {
		width: 34vw;
		margin-bottom: 4vw;
	}
	.row02_title h2:after {
		content: '';
		position: absolute;
		background: url(../img/row02_title_deco.png) center top / contain no-repeat;
		width: 19vw;
		height: 16vw;
		top: -2vw;
		right: 5vw;
	}
	
	
}





/* ================================================================================

	Service List

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	
	.row03 {
		margin: 160px 0;
	}
	
	.row03_02 {
		margin: 0 60px;
	}
	
	.row03 .top_title {
		margin-top: 24px;
	}
	.row03 .top_title h2 {
		text-align: center;
	}
	.row03 .top_title h2 img {
		margin-bottom: 10px;
	}
	
	.row03_title01 h2 img {
		height: 62px;
	}
	.row03_title02 h2 img {
		height: 62px;
	}
	.row03_title03 h2 img {
		height: 62px;
	}
	
	.row03 .top_text {
		min-height: 190px;
	}
	
	.row03 .button_box {
		text-align: center;
	}
	
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	
	.row03 {
		margin: 16vw 6vw;
	}
	
	.row03_02 {
		margin: 12vw 0;
	}
	
	.row03_img img {
		width: 40vw;
	}
	
	.row03 .top_title {
		margin-top: 6vw;
	}
	.row03 .top_title h2 {
		text-align: center;
	}
	.row03 .top_title h2 img {
		margin-bottom: 4vw;
	}
	
	.row03_title01 h2 img {
		width: 39vw;
	}
	.row03_title02 h2 img {
		width: 46vw;
	}
	.row03_title03 h2 img {
		width: 38vw;
	}
	
	.row03 .button_box {
		text-align: center;
	}
	
	
}





/* ================================================================================

	Blog

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	
	.row04 {
		background: url(../img/bg01.jpg) center top / cover no-repeat;
		padding: 160px 0;
	}
	
	.row04_title h2 {
		text-align: center;
	}
	.row04_title h2 img {
		margin-bottom: 10px;
		width: 110px;
	}
	
	.row04_content {
		margin-top: 40px;
	}
	
	.row04 .post_wrap ul {
		font-size: 0;
	}
	.row04 .post_wrap ul li {
		width: 366px;
		display: inline-block;
		margin-left: 40px;
		position: relative;
	}
	.row04 .post_wrap ul li:first-child,
	.row04 .post_wrap ul li:nth-child(4) {
		margin-left: 0;
	}
	.row04 .post_wrap ul li:nth-child(4),
	.row04 .post_wrap ul li:nth-child(5),
	.row04 .post_wrap ul li:nth-child(6) {
		margin-top: 40px;
	}
	.row04 .post_wrap ul li .post_thumb img {
		border-radius: 40px;
		border: 1px solid #ffffff;
	}
	.row04 .post_wrap ul li .post_icon_box {
		font-size: 14px;
		background-color: #be85c5;
		display: inline-block;
		color: #fff;
		position: absolute;
		top: 40px;
		left: 1px;
		padding: 3px 32px 4px;
	}
	.row04 .post_wrap ul li .post_date {
		font-size: 16px;
		letter-spacing: 0.05em;
		margin-top: 10px;
	}
	.row04 .post_wrap ul li .post_title a {
		font-size: 16px;
		letter-spacing: 0.05em;
		color: #8f3c0a;
	}
	
	.row04 .button_box {
		text-align: center;
		margin-top: 60px;
	}
	
	
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	
	.row04 {
		background: url(../img/bg01.jpg) center top / cover no-repeat;
		padding: 16vw 0;
	}
	
	.row04_title h2 {
		text-align: center;
	}
	.row04_title h2 img {
		width: 22vw;
		margin-bottom: 4vw;
	}
	
	.row04_content {
		margin-top: 8vw;
	}
	
	.row04 .post_wrap ul li {
		margin: 8vw 6vw 0;
		position: relative;
	}
	.row04 .post_wrap ul li:first-child {
		margin-top: 0;
	}
	.row04 .post_wrap ul li .post_thumb img {
		border-radius: 4vw;
		border: 1px solid #ffffff;
	}
	.row04 .post_wrap ul li .post_icon_box {
		font-size: 3.2vw;
		background-color: #be85c5;
		display: inline-block;
		color: #fff;
		position: absolute;
		top: 6vw;
		left: 1px;
		padding: 1vw 6vw 1.4vw;
	}
	.row04 .post_wrap ul li .post_date {
		font-size: 3.5vw;
		letter-spacing: 0.05em;
		margin-top: 4vw;
	}
	.row04 .post_wrap ul li .post_title a {
		font-size: 3.5vw;
		letter-spacing: 0.05em;
		color: #8f3c0a;
	}
	
	.row04 .button_box {
		text-align: center;
		margin-top: 8vw;
	}
	
	
}





/* ================================================================================

	Contact

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	
	.row05 {
		margin: 160px 0 0;
	}
	
	.row05_title h2 {
		text-align: center;
	}
	.row05_title h2 img {
		margin-bottom: 10px;
		width: 191px;
	}
	
	.row05_content {
		margin-top: 40px;
	}
	
	.row05_01 {
		background-color: #be85c5;
		color: #ffffff;
		display: table-cell;
		padding: 0 80px;
	}
	.row05_01 > div {
		height: 225px;
		vertical-align: middle;
		display: table-cell;
	}
	
	.row05_tel a {
		color: #ffffff;
		font-size: 37px;
		font-weight: 700;
		letter-spacing: 0.03em;
		pointer-events: none;
	}
	.row05_tel a span {
		font-size: 22px;
		margin-right: 5px;
	}
	
	.row05_info {
		letter-spacing: 0.03em;
	}
	.row05_info span {
		margin-left: 5em;
	}
	
	.row05_02 {
		margin-left: 40px;
		color: #ffffff;
		font-size: 0;
		display: table-cell;
	}
	
	.row05_02 a {
		color: #ffffff;
		padding: 0 50px;
		background-color: #be85c5;
		height: 225px;
		vertical-align: middle;
		display: table-cell;
		pointer-events: none;
	}
	.row05_02 .qr {
		display: inline-block;
	}
	.row05_02 .line_text {
		font-size: 24px;
		display: inline-block;
		vertical-align: top;
		margin: 26px 0 0 26px;
		letter-spacing: 0.05em;
	}
	.row05_02 .line_text span {
		font-size: 16px;
		display: block;
	}
	
	
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	
	.row05 {
		margin: 16vw 4vw 0;
	}
	
	.row05_title h2 {
		text-align: center;
	}
	.row05_title h2 img {
		margin-bottom: 4vw;
		width: 40vw;
	}
	
	.row05_content {
		margin-top: 8vw;
	}
	
	.row05_01 {
		background-color: #be85c5;
		color: #ffffff;
		padding: 8vw 7vw;
	}
	
	.row05_tel a {
		color: #ffffff;
		font-size: 8vw;
		font-weight: 700;
		letter-spacing: 0.03em;
		pointer-events: none;
	}
	.row05_tel a span {
		font-size: 4.5vw;
		margin-right: 2vw;
	}
	
	.row05_info {
		letter-spacing: 0.03em;
	}
	.row05_info span {
		margin-left: 5em;
	}
	
	.row05_02 {
		margin-top: 4vw;
		text-align: center;
	}
	.row05_02 a {
		display: block;
		color: #ffffff;
		padding: 6vw 8vw;
		background-color: #be85c5;
	}
	.row05_02 a:before {
		content: '';
		position: absolute;
		border-left: 2.5vw solid #fff;
		border-top: 1.5vw solid transparent;
		border-bottom: 1.5vw solid transparent;
		height: 0;
		width: 0;
		left: 6vw;
		top: 50%;
		margin-top: -1.2vw;
	}
	
	.row05_02 .qr {
		display: none;
	}
	.row05_02 .line_text {
		display: inline-block;
		letter-spacing: 0.05em;
		font-size: 5.5vw;
	}
	.row05_02 .line_text span {
		display: block;
		font-size: 3.5vw;
	}
	
	
}




/* ================================================================================

	Form

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	
	.row06 {
		margin: 80px 0 200px;
	}
	
	.row06_title h2 {
		text-align: center;
	}
	.row06_title h2 img {
		margin-bottom: 20px;
		width: 120px;
	}
	
	.row06_content {
		margin-top: 40px;
	}
	
	
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	
	.row06 {
		margin: 16vw 6vw 20vw;
	}
	
	.row06_title h2 {
		text-align: center;
	}
	.row06_title h2 img {
		width: 27vw;
		margin-bottom: 4vw;
	}
	
	.row06_content {
		margin-top: 8vw;
	}
	
	
}
