@charset "utf-8";

@font-face {
	font-family: "Roboto Condensed";
	font-style: normal;
	font-weight: 400;
	src: url(../fonts/RobotoCondensed-Bold.woff) format('woff')
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■共通スタイル
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, fieldset, form, label, legend, table, caption, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	border: 0;
	outline: 0;
	font-size: 100%;
	font-style: normal;
	vertical-align: baseline;
	background: transparent;
	margin: 0;
	padding: 0;
}

main, article, aside, details, summary, blockquote, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

h1, h2, h3, h4, h5, dl, dt, dd, ol, ul, menu, li, p, figure {
	margin: 0;
	padding: 0;
}

ul, menu {
	list-style: none
}

img, iframe {
	vertical-align: top;
	max-width: 100%;
}

abbr[title], dfn[title] {
	cursor: help
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

html {
	scroll-behavior: smooth;
	/*scroll-padding-top: 48px;*/
}

body {
	font-size: clamp(14px, 1.5vw, 16px);
	font-family: "Segoe UI", "Helvetica Neue", "Meiryo UI", Meiryo, "メイリオ", sans-serif;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: 300;
	line-height: 1;
	/*letter-spacing: .025em;*/
	word-break: break-all;
	-webkit-text-size-adjust: 100%;
}

::selection {
	background: #f6f6f6
}

::-moz-selection {
	background: #f6f6f6
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■body
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body {
	display: flex;
	justify-content: center;
	background-image: url(../img/bg.svg), linear-gradient(135deg, #CAC6FF, #F0C9EC, #FDFFE8, #D8FFD0, #C0F1F8, #CAC6FF);
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	column-gap: clamp(32px, 4.0vw, 48px);
}

/*-----------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
	body {
		background: none;
		display: block;
	}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■header
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */


header h1 {
	mix-blend-mode: difference;
}

header nav .book,
header nav .share {
	width: 100%;
	cursor: pointer;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 16px;
	box-sizing: border-box;
	font-size: clamp(12px, 1.3vw, 14px);
	font-weight: 600;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	text-decoration: none;
	color: #000;
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom: 4px solid rgba(0, 0, 0, .125);
	transition: .25s;
}

header nav .book {
	background-color: #ffec5c;
}

header nav .share {
	background-color: #76e892;
}

header nav .book:hover,
header nav .share:hover {
	transform: scale(1.05);
}

/*------------------------------------------------------------------------*/
@media screen and (min-width: 768px) {
	header {
		width: clamp(200px, 22.0vw, 240px);
	}

	header div {
		position: sticky;
		left: 0;
		top: 48px;
		background: #fff;
		padding: clamp(24px, 2.8vw, 32px);
		border-radius: 16px;
		box-shadow: 0 0 16px rgba(0, 0, 0, .25);
	}

	header h1 {
		width: 50%;
		margin: 0 auto;
	}

	header menu {
		margin-top: clamp(24px, 2.8vw, 32px);
		border-bottom: 1px solid #f6f6f6;
	}

	header menu li {
		border-top: 1px solid #f6f6f6;
	}

	header menu li a {
		display: block;
		padding: 16px 0;
		font-size: clamp(12px, 1.3vw, 14px);
		text-align: center;
	}

	header nav {
		margin-top: clamp(24px, 2.8vw, 32px);
	}

	header nav ul li + li {
		margin-top: 8px;
	}

	header .qr {
		width: 50%;
		margin: 0 auto;
		margin-top: clamp(24px, 2.8vw, 32px);
	}
}

/*------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
	header h1 {
		width: 48px;
		left: 16px;
		top: 16px;
		position: fixed;
		z-index: 2;
	}

	header menu {
		display: none;
	}

	header nav {
		width: 100%;
		position: fixed;
		left: 0;
		bottom: -64px;
		z-index: 2;
		transition: .5s;
	}
	header nav.visible {
		bottom: 16px;
	}

	header nav ul {
		width: clac(100% - 32px);
		margin: 0 16px;
		display: flex;
		justify-content: center;
		column-gap: 8px;
	}


	header nav ul li:first-child {
		flex: 3;
	}

	header nav ul li:nth-child(2) {
		flex: 2;
	}


	header nav .book,
	header nav .share {
		box-shadow: 0 0 8px rgba(0, 0, 0, .125);
		/*-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		letter-spacing: 0.075em;
		white-space: nowrap;*/
		height: 48px;
		padding: 12px 0;
	}


	header nav .pagetop {
		flex: none;
	}

	header nav .pagetop a {
		width: 48px;
		height: 48px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: #fff;
		border-radius: 16px;
		box-sizing: border-box;
		border-bottom: 4px solid rgba(0, 0, 0, .125);
		box-shadow: 0 0 8px rgba(0, 0, 0, .125);
	}

	header nav .pagetop img {
		width: 12px;
	}
	header .qr {
		display: none;
	}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■campaign
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.campaign {
	width: 100%;
	position: sticky;
	left: 0;
	bottom: 0;
	background: #444;
	z-index: 1;
}
.campaign label {
	height: clamp(56px, 6.0vw, 64px);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■main
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
main {
	flex: none;
	width: 100%;
	max-width: 480px;
	box-shadow: 0 0 16px rgba(0, 0, 0, .25);
	background: #fff;
}
article {
	background: linear-gradient(135deg, #CAC6FF, #F0C9EC, #FDFFE8, #D8FFD0, #C0F1F8, #CAC6FF);
}



hr {
	display: block;
	height: 1px;
	border: 0;
	margin: 0;
	padding: 0;
	background: rgba(196, 197, 191, .5);
}

u {
	text-decoration: none;
	background: linear-gradient(transparent 60%, #ebff00 0%);
}

a {
	color: #000;
	font-size: 100%;
	vertical-align: baseline;
	text-decoration: underline;
	text-decoration: none;
	margin: 0;
	padding: 0;
}

a:hover {
	text-decoration: none;
}

a.underline,
label.underline,
button.underline {
	text-decoration: underline;
	cursor: pointer;
}

a.underline:hover,
label.underline:hover,
button.underline:hover {
	text-decoration: none;
}

.red {
	color: #ff766f;
}

.blue {
	color: #01b5d0;
}

.pink {
	color: #ff93c3;
}

.purple {
	color: #F0C9EC;
}

.orange {
	color: #fd9834;
}

.green {
	color: #72d4d2;
}

.yellow {
	color: #ffec5c;
}

.white {
	color: #fff;
}

.mint {
	color: #9deff5;
}

.line {
	color: #00B900;
}

main .left {
	text-align: left;
}

main .center {
	text-align: center;
}

main .right {
	text-align: right;
}

main .xx-large {
	font-size: clamp(20px, 2.2vw, 24px);
}
main .x-large {
	font-size: clamp(18px, 1.9vw, 20px);
}

main .large {
	font-size: clamp(16px, 1.7vw, 18px);
}

main .small {
	font-size: clamp(12px, 1.3vw, 14px);
}

main .x-small {
	font-size: clamp(10px, 1.1vw, 12px);
}

main .figure {
	margin: 24px 0;
}
main sup {
	font-size: 50%;
	vertical-align: super;
	margin-left: 2px;
}


.bold {
	font-weight: 900;
}

.roboto {
	font-family: "Roboto Condensed";
	font-style: normal;
	font-weight: 400;
	line-height: 1;
	/*margin: 0 8px;*/
}

.ratio1_1414 {
	width: 100%;
	aspect-ratio: 1 / 1.414;
	object-fit: cover;
	object-position: center center;
}

.ratio16_5 {
	width: 100%;
	aspect-ratio: 16 / 5;
	object-fit: cover;
	object-position: center center;
}

.ratio16_9 {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: center center;
}
.ratio16_9.top {
	object-position: top center;
}

.ratio65_24 {
	width: 100%;
	aspect-ratio: 65 / 24;
	object-fit: cover;
	object-position: center center;
}

.ratio4_5 {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center center;
}

.ratio3_4 {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	object-position: center center;
}

.ratio9_16 {
	width: 100%;
	aspect-ratio: 9 / 16;
	object-fit: cover;
	object-position: center center;
}

.ratio1_1 {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center center;
}

.ratio1_1.contain {
	width: calc(100% / 3 * 2);
	object-fit: contain;
}

.relative {
	position: relative;
}

.clamp {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
}

.clamp.line1 {
	-webkit-line-clamp: 1;
}

.clamp.line2 {
	-webkit-line-clamp: 2;
}

.clamp.line3 {
	-webkit-line-clamp: 3;
}

.radius {
	border-radius: 16px;
}
.circle {
	border-radius: 50%;
}
.gradient.dark {
	background-image: radial-gradient(rgba(0, 0, 0, .25) 35%, transparent 36%), radial-gradient(rgba(0, 0, 0, .25) 35%, transparent 36%);
	background-size: 4px 4px;
	background-position: 0 0, 2px 2px;
}
.gradient.light {
	background-image: radial-gradient(rgba(255, 255, 255, 1.0) 35%, transparent 36%), radial-gradient(rgba(255, 255, 255, 1.0) 35%, transparent 36%);
	background-size: 4px 4px;
	background-position: 0 0, 2px 2px;
}
.gradient.blue {
	background-image: radial-gradient(#01b5d0 35%, transparent 36%), radial-gradient(#01b5d0 35%, transparent 36%);
	background-size: 4px 4px;
	background-position: 0 0, 2px 2px;
}
.gradient.yellow {
	background-image: radial-gradient(#ffec5c 35%, transparent 36%), radial-gradient(#ffec5c 35%, transparent 36%);
	background-size: 4px 4px;
	background-position: 0 0, 2px 2px;
}


.flex {
	display: flex;
}
.flex.center {
	align-items: center;
	justify-content: center;
}
.column {
	flex-direction: column;
}

/*-------------------------------------------------------------------------
	iframe
-------------------------------------------------------------------------*/
.iframe {
	width: 100%;
	position: relative;
	overflow: hidden;
	transform: translateY(0px);
}

.iframe iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/*-------------------------------------------------------------------------
	blockquote
-------------------------------------------------------------------------*/

.blockquote {
	overflow: hidden;
}
.blockquote + .blockquote {
	margin-top: 16px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■heading
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

main .heading {
	font-weight: 900;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

/*-------------------------------------------------------------------------
	main
-------------------------------------------------------------------------*/

main .heading.main {
}
main .heading.main span {
	font-size: clamp(28px, 2.9vw, 30px);
}

main .heading.main small {
	font-size: clamp(18px, 1.9vw, 20px);
}
main .heading.main * + * {
	margin-top: 12px;
}
main .heading.main + .description {
	margin-top: 32px;
}

/*-------------------------------------------------------------------------
	medium
-------------------------------------------------------------------------*/

main .heading.medium {
}
main .heading.medium span {
	font-size: clamp(24px, 2.5vw, 26px);
}

main .heading.medium small {
	font-size: clamp(18px, 1.9vw, 20px);
}
main .heading.medium * + * {
	margin-top: 12px;
}
main .heading.medium + .description {
	margin-top: 24px;
}

/*-------------------------------------------------------------------------
	small
-------------------------------------------------------------------------*/

main .heading.small {
	margin-bottom: clamp(24px, 2.8vw, 32px);
	position: relative;
}
main .heading.small span {
	font-size: clamp(18px, 1.9vw, 20px);
}

main .heading.small small {
	font-size: clamp(16px, 1.7vw, 18px);
}

main .heading.small.arrow * {
	position: relative;
}
main .heading.small.arrow:before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	height: calc(100% + 32px);
	aspect-ratio: 2;
	clip-path: polygon(50% 100%,100% 0,0 0);
	background: linear-gradient(to bottom, transparent, #fff);
	background: #fff;
}

main .heading.small * + * {
	margin-top: 8px;
}

main .heading.small + .description {
	margin-top: calc(0px - clamp(12px, 1.4vw, 16px));
	margin-bottom: clamp(24px, 2.8vw, 32px);
}



main h4 {
	font-weight: 900;
	display: flex;
	justify-content: center;
	flex-direction: column;
}

main h4 * + * {
	margin-top: 8px;
}

main p {
	line-height: 1.75;
}

main p + p {
	margin-top: 12px;
}

main li {
	line-height: 1.75;
}

main dt {
	line-height: 1.75;
}
main ul.disc {
	margin: 12px 0;
	/*padding-left: 1.25em;*/
	list-style-type: disc;
	list-style-type: none;
}
main ul.disc li {
	display: flex;
}
main ul.disc li:before {
	content: "・";
}

main ol.decimal {
	margin: 12px 0;
	padding-left: 1.25em;
	list-style-type: decimal;
}

main ul.disc li > ul.disc, main ol.decimal li > ul.disc {
	margin: 0;
}

main ul.disc li > ol.decimal, main ol.decimal li > ol.decimal {
	margin: 0;
}

/*-------------------------------------------------------------------------
	indent
-------------------------------------------------------------------------*/
.indent {
}

table + .indent {
	margin-top: 8px;
}

.indent.level1, .indent li.level1 {
	padding-left: 1em;
	text-indent: -1em;
}

.indent.level2, .indent li.level2 {
	padding-left: 1.85em;
	text-indent: -1.85em;
}

.indent.level3, .indent li.level3 {
	padding-left: 2.25em;
	text-indent: -2.25em;
}

ul.indent {
	text-align: center;
	display: inline-block;
}

.indent li {
	text-align: left;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■section
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
section {
	padding: 48px 0;
	position: relative;
}

section.dark {
	background: #333;
}

/*-------------------------------------------------------------------------
	top
-------------------------------------------------------------------------*/
.inner {
	width: calc(100% - 48px);
	margin-left: 24px;
	margin-right: 24px;
}

.inner + .inner {
	margin-top: 48px;
}

.inner.max {
	width: 100%;
	margin-left: 0;
	margin-right: 0;
}

/*------------------------------------------------------------------------*/
@media screen and (min-width: 768px) {
	.sp {
		display: none !important
	}

	/*a[href^="tel:"] {
		pointer-events: none;
		text-decoration: none;
	}*/
}

/*------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
	.pc {
		display: none !important
	}

	.inner.max {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
}

/*-------------------------------------------------------------------------
	block
-------------------------------------------------------------------------*/
.block {
	padding: 24px;
}

.block + .block {
	margin-top: 16px;
}

.block.light {
	background: #fff;
}

.block.ghost {
	background-image: radial-gradient(rgba(255, 255, 255, 1.0) 35%, transparent 36%), radial-gradient(rgba(255, 255, 255, 1.0) 35%, transparent 36%);
	background-size: 4px 4px;
	background-position: 0 0, 2px 2px;
}

.block.border-bottom {
	border-bottom: 4px solid rgba(0, 0, 0, .125);
}

.block hr {
	margin: clamp(16px, 2.0vw, 24px) 0;
}

.block > dl {
}
.block > dl dt {
}
.block > dl dd {
	margin-top: 24px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■kv
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#kv {
	padding: 48px 0;
	padding: 0;
	/*background-image: url(../img/bg.svg), linear-gradient(135deg, #CAC6FF, #F0C9EC, #FDFFE8, #D8FFD0, #C0F1F8, #CAC6FF);*/
	background-image: linear-gradient(135deg, #CAC6FF, #F0C9EC, #FDFFE8, #D8FFD0, #C0F1F8, #CAC6FF);
	background-image: linear-gradient(135deg, #CAC6FF, #F0C9EC, #FDFFE8);
	background-image: url(../img/bg.svg), linear-gradient(135deg, #CAC6FF, #F0C9EC, #FDFFE8);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}

/*#kv {
	display: flex;
	position: relative;
	overflow: hidden;
}
#kv img {
	width: 100%;
	position: relative;
	left: -50%;
}
#kv img:last-of-type {
	transform: scale(-1, 1);
}*/
#kv div {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 1;
}
#kv span {
	writing-mode: vertical-rl;
	font-size: clamp(32px, 3.6vw, 40px);
	font-weight: 900;
	line-height: 1.5;
	background: #000;
	color: #fff;
	box-decoration-break: clone;
	display: block;
}

#kv img {
	width: 100%;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■撮影事例
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*-------------------------------------------------------------------------
	works
-------------------------------------------------------------------------*/


.works {
	display: flex;
}

.works li {
	width: clamp(200px, 22.0vw, 240px) !important;
	width: calc(100% / 3 + 64px) !important;
	width: calc(100% / 2 - 16px) !important;
	margin-right: 16px;
}

.works li dd {
	margin-top: 16px;
}

.works li dd .name {
}

/*-------------------------------------------------------------------------
	fade
-------------------------------------------------------------------------*/


.fade {
	display: flex;
}

.fade li {
	width: 100%;
	margin-right: 16px;
}

.fade li dd {
	margin-top: 16px;
}

.fade li dd .name {
}

/*-------------------------------------------------------------------------
	splide
-------------------------------------------------------------------------*/
.splide__pagination {
	bottom: calc(0px - 16px);
	left: 0;
	padding: 0;
	position: absolute;
	right: 0;
	column-gap: 6px;
}

.splide__pagination__page {
	background: #c4c5bf;
	border: 0;
	border-radius: 50%;
	display: inline-block;
	width: 4px;
	height: 4px;
	opacity: 1;
	margin: 0;
	padding: 0;
	position: relative;
	transition: transform .2s linear;
}

.splide__pagination__page.is-active {
	background: #8c8c88;
	transform: scale(1.25);
}

.splide__pagination__page:hover {
	cursor: pointer;
	opacity: 1
}

.splide__arrow {
	opacity: 1;
	width: 48px;
	height: 48px;
	border-radius: 16px;
	box-sizing: border-box;
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	border: none;
	outline: none;
	background: #ffec5c;
	border-bottom: 4px solid rgba(0, 0, 0, .125);
	box-shadow: 0 0 8px rgba(0, 0, 0, .125);
}

.splide__arrow img {
	width: 8px;
	position: relative;
	transition: .25s;
}

.splide__arrow--prev {
	left: 16px;
}

.splide__arrow--prev img {
	left: 0;
}

.splide__arrow--prev:hover img {
	left: -4px;
}

.splide__arrow--next {
	right: 16px;
}

.splide__arrow--next img {
	right: 0;
}

.splide__arrow--next:hover img {
	right: -4px;
}

.splide__arrow:hover:not(:disabled) {
	opacity: 1;
}

.splide__arrow:disabled {
	opacity: 0;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■選ばれる3つの理由
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*-------------------------------------------------------------------------
	local
-------------------------------------------------------------------------*/
#local ol {
	display: flex;
	margin: 0;
	counter-reset: number;
	list-style: none;
	column-gap: 1px;
}

#local li {
	flex: 1;
}

#local li a {
	padding: 16px 0;
	display: flex;
	justify-content: center;
	background: #fff;
	text-align: center;
	position: relative;
	border-bottom: 4px solid rgba(0, 0, 0, .125);
}

#local li:first-child a {
	border-radius: 16px 0 0 16px;
}

#local li:last-child a {
	border-radius: 0 16px 16px 0;
}

#local li a dl {
	width: 100%;
	display: flex;
	flex-direction: column;
}

#local li a dl:after {
	flex: none;
	width: 12px;
	height: 8px;
	content: "";
	display: block;
	background: url(../img/icon_local.svg) no-repeat center bottom / contain;
	margin: 0 auto;
	margin-top: 4px;
	transition: .25s;
	bottom: 0;
	position: relative;
}

#local li a:hover dl:after {
	bottom: -2px;
}

#local li a dt {
	flex: none;
}

#local li a dt span {
	width: 50%;
	width: clamp(64px, 6.8vw, 72px);
	height: 24px;
	margin: 0 auto;
	padding-right: clamp(12px, 1.3vw, 14px);
	box-sizing: border-box;
	font-weight: bold;
	color: #01b5d0;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	background: #f6f6f6;
	border-radius: 24px;
}

#local li a dt span i {
	width: 24px;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #01b5d0;
	color: #f6f6f6;
	border-radius: 50%;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto 0;
}

#local li a dd {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 8px;
}

/*-------------------------------------------------------------------------
	reason
-------------------------------------------------------------------------*/
.reason {
	padding-top: 48px;
	margin-top: -48px;
	margin-bottom: 24px;
}

.reason span {
	width: fit-content;
	height: clamp(40px, 4.4vw, 48px);
	border-radius: clamp(20px, 2.2vw, 24px);
	padding-left: clamp(32px, 3.6vw, 40px);
	padding-right: clamp(48px, 5.6vw, 64px);
	margin: 0 auto;
	box-sizing: border-box;
	font-weight: bold;
	color: #01b5d0;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	background: #fff;
}

.reason span i {
	width: clamp(40px, 4.4vw, 48px);
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #01b5d0;
	color: #fff;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
}

/*-------------------------------------------------------------------------
	comments
-------------------------------------------------------------------------*/
.comments li {
	padding: 24px;
}

.comments li + li {
	margin-top: 16px;
}

.comment {
	display: flex;
}

.comment + .comment {
	margin-top: 16px;
}

.comment dt {
	flex: none;
	width: 64px;
}

.comment.type1 dt {
	order: 1;
	width: 64px;
	margin-left: 16px;
}

.comment.type2 dt {
	width: 48px;
	margin-right: 16px;
}

.comment dt img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center center;
	border-radius: 100%;
}

