@charset "UTF-8";
/* @font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-weight: 400;
  font-style: normal;
  src: url("../webfonts/NotoSansJP-Regular.otf") format("opentype");
} */
/* @font-face {
	font-display: swap;
	font-weight: 400;
	font-style: normal;
	font-family: "Shippori Mincho";
	src: url("../webfonts/ShipporiMincho-Regular.ttf") format("truetype");
}
@font-face {
	font-display: swap;
	font-weight: 500;
	font-style: normal;
	font-family: "Shippori Mincho";
	src: url("../webfonts/ShipporiMincho-Medium.ttf") format("truetype");
}
@font-face {
	font-display: swap;
	font-weight: 600;
	font-style: normal;
	font-family: "Shippori Mincho";
	src: url("../webfonts/ShipporiMincho-SemiBold.ttf") format("truetype");
}
@font-face {
	font-display: swap;
	font-weight: 400;
	font-style: normal;
	font-family: "Cormorant Garamond";
	src: url("../webfonts/CormorantGaramond-Regular.ttf") format("truetype");
}
@font-face {
	font-display: swap;
	font-weight: 500;
	font-style: normal;
	font-family: "Cormorant Garamond";
	src: url("../webfonts/CormorantGaramond-Medium.ttf") format("truetype");
}
@font-face {
	font-display: swap;
	font-weight: 600;
	font-style: normal;
	font-family: "Cormorant Garamond";
	src: url("../webfonts/CormorantGaramond-SemiBold.ttf") format("truetype");
} */

/*--------------------------------------------------------------
reset.css
リセット関係・clearfixなど

common.css
レイアウト、TOPのスタイル記載したcss
--------------------------------------------------------------*/
/* fontawesome icomoonでよく使うアイコンだけサブセット化
https://blog.triana.jp/?p=8726

:before,
:after {
	content: "\f099";
	font-family: “icomoon”;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	font-weight: 900;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
}
/* ------------------------------------------------------------ */
/* 全デバイス/画面サイズに共通 かつ
　　479：スマートフォン縦：基本・レイアウト指定 */
/* ------------------------------------------------------------ */
* html body {
	background: url(null) fixed;
}
html {
	font-size: 62.5%;
	overflow-x: hidden;
}
/*ナビ表示のときはスクロールしないように*/
html.is-locked {
	overflow-y: hidden;
}
body {
	margin: 0;
	padding: 0;
	background: #fff;
	color: #4d4d4d;
	font-size: 1.4rem;
	line-height: 1.8;
	font-weight: 400;
	font-style: normal;
	/* font-family: "Shippori Mincho", "Cormorant Garamond", "YuMincho", "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Times New Roman", "ＭＳ 明朝", "MS Mincho", "ＭＳ Ｐ明朝", "MS PMincho", serif; */
	font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;
	overflow-wrap: break-word;
	text-size-adjust: 100%;
	font-feature-settings: "palt";
	letter-spacing: 0.8px;
	overflow: hidden;
}
.pc {
	display: none;
}
.sp {
	display: block;
}
.sp-only {
	display: block;
}
.pc-only {
	display: none;
}

@media (min-width: 751px) {
	/*電話番号リンクをスマホのみ有効にする*/
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}
/* ------------------------------------------------------------ */
/* font */
/* ------------------------------------------------------------ */
/* .fnt_en,
.yen,
.num,
.flow-ttl::before,
.copy {
	font-family: "Cormorant Garamond", "Shippori Mincho", serif;
} */

/* ------------------------------------------------------------ */
/* font size */
/* ------------------------------------------------------------ */
@media screen and (min-width: 768px) {
	/* 768px以上 */
	body {
		font-size: 1.5rem; /* 15px */
	}
}
@media screen and (min-width: 1025px) {
	/* 1025px以上 */
	body {
		font-size: 1.6rem; /* 16px */
	}
}

/* ------------------------------------------------------------ */
/* color */
/* ------------------------------------------------------------ */

