@charset "UTF-8";

/* オリジナルのレイアウト
----------------------------------------*/
html {
	font-size: .5482vh;
	font-size: calc(var(--vh, 1vh) * .5482);
	overflow-x: hidden;
}

body {
	color: #004831;
	font-family: 'Noto Sans JP', sans-serif;
	background: #fffbda;
	font-size: 1.4rem;
	line-height: 1.5;
	height: 100%;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
}
.houjin {
	background: #f2ffe5;
}
.wrapper {
	overflow: hidden;
	height: 100%;
}
.scroll.wrapper {
	height: auto;
	overflow: visible;
}

img {
	backface-visibility: hidden;
}

a {
	text-decoration: none;
	color: inherit;
}
@media (max-aspect-ratio: 16/11) {
	html {
		font-size: .5vh;
	}
}
@media (max-aspect-ratio: 16/12) {
	html {
		font-size: .48vh;
	}
}
@media (max-aspect-ratio: 16/13) {
	html {
		font-size: .45vh;
	}
}
@media (max-aspect-ratio: 16/14) {
	html {
		font-size: .42vh;
	}
}
@media (max-aspect-ratio: 16/15) {
	html {
		font-size: .39vh;
	}
}
@media (max-aspect-ratio: 16/16) {
	html {
		font-size: .39vw;
	}
}
.visible_sp {
	display: none !important;
}
@media (orientation: portrait) and (max-width: 768px) {
	html {
		font-size: .8vw;
	}
	.wrapper {
		overflow: visible;
		height: auto;
		min-height: 100%;
	}
	.visible_sp {
		display: initial !important;
	}
	.visible_pc {
		display: none;
	}
}

/*font
----------------------------------------*/
.en {
	font-family: 'Oswald', sans-serif;
}


/*color
----------------------------------------*/
.color_orange {
	color: #ee7800;
}

/*header
----------------------------------------*/
.header {
	background: #004831;
	border-bottom: 1.3rem solid #c3d600;
	padding: 1.2061vh 6.1769vw 1.3157vh;
}
.header_logo {
	width: 35.7rem;
}
.header a,
.header a img {
	display: block;
}
@media (orientation: portrait) and (max-width: 768px) {
	.header {
		padding: 1.2061vh 5% 1.3157vh;
	}
	.header_logo {
		width: 30rem;
	}
}

/*content
----------------------------------------*/
main,
.contents {
	position: static;
}

/* index
----------------------------------------*/
.index {
	background: #e3f1da url(../img/top/bg_03.svg) no-repeat center 147.8rem / 100% auto;
	font-feature-settings: "palt";
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
}
.index_star {
	position: static;
}
.index_star span {
	width: 10.7rem;
	height: 12rem;
	background: url(../img/top/bg_02.png) no-repeat left top / 100% auto;
	position: absolute;
	animation-fill-mode: forwards;
	animation-duration: 2s;
	animation-name: index_star;
	animation-iteration-count: infinite;
}
.index_star span:nth-child(1) {
	left: calc(50% - 119rem);
	top: 122.6rem;
	transform: scale(-1, 1);
	animation-name: index_star_rv;
}
.index_star span:nth-child(2) {
	left: calc(50% - 80.3rem);
	top: 38.6rem;
	animation-delay: -1s;
	transform: scale(-1, 1);
	animation-name: index_star_rv;
}
.index_star span:nth-child(3) {
	left: calc(50% + 67.5rem);
	top: 36.2rem;
	animation-delay: -.5s;
}
@keyframes index_star {
	0% {
		opacity: 1;
		transform: none;
	}
	30% {
		opacity: 1;
		transform: none;
	}
	50% {
		opacity: 0;
		transform: scale(.9);
	}
	70% {
		opacity: 1;
		transform: none;
	}
	100% {
		opacity: 1;
		transform: none;
	}
}
@keyframes index_star_rv {
	0% {
		opacity: 1;
		transform: scale(-1, 1);
	}
	30% {
		opacity: 1;
		transform: scale(-1, 1);
	}
	50% {
		opacity: 0;
		transform: scale(-1, 1) scale(.9);
	}
	70% {
		opacity: 1;
		transform: scale(-1, 1);
	}
	100% {
		opacity: 1;
		transform: scale(-1, 1);
	}
}
.index::before {
	content: '';
	display: block;
	height: 13.7rem;
	width: 268.9rem;
	margin: 0 auto;
	background: url(../img/top/bg_01.png) repeat-x left top / auto 100%;
}
.index h2 {
	width: 114.7rem;
	margin: 9.6rem auto 7.2rem;
}
.index h2 img {
	width: 100%;
}
.index_contents {
	width: 28.9rem;
	position: absolute;
	top: 19.1rem;
	left: calc(50% - 126.5rem);
}
.index_contents a {
	display: block;
	width: 28.9rem;
	height: 28.9rem;
	background: #004831;
	color: #fff;
	border-radius: 50%;
	text-align: center;
	font-size: 3.8rem;
	font-weight: bold;
	padding-top: 7rem;
	line-height: 1.43;
	letter-spacing: .05em;
	transition: opacity .3s;
}
.index_contents a::after {
	content: '';
	display: block;
	width: 2.3rem;
	height: 3.6rem;
	background: url(../img/top/icon_arrow.svg) no-repeat left top / 100% auto;
	transform: rotate(90deg);
	margin: 1.7rem auto 0;
	transition: transform .3s;
}
.index_card {
	width: 102.3rem;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.index_card figure {
	width: 48.6rem;
	margin-bottom: 4.6rem;
}
.index_card figure:last-child {
	margin: 0 auto;
}
.index_btn {
	position: static;
}
.index_btn li {
	width: 46.4rem;
	position: absolute;
}
.index_btn li:nth-child(1) {
	top: 56.5rem;
	left: calc(50% - 119.6rem);
}
.index_btn li:nth-child(2) {
	top: 41.4rem;
	left: calc(50% + 79.9rem);
}
.index_btn li:nth-child(3) {
	top: 100.6rem;
	left: calc(50% - 95.9rem);
}
.index_btn li:nth-child(4) {
	top: 85.5rem;
	left: calc(50% + 58.1rem);
}
.index_btn li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 46.4rem;
	height: 46.4rem;
	border-radius: 50%;
	background: #dce860;
	font-size: 5rem;
	line-height: 1.28;
	font-weight: 900;
	letter-spacing: .05em;
	text-align: center;
	padding-top: 5.8rem;
	transition: opacity .3s;
}
.index_btn li a > span::after {
	content: '';
	display: block;
	width: 2.3rem;
	height: 3.7rem;
	background: url(../img/top/icon_arrow_green.svg) no-repeat left top / 100% auto;
	margin: 3.5rem auto 0;
	transition: transform .3s;
}
.index_btn li:nth-child(3) a::after {
	top: 3.6rem;
	position: relative;
	margin-top: 3rem;
}
.index_btn li:nth-child(4) a > span::after {
	top: 1.2rem;
	position: relative;
	margin-top: 1.5rem;
}
.index_btn li a > span span {
	font-size: 4rem;
	letter-spacing: 0;
}
.index_btn li a > span sup {
	font-size: 3rem;
	letter-spacing: 0;
}
.index_btn li:nth-child(3) a::after,
.index_btn li:nth-child(4) a::after {
	content: '';
	display: block;
	width: 7.3rem;
	height: 11.6rem;
	background: url(../img/top/icon_appli.png) no-repeat left top / 100% auto;
	position: absolute;
	left: 6.5rem;
	bottom: 2.5rem;
}
.index_btn li:nth-child(4) a::after {
	width: 10.2rem;
	height: 7.2rem;
	background-image: url(../img/top/icon_movie.png);
	left: auto;
	right: 3.1rem;
	bottom: 4.2rem;
}
.index_btn li.comingsoon a {
	pointer-events: none;
	padding-top: 6.5rem;
}
.index_btn li.comingsoon a::after {
	display: none;
}
.index_btn li.comingsoon a > span::after {
	visibility: hidden;
}
.index_fbtn {
	width: 178rem;
	margin: 19rem auto 0;
	display: flex;
	justify-content: space-between;
	left: -27rem;
}
.index_fbtn::after {
	content: '';
	display: block;
	width: 53.2rem;
	height: 42.1rem;
	background: url(../img/top/bibasuke_anime.gif) no-repeat left top / 100% auto;
	position: absolute;
	right: -65.8rem;
	top: -26.9rem;
}
.index_fbtn li {
	width: 59.6rem;
}
.index_fbtn li:nth-child(1) {
	width: 48.1rem;
}
.index_fbtn li a {
	display: block;
	background: #e3f1da;
	border-radius: 1.5rem;
	font-size: 4rem;
	font-weight: bold;
	padding: 2.5rem;
	letter-spacing: .04em;
	text-align: center;
	transition: opacity .3s;
}
.index_fbtn li a sup {
	font-size: 2.4rem;
	vertical-align: 1.2rem;
	letter-spacing: 0;
	margin-left: -.2rem;
}
.index_fbtn li a img {
	width: 3.8rem;
	margin: -2rem 1.8rem -2rem 0;
	vertical-align: 1rem;
}
.index_fbtn_note {
	text-align: right;
	color: #fff;
	font-size: 2.4rem;
	font-weight: 300;
	letter-spacing: .05em;
	margin: .7rem -1.9rem 0 0;
}
.menu .modaal-container {
	max-width: none;
}
.contents_menu {
	max-width: 207.3rem;
	height: 172.4rem;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 23.9rem 0 10rem;
}
.contents_menu h2 {
	width: 100%;
	text-align: center;
	font-size: 8rem;
	font-weight: 900;
	color: #004831;
	margin-bottom: 6.7rem;
}
.contents_menu_item {
	width: 98.6rem;
}
.contents_menu_item h3 {
	background: #004831;
	color: #fff;
	font-size: 6rem;
	text-align: center;
	font-weight: 900;
	padding: 1.3rem 1rem 1.9rem;
	margin-bottom: 4.1rem;
	font-feature-settings: "palt";
	letter-spacing: .06em;
}
.contents_menu_item .contents_menu_list {
	padding: 0 1.1rem;
	text-align: left;
}
.contents_menu_item .contents_menu_list li {
	border-bottom: 1px solid #004831;
	font-size: 4.6rem;
	font-weight: 900;
}
.contents_menu_item .contents_menu_list li a {
	display: block;
	padding: 2.5rem 3.7rem 3.3rem;
	color: #004831;
	font-feature-settings: "palt";
	letter-spacing: .05em;
}
.contents_menu_item .contents_menu_list li a.comingsoon {
	pointer-events: none;
}
.contents_menu_item .contents_menu_list li a::after {
	content: '';
	display: block;
	width: 2.5rem;
	height: 3.9rem;
	background: url(../img/top/icon_arrow_green.svg) no-repeat left top / 100% auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 4.1rem;
	margin: auto 0;
}
.contents_menu_item .contents_menu_list li a sup {
	font-size: 2.6rem;
	vertical-align: 1.6rem;
}
.contents_menu_note {
	font-size: 2.4rem;
	color: #004831;
	margin: 1.4rem 4rem 0;
	letter-spacing: .08em;
	font-feature-settings: "palt";
}
.contents_menu_item:nth-child(3) {
	text-align: right;
}
.contents_menu_item:nth-child(3) .contents_menu_note {
	display: inline-block;
	text-align: left;
	margin-top: 4.5rem;
}
.menu.modaal-wrapper .modaal-close {
	font-family: inherit;
}
.menu.modaal-wrapper .modaal-close:after,
.menu.modaal-wrapper .modaal-close:before {
	background: #004831;
	width: .4rem;
}
.menu.modaal-wrapper .modaal-close span {
	text-indent: -9999rem;
	width: auto !important;
	height: 4.2rem !important;
	left: 0;
	right: 0;
	bottom: -5.4rem;
	clip: auto;
}
.menu.modaal-wrapper .modaal-close span::before {
	content: '閉じる';
	display: block;
	font-size: 3rem;
	font-weight: 900;
	color: #004831;
	text-indent: 0;
}
.hidden {
	display: none;
}
@media (hover:hover) {
	.index_contents a:hover,
	.index_btn li a:hover,
	.index_fbtn li a:hover {
		opacity: .6;
	}
	.index_contents a:hover::after {
		transform: translateY(1rem) rotate(90deg);
	}
	.index_btn li a:hover > span::after {
		transform: translateX(1rem);
	}
}
@media (orientation: portrait) and (max-width: 768px) {
	.index {
		background: #e3f1da url(../img/top/bg_03-sp.svg) no-repeat center bottom / 100% auto;
		height: auto;
		padding-bottom: 1rem;
	}
	.index_star span {
		width: 14.028rem;
		height: 15.865rem;
	}
	.index_star span:nth-child(1) {
		left: 14.696rem;
		top: 188.042rem;
		transform: scale(-1, 1);
	}
	.index_star span:nth-child(2) {
		left: 96.693rem;
		top: 188.042rem;
		animation-delay: -.5s;
		animation-name: index_star;
	}
	.index_star span:nth-child(3) {
		display: none;
	}
	.index::before {
		height: 11.786rem;
		width: 121.678rem;
		background-image: url(../img/top/bg_01-sp.png);
	}
	.index h2 {
		width: 76.194rem;
		margin: 6.806rem auto 9.296rem 4.648rem;
	}
	.index_contents {
		width: 33.901rem;
		top: 15.77rem;
		left: auto;
		right: 2.656rem;
	}
	.index_contents a {
		width: 33.901rem;
		height: 33.901rem;
		font-size: 4.316rem;
		padding-top: 9rem;
	}
	.index_contents a::after {
		width: 2.656rem;
		height: 4.15rem;
	}
	.index_card {
		width: 115.898rem;
	}
	.index_card figure {
		width: 36.74rem;
		margin-bottom: 5.7rem;
	}
	.index_card figure:last-child {
		margin: 0;
	}
	.index_btn {
		position: relative;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		width: 100.367rem;
		margin: 0 auto;
	}
	.index_btn li {
		width: 47.428rem;
		margin-bottom: 5rem;
		position: relative;
	}
	.index_btn li:nth-child(1),
	.index_btn li:nth-child(2),
	.index_btn li:nth-child(3),
	.index_btn li:nth-child(4) {
		top: auto;
		left: auto;
	}
	.index_btn li a {
		width: 47.428rem;
		height: 47.428rem;
		padding-top: 4.5rem;
	}
	.index_btn li a > span::after {
		margin: 5rem auto 0;
	}
	.index_btn li:nth-child(3) a > span::after {
		top: 5.2rem;
		margin-top: 2rem;
	}
	.index_btn li:nth-child(4) a > span::after {
		top: 2.2rem;
		margin-top: 1.5rem;
	}
	.index_btn li:nth-child(4) a::after {
		width: 11.857rem;
		height: 8.517rem;
		right: 1.837rem;
		bottom: 2.338rem;
	}
	.index_btn li.comingsoon a {
		font-size: 6.68rem;
		line-height: 1.2;
		letter-spacing: .03em;
		font-weight: bold;
	}
	.index_fbtn {
		width: 118.403rem;
		margin: 23rem auto 0;
		flex-wrap: wrap;
		justify-content: center;
		left: auto;
	}
	.index_fbtn::after {
		width: 45.585rem;
		height: 36.2rem;
		right: 0;
		left: 8rem;
		top: -37.2rem;
		margin: 0 auto;
	}
	.index_fbtn li,
	.index_fbtn li:nth-child(1) {
		width: 47.8138%;
		margin: 0 0 2.839rem 4.3724%;
	}
	.index_fbtn li:nth-child(2) {
		margin-left: 0;
	}
	.index_fbtn li:nth-child(1) {
		margin: 0 20% 2.839rem;
	}
	.index_fbtn li a {
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 5.01rem;
		height: 16.533rem;
		line-height: 1.2;
		border-radius: 2rem;
	}
	.index_fbtn li a sup {
		font-size: 3rem;
	}
	.index_fbtn li a img {
		width: 4.509rem;
		margin: -2rem 2rem -2rem 2.5rem;
	}
	.index_fbtn_note {
		font-size: 3.34rem;
		margin: 1.5rem 0 0 -11rem;
	}
	.menu .modaal-container {
		overflow: auto !important;
		height: 100dvh !important;
	}
	.contents_menu {
		max-width: 108.55rem;
		height: auto;
		display: block;
		padding: 20rem 0 10rem;
	}
	.contents_menu h2 {
		font-size: 8.35rem;
		font-weight: bold;
		margin-bottom: 4.5rem;
	}
	.contents_menu_item {
		width: auto;
	}
	.contents_menu_item + .contents_menu_item {
		margin-top: 11rem;
	}
	.contents_menu_item h3 {
		font-size: 6.346rem;
		padding: 1.6rem 1rem 2.2rem;
	}
	.contents_menu_item .contents_menu_list {
		padding: 0 2.3rem;
	}
	.contents_menu_item .contents_menu_list li {
		font-size: 5.01rem;
	}
	.contents_menu_item .contents_menu_list li a {
		padding: 3rem 3.5rem 4.35rem;
	}
	.contents_menu_note {
		font-size: 3.34rem;
		margin: 2.4rem 2.4rem 0;
		letter-spacing: .03em;
	}
	.contents_menu_item:nth-child(3) {
		text-align: left;
	}
	.contents_menu_item:nth-child(3) .contents_menu_note {
		display: block;
		margin-top: 2.5rem;
	}
	.menu.modaal-wrapper .modaal-close {
		width: 12.859rem;
		height: 12.859rem;
	}
	.menu.modaal-wrapper .modaal-close:after,
	.menu.modaal-wrapper .modaal-close:before {
		width: .8rem;
		height: 17rem;
		left: 6rem;
	}
	.menu.modaal-wrapper .modaal-close span {
		height: 5.2rem !important;
	}
	.menu.modaal-wrapper .modaal-close span::before {
		font-size: 4.175rem;
	}
}


