@charset "UTF-8";
/* ===============================================================
	BREAK POINT
=============================================================== */
/* ===============================================================
	FONT
=============================================================== */
@media all and (-ms-high-contrast: none) {
	* {
		font-family: 'ヒラギノ角ゴシック', 'Hiragino Sans', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo,sans-serif;
	}
}

/* ===============================================================
	FONT SIZE
=============================================================== */
/* ===============================================================
	color
=============================================================== */
/* =====================
	common
===================== */
html {
	font-size: 62.5%;
}

body {
	font-size: 16px;
	font-family: "Times New Roman", '游明朝', 'Yu Mincho', YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	line-height: 1.4;
	letter-spacing: 0em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
}

img {
	max-width: 100%;
	transition: 1.5s;
	vertical-align: top;
}

.pc {
	display: block;
}

@media only screen and (max-width: 768px) {
	.pc {
		display: none;
	}
}

.sp {
	display: none;
}

@media only screen and (max-width: 768px) {
	.sp {
		display: block;
	}
}

.visuallyhidden {
	position: absolute;
	clip: rect(1px 1px 1px 1px);
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(0px 0px 99.9% 99.9%);
	clip-path: inset(0px 0px 99.9% 99.9%);
	overflow: hidden;
	height: 1px;
	width: 1px;
	padding: 0;
	border: 0;
}

/* =====================
	animation
===================== */
.fadeUp01 {
	transition: 1s;
	opacity: 0;
	transform: translate(0, 60px);
	-webkit-transform: translate(0, 60px);
}

@media only screen and (max-width: 680px) {
	.fadeUp01 {
		opacity: 0;
		transform: translate(0, 2%);
		-webkit-transform: translate(0, 2%);
	}
}

.fadeUpOn {
	opacity: 1;
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
}

@media only screen and (max-width: 680px) {
	.fadeUpOn {
		opacity: 1;
		transform: translate(0, 0);
		-webkit-transform: translate(0, 0);
	}
}

/* =====================
	mv
===================== */
.mv {
	position: relative;
	width: 100%;
	min-height: 48.4375vw;
	background: url(../images/mv_pc.jpg) no-repeat;
	background-size: cover;
}

.mv_logo {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	max-width: 22.8125vw;
	transform: translateY(-50%) translateX(-50%);
}

@media only screen and (max-width: 680px) {
	.mv {
		min-height: 100vh;
		background: none;
		overflow: hidden;
	}
	.mv::after {
		content: '';
		display: block;
		width: 100%;
		height: 100vh;
		background: url(../images/mv_sp.jpg) no-repeat;
		background-size: cover;
		background-position: 90% 0;
	}
	.mv_logo {
		position: static;
		width: 100%;
		max-width: 100%;
		transform: translateY(0) translateX(0);
	}
}

/* =====================
	container
===================== */
.container {
	width: 100%;
	overflow: hidden;
}

/* =====================
	sec
===================== */
.sec_ttl {
	margin: 0 auto 50px;
	text-align: center;
}

.sec_txt {
	margin-bottom: 100px;
	text-align: center;
	font-family: "Noto Serif JP", serif;
	font-weight: 300;
	line-height: 2;
}

@media screen and (min-width: 768px) {
	.sec_txt {
		font-size: 18px;
		font-size: 1.8rem;
	}
}

@media screen and (max-width: 768px) {
	.sec_txt {
		font-size: 2.4vw;
	}
}

@media only screen and (max-width: 1160px) {
	.sec_ttl {
		width: 41.72414vw;
		margin: 0 auto 4.31034vw;
	}
	.sec_txt {
		font-size: 1.55172vw;
		margin-bottom: 8.62069vw;
	}
}

@media only screen and (max-width: 680px) {
	.sec_ttl {
		max-width: 64.53333vw;
		margin: 0 auto 5.33333vw;
		text-align: center;
	}
	.sec_txt {
		margin-bottom: 13.33333vw;
		padding: 0 6.66667vw;
		text-align: left;
	}
}