.comment dd {
	flex: 1;
	padding: 16px;
	position: relative;
}

.comment.type1 dd {
	background: rgba(0, 0, 0, .25);
	background: #d8f0d5;
}

.comment.type1 dd:after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 12px;
	border-color: transparent transparent transparent #d8f0d5;
	position: absolute;
	top: 26px;
	right: -12px;
}

.comment.type2 dd {
	background: #efefef;
	background: #fff;
}

.comment.type2 dd:after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 12px 6px 0;
	border-color: transparent #fff transparent transparent;
	position: absolute;
	top: 18px;
	left: -12px;
}

/*-------------------------------------------------------------------------
	media
-------------------------------------------------------------------------*/
.media {
	display: flex;
	align-items: center;
	overflow: hidden;
}

.media ul {
	display: flex;
	align-items: center;
	animation: loop infinite linear 45s both;
	margin: 0;
}

.media li {
	flex: none;
	width: 120px;
	margin: 0 4px;
}

.media li a,
.media li span {
	width: 100%;
	aspect-ratio: 16 / 9;
	/*border: 1px solid #eee;*/
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
}

.media li img {
	max-width: 50%;
	max-height: 50%;
}

@keyframes loop {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-100%);
	}
}



/*-------------------------------------------------------------------------
	anecdotes
-------------------------------------------------------------------------*/

