@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400&display=swap');

/*============================================================
	CONFIG
*/
:root {
	--color-standard: #0164bf;
	--color-theme01: #ffb400;
	--color-theme02: #912dd3;
	--color-theme03: #f5286e;
	--color-theme04: #73d23c;
	--color-theme05: #912dd3;
	--color-theme06: #73d23c;
	--color-theme07: #f5286e;
	--color-theme08: #2dcdd7;
	--color-theme09: #ffb400;
	--color-theme10: #2dcdd7;
	--vw-portrait: 100vw;
	--vw-landscape: 56vw;
}

/*============================================================
	RESET
*/
html,
body {
	margin: 0;
	padding: 0;
}
body {
	overflow-y: scroll;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
}
button {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border: 0;
	border-radius: 0;
	background-color: transparent;
	resize: none;
}
.plusone * {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	text-decoration: none;
	text-indent: 0;
	text-transform: none;
	font-style: normal;
	font-size: inherit;
	font-family: inherit;
	line-height: inherit;
	color: inherit;
}
.plusone ul,
.plusone ol {
	list-style-type: none;
}
.plusone img {
	display: block;
	width: 100%;
}
.plusone a {
	cursor: pointer;
}
.safari .plusone a {
	outline: 0;
}
.plusone h1,
.plusone h2,
.plusone h3,
.plusone h4 {
	font-weight: inherit;
}
.plusone aside.data {
	overflow: hidden;
	height: 0;
}

/*============================================================
	PLUSONE
*/
.plusone {
	overflow: hidden;
	position: relative;
	padding: 90px 0 0 0;
	font-family: "FOT-筑紫AMゴシックL Std B", sans-serif;
	font-weight: 700;
}
.plusone .ff-normal {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}
/* SP */
@media (max-width: 880px) {
	.plusone {
		padding: 75px 0 0 0;
	}
}

/*============================================================
	SWIPER
*/
.swiper-pagination-bullet {
	margin: 0 !important;
	background-color: transparent;
}
.swiper-pagination-bullet-active {
	pointer-events: none;
}
.swiper-button-disabled {
	pointer-events: none;
	cursor: default !important;
	opacity: 0.5;
}
.swiper-pagination-bullet {
	margin: 0;
	width: auto;
	height: auto;
	border-radius: 0;
}

/*============================================================
	ICON
*/
@font-face {
  font-family: 'icon';
  src: url('../fonts/icon.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.plusone [class^="icon-"], .plusone [class*=" icon-"] {
  font-family: 'icon' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-arrow-down:before {
  content: "\e900";
}
.icon-arrow-next:before {
  content: "\e901";
}
.icon-arrow-prev:before {
  content: "\e902";
}
.icon-arrow-up:before {
  content: "\e903";
}
.icon-plus:before {
  content: "\e904";
}

/*============================================================
	VISIBLE
*/
@media (min-width: 881px) {
	.visible-sp {
		display: none !important;
	}
}
@media (max-width: 880px) {
	.visible-pc {
		display: none !important;
	}
}

/*============================================================
	HEADER
*/
.header {
	display: flex;
	align-items: center;
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	margin: 0 !important;
	padding: 0 30px;
	width: 100%;
	min-height: 90px;
	background-color: #fff;
}
.header .logo-plusone {
	display: flex;
	flex: 1;
}
.header .logo-plusone a {
	display: block;
	width: 186px;
}
.header nav {
	font-size: 15px;
	line-height: 1.5;
}
.header nav > ul {
	display: flex;
}
.header nav > ul > li {
	position: relative;
}
.header nav > ul > li .item {
	position: relative;
	display: flex;
	align-items: center;
	padding: 10px 15px;
	transition: all 0.3s ease;
}
.header nav > ul > li.current .item,
.header nav > ul > li.opened .item {
	color: var(--color-standard);
}
.header .logo-mynavi {
	padding: 0 0 0 15px;
}
.header .logo-mynavi a {
	display: block;
}
/**/
.header nav .header-nav-theme i {
	position: relative;
	display: block;
	top: 1px;
	margin: 0 0 0 6px;
	font-size: 13px;
	transition: all 0.3s ease;
}
.header nav .opened .header-nav-theme i {
	transform: rotate(180deg);
}
/* HOVER */
@media (min-width: 881px) {
	.os-pc .header nav > ul > li .item:hover {
		color: var(--color-standard);
	}
	.os-pc .header nav .header-subnav-theme a {
		transition: all 0.3s ease;
	}
	.os-pc .header nav .header-subnav-theme a:hover {
		z-index: 100;
		transform: scale(1.1);
	}
}
@media (max-width: 920px) {
	.header nav > ul > li .item {
		padding: 10px 10px;
	}
}

/* SP */
@media (max-width: 880px) {
	.header {
		display: block;
		padding: 20px 0 0 20px;
		min-height: 75px;
	}
	.header .logo-plusone a {
		width: 160px;
	}
	.header nav {
		display: none;
	}
	.header .logo-mynavi {
		display: none;
	}
}

/*============================================================
	HEADER SUBNAV-THEME
*/
.header-subnav-theme {
	overflow: hidden;
	position: fixed;
	z-index: 10;
	top: 90px;
	left: 0;
	padding: 0 62px;
	width: 100%;
	height: 0;
	background-color: var(--color-standard);
	font-size: 15px;
	line-height: 1.46;
	transition: height 0.4s ease;
}
.header-subnav-theme ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	padding: 32px 0;
	max-width: 1106px;
}
.header-subnav-theme li {
	flex-basis: 20%;
	padding: 8px;
}
.header-subnav-theme li a,
.header-subnav-theme li span {
	position: relative;
	display: flex;
	align-items: center;
	padding-left: 58px;
	min-height: 60px;
	background-color: #fff;
	border-radius: 10px;
}
.header-subnav-theme li i {
	display: block;
	position: absolute;
	top: 50%;
	left: 10px;
	margin-top: -19px;
	font-size: 38px;
	line-height: 1;
}
.header-subnav-theme li span {
	color: #bfbfbf;
}
.header-subnav-theme li span i {
	opacity: 0.25;
}
.header-subnav-theme .theme01 i {
	color: var(--color-theme01);
}
.header-subnav-theme .theme02 i {
	color: var(--color-theme02);
}
.header-subnav-theme .theme03 i {
	color: var(--color-theme03);
}
.header-subnav-theme .theme04 i {
	color: var(--color-theme04);
}
.header-subnav-theme .theme05 i {
	color: var(--color-theme05);
}
.header-subnav-theme .theme06 i {
	color: var(--color-theme06);
}
.header-subnav-theme .theme07 i {
	color: var(--color-theme07);
}
.header-subnav-theme .theme08 i {
	color: var(--color-theme08);
}
.header-subnav-theme .theme09 i {
	color: var(--color-theme09);
}
.header-subnav-theme .theme10 i {
	color: var(--color-theme10);
}
/**/
.os-pc .header-subnav-theme li a {
	transition: background-color 0.3s ease, color 0.3s ease;
}
.os-pc .header-subnav-theme li a i {
	transition: color 0.3s ease;
}
.os-pc .header-subnav-theme li a:hover,
.os-pc .header-subnav-theme li a:hover i {
	color: #fff !important;
}
.os-pc .header-subnav-theme li a.theme01:hover {
	background-color: var(--color-theme01);
}
.os-pc .header-subnav-theme li a.theme02:hover {
	background-color: var(--color-theme02);
}
.os-pc .header-subnav-theme li a.theme03:hover {
	background-color: var(--color-theme03);
}
.os-pc .header-subnav-theme li a.theme04:hover {
	background-color: var(--color-theme04);
}
.os-pc .header-subnav-theme li a.theme05:hover {
	background-color: var(--color-theme05);
}
.os-pc .header-subnav-theme li a.theme06:hover {
	background-color: var(--color-theme06);
}
.os-pc .header-subnav-theme li a.theme07:hover {
	background-color: var(--color-theme07);
}
.os-pc .header-subnav-theme li a.theme08:hover {
	background-color: var(--color-theme08);
}
.os-pc .header-subnav-theme li a.theme09:hover {
	background-color: var(--color-theme09);
}
.os-pc .header-subnav-theme li a.theme10:hover {
	background-color: var(--color-theme10);
}
@media (max-width: 1200px) {
	.header-subnav-theme li {
		flex-basis: 25%;
	}
}
@media (max-width: 1000px) {
	.header-subnav-theme li {
		flex-basis: 33.333%;
	}
}
@media (max-width: 880px) {
	.header-subnav-theme {
		display: none;
	}
}

/*============================================================
	MEGAMENU CONTROLLER
*/
.megamenu-controller {
	display: none;
	position: fixed;
	z-index: 999;
	top: 0;
	right: 0;
	width: 75px;
	height: 75px;
}
.megamenu-controller a {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}
.megamenu-controller a::before {
	content: '';
	display: block;
	position: absolute;
	top: 10px;
	right: 10px;
	width: 55px;
	height: 55px;
	background-color: var(--color-standard);
	border-radius: 50%;
	transition: all 0.3s ease;
}
.megamenu-controller a i {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -13px;
	display: block;
	width: 26px;
	height: 2px;
	background-color: #fff;
	transition: all 0.3s ease;
}
.megamenu-controller a i:nth-child(1) {
	margin-top: -9px;
}
.megamenu-controller a i:nth-child(2) {
	margin-top: -1px;
}
.megamenu-controller a i:nth-child(3) {
	margin-top: 7px;
}
/**/
.megamenu-opened .megamenu-controller a i {
	margin-left: -15px;
	width: 30px;
}
.megamenu-opened .megamenu-controller a i:nth-child(1) {
	margin-top: -1px;
	transform: rotate(35deg);
}
.megamenu-opened .megamenu-controller a i:nth-child(2) {
	opacity: 0;
}
.megamenu-opened .megamenu-controller a i:nth-child(3) {
	margin-top: -1px;
	transform: rotate(-35deg);
}
/* SP */
@media (max-width: 880px) {
	.megamenu-controller {
		display: block;
	}
}

/*============================================================
	MEGAMENU
*/
.megamenu {
	display: none;
	position: fixed;
	z-index: 998;
	top: 0;
	left: 0;
	bottom: 0;
	padding: 80px 0 0 0;
	width: 100%;
	background-color: #fff;
}
.megamenu .megamenu-logo-plusone {
	position: absolute;
	top: 20px;
	left: 20px;
}
.megamenu .megamenu-logo-plusone a {
	display: block;
	width: 160px;
}
.megamenu .megamenu-scroll {
	overflow-y: auto;
	height: 100%;
}
.os-ios .megamenu .megamenu-scroll {
	overscroll-behavior: none;
}
.megamenu nav {
	padding: 20px 10px 20px 22px;
	font-size: 17px;
	line-height: 1.2;
}
.megamenu nav li {
	margin: 0 0 25px 0;
}
.megamenu nav li:last-child {
	margin: 0;
}
.megamenu nav .megamenu-theme h2 {
	margin: 3px 0 0 0;
	font-size: 13px;
}
.megamenu nav .megamenu-theme ul {
	margin-top: 25px;
}
.megamenu nav .megamenu-theme ul a,
.megamenu nav .megamenu-theme ul span {
	display: flex;
	align-items: center;
}
.megamenu nav .megamenu-theme ul span {
	opacity: 0.3;
}
.megamenu nav .megamenu-theme ul i {
	display: block;
	margin: 0 6px 0 0;
	font-size: 20px;
}
.megamenu nav .megamenu-theme ul br {
	display: none;
}
.megamenu nav .megamenu-theme ul .theme01 i {
	color: var(--color-theme01);
}
.megamenu nav .megamenu-theme ul .theme02 i {
	color: var(--color-theme02);
}
.megamenu nav .megamenu-theme ul .theme03 i {
	color: var(--color-theme03);
}
.megamenu nav .megamenu-theme ul .theme04 i {
	color: var(--color-theme04);
}
.megamenu nav .megamenu-theme ul .theme05 i {
	color: var(--color-theme05);
}
.megamenu nav .megamenu-theme ul .theme06 i {
	color: var(--color-theme06);
}
.megamenu nav .megamenu-theme ul .theme07 i {
	color: var(--color-theme07);
}
.megamenu nav .megamenu-theme ul .theme08 i {
	color: var(--color-theme08);
}
.megamenu nav .megamenu-theme ul .theme09 i {
	color: var(--color-theme09);
}
.megamenu nav .megamenu-theme ul .theme10 i {
	color: var(--color-theme10);
}
.megamenu nav .megamenu-mynavi {
	margin: 30px 0 0 -5px;
}
.megamenu nav .megamenu-mynavi a {
	display: block;
	width: 116px;
}
/* PC */
@media (min-width: 881px) {
	.megamenu {
		display: none !important;
	}
}

/*============================================================
	FOOTER
*/
.footer {
	position: relative;
	padding: 0 0 30px 0;
	background-color: #fff !important;
	border-top: 1px solid #c9c9c9;
}
.footer .logo-plusone {
	display: flex;
	justify-content: center;
	padding: 54px 0;
}
.footer .logo-plusone a {
	display: block;
}
.footer .logo-plusone img {
	max-width: 328px;
}
.footer nav {
	border-top: 1px solid #c9c9c9;
}
.footer nav .logo-mynavi {
	margin: 40px auto;
	width: 96px;
}
.footer nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 13px;
	line-height: 1;
}
.footer nav li {
	margin: 0 0 1.2em 0;
	padding: 0 20px;
	border-left: 1px solid #b0b0b0;
}
.footer nav li:first-child {
	border-left: 0;
}
/* SP */
@media (max-width: 880px) {
	.footer .logo-plusone {
		padding: 30px 0;
	}
	.footer .logo-plusone img {
		max-width: 206px;
	}
	.footer nav .logo-mynavi {
		margin: 30px auto;
		width: 80px;
	}
	.footer nav ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		font-size: 13px;
		line-height: 1;
	}
	.footer nav li {
		padding: 0 20px;
		border-left: 1px solid #b0b0b0;
	}
	.footer nav li:first-child {
		border-left: 0;
	}
}

/*============================================================
	BUTTON
*/
.btn-company,
.btn-consider,
.btn-reservation {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 52px;
	border-radius: 999px;
	font-size: 15px;
}
.btn-company {
	border: 1px solid #f57c31;
	background-color: #fff;
	color: #f57c31;
}
.btn-consider {
	border: 1px solid #f57c31;
	background-color: #f57c31;
	color: #fff;
}
.btn-reservation {
	border: 1px solid #006bcd;
	background-color: #006bcd;
	color: #fff;
}
/* HOVER */
@media (min-width: 881px) {
	.os-pc .btn-company,
	.os-pc .btn-consider,
	.os-pc .btn-reservation {
		transition: all 0.3s ease;
	}
	.os-pc .btn-company:hover {
		opacity: 0.6;
	}
	.os-pc .btn-consider:hover {
		opacity: 0.6;
	}
	.os-pc .btn-reservation:hover {
		opacity: 0.6;
	}
}
/* SP */
@media (max-width: 880px) {

}