@media only screen and (max-width: 680px) and (min-width: 768px) {
	.sec_txt {
		font-size: 20px;
		font-size: 2rem;
	}
}

@media only screen and (max-width: 680px) and (max-width: 768px) {
	.sec_txt {
		font-size: 2.66667vw;
	}
}

@media only screen and (max-width: 680px) {
	.sec_txt br {
		display: none;
	}
}

/* =====================
	style
===================== */
.style {
	width: 100%;
	margin: 0 auto 20px;
	padding: 100px 0;
}

.style-bg01 {
	background-color: #c7d5df;
}

.style-bg02 {
	background-color: #d1cbd1;
}

.style-bg03 {
	background-color: #dfd2c7;
}

.style-bg04 {
	background-color: #c1ccdf;
}

.style-bg05 {
	background-color: #e7e6a2;
}

.style-bg06 {
	background-color: #b0bec6;
}

.style-bg07 {
	background-color: #dfe6be;
}

.style-bg08 {
	background-color: #cddcdc;
}

.style:last-child {
	margin: 0 auto 100px;
}

.style_ttl {
	margin: 0 auto 60px;
	text-align: center;
}

.style_wrap {
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 1160px;
	margin: 0 auto;
}

.style_wrap-second {
	align-items: flex-start;
}

.style_img {
	width: 100%;
	max-width: 560px;
}

.style_img-order1 {
	order: 1;
}

.style_cont {
	width: 100%;
	max-width: 551px;
}

.style_cont_thm {
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
}

.style_cont_thm_img {
	width: 100%;
	max-width: 250px;
}

.style_cont_thm_img-big {
	width: 100%;
	max-width: 344px;
}

.style_cont_txt {
	margin-bottom: 40px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 300;
	line-height: 1.8;
	letter-spacing: -0.025em;
}

@media screen and (min-width: 768px) {
	.style_cont_txt {
		font-size: 18px;
		font-size: 1.8rem;
	}
}

@media screen and (max-width: 768px) {
	.style_cont_txt {
		font-size: 2.4vw;
	}
}

.style_cont_price {
	width: 100%;
}

.style_col {
	width: 100%;
	max-width: 550px;
}

.style_col_img {
	margin-bottom: 40px;
}

.style_col_txt {
	margin-bottom: 40px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 300;
	line-height: 1.8;
	letter-spacing: -0.025em;
}

@media screen and (min-width: 768px) {
	.style_col_txt {
		font-size: 18px;
		font-size: 1.8rem;
	}
}

@media screen and (max-width: 768px) {
	.style_col_txt {
		font-size: 2.4vw;
	}
}

@media only screen and (max-width: 1160px) {
	.style {
		margin: 0 auto 1.72414vw;
		padding: 8.62069vw 0;
	}
	.style:last-child {
		margin: 0 auto 8.62069vw;
	}
	.style_ttl {
		width: 100%;
		max-width: 38.27586vw;
		margin: 0 auto 5.17241vw;
	}
	.style_wrap {
		max-width: 100vw;
	}
	.style_wrap-second {
		align-items: flex-start;
	}
	.style_img {
		width: 100%;
		max-width: 48.27586vw;
	}
	.style_cont {
		width: 100%;
		max-width: 47.5vw;
	}
	.style_cont_thm {
		margin-bottom: 3.44828vw;
	}
	.style_cont_thm_img {
		width: 100%;
		max-width: 21.55172vw;
	}
	.style_cont_thm_img-big {
		width: 100%;
		max-width: 29.65517vw;
	}
	.style_cont_txt {
		font-size: 1.55172vw;
		margin-bottom: 3.44828vw;
	}
	.style_cont_price {
		width: 100%;
	}
	.style_col {
		width: 100%;
		max-width: 47.41379vw;
	}
	.style_col_img {
		margin-bottom: 3.44828vw;
	}
	.style_col_txt {
		font-size: 1.55172vw;
		margin-bottom: 3.44828vw;
	}
}