.anecdotes {
	display: flex;
}

.anecdotes li {
	width: calc(100% - 96px) !important;
	margin-right: 16px;
}
.anecdotes li figure {
	padding: 8px;
}

/*-------------------------------------------------------------------------
	shorts
-------------------------------------------------------------------------*/

.shorts {
	display: flex;
}
.shorts1 + p {
	margin-top: 8px;
}

.shorts li {
	/*width: clamp(200px, 22.0vw, 240px) !important;*/
	width: clamp(320px, 34.0vw, 360px) !important;
	width: calc(100% - 96px) !important;
	margin-right: 16px;
}

.shorts li > div {
	padding: 8px;
}

/*-------------------------------------------------------------------------
	bullet
-------------------------------------------------------------------------*/

.bullet ul {
	text-align: center;
	display: inline-block;
}

.bullet li {
	text-align: left;
}

.bullet li + li {
	border-top: 1px solid rgba(0, 0, 0, .05);
	padding-top: 8px;
	margin-top: 8px;
}

/*-------------------------------------------------------------------------
	benefits
-------------------------------------------------------------------------*/
.benefits {
	counter-reset: number;
	list-style: none;
}

.benefits li {
	background: #fff;
	padding: 24px;
	border: 2px solid;
	border-top-color: #CAC6FF;
	border-right-color: #F0C9EC;
	border-bottom-color: #F0C9EC;
	border-left-color: #CAC6FF;
}