/*============================================================
	BACKGROUND
*/
.background {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-position: 50% 0;
	opacity: 0.1;
}
/* SP */
@media (max-width: 880px) {
	.background {
		background-position: 46% 0;
		background-size: cover;
	}
}

/*============================================================
	SHARE
*/
.share {
	display: flex;
	justify-content: center;
	align-items: center;
}
@media (min-width: 881px) {
	.share {
		position: fixed;
		z-index: 99;
		top: 50%;
		left: 0;
		margin-top: -55px;
		width: 66px;
		height: 200px;
		opacity: 1 !important;
		transform: translateY(0) !important;
	}
}
.share > div {
	position: relative;
}
.share h2 {
	position: absolute;
	bottom: 100%;
	right: 0.7em;
	white-space: nowrap;
	transform: rotate(90deg);
	transform-origin: 100% 50%;
	font-size: 15px;
	line-height: 1.5;
}
.share ul li {
	margin: 10px 0 0 0;
}
.share ul li a {
	overflow: hidden;
	position: relative;
	display: block;
	width: 24px;
	height: 24px;
	text-indent: -999px;
}
.share ul li a::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
}
.share ul li a.icon-x::before {
	background-image: url(../img/common/icon-share-x.svg?v=1);
}
.share ul li a.icon-instagram::before {
	background-image: url(../img/common/icon-share-instagram.svg);
}
.share ul li a.icon-line::before {
	background-image: url(../img/common/icon-share-line.svg);
}
.os-pc .share ul li a::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
	opacity: 0;
}
.os-pc .share ul li a.icon-x::after {
	background-image: url(../img/common/icon-share-x-on.svg?v=1);
}
.os-pc .share ul li a.icon-instagram::after {
	background-image: url(../img/common/icon-share-instagram-on.svg);
}
.os-pc .share ul li a.icon-line::after {
	background-image: url(../img/common/icon-share-line-on.svg);
}
/* HOVER */
@media (min-width: 881px) {
	.os-pc .share ul li a::before {
		transition: 0.4s;
	}
	.os-pc .share ul li a::after {
		transition: 0.4s;
	}
	.os-pc .share ul li a:hover::before {
		opacity: 0;
	}
	.os-pc .share ul li a:hover::after {
		opacity: 1;
	}
}
/* SP */
@media (max-width: 880px) {
	.share {
		position: relative;
		justify-content: flex-start;
		padding: 50px 20px;
		width: 100%;
		height: auto;
	}
	.share > div {
		display: flex;
		align-items: center;
	}
	.share h2 {
		position: static;
		margin: 0 15px 0 0;
		transform: rotate(0);
		font-size: 18px;
	}
	.share ul {
		display: flex;
	}
	.share ul li {
		margin: 0 15px 0 0;
	}
	.share ul li a {
		width: 34px;
		height: 34px;
	}
}

/*============================================================
	CONTENT
*/
.content {
	position: relative;
}

/*============================================================
	LABEL
*/
.content .label {
	display: flex;
	font-size: 11px;
	line-height: 1.5;
	color: #fff;
}
.content .label span {
	display: block;
	padding: 0.5em 1em;
	border-radius: 999px;
	white-space: nowrap;
}
.content .theme01 .label span {
	background-color: var(--color-theme01);
}
.content .theme02 .label span {
	background-color: var(--color-theme02);
}
.content .theme03 .label span {
	background-color: var(--color-theme03);
}
.content .theme04 .label span {
	background-color: var(--color-theme04);
}
.content .theme05 .label span {
	background-color: var(--color-theme05);
}
.content .theme06 .label span {
	background-color: var(--color-theme06);
}
.content .theme07 .label span {
	background-color: var(--color-theme07);
}
.content .theme08 .label span {
	background-color: var(--color-theme08);
}
.content .theme09 .label span {
	background-color: var(--color-theme09);
}
.content .theme10 .label span {
	background-color: var(--color-theme10);
}

/*============================================================
	[CONTROLLER]
*/
.controller {
	display: flex;
	align-items: center;
	padding: 0 0 0 10px;
}
.controller .prev,
.controller .next {
	margin: 0 0 0 15px;
	transition: opacity 0.3s ease;
}
.controller .prev i,
.controller .next i {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 50px;
	border: 1px solid #707070;
	border-radius: 50%;
	background-color: #fff;
	font-size: 14px;
	transition: all 0.3s ease;
}
.controller .prev i {
	padding-right: 0.08em;
}
.controller .next i {
	padding-left: 0.08em;
}
.controller .prev.disabled,
.controller .next.disabled {
	opacity: 0.5;
	cursor: default;
}
.controller .pagination-bullets {
	position: relative;
	display: flex;
	padding: 0 15px;
}
.controller .pagination-bullets * {
	font-weight: 700;
	font-family: "FOT-筑紫AMゴシックL Std B", sans-serif;
}
.controller .pagination-bullets i {
	overflow: hidden;
	display: block;
	height: 0;
	position: absolute;
	top: 0;
	left: 0;
}
.controller .pagination-bullets span {
	display: block;
	padding: 0 15px;
	transition: all 0.3s ease;
	font-weight: 700;
	cursor: pointer;
}
.controller .pagination-bullets span.active {
	color: #b2b2b2;
	cursor: default;
}
/* HOVER */
@media (min-width: 881px) {
	.os-pc .controller .prev:hover i,
	.os-pc .controller .next:hover i {
		border-color: var(--color-standard);
		background-color: var(--color-standard);
		color: #fff;
	}
	.os-pc .controller .swiper-button-disabled:hover,
	.os-pc .controller .prev.disabled:hover i,
	.os-pc .controller .next.disabled:hover i {
		background-color: #b2b2b2 !important;
	}
	.os-pc .controller .pagination span:hover {
		color: var(--color-standard);
	}
	.os-pc .controller .pagination span.active:hover {
		color: #b2b2b2 !important;
	}
}
@media (max-width: 880px) {
	.controller .prev i,
	.controller .next i {
		width: 34px;
		height: 34px;
	}
}

/*============================================================
	[HOME PAGE]
*/
.home-page {
	padding-top: 0;
}
.home-page .background {
	background-image: url(../img/common/bg-plus.png);
}
.home-page .content-main-wrapper {
	width: 100%;
}
.os-pc .home-page .content-main-spacer {
	position: relative;
	width: 100%;
	height: 100vh;
	transition: max-height 0.6s ease;
}
.content-wrapper-foot {
	overflow: hidden;
	position: relative;
}

/*============================================================
	[HOME PAGE] MAIN GRID
*/
.home-page .main-grid-wrapper {
	overflow: hidden;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
}
.home-page .main-grid-outer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
}
.home-page .main-grid-inner {
	position: absolute;
	top: 0;
	left: 50%;
	width: 50%;
	height: 100%;
}
.home-page .main-grid {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  gap: 0px 0px;
  grid-auto-flow: row;
  grid-template-areas:
    "c01 c02 c03 a01 a01 c04 c05 c06"
    "c07 c08 c09 a01 a01 c10 c11 c12"
    "c13 c14 c15 c16 c17 a02 a02 c18"
    "c19 c20 c21 c22 c23 a02 a02 c24"
    "a03 a03 a04 a04 c25 c26 c27 c28"
    "a03 a03 a04 a04 c29 c30 c31 c32"
    "c33 c34 c35 c36 b01 b01 b01 c37"
    "c38 c39 c40 c41 b01 b01 b01 c42"
    "c43 c44 a05 a05 b01 b01 b01 c45"
    "c46 c47 a05 a05 c48 c49 c50 c51";
	font-size: 75px;
	line-height: 1;
}
.hide-scroll .home-page .main-grid {
	display: none;
}
.home-page .main-grid div {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 7px;
}
.home-page .main-grid div i {
	transform: scale(0);
	opacity: 0;
}
.home-page .main-grid .c01 { grid-area: c01; }
.home-page .main-grid .c02 { grid-area: c02; }
.home-page .main-grid .c03 { grid-area: c03; }
.home-page .main-grid .c04 { grid-area: c04; }
.home-page .main-grid .c05 { grid-area: c05; }
.home-page .main-grid .c06 { grid-area: c06; }
.home-page .main-grid .c07 { grid-area: c07; }
.home-page .main-grid .c08 { grid-area: c08; }
.home-page .main-grid .c09 { grid-area: c09; }
.home-page .main-grid .c10 { grid-area: c10; }
.home-page .main-grid .c11 { grid-area: c11; }
.home-page .main-grid .c12 { grid-area: c12; }
.home-page .main-grid .c13 { grid-area: c13; }
.home-page .main-grid .c14 { grid-area: c14; }
.home-page .main-grid .c15 { grid-area: c15; }
.home-page .main-grid .c16 { grid-area: c16; }
.home-page .main-grid .c17 { grid-area: c17; }
.home-page .main-grid .c18 { grid-area: c18; }
.home-page .main-grid .c19 { grid-area: c19; }
.home-page .main-grid .c20 { grid-area: c20; }
.home-page .main-grid .c21 { grid-area: c21; }
.home-page .main-grid .c22 { grid-area: c22; }
.home-page .main-grid .c23 { grid-area: c23; }
.home-page .main-grid .c24 { grid-area: c24; }
.home-page .main-grid .c25 { grid-area: c25; }
.home-page .main-grid .c26 { grid-area: c26; }
.home-page .main-grid .c27 { grid-area: c27; }
.home-page .main-grid .c28 { grid-area: c28; }
.home-page .main-grid .c29 { grid-area: c29; }
.home-page .main-grid .c30 { grid-area: c30; }
.home-page .main-grid .c31 { grid-area: c31; }
.home-page .main-grid .c32 { grid-area: c32; }
.home-page .main-grid .c33 { grid-area: c33; }
.home-page .main-grid .c34 { grid-area: c34; }
.home-page .main-grid .c35 { grid-area: c35; }
.home-page .main-grid .c36 { grid-area: c36; }
.home-page .main-grid .c37 { grid-area: c37; }
.home-page .main-grid .c38 { grid-area: c38; }
.home-page .main-grid .c39 { grid-area: c39; }
.home-page .main-grid .c40 { grid-area: c40; }
.home-page .main-grid .c41 { grid-area: c41; }
.home-page .main-grid .c42 { grid-area: c42; }
.home-page .main-grid .c43 { grid-area: c43; }
.home-page .main-grid .c44 { grid-area: c44; }
.home-page .main-grid .c45 { grid-area: c45; }
.home-page .main-grid .c46 { grid-area: c46; }
.home-page .main-grid .c47 { grid-area: c47; }
.home-page .main-grid .c48 { grid-area: c48; }
.home-page .main-grid .c49 { grid-area: c49; }
.home-page .main-grid .c50 { grid-area: c50; }
.home-page .main-grid .c51 { grid-area: c51; }
.home-page .main-grid .a01 { grid-area: a01; font-size: 220%; }
.home-page .main-grid .a02 { grid-area: a02; font-size: 220%; }
.home-page .main-grid .a03 { grid-area: a03; font-size: 220%; }
.home-page .main-grid .a04 { grid-area: a04; font-size: 220%; }
.home-page .main-grid .a05 { grid-area: a05; font-size: 220%; }
.home-page .main-grid .b01 { grid-area: b01; font-size: 330%; }
.home-page .main-grid .t01 {
	color: var(--color-theme04);
}
.home-page .main-grid .t02 {
	color: var(--color-theme07);
}
.home-page .main-grid .t03 {
	color: var(--color-theme08);
}
.home-page .main-grid .t04 {
	color: var(--color-theme02);
}
.home-page .main-grid .t05 {
	color: var(--color-theme01);
}
@media (max-width: 1366px) {
	.home-page .main-grid {
		font-size: 75px !important;
	}
}
/* SP */
@media (max-width: 1280px) {
	.home-page .main-grid-inner {
		left: 640px;
	}
}
@media (max-width: 880px) {
	.home-page .main-grid-inner {
		left: 0;
		width: 100%;
	}
	.home-page .main-grid {
		position: absolute;
		top: auto;
		bottom: -440px;
		left: 25%;
		transform: translate(0%, 0%);
	}
	.landscape-view	.home-page .main-grid {
		bottom: -380px;
		left: 35%;
		font-size: 46px !important;
	}
}
@media (max-width: 440px) {
	.home-page .main-grid {
		bottom: -210px;
		left: 35%;
		font-size: 10vw !important;
	}
	.home-page .main-grid div {
		padding: 1vw;
	}
	.landscape-view .home-page .main-grid {
		bottom: -240px;
		left: 35%;
	}
	.landscape-view .home-page .main-grid {
		font-size: 10vh !important;
	}
}

/*============================================================
	[HOME PAGE] MAIN
*/
.home-page .main {
	position: relative;
	display: flex;
	align-items: center;
}
.os-sp .home-page .main {
	height: 100vh;
	height: 100dvh;
}
.home-page .main .container {
	position: relative;
	margin: 0 auto;
	padding: 0 0 20px 11.7vw;
	width: 100%;
}
.home-page .main .wrap {
	opacity: 0;
}
.home-page .main h1 {
	font-size: 2.78vw;
}
.home-page .main h2 {
	position: relative;
	margin: 1.4vw 0 0 0;
	max-width: 31vw;
}
.home-page .main h2 span {
	display: block;
}
.home-page .main h2 .title {
	position: relative;
}
.home-page .main h2 .osusume {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.home-page .main .btn-wrap {
	display: flex;
	margin: 2.9vw 0 0 0;
}
.home-page .main .btn-wrap a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 0.06em;
	width: 13.76vw;
	height: 3.9vw;
	border: 1px solid #707070;
	background-color: #fff;
	border-radius: 999px;
	font-size: 1.3vw;
}
@media (min-width: 1367px) {
	.home-page .main {
		min-height: 46vw;
	}
}
@media (max-width: 1366px) {
	.home-page .main {
		min-height: 660px;
	}
	.home-page .main h1 {
		font-size: 38px;
	}
	.home-page .main h2 {
		margin: 20px 0 0 0;
		max-width: 424px;
	}
	.home-page .main .btn-wrap {
		margin: 40px 0 0 0;
	}
	.home-page .main .btn-wrap a {
		width: 188px;
		height: 54px;
		font-size: 18px;
	}
}
/* HOVER */
@media (min-width: 881px) {
	.os-pc .home-page .main .btn-wrap a {
		transition: all 0.3s ease;
	}
	.os-pc .home-page .main .btn-wrap a:hover {
		border-color: var(--color-standard);
		background-color: var(--color-standard);
		color: #fff;
	}
}
/* SP */
@media (max-width: 880px) {
	.home-page .main {
		display: block;
		min-height: 380px;
	}
	.home-page .main .container {
		position: absolute;
		top: 18%;
		left: 8vw;
		padding: 0;
	}
	/**/
	.landscape-view	.home-page .main .container {
		left: 70px;
		padding: 5vh 0 0 0;
	}
	.landscape-view	.home-page .main h1 {
		font-size: calc(18 / 375 * var(--vw-landscape));
	}
	.landscape-view	.home-page .main h1 br {
		display: none;
	}
	.landscape-view	.home-page .main h2 {
		margin: calc(20 / 375 * var(--vw-landscape)) 0 0 0;
		max-width: calc(250 / 375 * var(--vw-landscape));
	}
	.landscape-view	.home-page .main .btn-wrap {
		margin: calc(20 / 375 * var(--vw-landscape)) 0 0 0;
	}
	.landscape-view	.home-page .main .btn-wrap a {
		width: calc(168 / 375 * var(--vw-landscape));
		height: calc(50 / 375 * var(--vw-landscape));
		font-size: calc(14 / 375 * var(--vw-landscape));
	}
}
@media (max-width: 560px) {
	.home-page .main h1 {
		font-size: 6.9vw;
	}
	.home-page .main h2 {
		margin: 5.3vw 0 0 0;
		max-width: 82.66vw;
	}
	.home-page .main .btn-wrap {
		margin: 8vw 0 0 0;
	}
	.home-page .main .btn-wrap a {
		width: 45vw;
		height: 13.3vw;
		font-size: 3.7vw;
	}
}