@media only screen and (max-width: 680px) {
	.style {
		width: 100%;
		margin: 0 auto 2.66667vw;
		padding: 13.33333vw 6.66667vw;
	}
	.style:last-child {
		margin: 0 auto 13.33333vw;
	}
	.style_ttl {
		max-width: 60vw;
		margin: 0 auto 6.66667vw;
	}
	.style_ttl img {
		width: 100%;
		max-width: inherit;
	}
	.style_wrap {
		flex-direction: column;
		width: 100%;
		margin: 0 auto;
	}
	.style_wrap-second {
		align-items: flex-start;
	}
	.style_img {
		width: 100%;
		max-width: inherit;
		margin-bottom: 6vw;
	}
	.style_img img {
		width: 100%;
		max-width: inherit;
	}
	.style_img-order1 {
		order: inherit;
	}
	.style_img-bottom-01::before {
		content: '';
		display: block;
		width: 100%;
		height: 64vw;
		margin-bottom: 6.66667vw;
		background: url(../images/sec05_simg01_sp.jpg) no-repeat;
		background-size: cover;
	}
	.style_img-bottom-02::before {
		content: '';
		display: block;
		width: 100%;
		height: 64vw;
		margin-bottom: 6.66667vw;
		background: url(../images/sec06_simg01_sp.jpg) no-repeat;
		background-size: cover;
	}
	.style_cont {
		width: 100%;
		max-width: inherit;
	}
	.style_cont_thm {
		margin-bottom: 6vw;
		padding-top: 2.66667vw;
	}
	.style_cont_thm_img {
		width: 100%;
		max-width: 42.66667vw;
	}
	.style_cont_thm_img img {
		width: 100%;
		max-width: inherit;
	}
	.style_cont_thm-none {
		display: none;
	}
	.style_cont_txt {
		margin-bottom: 5.33333vw;
	}
}

@media only screen and (max-width: 680px) and (min-width: 768px) {
	.style_cont_txt {
		font-size: 20px;
		font-size: 2rem;
	}
}

@media only screen and (max-width: 680px) and (max-width: 768px) {
	.style_cont_txt {
		font-size: 2.66667vw;
	}
}

@media only screen and (max-width: 680px) {
	.style_cont_price {
		width: 100%;
	}
	.style_col {
		width: 100%;
		max-width: inherit;
		margin-bottom: 13.33333vw;
	}
	.style_col:last-child {
		margin-bottom: 0;
	}
	.style_col_img {
		margin-bottom: 6vw;
	}
	.style_col_img img {
		width: 100%;
		max-width: inherit;
	}
	.style_col_txt {
		margin-bottom: 6vw;
	}
}

@media only screen and (max-width: 680px) and (min-width: 768px) {
	.style_col_txt {
		font-size: 20px;
		font-size: 2rem;
	}
}

@media only screen and (max-width: 680px) and (max-width: 768px) {
	.style_col_txt {
		font-size: 2.66667vw;
	}
}

/* =====================
	link
===================== */
.link {
	width: 100%;
	margin: 0 auto 100px;
	padding: 50px 0;
	background-color: #f7f4f0;
}

.link_list {
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
}

.link_list_item {
	transition: .4s ease;
}

.link_list_item:hover {
	opacity: .7;
	transform: translateY(5%);
}

@media only screen and (max-width: 1160px) {
	.link {
		margin: 0 auto 8.62069vw;
		padding: 4.31034vw 0;
	}
	.link_list {
		max-width: 51.72414vw;
	}
	.link_list_item {
		width: 100%;
		max-width: 11.46552vw;
	}
}