.bg_pale_gray {
	background-color: #eff1f2;
}
.bg_gray {
	background-color: #92a1aa;
}
.bg_pink {
	background-color: #c8b1ae;
}
.bg_pale_pink {
	background-color: #f9f6f5;
}
.bg_dark_pink {
	background-color: #b9a8aa;
}
.clr_pale_gray {
	color: #c9d0d5;
}
.clr_gray {
	color: #92a1aa;
}
.clr_pink {
	color: #c8b1ae;
}
.clr_dark_pink {
	color: #b9a8aa;
}

/* ------------------------------------------------------------ */
/* img */
/* ------------------------------------------------------------ */
.main-logo,
.thum,
.image,
.point,
.fix_btn,
.banner {
	margin: 0 auto;
	text-align: center;
}

/* ------------------------------------------------------------ */
/* link */
/* ------------------------------------------------------------ */
/*
::selection {
  color: #383838;
  background: rgba(0,0,0,0.1);
  text-shadow: none;
}

::-moz-selection {
  color: #383838;
  background: rgba(0,0,0,0.1);
  text-shadow: none;
}
*/
a {
	color: #4d4d4d;
	cursor: pointer;
	line-height: inherit;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	text-decoration: none;
}
a:link {
	color: #4d4d4d;
	text-decoration: none;
}
a:visited {
	color: #4d4d4d;
	text-decoration: none;
}
a:hover {
	color: #666;
	opacity: 0.8;
	text-decoration: none;
}
a:active {
	color: #4d4d4d;
	text-decoration: none;
}
/* ------------------------------------------------------------ */
/* ボタン */
/* ------------------------------------------------------------ */
.btn_link {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	padding: 12px 2em;
	font-weight: 500;
	font-size: 1.1em;
	position: relative;
	z-index: 1;
	color: #4d4d4d;
	border: 1px solid #4d4d4d;
	background-color: #fff;
	position: relative;
	z-index: 1;
	line-height: 1.4;
}
.btn_link::before,
.btn_link::after {
	content: "";
	width: 0;
	height: 100%;
	background-color: #4d4d4d;
	display: block;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	position: absolute;
	top: 0;
	z-index: -1;
}
.btn_link::before {
	right: 50%;
	transform: translateX(50%);
}
.btn_link::after {
	left: 50%;
	transform: translateX(-50%);
}

.btn_link:hover {
	color: #fff !important;
	border-color: #4d4d4d;
}
.btn_link:hover::before,
.btn_link:hover::after {
	width: 100%;
}

.btn_wht {
	color: #fff !important;
	border: 1px solid #fff;
	background-color: none;
}
.btn_wht:hover {
	color: #4d4d4d !important;
}
.btn_wht::before,
.btn_wht::after {
	background-color: #fff;
}
.btn_pink {
	color: #fff !important;
	background-color: #c8b1ae;
	border: 1px solid #c8b1ae;
}
.btn_pink:hover {
	color: #c8b1ae !important;
	border-color: #c8b1ae;
}
.btn_pink::before,
.btn_pink::after {
	background-color: #fff;
}
.btn_blue {
	color: #fff !important;
	background-color: #c9d0d5;
	border: 1px solid #c9d0d5;
}
.btn_blue:hover {
	color: #92a1aa !important;
	border-color: #92a1aa;
}
.btn_blue::before,
.btn_blue::after {
	background-color: #fff;
}