/*============================================================
	[HOME PAGE] SCROLL
*/
.home-page .scroll {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 66px;
}
.os-sp .home-page .scroll {
	top: 0;
	bottom: auto;
}
.os-sp.hide-main .home-page .scroll {
	display: none;
}
.home-page .scroll div {
	position: relative;
	width: 24px;
	height: 85px;
}
.home-page .scroll .text {
	display: block;
	position: absolute;
	bottom: 100%;
	right: 0.6em;
	white-space: nowrap;
	transform: rotate(90deg);
	transform-origin: 100% 50%;
	font-size: 17px;
	line-height: 1.4;
}
.home-page .scroll .line {
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	width: 1px;
	height: 50px;
}
.home-page .scroll .line i {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #707070;
}
/* SP */
@media (max-width: 560px) {
	.home-page .scroll div {
		width: 6.4vw;
		height: 19vw;
	}
	.home-page .scroll .text {
		font-size: 4.5vw;
	}
	.home-page .scroll .line {
		height: 13vw;
	}
	.landscape-view .home-page .scroll div {
		width: 6.4vh;
		height: 19vh;
	}
	.landscape-view .home-page .scroll .text {
		font-size: 4.5vh;
	}
	.landscape-view .home-page .scroll .line {
		height: 13vh;
	}
}

/*============================================================
	[HOME PAGE] THEME
*/
.home-page .theme {
	position: relative;
	z-index: 1;
	opacity: 0;
}
.loaded .home-page .theme {
	opacity: 1;
}
.home-page .theme section {
	position: relative;
	padding: 20px;
}
.home-page .theme section .frame {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	padding-left: 4%;
	height: 100%;
	background-color: #fff;
	border-radius: 30px;
}
.os-pc .home-page .theme section .frame {
	height: 100%;
}
.home-page .theme section .frame-inner {
	display: flex;
	align-items: center;
	padding-bottom: 40px;
	width: 100%;
}
.home-page .theme section .link-wrapper {
	display: none;
	position: absolute;
	z-index: 4;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.home-page .theme section .kv {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	pointer-events: none;
}
.home-page .theme section .kv .kv-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 100% !important;
	width: 100%;
}
.home-page .theme section .kv .kv-base {
	position: relative;
	transform: translateZ(0);
}
.home-page .theme section .kv .kv-base svg {
	display: block;
	width: 100%;
	height: auto;
	position: absolute;
	top: 0;
	left: 0;
}
.home-page .theme section .kv .kv-base span {
	display: block;
}
.home-page .theme section .kv .kv-base > div,
.home-page .theme section .kv .kv-base > span,
.home-page .theme section .kv .kv-base > span span {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.home-page .theme section .kv .kv-base > span,
.home-page .theme section .kv .kv-base > span .g {
	padding-top: 100%;
}
.home-page .theme section .kv .kv-base > span img,
.home-page .theme section .kv .kv-base > span svg {
	position: absolute;
	top: 0;
	left: 0;
}
.home-page .theme section .kv .kv-base .b {
	position: relative;
}
.home-page .theme section .kv .kv-base img {
	width: 100%;
}
.home-page .theme section .detail {
	flex: 1;
	display: flex;
	align-items: center;
}
.home-page .theme section .detail .num {
	display: flex;
	align-items: center;
	font-size: 18px;
	line-height: 1.2;
}
.home-page .theme section .detail .num span {
	padding: 0 0 0 15px;
	font-size: 43px;
}
.home-page .theme section .detail h2 {
	display: flex;
	align-items: center;
	margin: 20px 0;
	font-size: 45px;
	line-height: 1.4;
}
.home-page .theme section .detail h2::before {
	content: '';
	display: block;
	margin: 0 20px 0 0;
	width: 78px;
	height: 78px;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
}
.home-page .theme section .detail h3 {
	font-size: 19px;
	line-height: 1.7;
}
.home-page .theme section .more {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 30px 0 0 0;
	padding: 0;
}
.home-page .theme section .more .link {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 0;
	padding: 0 0 0.06em 0;
	width: 200px;
	height: 54px;
	border: 1px solid #707070;
	border-radius: 999px;
	font-size: 15px;
	line-height: 1.5;
}
.home-page .theme section .more .link::before {
	content: none;
}
.home-page .theme section .more .disabled {
	margin-right: 25px;
	opacity: 0.3;
	cursor: default;
}
.home-page .theme section .more .comingsoon {
	padding: 0.4em 0 0.7em 0;
	font-size: 25px;
}
.home-page .theme section.coming .frame-inner {
	opacity: 0.2;
}
.home-page .theme section.coming .coming-text {
	position: absolute;
	inset: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 50px;
}
.home-page .theme .theme05 .kv {
	overflow: hidden;
}
/* HOVER */
@media (min-width: 881px) {
	.os-pc .home-page .theme section .more a.link {
		transition: all 0.3s ease;
	}
	.os-pc .home-page .theme section .more a.link:hover {
		color: #fff;
	}
	.os-pc .home-page .theme .theme01 .more a.link:hover {
		background-color: var(--color-theme01);
		border-color: var(--color-theme01);
	}
	.os-pc .home-page .theme .theme02 .more a.link:hover {
		background-color: var(--color-theme02);
		border-color: var(--color-theme02);
	}
	.os-pc .home-page .theme .theme03 .more a.link:hover {
		background-color: var(--color-theme03);
		border-color: var(--color-theme03);
	}
	.os-pc .home-page .theme .theme04 .more a.link:hover {
		background-color: var(--color-theme04);
		border-color: var(--color-theme04);
	}
	.os-pc .home-page .theme .theme05 .more a.link:hover {
		background-color: var(--color-theme05);
		border-color: var(--color-theme05);
	}
	.os-pc .home-page .theme .theme06 .more a.link:hover {
		background-color: var(--color-theme06);
		border-color: var(--color-theme06);
	}
	.os-pc .home-page .theme .theme07 .more a.link:hover {
		background-color: var(--color-theme07);
		border-color: var(--color-theme07);
	}
	.os-pc .home-page .theme .theme08 .more a.link:hover {
		background-color: var(--color-theme08);
		border-color: var(--color-theme08);
	}
	.os-pc .home-page .theme .theme09 .more a.link:hover {
		background-color: var(--color-theme09);
		border-color: var(--color-theme09);
	}
	.os-pc .home-page .theme .theme10 .more a.link:hover {
		background-color: var(--color-theme10);
		border-color: var(--color-theme10);
	}
}
/* THEME COLOR */
.home-page .theme .theme01 {
	background-color: var(--color-theme01);
}
.home-page .theme .theme01 .detail .num,
.home-page .theme .theme01 .more .comingsoon {
	color: var(--color-theme01);
}
.home-page .theme .theme01 .detail h2::before {
	background-image: url(../img/theme/plus01.svg);
}
.home-page .theme .theme02 {
	background-color: var(--color-theme02);
}
.home-page .theme .theme02 .detail .num,
.home-page .theme .theme02 .more .comingsoon {
	color: var(--color-theme02);
}
.home-page .theme .theme02 .detail h2::before {
	background-image: url(../img/theme/plus02.svg);
}
.home-page .theme .theme03 {
	background-color: var(--color-theme03);
}
.home-page .theme .theme03 .detail .num,
.home-page .theme .theme03 .more .comingsoon {
	color: var(--color-theme03);
}
.home-page .theme .theme03 .detail h2::before {
	background-image: url(../img/theme/plus03.svg);
}
.home-page .theme .theme04 {
	background-color: var(--color-theme04);
}
.home-page .theme .theme04 .detail .num,
.home-page .theme .theme04 .more .comingsoon {
	color: var(--color-theme04);
}
.home-page .theme .theme04 .detail h2::before {
	background-image: url(../img/theme/plus04.svg);
}
.home-page .theme .theme05 {
	background-color: var(--color-theme05);
}
.home-page .theme .theme05 .detail .num,
.home-page .theme .theme05 .more .comingsoon {
	color: var(--color-theme05);
}
.home-page .theme .theme05 .detail h2::before {
	background-image: url(../img/theme/plus05.svg);
}
.home-page .theme .theme06 {
	background-color: var(--color-theme06);
}
.home-page .theme .theme06 .detail .num,
.home-page .theme .theme06 .more .comingsoon {
	color: var(--color-theme06);
}
.home-page .theme .theme06 .detail h2::before {
	background-image: url(../img/theme/plus06.svg);
}
.home-page .theme .theme07 {
	background-color: var(--color-theme07);
}
.home-page .theme .theme07 .detail .num,
.home-page .theme .theme07 .more .comingsoon {
	color: var(--color-theme07);
}
.home-page .theme .theme07 .detail h2::before {
	background-image: url(../img/theme/plus07.svg);
}
.home-page .theme .theme08 {
	background-color: var(--color-theme08);
}
.home-page .theme .theme08 .detail .num,
.home-page .theme .theme08 .more .comingsoon {
	color: var(--color-theme08);
}
.home-page .theme .theme08 .detail h2::before {
	background-image: url(../img/theme/plus08.svg);
}
.home-page .theme .theme09 {
	background-color: var(--color-theme09);
}
.home-page .theme .theme09 .detail .num,
.home-page .theme .theme09 .more .comingsoon {
	color: var(--color-theme09);
}
.home-page .theme .theme09 .detail h2::before {
	background-image: url(../img/theme/plus09.svg);
}
.home-page .theme .theme10 {
	background-color: var(--color-theme10);
}
.home-page .theme .theme10 .detail .num,
.home-page .theme .theme10 .more .comingsoon {
	color: var(--color-theme10);
}
.home-page .theme .theme10 .detail h2::before {
	background-image: url(../img/theme/plus10.svg);
}

/* portrait */
.portrait-view .home-page .theme section .frame-inner {
	flex-direction: column;
	height: 100%;
}
.portrait-view .home-page .theme section .kv {
	flex-basis: 56%;
	width: 100%;
}
.portrait-view .home-page .theme section .kv .kv-wrap {
	position: relative;
	width: 100% !important;
	height: 100%;
}
.portrait-view .home-page .theme section .kv .kv-base {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -48%);
}
.portrait-view .home-page .theme section .detail {
	flex-shrink: 0;
	align-items: flex-start;
	padding: 0 20px 70px 50px;
	width: 100%;
}
/* landscape */
.landscape-view .home-page .theme section .frame-inner {
	justify-content: center;
}
.landscape-view .home-page .theme section .kv {
	flex-basis: 52%;
	height: 100%;
}
@media (min-width: 881px) {
	.home-page .theme section * {
		font-size: 100%;
	}
	.home-page .theme section .detail .num {
		font-size: calc(18 / 100 * 1em);
	}
	.home-page .theme section .detail .num span {
		padding: 0 0 0 calc(15 / 100 * 1em);
		font-size: calc(43 / 18 * 1em);
	}
	.home-page .theme section .detail h2 {
		margin: calc(20 / 100 * 1em) 0;
		font-size: calc(45 / 100 * 1em);
	}
	.home-page .theme section .detail h2::before {
		margin: 0 calc(20 / 45 * 1em) 0 0;
		width: calc(78 / 45 * 1em);
		height: calc(78 / 45 * 1em);
	}
	.home-page .theme section .detail h3 {
		font-size: calc(19 / 100 * 1em);
	}
	.home-page .theme section .more {
		margin: calc(30 / 100 * 1em) 0 0 0;
	}
	.home-page .theme section .more .link {
		width: calc(200 / 15 * 1em);
		height: calc(54 / 15 * 1em);
		font-size: calc(15 / 100 * 1em);
		line-height: 1.5;
	}
	.home-page .theme section .more .disabled {
		margin-right: calc(25 / 15 * 1em);
	}
	.home-page .theme section .more .comingsoon {
		font-size: calc(25 / 100 * 1em);
	}
}
/* SP */
@media (max-width: 880px) {
	.home-page .theme-slider {
		height: auto;
	}
	.home-page .theme section {
		height: auto !important;
	}
	.home-page .theme section .frame {
		height: 100% !important;
	}
	.home-page .theme section .frame-inner {
		padding-bottom: 40px;
		height: auto !important;
	}
	.home-page .theme section .kv .kv-base {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		transform: translate(0, 0) !important;
		width: auto !important;
	}
	/* landscape */
	.landscape-view .home-page .theme section {
		padding: calc(15 / 375 * var(--vw-landscape));
	}
	.landscape-view .home-page .theme section * {
		font-size: 8vw;
	}
	.landscape-view .home-page .theme section .frame-inner {
		padding-top: calc(25 / 375 * var(--vw-landscape));
		padding-bottom: 90px;
	}
	.landscape-view .home-page .theme section .kv {
		flex-basis: 45%;
	}
	.landscape-view .home-page .theme section .kv .kv-base {
		margin: -2vw;
	}
	.landscape-view .home-page .theme section .detail {
		padding: 0 0 0 2vw !important;
	}
	/**/
	.landscape-view .home-page .theme section .detail .num {
		font-size: calc(14 / 375 * var(--vw-landscape));
	}
	.landscape-view .home-page .theme section .detail .num span {
		padding: 0 0 0 calc(10 / 375 * var(--vw-landscape));
		font-size: calc(32 / 375 * var(--vw-landscape));
	}
	.landscape-view .home-page .theme section .detail h2 {
		margin: calc(10 / 375 * var(--vw-landscape)) calc(-25 / 375 * var(--vw-landscape)) calc(15 / 375 * var(--vw-landscape)) 0;
		font-size: calc(26 / 375 * var(--vw-landscape));
	}
	.landscape-view .home-page .theme section .detail h2::before {
		margin: 0 calc(15 / 375 * var(--vw-landscape)) 0 0;
		width: calc(48 / 375 * var(--vw-landscape));
		height: calc(48 / 375 * var(--vw-landscape));
	}
	.landscape-view .home-page .theme section .detail h3 {
		margin-right: calc(-25 / 375 * var(--vw-landscape));
		font-size: calc(15 / 375 * var(--vw-landscape));
	}
	.landscape-view .home-page .theme section .more {
		margin: calc(20 / 375 * var(--vw-landscape)) 0 0 0;
	}
	.landscape-view .home-page .theme section .more a {
		width: calc(170 / 375 * var(--vw-landscape));
		height: calc(50 / 375 * var(--vw-landscape));
		font-size: calc(13 / 375 * var(--vw-landscape));
	}
	.landscape-view .home-page .theme section .more .disabled {
		margin-right: calc(20 / 15 * 1em);
	}
	.landscape-view .home-page .theme section .more .comingsoon {
		font-size: calc(18 / 375 * var(--vw-landscape));
	}
	.landscape-view .home-page .theme section.coming .coming-text {
		font-size: 6vw;
	}

	/* portrait */
	.portrait-view .home-page .theme section {
		padding: calc(15 / 375 * var(--vw-portrait));
	}
	.portrait-view .home-page .theme section .frame {
		padding: 0;
	}
	.portrait-view .home-page .theme section .frame-inner {
		padding-bottom: calc(150 / 375 * var(--vw-portrait));
	}
	.portrait-view .home-page .theme section .kv .kv-base {
		margin: -5vw -5vw -6vw -5vw;
	}
	.portrait-view .home-page .theme section .detail {
		padding: 0 0 0 calc(22 / 375 * var(--vw-portrait));
	}
	/**/
	.portrait-view .home-page .theme section .detail .num {
		font-size: calc(14 / 375 * var(--vw-portrait));
	}
	.portrait-view .home-page .theme section .detail .num span {
		padding: 0 0 0 calc(10 / 375 * var(--vw-portrait));
		font-size: calc(32 / 375 * var(--vw-portrait));
	}
	.portrait-view .home-page .theme section .detail h2 {
		margin: calc(10 / 375 * var(--vw-portrait)) calc(-25 / 375 * var(--vw-portrait)) calc(15 / 375 * var(--vw-portrait)) 0;
		font-size: calc(26 / 375 * var(--vw-portrait));
	}
	.portrait-view .home-page .theme section .detail h2::before {
		margin: 0 calc(15 / 375 * var(--vw-portrait)) 0 0;
		width: calc(48 / 375 * var(--vw-portrait));
		height: calc(48 / 375 * var(--vw-portrait));
	}
	.portrait-view .home-page .theme section .detail h3 {
		margin-right: calc(-25 / 375 * var(--vw-portrait));
		font-size: calc(15 / 375 * var(--vw-portrait));
	}
	.portrait-view .home-page .theme section .more {
		margin: calc(20 / 375 * var(--vw-portrait)) 0 0 0;
	}
	.portrait-view .home-page .theme section .more .link {
		width: calc(170 / 375 * var(--vw-portrait));
		height: calc(50 / 375 * var(--vw-portrait));
		font-size: calc(13 / 375 * var(--vw-portrait));
	}
	.portrait-view .home-page .theme section .more .disabled {
		margin-right: calc(20 / 15 * 1em);
	}
	.portrait-view .home-page .theme section .more .comingsoon {
		font-size: calc(18 / 375 * var(--vw-portrait));
	}
	.portrait-view .home-page .theme section.coming .coming-text {
		font-size: 11vw;
	}
}
@media (max-width: 560px) {
	.home-page .theme section .link-wrapper {
		display: block;
	}
}