@media only screen and (max-width: 680px) {
	.link {
		width: 100%;
		margin: 0 auto 13.33333vw;
		padding: 13.33333vw 6.66667vw;
	}
	.link_list {
		width: 100%;
		max-width: inherit;
		margin: 0 auto;
	}
	.link_list_item {
		max-width: 18vw;
	}
	.link_list_item img {
		width: 100%;
		max-width: inherit;
	}
}

/* =====================
	campaign
===================== */
.campaign {
	width: 100%;
	max-width: 1160px;
	margin: 0 auto 100px;
	padding-bottom: 100px;
	border-bottom: 1px solid #808080;
}

.campaign_ttl {
	margin: 0 auto 60px;
	text-align: center;
}

.campaign_bnr {
	transition: .4s;
}

.campaign_bnr:hover {
	opacity: .7;
}

@media only screen and (max-width: 1160px) {
	.campaign {
		max-width: 100vw;
		margin: 0 auto 8.62069vw;
		padding-bottom: 8.62069vw;
	}
	.campaign_ttl {
		width: 100%;
		max-width: 33.87931vw;
		margin: 0 auto 5.17241vw;
	}
}

@media only screen and (max-width: 680px) {
	.campaign {
		width: 100%;
		margin: 0 auto 13.33333vw;
		padding-bottom: 13.33333vw;
		border: none;
	}
	.campaign_ttl {
		max-width: 52.4vw;
		margin: 0 auto 13.33333vw;
		text-align: center;
	}
	.campaign_ttl img {
		width: 100%;
		max-width: inherit;
	}
}

/* =====================
	bottom
===================== */
.bottom {
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 1160px;
	margin: 0 auto;
	padding-bottom: 200px;
}

.bottom a {
	display: block;
	width: 100%;
	max-width: 550px;
	transition: .4s;
}

.bottom a:hover {
	opacity: .8;
}

@media only screen and (max-width: 1160px) {
	.bottom {
		max-width: 100vw;
		margin: 0 auto;
		padding: 0 1.72414vw;
		padding-bottom: 17.24138vw;
	}
	.bottom a {
		max-width: 47.41379vw;
	}
}

@media only screen and (max-width: 680px) {
	.bottom {
		flex-direction: column;
		width: 100%;
		margin: 0 auto;
		padding: 0 10.66667vw 26.66667vw;
		overflow: hidden;
	}
	.bottom a {
		position: relative;
		display: block;
		width: 100%;
		max-width: inherit;
		transition: .4s;
	}
	.bottom a:first-child {
		margin-bottom: 13.33333vw;
		padding-bottom: 13.33333vw;
	}
	.bottom a:first-child:after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		display: block;
		width: 200%;
		height: 1px;
		background-color: #b7b7b7;
		transform: translateX(-25%);
	}
}

/* =====================
	fix
===================== */
.fix {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 20px 0;
	text-align: center;
	background-color: #005a46;
	transition: .4s ease-in-out;
}

.fix:hover {
	background-color: #003e89;
}

.fix_close {
	position: absolute;
	top: 50%;
	right: 25px;
	width: 40px;
	height: 40px;
	transform: translateY(-50%);
	transition: .4s;
}

.fix_close:hover {
	opacity: .7;
}

@media only screen and (max-width: 1160px) {
	.fix {
		width: 100%;
		padding: 1.72414vw 0;
	}
	.fix a img {
		width: 100%;
		max-width: 47.24138vw;
	}
	.fix_close {
		right: 2.15517vw;
		width: 3.44828vw;
		height: 3.44828vw;
	}
}

@media only screen and (max-width: 680px) {
	.fix {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		width: 86.66667vw;
		margin: 0 auto;
		padding: 2.66667vw 0;
		border-radius: 1.5vw;
		transition: 0;
	}
	.fix:hover {
		background-color: #005a46;
	}
	.fix a img {
		width: 100%;
		max-width: 80.53333vw;
	}
	.fix_close {
		position: absolute;
		top: 0;
		right: 1.33333vw;
		width: 5.33333vw;
		height: 5.33333vw;
	}
}