.benefits li + li {
	margin-top: 16px;
}
.benefits li dl {
	display: flex;
	margin-top: 12px;
	column-gap: 16px;
}

.benefits li dt {
	flex: 1;
}

.benefits li dt img {
	width: 100%;
}

.benefits li dd {
	flex: 3;
}



/*-------------------------------------------------------------------------
	modal
-------------------------------------------------------------------------*/


.modal {}

.modal input[type="checkbox"] {
	display: none;
}

.modal .overlay {
	visibility: hidden;
	opacity: 0;
	transition: .25s;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.modal .close {
	width: 100%;
	height: 100%;
	position: fixed;
	cursor: pointer;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

.modal input:checked ~ .close {
	z-index: 2;
}

.modal input:checked ~ .overlay {
	transform: scale(1);
	visibility: visible;
	opacity: 1;
	z-index: 3;
	background: rgba(0, 0, 0, .5);
}
.modal .inner {
}
.modal .block3 {
	max-width: 480px;
	height: calc(100dvh - 48px);
	padding: clamp(32px, 4.0vw, 48px) clamp(24px, 3.6vw, 48px);
	box-sizing: border-box;
	background: #fff;
	margin: auto auto;
	position: relative;
	overflow-y: scroll;
	overflow-inline: visible;
}
.modal input:checked ~ .overlay .block3 {
	z-index: 4;
}


.modal .block3 {
	-webkit-overflow-scrolling: touch;
}

.modal .block3::-webkit-scrollbar {
	width: 0;
}


.modal .block3 hr {
	margin: clamp(16px, 2.0vw, 24px) 0;
}
.modal .block3 .button {
	margin-top: clamp(24px, 2.8vw, 32px);
}


/*-------------------------------------------------------------------------
	ranking
-------------------------------------------------------------------------*/
.ranking {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	counter-reset: number;
	list-style: none;
	gap: 16px;
}

.ranking li {
	width: calc(100% / 3 - 32px / 3);
	background: #fff;
	position: relative;
}

.ranking li:before {
	counter-increment: number;
	content: counter(number, decimal-leading-zero);
	content: counter(number);
	font-family: "Roboto Condensed";
	font-style: normal;
	font-weight: 400;
	color: #ff766f;
	width: 40px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: #ffdfe5;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	left: -4px;
	top: -4px;
}

.ranking li dl {
	padding: 16px;
}

.ranking li dt {
	text-align: center;
}

.ranking li dd {
	margin-top: 12px;
}

/*-----------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
	.ranking li {
		width: calc(100% / 2 - 16px / 2);
	}
	.ranking li dd {
		text-align: center;
	}
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■料金プラン
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*-------------------------------------------------------------------------
	pricing
-------------------------------------------------------------------------*/
.pricing {
}

.pricing + .pricing {
	margin-top: 16px;
}

.pricing .title {
	padding: 16px 0;
	border-radius: 16px 16px 0 0;
	color: #fff;
}
.pricing.basic .title {
	background: #01b5d0;
}

.pricing.standard .title {
	background: #f58ece;
}

.pricing > div {
	background: #fff;
	padding: 24px;
	border-radius: 0 0 16px 16px;
	border-bottom: 4px solid rgba(0, 0, 0, .125);
	position: relative;
}
.pricing .ribbon {
	display: inline-block;
	box-sizing: border-box;
	font-weight: bold;
	text-align: center;
	padding: 4px 12px;
}

.pricing .icon {
	display: flex;
	justify-content: center;
	margin-top: 12px;
}

.pricing .icon li {
	display: flex;
	align-items: center;
}
.pricing .icon li:not(:first-child):before {
	flex: none;
	content: "＋";
	margin: 0 2px;
	font-weight: 900;
	color: #ff766f;
}

.pricing .icon li p {
	display: flex;
	align-items: center;
	font-weight: 600;
	color: #fff;
	padding: 2px 8px;
	border-radius: 8px;
}

.pricing.basic .color {
	color: #1f6efb;
}
.pricing.standard .color {
	color: #ec1e9d;
}

.pricing.basic .ribbon {
	border: 2px solid #1f6efb;
}
.pricing.standard .ribbon {
	border: 2px solid #ec1e9d;
}

.pricing.basic .icon li:not(:first-child):before {
	color: #1f6efb;
}
.pricing.basic .icon li p {
	background: #1f6efb;
}
.pricing.standard .icon li:not(:first-child):before {
	color: #ec1e9d;
}
.pricing.standard .icon li p {
	background: #ec1e9d;
}

.pricing .icon li span {}
.pricing .icon li a {
	color: #fff;
}


.pricing .button {
	margin: 24px auto 16px auto;
}

/*-------------------------------------------------------------------------
	price
-------------------------------------------------------------------------*/

.price p {
	line-height: 1;
}
.price .box {
	display: block;
	padding: 12px 0;
	background-image: radial-gradient(#ffec5c 35%, transparent 36%), radial-gradient(#ffec5c 35%, transparent 36%);
	background-size: 4px 4px;
	background-position: 0 0, 2px 2px;
	position: relative;
}
.price .box:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -12px;
	margin: auto;
	height: 12px;
	aspect-ratio: 2;
	clip-path: polygon(50% 100%,100% 0,0 0);
	background-image: radial-gradient(#ffec5c 35%, transparent 36%), radial-gradient(#ffec5c 35%, transparent 36%);
	background-size: 4px 4px;
	background-position: 0 0, 2px 2px;
}

.price .special {
	line-height: 1.125;
	letter-spacing: 0.075em;
}

.price .big {
	font-size: clamp(64px, 6.8vw, 72px);
	letter-spacing: 0em;
	margin: 0 6px;
}

/*-------------------------------------------------------------------------
	details
-------------------------------------------------------------------------*/

main details + details {
	margin-top: 16px;
}

main summary {
	font-weight: 600;
	padding: 16px 24px;
	border-radius: 16px;
	display: flex;
	align-items: center;
	cursor: pointer;
	border-bottom: 4px solid rgba(0, 0, 0, .125);
}
main summary p {
	margin-right: 12px;
}

main details[open] summary {
	border-radius: 16px 16px 0 0;
	border-bottom: 0;
}

main summary::-webkit-details-marker {
	display: none;
}

main summary:after {
	flex: none;
	content: "";
	margin-left: auto;
	width: 12px;
	height: 12px;
	background: none;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

main summary + div {
	background: #fff;
	padding: 24px;
	border-radius: 0 0 16px 16px;
	border-bottom: 4px solid rgba(0, 0, 0, .125);
}

/*-------------------------------------------------------------------------
	faq
-------------------------------------------------------------------------*/


.faq summary {
	background-color: #f6f6f6;
}

.faq summary:after {
	background-image: url(../img/icon_summary_add_dark.svg);
}

.faq details[open] summary:after {
	background-image: url(../img/icon_summary_remove_dark.svg);
}
.faq summary:before {
	content: "Q";
	font-family: "Roboto Condensed";
	font-style: normal;
	font-weight: 400;
	color: #ff766f;
	margin-right: 12px;
}

.faq summary + div:before {
	content: "A";
	font-family: "Roboto Condensed";
	font-style: normal;
	font-weight: 400;
	line-height: 1.75;
	color: #01b5d0;
	margin-right: 12px;
}

.faq summary + div {
	display: flex;
}

/*-------------------------------------------------------------------------
	cost
-------------------------------------------------------------------------*/

.cost {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	column-gap: 8px;
}

.cost li {
	width: calc(100% / 4 - 24px / 4);
	border-radius: 50%;
	background: url(../img/icon_prohibition.svg) no-repeat center center / cover #72d4d2;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.cost li p {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
.cost li p b {
}
.cost li p small {
}


/*-------------------------------------------------------------------------
	graphic
-------------------------------------------------------------------------*/

.graphic {
	position: relative;
	margin-top: 24px;
}

.graphic .chart {
	display: flex;
}

.graphic .block2 {
	color: #fff;
	background-color: #01b5d0;
	position: relative;
	text-align: center;
}
.graphic .block2:nth-of-type(2),
.legend li:nth-of-type(2):before {
	background-color: #333;
}
.graphic .block2:nth-of-type(3),
.legend li:nth-of-type(3):before {
	background-color: #888;
}
.graphic li p {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px 0;
	line-height: 1.5;
}

/*-------------------------------------------------------------------------
	advantage
-------------------------------------------------------------------------*/



.advantage {
}

.advantage li {
	padding: 24px;
	background: #fff;
}
.advantage li figure {
	padding: 8px;
}
.advantage li figure + p {
	margin-top: 16px;
}

.advantage li + li {
	margin-top: 16px;
}


/*-------------------------------------------------------------------------
	flow
-------------------------------------------------------------------------*/
.flow {
	display: flex;
	list-style: none;
}

.flow li {
	width: clamp(200px, 22.0vw, 240px) !important;
	width: calc(100% / 2 - 16px) !important;
	width: calc(100% - 96px) !important;
	margin-right: 16px;
}

.flow dl {
	padding: 24px;
}

.flow dt {
	text-align: center;
}

.flow dt span {
	width: clamp(96px, 11.2vw, 128px);
	aspect-ratio: 1 / 1;
	background: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	margin: 0 auto;
}

.flow dt span i {
	width: clamp(40px, 4.4vw, 48px);
	aspect-ratio: 1 / 1;
	background: #ffdfe5;
	border-radius: 50%;
	color: #ff766f;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	position: absolute;
	left: calc(0px - clamp(24px, 2.8vw, 32px));
	top: 0;
}

.flow dt span i small {
	margin-bottom: 2px;
}
.flow dd {
	margin-top: 16px;
}
.flow dd p + p {
	margin-top: 8px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■私たちについて
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*-------------------------------------------------------------------------
	staff
-------------------------------------------------------------------------*/
.staff {
}

.staff li {
	padding: 8px;
}

.staff li + li {
	margin-top: 16px;
}

.staff li > div {
	padding: 16px;
	box-sizing: border-box;
	background: #fff;
}

.staff dl {
	display: flex;
	column-gap: 16px;
}

.staff dt {
	flex: 1;
}

.staff dd {
	flex: 3;
}
.staff dd .name {
}

.staff dd .name + p {
	margin-top: 4px;
}

/*-------------------------------------------------------------------------
	studios
-------------------------------------------------------------------------*/


.studios summary {
	background-color: #947afc;
	color: #fff;
}

.studios summary:after {
	background-image: url(../img/icon_summary_add_dark.svg);
}

.studios details[open] summary:after {
	background-image: url(../img/icon_summary_remove_dark.svg);
}


.studios summary {
	background-color: #947afc;
}

.studios summary:after {
	background-image: url(../img/icon_summary_add_light.svg);
}

.studios details[open] summary:after {
	background-image: url(../img/icon_summary_remove_light.svg);
}


.studios .overview dl {
	display: flex;
}

.studios .overview dt {
	flex: 1;
	font-weight: 600;
}

.studios .overview dd {
	flex: 3;
}

.studios .overview dd p {
	margin-top: 0;
}
.studios .overview dd p + ul {
	margin-top: 8px;
	margin-bottom: 0;
}

.studios hr {
	margin: 16px 0;
}

.studios .button {
	margin-top: 24px;
}


/*-------------------------------------------------------------------------
	comparison
-------------------------------------------------------------------------*/
.comparison {
	margin: 0;
	background: #fff;
	overflow: hidden;
	text-align: center;
}

.comparison thead tr {}

.comparison thead tr th {
	background: #CAC6FF;
	padding: clamp(12px, 1.4vw, 16px) 0;
	vertical-align: middle;
}
.comparison thead tr th + th {
	border-left: 1px solid #fff;
}

.comparison thead th img {
	height: clamp(32px, 3.6vw, 40px);
}

.comparison tbody tr {
}

.comparison tbody th {
	width: auto;
	font-weight: normal;
	padding: clamp(8px, 1.0vw, 12px);
	border-top: 1px solid #fff;
	vertical-align: middle;
	background: #333;
	color: #fff;
	white-space: nowrap;
}
.comparison tbody th p {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

.comparison tbody td {
	width: calc(100% / 2);
	border-left: 1px solid rgba(0, 0, 0, .05);
	border-top: 1px solid rgba(0, 0, 0, .05);
	padding: clamp(8px, 1.0vw, 12px) 0;
	vertical-align: middle;
}

.comparison tbody td p {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
.comparison tbody td p * + * {
	margin-top: 2px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■hidden
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.hidden.type1 {
	position: relative;
}

.hidden.type1 #trigger1 + label {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 100%;
	/*グラデーションで隠す高さ*/
	cursor: pointer;
}

.hidden.type1 #trigger1 + label {
	background: linear-gradient(to bottom, transparent, #fff);
}

.hidden.type1 #trigger1:checked + label {
	background: inherit;
}

.hidden.type1 #trigger1 + label:after {
	content: "続きを見る";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	margin: 0 auto;
	text-decoration: none;
	/*height: 48px;*/
	border: 0;
	border-radius: 16px;
	box-sizing: border-box;
	padding: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: clamp(12px, 1.3vw, 14px);
	font-weight: 600;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	background-color: #f6f6f6;
	border-bottom: 4px solid rgba(0, 0, 0, .125);
}

.hidden.type1 #trigger1 + label:hover:after {
	/*color: #fff;
	background-color: rgba(183, 171, 145, .9);*/
	/*background-image: url(../img/icon_link_arrow_bottom_hover.svg);*/
}

.hidden.type1 #trigger1 {
	display: none;
}

.hidden.type1 div {
	overflow: hidden;
	height: clamp(240px, 28.0vw, 320px);
}

.hidden.type1 #trigger1:checked + label {
	display: none;
}

.hidden.type1 #trigger1:checked ~ div {
	height: auto;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■hidden
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.hidden.type2 {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

.hidden.type2 #trigger2 + label {
	order: 1;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	cursor: pointer;
	margin: 0 auto;
	margin-top: 16px;
	font-weight: bold;
	line-height: 1.75;
	text-decoration: underline;
	padding: 16px;
}

.hidden.type2 #trigger2 + label:hover {
	text-decoration: none;
}

.hidden.type2 #trigger2 {
	display: none;
}

.hidden.type2 .comments li:nth-child(n + 4) {
	display: none;
}

.hidden.type2 #trigger2:checked + label {
	display: none;
}