/*============================================================
	[HOME PAGE] THEME NAV
*/
.home-page .theme-nav {
	position: absolute;
	z-index: 10;
	bottom: 50px;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}
.home-page .theme-nav-bullet {
	display: flex;
	justify-content: center;
	align-items: center;
	width: auto;
}
.home-page .theme-nav ul {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 15px;
	font-size: 18px;
}
.home-page .theme-nav li {
	padding: 5px;
}
.home-page .theme-nav-prev,
.home-page .theme-nav-next {
	position: absolute;
	z-index: 10;
	top: 50%;
	overflow: hidden;
	margin-top: -25px;
	border-radius: 50%;
	cursor: pointer;
}
.home-page .theme-nav-prev {
	left: 60px;
}
.home-page .theme-nav-next {
	right: 60px;
}
.home-page .theme-nav-prev i,
.home-page .theme-nav-next i {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 50px;
	border: 1px solid var(--color-standard);
	border-radius: 50%;
	background-color: var(--color-standard);
	font-size: 14px;
	color: #fff;
}
.home-page .theme-nav-prev i {
	padding-right: 0.08em;
}
.home-page .theme-nav-next i {
	padding-left: 0.08em;
}
/**/
.os-pc .home-page .theme-nav-prev i,
.os-pc .home-page .theme-nav-next i {
	transition: all 0.3s ease;
}
.os-pc .home-page .theme-nav-prev:hover i,
.os-pc .home-page .theme-nav-next:hover i {
	background-color: #fff;
	color: var(--color-standard);
}
.os-pc .home-page .theme-nav .nav-theme1:hover {
	color: var(--color-theme01);
}
/* THEME COLOR */
.home-page .theme-nav .nav-theme1.swiper-pagination-bullet-active {
	color: var(--color-theme01);
}
.home-page .theme-nav .nav-theme2.swiper-pagination-bullet-active {
	color: var(--color-theme02);
}
.home-page .theme-nav .nav-theme3.swiper-pagination-bullet-active {
	color: var(--color-theme03);
}
.home-page .theme-nav .nav-theme4.swiper-pagination-bullet-active {
	color: var(--color-theme04);
}
.home-page .theme-nav .nav-theme5.swiper-pagination-bullet-active {
	color: var(--color-theme05);
}
.home-page .theme-nav .nav-theme6.swiper-pagination-bullet-active {
	color: var(--color-theme06);
}
.home-page .theme-nav .nav-theme7.swiper-pagination-bullet-active {
	color: var(--color-theme07);
}
.home-page .theme-nav .nav-theme8.swiper-pagination-bullet-active {
	color: var(--color-theme08);
}
.home-page .theme-nav .nav-theme9.swiper-pagination-bullet-active {
	color: var(--color-theme09);
}
.home-page .theme-nav .nav-theme10.swiper-pagination-bullet-active {
	color: var(--color-theme10);
}
/**/
/* SP */
@media (max-width: 880px) {
	.home-page .theme-nav {
		flex-wrap: wrap;
		padding-left: 0;
		padding-right: 0;
	}
	.landscape-view .home-page .theme-nav {
		bottom: calc(40 / 375 * var(--vw-landscape));
	}
	.landscape-view .home-page .theme-nav-prev,
	.landscape-view .home-page .theme-nav-next {
		top: auto;
		bottom: calc(35 / 375 * var(--vw-landscape));
	}
	.landscape-view .home-page .theme-nav-prev {
		left: 40px;
	}
	.landscape-view .home-page .theme-nav-next {
		right: 40px;
	}
	.portrait-view .home-page .theme-nav {
		bottom: calc(110 / 375 * var(--vw-portrait));
	}
	.portrait-view .home-page .theme-nav ul {
		flex-basis: 100%;
		padding: 0;
		font-size: calc(18 / 375 * var(--vw-portrait));
	}
	.portrait-view .home-page .theme-nav li {
		padding: calc(5 / 375 * var(--vw-portrait));
	}
	.portrait-view .home-page .theme-nav-prev,
	.portrait-view .home-page .theme-nav-next {
		top: auto;
		bottom: calc(40 / 375 * var(--vw-portrait));
		margin-top: 0;
	}
	.portrait-view .home-page .theme-nav-prev {
		left: auto;
		right: 50%;
		margin-right: calc(12 / 375 * var(--vw-portrait));
	}
	.portrait-view .home-page .theme-nav-next {
		left: 50%;
		right: auto;
		margin-left: calc(12 / 375 * var(--vw-portrait));
	}
	.portrait-view .home-page .theme-nav-prev i,
	.portrait-view .home-page .theme-nav-next i {
		width: calc(60 / 375 * var(--vw-portrait));
		height: calc(60 / 375 * var(--vw-portrait));
		font-size: calc(14 / 375 * var(--vw-portrait));
	}
}
@media (max-width: 375px) {
	.portrait-view .home-page .theme-nav ul {
		padding: 0 2.6vw;
		font-size: 4.8vw;
	}
	.portrait-view .home-page .theme-nav-prev {
		margin: 0 2.6vw;
	}
	.portrait-view .home-page .theme-nav-next {
		margin: 0 2.6vw;
	}
	.home-page .theme-nav-prev i,
	.home-page .theme-nav-next i {
		width: 13.3vw;
		height: 13.3vw;
	}
}

/*============================================================
	[HOME PAGE] ARCHIVE LIST
*/
.home-page .archive-list {
	position: relative;
	padding: 100px 70px 0 70px;
}
.home-page .archive-list .container {
	position: relative;
	margin: 0 auto;
	max-width: 1360px;
}
.home-page .archive-list .head h2 {
	font-size: 40px;
	line-height: 1.5;
}
.home-page .archive-list .head .copy {
	margin: 15px 0 0 0;
	font-size: 18px;
	line-height: 1.5;
}
.home-page .archive-list .list {
	overflow: visible;
	margin: 30px -20px 0 -20px;
}
.home-page .archive-list .list::after {
	content: '';
	display: block;
	clear: both;
}
.home-page .archive-list .list .block {
	padding: 0 20px;
	width: 316px;
}
.home-page .archive-list .list .item {
	display: block;
}
.home-page .archive-list .list .thumb {
	position: relative;
	z-index: 1;
	overflow: hidden;
	margin: 15px 0 10px 0;
	border-radius: 10px;
}
.home-page .archive-list .list .company {
	font-size: 13px;
	line-height: 1.5;
	text-indent: -0.5em;
}
.home-page .archive-list .list .title {
	font-size: 16px;
	line-height: 1.6;
}
.home-page .archive-list .list .title.indent {
	text-indent: -0.5em;
}
.home-page .archive-list nav {
	position: absolute;
	top: 50px;
	right: 0;
	display: flex;
	align-items: center;
}
.home-page .archive-list nav .link {
	font-size: 14px;
	line-height: 1.5;
}
.home-page .archive-list nav .link a {
	display: flex;
	align-items: center;
}
.home-page .archive-list nav .link i {
	display: block;
	margin: 0 0 0 0.6em;
	font-size: 13px;
}
/* HOVER */
@media (min-width: 881px) {
	.os-pc .home-page .archive-list .list a .thumb img {
		transition: all 0.3s ease;
	}
	.os-pc .home-page .archive-list .list a:hover .thumb img {
		transform: scale(1.08);
	}
	.os-pc .home-page .archive-list nav .link a {
		transition: all 0.3s ease;
	}
	.os-pc .home-page .archive-list nav .link a:hover {
		color: var(--color-standard);
	}
}
/* SP */
@media (max-width: 880px) {
	.home-page .archive-list {
		margin: 0 0 50px 0;
		padding: 50px 0 0 0;
	}
	.home-page .archive-list > div {
		overflow: hidden;
	}
	.home-page .archive-list .head {
		margin: 0 20px;
	}
	.home-page .archive-list .head h2 {
		font-size: 28px;
	}
	.home-page .archive-list .head .copy {
		margin: 10px 0 0 0;
		font-size: 15px;
	}
	.home-page .archive-list .list {
		margin: 30px 5px 0 5px;
	}
	.home-page .archive-list .list .block {
		padding: 0 15px;
	}
	.home-page .archive-list .list .thumb {
		margin: 15px 0;
	}
	.home-page .archive-list nav {
		position: relative;
		top: 0;
		right: auto;
		margin: 10px 0 0 0;
		padding: 0 20px;
		width: 100%;
		display: flex;
		align-items: center;
	}
	.home-page .archive-list nav .controller {
		position: absolute;
		right: 20px;
		bottom: 50%;
		transform: translateY(50%);
	}
}
@media (max-width: 480px) {
	.home-page .archive-list .list .block {
		width: 81vw;
	}
}

/*============================================================
	[HOME PAGE] RANKING
*/
.home-page .ranking {
	margin: 130px auto;
	padding: 0 80px;
	max-width: 880px;
}
.home-page .ranking h2 {
	margin: 0 0 50px 0;
	text-align: center;
	font-size: 35px;
	line-height: 1.2;
}
.home-page .ranking h2::before {
	content: '';
	display: block;
	margin: 0 auto;
	width: 52px;
	height: 52px;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-image: url(../img/common/icon-ranking.svg);
	background-size: contain;
}
.home-page .ranking ol {
	border-top: 1px solid #000;
}
.home-page .ranking ol li {
	border-bottom: 1px solid #000;
}
.home-page .ranking ol .item {
	position: relative;
	display: flex;
	align-items: center;
	padding: 15px 0;
}
.home-page .ranking ol .num {
	flex-basis: 66px;
	flex-shrink: 0;
	text-align: center;
	font-size: 50px;
	line-height: 1.2;
}
.home-page .ranking ol .detail {
	padding: 0 0 0 20px;
}
.home-page .ranking ol .company {
	font-size: 24px;
	line-height: 1.3;
}
.home-page .ranking ol .title {
	font-size: 16px;
	line-height: 1.5;
}
/* HOVER */
@media (min-width: 881px) {
	.os-pc .home-page .ranking ol .detail {
		transition: all 0.3s ease;
	}
	.os-pc .home-page .ranking ol a:hover .detail {
		color: var(--color-standard);
	}
}
/* SP */
@media (max-width: 880px) {
	.home-page .ranking {
		margin: 50px 0 80px 0;
		padding: 0 20px;
		max-width: 100%;
	}
	.home-page .ranking h2 {
		display: flex;
		align-items: center;
		margin: 0 0 20px 0;
		text-align: left;
		font-size: 21px;
	}
	.home-page .ranking h2::before {
		margin: 0 15px 0 0;
		width: 32px;
		height: 32px;
	}
	.home-page .ranking ol {
		border-width: 1px;
	}
	.home-page .ranking ol li {
		border-width: 1px;
	}
	.home-page .ranking ol .item {
		display: block;
		padding: 15px 0 15px 40px;
	}
	.home-page .ranking ol .num {
		position: absolute;
		top: 10px;
		left: 0;
		min-width: 30px;
		font-size: 35px;
	}
	.home-page .ranking ol .detail {
		padding: 10px 0 0 0;
	}
	.home-page .ranking ol .company {
		margin: 0 0 5px 0;
		font-size: 15px;
		line-height: 1.3;
	}
	.home-page .ranking ol .title {
		font-size: 13px;
		line-height: 1.5;
	}
}