/* index_houjin
----------------------------------------*/
.index_houjin {
	height: 100vh;
	background: #e2f3d1;
	padding: 11.5rem 10rem 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: stretch;
	align-content: flex-start;
	flex-wrap: wrap;
	font-feature-settings: "palt";
}
.index_houjin h1 {
	width: 100%;
	text-align: center;
	font-size: 12rem;
	font-weight: 900;
	letter-spacing: .06em;
	margin-bottom: 8rem;
}
.index_item {
	width: 48.368%;
	background: #fff;
	border-radius: 3rem;
	min-height: 48rem;
	padding: 4.2rem 7.3rem 1rem;
	margin-bottom: 4.8rem;
	margin-left: 3.264%;
}
.index_item:nth-of-type(2n+1) {
	margin-left: 0;
}
.index_kojin .index_item {
	padding: 3.5rem 7.3rem 3.5rem;
}
.index_item p {
	font-size: 4.3rem;
	font-weight: 500;
	color: #000;
	line-height: 1.4;
	margin: 3.6rem 0 3.1rem 1.5rem;
	letter-spacing: .08em;
	text-align: justify;
}
.index_houjin .index_item:nth-of-type(1) p {
	margin: 1.5rem 0 0 1.2rem;
}
.index_houjin .index_houjin::after,
.index_houjin .index_kojin .index_qrcode::after {
	content: '';
	display: block;
	width: 30.5rem !important;
	height: 27rem !important;
	background: url(../img/common/img_midosuke.png) no-repeat left bottom / 100% auto;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: 28.5rem !important;
}
.index_houjin .index_kojin .index_qrcode::after {
	width: 30.2rem !important;
	height: 26.7rem !important;
	top: 50%;
	right: 0;
	left: auto;
	margin-top: -13.3rem;
	margin-left: 0 !important;
}
.index_houjin .btn.type02 a {
	box-shadow: none;
	background: -moz-linear-gradient(top, #067755 0%, #066347 100%);
	background: -webkit-linear-gradient(top, #067755 0%,#066347 100%);
	background: linear-gradient(to bottom, #067755 0%,#066347 100%);
	color: #fff;
	border-radius: 1.5rem;
	font-size: 5.4rem;
	letter-spacing: .07em;
	font-weight: bold;
	overflow: hidden;
	height: 18rem;
	padding: 0 0 1.8rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	box-shadow: 0 -1.8rem 0 0 #06543d inset;
}
.index_houjin .index_kojin .btn.type02 a {
	background: -moz-linear-gradient(top, #dcaf2c 0%, #be8f22 100%);
	background: -webkit-linear-gradient(top, #dcaf2c 0%,#be8f22 100%);
	background: linear-gradient(to bottom, #dcaf2c 0%,#be8f22 100%);
	box-shadow: 0 -1.8rem 0 0 #a27808 inset;
}
.index_houjin .btn.type02 a::before,
.index_houjin .btn.type02 a::after {
	display: none;
}
.index_houjin .btn a span.txt_sm {
	width: 100%;
	display: block;
	font-size: 5rem;
	margin-top: .3rem;
}
.index_houjin .index_qrcode {
	width: 100%;
	text-align: center;
	margin: 7rem 33rem 0 0;
}
.index_houjin .index_qrcode::before {
	content: '';
	display: block;
	width: 29.9rem;
	height: 25.1rem;
	background: url(../img/houjin/img_sterapack.png) no-repeat left top / 100% auto;
	position: absolute;
	top: -4.6rem;
	right: 38rem;
}
.index_houjin .index_kojin .index_qrcode {
	width: 48.368%;
	margin: 0 0 4.8rem;
	padding: 0 0 3rem 5rem;
	text-align: left;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.index_houjin .index_qrcode a {
	display: inline-flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: left;
}
.index_houjin .index_qrcode a img {
	width: 14.5rem;
	margin: .5rem 3rem 0 0;
}
.index_houjin .index_qrcode a p {
	margin: 0 !important;
	font-size: 5.41rem;
	font-weight: bold;
	line-height: 1;
}
.index_houjin .index_qrcode a p span {
	font-size: 3.78rem;
	letter-spacing: .02em;
}
.index_houjin .detail_back {
	width: 100%;
	text-align: left;
	margin-top: -4.5rem;
}
.qrcode_modal {
	width: 111.6rem;
	text-align: center;
	padding: 7.8rem 0 9.5rem;
}
.qrcode_modal p {
	font-size: 6rem;
	font-weight: bold;
	margin-bottom: 7.5rem;
	letter-spacing: -.02em;
}
.qrcode_modal img {
	width: 66.6rem;
}
.modaal-inline .modaal-container {
	max-width: none;
	width: 111.6rem;
}
@media (orientation: portrait) and (max-width: 768px) {
	.index_houjin {
		height: auto;
		min-height: 100dvh;
		padding: 6.7rem 3.5rem;
		display: block;
	}
	.index_houjin::after {
		content: '';
		display: block;
		width: 29.9rem;
		height: 25.1rem;
		background: url(../img/houjin/img_sterapack.png) no-repeat left top / 100% auto;
		margin: -5rem auto 0;
	}
	.index_houjin h1 {
		font-size: 8rem;
		font-weight: 900;
		letter-spacing: .06em;
		margin-bottom: 8rem;
	}
	.index_item {
		width: auto;
		padding: 5rem 7.3rem 5.2rem;
		margin-left: 0;
	}
	.index_item p {
		font-size: 4.6rem;
		letter-spacing: .03em;
		margin: 3rem 0 6.5rem 1.5rem;
	}
	.index_houjin .index_item:nth-child(1) p {
		margin: 3rem 0 0 1.2rem;
	}
	.index_houjin .index_item p {
		margin: 3rem 0 6.5rem 1.2rem;
	}
	.index_houjin .btn.type02 a {
		border-radius: 2.5rem;
		height: 19.5rem;
		padding: 0 0 2.5rem;
		box-shadow: 0 -2.8rem 0 0 #06543d inset;
	}
	.index_houjin .index_qrcode {
		display: none !important;
	}
	.index_houjin .detail_back {
		margin-top: 0;
		top: 18rem;
	}
}

/* card_index
----------------------------------------*/
.card_index {
	width: 250rem;
	margin: 0 auto;
	padding: 10rem 0;
}
.card_index h2 {
	font-size: 11.5rem;
	font-weight: 900;
	text-align: center;
	margin-bottom: 5rem;
}
.card_index_btn .btn_sm + .btn_sm {
	margin-top: 5rem;
}
.card_index_btn .kerning_kana {
	letter-spacing: -.05em;
}
.card_index_btn .txt_brackets {
	margin: 0 -.4em;
}
.card_index_btn .btn_sm a[href="../goldclassic_01/index.html"] {
	font-size: 6rem;
	padding: 3.875rem 17rem 4.375rem 0;
}
.card_index_btn .btn_sm img {
	width: 15.8rem;
	position: absolute;
	top: 0;
	bottom: 1rem;
	right: 7.5rem;
	margin: auto 0;
}
.card_index_btn .btn_sm img:last-child:nth-of-type(2) {
	width: 12.2rem;
	top: 4rem;
	bottom: 0;
	right: 7rem;
}
.card_index_btn .btn_sm img:nth-last-child(2) {
	width: 12.2rem;
	top: 0;
	bottom: 3.5rem;
	right: 11.2rem;
}
.card_index_link {
	width: 252.5rem;
	margin: 5rem auto 0;
	text-align: right;
	font-weight: bold;
	font-size: 3.6rem;
}
.card_index_link a {
	display: inline-block;
	padding-right: 3.7rem;
}
.card_index_link a::after {
	content: '';
	display: block;
	width: 2.1rem;
	height: 3.2rem;
	background: url(../img/shindan/icon_back_arrow_green.png) no-repeat left top / 100% auto;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto 0;
}
@media (orientation: portrait) and (max-width: 768px) {
	.card_index {
		width: auto;
		margin: 0 5%;
		padding: 10rem 0;
	}
	.card_index h2 {
		font-size: 10rem;
		margin-bottom: 8rem;
	}
	.card_index_btn .btn_sm a {
		height: 25rem;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		padding-right: 16rem;
	}
	.card_index_btn .btn_sm a div {
		width: 100%;
	}
	.card_index_btn .btn_sm a[href="../goldclassic_01/index.html"] {
		font-size: 4.4rem;
		padding: 3.875rem 17rem 4.375rem 0;
	}
	.card_index_btn .btn_sm img {
		right: 5.5rem;
	}
	.card_index_btn .btn_sm img:last-child:nth-of-type(2) {
		right: 5rem;
	}
	.card_index_btn .btn_sm img:nth-last-child(2) {
		right: 9.2rem;
	}
	.card_index_link {
		width: auto;
		margin: 7rem 0 0;
		text-align: center;
		font-size: 5rem;
	}
	.card_index_link a::after {
		width: 2.4rem;
		height: 3.65rem;
	}
}

/* diagnosis_index
----------------------------------------*/
.diagnosis_index {
	padding: 13.1rem 0;
}
.diagnosis_index h2 {
	font-size: 14rem;
	font-weight: 900;
	text-align: center;
	letter-spacing: -.08em;
	left: 1.5rem;
	margin-bottom: 15.2rem;
}
.diagnosis_index h2::before {
	content: '';
	display: block;
	width: 39.9rem;
	height: 31.5rem;
	background: url(../img/shindan/img_01.png) no-repeat left top / 100% auto;
	position: absolute;
	left: 50%;
	top: -1.9rem;
	margin-left: -125.9rem;
}
.diagnosis_index h2::after {
	content: '';
	display: block;
	width: 47.1rem;
	height: 44.3rem;
	background: url(../img/shindan/img_02.png) no-repeat left top / 100% auto;
	position: absolute;
	left: 50%;
	top: -7.2rem;
	margin-left: 81.5rem;
}
.diagnosis_index h2 > span {
	display: inline-block;
	width: 20.6rem;
	height: 20.6rem;
	background: #108761;
	color: #fff;
	font-size: 13.2rem;
	border-radius: 50%;
	font-weight: bold;
	margin-left: 1.3rem;
	vertical-align: .6rem;
	text-indent: -.05em;
}
.diagnosis_index h2 > span span {
	position: relative;
	z-index: 10;
}
.diagnosis_index h2 > span + span {
	margin-left: -5.4rem;
	margin-right: .6rem;
}
.diagnosis_index_btn {
	width: 200rem;
	margin: 0 auto;
	z-index: 100;
}
.diagnosis_index_btn .btn_sm {
	width: 120rem;
	margin: 6.2rem auto 0;
}
.diagnosis_index_btn .btn + .btn {
	margin-top: 8rem;
}
.diagnosis_index_btn_start {
	display: block;
	width: 53.7rem;
	background: #108761;
	color: #fff;
	margin: .8rem auto 0;
	font-size: 6.8rem;
	padding-bottom: .5rem;
	padding-left: 3.5rem;
	font-weight: 600;
	border-radius: 5.25rem;
	letter-spacing: .05em;
}
.diagnosis_index_btn_start::after {
	content: '';
	width: 3rem;
	height: 4.6rem;
	display: inline-block;
	background: url(../img/common/icon_arrow_01.png) no-repeat left top / 100% auto;
	margin-left: 3.5rem;
	vertical-align: .5rem;
}
.diagnosis_link {
	width: 252.5rem;
	margin: -6rem auto 0;
	text-align: right;
	font-weight: bold;
	font-size: 3.6rem;
}
.diagnosis_link a {
	display: inline-block;
	padding-right: 3.7rem;
}
.diagnosis_link a::after {
	content: '';
	display: block;
	width: 2.1rem;
	height: 3.2rem;
	background: url(../img/shindan/icon_back_arrow_green.png) no-repeat left top / 100% auto;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto 0;
}
.diagnosis_question {
	text-align: center;
	padding-top: 12.1rem;
	position: static;
}
.diagnosis_question::after {
	content: '';
	display: block;
	width: 37.9rem;
	height: 30rem;
	background: url(../img/shindan/img_midosuke_01.png) no-repeat left top / 100% auto;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: 70.6rem;
}
.diagnosis_question.q02::after {
	width: 34.1rem;
	height: 47.7rem;
	background-image: url(../img/shindan/img_midosuke_02.png);
	bottom: 3.5rem;
	margin-left: 75.5rem;
}
.diagnosis_question.q03::after,
.houjin .diagnosis_question.q02::after {
	width: 36.2rem;
	height: 30.6rem;
	background-image: url(../img/shindan/img_midosuke_03.png);
	margin-left: 72.9rem;
	bottom: 0;
}
.diagnosis_question.q03_02::after {
	width: 39.7rem;
	height: 47.2rem;
	background-image: url(../img/shindan/img_midosuke_04.png);
	bottom: 3.9rem;
	margin-left: 75.6rem;
}
.diagnosis_question.q03_03::after {
	width: 38.2rem;
	height: 30.6rem;
	background-image: url(../img/shindan/img_midosuke_05.png);
	margin-left: 70rem;
}
.houjin .diagnosis_question.q03::after {
	width: 35.8rem;
	height: 30.2rem;
	background-image: url(../img/shindan/img_midosuke_07.png);
	margin-left: 72.5rem;
}
.houjin .diagnosis_question.q0302::after {
	width: 34.2rem;
	height: 30.2rem;
	background-image: url(../img/shindan/img_midosuke_08.png);
	margin-left: 75.5rem;
}
.houjin .diagnosis_question.q0303::after {
	width: 34rem;
	height: 29.8rem;
	background-image: url(../img/shindan/img_midosuke_09.png);
	margin-left: 75.2rem;
}
.houjin .diagnosis_question.q04::after {
	width: 35.6rem;
	height: 30.6rem;
	background-image: url(../img/shindan/img_midosuke_10.png);
	margin-left: 72.4rem;
}
.diagnosis_question.q03.smile::after {
	width: 38.4rem;
	height: 30rem;
	background-image: url(../img/shindan/img_midosuke_06.png);
	margin-left: 70rem;
}
.diagnosis_question h2 {
	width: 248.8rem;
	margin: 0 auto 11.9rem;
	font-size: 11.5rem;
	font-weight: 900;
	text-align: left;
	padding-top: 3rem;
	padding-left: 33rem;
}
.diagnosis_question.q03 h2 {
	margin-right: 26.9rem;
}
.diagnosis_question h2 .kerning_dot {
	margin: 0 -.15em;
}
.diagnosis_question.q02 h2 {
	margin: 0 auto 12rem;
	letter-spacing: .027em;
}
.diagnosis_question.q03 h2 {
	margin: 0 auto 13.1rem;
}
.diagnosis_question h2.align_c {
	padding-top: 0;
	line-height: 1.3;
	padding-right: 34rem;
	text-align: center;
	margin-bottom: 2.6rem;
}
.diagnosis_question.q03 h2.align_c,
.diagnosis_question.q03_03 h2.align_c {
	margin-bottom: 3.6rem;
}
.diagnosis_question h2 .kerning_kana {
	letter-spacing: -.08em;
}
.diagnosis_question.q01 h2 .kerning_kana {
	letter-spacing: -.12em;
	margin-right: -.1em;
}
.diagnosis_question.q03_02 h2 .kerning_kana {
	margin-left: -.3em;
}
.diagnosis_question.q03 h2 {
	white-space: nowrap;
}
.diagnosis_question h2 .en {
	width: 24.9rem;
	height: 24.9rem;
	line-height: 2;
	line-height: 22rem;
	background: #108761;
	color: #fff;
	padding-left: 1.2rem;
	font-weight: 500;
	font-size: 13rem;
	text-align: center;
	border-radius: 50%;
	letter-spacing: .04em;
	display: inline-block;
	position: absolute;
	left: 0;
	top: 0;
}
.diagnosis_question_range_current {
	width: 100%;
	text-align: center;
	font-size: 14.7rem;
	font-weight: 600;
	padding-left: 5rem;
	margin-bottom: 5.6rem;
	opacity: 0;
	transition: opacity .3s;
}
.diagnosis_question_range_current.show {
	opacity: 1;
}
.diagnosis_question_range_current span {
	text-align: center;
	font-size: 21rem;
	font-weight: 600;
	margin-right: 1rem;
}
.diagnosis_question_range {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto 28.9rem;
	left: -1.7rem;
	width: 204.5rem;
	touch-action: none;
}
.diagnosis_question_range input[type="range"] {
	-webkit-appearance: none;
	appearance: none;
	outline: none;
	width: 100%;
	height: 4rem;
	border-radius: 0;
	background: #bdbdbd;
	margin-bottom: 5.2rem;
	touch-action: none;
}
.diagnosis_question_range input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	background: -moz-linear-gradient(top, #fff 40%, #e5e5e5 100%);
	background: -webkit-linear-gradient(top, #fff 40%,#e5e5e5 100%);
	background: linear-gradient(to bottom, #fff 40%,#e5e5e5 100%);
	width: 9.8rem;
	height: 9.8rem;
	border-radius: 50%;
	box-shadow: 0 0 0 1.4rem #ee7800;
}
.diagnosis_question_range input[type="range"]::-moz-range-thumb {
	-webkit-appearance: none;
	appearance: none;
	background: -moz-linear-gradient(top, #fff 40%, #e5e5e5 100%);
	background: -webkit-linear-gradient(top, #fff 40%,#e5e5e5 100%);
	background: linear-gradient(to bottom, #fff 40%,#e5e5e5 100%);
	width: 9.8rem;
	height: 9.8rem;
	border-radius: 50%;
	box-shadow: 0 0 0 1.4rem #ee7800;
}
.diagnosis_question_range input[type="range"]::-moz-focus-outer {
	border: 0;
}
.diagnosis_question_range_min {
	width: 33.333%;
	position: relative;
	left: .2rem;
	font-size: 10rem;
	text-align: left;
	font-weight: 600;
	letter-spacing: -.02em;
}
.diagnosis_question_range_mid {
	width: 33.333%;
	text-align: center;
	font-size: 10rem;
	font-weight: 600;
	letter-spacing: -.02em;
	position: relative;
	left: 2rem;
}
.diagnosis_question_range_max {
	width: 33.333%;
	position: relative;
	right: -10rem;
	text-align: right;
	font-size: 10rem;
	font-weight: 600;
	letter-spacing: -.02em;
}
.diagnosis_question_range_min span,
.diagnosis_question_range_mid span,
.diagnosis_question_range_max span {
	font-size: 7rem;
	margin-left: .9rem;
}
.diagnosis_question.q03_02 .diagnosis_question_range_min span,
.diagnosis_question.q03_02 .diagnosis_question_range_mid span,
.diagnosis_question.q03_02 .diagnosis_question_range_max span {
	font-size: 6rem;
}
.diagnosis_question_btn {
	width: 120.1rem;
	margin: 7.6rem auto 0;
	padding-left: .09rem;
	z-index: 10;
}
.houjin .diagnosis_question_btn {
	visibility: hidden;
}
.q01 .diagnosis_question_btn {
	padding-top: .09rem;
}
.q03 .diagnosis_question_btn,
.q03_03 .diagnosis_question_btn {
	margin-top: 6.5rem;
}
.diagnosis_question_btn.btn_sm button {
	font-size: 9rem;
	padding: 2.2rem 0 2.8rem;
}
.diagnosis_question_radio {
	width: 228.7rem;
	height: 82.5rem;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.diagnosis_question_radio.col3 {
	width: 252.5rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.diagnosis_question_radio .btn {
	width: 110rem;
	margin-bottom: 6.4rem;
	line-height: 1.25;
}
.diagnosis_question_radio.col3 .btn {
	width: 31.1683%;
	margin-left: 3.24755%;
}
.diagnosis_question_radio.col3 .btn:nth-child(1) {
	margin-left: 10%;
}
.q04 .diagnosis_question_radio.col3 .btn:nth-child(1) {
	margin-left: 0;
}
.diagnosis_question_radio.col3 .btn:nth-child(2) {
	margin-right: 10%;
}
.q04 .diagnosis_question_radio.col3 .btn:nth-child(2) {
	margin-right: 0;
}
.diagnosis_question_radio.col3 .btn:nth-child(3) {
	margin-left: 0;
}
.diagnosis_question_radio.col3 .btn:nth-child(4) label {
	font-size: 9.3rem;
}
.diagnosis_question_radio .btn .txt_sm {
	font-size: 8rem;
}
.diagnosis_question_txt {
	font-size: 6rem;
	margin-bottom: -9rem;
	font-weight: bold;
}
.diagnosis_question_radio.col4 {
	width: 252.5rem;
}
.diagnosis_question_radio.col4 .btn {
	width: 24%;
}
.diagnosis_question_radio.col4 .btn label {
	font-size: 11rem;
	line-height: .8;
}
.diagnosis_question_radio.col4 .btn .txt_sm {
	font-size: 5rem;
}
.diagnosis_question_radio .btn .txt_brackets {
	margin: 0 -.2em;
}
.diagnosis_question_radio .btn:last-child:nth-child(3) {
	margin-left: auto;
	margin-right: auto;
}
.diagnosis_question_radio .btn label {
	padding: 0 0 1rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 38rem;
	box-sizing: border-box;
}
.diagnosis_question_radio input[type="radio"] {
	width: 0;
	height: 0;
	position: absolute;
	opacity: 0;
	visibility: 0;
}
.diagnosis_question_radio .btn label span {
	position: static;
}
.diagnosis_question_radio input[type="radio"]:checked + label span::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	box-shadow: 0 0 0 1.6rem #ee7800;
	pointer-events: none;
	border-radius: 5.1rem;
}
.diagnosis_question_prev,
.diagnosis_question_next {
	width: 237rem;
	margin: -12rem auto 0;
	text-align: left;
	font-weight: bold;
	font-size: 3.6rem;
}
.diagnosis_question_next {
	text-align: right;
}
.diagnosis_question_prev a,
.diagnosis_question_next a {
	display: inline-block;
	padding-left: 4.7rem;
	color: #646464;
}
.diagnosis_question_next a {
	padding-left: 0;
	padding-right: 4.7rem;
}
.diagnosis_question_prev a::after,
.diagnosis_question_next a::after {
	content: '';
	display: block;
	width: 2.1rem;
	height: 3.2rem;
	background: url(../img/shindan/icon_back_arrow.png) no-repeat left top / 100% auto;
	position: absolute;
	left: 0;
	top: .5rem;
	bottom: 0;
	margin: auto 0;
	transform: scale(-1, 1);
}
.diagnosis_question_next a::after {
	transform: none;
	left: auto;
	right: 0;
}
.diagnosis_question_input {
	margin-bottom: 24.14rem;
}
.diagnosis_question_input p {
	font-size: 5rem;
	margin-top: 15rem;
}
.diagnosis_question_input p {
	font-size: 6rem;
	margin-top: 20rem;
	font-weight: bold;
}
.diagnosis_question_input p + p {
	font-size: 14.7rem;
	font-weight: 900;
	margin-top: 5rem;
}
.diagnosis_question_input p input[type="number"]::-webkit-outer-spin-button,
.diagnosis_question_input p input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}
.diagnosis_question_input p input[type="number"] {
	-moz-appearance: textfield;
	-webkit-appearance: none;
	appearance: none;
	width: 50rem;
	font-family: inherit;
	font-weight: bold;
	padding: 0 2rem;
	font-size: 21rem;
	line-height: 1;
	text-align: right;
	color: inherit;
	margin-right: 5rem;
	border: 2rem solid #bdbdbd;
	outline: none;
}
.houjin .diagnosis_question h2 {
	text-align: center;
	padding-right: 33rem;
	font-feature-settings: "palt";
	letter-spacing: .03em;
}
.houjin .diagnosis_question.q02 h2 {
	padding-right: 15rem;
}
.houjin .diagnosis_question.q0202 h2 {
	padding-right: 0;
	white-space: nowrap;
}
.houjin .diagnosis_question_radio .btn label {
	background: -moz-linear-gradient(top, #0a845d 0%, #0a6f4f 100%);
	background: -webkit-linear-gradient(top, #0a845d 0%,#0a6f4f 100%);
	background: linear-gradient(to bottom, #0a845d 0%,#0a6f4f 100%);
	color: #fff;
	padding: 0 0 3rem;
	margin-top: 3rem;
	height: 41rem;
	box-shadow: 0 -3rem 0 #06543d inset;
}
.houjin .diagnosis_question_radio .btn label > span {
	line-height: .9;
}
.houjin .diagnosis_question_radio .btn label > span span {
	font-size: 6rem;
}
.houjin .diagnosis_question_radio input[type="radio"]:checked + label {
	background: -moz-linear-gradient(top, #11936a 0%, #117d5b 100%);
	background: -webkit-linear-gradient(top, #11936a 0%,#117d5b 100%);
	background: linear-gradient(to bottom, #11936a 0%,#117d5b 100%);
	box-shadow: none;
	height: 38rem;
	padding: 0;
	margin-top: 6rem;
	color: #fff77f;
}
.houjin .diagnosis_question_radio .btn label::before,
.houjin .diagnosis_question_radio .btn label::after,
.houjin .diagnosis_question_radio input[type="radio"]:checked + label span::before,
.houjin .btn_sm button::before,
.houjin .btn_sm button::after,
.houjin .btn_sm button[disabled]::before {
	display: none;
}
.houjin .diagnosis_question_btn.btn_sm button {
	background: #bfd731;
	box-shadow: 0 2.6rem 0 #a7be1d;
	font-weight: bold;
}
.houjin .btn_sm button[disabled] {
	background: #e1e1e1;
	color: #9f9f9f;
	box-shadow: 0 2.6rem 0 #c5c5c5;
}
.houjin .diagnosis_question.q03 {
	padding-top: 9.8rem;
}
.houjin .diagnosis_question.q03 h2 {
	padding-top: 0;
	line-height: 1.26;
	margin-bottom: 4.5rem;
}
.houjin .diagnosis_question h2 .en {
	top: 2.4rem;
}
.houjin .diagnosis_question.q04 h2 .en {
	top: 0;
}
.houjin .diagnosis_question_radio.col3 {
	width: 253.6rem;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}
.houjin .diagnosis_question_radio.col3 .btn {
	margin-left: 2.68145% !important;
	margin-right: 0;
	margin-bottom: 2rem;
	width: 31.5457%;
}
.houjin .diagnosis_question_radio.col3 .btn:nth-child(3n+1) {
	margin-left: 0 !important;
}
.houjin .diagnosis_question_radio.col3 .btn label {
	height: 23.9rem;
	font-size: 6.4rem;
	letter-spacing: .02em;
	border-radius: 4.5rem;
}
.houjin .diagnosis_question_radio.col3 .btn label .small {
	font-size: 5rem;
}
.houjin .diagnosis_question_radio.col3 input[type="radio"]:checked + label {
	height: 20.9rem;
}
.houjin .diagnosis_question_radio.col3 .btn label span {
	line-height: 1.2;
}
.houjin .diagnosis_question_radio.col3 .btn label span span {
	display: block;
	font-size: 4.9rem;
	margin-top: .5rem;
}
.houjin .q03 .diagnosis_question_btn, .q03_03 .diagnosis_question_btn {
	margin-top: 8.8rem;
}
.houjin .square {
	width: 253.8rem;
	margin: 5.6rem auto 0;
	color: #000;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.houjin .square > p {
	font-size: 5rem;
	font-weight: bold;
	text-align: left;
	padding-left: 3rem;
}
.square_logo {
	width: 43.6rem;
	margin: 1rem 0 0 4rem;
}
.square_feature {
	width: 100%;
	margin-top: 7rem;
	padding-left: 2.2rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}
.square_feature_item {
	width: 93.6rem;
}
.square_feature_item + .square_feature_item {
	margin-left: 7rem;
}
.square_feature figure {
	width: 53.9rem;
	margin: -26rem 0 0 auto;
}
.square_feature_item h3 {
	background: #108761;
	text-align: center;
	color: #fff;
	font-size: 5rem;
	font-weight: bold;
	border-radius: 4.7rem;
	padding: .8rem 1rem 1rem;
	margin-bottom: 4.2rem;
}
.square_feature_txt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	align-content: start;
	text-align: left;
	padding-left: 3rem;
}
.square_feature_txt p {
	font-size: 4rem;
	font-weight: 500;
	font-feature-settings: "palt";
	letter-spacing: .04em;
	padding-right: .9rem;
	flex: 1;
}
.square_feature_item + .square_feature_item .square_feature_txt p {
	padding-right: 1.6rem;
}
.square_feature_txt figure {
	width: 46rem;
	margin-top: 2rem;
}
.square_feature_item + .square_feature_item .square_feature_txt figure {
	width: 40.6rem;
	margin-top: -1.8rem;
}
.square_feature_txt figure img {
	backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}
.houjin .q0303 .diagnosis_question_radio {
	height: auto;
	width: 253.8rem;
	margin-top: -3.6rem;
}
.houjin .q0303 .diagnosis_question_radio .btn {
	width: 120rem;
	margin: 2rem 0 0;
}
.houjin .q0303 .diagnosis_question_radio label {
	height: 17.1rem;
	border-radius: 3rem;
	font-size: 6.4rem;
	box-shadow: 0 -2rem 0 #06543d inset;
}
.houjin .q0303 .diagnosis_question_radio input[type="radio"]:checked + label {
	height: 15.1rem;
	box-shadow: none;
	margin-top: 5rem;
}
.houjin .q0303 .diagnosis_question_btn, .q03_03 .diagnosis_question_btn {
	margin-top: 6.1rem;
}
@media (orientation: portrait) and (max-width: 768px) {
	.diagnosis_index {
		padding: 8rem 0;
	}
	.diagnosis_index h2 {
		font-size: 11rem;
		left: auto;
		margin-bottom: 10rem;
	}
	.diagnosis_index h2::before {
		width: 27.4rem;
		height: 21.5rem;
		top: 13.5rem;
		margin-left: -57.9rem;
	}
	.diagnosis_index h2::after {
		width: 23.1rem;
		height: 29.3rem;
		background-position: right top;
		background-size: auto 100%;
		top: 3rem;
		margin-left: 35rem;
	}
	.diagnosis_index h2 > span {
		width: 17.6rem;
		height: 17.6rem;
		line-height: 17.6rem;
		font-size: 10.2rem;
		margin-left: 1.1rem;
	}
	.diagnosis_index h2 > span + span {
		margin-left: -4.4rem;
	}
	.diagnosis_index_btn {
		width: auto;
		margin: 0 5%;
	}
	.diagnosis_index_btn .btn_sm {
		width: auto;
		margin: 6.2rem 0 0;
	}
	.diagnosis_link {
		width: auto;
		margin: 7rem 5% 0;
		text-align: center;
		font-size: 5rem;
	}
	.diagnosis_link a::after {
		width: 2.4rem;
		height: 3.65rem;
	}
	.diagnosis_question {
		padding-top: 10rem;
		padding-bottom: 37rem;
	}
	.diagnosis_question.q02,
	.diagnosis_question.q03_02 {
		padding-bottom: 57rem;
	}
	.diagnosis_question.q03 {
		padding-bottom: 37rem;
	}
	.diagnosis_question::after {
		margin-left: -18.95rem;
	}
	.diagnosis_question.q02::after {
		margin-left: -17.05rem;
	}
	.diagnosis_question.q03::after {
		margin-left: -18.1rem;
	}
	.diagnosis_question.q03_02::after {
		margin-left: -19.85rem;
	}
	.diagnosis_question.q03_03::after {
		margin-left: -19.1rem;
	}
	.diagnosis_question.q03.smile::after {
		margin-left: -19.2rem;
	}
	.diagnosis_question h2 {
		width: auto;
		margin: 0 4% 11.9rem;
		font-size: 7.5rem;
		text-align: center;
		padding-top: 0;
		padding-left: 0;
	}
	.houjin .diagnosis_question h2 {
		padding-right: 0;
		white-space: normal !important;
	}
	.diagnosis_question.q02 h2 {
		margin: 0 5% 8rem;
	}
	.diagnosis_question.q03 h2 {
		margin: 0 5% 11.9rem;
	}
	.diagnosis_question h2.align_c {
		line-height: inherit;
		padding-right: 0;
		margin-bottom: 11.9rem;
	}
	.diagnosis_question.q03 h2.align_c,
	.diagnosis_question.q03_03 h2.align_c {
		margin-bottom: 11.9rem;
	}
	.diagnosis_question.q03 h2 {
		white-space: normal;
	}
	.diagnosis_question h2 .en {
		width: 20rem;
		height: 20rem;
		line-height: 19rem;
		padding-left: .6rem;
		font-size: 11rem;
		display: block;
		margin: 0 auto 2rem;
		position: relative;
		left: auto;
		top: auto;
	}
	.diagnosis_question_range {
		margin: 0 auto 10rem;
		width: 85%;
	}
	.diagnosis_question_range_min {
		font-size: 8rem;
	}
	.diagnosis_question_range_mid {
		font-size: 8rem;
	}
	.diagnosis_question_range_max {
		right: -3.5rem;
		font-size: 8rem;
	}
	.diagnosis_question_btn {
		width: auto;
		margin: 7.6rem 5% 0;
		padding-left: 0;
	}
	.q03 .diagnosis_question_btn,
	.q03_03 .diagnosis_question_btn {
		margin-top: 7.6rem;
	}
	.diagnosis_question_btn.btn_sm button {
		font-size: 8rem;
	}
	.diagnosis_question_radio {
		width: auto;
		height: auto;
		margin: 0 5%;
		display: block;
	}
	.diagnosis_question_radio.col3 {
		width: auto !important;
		display: block !important;
	}
	.diagnosis_question_radio .btn {
		width: auto;
	}
	.houjin .diagnosis_question_radio.col3 .btn,
	.diagnosis_question_radio.col3 .btn {
		width: auto !important;
		margin-left: 0 !important;
	}
	.diagnosis_question_radio.col3 .btn:nth-child(1) {
		margin-left: 0 !important;
	}
	.diagnosis_question_radio.col3 .btn:nth-child(2) {
		margin-right: 0 !important;
	}
	.diagnosis_question_radio.col3 .btn:nth-child(4) label {
		font-size: 8rem;
	}
	.diagnosis_question_txt {
		margin-bottom: 5rem;
	}
	.diagnosis_question_radio.col4 {
		width: auto;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: stretch;
		-ms-flex-align: stretch;
		align-items: stretch;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.diagnosis_question_radio.col4 .btn {
		width: 48%;
	}
	.diagnosis_question_radio.col4 .btn .txt_sm {
		font-size: 4.5rem;
	}
	.diagnosis_question_radio .btn label {
		height: 30rem;
		padding-top: .5rem;
	}
	.diagnosis_question_next,
	.diagnosis_question_prev {
		width: auto;
		margin: 7rem auto 0;
		text-align: center;
		font-size: 5rem;
	}
	.diagnosis_question_prev a::after {
		width: 2.4rem;
		height: 3.65rem;
		top: 0;
	}
	.diagnosis_question_input {
		margin-bottom: 15.5rem;
	}
	.diagnosis_question_input p {
		font-size: 5.5rem;
		margin-top: 13rem;
	}
	.houjin .square {
		width: auto;
		margin: 5.6rem 5rem 0;
		flex-direction: column;
	}
	.houjin .square > p {
		padding: 5rem 50rem 0 0;
		line-height: 1.8;
	}
	.square_logo {
		order: -1;
		width: 50rem;
		margin: 1rem 0 3rem;
	}
	.square_feature {
		width: 100%;
		padding-left: 0;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.square_feature_item {
		width: 100%;
	}
	.square_feature_item + .square_feature_item {
		margin-left: 0;
	}
	.square_feature figure {
		order: -1;
		width: 45rem;
		margin: -55rem 0 5rem auto;
	}
	.square_feature_txt {
		padding-left: 0;
	}
	.square_feature_txt p {
		padding-right: 0;
		padding-left: 5rem;
		font-size: 4.5rem;
	}
	.square_feature_item + .square_feature_item .square_feature_txt p {
		padding-right: 0;
	}
	.square_feature_txt figure {
		width: 46rem;
		margin-top: 2rem;
	}
	.square_feature_item + .square_feature_item .square_feature_txt figure {
		width: 40.6rem;
		margin-top: -1.8rem;
	}
	.houjin .q0303 .diagnosis_question_radio {
		height: auto;
		width: auto;
		margin-top: 0;
	}
	.houjin .q0303 .diagnosis_question_radio .btn {
		width: 100%;
	}
	.houjin .diagnosis_question_btn {
		height: 0;
		margin: 0 !important;
	}
	.houjin .diagnosis_question.q03 {
		padding-bottom: 10rem;
	}
}

/* gift
----------------------------------------*/
.gift {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 249.6rem;
	margin: 0 auto;
	padding: 8.3rem 0 0;
	font-feature-settings: "palt";
}
.houjin .gift {
	padding-top: 8.5rem;
}
.cashless_vpoint .gift {
	padding-top: 1rem;
}
.cashless_vpoint .gift .diagnosis_question_prev {
	margin: 0;
}
.gift h2 {
	width: 100%;
	font-size: 11.5rem;
	font-weight: 900;
	letter-spacing: .06em;
	text-align: center;
	margin-bottom: 5.8rem;
}
.houjin .gift h2 {
	margin-bottom: .8rem;
}
.houjin .gift > p {
	width: 100%;
	line-height: 1.42;
	text-align: center;
	font-size: 6.4rem;
	color: #000;
	letter-spacing: .025em;
	font-weight: bold;
	margin-bottom: 4.8rem;
}
.gift_btn {
	width: 110rem;
	margin-left: 3.5rem;
}
.houjin .gift_btn {
	width: 225.5rem;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.gift_btn_box {
	background: #fff;
	border: 1.5rem solid #0a7153;
	border-radius: 3rem;
	text-align: center;
	padding: 6.3rem 5.3rem 5.7rem;
}
.houjin .gift_btn_box {
	width: 70rem;
	border-width: 1.1rem;
	padding: 4.5rem 4.1rem 2.8rem;
}
.houjin .gift_btn_box:first-child h3 {
	width: 136.8rem;
	margin: -9rem -3rem -4.5rem;
}
.houjin .gift_btn_box_txt {
	width: 67rem;
}
.houjin .gift_btn_box_txt p + p {
	margin-top: 1.8rem !important;
}
.gift_btn_box > p a {
	width: 85rem;
	letter-spacing: .05em;
	display: inline-block;
	color: #fff;
	background: -moz-linear-gradient(top, #067755 0%, #066247 100%);
	background: -webkit-linear-gradient(top, #067755 0%,#066247 100%);
	background: linear-gradient(to bottom, #067755 0%,#066247 100%);
	border-radius: 4.3rem;
	padding: 4.5rem 5rem 4.6rem;
	border-bottom: 2.6rem solid #06543d;
	font-size: 6rem;
}
.houjin .gift_btn_box > p {
	margin-bottom: 4.4rem;
}
.houjin .gift_btn_box > p a {
	width: 59.9rem;
}
.houjin .gift_btn_box > figure {
	margin: 5.1rem -4.1rem 0;
}
.gift_btn_box p {
	font-size: 7rem;
	font-weight: bold;
	color: #000;
	line-height: 1.3;
}
.houjin .gift_btn_box p {
	font-size: 6rem;
}
.houjin .gift_btn_box .gift_btn_note p {
	font-size: 4rem;
	padding-top: 1.3rem;
	letter-spacing: 0;
	letter-spacing: -.04em;
}
.houjin .gift_btn_box .gift_btn_note p a::after {
	content: '';
	display: block;
	position: absolute;
	left: .1rem;
	right: .1rem;
	height: 1px;
	background: #000;
	bottom: .2rem;
}
.gift_btn_box p + p {
	margin-top: 3.6rem;
}
.houjin .gift_btn_box p + p {
	margin-top: 1.8rem;
}
.gift_btn_box + .gift_btn_box {
	margin-top: 4.5rem;
}
.houjin .gift_btn_box + .gift_btn_box {
	margin-top: 0;
}
.gift_btn_box .gift_btn_note {
	font-size: 3rem;
	margin: .5rem 0 -2rem;
	line-height: 1.35;
}
.houjin .gift_btn_note {
	width: 100%;
	font-size: 3.4rem;
	color: #000;
	margin: 2rem 0 0;
	font-feature-settings: normal;
	line-height: 1.35;
}
.gift_qr {
	width: 133rem;
	margin: -4.5rem -2.9rem 0 0;
}
.gift_qr .gift_qr_img {
	width: 80.7rem;
	position: absolute;
	bottom: 0;
	left: 24rem;
}
.houjin .gift_qr {
	width: 103.7rem;
	margin: -7.6rem -1rem 0 0;
}
.houjin .gift_qr .gift_qr_img {
	width: 80.7rem;
	margin: .5rem auto 0;
	position: relative;
	left: -3.5rem;
	bottom: auto;
}
.gift_qr .gift_qr_img img {
	width: 100%;
}
.houjin .gift_qr > img {
	position: relative;
}
.gift_link {
	margin-top: 2.8rem;
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}
.gift_link div {
	margin-top: 0;
}
@media (orientation: portrait) and (max-width: 768px) {
	.gift {
		display: block;
		width: auto;
	}
	.houjin .gift {
		padding: 8rem 0;
	}
	.gift h2 {
		font-size: 9rem;
		margin-bottom: 5rem;
	}
	.houjin .gift h2 {
		margin-bottom: 5rem;
	}
	.houjin .gift > p {
		font-size: 5.5rem;
	}
	.gift_btn {
		width: 90%;
		margin: 0 auto;
	}
	.houjin .gift_btn {
		width: 90%;
		margin: 0 auto;
		display: block;
	}
	.houjin .gift_btn_box {
		width: auto;
		margin-bottom: 5rem;
		padding: 4.5rem 5rem;
	}
	.houjin .gift_btn_box .gift_btn_note p {
		font-size: 4.5rem;
		padding-top: 0;
	}
	.houjin .gift_btn_note {
		font-size: 4rem;
		margin: 0;
	}
	.houjin .gift_btn_box > p a {
		width: 100%;
	}
	.gift_link {
		margin: 2.8rem auto 0;
		width: 90%;
	}
	.gift_link div {
		margin: 0;
	}
}

/* result
----------------------------------------*/
.result {
	width: 236.8rem;
	padding-top: 4rem;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.result img {
	display: block;
}
.result h2 {
	width: 100%;
	font-size: 5rem;
	padding-left: .6rem;
	letter-spacing: .01em;
	margin-bottom: 5.1rem;
	white-space: nowrap;
}
.result h2 strong {
	font-weight: 900;
	margin-left: 4.5rem;
	font-size: 11rem;
	vertical-align: -1.8rem;
	letter-spacing: .04em;
}
.platinum h2 strong {
	font-size: 10.8rem;
	margin-left: 2.2rem;
}
.result h2 strong span {
	display: inline-block;
	margin-left: -4rem;
	letter-spacing: -.02em;
}
.result h2 strong .kerning_kana {
	letter-spacing: -.06em;
	margin: 0 .06em 0 0;
}
.result_img {
	width: 67.4rem;
	padding-bottom: 2.9rem;
}
.result_movie {
	width: 57.8rem;
	margin: 9.7rem auto 0;
}
.result_txt {
	height: 97.8rem;
	width: 154.6rem;
	margin-top: -.5rem;
	font-size: 3.8rem;
}
.platinum .result_txt {
	margin-top: -.2rem;
	height: 97.8rem;
}
.classic .result_txt {
	margin-top: 0;
	height: 89.5rem;
}
.result_txt h3 {
	font-size: 5rem;
	margin: 6rem -4.2rem 2.2rem;
	letter-spacing: -.02em;
}
.goldnl .result_txt h3 {
	margin-top: 1.8rem;
	margin-bottom: .2rem;
}
.platinum .result_txt h3 {
	margin-top: 3rem;
	margin-bottom: 1.2rem;
}
.platinum .result_txt dl dd span {
	line-height: 1.3;
}
.platinum .result_txt dl dd span .color_red {
	color: #cd0000;
}
.classic .result_txt h3 {
	margin-top: 6.5rem;
}
.result_txt p {
	min-height: 18rem;
	margin: 0 0 0 -1.5rem;
}
.result_txt .result_note {
	min-height: 0;
	font-size: 3.3rem;
	letter-spacing: -.04em;
	margin: 1.4rem -1rem 0 1rem;
	line-height: 1.35;
}
.result_txt p .kerning_kana {
	letter-spacing: -.05em;
	display: inline-block;
	margin: 0 -.18em;
}
.result_txt dl {
	border-top: .5rem solid #004831;
	margin: auto 0 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.result_txt dl dt {
	width: 35rem;
	font-size: 4.6rem;
	font-weight: bold;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	color: #ee7800;
	border-bottom: .5rem solid #004831;
	padding: 1.8rem 0 2.5rem 2.2rem;
	min-height: 12.7rem;
}
.result_txt dl dd {
	padding: 1.8rem 0 2.2rem;
	min-height: 12.7rem;
	font-size: 3.8rem;
	width: calc(100% - 35rem);
	border-bottom: .5rem solid #004831;
	font-weight: 500;
	letter-spacing: .015em;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.result_txt dl dd .kerning_kana {
	letter-spacing: -.02em;
}
.goldnl .result_txt dl dt,
.goldnl .result_txt dl dd {
	min-height: 10.7rem;
	padding-top: 1.5rem;
	padding-bottom: 2.2rem;
}
.platinum .result_txt dl dt,
.platinum .result_txt dl dd {
	min-height: 10.7rem;
	padding-top: 1.2rem;
	padding-bottom: 2rem;
}
.classic .result_txt dl dt,
.classic .result_txt dl dd {
	min-height: 14.5rem;
	padding-top: 2rem;
	padding-bottom: 2.2rem;
}
.goldnl .result_txt dl dt,
.platinum .result_txt dl dt,
.classic .result_txt dl dt {
	width: 36rem;
}
.goldnl .result_txt dl dd,
.platinum .result_txt dl dd,
.classic .result_txt dl dd {
	width: calc(100% - 36rem);
}
.result_txt dl dd span {
	font-size: 3.3rem;
}
.result_btn {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	line-height: 1.1;
	margin-top: 7.5rem;
}
.result_btn .btn_sm {
	width: 75rem;
}
.result_btn .btn_sm:first-child:last-child {
	width: 150rem;
	margin: 0 auto;
}
.result_btn .btn_sm a {
	font-size: 6rem;
	height: 20rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.result_btn .kerning_kana,
.result_back .kerning_kana {
	letter-spacing: -.05em;
}
.result_back {
	width: 100%;
	text-align: right;
	font-size: 3.6rem;
	margin-top: 5rem;
}
.result_back a {
	color: #646464;
	display: inline-block;
	padding-right: 3.2rem;
}
.result_back a::after {
	content: '';
	display: block;
	width: 2.1rem;
	height: 3.2rem;
	background: url(../img/shindan/icon_back_arrow.png) no-repeat left top / 100% auto;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto 0;
}
.result.goldclassic {
	width: 244.8rem;
	padding-top: 7rem;
}
.result.goldclassic > h2 {
	margin-bottom: .5rem;
}
.goldclassic_item {
	width: 117rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	align-content: end;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.goldclassic_item h2 {
	font-size: 8.3rem;
	font-weight: 900;
	line-height: 1.25;
	width: calc(100% - 50.2rem);
}
.goldclassic_item h2 .kerning_kana {
	letter-spacing: -.05em;
}
.goldclassic_item h2 .kerning_en {
	margin-left: -.4em;
	display: inline-block;
}
.goldclassic_item h2 .goldclassic_limited {
	display: block;
	font-weight: bold;
	font-size: 5rem;
	color: #ee7800;
}
.goldclassic_item .result_img {
	width: 50.2rem;
	margin: 4.85rem 0 5.7rem;
	padding: 0;
}
.goldclassic_item .result_txt {
	height: auto;
	width: 100%;
	margin-top: -.1rem;
	font-size: 3.6rem;
}
.goldclassic_item .result_txt dl {
	line-height: 1.4;
}
.goldclassic_item .result_txt dt {
	width: 30rem;
	font-size: 4rem;
	padding: .5rem 0 1rem 1rem;
	min-height: 10.4rem;
}
.goldclassic_item .result_txt dd {
	width: calc(100% - 30rem);
	font-size: 3.6rem;
	padding: .5rem 0 1rem;
	min-height: 10.4rem;
}
.goldclassic_item .result_txt dt:nth-of-type(1),
.goldclassic_item .result_txt dd:nth-of-type(1) {
	min-height: 11.99rem;
}
.goldclassic > .result_txt {
	width: 100%;
	height: auto;
}
.goldclassic > .result_txt h3 {
	margin: 3.9rem -2.8rem .6rem;
}
.goldclassic > .result_txt > p {
	margin-left: 0;
	min-height: auto;
	letter-spacing: .05em;
}
.goldclassic .result_txt .result_note {
	font-size: 3rem;
	letter-spacing: -.02em;
	margin: 2.5rem 0 0 0;
	line-height: 1.35;
}
.goldclassic .result_btn {
	margin-top: 5.3rem;
}
.goldclassic .result_btn p {
	margin: 0 21rem;
}
.goldclassic .result_back {
	margin-top: 2.4rem;
}
.result_gift {
	width: calc(100% + 1rem);
	text-align: center;
	margin: 8rem -1rem 0;
}
.goldclassic .result_gift {
	margin-top: 4.5rem;
}
.result_gift a {
	display: block;
	font-size: 6rem;
	font-weight: bold;
	color: #fff;
	background: -moz-linear-gradient(top, #067755 0%, #066247 100%);
	background: -webkit-linear-gradient(top, #067755 0%,#066247 100%);
	background: linear-gradient(to bottom, #067755 0%,#066247 100%);
	border-radius: 4.3rem;
	padding: 4.7rem 5rem 4.6rem;
	font-feature-settings: "palt";
	letter-spacing: .055em;
	border-bottom: 2.5rem solid #06543d;
}
.result_gift a::after {
	content: '';
	display: inline-block;
	width: 2rem;
	height: 3.1rem;
	background: url(../img/common/icon_arrow_02.png) no-repeat left top / 100% auto;
	margin-left: 2.5rem;
	vertical-align: 1rem;
}
@media (orientation: portrait) and (max-width: 768px) {
	.result {
		width: auto;
		padding-top: 7rem;
		margin: 0 5%;
		display: block;
	}
	.result h2 {
		text-align: center;
		padding-left: 0;
		margin-bottom: 5.1rem;
	}
	.result h2 strong {
		display: block;
		text-align: center;
		margin-left: 0;
		font-size: 8rem;
	}
	.platinum h2 {
		margin-top: 0;
	}
	.platinum h2 strong {
		font-size: 8rem;
		margin-left: 0;
	}
	.result h2 strong span {
		margin: 0 -.4em;
		display: inline;
	}
	.result_img {
		width: 80rem;
		margin: 0 auto;
		padding-bottom: 10rem;
	}
	.result_movie {
		width: 67.4rem;
	}
	.modaal-iframe .modaal-container {
		max-width: 100% !important;
		padding-top: 56.25%;
	}
	.modaal-iframe .modaal-container .modaal-content {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	}
	.result_txt {
		height: auto;
		width: auto;
		margin-top: 0;
		font-size: 4.6rem;
	}
	.platinum .result_txt {
		margin-top: 0;
		height: auto;
	}
	.classic .result_txt {
		height: auto;
	}
	.result_txt h3 {
		text-align: center;
		margin: 6rem 0 2.2rem !important;
	}
	.result_txt p {
		min-height: 0;
		margin: 0;
	}
	.result_txt .result_note {
		font-size: 4rem;
	}
	.result_txt dl {
		display: block;
	}
	.result_txt dl dt {
		width: auto;
		border-bottom: 0;
		padding: 1.8rem 0 0 2.2rem !important;
		min-height: 0;
	}
	.result_txt dl dd {
		padding: 0 0 2.2rem 2.2rem !important;
		min-height: 0;
		font-size: 4.6rem;
		display: block;
		width: auto;
	}
	.goldnl .result_txt dl dt,
	.goldnl .result_txt dl dd {
		min-height: 0;
	}
	.platinum .result_txt dl dt,
	.platinum .result_txt dl dd {
		min-height: 0;
	}
	.classic .result_txt dl dt,
	.classic .result_txt dl dd {
		min-height: 0;
	}
	.goldnl .result_txt dl dt,
	.platinum .result_txt dl dt,
	.classic .result_txt dl dt {
		width: auto;
	}
	.goldnl .result_txt dl dd,
	.platinum .result_txt dl dd,
	.classic .result_txt dl dd {
		width: auto;
		display: block;
	}
	.result_txt dl dd span {
		font-size: 4rem;
	}
	.result_btn {
		display: block;
		margin-top: 7rem;
	}
	.result_btn .btn_sm {
		width: auto;
	}
	.result_btn .btn_sm + .btn_sm {
		margin-top: 5rem;
	}
	.result_btn .btn_sm:first-child:last-child {
		width: auto;
		margin: 7rem auto;
	}
	.result_btn .btn_sm a {
		height: 22rem;
	}
	.result_back {
		text-align: center;
		font-size: 5rem;
		margin-top: 7rem;
		padding-bottom: 7rem;
	}
	.result_back a {
		padding-right: 4.7rem;
	}
	.result_back a::after {
		width: 2.4rem;
		height: 3.65rem;
	}
	.result.goldclassic {
		width: auto;
		padding-top: 7rem;
	}
	.goldclassic_item {
		width: auto;
		display: block;
	}
	.result_btn + .goldclassic_item {
		margin-top: 10rem;
	}
	.goldclassic_item h2 {
		font-size: 8rem;
		width: auto;
	}
	.goldclassic_item .result_img {
		margin: 4.85rem auto 5.7rem;
	}
	.goldclassic_item .result_txt {
		margin-top: 0;
		font-size: 4.6rem;
	}
	.goldclassic_item .result_txt dt {
		width: auto;
		font-size: 4.8rem;
		min-height: 0;
	}
	.goldclassic_item .result_txt dd {
		width: auto;
		font-size: 4.6rem;
		min-height: 0;
	}
	.goldclassic_item .result_txt dt:nth-of-type(1),
	.goldclassic_item .result_txt dd:nth-of-type(1) {
		min-height: 0;
	}
	.goldclassic .result_txt .result_note {
		font-size: 4rem;
		margin-left: 1em;
		text-indent: -1em;
	}
	.goldclassic .result_btn {
		margin: 7rem 0;
	}
	.goldclassic .result_btn p {
		margin: 0;
	}
	.goldclassic .result_back {
		margin-top: 0;
	}
	.result_gift {
		padding-bottom: 10rem;
	}
	.result_gift a {
		font-size: 5rem;
		padding: 5rem 5rem 4.6rem;
	}
	.result_gift a::after {
		vertical-align: .1rem;
	}
}

/* btn
----------------------------------------*/
.btn a,
.btn button,
.btn label {
	display: block;
	border: 0;
	font-family: inherit;
	color: inherit;
	width: 100%;
	text-align: center;
	font-size: 10rem;
	font-weight: 900;
	background: url(../img/common/bg_btn_top_left.png) no-repeat left top / 5rem auto, url(../img/common/bg_btn_top_right.png) no-repeat right top / 5rem auto, url(../img/common/bg_btn_bottom_left.png) no-repeat left bottom / 5rem auto, url(../img/common/bg_btn_bottom_right.png) no-repeat right bottom / 5rem auto, linear-gradient(to bottom, #fff 41%,#e0e0e0 95%);
	border-radius: 5.1rem;
	padding: 5.85rem 0 5.8rem;
	letter-spacing: .03em;
	box-shadow: .8rem 1.1rem 2.1rem rgba(0, 0, 0, .34);
	cursor: pointer;
}
.btn.type02 a,
.btn.type02 button,
.btn.type02 label {
	background: url(../img/common/bg_btn_top_left_02.png) no-repeat left top / 5rem auto, url(../img/common/bg_btn_top_right_02.png) no-repeat right top / 5rem auto, url(../img/common/bg_btn_bottom_left_02.png) no-repeat left bottom / 5rem auto, url(../img/common/bg_btn_bottom_right_02.png) no-repeat right bottom / 5rem auto, linear-gradient(to bottom, #fff 41%,#e0e0e0 95%);
	border-radius: 4rem;
}
.btn .kerning_kana {
	letter-spacing: -.1em;
}
.col3 .btn .kerning_kana {
	letter-spacing: -.05em;
}
.btn a::before,
.btn button::before,
.btn label::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 4.85rem;
	right: 4.85rem;
	background: url(../img/common/bg_btn_top_center.png) repeat-x left top / .2rem 5rem, url(../img/common/bg_btn_bottom_center.png) repeat-x left bottom / .2rem 5rem;
	pointer-events: none;
}
.btn a::after,
.btn button::after,
.btn label::after {
	content: '';
	display: block;
	position: absolute;
	top: 4.85rem;
	bottom: 4.85rem;
	left: 0;
	right: 0;
	background: url(../img/common/bg_btn_left.png) repeat-y left top / 5rem .2rem, url(../img/common/bg_btn_right.png) repeat-y right top / 5rem .2rem;
	pointer-events: none;
}

.btn_sm a,
.btn_sm button {
	width: 100%;
	border: 0;
	font-family: inherit;
	color: inherit;
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	display: block;
	text-align: center;
	font-size: 6.5rem;
	font-weight: 900;
	background: url(../img/common/bg_btn_sm_top_left.png) no-repeat left top / 4rem auto, url(../img/common/bg_btn_sm_top_right.png) no-repeat right top / 4rem auto, url(../img/common/bg_btn_sm_bottom_left.png) no-repeat left bottom / 4rem auto, url(../img/common/bg_btn_sm_bottom_right.png) no-repeat right bottom / 4rem auto, linear-gradient(to bottom, #fff 41%,#e3e3e3 95%);
	border-radius: 4.1rem;
	padding: 3.5rem 0 4rem;
	letter-spacing: .067em;
	box-shadow: .8rem 1.1rem 2.1rem rgba(0, 0, 0, .34);
	cursor: pointer;
}
.btn_sm a::before,
.btn_sm button::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 3.9rem;
	right: 3.9rem;
	background: url(../img/common/bg_btn_sm_top_center.png) repeat-x left top / .2rem 4rem, url(../img/common/bg_btn_sm_bottom_center.png) repeat-x left bottom / .2rem 4rem;
	pointer-events: none;
}
.btn_sm a::after,
.btn_sm button::after {
	content: '';
	display: block;
	position: absolute;
	top: 3.9rem;
	bottom: 3.9rem;
	left: 0;
	right: 0;
	background: url(../img/common/bg_btn_sm_left.png) repeat-y left top / 4rem .2rem, url(../img/common/bg_btn_sm_right.png) repeat-y right top / 4rem .2rem;
	pointer-events: none;
}
.btn_sm a .en,
.btn_sm button .en {
	font-size: 110%;
	vertical-align: -.05em;
}
.btn_sm button[disabled] {
	box-shadow: none;
	background: #fff;
	color: #bdbdbd;
	cursor: default;
}
.btn_sm button[disabled]::before {
	background: none;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border: 1.4rem solid #d6d6d6;
	border-radius: 4.1rem;
}
.btn_sm button[disabled]::after {
	display: none;
}
@media (orientation: portrait) and (max-width: 768px) {
	.btn a,
	.btn button,
	.btn label {
		font-size: 8.5rem;
	}
	.btn_sm a,
	.btn_sm button {
		font-size: 6rem;
	}
}

/* detail
----------------------------------------*/
.detail {
	width: 241.4rem;
	margin: 15.5rem auto;
}
.detail_nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	margin-bottom: 32rem;
}
.detail_nav_box {
	width: 115.1rem;
	font-size: 6rem;
	font-weight: 900;
}
.detail_nav_box h2 {
	text-align: center;
	font-size: 8rem;
	font-weight: 900;
	letter-spacing: .03em;
	margin-bottom: 1.5rem;
}
.detail_nav_box h2 span {
	margin-left: -3rem;
}
.detail_nav li {
	border-bottom: 1px solid #004831;
}
.detail_nav li a {
	display: block;
	padding: 2.5rem 4rem 3.6rem;
}
.detail_nav li a sup {
	font-size: 58%;
}
.detail_nav li a::after {
	content: '';
	display: block;
	width: 5.2rem;
	height: 3.4rem;
	background: url(../img/detail/icon_arrow_down.png) no-repeat left top / 100% auto;
	position: absolute;
	right: 4rem;
	top: 0;
	bottom: 0;
	margin: auto 0;
}
.detail_nav li a span {
	font-size: 90%;
	letter-spacing: -.05em;
}
.detail_item + .detail_item {
	margin-top: 32.5rem;
}
.detail_item h2 {
	font-size: 10rem;
	font-weight: 900;
	letter-spacing: .05em;
	padding: 0 3.5rem 1.2rem;
	border-bottom: .8rem solid #004831;
	margin-bottom: 4.4rem;
}
.detail_item h3 {
	font-size: 8rem;
	font-weight: 900;
	padding: 0 0 0 4.8rem;
	margin-top: 11rem;
}
.detail_item h3 sup {
	font-size: 58%;
}
.detail_item h2 + h3 {
	margin-top: 0;
}
.detail_item h3 span {
	font-size: 90%;
}
.detail_item h3 a {
	width: 35.2rem;
	text-align: center;
	display: inline-block;
	font-size: 3.6rem;
	font-weight: bold;
	border: .5rem solid #bdbdbd;
	background: -moz-linear-gradient(top, #fff 30%, #e0e0e0 100%);
	background: -webkit-linear-gradient(top, #fff 30%,#e0e0e0 100%);
	background: linear-gradient(to bottom, #fff 30%,#e0e0e0 100%);
	border-radius: 2rem;
	margin-left: 8rem;
	padding: 2.2rem 1.4rem 2.2rem 0;
	vertical-align: 1rem;
}
.detail_item h3 a span {
	letter-spacing: -.04em;
}
.detail_item h3 a::after {
	content: '';
	display: block;
	width: 2rem;
	height: 3.1rem;
	background: url(../img/shindan/icon_back_arrow_green.png) no-repeat left top / 100% auto;
	position: absolute;
	top: .3rem;
	bottom: 0;
	right: 3.6rem;
	margin: auto 0;
}
.detail_item ul {
	margin: 3.2rem 0 -2rem 14rem;
}
.detail_item li {
	border-bottom: 1px solid #004831;
}
.detail_item li h4 {
	padding: 5.9rem 0 6.5rem 4rem;
	font-size: 5rem;
	font-weight: bold;
}
.detail_item li h4 button,
.detail_item li h4 a {
	-webkit-appearance: none;
	appearance: none;
	display: block;
	position: absolute;
	top: 4.5rem;
	right: .3rem;
	width: 11rem;
	height: 11rem;
	background: none;
	border: 0;
	cursor: pointer;
}
.detail_item li h4 button::before,
.detail_item li h4 button::after,
.detail_item li h4 a::before,
.detail_item li h4 a::after {
	content: '';
	display: block;
	width: 5.5rem;
	height: .9rem;
	background: #004831;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 3.2rem;
	margin: auto 0;
}
.detail_item li h4 button::after,
.detail_item li h4 a::after {
	width: .9rem;
	height: 5.5rem;
	right: 5.4rem;
}
.detail_item li h4.detail_item_page a::before,
.detail_item li h4.detail_item_page a::before {
	width: 6.4rem;
	height: 6.3rem;
	background: url(../img/detail/icon_external.png) no-repeat left top / 100% auto;
	right: 3.1rem;
}
.detail_item li h4.open button::after,
.detail_item li h4.detail_item_page a::after {
	display: none;
}
.detail_item_movie {
	width: 111.6rem;
	margin: 0 auto;
	padding-bottom: 4.2rem;
	display: none;
}
.detail_item_movie img {
	display: block;
}
.detail_item_movie a {
	display: block;
}
.detail_item_movie span {
	display: block;
	position: absolute;
	bottom: 1rem;
	right: 1rem;
	background: rgba(0,0,0,.8);
	color: #fff;
	font-size: 3.8rem;
	border-radius: 1rem;
	padding: 0 1.5rem .5rem;
}
.detail_item_tag {
	width: 23rem;
	text-align: center;
	display: inline-block;
	font-size: 5rem;
	font-weight: bold;
	letter-spacing: .1em;
	background: #004831;
	color: #fff;
	margin-left: 11rem;
	padding: 1.8rem 0;
	vertical-align: 1rem;
	position: absolute;
	right: 15.8rem;
	top: 4.5rem;
	transition: opacity .3s;
}
.detail_item_tag.page {
	background: #ee7800;
	letter-spacing: -.01em;
}
.open .detail_item_tag {
	opacity: 0;
}
.detail_note {
	font-size: 2.8rem;
	margin: 4.3rem 0 -3.2rem 14rem;
	line-height: 1.25;
	letter-spacing: .02em;
}
.detail_item h3 + .detail_note {
	margin-top: 2.9rem;
	margin-bottom: -3.5rem;
}
.detail_back {
	margin: 7.4rem 0 0;
	padding-bottom: 7rem;
	font-size: 3.6rem;
	font-weight: bold;
}
.detail_back a {
	display: inline-block;
	padding-left: 3.6rem;
}
.detail_back a::before {
	content: '';
	display: block;
	width: 2rem;
	height: 3.1rem;
	background: url(../img/shindan/icon_back_arrow_green.png) no-repeat left top / 100% auto;
	transform: scale(-1, 1);
	position: absolute;
	left: 0;
	top: .5rem;
	bottom: 0;
	margin: auto 0;
}
@media (orientation: portrait) and (max-width: 768px) {
	.detail {
		width: auto;
		margin: 8.5rem 5%;
	}
	.detail_nav {
		display: block;
		margin-bottom: 0;
	}
	.detail_nav li a {
		padding-left: 0;
	}
	.detail_nav_box {
		width: auto;
		font-size: 6rem;
		margin-bottom: 13rem;
	}
	.detail_item + .detail_item {
		margin-top: 20rem;
	}
	.detail_item h2 {
		font-size: 9rem;
		padding: 0 0 1.2rem;
	}
	.detail_item h3 {
		padding: 0;
		overflow: hidden;
	}
	.detail_item h2 + h3 {
		overflow: hidden;
	}
	.detail_item h3 a {
		width: 40rem;
		font-size: 4.5rem;
		padding: 2rem 3rem 2rem 0;
		float: right;
		margin-left: 2rem;
	}
	.detail_item h3 a::after {
		width: 2.2rem;
		height: 3.4rem;
		top: .5rem;
	}
	.detail_item ul {
		margin: 3.2rem 0 0;
	}
	.detail_item li h4 {
		padding: 5.9rem 34rem 6.5rem 0rem;
	}
	.detail_item_movie {
		width: auto;
	}
	.detail_item_tag {
		width: 18rem;
		font-size: 4.6rem;
		margin-left: 0;
		right: 14rem;
	}
	.detail_note {
		font-size: 4rem;
		margin: 4.3rem 0 -3.2rem;
	}
	.detail_back {
		margin: 7rem 0 0;
		padding-bottom: 0;
		font-size: 5rem;
	}
	.detail_back a {
		padding-right: 4rem;
	}
	.detail_back a::after {
		width: 2.4rem;
		height: 3.65rem;
	}
}

/* hikaku
----------------------------------------*/
.hikaku {
	width: 254.6rem;
	margin: 7.1rem auto 12rem;
}
.hikaku_header {
	background: #fffbda;
	position: sticky;
	top: 0;
	width: 100%;
	z-index: 1000;
	margin-bottom: 5.4rem;
	border-bottom: 2px solid #004831;
}
.hikaku h2 {
	text-align: center;
	font-size: 11.5rem;
	font-weight: 900;
	letter-spacing: .06em;
	margin-bottom: 6.8rem;
	padding-right: .2em;
}
.hikaku h2 span {
	letter-spacing: -.045em;
}
.hikaku .swiper-scrollbar {
	width: 68.3rem;
	height: 2.2rem;
	margin: 0 auto 7rem;
	background: #bdbdbd;
	border-radius: 0;
}
.hikaku .swiper-scrollbar-drag {
	background: #004831;
	border-radius: 0;
}
.hikaku_item {
	width: 60.8rem;
}
.hikaku_item.current {
	order: -1;
}
.hikaku_item h3 {
	text-align: center;
	font-size: 5rem;
	line-height: 1.3;
	margin-bottom: 6.5rem;
}
.hikaku_item h3 span {
	display: block;
	color: #ee7800;
}
.hikaku_item h4 {
	font-size: 6rem;
	position: absolute;
	top: .1rem;
	left: 0;
	letter-spacing: .05em;
	white-space: nowrap;
	display: none;
}
.hikaku_item.current h4 {
	display: block;
}
.hikaku_item h4 span {
	letter-spacing: -.05em;
}
.hikaku_item figure {
	width: 50rem;
	margin: 0 auto;
	padding-bottom: 10rem;
}
.hikaku_item figure figcaption {
	position: absolute;
	bottom: 2.8rem;
	left: -1rem;
	right: -1rem;
	font-size: 3.4rem;
	text-align: center;
}
.hikaku_item figure img {
	display: block;
}
.hikaku_item.current figure::after {
	content: '';
	display: block;
	height: 2rem;
	background: #ee7800;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
}
.hikaku_annual {
	font-size: 4rem;
	border-bottom: 1px solid #004831;
	font-weight: bold;
	padding-bottom: 4.5rem;
}
.hikaku_annual span {
	font-size: 170%;
}
.nl .hikaku_annual span {
	letter-spacing: .05em;
}
.hikaku_box {
	width: 48.5rem;
	margin: 0 auto;
	padding-top: 11.5rem;
}
.hikaku .swiper-container {
	overflow: visible;
}
.hikaku_note {
	font-size: 3.6rem;
	font-weight: normal;
	margin: 1.5rem 0 0 -1rem;
	line-height: 1.4;
}
.hikaku_point {
	padding: 4.5rem 0 4.8rem;
	font-size: 4rem;
	font-weight: bold;
	border-bottom: 1px solid #004831;
}
.hikaku_point p {
	margin: 0 -1rem 0 .3rem;
}
.hikaku_point p span {
	font-size: 170%;
}
.hikaku_benefit {
	padding: 4.7rem 0 8.1rem;
	font-weight: bold;
	border-bottom: 1px solid #004831;
}
.hikaku_benefit p {
	font-size: 4rem;
	font-weight: bold;
}
.hikaku_empty {
	font-size: 7rem;
	font-weight: 500;
}
.hikaku_benefit dl {
	margin: -1.3rem -5rem 0 -1rem;
}
.hikaku_benefit dt {
	font-size: 4rem;
	margin-bottom: -.45em;
	margin-top: 3rem;
}
.hikaku_benefit dt span {
	letter-spacing: -.05em;
}
.hikaku_benefit dt:first-child {
	margin-top: 0;
}
.hikaku_benefit dd {
	font-size: 4rem;
	letter-spacing: -.05em;
}
.hikaku_benefit dd span {
	font-size: 170%;
	letter-spacing: 0;
}
.hikaku_benefit dl .hikaku_note {
	font-size: 2.8rem;
	letter-spacing: 0;
	margin-right: 4rem;
	margin-left: .5rem;
	font-weight: 500;
}
.hikaku_shopping,
.hikaku_overseas,
.hikaku_domestic,
.hikaku_etc,
.hikaku_family,
.hikaku_target {
	padding: 5rem 0 4.7rem;
	border-bottom: 1px solid #004831;
	font-size: 4rem;
	font-weight: bold;
}
.hikaku_overseas {
	padding: 5.4rem 0 4.5rem;
}
.hikaku_domestic {
	padding: 6rem 0 4.2rem;
}
.hikaku_etc {
	padding: 3.8rem 0 4.2rem;
}
.hikaku_family {
	padding: 4.6rem 0 3.8rem;
	white-space: nowrap;
	line-height: 1.2;
}
.hikaku_family .hikaku_brackets + span {
	letter-spacing: -.02em;
}
.hikaku_target {
	padding: 3.8rem 0 4.9rem;
	font-weight: 500;
	font-size: 3.6rem;
	line-height: 1.4;
}
.hikaku_shopping span,
.hikaku_overseas span,
.hikaku_domestic span,
.hikaku_etc span,
.hikaku_family span {
	font-size: 170%;
}
.hikaku_shopping .hikaku_note,
.hikaku_overseas .hikaku_note,
.hikaku_domestic .hikaku_note,
.hikaku_etc .hikaku_note,
.hikaku_family .hikaku_note {
	font-size: 3.6rem;
	font-weight: 500;
	margin-left: 0;
}
.hikaku_shopping .hikaku_box,
.hikaku_overseas .hikaku_box {
	padding-top: 10.2rem;
}
.hikaku_domestic .hikaku_box {
	padding-top: 9rem;
}
.hikaku_etc .hikaku_box {
	padding-top: 9.8rem;
}
.hikaku_family .hikaku_box {
	padding-top: 11rem;
}
.hikaku_shopping p,
.hikaku_overseas p,
.hikaku_domestic p {
	margin-right: -5rem;
}
.hikaku .hikaku_brackets {
	font-size: inherit;
	margin: 0 -1rem;
}
.hikaku .hikaku_fs150 {
	font-size: 150%;
}
.hikaku > .hikaku_note {
	font-size: 2.8rem;
	padding: 3.9rem 0 0 4rem;
	line-height: 1.45;
}
.hikaku > .hikaku_note span {
	letter-spacing: -.05em;
}
.hikaku .result_back {
	margin-top: 3rem;
}
@media (orientation: portrait) and (max-width: 768px) {
	.hikaku {
		width: auto;
		margin: 7rem 5%;
	}
	.hikaku_item {
		width: 54rem;
	}
	.hikaku_item figure {
		width: 48rem;
	}
	.hikaku h2 {
		font-size: 10rem;
		padding-right: 0;
	}
	.hikaku_item h3 {
		font-size: 4.7rem;
	}
	.hikaku_item figure figcaption {
		font-size: 4.5rem;
	}
	.hikaku_note,
	.hikaku_benefit dl .hikaku_note,
	.hikaku_target {
		font-size: 4rem;
	}
	.hikaku > .hikaku_note {
		font-size: 3.8rem;
	}
	.hikaku .result_back {
		margin-top: 7rem;
	}
}

/* square_detail
----------------------------------------*/
img {
	image-rendering: -webkit-optimize-contrast;
}
.square_detail img,
.sterapack_detail img,
.biz_owners_detail img {
	display: block;
}
.sterapack_detail {
	padding: 20.9rem 0 0;
	background: #fff;
}
.sterapack_detail::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: -22rem;
	right: 0;
	height: 215.9rem;
	background: url(../img/houjin/bg_sterapack_01.png) no-repeat center top / auto 100%;
}
.square_detail,
.biz_owners_detail {
	background: #fff;
	width: 253.8rem;
	margin: 7rem auto 0;
	padding: 13.9rem 0 13rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.square_detail h2,
.sterapack_detail h2,
.biz_owners_detail h2 {
	width: 219.4rem;
	margin: 0 auto;
}
.square_detail .square_logo {
	width: 36.5rem;
	margin: 0 0 2.5rem;
}
.square_about {
	width: 100%;
	text-align: center;
}
.square_about h3 {
	font-size: 6rem;
	color: #0a7153;
	font-feature-settings: "palt";
	letter-spacing: .065em;
	margin-bottom: 4.7rem;
}
.square_about_img {
	width: 162.4rem;
	margin: 0 auto 5.9rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.square_about_img figure {
	width: 47.1rem;
}
.square_about_txt {
	font-size: 4rem;
	color: #000;
	font-feature-settings: "palt";
	letter-spacing: .05em;
	margin-bottom: 18.5rem;
}
.square_recommend {
	width: 160rem;
	text-align: center;
}
.square_recommend h3 {
	font-size: 7rem;
	color: #0a7153;
	line-height: 1.7;
	font-feature-settings: "palt";
	letter-spacing: .04em;
	margin-bottom: 4rem;
}
.square_recommend h3 > span {
	font-size: 6.558rem;
}
.square_recommend h3 span span:first-child {
	width: 13.2rem;
	height: 13.2rem;
	font-size: 12rem;
	line-height: 12rem;
	display: inline-block;
	margin-right: -3rem;
	font-weight: 500;
	vertical-align: -.9rem;
	background: url(../img/houjin/bg_strong.png) no-repeat left top / 100% auto;
}
.square_recommend h3 span span:last-child {
	z-index: 2;
}
.square_recommend ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.square_recommend ul li {
	width: 48.9rem;
	height: 48.7rem;
	border-radius: 50%;
	background: #0a7153;
	color: #fff;
	margin-bottom: 5rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-size: 4rem;
	line-height: 1.3;
	font-feature-settings: "palt";
}
.square_recommend ul li:first-child {
	font-size: 5rem;
	padding-top: 1.8rem;
}
.square_recommend ul li:last-child {
	padding-top: 2rem;
}
.square_recommend ul li span {
	font-size: 5rem;
	color: #fff77f;
	display: inline-block;
	margin-top: .5rem;
}
.square_recommend ul li .note {
	font-size: 3rem;
	line-height: 1.5;
	margin-top: .5rem;
	letter-spacing: .05em;
}
.square_recommend ul li .num {
	font-size: 6.3rem;
	color: #fff77f;
}
.square_recommend ul li .num span {
	font-size: 10.8rem;
	color: #fff77f;
	margin-top: -.5rem;
}
.square_movie {
	width: 105.6rem;
	padding-top: 2.8rem;
	text-align: center;
	font-feature-settings: "palt";
}
.square_movie h3 {
	width: 34.9rem;
	height: 34.9rem;
	margin: 0 auto 4.6rem;
	background: url(../img/houjin/bg_strong.png) no-repeat left top / 100% auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	color: #0a7153;
	font-size: 5.786rem;
	line-height: 1.05;
	padding-bottom: 2rem;
	letter-spacing: .05em;
}
.square_movie h3 > span > span {
	font-size: 6.558rem;
	display: block;
}
.square_movie h3 > span > span .en {
	font-weight: 500;
	font-size: 12.04rem;
	vertical-align: -.05em;
	margin-right: .03em;
	margin-left: .1em;
}
.square_movie p {
	font-size: 5.78rem;
	color: #0a7153;
	font-weight: bold;
	line-height: 1.35;
	letter-spacing: .04em;
}
.square_movie_modal {
	margin-top: 6.5rem;
}
.square_method {
	width: 100%;
	text-align: center;
	margin-top: 12rem;
}
.square_method h3 {
	font-size: 7rem;
	color: #0a7153;
	margin-bottom: 6.9rem;
}
.square_method h3 > span {
	font-size: 6.558rem;
}
.square_method h3 > span .en {
	font-size: 12rem;
	line-height: 12rem;
	font-weight: 500;
	width: 13.5rem;
	height: 13.5rem;
	margin-right: -1rem;
	display: inline-block;
	margin-right: -2.5rem;
	vertical-align: -.9rem;
	background: url(../img/houjin/bg_strong.png) no-repeat left top / 100% auto;
}
.square_method h3 > span span:last-child {
	z-index: 2;
}
.square_method ol {
	counter-reset: ol-square;
	width: 231.2rem;
	margin: 0 auto;
	padding-left: 8rem;
	text-align: left;
	font-feature-settings: "palt";
}
.square_method ol li {
	background: #f2ffe5;
	margin-bottom: 4.9rem;
	border-radius: .5rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 6.9rem 0 7rem;
	line-height: 1.55;
}
.square_method ol li::before {
	content: counter(ol-square, decimal-leading-zero);
	font-family: 'Oswald', sans-serif;
	counter-increment: ol-square;
	width: 18.3rem;
	height: 18.3rem;
	border-radius: 50%;
	background: #0a7153;
	color: #fff;
	text-align: center;
	font-weight: normal;
	font-size: 10rem;
	line-height: 17rem;
	letter-spacing: -.03em;
	margin-left: -8.5rem;
}
.square_method ol li figure {
	width: 12rem;
	margin-left: 4rem;
}
.square_method ol li figure img {
	width: 10.4rem;
	margin: 0 auto;
}
.square_method ol li:nth-child(2) figure img {
	width: 12rem;
}
.square_method ol li:nth-child(3) figure img {
	width: 8.5rem;
}
.square_method ol li:nth-child(4) figure img {
	width: 10rem;
}
.square_method ol li p {
	margin-left: 5.5rem;
	font-feature-settings: "palt";
	letter-spacing: .05em;
	font-size: 6.5rem;
	color: #2d2926;
	font-weight: bold;
}
.square_method ol li p > span::before {
	content: '';
	height: 4.1rem;
	background: #fff;
	position: absolute;
	left: -1rem;
	right: -1rem;
	bottom: 0;
}
.square_method ol li p > span span {
	position: relative;
	color: #0a7153;
}
.btn_houjin_btn {
	width: 100%;
	margin: 8.8rem 0 15rem;
}
.btn_houjin_btn a {
	display: block;
	width: 134.1rem;
	height: 17.1rem;
	margin: 0 auto;
	padding: 2.8rem 5rem 3rem;
	background: -moz-linear-gradient(top, #0a845d 0%, #0a6f4f 100%);
	background: -webkit-linear-gradient(top, #0a845d 0%,#0a6f4f 100%);
	background: linear-gradient(to bottom, #0a845d 0%,#0a6f4f 100%);
	border-radius: 3rem;
	box-shadow: 0 -2rem 0 #06543d inset;
	color: #fff;
	font-size: 6.4rem;
	font-weight: 900;
	text-align: center;
}
@media (orientation: portrait) and (max-width: 768px) {
	.sterapack_detail {
		padding: 8rem 0 0;
	}
	.square_detail,
	.biz_owners_detail {
		width: auto;
		margin: 7rem 5rem 0;
		padding: 7rem 5rem 13rem;
	}
	.square_detail h2,
	.biz_owners_detail h2 {
		width: 100%;
		margin: 0 auto;
	}
	.sterapack_detail h2 {
		width: 90%;
	}
	.square_about_img {
		width: 100%;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	.square_about_img figure {
		width: 32%;
	}
	.square_about_txt {
		text-align: left;
		font-size: 4.5rem;
		margin-bottom: 10rem;
	}
	.square_recommend {
		width: 100%;
		margin-right: 0;
	}
	.square_method h3 {
		margin-bottom: 10rem;
	}
	.square_method ol {
		width: 100%;
		padding-left: 0;
	}
	.square_method ol li {
		margin-bottom: 13rem;
		padding: 10rem 0 5rem;
	}
	.square_method ol li::before {
		position: absolute;
		top: -7.5rem;
		width: 15rem;
		height: 15rem;
		font-size: 8rem;
		line-height: 14rem;
		left: 50%;
		margin-left: -7.5rem;
	}
	.square_method ol li:last-child {
		margin-bottom: 0;
	}
	.square_method ol li p {
		font-size: 5rem;
		flex: 1;
	}
	.square_method ol li p > span::before {
		left: 0;
		right: 0;
	}
	.square_method ol li p > span {
		display: inline-block;
	}
	.btn_houjin_btn {
		width: auto;
		margin: 8.8rem 5rem 15rem;
	}
	.btn_houjin_btn a {
		width: 100%;
	}
}

/* sterapack_detail
----------------------------------------*/
.sterapack_detail {
	color: #000;
	padding-bottom: 21rem;
}
.sterapack_main {
	width: 244.4rem;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	font-feature-settings: "palt";
}
.sterapack_main_txt {
	width: 126rem;
	text-align: center;
	margin-right: 4rem;
	margin-top: 8.6rem;
}
.sterapack_main_txt h3 {
	text-align: center;
	font-size: 6rem;
	letter-spacing: .05em;
	color: #0a7153;
}
.sterapack_main_txt h3 img {
	width: 75.1rem;
	margin: 4.6rem auto 0;
}
.sterapack_main_txt p {
	font-size: 5rem;
	font-weight: 500;
	margin-top: 6rem;
	line-height: 1.4;
	letter-spacing: .03em;
}
.sterapack_main_img {
	width: 95.3rem;
	margin-top: 5.3rem;
	margin-right: 2.8rem;
	right: -3rem;
}
.sterapack_main_img h3 {
	width: 105.8rem;
	margin-left: -8rem;
}
.sterapack_main_img figure {
	width: 82rem;
}
.sterapack_main_commission {
	width: 40.7rem;
	height: 40.7rem;
	border-radius: 50%;
	background: #006444;
	text-align: center;
	color: #fff;
	font-size: 5.4rem;
	position: absolute;
	right: -8rem;
	bottom: 10.5rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	align-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	line-height: 1.2;
}
.sterapack_main_commission p:first-child span {
	font-size: 3.6rem;
	display: block;
}
.sterapack_main_commission p.en {
	color: #c4d700;
	font-weight: bold;
	font-size: 10.8rem;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -.02em;
}
.sterapack_main_commission p.en span:first-child {
	font-size: 8.1rem;
}
.sterapack_main_commission p.en span:last-child {
	display: inline-block;
	margin-left: -.4rem;
	font-size: 6.3rem;
	vertical-align: .5rem;
	transform: scaleX(.9);
}
.sterapack_main .sterapack_movie {
	width: 101.6rem;
	margin-top: 5.6rem;
}
.sterapack_movie h3 {
	text-align: center;
	font-size: 6.86rem;
	color: #0a7a59;
	letter-spacing: .05em;
	margin-bottom: .7rem;
}
.sterapack_movie a {
	display: block;
}
.sterapack_movie a::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(../img/top/icon_movie.png) no-repeat center center / 19.6rem auto;
	z-index: 10;
	image-rendering: -webkit-optimize-contrast;
}
.sterapack_point {
	margin-top: 17.5rem;
}
.sterapack_point h3 {
	width: 253.4rem;
	margin: 0 auto;
}
.sterapack_point_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	text-align: center;
	margin: -17.9rem 0 16rem;
}
.sterapack_point_list li {
	width: 54.3rem;
	height: 54.3rem;
	border-radius: 50%;
	background: #0a7153;
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	align-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	font-size: 6.8rem;
	line-height: 1.3;
	padding-bottom: 2rem;
}
.sterapack_point_list li + li {
	margin-left: 25.2rem;
}
.sterapack_point_list li + li::before {
	content: '';
	display: block;
	width: 10.2rem;
	height: 10.2rem;
	background: url(../img/houjin/icon_plus.png) no-repeat left top / 100% auto;
	position: absolute;
	left: -17.9rem;
	top: 0;
	bottom: 0;
	margin: auto 0;
	image-rendering: -webkit-optimize-contrast;
}
.sterapack_point_list li .en {
	font-size: 7rem;
	margin-bottom: 4rem;
	font-weight: 200;
	width: 100%;
	letter-spacing: .05em;
	color: #c4d700;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
}
.sterapack_point_item {
	width: 206.2rem;
	margin: 0 auto;
}
.sterapack_point_item + .sterapack_point_item {
	margin-top: 12.5rem;
}
.sterapack_point_item h4 {
	margin: 0 0 6rem;
	padding: 2.9rem 0 0 33rem;
	font-size: 7rem;
	color: #0a7153;
	line-height: 1.4;
	font-feature-settings: "palt";
	letter-spacing: .05em;
}
.sterapack_point_item h4 span {
	font-size: 5rem;
}
.sterapack_point_item h4 .en {
	display: block;
	position: absolute;
	top: -4rem;
	left: 0;
	width: 27.4rem;
	height: 27.4rem;
	border-radius: 50%;
	background: #f2ffe5;
	text-align: center;
	font-weight: normal;
	font-size: 4.5rem;
	line-height: 1;
	padding-top: 5rem;
	letter-spacing: 0;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
}
.sterapack_point_item h4 .en span {
	font-size: 14rem;
	display: block;
	margin-top: -1.3rem;
}
.sterapack_point_item p {
	padding-left: 34rem;
	font-size: 3.598rem;
	margin-right: -4rem;
}
.sterapack_point_item .sterapack_point_note {
	width: auto;
	line-height: 1.4;
	font-size: 2.4rem;
}
.sterapack_omisepocket {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: -1rem;
}
.sterapack_omisepocket figure {
	width: 79.4rem;
	margin: -.6rem 1.5rem 0 0;
}
.sterapack_omisepocket p {
	flex: 1;
	padding-right: 12rem;
}
.sterapack_point .sterapack_movie {
	width: 100%;
	margin-top: 15rem;
}
.sterapack_point .sterapack_movie a {
	width: 110.6rem;
	margin: 0 auto;
}
.sterapack_point .sterapack_movie a::before {
	background-image: url(../img/houjin/icon_movie_large.png);
	background-size: 17.2rem auto;
}
.sterapack_plan {
	background: #edf2bd;
	margin-top: 9.9rem;
	padding: 9.7rem 0 17rem;
}
.sterapack_plan h3 {
	text-align: center;
	font-size: 9rem;
	margin-bottom: 6.5rem;
	letter-spacing: .05em;
}
.sterapack_plan table {
	width: 200.9rem;
	margin: 0 auto;
	border-collapse: collapse;
}
.sterapack_plan table thead th {
	width: 76.8rem;
	color: #fff;
	font-size: 3.6rem;
	line-height: 1.3;
	border: 1.5rem solid #edf2bd;
	padding: 2.5rem 0 2.7rem;
}
.sterapack_plan table thead th span {
	display: block;
	font-size: 5.4rem;
	margin-top: .6rem;
}
.sterapack_plan table thead th:first-child {
	width: 42.9rem;
}
.sterapack_plan table thead th:nth-child(2) {
	background: #fa8200;
}
.sterapack_plan table thead th:nth-child(3) {
	background: #a0c81e;
}
.sterapack_plan table tbody th {
	background: #006444;
	color: #fff;
	font-size: 3.6rem;
	text-align: center;
	line-height: 1.4;
	letter-spacing: .05em;
	border: 1.5rem solid #edf2bd;
}
.sterapack_plan table tbody td {
	background: #fbfcfc;
	border: 1.5rem solid #edf2bd;
	vertical-align: top;
}
.sterapack_plan_cost {
	text-align: center;
	font-size: 5.4rem;
	color: #006444;
	font-weight: bold;
	letter-spacing: .05em;
	padding: 7.2rem 0;
}
.sterapack_plan_price {
	text-align: center;
	font-size: 5.4rem;
	color: #006444;
	font-weight: bold;
	margin-top: 2.9rem;
	letter-spacing: .05em;
}
td:nth-child(3) .sterapack_plan_price {
	margin-top: 4.5rem;
}
td:nth-child(2) .sterapack_plan_price span:nth-child(1) {
	font-size: 8rem;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
}
td:nth-child(2) .sterapack_plan_price span:nth-child(2) {
	font-size: 10rem;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
}
td:nth-child(3) .sterapack_plan_price span:nth-child(1) {
	font-size: 9rem;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
}
td:nth-child(3) .sterapack_plan_price span:nth-child(2) {
	font-size: 4rem;
}
.sterapack_plan_note {
	color: #cd0000;
	font-size: 2.5rem;
	text-align: center;
	font-weight: bold;
	margin-top: -1.5rem;
	letter-spacing: .05em;
}
.sterapack_plan_price + .sterapack_plan_note {
	margin-bottom: 2rem;
}
.sterapack_plan_commission {
	color: #006444;
	font-size: 9.86rem;
	text-align: center;
	font-family: 'Roboto Condensed', sans-serif;
	margin: 1rem 0;
}
.sterapack_plan_commission span {
	font-size: 13.4rem;
}
.sterapack_plan_commission img {
	width: 23.3rem;
	display: inline-block;
	vertical-align: 1.2rem;
	margin-left: 4rem;
}
.sterapack_plan_commission02 {
	margin: 4.2rem 0 3rem 9rem;
}
.sterapack_plan_commission02 h4 {
	font-size: 4rem;
	letter-spacing: .05em;
	margin-bottom: .7rem;
}
.sterapack_plan_commission02 ul {
	font-size: 3.6rem;
	line-height: 1.9;
	letter-spacing: .05em;
}
.sterapack_plan_commission02 ul span:nth-child(1) {
	color: #edf2bd;
}
.sterapack_plan_commission02 ul span:nth-child(2) {
	color: #006444;
}
.sterapack_plan_other {
	text-align: center;
}
.sterapack_plan_other {
	font-size: 5rem;
	font-weight: bold;
	margin: 3rem 0;
}
.sterapack_plan_other > span {
	font-size: 7.89rem;
	color: #006444;
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: normal;
	margin: 0 1.5rem;
}
.sterapack_plan_other > span span {
	font-size: 10.76rem;
}
.sterapack_plan_recommend {
	font-size: 4rem;
	color: #006444;
	font-weight: bold;
	vertical-align: middle !important;
}
.sterapack_plan_recommend ul {
	margin: 5rem 10rem;
	letter-spacing: .03em;
}
.sterapack_plan_recommend:nth-child(3) ul {
	margin: 5rem 4rem 3.5rem 6.5rem;
}
.sterapack_plan_recommend li {
	margin-left: 1.3em;
	text-indent: -1.3em;
	line-height: 1.2;
}
.sterapack_plan_recommend li + li {
	margin-top: 2.8rem;
}
.sterapack_plan_recommend li::before {
	content: '●';
	color: #c4d700;
	margin-right: 1.2rem;
}
.sterapack_plan_important {
	width: 197.9rem;
	margin: 0 auto;
	background: #fff;
	margin-top: 4.4rem;
	padding-bottom: 5.2rem;
}
.sterapack_plan_important h4 {
	text-align: center;
	font-size: 5.4rem;
	color: #006444;
	letter-spacing: .05em;
	padding: 4.3rem 0;
}
.sterapack_plan_important h4::after {
	content: '';
	display: block;
	width: 4.3rem;
	height: 2.8rem;
	background: url(../img/houjin/icon_arrow.png) no-repeat left top / 100% auto;
	position: absolute;
	right: 9.9rem;
	top: 0;
	bottom: 0;
	margin: auto 0;
	image-rendering: -webkit-optimize-contrast;
}
.sterapack_plan_important ul {
	font-size: 2.8rem;
	margin: .8rem 6.2rem;
}
.sterapack_plan_important ul a {
	border-bottom: 1px solid #000;
}
.sterapack_plan_important ul li {
	margin-left: 1.8em;
	text-indent: -1.8em;
	line-height: 1.7;
}
.sterapack_plan_important ul li + li {
	margin-top: 5.2rem;
}
.sterapack_plan_important ul li:before {
	content: '●';
	margin-right: .8em;
	color: #006444;
}
.sterapack_btn {
	margin-top: 12.4rem;
}
.sterapack_btn a {
	width: 134.1rem;
	margin: 0 auto;
	display: block;
	background: #0a7153;
	color: #fff;
	font-size: 6rem;
	font-weight: 500;
	text-align: center;
	padding: 6rem 0;
}
.sterapack_btn a::after {
	content: '';
	display: inline-block;
	width: 2.2rem;
	height: 3.4rem;
	margin-left: 4rem;
	vertical-align: .5rem;
	background: url(../img/houjin/icon_btn_arrow.png) no-repeat left top / 100% auto;
}
@media (orientation: portrait) and (max-width: 768px) {
	.sterapack_main {
		width: auto;
		display: block;
	}
	.sterapack_main_txt {
		width: 100%;
		margin-right: 0;
		margin-top: 5rem;
	}
	.sterapack_main_txt h3 {
		font-size: 5rem;
	}
	.sterapack_main_txt h3 img {
		width: 65rem;
		margin: 4.6rem auto 0;
	}
	.sterapack_main_txt p {
		text-align: left;
		margin: 5rem;
		line-height: 1.5;
	}
	.sterapack_main_img {
		width: auto;
		margin: 0 5rem;
		right: auto;
	}
	.sterapack_main_img h3 {
		margin-left: 0;
	}
	.sterapack_main_commission {
		right: 0;
		bottom: 0;
	}
	.sterapack_main .sterapack_movie {
		width: 101.6rem;
		margin: 5rem auto 0;
	}
	.sterapack_point {
		margin-top: 10rem;
	}
	.sterapack_point h3 {
		width: auto;
		margin: 0 5rem 0 -5rem;
	}
	.sterapack_point_list li {
		width: 33rem;
		height: 33rem;
		font-size: 4rem;
	}
	.sterapack_point_list li + li {
		margin-left: 8rem;
	}
	.sterapack_point_list li + li::before {
		width: 5rem;
		height: 5rem;
		left: -6.3rem;
	}
	.sterapack_point_list li .en {
		font-size: 5rem;
		margin-bottom: 2rem;
	}
	.sterapack_point_item {
		width: auto;
		margin: 0 5rem;
	}
	.sterapack_point_item + .sterapack_point_item {
		margin-top: 10rem;
	}
	.sterapack_point_item h4 {
		margin: 0 0 3rem;
		height: 23rem;
		padding: 0 0 0 28rem;
		font-size: 6rem;
	}
	.sterapack_point_item h4 {
		margin: 0 0 3rem;
		height: 23rem;
		padding: 3rem 0 0 28rem;
		font-size: 6rem;
	}
	.sterapack_point_item:nth-of-type(2) h4 {
		padding: 6.5rem 0 0 28rem;
	}
	.sterapack_point_item h4 span {
		font-size: 4rem;
	}
	.sterapack_point_item h4 .en {
		width: 23rem;
		height: 23rem;
		top: 0;
		font-size: 4.5rem;
	}
	.sterapack_point_item h4 .en span {
		font-size: 10rem;
		margin-top: -.5rem;
	}
	.sterapack_point_item p {
		padding-left: 0;
		font-size: 5rem;
		margin-right: 0;
	}
	.sterapack_point_item .sterapack_point_note {
		font-size: 4rem;
	}
	.sterapack_omisepocket {
		display: block;
		margin-top: 0;
	}
	.sterapack_omisepocket figure {
		width: auto;
		margin: 3rem 0 0;
	}
	.sterapack_omisepocket p {
		padding-right: 0;
	}
	.sterapack_plan_table {
		width: 100%;
		padding: 0 5rem;
		overflow: auto;
	}
	.sterapack_plan_important {
		width: auto;
		margin: 0 5rem;
		margin-top: 10rem;
		padding-bottom: 5.2rem;
	}
	.sterapack_plan_important.open {
		padding-bottom: 0;
	}
	.sterapack_plan_important h4 {
		font-size: 5.5rem;
	}
	.sterapack_plan_important h4::after {
		right: 5rem;
	}
	.sterapack_plan_important.open h4::after {
		transform: rotate(180deg);
	}
	.sterapack_plan_important ul {
		font-size: 4.3rem;
	}
	.sterapack_plan_important ul li {
		margin-left: 1.5em;
		text-indent: -1.5em;
	}
	.sterapack_plan_important ul li:before {
		margin-right: .5em;
	}
	.sterapack_btn {
		margin: 10rem 5rem 0;
	}
	.sterapack_btn a {
		width: auto;
		padding: 5rem 0;
	}
}

/* biz_owners_detail
----------------------------------------*/
.biz_owners_detail {
	padding: 10.7rem 0 13rem;
	color: #000;
}
.biz_owners_main {
	width: 235.4rem;
	margin: -1.4rem auto 0;
	color: #0a7153;
	text-align: center;
	font-feature-settings: "palt";
}
.biz_owners_main_txt {
	display: inline-block;
	padding-left: 8.5rem;
}
.biz_owners_main_txt::before {
	content: 'NEW';
	display: block;
	width: 29.4rem;
	height: 29.4rem;
	line-height: 29.2rem;
	border-radius: 50%;
	background: #fbe9ae;
	text-align: center;
	position: absolute;
	left: -27rem;
	top: .5rem;
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	font-size: 10.4rem;
	letter-spacing: .05em;
	z-index: 10;
}
.biz_owners_main p {
	font-size: 5rem;
	letter-spacing: .045em;
	z-index: 10;
}
.biz_owners_main h3 {
	font-size: 10rem;
	line-height: 1.3;
	letter-spacing: .22em;
	margin-top: 2rem;
	z-index: 10;
}
.biz_owners_main h3 span {
	display: block;
	font-size: 6rem;
	letter-spacing: .05em;
}
.biz_owners_main figure {
	margin-top: -9rem;
}
.biz_owners_service {
	width: 100%;
	margin: 7.5rem 0 0;
}
.biz_owners_service ul {
	width: 184.3rem;
	margin: 0 auto 4.7rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}
.biz_owners_service li {
	width: 55.5rem;
	height: 55.5rem;
	border-radius: 50%;
	background: #0a7153;
	color: #fff;
	text-align: center;
	padding: 3.4rem;
}
.biz_owners_service li .en {
	font-size: 3.632rem;
	margin-bottom: 3rem;
}
.biz_owners_service li .en span {
	font-size: 8.171rem;
	margin-left: .7rem;
}
.biz_owners_service li p:not(.en) {
	font-size: 7.944rem;
	font-weight: bold;
	line-height: 1.1;
}
.biz_owners_service li p:not(.en) > span {
	font-size: 5.674rem;
	color: #fff77f;
	display: block;
	line-height: 1.2;
	margin-bottom: .5rem;
}
.biz_owners_service li:nth-child(2) p:not(.en) {
	font-size: 3.632rem;
	line-height: 1.3;
	margin-top: -1.5rem;
}
.biz_owners_service li:nth-child(2) p:not(.en) > span {
	font-size: 4.958rem;
	margin-top: -2rem;
	display: inline-block;
}
.biz_owners_service li:nth-child(2) p:not(.en) > span .num {
	font-size: 13.388rem;
	font-weight: 600;
	letter-spacing: -.05em;
	vertical-align: -.9rem;
}
.biz_owners_service li:nth-child(2) p:not(.en) > span .num .dot {
	font-size: 10rem;
}
.biz_owners_service li:nth-child(2) p:not(.en) > span .num span:last-child {
	font-size: 7.8rem;
	display: inline-block;
	transform: scaleX(.9);
}
.biz_owners_service li:nth-child(2) p:not(.en) > span .note {
	color: #fff;
	font-size: 2.6rem;
	position: absolute;
	top: 3.5rem;
	right: .5rem;
	font-weight: 500;
}
.biz_owners_service .biz_owners_note {
	margin: 0 30rem;
	font-size: 2.798rem;
}
.biz_owners_note a {
	color: #0a7153;
}
.biz_owners_vpass {
	margin-top: 22.5rem;
}
.biz_owners_vpass h3 {
	font-feature-settings: "palt";
	position: absolute;
	top: -5rem;
	left: 25rem;
	z-index: 10;
	font-size: 7rem;
	line-height: 1.45;
	letter-spacing: .05em;
}
.biz_owners_vpass figure {
	margin-bottom: 1.6rem;
}
.biz_owners_vpass h3 span {
	color: #a98b4a;
}
.biz_owners_vpass .biz_owners_note {
	margin: 0 31.5rem .1rem;
	font-size: 2.798rem;
	padding-left: 3.45em;
	text-indent: -3.45em;
	line-height: 1.42;
}
.biz_owners_compare {
	width: 198rem;
	margin: 15.8rem auto 0;
}
.biz_owners_compare h3 {
	text-align: center;
	font-size: 7rem;
	color: #2d2926;
	letter-spacing: -.01em;
	margin-bottom: 4.5rem;
}
.biz_owners_compare_table {
	margin-bottom: 7.2rem;
}
.biz_owners_compare .biz_owners_note {
	margin: 0 6rem .1rem 0;
	font-size: 2.798rem;
	padding-left: 2.55em;
	text-indent: -2.55em;
	letter-spacing: .005em;
	line-height: 1.42;
}
.biz_owners_compare .biz_owners_txt {
	font-size: 2.798rem;
	letter-spacing: .005em;
	line-height: 1.42;
	margin-top: 20px;
}
.biz_owners_compare .biz_owners_txt span {
	color: #DA1919;
}
.biz_owners_compare .biz_owners_txt a {
	text-decoration: underline;
}
.biz_owners_detail ~ .btn_houjin_btn a {
	width: 153.9rem;
	letter-spacing: -.04em;
}
@media (orientation: portrait) and (max-width: 768px) {
	.biz_owners_detail {
		padding: 10rem 5rem 13rem;
	}
	.biz_owners_main {
		width: 100%;
		margin: 5rem auto 0;
	color: #0a7153;
	text-align: center;
	font-feature-settings: "palt";
}
	.biz_owners_main_txt {
		width: 100%;
		padding-left: 25rem;
	}
	.biz_owners_main_txt::before {
		width: 22rem;
		height: 22rem;
		line-height: 22rem;
		left: 0;
		bottom: 0;
		font-size: 8rem;
		margin: auto 0;
	}
	.biz_owners_main p {
		font-size: 3.5rem;
		letter-spacing: .04em;
	}
	.biz_owners_main h3 {
		font-size: 8rem;
		letter-spacing: .05em;
	}
	.biz_owners_main figure {
		margin: 0 -5rem;
	}
.biz_owners_service {
	width: 100%;
	margin: 7.5rem 0 0;
}
	.biz_owners_service ul {
		width: auto;
		margin: 0 auto 4.7rem;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.biz_owners_service li {
		width: 50rem;
		height: 50rem;
		padding: 2rem;
	}
	.biz_owners_service li:first-child {
		margin: 0 10rem;
	}
	.biz_owners_service li:last-child {
		margin-left: 4rem;
	}
	.biz_owners_service li .en span {
		font-size: 8rem;
	}
	.biz_owners_service li p:not(.en) {
		font-size: 7rem;
	}
	.biz_owners_service li:nth-child(2) p:not(.en) > span .num {
		font-size: 13rem;
	}
	.biz_owners_service .biz_owners_note {
		margin: 0 0 0 2.52em;
		text-indent: -2.52em;
		font-size: 3.5rem;
	}
	.biz_owners_vpass {
		margin-top: 26rem;
	}
	.biz_owners_vpass h3 {
		top: -18rem;
		left: 1rem;
		font-size: 5.5rem;
	line-height: 1.45;
	letter-spacing: .05em;
}
	.biz_owners_vpass figure {
		margin: 0 -5rem 2rem;
	}
	.biz_owners_vpass .biz_owners_note {
		margin: 0 0 0 3.45em;
		text-indent: -3.45em;
		font-size: 3.5rem;
		padding-left: 0;
	}
	.biz_owners_compare .biz_owners_note {
		font-size: 3.5rem;
		margin: 0;
	}
	.biz_owners_compare .biz_owners_txt {
		font-size: 3.5rem;
	}
	.biz_owners_detail ~ .btn_houjin_btn a {
		width: 100%;
	}
}

/* cashless_intro
----------------------------------------*/
.cashless {
	background: url(../img/index/bg.png) no-repeat center center / cover;
}
.cashless main {
	height: calc(100% - 16.1rem);
}
.cashless .contents {
	height: 100%;
}
.cashless_intro {
	padding: 9rem 0 0;
	height: 100%;
}
.cashless_intro h2 {
	width: 246.6rem;
	margin: 0 auto;
}
.cashless_intro_main {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.cashless_intro_balloon {
	width: 97.8rem;
	z-index: 15;
	margin: -1.2rem -7rem 0 -5.5rem;
}
.cashless_intro_main figure {
	width: 114.4rem;
}
.cashless_intro_bnr {
	width: 215rem;
	margin: 2.2rem auto 0;
	left: .5rem;
}

/* cashless_top
----------------------------------------*/
.cashless.top {
	background-image: url(../img/top/bg.png);
	background-position: center bottom;
}
.cashless.top::before {
	content: '';
	display: block;
	width: 253.4rem;
	height: 30.1rem;
	background: url(../img/top/img_01.png) no-repeat left top / 100% auto;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
}
.cashless_top {
	padding: 4.1rem 0 0;
}
.cashless_top h2 {
	width: 253.8rem;
	margin: 0 auto 3.1rem;
}
.cashless_top_product {
	width: 253.5rem;
	margin: 0 auto;
	padding-left: 8rem;
}
.cashless_top_product ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.cashless_top_product ul li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.cashless_top_product ul a {
	display: block;
	overflow: hidden;
	width: 100%;
	height: 100%;
}
.cashless_top_product ul li:nth-child(1) {
	width: 60rem;
}
.cashless_top_product ul li:nth-child(2) {
	width: 92.9rem;
	margin-left: -2rem;
}
.cashless_top_product ul li:nth-child(2)::after {
	content: '';
	display: block;
	width: 40.9rem;
	height: 29.3rem;
	background: url(../img/top/img_02.png) no-repeat left top / 100% auto;
	position: absolute;
	bottom: 0;
	right: -7.6rem;
	pointer-events: none
}
.cashless_top_product ul li:nth-child(3) {
	width: 34.2rem;
	margin-left: 2.7rem;
}
.cashless_top_product ul li:nth-child(4) {
	width: 46.2rem;
}
.cashless_top_product_balloon {
	background: #fff;
	border-radius: 3rem;
	text-align: center;
	font-size: 3.99rem;
	font-feature-settings: "palt";
	letter-spacing: .03em;
	color: #0a7a59;
	line-height: 1.3;
}
.cashless_top_product_balloon::before {
	content: '';
	display: block;
	width: 5.3rem;
	height: 6rem;
	background: url(../img/top/img_balloon_arrow.png) no-repeat left top / 100%;
	position: absolute;
	bottom: -5.3rem;
	left: 12rem;
}
.cashless_top_product ul li:nth-child(1) .cashless_top_product_balloon {
	width: 53.7rem;
	margin-top: 1.7rem;
	padding: 5.5rem 0 3.3rem;
	font-size: 4.6rem;
}
.cashless_top_product ul li:nth-child(1) .cashless_top_product_balloon img {
	width: 27.1rem;
	margin: 3.4rem auto 0;
}
.cashless_top_product ul li:nth-child(1) figure {
	width: 58.8rem;
	position: absolute;
	bottom: 6.2rem;
	left: 50%;
	transform: translateX(-49%);
	animation-fill-mode: forwards;
	animation-duration: 3s;
	animation-name: top_anim_01;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}
.cashless_top_product ul li:nth-child(3) .cashless_top_product_balloon {
	margin-top: 17.5rem;
	padding: 5.5rem 0 6.7rem;
	line-height: 1.4;
}
.cashless_top_product ul li:nth-child(3) .cashless_top_product_balloon::before {
	left: 10.4rem;
}
.cashless_top_product ul li:nth-child(3) .cashless_top_product_balloon img {
	width: 21.8rem;
	margin: 3.7rem auto 0;
}
.cashless_top_product ul li:nth-child(3) figure {
	width: 31rem;
	position: absolute;
	bottom: 16.9rem;
	left: 50%;
	transform: translateX(-46%);
	animation-fill-mode: forwards;
	animation-duration: 3s;
	animation-name: top_anim_03;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}
.cashless_top_product ul li:nth-child(4) .cashless_top_product_balloon {
	margin-top: 2rem;
	padding: 5.5rem 0 5.9rem;
	line-height: 1.4;
}
.cashless_top_product ul li:nth-child(4) .cashless_top_product_balloon::before {
	left: 25rem;
	bottom: -4.8rem;
	transform: scale(-1, 1);
}
.cashless_top_product ul li:nth-child(4) figure {
	width: 40.1rem;
	position: absolute;
	bottom: 8.2rem;
	left: 50%;
	transform: translateX(-44.5%);
	animation-fill-mode: forwards;
	animation-duration: 3s;
	animation-name: top_anim_03;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}
@keyframes top_anim_01 {
	0% {
		transform: translateY(0) translateX(-49%);
	}
	50% {
		transform: translateY(-4rem) translateX(-49%);
	}
	100% {
		transform: translateY(0) translateX(-49%);
	}
}
@keyframes top_anim_02 {
	0% {
		transform: translateY(0) translateX(-46%);
	}
	50% {
		transform: translateY(4rem) translateX(-46%);
	}
	100% {
		transform: translateY(0) translateX(-46%);
	}
}
@keyframes top_anim_03 {
	0% {
		transform: translateY(0) translateX(-44.5%);
	}
	50% {
		transform: translateY(4rem) translateX(-44.5%);
	}
	100% {
		transform: translateY(0) translateX(-44.5%);
	}
}

/* cashless_product
----------------------------------------*/
.modaal-inline {
	overflow: hidden;
}
.modaal-wrapper .modaal-inner-wrapper {
	padding: 0 !important;
}
.modaal-inline .modaal-container {
	width: 263.6rem;
	box-shadow: 1rem 1rem 3rem rgba(0, 0, 0, .1);
}
.modaal-iframe .modaal-container {
	max-width: none !important;
	width: 263.6rem;
	height: 172.4rem !important;
	background: #fff;
	padding: 30.3rem 16.6rem;
}
.modaal-wrapper .modaal-close,
.cashless_product_qr_close {
	-webkit-appearance: none;
	appearance: none;
	background: none;
	border: 0;
	position: absolute;
	top: 9.8rem;
	right: 9.9rem;
	width: 14.2rem;
	height: 14.2rem;
	cursor: pointer;
}
.modaal-wrapper .modaal-close:after,
.modaal-wrapper .modaal-close:before,
.cashless_product_qr_close:after,
.cashless_product_qr_close:before {
	content: '';
	display: block;
	position: absolute;
	top: -2.8rem;
	left: 7rem;
	width: 1px;
	height: 19.5rem;
	background: #000;
}
.cashless_product_qr_close:after {
	transform: rotate(45deg);
}
.cashless_product_qr_close:before {
	transform: rotate(-45deg);
}
.modaal-inline + .modaal-overlay ~ .modaal-overlay {
	z-index: 10000;
}
.modaal-inline + .modaal-overlay ~ .modaal-iframe,
.modaal-inline + .modaal-overlay ~ .modaal-inline {
	z-index: 20000;
}
.cashless_product_inner {
	height: 172.4rem;
	margin: 0 auto;
	background: #fff;
	padding: 11.5rem 9.8rem 4.5rem 9.6rem;
}
.stera.cashless_product_inner {
	padding-top: 9.6rem;
}
.cashless_product_info {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.cashless_product_info + .cashless_product_info {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}
.cashless_product_info img {
	display: block;
}
.cashless_product_info .img_stera {
	width: 65.5rem;
	margin: 0 8rem 1rem 0;
	position: absolute;
	right: 0;
	top: -17rem;
}
.cashless_product_info .img_square {
	width: 60rem;
	margin: 0 11rem 0 0;
	position: absolute;
	right: 0;
	top: -28.6rem;
}
.cashless_product_info .img_business_owners {
	width: 93rem;
	margin: 8.5rem 0 0;
	position: absolute;
	right: -4.5rem;
	top: -15.6rem;
}
.cashless_product_info .img_nl {
	width: 80rem;
	margin: 0;
	position: absolute;
	right: 0;
	top: -18.6rem;
}
.cashless_product_info .img_platinum {
	width: 80rem;
	margin: 0;
	position: absolute;
	right: 1.5rem;
	top: -18.6rem;
}
.cashless_product_ttl {
	text-align: center;
	margin-bottom: 5.1rem;
}
.business_owners .cashless_product_ttl {
	margin-bottom: 8.4rem;
}
.cashless_product_ttl p {
	width: 107rem;
	margin: 0 auto;
	font-size: 6rem;
	font-weight: bold;
	color: #0a7153;
	font-feature-settings: "palt";
	letter-spacing: .03em;
}
.cashless_product_ttl p::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	width: 100%;
	height: .6rem;
	background: #0a7153;
	margin: 0 auto;
}
.cashless_product_ttl p span {
	display: inline-block;
	min-width: 66.2rem;
	background: #fff;
	padding: 0 6rem;
}
.cashless_product_ttl .stera {
	width: 54.1rem;
	margin: 5.7rem auto 0;
}
.cashless_product_ttl .square {
	width: 58rem;
	margin: 9.2rem auto 8rem;
}
.cashless_product_ttl .business_owners,
.cashless_product_ttl .nl,
.cashless_product_ttl .platinum {
	font-size: 10rem;
	font-weight: 900;
	color: #0a7153;
	line-height: 1.3;
	margin: 4rem 0 -.7rem;
}
.cashless_product_ttl .nl,
.cashless_product_ttl .platinum {
	margin: 4rem 0 0;
	line-height: 1.25;
	letter-spacing: -.02em;
}
.cashless_product_ttl .platinum {
	margin: 4.2rem 0 0;
}
.cashless_product_txt {
	width: 135rem;
	padding-bottom: 1.8rem;
	margin-right: 14.5rem;
}
.cashless_product_txt > h3 {
	font-size: 5.6rem;
	margin-bottom: 2rem;
	text-align: center;
	line-height: 1.35;
	font-feature-settings: "palt";
}
.stera .cashless_product_txt > h3 {
	font-size: 5.2rem;
	margin-bottom: 1rem;
}
.business_owners .cashless_product_txt > h3 {
	margin-bottom: 4rem;
}
.platinum .cashless_product_txt > h3 {
	margin: -.3rem 0 1.5rem;
	line-height: 1.45;
	letter-spacing: .05em;
}
.cashless_product_txt > h4 {
	text-align: center;
	font-size: 4.6rem;
	margin: 5rem 0 .3rem;
	letter-spacing: .05em;
	font-feature-settings: "palt";
}
.cashless_product_txt > p {
	font-size: 3.6rem;
	line-height: 1.55;
	margin: 0 -14rem 0 2rem;
}
.stera .cashless_product_txt > p {
	font-size: 3.2rem;
	line-height: 1.4;
}
.business_owners .cashless_product_txt > p {
	line-height: 1.6;
}
.nl .cashless_product_txt > p {
	margin-left: 3rem;
	margin-top: 1.5rem;
}
.cashless_product_txt_note {
	font-size: 2.8rem !important;
}
.cashless_product_btn {
	text-align: center;
	margin-top: 1.2rem;
}
.square .cashless_product_btn {
	margin-top: 6.5rem;
}
.business_owners .cashless_product_btn {
	margin: 7rem 0;
}
.nl .cashless_product_btn {
	margin-top: 2.5rem;
}
.platinum .cashless_product_btn {
	margin-top: 6rem;
}
.square .cashless_product_btn + .cashless_product_btn {
	margin: 3rem 0 4.8rem;
}
.nl .cashless_product_btn + .cashless_product_btn {
	margin-top: 3rem;
	margin-bottom: 1.5rem;
}
.platinum .cashless_product_btn {
	margin-top: 2rem;
}
.platinum .cashless_product_btn + .cashless_product_btn {
	margin-top: 3rem;
	margin-bottom: 3rem;
}
.cashless_product_btn a {
	display: inline-block;
	width: 74.7rem;
	border: .6rem solid #0a7153;
	font-size: 5.04rem;
	font-weight: bold;
	color: #0a7153;
	padding: 1.3rem 2rem 1.8rem 3.5rem;
	letter-spacing: .04em;
	font-feature-settings: "palt";
	z-index: 10;
}
.cashless_product_btn.green a {
	padding-left: 5.7rem;
	border-color: #c4d700;
	background: #c4d700;
}
.cashless_product_btn a::after {
	content: '';
	display: inline-block;
	width: 2.8rem;
	height: 4.3rem;
	margin-left: 2.2rem;
	vertical-align: -.5rem;
	background: url(../img/top/icon_btn_arrow.png) no-repeat left top / 100% auto;
	image-rendering: -webkit-optimize-contrast;
}
.cashless_product_btn.green a::after {
	margin-left: 4rem;
}
.cashless_product_bnr {
	width: 155.9rem;
}
.cashless_product_bnr p:first-child {
	font-size: 2.8rem;
	line-height: 1.42;
	margin: 0 0 2.5rem 1rem;
}
.cashless_product_bnr p:last-child {
	margin: 0;
}
.cashless_product_movie {
	width: 80rem;
	margin: 15rem 1.5rem 0 12.5rem;
}
.stera .cashless_product_movie {
	margin-top: 17rem;
}
.cashless_product_movie h3 {
	width: 95.4rem;
	margin: 0 -3.4rem -7.5rem -12rem;
}
.cashless_product_movie p {
	font-weight: bold;
	font-size: 4.6rem;
	text-align: center;
	margin-bottom: 1rem;
	font-feature-settings: "palt";
}
.cashless_product_movie a {
	display: block;
}
.cashless_product_movie a::before {
	content: '';
	display: block;
	width: 15.4rem;
	height: 11.7rem;
	background: url(../img/top/icon_movie.png) no-repeat left top / 100% auto;
	image-rendering: -webkit-optimize-contrast;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 100;
}
.cashless_product_qr {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: #fff;
	padding: 22.3rem 0 0;
	z-index: 9999;
	display: none;
	text-align: center;
}
.cashless_product_inner.qr {
	height: 161rem !important;
	padding: 6.5rem 0 0;
	text-align: center;
}
.cashless_product_qr h2,
.cashless_product_inner.qr h2 {
	min-width: 157.2rem;
	line-height: 1.3;
	display: inline-block;
	background: #0a7153;
	text-align: center;
	color: #fff;
	font-size: 7.5rem;
	margin: 0 auto 4rem;
	padding: 5.1rem 8rem 5.6rem;
	letter-spacing: .055em;
	border-radius: 10.3rem;
}
.cashless_product_qr p,
.cashless_product_inner.qr p {
	text-align: center;
	font-size: 5.4rem;
	font-weight: bold;
	line-height: 1.55;
	letter-spacing: .05em;
}
.cashless_product_qr_img {
	width: 81.5rem;
	margin: 2.5rem auto 0;
}
.cashless_product_qr_img img {
	width: 100%;
}
.cashless_product_qr .cashless_product_qr_note,
.cashless_product_inner.qr .cashless_product_qr_note {
	font-size: 3rem;
}
.cashless_product_qr_btn {
	width: 134.3rem;
	margin: 2rem auto 0;
}
.cashless_product_qr_btn a {
	display: block;
	border: .6rem solid #0a7153;
	border-radius: 2.2rem;
	font-size: 6rem;
	font-weight: bold;
	color: #0a7153;
	background: #f2ffe5;
	padding: 5.5rem 2rem;
}
.cashless_product_qr_btn a::after {
	content: '';
	display: inline-block;
	width: 3.3rem;
	height: 2.1rem;
	background: url(../img/houjin/icon_arrow.png) no-repeat left top / 100% auto;
	transform: rotate(90deg);
	vertical-align: 1rem;
	margin-left: 1.5rem;
}
.cashless_product_card {
	padding: 6.8rem 13.4rem 10.9rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	font-feature-settings: "palt";
}
.cashless_product_card h2 {
	width: 114.6rem;
	text-align: center;
	font-size: 6rem;
	font-weight: bold;
	color: #0a7153;
	margin: 3rem 8rem 0 .5rem;
	letter-spacing: .05em;
}
.cashless_product_card h2::before {
	content: '';
	display: block;
	height: .55rem;
	background: #0a7153;
	position: absolute;
	left: 0;
	right: 0;
	top: 4.5rem;
}
.cashless_product_card h2 span {
	display: inline-block;
	background: #fff;
	padding: 0 6.2rem;
}
.cashless_product_card h3 {
	width: 95.4rem;
}
.cashless_product_card h4 {
	text-align: center;
	font-size: 6.59rem;
	color: #0a7a59;
	margin-top: .4rem;
}
.cashless_product_card h5 {
	text-align: center;
	height: 41.3rem;
	background: #0a7a59;
	color: #fff;
	font-size: 6rem;
	line-height: 1.3;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.cashless_product_card_item {
	width: 88.4rem;
}
.cashless_product_card_item + .cashless_product_card_item {
	width: 138.5rem;
	margin: 0 0 0 auto;
}
.cashless_product_card_item ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-top: 3rem;
	height: 114rem;
}
.cashless_product_card_item ul li {
	border: 2px solid #0a7a59;
	border-radius: 1rem;
}
.cashless_product_card_item ul li a {
	display: block;
	height: 100%;
}
.cashless_product_card_item + .cashless_product_card_item li {
	width: 66.4rem;
}
@media (orientation: portrait) and (max-width: 768px) {
	.modaal-inline .modaal-container {
		width: 100%;
		box-shadow: 1rem 1rem 3rem rgba(0, 0, 0, .1);
	}
	.modaal-wrapper .modaal-inner-wrapper {
		cursor: default !important;
	}
	.modaal-wrapper .modaal-close,
	.cashless_product_qr_close {
		top: 5rem;
		right: 6.6rem;
		width: 9.4666rem;
		height: 9.4666rem;
	}
	.modaal-wrapper .modaal-close:after,
	.modaal-wrapper .modaal-close:before,
	.cashless_product_qr_close:after,
	.cashless_product_qr_close:before {
		top: -1.866rem;
		left: 4.666rem;
		height: 13rem;
	}
	.cashless_product_qr h2,
	.cashless_product_inner.qr h2 {
		min-width: 100%;
		font-size: 6rem;
		padding: 4rem 8rem;
	}
	.cashless_product_inner.qr {
		padding: 8rem 0 5rem;
		height: auto !important;
	}
	.cashless_product_qr_img {
		margin-top: 3rem;
	}
	.cashless_product_qr_btn {
		width: 100%;
	}
	.cashless_product_qr_btn a {
		border-width: .8rem;
		font-size: 5.3rem;
		padding: 5.5rem 1.5rem;
	}
}

/* cashless_vpoint
----------------------------------------*/
.cashless.vpoint {
	background-image: url(../img/vpoint/bg.png);
}
.cashless_vpoint {
	padding-top: 8rem;
}
.cashless_vpoint h2 {
	width: 256.7rem;
	margin: 0 auto;
}
.cashless_vpoint_attention::before {
	content: '';
	display: block;
	width: 13.6rem;
	height: 13.6rem;
	background: url(../img/vpoint/icon_attention.png) no-repeat left top / 100% auto;
	position: absolute;
	top: 1.7rem;
	left: -16.5rem;
	image-rendering: -webkit-optimize-contrast;
}
.cashless_vpoint_attention {
	font-feature-settings: "palt";
	letter-spacing: .05em;
	width: 210rem;
	margin: 1.5rem auto 0;
	line-height: 1.38;
	font-size: 3.6rem;
	font-weight: 500;
	color: #000;
}
.cashless_vpoint_attention a {
	color: #0a7153;
}
.cashless_vpoint_shindan {
	width: 233rem;
	margin: 3rem auto 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	text-align: center;
}
.cashless_vpoint_shindan_item {
	width: 110rem;
	background: #fff;
	border: 1.5rem solid #0a7153;
	border-radius: 3rem;
	color: #000;
	padding: 4.5rem 0 6rem;
}
.cashless_vpoint_shindan_item h3 {
	font-size: 7.5rem;
	line-height: 1.4;
	height: 21.5rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-feature-settings: "palt";
}
.cashless_vpoint_shindan_btn {
	margin-top: 3.6rem;
}
.cashless_vpoint_shindan_btn a {
	display: block;
	width: 85rem;
	height: 19.7rem;
	padding-top: 3.8rem;
	margin: 0 auto;
	color: #fff;
	font-size: 6rem;
	background: -moz-linear-gradient(top, #067755 0%, #066247 100%);
	background: -webkit-linear-gradient(top, #067755 0%,#066247 100%);
	background: linear-gradient(to bottom, #067755 0%,#066247 100%);
	box-shadow: 0 -2.6rem 0 #06543d inset;
	border-radius: 4rem;
	font-weight: bold;
}
.movie_modal_inner {
	height: 172.4rem !important;
	padding: 30.3rem 16.6rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.movie_modal_inner > div {
	width: 100%;
	padding-top: 47.4868%;
}
.movie_modal_inner > div iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	display: block;
}
@media (orientation: portrait) and (max-width: 768px) {
	.movie_modal_inner {
		height: auto !important;
		padding: 18rem 5rem;
	}
	.movie_modal_inner > div {
		padding-top: 56.25%;
	}
}