.btn-box {
	width: 100%;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

/* ------------------------------------------------------------ */
/* logo */
/* ------------------------------------------------------------ */
.logo-illust {
	max-width: 183px;
	max-height: 142px;
}
.logo-kameya {
	max-width: 181px;
	max-height: 57px;
}
.logo-amarena {
	max-width: 226px;
	max-height: 78px;
}
.logo-fba {
	max-width: 470px;
	max-height: 94px;
}
/*前方一致*/
[class^="logo-"] a {
	display: block;
	width: 100%;
	margin: 0 auto;
}
/* ------------------------------------------------------------ */
/* common layouts */
/* ------------------------------------------------------------ */
.wrapper {
	width: 100%;
	height: auto;
	position: relative;
	overflow: hidden;
}
.inner {
	width: 100%;
	max-width: 100%;
	height: auto;
	padding: 0 1.2em;
	margin: 0 auto;
	clear: both;
}
.inner::after {
	content: "";
	clear: both;
	display: block;
}
/* ------------------------------------------------------------ */
/* header */
/* ------------------------------------------------------------ */
.main-header {
	padding: 11em 0 4em;
	width: 100%;
	height: 70vh;
	background: url(../img/mv.jpg) no-repeat center / cover;
	position: relative;
}
.mv-ttl {
	width: 100%;
	text-align: center;
	margin: 0 auto;
}
.mv-sub-ttl {
	width: 85%;
	text-align: center;
	margin: 0 auto 2em;
}
.mv-ttl img,
.mv-sub-ttl img {
	width: 100%;
}

/* ------------------------------------------------------------ */
/* common content */
/* ------------------------------------------------------------ */
.content {
	width: 100%;
	height: auto;
	position: relative;
	margin: 0 auto;
}
.base {
	width: 100%;
	height: auto;
	position: relative;
	padding: 5em 0;
	margin: 0 auto;
}

/* ------------------------------------------------------------ */
/* ttl,caps */
/* ------------------------------------------------------------ */

.main-ttl {
	text-align: center;
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.06em;
	margin: 0 auto 1.2em;
}

.main-ttl img {
	width: 100%;
	height: 100%;
}

.sub-ttl {
	font-size: 2.4rem;
	font-weight: 500;
	margin-bottom: 1.5em;
	letter-spacing: 0.06em;
	text-align: center;
}
.marker span {
	display: inline-block;
	font-size: 0.5em;
}

.item-ttl {
	font-weight: 500;
	font-size: 1.6em;
	letter-spacing: 0.06em;
}

.caps {
	text-align: center;
	line-height: 2.2;
	font-size: 1.1em;
	margin-bottom: 3em;
}

/* ------------------------------------------------------------ */
/* flx_box */
/* ------------------------------------------------------------ */
.flx_box {
	width: 100%;
	height: auto;
	margin: 0 auto 1em;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
/* カラム共通 */
.flx_item {
	width: 100%;
	height: auto;
	margin: 0 auto 1em;
}
.flx_item .thum {
	width: 100%;
	height: auto;
	margin: 0 auto 1em;
}

/* ------------------------------------------------------------ */
/* fix_btn */
/* ------------------------------------------------------------ */
.fix_btn {
	width: 100px;
	height: 130px;
	text-align: center;
	position: fixed;
	top: 1em;
	right: 1em;
	z-index: 999;
	/*画面が読み込まれたら1秒後にパタッと要素が出現*/
	animation-name: flipLeftAnime;
	animation-delay: 0.5s;
	animation-duration: 0.8s;
	animation-fill-mode: forwards;
	perspective-origin: left center;
	opacity: 0;
}

@keyframes flipLeftAnime {
	from {
		transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);
		opacity: 0;
	}

	to {
		transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
		opacity: 1;
	}
}

.fix_btn a {
	display: block;
	width: 100%;
}
.fix_btn span {
	display: none;
}

/* ------------------------------------------------------------ */
/* concept */
/* ------------------------------------------------------------ */

.concept {
	background-image: url(../img/concept-point.svg);
	background-repeat: no-repeat;
	background-size: auto 40%;
	background-position: left 6% bottom 10%;
	padding: 4em 0 16em;
}
.concept .main-ttl {
	width: 80%;
	max-width: 440px;
}

/* ------------------------------------------------------------ */
/* example */
/* ------------------------------------------------------------ */

.example .main-ttl {
	width: 50%;
	max-width: 225px;
	margin: 0 auto 2em;
}
.example .image {
	width: 90%;
	max-width: 840px;
}
.example .flx_box {
	margin: 2em auto 0;
}
.example .flx_item {
	position: relative;
}
.example .caps {
	margin: 0 auto 2em;
}
.example .flx_item .image {
	width: 80%;
	margin-top: 8em;
}
.example .fukidashi {
	width: 100%;
	position: absolute;
	top: 0;
	left: -1em;
	z-index: 2;
}
.example .fukidashi img {
	width: 100%;
}

/* ------------------------------------------------------------ */
/* preparation */
/* ------------------------------------------------------------ */
.preparation {
	background-image: url(../img/pre-point.svg);
	background-repeat: no-repeat;
	background-size: auto 40%;
	background-position: right 85% bottom 10%;
	padding: 4em 0 16em;
}
.preparation .main-ttl {
	width: 95%;
	max-width: 460px;
}

/* ------------------------------------------------------------ */
/* flow */
/* ------------------------------------------------------------ */
.flow {
	padding-bottom: 3em;
}
.flow .main-ttl {
	width: 70%;
	max-width: 325px;
	margin: 0 auto 2em;
}
.flow-box {
	width: 100%;
	max-width: 800px;
	margin: 0 auto 3em;
	position: relative;
}
.flow-box::before {
	content: "";
	display: block;
	width: 4px;
	height: 75%;
	background-color: #92a1aa;
	position: absolute;
	top: 0;
	left: 32px;
}

.flow-item {
	width: 100%;
	margin: 0 auto 2em;
	position: relative;
}
.flow-item a {
	text-decoration: underline;
	text-decoration-color: #b5766d;
	/* color: #b5766d; */
	font-weight: bold;
}

.flow-item .txt {
	padding: 0.8em 0.5em 0.8em 78px;
}

.flow-ttl {
	width: 100%;
	border-radius: 10px;
	background-color: #eff1f2;
	position: relative;
	line-height: 1.6;
	overflow: hidden;
}
.flow-ttl img {
	max-width: inherit;
	height: 100%;
}

/* ------------------------------------------------------------ */
/* footer */
/* ------------------------------------------------------------ */
.main-footer {
	width: 100%;
	position: relative;
	z-index: 997;
	border-top: 2px solid #c2aba9;
	background-color: #f9f6f5;
}
.main-footer .inner {
	padding: 0;
}
.main-footer .flx_box {
	margin: 0 auto;
}
.main-footer .flx_item {
	padding: 4em 2em;
	margin: 0 auto;
}
.main-footer .flx_item:nth-of-type(odd) {
	border-bottom: 1px solid #c2aba9;
}

.main-footer .logo-amarena,
.main-footer .logo-kameya {
	width: 45%;
	margin: 0 auto 15px;
}

.main-footer address {
	width: 100%;
	font-style: normal;
	font-size: 12px;
	margin-bottom: 10px;
	text-align: center;
}
.main-footer .tel {
	font-size: 1.4em;
	font-weight: bold;
	margin-bottom: 10px;
	text-align: center;
}
.main-footer .map {
	width: 100%;
	height: 240px;
	margin: 2em auto 0;
	border: 2px solid #c8b1ae;
}

.main-footer .map iframe {
	width: 100%;
	height: 100%;
}

.copy {
	display: block;
	font-size: 1rem;
	line-height: 1.5;
	padding: 10px;
	width: 100%;
	background: #c2aba9;
	text-align: center;
}

@media screen and (max-width: 360px) {
	.main-ttl {
		font-size: 2.4rem;
	}
	.sub-ttl {
		font-size: 2.2rem;
	}
	.item-ttl {
		font-size: 1.4em;
	}
	.mv-ttl {
		font-size: 2.4rem;
	}
	.price .yen {
		font-size: 1.6em;
	}
}

@media screen and (min-width: 480px) {
	/* スマートフォン横 */
	.sp-only {
		display: none;
	}
	.pc-only {
		display: block;
	}

	/* ------------------------------------------------------------ */
	/* btn */
	/* ------------------------------------------------------------ */
	.btn_link {
		min-width: auto;
		width: 50%;
	}
	/* ------------------------------------------------------------ */
	/* common content */
	/* ------------------------------------------------------------ */
	.base {
		padding: 5em 0;
	}
	.inner {
		padding: 0 1.5em;
	}
	/* ------------------------------------------------------------ */
	/* flx_box */
	/* ------------------------------------------------------------ */

	/* 2カラム */
	.flx_2cols .flx_item {
		width: calc((100% - 0.5em) / 2);
		margin: 0 0.5em 1em 0;
	}
	.flx_2cols .flx_item:nth-of-type(2n) {
		margin: 0 0 1em;
	}

	/* 3カラム */
	.flx_3cols .flx_item {
		width: calc((100% - 0.5em) / 2);
		margin: 0 0.5em 1em 0;
	}
	.flx_3cols .flx_item:nth-of-type(2n) {
		margin: 0 0 1em;
	}

	/* 4カラム */
	.flx_4cols .flx_item {
		width: calc((100% - 0.5em) / 2);
		margin: 0 0.5em 1em 0;
	}
	.flx_4cols .flx_item:nth-of-type(2n) {
		margin: 0 0 1em;
	}

	/* ------------------------------------------------------------ */
	/* list */
	/* ------------------------------------------------------------ */

	/* ------------------------------------------------------------ */
	/* ttl */
	/* ------------------------------------------------------------ */
	.main-ttl {
		font-size: 3.2rem;
	}
	.sub-ttl {
		font-size: 2.6rem;
	}
	.item-ttl {
		font-size: 1.4em;
	}
	.caps {
		text-align: center;
	}
	/* ------------------------------------------------------------ */
	/* header */
	/* ------------------------------------------------------------ */
	.main-header {
		padding: 10em 0 4em;
		height: 50vh;
	}
	.mv-ttl {
		max-width: 860px;
		width: 90%;
	}
	.mv-sub-ttl {
		width: 65%;
		margin: 0 auto 2em;
		max-width: 575px;
	}
	/* ------------------------------------------------------------ */
	/* concept */
	/* ------------------------------------------------------------ */
	.concept {
		background-size: auto 36%;
		background-position: left 20% bottom 23%;
	}
	.concept .main-ttl {
		width: 50%;
	}
	/* ------------------------------------------------------------ */
	/* example */
	/* ------------------------------------------------------------ */
	.example .main-ttl {
		width: 32%;
	}
	.example .flx_item {
		width: 80%;
		margin: 0 auto 2em;
	}
	.example .fukidashi {
		width: 80%;
		left: -3em;
	}
	/* ------------------------------------------------------------ */
	/* preparation */
	/* ------------------------------------------------------------ */
	.preparation {
		background-size: auto 50%;
		background-position: right -130% bottom 15%;
	}
	.preparation .main-ttl {
		width: 60%;
	}
	.preparation .caps {
		width: 60%;
	}
	/* ------------------------------------------------------------ */
	/* flow */
	/* ------------------------------------------------------------ */
	.flow .main-ttl {
		width: 45%;
	}

	/* ------------------------------------------------------------ */
	/* footer */
	/* ------------------------------------------------------------ */
	.main-footer .flx_2cols .flx_item {
		width: calc(100% / 2);
		margin: 0 auto;
	}
	.main-footer .flx_2cols .flx_item:nth-of-type(odd) {
		border-right: 1px solid #c2aba9;
		border-bottom: none;
	}

	.main-footer .logo-amarena,
	.main-footer .logo-kameya {
		width: 45%;
		height: 40px;
	}
	.main-footer .btn_link {
		width: 90%;
		padding: 10px 1em;
	}

	.main-footer address {
		height: 65px;
	}
}

@media screen and (min-width: 768px) {
	/* タブレット縦 / スマートフォン横 */

	/* ------------------------------------------------------------ */
	/* common content */
	/* ------------------------------------------------------------ */
	.inner {
		padding: 0 2.5em;
	}

	/* ------------------------------------------------------------ */
	/* main-header */
	/* ------------------------------------------------------------ */
	.main-header {
		padding: 11em 0 4em;
		height: 56vh;
	}

	/* ------------------------------------------------------------ */
	/* btn */
	/* ------------------------------------------------------------ */
	.fix_btn {
		width: 140px;
		height: 170px;
		top: 1.5em;
		right: 1.5em;
	}
	/* ------------------------------------------------------------ */
	/* ttl */
	/* ------------------------------------------------------------ */

	/* .main-ttl {
		font-size: 2.8rem;
	}
	.sub-ttl {
		font-size: 2.2rem;
	} */

	/* ------------------------------------------------------------ */
	/* flx_box */
	/* ------------------------------------------------------------ */
	/* 2カラム */
	.flx_2cols .flx_item {
		width: calc((100% - 1em) / 2);
		margin: 0 1em 2em 0;
	}
	.flx_2cols .flx_item:nth-of-type(2n) {
		margin: 0 0 2em;
	}
	/* 3カラム */
	.flx_3cols .flx_item {
		width: calc((100% - 2em) / 3);
		margin: 0 1em 2em 0;
	}
	.flx_3cols .flx_item:nth-of-type(3n) {
		margin: 0 0 2em;
	}
	/* 4カラム */
	.flx_4cols .flx_item {
		width: calc((100% - 4.5em) / 4);
		margin: 0 1.5em 2em 0;
	}
	.flx_4cols .flx_item:nth-of-type(4n) {
		margin: 0 0 2em;
	}
	/* ------------------------------------------------------------ */
	/* concept */
	/* ------------------------------------------------------------ */
	.concept {
		background-size: auto 45%;
		background-position: left 18% bottom 18%;
	}
	.concept .main-ttl {
		width: 45%;
	}
	/* ------------------------------------------------------------ */
	/* example */
	/* ------------------------------------------------------------ */
	.example .main-ttl {
		width: 28%;
	}
	.example .flx_box {
		margin: 4em auto 0;
		align-items: flex-end;
	}
	.example .flx_item {
		width: 50%;
		margin: 0;
	}
	.example .flx_2cols .flx_item:nth-of-type(2n) {
		margin: 0;
	}
	.example .flx_item.caps {
		padding-top: 10em;
	}
	.example .fukidashi {
		width: 100%;
		top: -18%;
		left: -100%;
	}

	.example .flx_item .image {
		width: 90%;
		margin: 0 0 0 auto;
	}
	/* ------------------------------------------------------------ */
	/* preparation */
	/* ------------------------------------------------------------ */
	.preparation {
		background-size: auto 48%;
		background-position: right -80% bottom 13%;
		padding: 5em 0 12em;
	}
	.preparation .main-ttl {
		width: 50%;
	}
	.preparation .caps {
		width: 100%;
		margin: 0 auto;
	}

	/* ------------------------------------------------------------ */
	/* flow */
	/* ------------------------------------------------------------ */
	.flow .main-ttl {
		width: 38%;
	}

	/* ------------------------------------------------------------ */
	/* footer */
	/* ------------------------------------------------------------ */
	.main-footer .flx_item {
		padding: 4em 2em 1.5em;
	}

	.main-footer .logo-amarena,
	.main-footer .logo-kameya {
		height: 50px;
	}
	.main-footer address {
		height: auto;
	}
}
@media screen and (min-width: 1025px) {
	/* デスクトップ/タブレット横 */
	.pc {
		display: block;
	}
	.sp {
		display: none;
	}
	.btn_link {
		font-size: 1.1em;
		max-width: 300px;
	}
	.link-item:hover {
		color: #fff;
		background-color: #4d4d4d;
	}
	/* ------------------------------------------------------------ */
	/* header */
	/* ------------------------------------------------------------ */
	.main-header {
		padding: 10em 0 4em;
		height: 680px;
	}
	.mv-sub-ttl {
		margin: 0 auto 4em;
	}
	/* ------------------------------------------------------------ */
	/* common content */
	/* ------------------------------------------------------------ */
	.content {
		padding: 0;
	}
	.inner {
		max-width: 1080px;
	}
	.base {
		padding: 6em 0;
	}
	/* ------------------------------------------------------------ */
	/* flexbox */
	/* ------------------------------------------------------------ */

	/* 4カラム */
	.flx_4cols .flx_item {
		width: calc((100% - 6em) / 4);
		margin: 0 2em 3em 0;
	}
	.flx_4cols .flx_item:nth-of-type(4n) {
		margin: 0 0 3em;
	}

	/* ------------------------------------------------------------ */
	/* ttl,caps */
	/* ------------------------------------------------------------ */
	.main-ttl {
		margin-bottom: 1.5em;
		font-size: 3.6rem;
		letter-spacing: 0.08em;
	}
	.sub-ttl {
		font-size: 2.8rem;
		letter-spacing: 0.1em;
	}
	.line-dot {
		font-size: 3.4rem;
		letter-spacing: 0.04em;
	}
	.caps {
		margin-bottom: 4em;
	}
	/* ------------------------------------------------------------ */
	/* fix_btn */
	/* ------------------------------------------------------------ */
	.fix_btn {
		width: 180px;
		height: 180px;
	}
	.fix_btn a:hover {
		opacity: 1;
		-webkit-animation: heartbeat 1.2s ease-in-out forwards;
		animation: heartbeat 1.2s ease-in-out forwards;
	}
	/**
 * ----------------------------------------
 * animation heartbeat https://animista.net/
 * ----------------------------------------
 */
	@-webkit-keyframes heartbeat {
		from {
			-webkit-transform: scale(1);
			transform: scale(1);
			-webkit-transform-origin: center center;
			transform-origin: center center;
			-webkit-animation-timing-function: ease-out;
			animation-timing-function: ease-out;
		}
		10% {
			-webkit-transform: scale(0.91);
			transform: scale(0.91);
			-webkit-animation-timing-function: ease-in;
			animation-timing-function: ease-in;
		}
		17% {
			-webkit-transform: scale(0.98);
			transform: scale(0.98);
			-webkit-animation-timing-function: ease-out;
			animation-timing-function: ease-out;
		}
		33% {
			-webkit-transform: scale(0.87);
			transform: scale(0.87);
			-webkit-animation-timing-function: ease-in;
			animation-timing-function: ease-in;
		}
		45% {
			-webkit-transform: scale(1);
			transform: scale(1);
			-webkit-animation-timing-function: ease-out;
			animation-timing-function: ease-out;
		}
	}
	@keyframes heartbeat {
		from {
			-webkit-transform: scale(1);
			transform: scale(1);
			-webkit-transform-origin: center center;
			transform-origin: center center;
			-webkit-animation-timing-function: ease-out;
			animation-timing-function: ease-out;
		}
		10% {
			-webkit-transform: scale(0.91);
			transform: scale(0.91);
			-webkit-animation-timing-function: ease-in;
			animation-timing-function: ease-in;
		}
		17% {
			-webkit-transform: scale(0.98);
			transform: scale(0.98);
			-webkit-animation-timing-function: ease-out;
			animation-timing-function: ease-out;
		}
		33% {
			-webkit-transform: scale(0.87);
			transform: scale(0.87);
			-webkit-animation-timing-function: ease-in;
			animation-timing-function: ease-in;
		}
		45% {
			-webkit-transform: scale(1);
			transform: scale(1);
			-webkit-animation-timing-function: ease-out;
			animation-timing-function: ease-out;
		}
	}
	/* ------------------------------------------------------------ */
	/* concept */
	/* ------------------------------------------------------------ */
	.concept {
		background-size: auto 45%;
		background-position: left 5% bottom 15%;
		padding: 6em 0 11em;
	}
	.concept .caps {
		margin: 0 auto;
		font-size: 1.4em;
		letter-spacing: 0.1em;
	}
	/* ------------------------------------------------------------ */
	/* example */
	/* ------------------------------------------------------------ */
	.example {
		padding-bottom: 8em;
	}
	.example .flx_box {
		margin: 7em auto 0;
		max-width: 800px;
	}
	.example .flx_item.caps {
		text-align: left;
		font-size: 0.9em;
		padding: 0 2em 0 4em;
	}
	.example .fukidashi {
		top: -5%;
		left: -84%;
	}
	/* ------------------------------------------------------------ */
	/* preparation */
	/* ------------------------------------------------------------ */
	.preparation {
		background-size: auto 48%;
		background-position: right -30% bottom 20%;
		padding: 6em 0 12em;
	}

	.flow-ttl {
		border-radius: 20px;
	}
	.flow-ttl img {
		width: 90%;
	}
	/* ------------------------------------------------------------ */
	/* footer */
	/* ------------------------------------------------------------ */
	address a:hover {
		text-decoration: underline;
	}
	.main-footer .flx_item {
		padding: 4em 3em 2.5em;
	}
	.main-footer .logo-amarena img,
	.main-footer .logo-kameya img {
		width: 100%;
		height: 100%;
	}
	.main-footer .map {
		height: 280px;
		margin: 2em auto 0;
	}
}
@media screen and (min-width: 1025px) and (max-width: 1100px) {
}