/*============================================================
	[ABOUT PAGE]
*/
.about-page {
	background-color: #ebf5fa;
}
.about-page::before {
	content: '';
	display: block;
	position: fixed;
	z-index: 0;
	top: 50%;
	left: 50%;
	margin-top: -550px;
	margin-left: 50px;
	width: 720px;
	height: 1100px;
	background-image: url(../img/about/bg.png);
	background-size: cover;
}
.about-page .main {
	padding: 110px 0 150px 0;
}
.about-page .main .container {
	position: relative;
	z-index: 1;
	margin: 0 auto;
	padding: 0 115px;
	max-width: 1230px;
}
.about-page .main h1 {
	margin: 0 0 35px 0;
	width: 312px;
}
.about-page .main h2 {
	font-size: 35px;
	line-height: 1.65;
}
.about-page .main .text {
	max-width: 510px;
}
.about-page .main .text p {
	margin: 2em 0 0 0;
	font-size: 17px;
	line-height: 2.1;
}
.about-page .share {
	z-index: 1;
}
/* SP */
@media (max-width: 880px) {
	.about-page .header {
		background-color: #fff;
	}
	.about-page::before {
		content: none;
	}
	.about-page .content {
		padding: 0;
	}
	.about-page .content::before,
	.about-page .content::after {
		content: '';
		display: block;
		position: absolute;
		z-index: 0;
		left: 0;
		width: 100%;
		height: 40vw;
		background-size: cover;
	}
	.about-page .content::before {
		top: 0;
		background-position: 100% 0;
		background-image: url(../img/about/bg01-sp.png);
	}
	.about-page .content::after {
		bottom: 0;
		background-position: 100% 100%;
		background-image: url(../img/about/bg02-sp.png);
	}
	.about-page .main {
		padding: 110px 0 50px 0;
	}
	.about-page .main .container {
		padding: 0 30px;
	}
	.about-page .main h1 {
		margin: 0 0 35px 0;
		width: 200px;
	}
	.about-page .main h2 {
		font-size: 26px;
	}
	.about-page .main .text {
		max-width: 100%;
	}
	.about-page .main .text p {
		font-size: 15px;
		line-height: 2;
	}
	.about-page .main .text p br {
		display: none;
	}
	.about-page .share {
		margin: 0;
	}
}
@media (max-width: 375px) {
	.about-page .main h2 {
		font-size: 6.9vw;
	}
	.about-page .main .text p {
		font-size: 4vw;
	}
}

/*============================================================
	[THEME PAGE]
*/
.theme-page {
	padding: 0;
}
.theme-page .head {
	display: flex;
	align-items: flex-end;
}
.theme-page .head h2 {
	display: flex;
	align-items: center;
	margin: 0 25px 0 0;
	font-size: 35px;
	list-style: 1.1;
}
.theme-page .head h2::before {
	content: '';
	display: block;
	width: 50px;
	height: 50px;
	margin: 0 20px 0 0;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
}
.theme-page .head h2 span {
	display: block;
}
.theme-page .head .copy {
	margin: 0 0 5px 0;
	font-size: 16px;
	line-height: 1.7;
}
/* THEME COLOR */
.theme-page.theme01 .head h2::before {
	background-image: url(../img/theme/plusone01.svg);
}
.theme-page.theme02 .head h2::before {
	background-image: url(../img/theme/plusone02.svg);
}
.theme-page.theme03 .head h2::before {
	background-image: url(../img/theme/plusone03.svg);
}
.theme-page.theme04 .head h2::before {
	background-image: url(../img/theme/plusone04.svg);
}
.theme-page.theme05 .head h2::before {
	background-image: url(../img/theme/plusone05.svg);
}
.theme-page.theme06 .head h2::before {
	background-image: url(../img/theme/plusone06.svg);
}
.theme-page.theme07 .head h2::before {
	background-image: url(../img/theme/plusone07.svg);
}
.theme-page.theme08 .head h2::before {
	background-image: url(../img/theme/plusone08.svg);
}
.theme-page.theme09 .head h2::before {
	background-image: url(../img/theme/plusone09.svg);
}
.theme-page.theme10 .head h2::before {
	background-image: url(../img/theme/plusone10.svg);
}
/* SP */
@media (max-width: 880px) {
	.theme-page {
		padding: 0;
	}
	.theme-page .head {
		display: block;
		padding: 0 25px;
	}
	.theme-page .head h2 {
		margin: 0;
		font-size: 22px;
	}
	.theme-page .head h2::before {
		width: 38px;
		height: 38px;
		margin: 0 15px 0 0;
	}
	.theme-page .head .copy {
		margin: 15px 0 0 0;
		font-size: 14px;
	}
}

/*============================================================
	[THEME PAGE] BACKGROUND
*/
.theme-page::before {
	content: '';
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0.1;
}
/* THEME COLOR */
.theme-page.theme01::before {
	background-color: var(--color-theme01);
}
.theme-page.theme01 .background {
	background-image: url(../img/theme/bg01.png);
}
.theme-page.theme02::before {
	background-color: var(--color-theme02);
}
.theme-page.theme02 .background {
	background-image: url(../img/theme/bg02.png);
}
.theme-page.theme03::before {
	background-color: var(--color-theme03);
}
.theme-page.theme03 .background {
	background-image: url(../img/theme/bg03.png);
}
.theme-page.theme04::before {
	background-color: var(--color-theme04);
}
.theme-page.theme04 .background {
	background-image: url(../img/theme/bg04.png);
}
.theme-page.theme05::before {
	background-color: var(--color-theme05);
}
.theme-page.theme05 .background {
	background-image: url(../img/theme/bg05.png);
}
.theme-page.theme06::before {
	background-color: var(--color-theme06);
}
.theme-page.theme06 .background {
	background-image: url(../img/theme/bg06.png);
}
.theme-page.theme07::before {
	background-color: var(--color-theme07);
}
.theme-page.theme07 .background {
	background-image: url(../img/theme/bg07.png);
}
.theme-page.theme08::before {
	background-color: var(--color-theme08);
}
.theme-page.theme08 .background {
	background-image: url(../img/theme/bg08.png);
}
.theme-page.theme09::before {
	background-color: var(--color-theme09);
}
.theme-page.theme09 .background {
	background-image: url(../img/theme/bg09.png);
}
.theme-page.theme10::before {
	background-color: var(--color-theme10);
}
.theme-page.theme10 .background {
	background-image: url(../img/theme/bg10.png);
}

/*============================================================
	[THEME PAGE] MAIN
*/
.theme-page .main {
	display: flex;
	align-items: center;
	padding: 90px 0 20px 0;
	min-height: 768px;
	background-color: #fff;
}
.theme-page .main .container {
	display: flex;
	align-items: center;
	margin: 0 auto;
	padding: 0 70px;
	width: 100%;
	max-width: 1230px;
}
.theme-page .main .kv {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-basis: 52%;
	padding: 0 10px 0 0;
	pointer-events: none;
}
.theme-page .main .kv .kv-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: -90px;
}
.theme-page .main .kv .kv-base {
	overflow: hidden;
	position: relative;
	width: 100%;
}
.theme-page .main .kv .kv-base svg {
	display: block;
	width: 100%;
	height: auto;
	position: absolute;
	top: 0;
	left: 0;
}
.theme-page .main .kv .kv-base span {
	display: block;
}
.theme-page .main .kv .kv-base > div,
.theme-page .main .kv .kv-base > span,
.theme-page .main .kv .kv-base > span span {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.theme-page .main .kv .kv-base > span,
.theme-page .main .kv .kv-base > span .g {
	padding-top: 100%;
}
.theme-page .main .kv .kv-base > span img,
.theme-page .main .kv .kv-base > span svg {
	position: absolute;
	top: 0;
	left: 0;
}
.theme-page .main .kv .kv-base .b {
	position: relative;
}
.theme-page .main .kv .kv-base img {
	width: 100%;
}
.theme-page .main .detail {
	flex: 1;
}
.theme-page .main .detail .wrap {
	margin-right: -1em;
	transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
	opacity: 0;
}
.theme-page.start .main .detail .wrap {
	transform: translate(0%, 0%) !important;
	opacity: 1;
}
.theme-page .main .heading .num {
	display: flex;
	align-items: center;
	font-size: 18px;
	line-height: 1.2;
}
.theme-page .main .heading .num span {
	display: block;
	margin: 0 0 0 15px;
	font-size: 43px;
}
.theme-page .main .heading h1 {
	display: flex;
	align-items: center;
	margin: 20px -1em 0 0;
	font-size: 45px;
	line-height: 1.4;
}
.theme-page .main .heading h1::before {
	content: '';
	display: block;
	margin: 0 20px 0 0;
	width: 82px;
	height: 82px;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
}
.theme-page .main h2 {
	margin: 35px 0 15px 0;
	font-size: 26px;
	line-height: 1.76;
}
.theme-page .main .text {
	margin-right: -1.5em;
	font-size: 17px;
	line-height: 2;
}
/* THEME COLOR */
.theme-page.theme01 .main .heading .num,
.theme-page.theme01 .main h2 {
	color: var(--color-theme01);
}
.theme-page.theme01 .main .heading h1::before {
	background-image: url(../img/theme/plus01.svg);
}
.theme-page.theme02 .main .heading .num,
.theme-page.theme02 .main h2 {
	color: var(--color-theme02);
}
.theme-page.theme02 .main .heading h1::before {
	background-image: url(../img/theme/plus02.svg);
}
.theme-page.theme03 .main .heading .num,
.theme-page.theme03 .main h2 {
	color: var(--color-theme03);
}
.theme-page.theme03 .main .heading h1::before {
	background-image: url(../img/theme/plus03.svg);
}
.theme-page.theme04 .main .heading .num,
.theme-page.theme04 .main h2 {
	color: var(--color-theme04);
}
.theme-page.theme04 .main .heading h1::before {
	background-image: url(../img/theme/plus04.svg);
}
.theme-page.theme05 .main .heading .num,
.theme-page.theme05 .main h2 {
	color: var(--color-theme05);
}
.theme-page.theme05 .main .heading h1::before {
	background-image: url(../img/theme/plus05.svg);
}
.theme-page.theme06 .main .heading .num,
.theme-page.theme06 .main h2 {
	color: var(--color-theme06);
}
.theme-page.theme06 .main .heading h1::before {
	background-image: url(../img/theme/plus06.svg);
}
.theme-page.theme07 .main .heading .num,
.theme-page.theme07 .main h2 {
	color: var(--color-theme07);
}
.theme-page.theme07 .main .heading h1::before {
	background-image: url(../img/theme/plus07.svg);
}
.theme-page.theme08 .main .heading .num,
.theme-page.theme08 .main h2 {
	color: var(--color-theme08);
}
.theme-page.theme08 .main .heading h1::before {
	background-image: url(../img/theme/plus08.svg);
}
.theme-page.theme09 .main .heading .num,
.theme-page.theme09 .main h2 {
	color: var(--color-theme09);
}
.theme-page.theme09 .main .heading h1::before {
	background-image: url(../img/theme/plus09.svg);
}
.theme-page.theme10 .main .heading .num,
.theme-page.theme10 .main h2 {
	color: var(--color-theme10);
}
.theme-page.theme10 .main .heading h1::before {
	background-image: url(../img/theme/plus10.svg);
}
@media (max-width: 1200px) {
	.theme-page .main .text {
		margin-right: 0;
	}
	.theme-page .main .text br {
		display: none;
	}
}
@media (min-width: 981px) {
	.theme-page .main .detail .wrap {
		margin-right: 0;
		transform: translate(20%, 0%);
	}
	.portrait-view .theme-page .main .detail .wrap {
		transform: translate(0%, 20%);
	}
	.portrait-view .theme-page .main .container {
		display: block;
	}
	.portrait-view .theme-page .main .kv {
		margin: -20px auto -50px auto;
		padding: 0;
		max-width: 580px;
	}
	.portrait-view .theme-page .main .kv .kv-wrap {
		margin: 0;
	}
	.portrait-view .theme-page .main .detail {
		padding: 0 0 40px 0;
	}
	.portrait-view .theme-page .main .text br {
		display: none;
	}
}
@media (max-width: 980px) {
	.theme-page .main .detail .wrap {
		transform: translate(0%, 20%);
	}
	.theme-page .main .container {
		display: block;
	}
	.theme-page .main .kv {
		margin: -20px auto -50px auto;
		padding: 0;
		max-width: 580px;
	}
	.theme-page .main .kv .kv-wrap {
		margin: 0;
	}
	.theme-page .main .detail {
		padding: 0 0 40px 0;
	}
}
/* SP */
@media (max-width: 880px) {
	.theme-page .main {
		display: block;
		overflow: hidden;
		padding: 75px 0 0 0;
		min-height: initial;
	}
	.theme-page .main .container {
		display: block;
		padding: 0;
	}
	.theme-page .main .kv {
		margin: -20px auto -70px auto;
		padding: 0;
		max-width: 580px;
	}
	.theme-page .main .kv .kv-wrap {
		margin: 0 -8vw;
	}
	.theme-page .main .wrap {
		margin-left: 0;
	}
	.theme-page .main .detail {
		padding: 0 25px 40px 25px;
	}
	.theme-page .main .text br {
		display: none;
	}
}
@media (max-width: 560px) {
	.theme-page .main .kv {
		margin: -2vw auto -6vw auto;
	}
	.theme-page .main .heading .num {
		font-size: 14px;
	}
	.theme-page .main .heading .num span {
		margin: 0 0 0 10px;
		font-size: 32px;
	}
	.theme-page .main .heading h1 {
		margin: 10px 0 0 0;
		font-size: 26px;
	}
	.theme-page .main .heading h1::before {
		margin: 0 15px 0 0;
		width: 48px;
		height: 48px;
	}
	.theme-page .main h2 {
		margin: 20px 0 15px 0;
		font-size: 20px;
	}
	.theme-page .main .text {
		font-size: 15px;
	}
	.theme-page .main .text br {
		display: none;
	}
}

/*============================================================
	[THEME PAGE] PICKUP
*/
.theme-page .pickup {
	padding: 70px 0 120px 0;
}
.theme-page .pickup .container {
	margin: 0 auto;
	padding: 0 70px;
	max-width: 1230px;
}
.theme-page .pickup .list ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -35px;
}
.theme-page .pickup .list li {
	flex-basis: 50%;
	padding: 60px 35px 0 35px;
}
.theme-page .pickup .list li .item {
	display: block;
}
.theme-page .pickup .list li .item .thumb {
	position: relative;
	z-index: 1;
	overflow: hidden;
	border-radius: 10px;
}
.theme-page .pickup .list li .item .company {
	margin: 20px 0 5px 0;
	font-size: 17px;
	line-height: 1.5;
	text-indent: -0.5em;
}
.theme-page .pickup .list li .item .company span{
	font-size: 12px;
}	
.theme-page .pickup .list li .item .title {
	font-size: 17px;
	line-height: 1.6;
}
.theme-page .pickup .list li .item .title.indent {
	text-indent: -0.5em;
}
.theme-page .pickup .list li .comingsoon {
	position: relative;
}
.theme-page .pickup .list li .comingsoon .thumb {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
}
.theme-page .pickup .list li .comingsoon .title {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	font-size: 25px;
	line-height: 1.5;
	color: #fff;
}
/* HOVER */
@media (min-width: 881px) {
	.os-pc .theme-page .pickup .list li a .thumb img {
		transition: all 0.3s ease;
	}
	.os-pc .theme-page .pickup .list li a:hover .thumb img {
		transform: scale(1.08);
	}
}
/* SP */
@media (max-width: 880px) {
	.theme-page .pickup {
		padding: 50px 0;
	}
	.theme-page .pickup .container {
		padding: 0;
	}
	.theme-page .pickup .list ul {
		margin: 0 -15px;
		padding: 0 25px;
	}
	.theme-page .pickup .list li {
		padding: 40px 15px 0 15px;
	}
	.theme-page .pickup .list li .item .company {
		margin: 15px 0 5px 0;
		font-size: 16px;
	}
	.theme-page .pickup .list li .item .company span{
		font-size: 12px;
	}
	.theme-page .pickup .list li .item .title {
		font-size: 16px;
	}
}
@media (max-width: 520px) {
	.theme-page .pickup .list ul {
		display: block;
		margin: 0;
	}
	.theme-page .pickup .list li {
		padding: 30px 0 0 0;
	}
	.theme-page .pickup .list li .comingsoon .title {
		font-size: 6.4vw;
	}
}