.hidden.type2 #trigger2:checked ~ .comments li:nth-child(n + 2) {
	display: block;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■button
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
main .button a,
main .button label {
	width: 100%;
	max-width: 480px;
	margin: 0 auto;
	text-decoration: none;
	/*height: clamp(56px, 6.0vw, 64px);*/
	border-radius: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	border-bottom: 4px solid rgba(0, 0, 0, .125);
	color: #fff !important;
	background-repeat: no-repeat;
	background-position: right 24px center;
	background-size: clamp(20px, 2.2vw, 24px) clamp(20px, 2.2vw, 24px);
	transition: .25s;
	padding: 16px 0;
	cursor: pointer;
}

main .button a:hover {
	transform: scale(1.05);
}

main .button.orange a,
main .button.orange label {
	background-color: #ff5835;
}

main .button.pink a,
main .button.pink label {
	background-color: #ec1e9d;
}

main .button.blue a,
main .button.blue label {
	background-color: #1f6efb;
}

main .button.gray a,
main .button.gray label {
	background-color: #f6f6f6;
	color: #000 !important;
}

main .button.schedule a {
	background-image: url(../img/icon_schedule.svg);
}

main .button.appointments a {
	background-image: url(../img/icon_appointments.svg);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■aside
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
aside {
	padding: 48px 0;
	background: #fff;
	text-align: center;
}

aside.type1 {
}

aside.type2 {
	border-radius: 96px 0 0 0;
}

aside.type3 {
	border-radius: 96px 0 96px 0;
}

aside h6 {
	font-weight: 900;
	text-align: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 24px;
}

aside h6 span {
}

aside h6 small {
	width: 100%;
	display: block;
}
aside h6 * + * {
	margin-top: 8px;
}

aside h6 .slash {
	display: flex;
	align-items: center;
}

aside h6 .slash:before {
	content: "＼";
	font-size: clamp(16px, 1.7vw, 18px);
	margin-right: clamp(2px, 0.3vw, 4px);
}

aside h6 .slash:after {
	content: "／";
	font-size: clamp(16px, 1.7vw, 18px);
	margin-left: clamp(2px, 0.3vw, 4px);
}

aside .badge {
	display: flex;
	justify-content: center;
	margin: 0 auto;
	column-gap: 16px;
}

aside .badge li {
	flex: 1;
	position: relative;
}

aside .badge li img {}

aside .badge li dl {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	font-weight: 900;
	background: linear-gradient(to bottom, #fd9834, #ffec5c);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

aside .badge li dt {
	line-height: 1.5;
}

aside .badge li dd {
	line-height: 1;
	margin-top: clamp(0px, 0.1vw, 2px);
}

aside .badge li dd b {
	font-size: clamp(24px, 2.5vw, 26px);
}


aside .button {
	margin: 24px auto 8px auto;
}
aside .button + p {
	margin-bottom: 8px;
}

aside .share {
	cursor: pointer;
	border: 0;
	font-size: clamp(14px, 1.5vw, 16px);
	font-weight: 600;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	background: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■フッター
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
footer {
	padding: 32px 0;
	background: #333;
	color: #fff;
}

footer dt img {
	width: 48px;
}

footer dd {
	margin-top: 24px;
}


/*-----------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
	footer {
		padding-bottom: 80px;
	}
}