/*============================================================
	[THEME PAGE] OTHERS
*/
.theme-page .others {
	padding: 120px 0 120px 0;
	background-color: #fff;
}
.theme-page .others .container {
	position: relative;
	margin: 0 auto;
	padding: 0 70px;
	max-width: 1240px;
}
.theme-page .others .wrapper {
	overflow: hidden;
	margin: 0 -15px;
}
.theme-page .others .list ul {
	display: flex;
	flex-wrap: wrap;
}
.theme-page .others .list li {
	width: 50%;
	padding: 30px 15px 0 15px;
}
.theme-page .others .list .item {
	padding: 20px 20px 25px 20px;
	width: 100%;
	height: 100%;
	background-color: #f0f0f0;
	border-radius: 10px;
}
.theme-page .others .list .company {
	margin: 0 0 15px 0;
	padding: 0 0 15px 0;
	border-bottom: 1px solid #c8c8c8;
	font-size: 17px;
	line-height: 1.7;
}
.theme-page .others .list .info {
	width: 100%;
}
.theme-page .others .list dl {
	display: flex;
	width: 100%;
	font-size: 14px;
	line-height: 2;
}
.theme-page .others .list dt {
	white-space: nowrap;
	margin-left: -0.5em;
}
.theme-page .others .list .btn-wrap {
	display: flex;
	margin: 20px -8px 0 -8px;
}
.theme-page .others .list .btn-wrap > div {
	width: 33.333%;
	padding: 0 8px;
}
.theme-page .others .controller {
	margin: 60px 0 0 0;
	padding: 0;
	justify-content: center;
}
.theme-page .others .controller a {
	margin: 0;
}
/* HOVER */
@media (min-width: 881px) {

}
/* PC */
@media (min-width: 981px) {
	.theme-page .others .list dd {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}
/* TB */
@media (max-width: 980px) {
	.theme-page .others .wrapper {
		overflow: hidden;
		margin: 0;
	}
	.theme-page .others .list ul {
		display: block;

	}
	.theme-page .others .list li {
		width: 100%;
		padding: 30px 0 0 0;
	}
	.theme-page .others .list dl {
		display: block;
	}
	.theme-page .others .list dt,
	.theme-page .others .list dd {
		display: inline;
	}
	.theme-page .others .list .btn-wrap {
		justify-content: center;
		margin: 20px auto 0 auto;
		max-width: 560px;
	}
}
/* SP */
@media (max-width: 880px) {
	.theme-page .others {
		padding: 50px 0 0 0;
	}
	.theme-page .others .container {
		padding: 0px;
	}
	.theme-page .others .list ul {
		display: block;
		margin: 0;
		padding: 15px 15px 0 15px;
	}
	.theme-page .others .list li {
		padding: 15px 0 0 0;
	}
	.theme-page .others .list .item {
		padding: 15px 15px 25px 15px;
		background-color: #f0f0f0;
		border-radius: 10px;
	}
	.theme-page .others .list .company {
		margin: 0 0 10px 0;
		padding: 0 0 10px 0;
		font-size: 16px;
	}
	.theme-page .others .list dl {
		line-height: 1.7;
	}
	.theme-page .others .list .btn-wrap {
		max-width: 100%;
	}
	.theme-page .others .controller {
		margin: 40px 0;
	}
}
@media (max-width: 560px) {
	.theme-page .others .list .btn-wrap {
		display: block;
		margin: 10px 0 0 0;
	}
	.theme-page .others .list .btn-wrap > div {
		padding: 10px 0 0 0;
		width: 100%;
	}
}

/*============================================================
	[ARTICLE PAGE] BACKGROUND
*/
.article-page.theme01 .background {
	background-image: url(../img/theme/bg01.png);
}
.article-page.theme02 .background {
	background-image: url(../img/theme/bg02.png);
}
.article-page.theme03 .background {
	background-image: url(../img/theme/bg03.png);
}
.article-page.theme04 .background {
	background-image: url(../img/theme/bg04.png);
}
.article-page.theme05 .background {
	background-image: url(../img/theme/bg05.png);
}
.article-page.theme06 .background {
	background-image: url(../img/theme/bg06.png);
}
.article-page.theme07 .background {
	background-image: url(../img/theme/bg07.png);
}
.article-page.theme08 .background {
	background-image: url(../img/theme/bg08.png);
}
.article-page.theme09 .background {
	background-image: url(../img/theme/bg09.png);
}
.article-page.theme10 .background {
	background-image: url(../img/theme/bg10.png);
}

/*============================================================
	[ARTICLE PAGE]
*/
/* SP */
@media (max-width: 880px) {
	.article-page {
		padding-bottom: 50px;
	}
	.article-page .share {
		padding-left: 0;
		padding-right: 0;
	}
}

/*============================================================
	[ARTICLE PAGE] COLUMN
*/
.article-page .column {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	padding: 50px 50px 120px 220px;
	max-width: 1366px;
}
.article-page .column-main {
	margin-right: 60px;
	width: 720px;
}
.article-page .column-side {
	flex-basis: 250px;
}
/* TB */
@media (max-width: 1120px) {
	.article-page .column {
		display: block;
	}
	.article-page .column-main {
		margin-right: 0;
		width: 100%;
	}
	.article-page .column-side {
		padding: 80px 0 50px 0;
	}
}
/* SP */
@media (max-width: 880px) {
	.article-page .column {
		display: block;
		padding: 0 20px;
	}
	.article-page .column-main {
		padding: 0;
	}
	.article-page .column-side {
		padding: 0 0 50px 0;
	}
}

/*============================================================
	[ARTICLE PAGE] MAIN
*/
.article-page .main .theme {
	display: flex;
	align-items: center;
	padding: 0 0 20px 0;
	font-size: 24px;
	line-height: 1.4;
}
.article-page .main .theme .plus-icon {
	display: block;
	width: 48px;
	height: 48px;
	margin: 0 10px 0 0;
	background-size: contain;
	opacity: 0;
}
.article-page .main .kv-note {
	margin-top: 10px;
	text-align: right;
	font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
	font-size: 12px;
	line-height: 1.6;
}
.article-page .main .company {
	margin: 20px 0 5px 0;
	font-size: 21px;
	line-height: 1.7;
	text-indent: -0.5em;
}
.article-page .main .company span {
	font-size:16px;
}
.article-page .main .title {
	font-size: 30px;
	line-height: 1.6;
}
.article-page .main .title.indent {
	text-indent: -0.5em;
}
.article-page .main .text {
	margin: 20px 0 0 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 15px;
	line-height: 2;
}
.article-page .main .text sup {
	font-size: 10px;
}
.article-page .main .text .note {
	margin-top: 0.4em;
	font-size: 12px;
	line-height: 1.6;
}
/* THEME COLOR */
.article-page.theme01 .main .theme .plus-icon {
	background-image: url(../img/theme/plus01.svg);
}
.article-page.theme02 .main .theme .plus-icon {
	background-image: url(../img/theme/plus02.svg);
}
.article-page.theme03 .main .theme .plus-icon {
	background-image: url(../img/theme/plus03.svg);
}
.article-page.theme04 .main .theme .plus-icon {
	background-image: url(../img/theme/plus04.svg);
}
.article-page.theme05 .main .theme .plus-icon {
	background-image: url(../img/theme/plus05.svg);
}
.article-page.theme06 .main .theme .plus-icon {
	background-image: url(../img/theme/plus06.svg);
}
.article-page.theme07 .main .theme .plus-icon {
	background-image: url(../img/theme/plus07.svg);
}
.article-page.theme08 .main .theme .plus-icon {
	background-image: url(../img/theme/plus08.svg);
}
.article-page.theme09 .main .theme .plus-icon {
	background-image: url(../img/theme/plus09.svg);
}
.article-page.theme10 .main .theme .plus-icon {
	background-image: url(../img/theme/plus10.svg);
}
/* SP */
@media (max-width: 880px) {
	.article-page .main .theme {
		padding: 20px 0;
	}
	.article-page .main .kv {
		margin: 0 -20px;
	}
	.article-page .main .kv-note {
		text-align: left;
	}
	.article-page .main .company {
		font-size: 18px;
	}
	.article-page .main .company span {
		display: block;
		font-size: 14px;
	}
	.article-page .main .title {
		font-size: 21px;
	}
}

/*============================================================
	[ARTICLE PAGE] PEOPLE
*/
.article-page .people {
	position: relative;
	margin: 50px 0;
	padding: 0 0 30px 0;
}
.article-page .people::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
}
.article-page .people h2 {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 19px;
	line-height: 1.5;
}
.article-page .people h2::before,
.article-page .people h2::after {
	content: '';
	display: block;
	flex: 1;
	height: 2px;
}
.article-page .people h2 span {
	display: block;
	padding: 0 1.8em;
}
.article-page .people .block {
	padding: 0 0 20px 0;
}
.article-page .people .block:last-child {
	padding: 0;
}
.article-page .people .row {
	display: flex;
	margin: 10px 0 0 0;
}
.article-page .people .portrait {
	flex-basis: 200px;
}
.article-page .people .portrait span {
	display: block;
	overflow: hidden;
	border-radius: 50%;
}
.article-page .people .detail {
	flex: 1;
	padding: 20px 0 0 50px;
}
.article-page .people .detail dt {
	font-size: 15px;
	line-height: 1.5;
}
.article-page .people .detail dt span {
	padding-right: 0.5em;
}
.article-page .people .detail dt .note {
	display: inline-block;
	padding: 0;
	font-weight: 400;
	font-size: 11px;
}
.article-page .people .detail dd {
	margin: 5px 0 15px 0;
	font-size: 21px;
	line-height: 1.3;
}
.article-page .people .text p {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 13px;
	line-height: 2;
}
/* THEME COLOR */
.article-page.theme01 .people::before,
.article-page.theme01 .people h2::before,
.article-page.theme01 .people h2::after {
	background-color: var(--color-theme01);
}
.article-page.theme02 .people::before,
.article-page.theme02 .people h2::before,
.article-page.theme02 .people h2::after {
	background-color: var(--color-theme02);
}
.article-page.theme03 .people::before,
.article-page.theme03 .people h2::before,
.article-page.theme03 .people h2::after {
	background-color: var(--color-theme03);
}
.article-page.theme04 .people::before,
.article-page.theme04 .people h2::before,
.article-page.theme04 .people h2::after {
	background-color: var(--color-theme04);
}
.article-page.theme05 .people::before,
.article-page.theme05 .people h2::before,
.article-page.theme05 .people h2::after {
	background-color: var(--color-theme05);
}
.article-page.theme06 .people::before,
.article-page.theme06 .people h2::before,
.article-page.theme06 .people h2::after {
	background-color: var(--color-theme06);
}
.article-page.theme07 .people::before,
.article-page.theme07 .people h2::before,
.article-page.theme07 .people h2::after {
	background-color: var(--color-theme07);
}
.article-page.theme08 .people::before,
.article-page.theme08 .people h2::before,
.article-page.theme08 .people h2::after {
	background-color: var(--color-theme08);
}
.article-page.theme09 .people::before,
.article-page.theme09 .people h2::before,
.article-page.theme09 .people h2::after {
	background-color: var(--color-theme09);
}
.article-page.theme10 .people::before,
.article-page.theme10 .people h2::before,
.article-page.theme10 .people h2::after {
	background-color: var(--color-theme10);
}
/* SP */
@media (max-width: 880px) {
	.article-page .people {
		margin: 30px 0;
		padding: 0 0 30px 0;
	}
	.article-page .people h2 {
		font-size: 17px;
	}
	.article-page .people .block {
		padding: 0 0 10px 0;
	}
	.article-page .people .row {
		align-items: center;
		margin: 20px 0;
	}
	.article-page .people .portrait {
		flex-basis: 120px;
	}
	.article-page .people .detail {
		padding: 0 0 0 20px;
	}
	.article-page .people .detail dd {
		margin: 5px 0 0 0;
	}
}

/*============================================================
	[ARTICLE PAGE] INDEX
*/
.article-page .index {
	margin: 50px 0;
}
.article-page .index h2 {
	display: flex;
	align-items: center;
	margin: 0 0 20px 0;
	font-size: 18px;
	line-height: 1.5;
}
.article-page .index h2::before {
	content: '';
	display: block;
	margin: 0 12px 0 0;
	width: 14px;
	height: 14px;
	transform: rotate(45deg);
}
.article-page .index ul {
	border-bottom: 1px solid #000;
	font-size: 18px;
	line-height: 1.5;
}
.article-page .index li {
	border-top: 1px solid #000;
}
.article-page .index li a {
	display: flex;
	align-items: center;
	padding: 10px 0;
	min-height: 58px;
}
/* HOVER */
@media (min-width: 881px) {
	.os-pc .article-page .index li a {
		transition: all 0.3s ease;
	}
	.os-pc .article-page.theme01 .index li a:hover {
		color: var(--color-theme01);
	}
	.os-pc .article-page.theme02 .index li a:hover {
		color: var(--color-theme02);
	}
	.os-pc .article-page.theme03 .index li a:hover {
		color: var(--color-theme03);
	}
	.os-pc .article-page.theme04 .index li a:hover {
		color: var(--color-theme04);
	}
	.os-pc .article-page.theme05 .index li a:hover {
		color: var(--color-theme05);
	}
	.os-pc .article-page.theme06 .index li a:hover {
		color: var(--color-theme06);
	}
	.os-pc .article-page.theme07 .index li a:hover {
		color: var(--color-theme07);
	}
	.os-pc .article-page.theme08 .index li a:hover {
		color: var(--color-theme08);
	}
	.os-pc .article-page.theme09 .index li a:hover {
		color: var(--color-theme09);
	}
	.os-pc .article-page.theme10 .index li a:hover {
		color: var(--color-theme10);
	}
}
/* THEME COLOR */
.article-page.theme01 .index h2::before {
	background-color: var(--color-theme01);
}
.article-page.theme01 .index ul,
.article-page.theme01 .index li {
	border-color: var(--color-theme01);
}
.article-page.theme02 .index h2::before {
	background-color: var(--color-theme02);
}
.article-page.theme02 .index ul,
.article-page.theme02 .index li {
	border-color: var(--color-theme02);
}
.article-page.theme03 .index h2::before {
	background-color: var(--color-theme03);
}
.article-page.theme03 .index ul,
.article-page.theme03 .index li {
	border-color: var(--color-theme03);
}
.article-page.theme04 .index h2::before {
	background-color: var(--color-theme04);
}
.article-page.theme04 .index ul,
.article-page.theme04 .index li {
	border-color: var(--color-theme04);
}
.article-page.theme05 .index h2::before {
	background-color: var(--color-theme05);
}
.article-page.theme05 .index ul,
.article-page.theme05 .index li {
	border-color: var(--color-theme05);
}
.article-page.theme06 .index h2::before {
	background-color: var(--color-theme06);
}
.article-page.theme06 .index ul,
.article-page.theme06 .index li {
	border-color: var(--color-theme06);
}
.article-page.theme07 .index h2::before {
	background-color: var(--color-theme07);
}
.article-page.theme07 .index ul,
.article-page.theme07 .index li {
	border-color: var(--color-theme07);
}
.article-page.theme08 .index h2::before {
	background-color: var(--color-theme08);
}
.article-page.theme08 .index ul,
.article-page.theme08 .index li {
	border-color: var(--color-theme08);
}
.article-page.theme09 .index h2::before {
	background-color: var(--color-theme09);
}
.article-page.theme09 .index ul,
.article-page.theme09 .index li {
	border-color: var(--color-theme09);
}
.article-page.theme10 .index h2::before {
	background-color: var(--color-theme10);
}
.article-page.theme10 .index ul,
.article-page.theme10 .index li {
	border-color: var(--color-theme10);
}
/* SP */
@media (max-width: 880px) {
	.article-page .index {
		margin: 30px 0;
	}
	.article-page .index ul {
		font-size: 17px;
	}
	.article-page .index li a {
		padding: 12px 0;
	}
}

/*============================================================
	[ARTICLE PAGE] ARTICLES
*/
.article-page .articles {
	margin: 50px 0;
}
.article-page .articles article {
	margin: 0 0 40px 0;
	padding: 30px 0 0 0;
}
.article-page .articles article:last-child {
	margin: 0;
}
.article-page .articles article h2 {
	margin: 0 0 15px 0;
	font-size: 24px;
	line-height: 1.5;
}
.article-page .articles article .text {
	margin: 25px 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 15px;
	line-height: 2;
}
.article-page .articles article .text sup {
	font-size: 10px;
}
.article-page .articles article .text-small {
	margin: 25px 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 13px;
	line-height: 1.7;
}
.article-page .articles article .note {
	margin-top: 0.4em;
	font-size: 12px;
	line-height: 1.6;
}
.article-page .articles article .image {
	margin: 25px 0;
}
.article-page .articles article .text-small + .image {
	margin-top: 35px;
}
.article-page .articles article .image-note {
	margin-top: 10px;
	text-align: right;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 12px;
	line-height: 1.6;
}
.article-page .articles article .caption {
	margin: 10px 0 0 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 13px;
	line-height: 1.7;
}
.article-page .articles article .caption .small {
	font-size: 10px;
}
.article-page .articles article .row {
	display: flex;
	flex-wrap: wrap;
	margin: 25px -13px;
}
.article-page .articles article .row .col {
	flex-basis: 50%;
	padding: 0 13px;
}
.article-page .articles article .row .col .image {
	margin: 0;
}
.article-page .articles article .row .col .text {
	margin: 10px 0 0 0;
	font-size: 13px;
	line-height: 1.7;
}
.article-page .articles article .row .caption-full {
	flex-basis: 100%;
	margin: 10px 0 0 0;
	padding: 0 13px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 13px;
	line-height: 1.7;
}
/* THEME COLOR */
.article-page.theme01 .articles article h2 {
	color: var(--color-theme01);
}
.article-page.theme02 .articles article h2 {
	color: var(--color-theme02);
}
.article-page.theme03 .articles article h2 {
	color: var(--color-theme03);
}
.article-page.theme04 .articles article h2 {
	color: var(--color-theme04);
}
.article-page.theme05 .articles article h2 {
	color: var(--color-theme05);
}
.article-page.theme06 .articles article h2 {
	color: var(--color-theme06);
}
.article-page.theme07 .articles article h2 {
	color: var(--color-theme07);
}
.article-page.theme08 .articles article h2 {
	color: var(--color-theme08);
}
.article-page.theme09 .articles article h2 {
	color: var(--color-theme09);
}
.article-page.theme10 .articles article h2 {
	color: var(--color-theme10);
}
/* SP */
@media (max-width: 880px) {
	.article-page .articles article h2 {
		font-size: 20px;
	}
	.article-page .articles article > .text {
		margin: 15px 0;
		font-size: 14px;
	}
	.article-page .articles article .image {
		margin: 25px -20px;
	}
	.article-page .articles article .image .caption {
		padding: 0 20px;
	}
	.article-page .articles article .image-note {
		padding: 0 20px;
		text-align: left;
	}
	.article-page .articles article .row {
		display: block;
		margin: 20px 0;
	}
	.article-page .articles article .row .col {
		padding: 0 0 15px 0;
	}
	.article-page .articles article .row .col:last-child {
		padding: 0;
	}
	.article-page .articles article .row .col .image {
		margin: 0;
	}
	.article-page .articles article .row .col .text {
		margin: 10px 0 0 0;
		font-size: 12px;
	}
	.article-page .articles article .row .caption-full {
		margin: 0;
		padding: 0;
	}
	.article-page .articles article .text:last-child,
	.article-page .articles article .image:last-child,
	.article-page .articles article .row:last-child {
		margin-bottom: 0;
	}
}

/*============================================================
	[ARTICLE PAGE] HENSHUBU
*/
.article-page .henshubu {
	position: relative;
	margin: 70px 0;
}
.article-page .henshubu::before,
.article-page .henshubu::after {
	content: '';
	display: block;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
}
.article-page .henshubu::before {
	width: 38px;
	height: 38px;
	border-radius: 0 0 12px 0;
}
.article-page .henshubu::after {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 38px 38px 0 0;
	border-color: #fff transparent transparent transparent;
}
.article-page .henshubu .frame {
	padding: 25px 0 0 30px;
	background-color: #fff;
	border: 2px solid #000;
	border-radius: 12px;
}
.article-page .henshubu h2 {
	text-align: center;
	font-size: 19px;
	line-height: 1.5;
}
.article-page .henshubu h2::after {
	content: '';
	display: block;
	margin: 15px auto 0 auto;
	width: 54px;
	height: 13px;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
}
.article-page .henshubu .text {
	display: flex;
	align-items: center;
	min-height: 160px;
}
.article-page .henshubu .text p {
	padding: 15px 30px 15px 10px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 15px;
	line-height: 2;
}
.article-page .henshubu .text::before {
	content: '';
	display: block;
	align-self: flex-end;
	width: 180px;
	height: 160px;
	flex-shrink: 0;
	background-position: 50% 100%;
	background-repeat: no-repeat;
	background-image: url(../img/common/henshubu.png);
	background-size: contain;
}
/* THEME COLOR */
.article-page.theme01 .henshubu::before {
	background-color: var(--color-theme01);
}
.article-page.theme01 .henshubu .frame {
	border-color: var(--color-theme01);
}
.article-page.theme01 .henshubu h2::after {
	background-image: url(../img/theme/henshubu-parts01.svg);
}
.article-page.theme02 .henshubu::before {
	background-color: var(--color-theme02);
}
.article-page.theme02 .henshubu .frame {
	border-color: var(--color-theme02);
}
.article-page.theme02 .henshubu h2::after {
	background-image: url(../img/theme/henshubu-parts02.svg);
}
.article-page.theme03 .henshubu::before {
	background-color: var(--color-theme03);
}
.article-page.theme03 .henshubu .frame {
	border-color: var(--color-theme03);
}
.article-page.theme03 .henshubu h2::after {
	background-image: url(../img/theme/henshubu-parts03.svg);
}
.article-page.theme04 .henshubu::before {
	background-color: var(--color-theme04);
}
.article-page.theme04 .henshubu .frame {
	border-color: var(--color-theme04);
}
.article-page.theme04 .henshubu h2::after {
	background-image: url(../img/theme/henshubu-parts04.svg);
}
.article-page.theme05 .henshubu::before {
	background-color: var(--color-theme05);
}
.article-page.theme05 .henshubu .frame {
	border-color: var(--color-theme05);
}
.article-page.theme05 .henshubu h2::after {
	background-image: url(../img/theme/henshubu-parts05.svg);
}
.article-page.theme06 .henshubu::before {
	background-color: var(--color-theme06);
}
.article-page.theme06 .henshubu .frame {
	border-color: var(--color-theme06);
}
.article-page.theme06 .henshubu h2::after {
	background-image: url(../img/theme/henshubu-parts06.svg);
}
.article-page.theme07 .henshubu::before {
	background-color: var(--color-theme07);
}
.article-page.theme07 .henshubu .frame {
	border-color: var(--color-theme07);
}
.article-page.theme07 .henshubu h2::after {
	background-image: url(../img/theme/henshubu-parts07.svg);
}
.article-page.theme08 .henshubu::before {
	background-color: var(--color-theme08);
}
.article-page.theme08 .henshubu .frame {
	border-color: var(--color-theme08);
}
.article-page.theme08 .henshubu h2::after {
	background-image: url(../img/theme/henshubu-parts08.svg);
}
.article-page.theme09 .henshubu::before {
	background-color: var(--color-theme09);
}
.article-page.theme09 .henshubu .frame {
	border-color: var(--color-theme09);
}
.article-page.theme09 .henshubu h2::after {
	background-image: url(../img/theme/henshubu-parts09.svg);
}
.article-page.theme10 .henshubu::before {
	background-color: var(--color-theme10);
}
.article-page.theme10 .henshubu .frame {
	border-color: var(--color-theme10);
}
.article-page.theme10 .henshubu h2::after {
	background-image: url(../img/theme/henshubu-parts10.svg);
}
/* SP */
@media (max-width: 880px) {
	.article-page .henshubu {
		margin: 50px 0;
	}
	.article-page .henshubu .text {
		margin: 20px 0 0 0;
		min-height: initial;
	}
}
@media (max-width: 560px) {
	.article-page .henshubu .frame {
		padding: 25px;
	}
	.article-page .henshubu .text {
		display: block;
	}
	.article-page .henshubu .text p {
		padding: 0;
	}
	.article-page .henshubu .text::before {
		margin: 0 auto 20px auto;
		width: 124px;
		height: 110px;
	}
}

/*============================================================
	[ARTICLE PAGE] FOOT NAV
*/
.article-page .foot-nav {
	display: flex;
	justify-content: center;
	margin: 0 -13px;
	text-align: center;
}
.article-page .foot-nav > div {
	width: 100%;
	padding: 0 13px;
}
.article-page .foot-nav h2 {
	margin: 0 -5px 20px -5px;
	font-size: 20px;
	line-height: 1.5;
}
.article-page .foot-nav.has-reservation h2 span {
	display: block;
}
.article-page .foot-nav a {
	height: 60px;
	font-size: 18px;
}
@media (max-width: 1280px) {
	.article-page .foot-nav h2 {
		font-size: 18px;
	}
}
@media (max-width: 1180px) {
	.article-page .foot-nav {
		flex-wrap: wrap;
	}
	.article-page .foot-nav > div {
		margin-bottom: 30px;
		width: 50%;
	}
}
/* TB */
@media (max-width: 1120px) {
	.article-page .foot-nav {
		flex-wrap: nowrap;
	}
	.article-page .foot-nav > div {
		margin-bottom: 0;
		width: 100%;
	}
}
@media (max-width: 940px) {
	.article-page .foot-nav {
		flex-wrap: wrap;
	}
	.article-page .foot-nav > div {
		margin-bottom: 30px;
		width: 50%;
	}
}
/* SP */
@media (max-width: 560px) {
	.article-page .foot-nav {
		display: block;
		margin: 0;
	}
	.article-page .foot-nav > div {
		margin-bottom: 0;
		padding: 0 0 30px 0;
		width: 100%;
	}
	.article-page .foot-nav > div:last-child {
		padding: 0;
	}
	.article-page .foot-nav h2 {
		margin: 0 0 20px 0;
		font-size: 18px;
	}
	.article-page .foot-nav.has-reservation h2 span {
		display: inline-block;
	}
}

/*============================================================
	[ARTICLE PAGE] FIXED BTNS
*/
.article-page .fixed-btns {
	position: fixed;
	z-index: 10;
	bottom: 30px;
	left: 30px;
	width: 136px;
	text-align: center;
}
.article-page .fixed-btns > div {
	margin: 10px 0 0 0;
}
/* SP */
@media (max-width: 880px) {
	.article-page .fixed-btns {
		display: flex;
		bottom: 0;
		left: 0;
		width: 100%;
		text-align: center;
	}
	.article-page .fixed-btns > div {
		margin: 0;
		width: 100%;
	}
	.article-page .fixed-btns h2 {
		display: none;
	}
	.article-page .fixed-btns a {
		border-radius: 0;
	}
}

/*============================================================
	[SIDE] PICKUP
*/
.side-pickup {
	margin: 0 0 80px 0;
}
.side-pickup .head {
	display: flex;
	align-items: center;
	position: relative;
	margin: 0 0 25px 0;
}
.side-pickup .head h2 {
	display: flex;
	align-items: center;
	flex: 1;
	font-size: 16px;
	line-height: 1.5;
}
.side-pickup .head h2::before {
	content: '';
	display: block;
	margin: 0 15px 0 0;
	width: 38px;
	height: 38px;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
}
.side-pickup .head .controller {
	display: none;
}
.side-pickup .block {
	margin: 0 0 25px 0;
}
.side-pickup .block:last-child {
	margin: 0;
}
.side-pickup .block .item {
	display: block;
}
.side-pickup .block .item .thumb {
	position: relative;
	z-index: 1;
	overflow: hidden;
	margin: 0 0 10px 0;
	border-radius: 10px;
}
.side-pickup .block .item .company {
	font-size: 13px;
	line-height: 1.5;
	text-indent: -0.5em;
}
.side-pickup .block .item .title {
	font-size: 14px;
	line-height: 1.5;
}
.side-pickup .block .comingsoon {
	position: relative;
	margin: 0 0 30px 0;
}
.side-pickup .block .comingsoon .thumb {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
}
.side-pickup .block .comingsoon .title {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	font-size: 20px;
	line-height: 1.5;
	color: #fff;
}
/* THEME COLOR */
.theme01 .side-pickup h2::before {
	background-image: url(../img/theme/plusone01.svg);
}
.theme02 .side-pickup h2::before {
	background-image: url(../img/theme/plusone02.svg);
}
.article-page.theme03 .side-pickup h2::before {
	background-image: url(../img/theme/plusone03.svg);
}
.theme04 .side-pickup h2::before {
	background-image: url(../img/theme/plusone04.svg);
}
.theme05 .side-pickup h2::before {
	background-image: url(../img/theme/plusone05.svg);
}
.theme06 .side-pickup h2::before {
	background-image: url(../img/theme/plusone06.svg);
}
.theme07 .side-pickup h2::before {
	background-image: url(../img/theme/plusone07.svg);
}
.theme08 .side-pickup h2::before {
	background-image: url(../img/theme/plusone08.svg);
}
.theme09 .side-pickup h2::before {
	background-image: url(../img/theme/plusone09.svg);
}
.theme10 .side-pickup h2::before {
	background-image: url(../img/theme/plusone10.svg);
}
/* HOVER */
@media (min-width: 881px) {
	.os-pc .side-pickup .block a .thumb img {
		transition: all 0.3s ease;
	}
	.os-pc .side-pickup .block a:hover .thumb img {
		transform: scale(1.08);
	}
}
/* TB */
@media (max-width: 1120px) {
	.side-pickup .visible-pc .list .wrapper {
		display: flex;
		flex-wrap: wrap;
		margin: 0 -15px;
	}
	.side-pickup .visible-pc .list .block {
		flex-basis: 50%;
		padding: 0 15px;
	}
	.side-pickup .block .comingsoon .title {
		font-size: 25px;
	}
}
/* SP */
@media (max-width: 880px) {
	.side-pickup {
		margin: 0 0 50px 0;
	}
	.side-pickup .head .controller {
		display: flex;
	}
	.side-pickup .list-sp {
		margin: 0 -15px;
	}
	.side-pickup .list-sp .list {
		overflow: visible;
	}
	.side-pickup .block {
		margin: 0;
		padding: 0 15px;
		width: 316px;
	}
	.side-pickup .block .comingsoon {
		margin: 0;
	}
}
@media (max-width: 560px) {
	.side-pickup .block {
		width: 81vw;
	}
	.side-pickup .block .comingsoon .title {
		font-size: 6.4vw;
	}
}

/*============================================================
	[SIDE] RANKING
*/
.side-ranking h2 {
	display: flex;
	align-items: center;
	margin: 0 0 25px 0;
	font-size: 17px;
	line-height: 1.5;
}
.side-ranking h2::before {
	content: '';
	display: block;
	position: relative;
	top: -3px;
	margin: 0 15px 0 0;
	width: 30px;
	height: 30px;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-image: url(../img/common/icon-ranking.svg);
	background-size: contain;
}
.side-ranking ol {
	border-top: 1px solid #000;
}
.side-ranking li {
	border-bottom: 1px solid #000;
}
.side-ranking li a {
	display: block;
	position: relative;
	padding: 20px 0 15px 35px;
}
.side-ranking li .num {
	position: absolute;
	top: 11px;
	left: 0;
	font-size: 35px;
	line-height: 1.2;
}
.side-ranking li .company {
	margin: 10px 0 5px 0;
	font-size: 15px;
	line-height: 1.5;
}
.side-ranking li .title {
	font-size: 13px;
	line-height: 1.5;
}
/* HOVER */
@media (min-width: 881px) {
	.os-pc .side-ranking li a .detail {
		transition: all 0.3s ease;
	}
	.os-pc .side-ranking li a:hover .detail {
		color: var(--color-standard);
	}
}
/* SP */
@media (max-width: 880px) {
	.side-ranking h2 {
		margin: 0 0 20px 0;
	}
	.side-ranking h2::before {
		margin: 0 15px 0 10px;
	}
}

/*============================================================
	[ARCHIVE PAGE]
*/
.archive-page .background {
	background-image: url(../img/common/bg-plus.png);
}
.archive-page .content {
	padding: 50px 0 80px 0;
}
.archive-page .container {
	margin: 0 auto;
	padding: 0 70px;
	max-width: 1364px;
}
/* SP */
@media (max-width: 880px) {
	.archive-page .content {
		padding: 25px 0 0 0;
	}
	.archive-page .container {
		padding: 0 20px;
	}
}

/*============================================================
	[ARCHIVE PAGE] MAIN
*/
.archive-page .main {
	margin: 0 0 50px 0;
}
.archive-page .main h1 {
	margin: 0 0 15px 0;
	font-size: 40px;
	line-height: 1.3;
}
.archive-page .main .copy {
	font-size: 18px;
	line-height: 1.5;
}
/* SP */
@media (max-width: 880px) {
	.archive-page .main {
		margin: 0 0 25px 0;
	}
	.archive-page .main h1 {
		margin: 0 0 10px 0;
		font-size: 28px;
		line-height: 1.3;
	}
	.archive-page .main .copy {
		font-size: 15px;
		line-height: 1.5;
	}
}

/*============================================================
	[ARCHIVE PAGE] NAV ANCHOR
*/
.archive-page .nav-anchor {
	margin-bottom: 70px;
	font-size: 15px;
	line-height: 1.46;
}
.archive-page .nav-anchor ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px;
}
.archive-page .nav-anchor li {
	flex-basis: 20%;
	margin-bottom: 15px;
	padding: 0 15px;
}
.archive-page .nav-anchor li a,
.archive-page .nav-anchor li span {
	position: relative;
	display: flex;
	align-items: center;
	padding-left: 48px;
	min-height: 76px;
	border-bottom: 1px solid #c9c9c9;
}
.archive-page .nav-anchor li a {
	transition: color 0.3s ease;
}
.archive-page .nav-anchor li span {
	opacity: 0.3;
}
.archive-page .nav-anchor li .icon-plus {
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -19px;
	font-size: 38px;
  line-height: 1;
}
.archive-page .nav-anchor li .icon-arrow-next {
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -7px;
	transform: rotate(90deg);
	font-size: 14px;
	line-height: 1;
}
.archive-page .nav-anchor .theme01 .icon-plus {
	color: var(--color-theme01);
}
.archive-page .nav-anchor .theme02 .icon-plus {
	color: var(--color-theme02);
}
.archive-page .nav-anchor .theme03 .icon-plus {
	color: var(--color-theme03);
}
.archive-page .nav-anchor .theme04 .icon-plus {
	color: var(--color-theme04);
}
.archive-page .nav-anchor .theme05 .icon-plus {
	color: var(--color-theme05);
}
.archive-page .nav-anchor .theme06 .icon-plus {
	color: var(--color-theme06);
}
.archive-page .nav-anchor .theme07 .icon-plus {
	color: var(--color-theme07);
}
.archive-page .nav-anchor .theme08 .icon-plus {
	color: var(--color-theme08);
}
.archive-page .nav-anchor .theme09 .icon-plus {
	color: var(--color-theme09);
}
.archive-page .nav-anchor .theme10 .icon-plus {
	color: var(--color-theme10);
}
/**/
.os-pc .archive-page .nav-anchor a.theme01:hover {
	color: var(--color-theme01);
}
.os-pc .archive-page .nav-anchor a.theme02:hover {
	color: var(--color-theme02);
}
.os-pc .archive-page .nav-anchor a.theme03:hover {
	color: var(--color-theme03);
}
.os-pc .archive-page .nav-anchor a.theme04:hover {
	color: var(--color-theme04);
}
.os-pc .archive-page .nav-anchor a.theme05:hover {
	color: var(--color-theme05);
}
.os-pc .archive-page .nav-anchor a.theme06:hover {
	color: var(--color-theme06);
}
.os-pc .archive-page .nav-anchor a.theme07:hover {
	color: var(--color-theme07);
}
.os-pc .archive-page .nav-anchor a.theme08:hover {
	color: var(--color-theme08);
}
.os-pc .archive-page .nav-anchor a.theme09:hover {
	color: var(--color-theme09);
}
.os-pc .archive-page .nav-anchor a.theme10:hover {
	color: var(--color-theme10);
}
@media (max-width: 1300px) {
	.archive-page .nav-anchor li {
		flex-basis: 25%;
	}
}
@media (max-width: 1060px) {
	.archive-page .nav-anchor li {
		flex-basis: 33.333%;
	}
}
@media (max-width: 760px) {
	.archive-page .nav-anchor li {
		flex-basis: 50%;
	}
}
@media (max-width: 540px) {
	.archive-page .nav-anchor {
		margin-bottom: 50px;
		font-size: 17px;
	}
	.archive-page .nav-anchor ul {
		display: block;
		margin: 0;
	}
	.archive-page .nav-anchor li {
		margin-bottom: 0;
		padding: 0;
	}
	.archive-page .nav-anchor li br {
		display: none;
	}
	.archive-page .nav-anchor li a,
	.archive-page .nav-anchor li span {
		padding-left: 26px;
		min-height: 50px;
	}
	.archive-page .nav-anchor li .icon-plus {
		margin-top: -10px;
		font-size: 20px;
	}
}

/*============================================================
	[ARCHIVE PAGE] SECTION
*/
.archive-page .section {
	padding: 0 0 10px 0;
}
.archive-page .section .head {
	position: relative;
	margin: 0 0 30px 0;
}
.archive-page .section .head h2 {
	display: flex;
	align-items: center;
	font-size: 24px;
	line-height: 1.4;
}
.archive-page .section .head h2::before {
	content: '';
	display: block;
	margin: 0 10px 0 0;
	width: 48px;
	height: 48px;
	background-size: contain;
}
.archive-page .section .head .link {
	display: flex;
	position: absolute;
	bottom: 0;
	right: 0;
	font-size: 14px;
	line-height: 1.5;
}
.archive-page .section .head .link i {
	margin: 0 0 0 5px;
	font-size: 13px;
}
.archive-page .section .head .link .disabled {
	color: #aaa;
}
.archive-page .section .list ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -20px;
}
.archive-page .section .list li {
	flex-basis: 25%;
	padding: 0 20px 40px 20px;
}
.archive-page .section .list li .item {
	display: block;
}
.archive-page .section .list li .item .thumb {
	position: relative;
	z-index: 1;
	overflow: hidden;
	margin: 0 0 10px 0;
	border-radius: 10px;
}
.archive-page .section .list li .item .company {
	font-size: 13px;
	line-height: 1.5;
	text-indent: -0.5em;
}
.archive-page .section .list li .item .title {
	font-size: 16px;
	line-height: 1.6;
}
.archive-page .section .list li .item .title.indent {
	text-indent: -0.5em;
}
.archive-page .section .list li .comingsoon {
	position: relative;
	margin: 0 0 30px 0;
}
.archive-page .section .list li .comingsoon .thumb {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
}
.archive-page .section .list li .comingsoon .title {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	font-size: 22px;
	line-height: 1.5;
	color: #fff;
}
@media (max-width: 1080px) {
	.archive-page .section .list li .comingsoon .title {
		font-size: 20px;
	}
}
/* THEME COLOR */
.archive-page .section.theme01 .head h2::before {
	background-image: url(../img/theme/plus01.svg);
}
.archive-page .section.theme02 .head h2::before {
	background-image: url(../img/theme/plus02.svg);
}
.archive-page .section.theme03 .head h2::before {
	background-image: url(../img/theme/plus03.svg);
}
.archive-page .section.theme04 .head h2::before {
	background-image: url(../img/theme/plus04.svg);
}
.archive-page .section.theme05 .head h2::before {
	background-image: url(../img/theme/plus05.svg);
}
.archive-page .section.theme06 .head h2::before {
	background-image: url(../img/theme/plus06.svg);
}
.archive-page .section.theme07 .head h2::before {
	background-image: url(../img/theme/plus07.svg);
}
.archive-page .section.theme08 .head h2::before {
	background-image: url(../img/theme/plus08.svg);
}
.archive-page .section.theme09 .head h2::before {
	background-image: url(../img/theme/plus09.svg);
}
.archive-page .section.theme10 .head h2::before {
	background-image: url(../img/theme/plus10.svg);
}
/* HOVER */
@media (min-width: 881px) {
	.os-pc .archive-page .section .list li a .thumb img {
		transition: all 0.3s ease;
	}
	.os-pc .archive-page .section .list li a:hover .thumb img {
		transform: scale(1.08);
	}
	.os-pc .archive-page .section .head .link a {
		transition: all 0.3s ease;
	}
	.os-pc .archive-page .section .head .link a:hover {
		color: var(--color-standard);
	}
}
/* TB */
@media (max-width: 980px) {
	.archive-page .section .list li {
		flex-basis: 50%;
	}
	.archive-page .section .list li .comingsoon {
		margin: 0;
	}
	.archive-page .section .list li .comingsoon .title {
		font-size: 25px;
	}
}
/* SP */
@media (max-width: 880px) {
	.archive-page .section {
		padding: 0 0 40px 0;
	}
}
@media (max-width: 560px) {
	.archive-page .section .list ul {
		display: block;
		margin: 0;
	}
	.archive-page .section .list li {
		padding: 0 0 25px 0;
	}
	.archive-page .section:last-child {
		padding: 0 0 25px 0;
	}
	.archive-page .section .head h2 {
		font-size: 24px;
		line-height: 1.4;
	}
	.archive-page .section .head .link {
		margin: 10px 0 0 0;
		position: static;
	}
	.archive-page .section .list li .comingsoon .title {
		font-size: 6.4vw;
	}
}