@charset "utf-8";
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, figcaption, figure, section {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
	box-sizing: border-box;
}
html {
	font-size: 62.5%;
}
@media all and (max-width: 374px) {
	html {
		font-size: 56%;
	}
}
body, table, input, textarea, select, option {
	font-family: "roboto", "Noto Sans JP", sans-serif;
}

article, aside, canvas, details, figcaption, figure, footer, header, main, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
    height: auto;
}
address {
	font-style: normal;
}
a,
a:link {
	color: #222;
	text-decoration: none;
	transition: 0.3s;
}
a:visited {
	color: #222;
}
a:hover {
	color: #222;
}
a:active {
	color: #222;
}
.aligncenter {
	display: block;
	margin: 0 auto;
}
.alignright {
	float: right;
}
.alignleft {
	float: left;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	color: #222;
	font-size: 1.6rem;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
	-webkit-font-smoothing: antialiased; 
	font-feature-settings : "palt";
}
.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
	overflow-y: scroll;
}
#container {
	padding-top: 20.3rem;
	text-align: left;
	position: relative;
	overflow: hidden;
}
.fax,
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
	border-bottom: none!important;
}
chrome_annotation {
	border: none !important;
}
@media all and (min-width: 1000px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 999px) {
	body {
		min-width: inherit;
		font-size: 1.4rem;
	}
	.pc {
		display: none !important;
	}
	.sp.not_pad {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
		border-bottom: solid 1px !important;
	}
	#container {
		padding-top: 9.4rem;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
.headerBox {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	box-sizing: border-box;
	z-index: 9999;
}
.headerBox::before {
	width: 100%;
	height: 8rem;
	position: absolute;
	top: 0;
	left: 0;
	left: 0;
	background-color: rgba(255, 255, 255, 0.9);
	content: "";
	opacity: 0;
	pointer-events: none;
}
.headerBox.small::before {
	opacity: 1;
}
.headerBox.slideOpen:before,
.open .headerBox:before {
	opacity: 0;
}
.headerBox .logo {
	width: 10rem;
	position: absolute;
	left: 7.6rem;
	top: 5rem;
	transition: 0.3s;
}
.headerBox.small .logo {
	width: 6.8rem;
	left: 4.1rem;
	top: 3.4rem;
}
.headerBox .rightBox {
	position: absolute;
	padding-right: 15.1rem;
	padding-top: 2.9rem;
	right: 0;
	top: 0;
}
.contsHeader {
	position: absolute;
}
.naviBox {
	margin-top: -3.4rem;
}
.naviBox .naviUl {
	display: flex;
	justify-content: flex-end;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}
.naviBox .naviUl .enBtn {
	margin: 0.1rem 1.3rem 0 4.8rem;
	position: relative;
}
.naviBox .naviUl .enBtn a {
	color: #BF0362;
	font-size: 1.4rem;
	font-weight: bold;
}
.naviBox .naviUl a {
	padding-top: 3.4rem;
	min-height: 6.2rem;
	color: #222222;
	display: inline-block;
	position: relative;
	overflow: hidden;
}
.naviBox .naviUl li {
	margin-left: 2.8rem;
}
.naviBox .naviUl li.community text,
.naviBox .naviUl li.community path {
	fill: #333;
	transition: .3s;
}
.naviBox .naviUl .dorpBtn span {
	display: inline-block;
	vertical-align: top;
	position: relative;
	z-index: 10;
}
.naviBox .naviUl a::before {
	width: 100%;
	height: 2px;
	position: absolute;
	bottom: 0;
	left: -100%;
	background-color: #BF0362;
	content: "";
	opacity: 0;
	transition: .15s;
	animation: navi_over .15s forwards;
}
@keyframes navi_enter {
	0% {
		left: -100%;
	}
	100% {
		left: 0;
	}
}
@keyframes navi_over {
	0% {
		left: 0;
	}
	99.9% {
		left: 100%
	}
	100% {
		left: -100%;
	}
}
.naviBox .naviUl .active .dorpBtn::after {
    opacity: 0;
}
.headerBox.slideOpen .naviBox .naviUl a,
.headerBox.white .naviBox .naviUl a {
	color: #fff;
}
.headerBox.slideOpen .menu span,
.headerBox.white .menu span {
	background: #fff;
}
.headerBox.slideOpen .naviBox .naviUl a::before,
.headerBox.white .naviBox .naviUl a::before {
	background-color: #fff;
}
.headerBox.slideOpen .naviBox .naviUl li.community text,
.headerBox.slideOpen .naviBox .naviUl li.community path,
.headerBox.white .naviBox .naviUl li.community text,
.headerBox.white .naviBox .naviUl li.community path {
	fill: #fff;
}
.headerBox.slideOpen .naviBox .naviUl .dorpBtn::after,
.headerBox.white .naviBox .naviUl .dorpBtn::after {
	background-image: url("../img/common/icon03.png");
}
.headerBox.small .logo {
	width: 5.6rem;
	left: 5rem;
	top: 1.3rem;
}
.headerBox.slideOpen .logo {
	opacity: 0;
}
.hBox {
	transition: .4s;
	opacity: 1;
	visibility: visible;
}
.open .hBox {
	opacity: 0;
	visibility: hidden;
}
@media all and (min-width: 1000px) {
	.naviBox .naviUl .active .dorpBtn.hover {
		opacity: 1;
	}
	.naviBox .naviUl a.hover::before {
		opacity: 0.8;
		animation: navi_enter .15s forwards;
	}
}
@media all and (min-width: 1000px) and (max-width: 1365px) {
	.headerBox .logo {
		width: 6.8rem;
		left: 4.1rem;
		top: 3.4rem;
	}
}
@media all and (max-width: 999px) {
	.headerBox::before {
		height: 6rem;
	}
	.headerBox .logo {
		width: 6.4rem;
		left: 2.5rem;
		top: 2.9rem;
	}
	.headerBox.small .logo {
		width: 4.8rem;
		left: 2rem;
		top: 1.7rem;
	}
	.headerBox .hBox {
		padding: 0;
	}
	.headerBox .rightBox {
		position: static;
		padding-right: 0;
		padding-top: 0;
		right: 0;
		top: 0;
	}
	.headerBox.small .logo {
		width: 4.3rem;
		left: 2rem;
		top: 1rem;
	}
}

.searchLink {
	position: absolute;
	top: 3.4rem;
	right: 12.6rem;
}
.searchLink img {
	width: 1.4rem;
}
.searchLink a {
	display: block;
}
@media all and (min-width: 1000px) {
	.searchLink a.hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 999px) {
	.searchLink {
		top: 2.3rem;
		right: 8.5rem;
	}
}



.menu {
	position: absolute;
	top: 3.6rem;
  	right: 5.4rem;
	height: 2.6rem;
	width: 4.7rem;
	cursor: pointer;
	z-index: 1000;
	transition: opacity .25s ease;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
.menu span {
	background: #BF0362;
	border: none;
	height: 1px;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transition: all .15s ease;
	transition: all .15s ease;
	cursor: pointer;
}
.menu span:nth-of-type(2) {
	width: 3.7rem;
	top: 0.4rem;
}
.menu span:nth-of-type(3) {
	width: 2.7rem;
	top: 0.8rem;
}
@media all and (min-width: 1000px) {
	.menu.hover span:nth-of-type(2),
	.menu.hover span:nth-of-type(3) {
		width: 100%;
	}
}
@media all and (max-width: 999px) {
	.menu {
		top: 3.5rem;
		right: 2rem;
	}
	.headerBox.small .menu {
		top: 2.5rem;
		right: 2rem;
	}
}



/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	padding: 10rem 2rem 2.8rem;
	margin-top: 11.3rem;
	position: relative;
	overflow: hidden;
	background-color: #FAFAFA;
}
#gFooter address {
	margin: 11.5rem auto 0;
	width: calc(100% - 3.6rem);
	max-width: 104.6rem;
	color: #222222;
	opacity: 0.5;
	font-size: 1rem;
	font-family: "Urbanist", sans-serif;
	letter-spacing: 0.05em;
}
#gFooter .lineImg {
	position: absolute;
	bottom: 0;
	right: 16.7rem;
}
#gFooter .lineImg a {
	display: block;
	width: 3rem;
	text-align: center;
	overflow: hidden;
}
#gFooter .community_link {
	margin-top: 4.8rem;
}
#gFooter .community_link img {
	width: 12rem;
}
@media all and (min-width: 1000px) {
	#gFooter .lineImg a.hover {
		opacity: 0.5;
	}
	#gFooter .naviList .innerUl .marBtm {
		margin-bottom: 5.2rem;
	}
}
@media all and (min-width: 1000px) and (max-width: 1365px) {
	#gFooter .lineImg {
		right: 1rem;
	}
}
@media all and (max-width: 999px) {
	#gFooter {
		margin-top: 6.7rem;
		padding: 0 0 5rem;
	}
	#gFooter address {
		margin: 4.8rem 4.2rem 0;
		text-align: right;
		width: auto;
	}
	.pad #gFooter address {
		margin: 8rem 10rem 0;
	}
	#gFooter .lineImg {
        right: calc(3rem - 14px);
		height: 6.1rem;
	}
	#gFooter .languageUl {
		margin-top: 0;
		position: absolute;
		bottom: 0;
		right: 0;
	}
	#gFooter .comNaviBox .rightBox {
		position: relative;
		padding-bottom: 5.4rem;
	}
	#gFooter .naviList02 {
		margin: 0 3rem;
		width: auto;
		display: flex;
		flex-wrap: wrap;

	}
	#gFooter .naviList02 li {
		width: 50%;
		margin-bottom: 1.4rem;
	}
	#gFooter .community_link {
		margin-top: 3rem;
	}
	#gFooter .community_link img {
		width: 9.2rem;
	}
}

/* comNaviBox */
.comNaviBox {
	margin: 0 auto;
	max-width: calc(100% - 3.6rem);
	max-width: 104.6rem;
	display: flex;
	justify-content: space-between;
}
.comNaviBox .logo {
	margin-bottom: 0;
}
.comNaviBox .logo img {
	width: 10.8rem;
}
.comNaviBox .leftBox {
	width: 22.9rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.comNaviBox .rightBox {
	/* margin-top: 0.6rem; */
	flex: 1;
}
/* naviList */
.naviList {
	font-size: 1.3rem;
	display: flex;
	flex-wrap: wrap;
	letter-spacing: 0.09em;
	line-height: 1.7em;
}
.naviList .headLine03 {
	flex-shrink: 0;
	margin-bottom: 2.1rem;
}
.naviList .headLine03 .en {
	font-size: 2.8rem;
	font-weight: 500;
	letter-spacing: 0.025em;
}
.naviList .headLine03 .jp {
	display: block;
	color: #81003F;
	font-weight: 500;
	font-size: 1.3rem;
	margin: 0.7rem 0 0 0;
	letter-spacing: 0.05em;
}
.naviList .right {
	margin-top: 0.4rem;
	flex: 1;
}
.naviList .innerUl li {
	margin-bottom: 1.1rem;
}
.naviList .blank {
	position: relative;
}
.naviList .blank::after {
	margin: -0.2rem 0 0 0.6rem;
	width: 1rem;
	height: 1rem;
	display: inline-block;
	vertical-align: middle;
	background: url("../img/common/icon06.png") no-repeat left top / 100% 100%;
	content: "";
}
.pageList,
.languageUl {
	padding-top: 0.6rem;
	font-family: "Urbanist", sans-serif;
}
.pageList li {
	margin-bottom: 2rem;
}
.pageList li:last-child {
	margin-bottom: 0;
}
.pageList a {
	color: #79003B;
	font-size: 2.4rem;
	letter-spacing: 0.04em;
}
.pageList .jp {
	display: block;
	font-size: 1.1rem;
	font-family: "roboto", "Noto Sans JP", sans-serif;
}
.languageUl {
	margin-top: 20rem;
	display: flex;
	flex-wrap: wrap;
	line-height: 1;
}
.languageUl li {
	margin-right: 2.5rem;
	position: relative;
}
.languageUl li::after {
	width: 1px;
    height: 1.1rem;
    position: absolute;
    top: 0.35rem;
    right: -1.3rem;
    background-color: #535353;
    content: "";
}
.languageUl li:last-child:after {
	display: none;
}
.languageUl a {
	color: #333333;
	font-size: 1.3rem;
}
.languageUl .on a {
	color: #7A003D;
	font-weight: 700;
}
.naviList02 {
	margin-top: 5.7rem;
	display: flex;
	flex-wrap: wrap;
	font-size: 1.2rem;
	letter-spacing: 0.05em;
}
.naviList02 li {
	margin-right: 3.1rem;
}
.naviList02 li:last-child {
	margin-right: 0;
}
@media all and (min-width: 1000px) and (max-width: 1200px) {
	.naviList {
		letter-spacing: 0;
	}
}
@media all and (min-width: 1000px) {
	.naviList02 a.hover {
		opacity: 0.7;
	}
	.naviList a.hover,
	.pageList a.hover {
		opacity: 0.7;
	}
	.languageUl a.hover {
		opacity: 0.7;
	}
	.naviList .num03 {
		margin-top: -1px;
		flex: 1;
	}
	.naviList .num02 {
		width: 25.4%;
	}
	.naviList .num01 {
		width: 58.5%;
	}
	.naviList .innerUl.row2 {
		display: flex;
		flex-wrap: wrap;
	}
	.naviList .innerUl.row2 li {
		width: 45%;
	}
	/* .naviList .num01 .headLine03 .en {
		font-size: 3rem;
	} */
	/* .naviList .num03 .headLine03 .en {
		font-size: 2.8rem;
	} */
}
@media all and (max-width: 999px) {
	.naviList {
		margin: 0;
		font-size: 1.2rem;
		display: block;
		border-top: 1px solid rgba(0,0,0, 0.12);
	}
	.naviList .innerUl {
		display: block;
	}
	.naviList .headLine03 .en {
		font-size: 2.1rem;
		margin: 0.4rem 0 0;
	}
	.pageList {
		margin-top: -0.1rem;
		padding-top: 0;
	}
	.pageList a {
		font-size: 1.9rem;
	}
	.pageList li {
		margin: 0 0 1.3rem;
	}
	.pageList li:last-child {
		margin-bottom: 0;
	}
	.naviList .innerUl.row2 li {
		width: auto;
	}
	.naviList .innerUl li.top {
		font-size: 1.2rem;
	}
	.naviList .innerUl {
		display: none;
		padding-bottom: 3rem;
        margin: 0 0 0 14.1rem;
        font-size: 1.3rem;
        position: relative;
        z-index: 10;
        max-width: 20rem;
	}
	.pad .naviList .innerUl {
        margin-left: 30rem;
	}
	.naviList .innerUl.open {
		opacity: 0;
		animation: slideopen .3s forwards;
	}
	@keyframes slideopen {
		0% {
			opacity: 0;
		}
		100% {
			opacity: 1;
		}
	}
	.naviList .innerUl li {
		margin-bottom: 1rem;
	}
	.naviList .innerUl li:last-child {
		margin-bottom: 0;
	}
	.comNaviBox {
		display: block;
		position: relative;
	}
	.comNaviBox .leftBox {
		width: auto;
	}
	.comNaviBox .logo {
		margin-bottom: 0;
		position: absolute;
		bottom: -6.1rem;
		left: 3rem;
		width: auto;
	}
	.pad .comNaviBox .logo {
		left: 9rem;
	}
	.comNaviBox .spFlex {
		margin: 2.2rem 3rem 6.8rem;
		display: flex;
		justify-content: space-between;
	}
	.pad .comNaviBox .spFlex {
		margin: 4.1rem 10rem 6.8rem;
	}
	.pad .comNaviBox .naviList02 {
		margin: 0 10rem !important;
	}
	.naviList02 {
		margin: 0.5rem 0 0 0;
		width: 50%;
		display: block;
		font-size: 1.1rem;
	}
	.naviList02 li {
		margin: 0 0 1rem;
		letter-spacing: 0.02em;
	}
	.naviList02 li:last-child {
		margin-bottom: 0;
	}
	.comNaviBox .rightBox {
		margin-top: 0;
	}
	.comNaviBox .headLine03 {
		padding: 0 2.9rem 0.4rem;
		margin-bottom: 0 !important;
		height: 6.2rem;
		display: flex;
		align-items: center;
		box-sizing: border-box;
		position: relative;
	}
	.pad .comNaviBox .headLine03 {
		padding: 0 10rem 0.4rem;
	}
	.naviList > li {
		border-bottom: 1px solid rgba(0,0,0, 0.1);
	}
	.comNaviBox .headLine03 .icon {
		width: 6.8rem;
		height: 6.2rem;
		position: absolute;
		top: 0;
		right: 0;
		background: url("../img/common/icon11.png") no-repeat center center / 1rem 1rem;
		content: "";
		z-index: 20;
		cursor: pointer;
	}
	.pad .comNaviBox .headLine03 .icon {
		right: 7rem;
	}
	.comNaviBox .headLine03.on .icon {
		background-image: url("../img/common/icon12.png");
	}
	.comNaviBox .subBox {
		width: 50%;
	}
	.languageUl {
		margin-top: 6.6rem;
	}
	.languageUl li {
		margin-right: 3.6rem;
	}
	.languageUl li::after {
		width: 1px;
		height: 1.1rem;
		top: 0.2rem;
		right: -1.8rem;
	}
	.comNaviBox .logo img {
		width: 7.8rem;
	}
	.naviList .headLine03 .jp {
		font-size: 1.1rem;
		margin: 0.8rem 0 0 1.5rem;
	}
	.pageList .jp {
		margin-top: -0.2rem;
		font-size: 1rem;
	}
}


/* menuBox */
.menuBox {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow-y: auto;
	z-index: 1000;
	background: rgba(255,255,255, 0.8);
	backdrop-filter: blur(19.866899490356445px);
	-webkit-backdrop-filter: blur(19.866899490356445px);
	display: none;
}
.menuBox .close {
	width: 4.7rem;
	position: absolute;
	top: 3.9rem;
	right: 4.7rem;
    height: 2.6rem;
	cursor: pointer;
	z-index: 10;
}
.menuBox .close:before,
.menuBox .close:after {
	content: "";
    width: 100%;
    height: 1px;
    background: #BF0362;
	position: absolute;
	transform: rotate(0deg);
	top: 0.4rem;
	transition: .2s;
}
body:not(.open) .close:before {
	animation: close01_close .2s forwards;
}
body.open .close:before {
	animation: close01_open .2s .2s forwards;
}
@keyframes close01_open {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(-15deg);
	}
}
@keyframes close01_close {
	0% {
		transform: rotate(-15deg);
	}
	100% {
		transform: rotate(0deg);
	}
}
body:not(.open) .menuBox .close:after {
	animation: close02_close .2s forwards;
}
body.open .menuBox .close:after {
	animation: close02_open .2s .2s forwards;
}
@keyframes close02_open {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(15deg);
	}
}
@keyframes close02_close {
	0% {
		transform: rotate(15deg);
	}
	100% {
		transform: rotate(0deg);
	}
}
.menuBox .searchBtn {
    position: absolute;
	top: 3.7rem;
    right: 11.9rem;
    z-index: 10;
}
.menuBox .searchBtn a {
	/* width: 4rem;
	height: 4rem; */
	display: flex;
	align-items: center;
	justify-content: center;
}
.menuBox .searchBtn img {
	width: 1.4rem;
}
.menuBox .community {
	position: absolute;
    top: 3rem;
    right: 19rem;
    z-index: 10;
}
.menuBox svg {
	width: 90px!important;
	height: 32px!important;
}
.menuBox .innerBox {
	padding: 17.3rem 2rem;
	position: relative;
	z-index: 10;
}
.menuBox .logo,
.menuBox .subBox,
.menuBox .naviList02,
.menuBox .naviList > li,
.menuBox .community,
.menuBox .comMediaBox {
	opacity: 0;
	transform: translateX(-1rem);
	transition: .6s;
}
.menuBox.isShow .logo,
.menuBox.isShow .subBox,
.menuBox.isShow .naviList02,
.menuBox.isShow .naviList > li,
.menuBox.isShow .community,
.menuBox.isShow .comMediaBox  {
	opacity: 1;
	transform: translateX(0);
	transition-delay: .3s;
}
.menuBox.isShow .naviList > li:nth-child(1) {
	transition-delay: .35s;
}
.menuBox.isShow .naviList > li:nth-child(2) {
	transition-delay: .4s;
}
.menuBox.isShow .naviList > li:nth-child(3) {
	transition-delay: .45s;
}
.menuBox.isShow .naviList02 {
	transition-delay: .5s;
}
.menuBox.isShow .subBox {
	transition-delay: .5s;
}
.menuBox.isShow .community {
	transition-delay: .55s;
}
.menuBox.isShow .comMediaBox {
	transition-delay: .55s;
}
@media all and (min-width: 1000px) {
	.menuBox .searchBtn a.hover {
		opacity: 0.7;
	}
	.menuBox .close.hover {
		opacity: 0.7;
	}
	.menuBox .navi a.hover {
		opacity: 0.7;
	}
	.menuBox .comNaviBox {
		padding-left: 1.9rem;
	}
	.menuBox .comNaviBox .logo img {
		width: 10.8rem;
		margin: -0.5rem 0 0 -0.4rem;
	}
	.menuBox .pageList {
		padding-top: 2.4rem;
	}
	.menuBox .languageUl {
		margin-top: 11.4rem;
	}
	.menuBox .comNaviBox .leftBox {
		width: 24rem;
	}
	.menuBox .naviList .num01 {
		width: 59.5%;
	}
	.menuBox .naviList .num02 {
		width: 25.2%;
	}
	.menuBox .naviList .headLine03 {
		margin-bottom: 3.2rem;
	}
	.menuBox .naviList .small {
		font-size: 1.2rem;
		line-height: 1.6;
	}
	.menuBox .innerBox {
		padding: 0 2rem;
		height: 100%;
		display: flex;
		align-items: center;
		width: 100%;
		min-height: 60rem;
	}
	.menuBox .comMediaBox .title {
		margin-bottom: 13px;
	}
	.menuBox .comMediaBox {
		margin: -0.3rem 0 0;
	}
	.menuBox .naviList02 {
		margin-top: 2.8rem;
	}
}
@media all and (min-width: 1000px) and (max-width: 1200px) {
	.menuBox .comNaviBox .leftBox {
		width: 19rem;
	}
	.menuBox .naviList .num01 {
		width: 55%;
	}
}
@media all and (max-width: 999px) {
	.menuBox .close {
		top: 3.5rem;
        right: 2rem;
	}
	.menuBox .searchBtn {
		top: 3.3rem;
		right: 8.9rem;
	}
	.menuBox .comNaviBox .logo {
		bottom: auto;
		left: auto;
		width: 6.4rem;
		top: -10rem;
		left: -0.1rem;
	}
	.menuBox .innerBox {
		padding: 12.9rem 0 5rem 2.7rem;
	}
	.menuBox .comNaviBox .headLine03 {
		padding: 0 7rem 0.4rem 0;
	}
	.pad .menuBox .comNaviBox .headLine03 {
		padding: 0 10rem 0.4rem;
	}
	.menuBox .naviList .innerUl {
		margin: 0 0 0 11.4rem;
	}
	.pad .menuBox .naviList .innerUl {
		margin-left: 30rem;
	}
	.menuBox .comNaviBox .spFlex {
		margin: 2.7rem 3.2rem 0 0;
	}
	.pad .menuBox .comNaviBox .spFlex {
		margin: 3.7rem 10rem 0;
	}
	.menuBox .pageList li {
		margin: 0 0 1.9rem;
	}
	.menuBox .naviList02 li {
		margin: 0 0 1.6rem;
	}
	.menuBox .community svg {
		width: 86px !important;
		height: 29px !important;
	}
	.menuBox .community {
		top: 7rem;
		right: 2rem;
	}
	.menuBox.isShow .community {
		transition-delay: .35s;
	}
	.menuBox .comMediaBox {
		width: auto;
		position: absolute;
		bottom: 0;
		right: 2.9rem;
		z-index: 4;
	}
	.menuBox .comSnsUl {
		display: flex;
		justify-content: flex-end;
		gap: 0 1.5rem;
		flex-wrap: nowrap;
	}
	.menuBox .comSnsUl li {
		margin: 0;
	}
	.menuBox .comSnsUl img {
		margin: 0;
		height: 2rem;
	}
	.menuBox .comNaviBox .rightBox {
		padding-bottom: 4.7rem;
	}
	.menuBox .languageUl {
		margin: 0;
		position: absolute;
		bottom: -4.7rem;
		left: 0;
	}
}


/* dorpBox */
.dorpBox {
	width: 100%;
	height: 100%;
	color: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 150;
}
.dorpBox .innerBox {
	margin: 0 auto;
	width: 100%;
	background: transparent;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	background: rgba(100,0,48,0.7);
	position: relative;
	transition: .3s ease-out;
}
.dorpBox .enTitle {
	font-size: 12rem;
	line-height: 1;
	position: absolute;
	bottom: -1.9rem;
	right: 4.9rem;
	font-weight: 100;
	font-family: "Urbanist", sans-serif;
	letter-spacing: 0.01em;
}
.dorpBox:not(.show) {
	visibility: hidden;
	user-select: none;
	pointer-events: none;
}
.dorpBox:not(.show) .innerBox {
	opacity: 0;
}
.dorpBox.show {
	visibility: visible;
}
.dorpBox a {
	color: #fff;
}
.dorpBox .content {
	margin: 0 auto;
	padding: 7.5rem 0 7.5rem 0.5rem;
	max-width: 110rem;
}
.dorpBox .subBox {
	margin-bottom: 2.7rem;
}
.dorpBox .subBox:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
}
.dorpBox .listUl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
} 
.dorpBox .listUl > li,
.dorpBox .title {
	transform: translateX(-1rem);
	opacity: 0;
	transition: .5s;
	transition-delay: .2s;
	width: 23%;
}

.dorpBox.show .listUl > li,
.dorpBox.show .title {
	transform: translateX(0);
	opacity: 1;
}
.dorpBox.show .subBox:nth-child(1) .listUl > li:nth-child(2) {
	transition-delay: .25s;
}
.dorpBox.show .subBox:nth-child(1) .listUl > li:nth-child(3) {
	transition-delay: .3s;
}
.dorpBox.show .subBox:nth-child(1) .listUl > li:nth-child(4) {
	transition-delay: .35s;
}
.dorpBox.show .subBox:nth-child(2) .listUl > li:nth-child(1) {
	transition-delay: .4s;
}
.dorpBox.show .subBox:nth-child(2) .listUl > li:nth-child(2) {
	transition-delay: .45s;
}
.dorpBox.show .subBox:nth-child(2) .listUl > li:nth-child(3) {
	transition-delay: .5s;
}
.dorpBox.show .subBox:nth-child(2) .listUl > li:nth-child(4) {
	transition-delay: .55s;
}
.dorpBox .listUl > li:last-child {
	padding: 0;
}
.dorpBox .link {
	margin-bottom: 1.3rem;
}
.dorpBox .link a {
	padding-left: 1.9rem;
	font-weight: bold;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	display: inline-block;
	position: relative;
}
.dorpBox .link a::after {
	width: 1.2rem;
	height: 1.2rem;
	position: absolute;
	top: 0.5rem;
  	left: 0.1rem;
	border-radius: 50%;
	overflow: hidden;
	background-color: rgba(255, 255, 255, 0.7);
	content: "";
}
.dorpBox .link a::before {
	width: 0.2rem;
	height: 0.2rem;
	border: 1px solid;
	border-color: #7A003D #7A003D transparent transparent;
	transform: rotate(45deg);
	position: absolute;
	top: 0.9rem;
	left: 0.4rem;
	content: "";
	z-index: 10;
}
.dorpBox .link.sml {
	padding-top: 0.2rem;
	margin: -0.1em 0 1.4rem;
}
.dorpBox .link.sml a {
	font-size: 1.3rem;
}
.dorpBox .subUl {
	font-size: 1.2rem;
	line-height: 1.33;
	letter-spacing: 0.1em;
	opacity: .9;
}
.dorpBox .subUl.mar {
	margin: -0.3rem 0 4.3rem 0;
}
.dorpBox .subUl li {
	margin-bottom: 0.8rem;
	letter-spacing: 0.04rem;
}
.dorpBox .subUl li:last-child {
	margin-bottom: 0;
}
.dorpBox .subUl.row2 {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}
.dorpBox .subUl.row2 li {
	width: 39.6%;
}
.dorpBox .subUl.row2 li:nth-child(2n) {
	width: 60.4%;
}
.dorpBox .title {
	margin-bottom: 2.7rem;
	font-size: 2.2rem;
	letter-spacing: 0.25em;
}
.dorpBox .subUl.style {
	padding-top: 0.2rem;
	font-size: 1.3rem;
}
.dorpBox .subUl.style li {
	margin-bottom: 1.3rem;
	width: 31.3%;
}
.dorpBox .subUl.style li:nth-child(2n) {
	width: 68.7%;
}
.dorpBox .innerBoxWid {
	width: 100%;
}
.dorpBox .title02 {
	margin-bottom: 7.7rem;
	font-size: 2rem;
	position: relative;
	font-weight: 500;
	padding: 0.4rem 0;
	letter-spacing: 0.2em;
}
.dorpBox .title02 .en {
	font-size: 11.6rem;
	line-height: 1;
	color: rgba(122, 0, 61, .3);
	position: absolute;
	top: -5rem;
	left: -14.2rem;
	font-weight: 100;
	font-family: "Urbanist", sans-serif;
	letter-spacing: 0.01em;
}
.dorpBox .title02 .jp {
	position: relative;
	z-index: 10;
}
.dorp02 .comListUl02.row4 {
	margin: -4.3rem -0.2rem 0;
	padding-right: 0.5rem;
}
.dorp02 .comListUl02.row4 li {
	margin-top: 4.3rem;
	padding: 0 0.2rem;
}
.dorp02 .comListUl02.row4 .image {
	margin-bottom: 1.4rem;
	padding-bottom: 41.7%;
}
.dorpBox .comListUl02 .comArrow,
.dorpBox .comLinkUl04 .comArrow {
	background-color: rgba(255, 255, 255, 0.5);
	transform: scale(0.8);
	margin: 0;
    top: -0.4rem;
	left: 0;
}
.dorpBox .comListUl02 .txt {
	padding-left: 2.8rem;
}
.dorp03 .comListUl02 {
	margin: 0 -0.9rem;
	padding-right: 0.6rem;
}
.dorp03 .comListUl02 li {
	padding: 0 0.9rem;
}
.dorp03 .comListUl02 .image {
	margin-bottom: 1.5rem;
	padding-bottom: 34.7%;
}
.dorp03 .comListUl02 a {
	font-size: 1.5rem;
}
.dorp03 .comListUl02 .comArrow {
	width: 2.8rem !important;
	height: 2.8rem !important;
  	left: -0.2rem;
}
.dorp03 .comListUl02.row2 .comArrow::after {
	margin: -0.6rem 0 0 0.3rem;
	width: 0.4rem;
}
.dorp03 .comLinkUl04 {
    margin: 4.7rem -0.5rem 0;
}
.dorp03 .comLinkUl04 li {
	opacity: 0;
	transform: translateX(-1rem);
	transition: .5s;
	transition-delay: .2s;
}
.show.dorp03 .comLinkUl04 li {
	opacity: 1;
	transform: translateX(0);
	transition-delay: .3s;
}
.dorp03 .comLinkUl04 a {
	padding-left: 3rem;
}
.dorp03 .comLinkUl04 li {
	margin-right: 4.3rem;
}
.dorpBox .innerUl li {
	margin-bottom: 1rem;
	letter-spacing: 0.08em;
    font-weight: 500;
} 
.dorpBox .innerUl li:last-child {
	margin-bottom: 0;
}
.dorpBox .innerUl.row2 {
	display: flex;
	flex-wrap: wrap;
}
.dorpBox .innerUl.row2 li {
	width: 33%;
	font-size: 1.3rem;
}
.dorpBox .innerUl.row2 li:nth-child(2n) {
	width: 67%;
}
.dorpBox.dorp01 .title02 {
	margin-bottom: 3.2rem;
}
.dorpBox .subUl + .link {
	margin-top: 2.6rem;
}
.dorpBox .link_cat2 {
	margin-bottom: 0.5rem;
}
.dorpBox .link_cat2 a {
	font-size: 1.3rem;
}
.dorpBox.dorp05 .title02 {
	margin-bottom: 51px;
}
.dorpBox.dorp05 .linkUl {
	padding-bottom: 0.9rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	font-size: 1.4rem;
	line-height: 1.5;
}
.dorpBox.dorp05 .linkUl li {
	width: 20%;
	opacity: 0;
    transform: translateX(-1rem);
    transition: .8s;
    transition-delay: .2s;
}
.show.dorpBox.dorp05 .linkUl li {
	opacity: 1;
    transform: translateX(0);
}
.show.dorpBox.dorp05 .linkUl li:nth-child(2) {
	transition-delay: .25s;
}
.show.dorpBox.dorp05 .linkUl li:nth-child(3) {
	transition-delay: .35s;
}
.show.dorpBox.dorp05 .linkUl li:nth-child(4) {
	transition-delay: .45s;
}
.show.dorpBox.dorp05 .linkUl li:nth-child(5) {
	transition-delay: .55s;
}
.dorpBox.dorp05 .linkUl a {
	padding-left: 3rem;
	display: inline-block;
	vertical-align: top;
	position: relative;
	letter-spacing: 0.18em;
}
.dorpBox.dorp05 .comArrow {
	margin-top: -1.1rem;
	position: absolute;
	top: 50%;
	left: 0;
	width: 2rem;
	height: 2rem;
	background-color: rgba(255, 255, 255, 0.7);
}
.dorpBox.dorp05 .comArrow span::before,
.dorpBox.dorp05 .comArrow span::after {
	background-color: #7A003D;
}
.dorpBox.dorp05 .comArrow span {
    width: 40%;
    top: 53%;
}
@media all and (min-width: 1000px) {
	.dorpBox a:not(:has(.comArrow)).hover {
		opacity: 0.7;
	}
	.dorpBox a.hover .comArrow {
		background-color: rgba(255, 255, 255, 1);
	}
	.dorpBox a.hover .comArrow span {
		animation: arrow_slide .3s forwards;
	}
}
@media all and (min-width: 1000px) and (max-width: 1200px) {
	.dorpBox .subUl {
		font-size: 1.2rem;
		letter-spacing: 0;
	}
}
.headerBox.slideOpen .searchLink img,
.headerBox.white .searchLink img {
	filter: brightness(0) invert(1);
}
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-lxh */
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
.en {
	font-family: "Urbanist", sans-serif;
}
.roboto {
	font-family: "Roboto", sans-serif;
}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
/* content */
.content {
	margin: 0 auto;
	width: calc(100vw - 3.6rem);
	max-width: 120rem;
	position: relative;
}
@media all and (max-width: 999px) {
	.content {
		width: calc(100% - 6rem);
	}
	.pad .content {
		width: calc(100% - 20rem);
	}
}

/* headLine01 */
.headLine01 {
	margin-bottom: 4.6rem;
	font-weight: 100;
	font-size: 8.6rem;
	font-family: "Urbanist", sans-serif;
	line-height: 1.15;
}
.headLine01 .txt {
	display: block;
}
.headLine01 .blod {
	margin-left: 1.8rem;
	font-weight: 600;
}
@media all and (max-width: 999px) {
	.headLine01 {
		font-size: 4.1rem;
	}
	.pad .headLine01 {
		font-size: 6rem;
	}
	.headLine01 .blod {
		margin: 0;
	}
}

/* headLine02 */
.headLine02 {
	margin-bottom: 4.2rem;
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1.96;
	letter-spacing: 0.23em;
}
@media all and (max-width: 999px) {
	.headLine02 {
		margin-bottom: 2rem;
		font-size: 2.2rem;
		line-height: 1.68;
		letter-spacing: 0.15em;
	}
	.pad .headLine02 {
		font-size: 3rem;
	}
}

/* comBtn */
.comBtn {
	font-family: "Urbanist", "Noto Sans JP", sans-serif;
}
.comBtn a {
	display: inline-block;
	font-size: 2rem;
	letter-spacing: 0.06em;
	position: relative;
}
.comBtn .comArrow {
	/* margin: -0.2rem 0 0 1.6rem;
	width: 8.3rem;
	height: 8.3rem;
	background-color: #222; */
	display: inline-block;
	vertical-align: middle;
	transition: .4s;
}
/* .comBtn .comArrow::after,
.comBtn .comArrow::before {
	background-color: #fff;
} */
.comBtn .comArrow::before {
	width: 2rem;
	top: 4.3rem;
}
.comBtn .comArrow::after {
	margin: -0.3rem 0 0 0.6rem;
	width: 0.7rem;
	height: 1px;
	top: 4.1rem;
}
.comBtn-circle .comArrow:before {
	position: relative;
}
.comBtn-circle .comArrow:before {
	position: absolute;
    left: 0;
    top: 0;
    width: calc(100% - 2px);
    height: calc(100% - 2px);
    border-radius: 50%;
    border: 1px solid #fff;
    content: "";
    z-index: 1;
    animation: roundout .5s forwards;
}
@keyframes arrow_slide {
	0% {
		left: 50%;
		opacity: 1;
	}
	50% {
		left: 75%;
		opacity: 0;
	}
	50.1% {
		left: -65%;
		opacity: 0;
	}
	100% {
		left: 50%;
		opacity: 1;
	}
}
@media all and (min-width: 1000px) {
	.comBtn-circle:hover .comArrow:before {
		animation: roundin .5s forwards;
	}
	.comBtn-circle:hover .comArrow {
		background: #79003B;
	}
	.comBtn-circle:hover .comArrow span {
		animation: arrow_slide .3s forwards;
	}
}
@media all and (max-width: 999px) {
	.comBtn a {
		min-height: 5.1rem;
		/* padding: 1.4rem 0 0 6.6rem; */
		font-size: 1.7rem;
		letter-spacing: 0.04em;
	}
	.comBtn .comArrow {
		/* margin: 0;
		width: 5.1rem;
		height: 5.1rem; */
		position: absolute;
		top: 0;
		left: 0.4rem;
	}
	.comBtn .comArrow::before {
		display: none;
	}
	.comBtn .comArrow::after {
		margin: -0.3rem 0 0 0.3rem;
		width: 0.5rem;
		height: 1px;
		top: 2.6rem;
	}
    .sec01 .comBtn a{
        padding: 1.4rem 0 0 6.6rem;
    }
}


/* headLine03 */
.headLine03 {
	margin-bottom: 13.1rem;
	color: #81003F;
	font-size: 2.1rem;
	font-weight: 500;
}
.headLine03 .en {
	display: inline-block;
	font-size: 12rem;
	line-height: 1;
	font-weight: 600;
	background: linear-gradient(to left,#bf0562 0%, #79003b 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
}
.headLine03 .jp {
	margin: 1.8rem 0 0 0.4rem;
	display: block;
	letter-spacing: 0.25em;
}
@media all and (max-width: 999px) {
	.headLine03 {
		margin-bottom: 4rem;
		font-size: 1.6rem;
	}
	.headLine03 .en {
		font-size: 5.7rem;
		display: inline-block;
	}
	.headLine03 .jp {
		margin: 0;
		display: inline-block;
		margin: 0 0 0 1.9rem;
		letter-spacing: 0.14em;
	}
}


/* comList */
.comList {
	font-size: 1.4rem;
}
.comList a {
	width: 100%;
	display: flex;
}
.comList .left {
	width: 16.5rem;
	font-size: 1.1rem;
	display: flex;
	font-family: "Urbanist", sans-serif;
	letter-spacing: 0.03em;
}
.comList .time {
	width: 6.8rem;
	color: #222222;
	opacity: 0.8;
	font-weight: normal;
}
.comList .lable {
	flex: 1;
	color: #BF0562;
	font-weight: 600;
	letter-spacing: 0.05em;
}
.comList .txt {
	margin-top: -0.4rem;
	flex: 1;
	letter-spacing: 0.08em;
}
.comList li {
	margin-bottom: 2.6rem;
}
.comList .pdf .txt {
	position: relative;
}
.comList .pdf .txt::after {
	margin: -0.1rem 0 0 0.6rem;
	width: 2.8rem;
	height: 1.4rem;
	display: inline-block;
	vertical-align: middle;
	background: url("../img/common/pdf_icon.jpg") no-repeat left top / 100% 100%;
	content: "";
}
@media all and (min-width: 1000px) {
	.comList a.hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 999px) {
	.comList a {
		padding: 0 1.5rem 1.8rem 0;
		display: block;
	}
	.comList .left {
		margin-bottom: 0.7rem;
		display: block;
		font-size: 1rem;
	}
	.comList .txt {
		display: block;
		margin: 0;
		letter-spacing: 0.12em;
	}
	.comList li {
		margin-bottom: 1.7rem;
		border-bottom: 1px solid rgba(0,0,0, 0.1);
	}
	.comList {
		font-size: 1.3rem;
	}
	.comList .time {
		width: 5.6rem;
		display: inline-block;
	}
}
.fadeIn {
	opacity: 0;
	transform: translateX(-2.5rem);
	transition: .5s;
}
.fadeIn.visible {
	opacity: 1;
	transform: translateX(0);
}
.rightShow {
	clip-path: inset(0 100% 0 0);
	transition: .5s;
	opacity: 0;
}
.rightShow.visible {
	clip-path: inset(0 0 0 0);
	opacity: 1;
}
.bottomShow {
	clip-path: inset(0 0 100% 0);
	transition: .5s;
}
.bottomShow.visible {
	clip-path: inset(0 0 0 0);
}
.paraJs {
	--para: 0;
}
.paraJs > * {
	display: block;
	transform: translateX(var(--para)) translateY(calc(-0.45 * var(--para)));
}


/* pagePath */
.pagePath ul {
	margin: 0 auto;
	width: calc(100% - 8.2rem);
	font-size: 1.1rem;
	letter-spacing: 0.09em;
}
.pagePath ul li {
	position: relative;
	display: inline;
}
.pagePath ul li:before {
	display: inline-block;
	vertical-align: middle;
	content: "";
	width: 5px;
    height: 5px;
    border-top: solid 1px #c5c5c5;
    border-right: solid 1px #c5c5c5;
    transform: rotate(45deg);
    margin: -1px 8px 0 0;
}
.pagePath ul li:last-child {
	margin-right: 0;
}
.pagePath ul li:first-child::before {
	display: none;
}
.pagePath ul a {
	color: #A5A5A5;
}
.pagePath ul li:last-child::before {
	color: #222222;
}
@media all and (min-width: 1000px) {
	.pagePath {
		width: 100%;
		position: absolute;
		top: 13rem;
		left: 0;
		z-index: 50;
	}
	.pagePath ul a.hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 999px) {
	.pagePath {
		margin: 8rem 3rem -3.7rem;
		line-height: 1.45;
	}
	.pagePath ul li::before {
		margin-top: -0.3rem;
		font-size: 1.2rem;
	}
	.pagePath ul {
		width: auto;
	}
	.pagePath + .pageShow {
		margin-top: 6.9rem;
	}
}


/* pageVisual */
.pageVisual {
	margin: 0 4rem 9.6rem 0;
	padding: 4.4rem 0;
	min-height: 27.7rem;
	color: #fff;
	border-radius: 0 0.6rem 0.6rem 0;
	background: linear-gradient(to right,#840140 0%, #890143 0%, #7f0140 0%, #870242 30.37%, #af0359 97.4%, #ad0358 100%);
	box-sizing: border-box;
	font-size: 1.3rem;
	letter-spacing: 0.13em;
}
.pageVisual .content {
	margin: 0 auto;
	padding-left: 4.6rem;
	max-width: 96rem !important;
	border-left: 1px solid #fff;
}
.pageVisual .typeTxt {
	margin-bottom: 1.9rem;
	padding-left: 2.8rem;
	font-size: 1.2rem;
	position: relative;
	font-weight: 500;
	letter-spacing: 0.15em;
}
.pageVisual .typeTxt .en {
	margin-right: 1.6rem;
	font-size: 1.8rem;
	display: inline-block;
	letter-spacing: 0;
}
.pageVisual .typeTxt .icon {
	width: 2rem;
	height: 2rem;
	position: absolute;
	top: 0.3rem;
	left: 0;
	object-fit: contain;
}
.pageVisual .headLine04 {
	margin-bottom: 0;
}
.pageVisual .headLine04 + * {
	margin-top: 3.2rem;
    letter-spacing: 0.15rem;
}
@media all and (max-width: 999px) {
	.pageVisual {
		margin: 0 2rem 5.8rem 0;
		padding: 2.3rem 3.1rem;
		min-height: 0;
		font-size: 1.1rem;
	}
	.pageVisual .content {
		padding-left: 0;
		width: auto;
		border-left: none;
	}
	.pageVisual .typeTxt .en {
		margin: 0 0 0.1rem;
		font-size: 1.6rem;
		display: block;
		letter-spacing: 0;
	}
	.pageVisual .typeTxt {
		margin-bottom: 2.5rem;
		padding-left: 2rem;
		font-size: 1rem;
	}
	.pageVisual .typeTxt .icon {
	    width: 1.8rem !important;
	    height: 1.8rem !important;
	    top: 0.6rem !important;
	}
	.pageVisual .headLine04 + * {
		margin-top: 2.6rem;
	}
}


/* headLine04 */
.headLine04 {
	margin-bottom: 3.2rem;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.25em;
}
.headLine04 .en {
	margin: 0 0 1.1rem -0.2rem;
	display: block;
	font-size: 5rem;
	font-weight: 300;
	line-height: 1;
	letter-spacing: 0.01em;
}
@media all and (max-width: 999px) {
	.headLine04 .en {
		margin: 0 0 0.8rem 0;
		font-size: 2.8rem;
	}
	.headLine04 {
		font-size: 1.5rem;
		letter-spacing: 0.18em;
	}
}


/* comTop */
.comTop {
	margin-bottom: 9.3rem;
	text-align: center;
}
.comTop p {
	line-height: 2.18;
	letter-spacing: 0.1em;
	text-align: center !important;
}
@media all and (max-width: 999px) {
	.comTop {
		margin-bottom: 5.8rem;
		text-align: left;
	}
	.comTop p {
		line-height: 1.785;
		letter-spacing: 0.05em;
		text-align: left !important;
	}
}

/* headLine05 */
.headLine05 {
	margin-bottom: 3.1rem;
	font-size: 2.3rem;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.1em;
	line-height: 1.8;
}
@media all and (max-width: 999px) {
	.headLine05 {
		margin-bottom: 2.7rem;
		font-size: 1.8rem;
		line-height: 1.66;
	}
}

/* headLine06 */
.headLine06 {
	color: #79003B;
	font-size: 2.2rem;
	font-weight: 500;
	border-bottom: 1px solid rgba(34,34,34, 0.25);
	letter-spacing: 0.1em;
	margin-bottom: 3.7rem;
	padding-bottom: 1.6rem;
	position: relative;
	line-height: 1.72;
}
.headLine06::before {
	width: 4rem;
	height: 1px;
	position: absolute;
	bottom: -1px;
	left: 0;
	background-color: #79003B;
	content: "";
}
@media all and (max-width: 999px) {
	.headLine06 {
		padding-bottom: 1.3rem;
  		margin-bottom: 3rem;
		font-size: 1.7rem;
		line-height: 1.52;
	}
}


/* comList02 */
.comList02 {
	padding-top: 0.3rem;
	margin: -3rem -1rem 11.7rem;
	display: flex;
	flex-wrap: wrap;
}
.comList02 > li {
	margin-top: 3.5rem;
	padding: 0 1rem;
	width: 33.33%;
	box-sizing: border-box;
	font-size: 1.4rem;
	letter-spacing: 0.03em;
}
.comList02 p {
	line-height: 1.64 !important;
}
.comList02 .image {
	margin-bottom: 1.3rem;
	overflow: hidden;
	position: relative;
}
.comList02 .title {
	margin-bottom: 0.8rem;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.5;
}
.comList02 a {
	display: block;
}
@media all and (min-width: 1000px) {
	.comList02.row2 {
		margin: -2rem -1.6rem 11.7rem;
		justify-content: center;
		position: relative;
	}
	.comList02.row2 > li {
		padding: 0 1.6rem;
		width: 50%;
		max-width: 51.2rem;
	}
	.comList02.row2 .image {
/*		height: 32rem;*/
		overflow: hidden;
	}
	.comList02.row2 .image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.comList02.row2::after {
		width: 50%;
		height: 0;
		display: inline-block;
		vertical-align: top;
		content: "";
	}
	.comList02.rows3 .image {
		overflow: hidden;
	}
	.comList02.rows3 .image img {
		width: 100%;
		object-fit: cover;
	}
	.comList02 a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 999px) {
	.comList02 {
		padding-top: 0.2rem;
		margin: 0 0 8rem;
		display: block;
	}
	.comList02 > li {
		margin: 0 0 3.6rem;
		padding: 0;
		width: auto;
		font-size: 1.3rem;
	}
	.comList02 > li:last-child {
		margin-bottom: 0;
	}
	.comList02 .image {
		margin-bottom: 1rem;
	}
	.comList02 .image img {
		width: 100%;
	}
	.comList02 .title {
		margin-bottom: 0.5rem;
		font-size: 1.5rem;
	}
	.comList02 p {
		line-height: 1.76 !important;
	}
}


/* headLine07 */
.headLine07 {
	margin-bottom: 2.4rem;
	padding-left: 2.2rem;
	font-size: 2rem;
	font-weight: 500;
	position: relative;
	letter-spacing: 0.125em;
}
.headLine07::before {
	width: 0.3rem;
	height: calc(100% - 0.7rem);
	position: absolute;
	top: 0.5rem;
	left: 0;
	background-color: #79003B;
	content: "";
}
@media all and (max-width: 999px) {
	.headLine07 {
		margin-bottom: 1.7rem;
		font-size: 1.5rem;
		padding-left: 1.5rem;
		line-height: 1.6;
	}
	.headLine07::before {
		width: 0.3rem;
		height: calc(100% - 0.3rem);
		top: 0.2rem;
	}
}


/* comTxtUl */
.comTxtUl {
	margin-bottom: 4.3rem;
}
.comTxtUl li {
	margin-bottom: 0.6rem;
	padding-left: 2.3rem;
	position: relative;
	letter-spacing: 0.06em;
}
.comTxtUl li::before {
	width: 1.3rem;
	height: 1.3rem;
	position: absolute;
	top: 0.6rem;
	left: 0;
	background-color: #79003B;
	content: "";
}
.comTxtUl li:last-child {
	margin-bottom: 0;
}
@media all and (max-width: 999px) {
	.comTxtUl li {
		margin-bottom: 0;
		padding-left: 1.5rem;
		line-height: 1.71;
	}
	.comTxtUl li::before {
		width: 1rem;
		height: 1rem;
		top: 0.7rem;
	}
	.comTxtUl {
		margin-bottom: 2.9rem;
	}
}

/* comImgBox */
.comImgBox {
	margin-top: 4rem;
	margin-bottom: 4rem;
	display: flex;
}
.comImgBox .textBox {
	flex: 1;
}
.comImgBox .photo {
	margin: 0.3rem 0 0 6rem;
	width: 30.4rem;
}
.comImgBox .photo img {
	width: 100%;
}
.comImgBox.big .photo {
	width: 48rem;
}
@media all and (min-width: 1000px) {
	.comImgBox.big .textBox {
		width: calc(50% - 3rem);
		max-width: 48rem;
	}
	.comImgBox.big {
		justify-content: space-between;
	}
	.comImgBox.big img {
		width: 100%;
		/* aspect-ratio: 480/320; */
	}
	.comImgBox .photo a.hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 999px) {
	.comImgBox {
		margin-bottom: 6rem;
		display: block;
	}
	.comImgBox .headLine07 {
		margin-bottom: 2.2rem;
	}
	.comImgBox .photo {
		margin: 2.8rem 0 0 0;
		width: auto;
	}
	.comImgBox .textBox img,
	.comImgBox .photo img {
		width: 100%;
	}
	.comImgBox.big .photo {
		width: auto;
	}
	.comImgBox .textBox + .textBox {
		margin-top: 2.8rem;
	}
}

/* comImgUl */
.comImgUl {
	margin: -3rem -3rem 11.8rem 0;
	padding-top: 2.2rem;
	display: flex;
	flex-wrap: wrap;
}
.comImgUl li {
	margin: 3rem 3rem 0 0;
}
.comImgUl img {
	width: auto;
	height: 6.4rem;
}
@media all and (max-width: 999px) {
	.comImgUl {
		margin: -1.9rem 0 7.8rem;
		padding-top: 0.7rem;
	}
	.comImgUl li {
		margin-top: 1.9rem;
	}
}

/* comLinkUl */
.comLinkUl {
	margin: -1.3rem -0.7rem 11.4rem;
	padding-top: 1.9rem;
	display: flex;
	flex-wrap: wrap;
}
.comLinkUl li {
	margin-top: 1.3rem;
	padding: 0 0.7rem;
	width: 33.33%;
}
.comLinkUl a {
	padding: 0 0 0.5rem 7rem;
	height: 6rem;
	font-size: 1.7rem;
	font-weight: 500;
	border: 1px solid rgba(34,34,34, 0.25);
	display: flex;
	align-items: center;
	position: relative;
	border-radius: 0.3rem;
	letter-spacing: 0.07em;
}
.comLinkUl img {
	width: 2.5rem;
	position: absolute;
	top: 50%;
	left: 3.1rem;
	transform: translateY(-50%);
}
.comLinkUl .comArrow {
	margin-top: -0.1rem;
	position: absolute;
	top: 50%;
	right: 2.2rem;
	transform: translateY(-50%);
}
@media all and (min-width: 1000px) {
	.comLinkUl a.hover {
		border-color: rgba(34,34,34, 1);
	}
}
@media all and (max-width: 999px) {
	.comLinkUl {
		margin: -1.6rem -0.25rem 7.7rem;
		padding-top: 0;
	}
	.comLinkUl li {
		margin-top: 1rem;
		padding: 0 0.25rem;
		width: 50%;
	}
	.comLinkUl img {
		width: 2.1rem;
		left: 1rem;
	}
	.comLinkUl a {
		padding: 0 0 0.2rem 3.9rem;
		height: 4.8rem;
		font-size: 1.4rem;
	}
	.comLinkUl .comArrow {
		margin-top: 0;
		right: 0.7rem;
	}
}


/* comIndentUl */
.comIndentUl {
	font-size: 1.2rem;
	line-height: 2.08;
}
@media all and (max-width: 999px) {
	.comIndentUl {
		font-size: 1.2rem;
		line-height: 1.66;
		letter-spacing: 0.08em;
	}
}

/* comArrow */
.comArrow {
	width: 2.6rem;
	height: 2.6rem;
	display: block;
	border-radius: 50%;
	overflow: hidden;
	background-color: #79003B;
	position: relative;
	transition: .3s;
}
.comArrow span {
	width: 32%;
    display: block;
    position: absolute;
    top: 52%;
    left: 50%;
    transform: translate(-50%, -50%);
	transition: .4s;
}
.comArrow01 span {
	width: 18%;
	top: 50%;
}
.comArrow span::before,
.comArrow span::after {
	content: "";
	background-color: #fff;
	bottom: 0;
	position: absolute;
	height: 1px;
	transition: .4s;
}
.comArrow span::before {
	margin-top: -0.2rem;
	width: 100%;
	height: 1px;
}
.comArrow span::after {
	margin: -0.3rem 0 0 0.3rem;
	width: 40%;
	transform: rotate(45deg);
	transform-origin: right;
    right: 0;
}
@media all and (max-width: 999px) {
	.comArrow {
		width: 1.5rem;
		height: 1.5rem;
	}
	.comArrow::before {
		margin: -0.7rem 0 0 -0.1rem;
		width: 0.7rem;
	}
	.comArrow::after {
		margin: -0.8rem 0 0 0.2rem;
	}
}

/* comArrow02 */
.comArrow02 {
	width: 1.6rem;
	height: 0.6rem;
	display: block;
	position: relative;
	border-bottom: 1px solid #79003C;
}
.comArrow02::after {
	width: 0.6rem;
	height: 1px;
	position: absolute;
	bottom: 1px;
	right: -0.4rem;
	background-color: #79003C;
	content: "";
	transform: translateX(-50%) rotate(45deg);
}
@media all and (max-width: 999px) {
	.comArrow02 {
		width: 1.5rem;
		height: 0.5rem;
	}
}

/* comBtn03 */
.comBtn03 {
	margin-bottom: 6.5rem;
}
.comBtn03 a {
	margin: 0 auto;
	height: 5.7rem;
	width: 32.1rem;
	color: #FFFFFF;
	font-size: 1.7rem;
	font-weight: 500;
	border-radius: 0.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	letter-spacing: 0.1em;
	position: relative;
	overflow: hidden;
	border: 1px solid #7f0140;
	background: #fff;
}
.comBtn03 a::after {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: url("../img/common/btn_bg.jpg") no-repeat left top / 100% 100%;
	content: "";
	transition: 0.3s;
}
.comBtn03 .inner {
	position: relative;
	z-index: 10;
}
@media all and (min-width: 1000px) {
	.comBtn03 a.hover {
		color: #7f0140;
	}
	.comBtn03 a.hover::after {
		opacity: 0;
	}
}
@media all and (max-width: 999px) {
	.comBtn03 a {
		width: 25rem;
		height: 4rem;
		font-size: 1.4rem;
	}
	.comBtn03 {
		margin-bottom: 4.6rem;
	}
}


/* pageShow */
.pageShow {
	margin: 12.3rem 0 -11.3rem;
	padding: 9.9rem 0 11.3rem;
	background-color: rgba(168,2,85,0.06);
}
.pageShow .content {
	max-width: 98.2rem;
}
@media all and (max-width: 999px) {
	.pageShow {
		margin: 3.2rem 0 -6.7rem;
		padding: 6.6rem 0 6.7rem;
	}
}


/* headLine08 */
.headLine08 {
	margin-bottom: 4rem;
	font-size: 2.2rem;
	font-weight: 500;
	letter-spacing: 0.18em;
}
.headLine08 .en {
	margin-top: 0.6rem;
	color: #81003F;
	display: block;
	font-weight: 300;
	font-size: 1.4rem;
	letter-spacing: 0;
}
@media all and (max-width: 999px) {
	.headLine08 {
		margin-bottom: 2.9rem;
		font-size: 1.6rem;
		line-height: 1.375;
	}
	.headLine08 .en {
		margin-top: 0.5rem;
		font-size: 1.4rem;
	}
}


/* comLinkUl02 */
.comLinkUl02 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.comLinkUl02 li {
	width: calc(50% - 2.5rem);
	font-size: 1.3rem;
	line-height: 1.69;
}
.comLinkUl02 li a {
	border-bottom: 1px solid rgba(5, 4, 4, 0.25);
}
.comLinkUl02 .title {
	margin-bottom: 0.5rem;
	font-size: 1.7rem;
	font-weight: 500;
	letter-spacing: 0.15em;
}
.comLinkUl02 a {
	padding: 2.5rem 8rem 2.5rem 0;
	display: block;
	position: relative;
	letter-spacing: 0.05em;
}
.comLinkUl02 .comArrow {
	margin-top: -0.4rem;
	position: absolute;
	top: 50%;
	right: 1px;
	transform: translateY(-50%);
}
.comLinkUl02 .on a {
	opacity: 0.3;
	border-bottom-color: rgba(5, 4, 4, 0.25) !important;
	pointer-events: none;
}
.comLinkUl02 .flex {
	margin-right: -3rem;
	display: flex;
	align-items: center;
}
.comLinkUl02 .flex .right {
	flex: 1;
}
.comLinkUl02 .flex .image {
	margin-right: 2.1rem;
	width: 8rem;
}
.comLinkUl02 .flex .image img {
	width: 100%;
}
@media all and (min-width: 1000px) {
	.comLinkUl02 a.hover {
		border-bottom-color: rgba(5, 4, 4, 1) !important;
	}
}
@media all and (max-width: 999px) {
	.comLinkUl02 {
		display: block;
	}
	.comLinkUl02 li {
		width: auto;
		font-size: 1.2rem;
		line-height: 1.66;
	}
	.comLinkUl02 li:nth-child(2) {
		border-top: none;
	}
	.comLinkUl02 a {
		padding: 2.3rem 4rem 2.3rem 0;
		min-height: 0;
	}
	.comLinkUl02 .title {
		margin-bottom: 0.6rem;
		font-size: 1.4rem;
		line-height: 1.428;
	}
	.comLinkUl02 .comArrow {
		margin-top: 0.2rem;
		width: 1.9rem;
		height: 1.9rem;
	}
	.comLinkUl02 .comArrow::before {
		margin: -0.5rem 0 0 -0.1rem;
		width: 0.8rem;
	}
	.comLinkUl02 .comArrow::after {
		margin: -0.6rem 0 0 0.2rem;
	}
	.comLinkUl02 .flex .image {
		margin-right: 1rem;
		width: 6rem;
	}
	.comLinkUl02 .flex .title {
		margin-bottom: 1.1rem;
		font-size: 1.1rem;
	}
	.comLinkUl02 .flex {
		margin-right: 0;
	}
}


/* contactBox */
.contactBox {
    margin-top: 10rem;
}
.contactBox p {
	font-size: 1.2rem;
	line-height: 2.08;
}
@media all and (max-width: 999px) {
	.contactBox .headLine05 {
		margin-bottom: 1.8rem;
		font-size: 1.35rem;
		line-height: 1.71;
        letter-spacing: 0.07em;
	}
    .contactBox {
    	margin-top: 7rem !important;
    }
	.contactBox p {
		font-size: 1.2rem;
		line-height: 1.57;
		letter-spacing: 0.08em;
	}
}

#subloading {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 99999;
}
#subloading .img {
	width: 3rem;
}
body::before {
	position: fixed;
	z-index: 99998;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	content: "";
	transition: .3s;
	pointer-events: none;
	user-select: none;
}
body.hideCover::before {
	opacity: 0;
}


/* pageVisual02 */
.pageVisual02 {
	margin-bottom: 9.5rem;
	padding: 4rem 0 8rem;
	position: relative;
	border-bottom: 2px solid #7a003d;
}
.pageVisual02 .content {
	width: auto !important;
	max-width: 136.6rem !important;
	display: flex;
}
.pageVisual02 .leftBox {
	flex: 1;
	position: relative;
	z-index: 10;
}
.pageVisual02 .textBox {
	margin-top: 5.7rem;
	width: calc(50% - 8.9rem);
	color: #333333;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 2.26;
	letter-spacing: 0.1em;
	position: relative;
	z-index: 10;
}
.pageVisual02 .bgBox {
	width: 79rem;
	height: calc(100% + 20.3rem);
	position: absolute;
	top: -20.3rem;
	right: 0;
	overflow: hidden;
}
.pageVisual02 .bgBox::before {
	width: 100%;
	height: 11.9rem;
	position: absolute;
	top: 0;
	left: 0;
	background: url("../img/common/bg02.png") no-repeat left top / 100% 100%;
	content: "";
	z-index: 5;
}
.pageVisual02 .bgBox img,
.pageVisual02 .bgBox video {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}
@media all and (max-width: 999px) {
	.pageVisual02 .content {
		display: block;
	}
	.pageVisual02 .textBox {
		margin: 0;
		width: auto;
		font-size: 1.4rem;
		line-height: 1.92;
	}
	.pageVisual02 {
		margin-bottom: 5.7rem;
		padding-bottom: 8rem;
		padding: 0.6rem 3rem 3.8rem;
	}
	.pageVisual02 .leftBox {
		margin-bottom: 3.6rem;
	}
	.pageVisual02 .bgBox {
		height: calc(100% + 9.4rem);
		top: -9.4rem;
	}
}


/* pageVisual03 */
.pageVisual03 {
	font-size: 1.5rem;
}
.pageVisual03 .widBox {
	position: relative;
}
.pageVisual03 .photo {
	height: 40rem;
	position: relative;
	overflow: hidden;
}
.pageVisual03 .photo::before {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: linear-gradient(to right,#fff 0%, rgba(255, 255, 255, 0) 100%);
	opacity: 0.4;
	content: "";
	z-index: 5;
}
.pageVisual03 .photo img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}
@media all and (min-width: 1000px) {
	.pageVisual03 {
		margin: -10.6rem 0 10.9rem;
		letter-spacing: 0.12em;
	}
	.pageVisual03 .widBox {
		margin-left: auto;
		width: calc(50% + 36.1rem);
	}
	.pageVisual03 .leftBox {
		width: 100%;
		position: absolute;
		bottom: 3.7rem;
		left: -19.8rem;
		z-index: 10;
	}
}
@media all and (min-width: 1000px) and (max-width: 1200px) {
	.pageVisual03 .leftBox {
		left: -10.8rem;
	}
}
@media all and (max-width: 999px) {
	.pageVisual03 {
		margin-bottom: 5.1rem;
		font-size: 1.4rem;
		padding: 1.2rem 0 0 3rem;
	}
	.pad .pageVisual03 {
		padding-left: 10rem;
	}
	.pageVisual03 p {
		line-height: 1.92;
		letter-spacing: 0.1em;
	}
	.pageVisual03 .leftBox {
		margin-bottom: 2.9rem;
	}
	.pageVisual03 .photo {
		height: 20rem;
	}
	.pageVisual03 .photo::before {
		display: none;
	}
}

/* headLine09 */
.headLine09 {
	margin-bottom: 6.1rem;
	color: #79003B;
	font-size: 1.9rem;
	font-weight: 500;
	letter-spacing: 0.21em;
}
.headLine09 .en {
	margin-bottom: 1.8rem;
	font-size: 9rem;
	line-height: 1;
	display: block;
	letter-spacing: 0.01em;
	font-family: "Urbanist", sans-serif;
}
@media all and (max-width: 999px) {
	.headLine09 {
		margin-bottom: 2.7rem;
		font-size: 1.5rem;
		letter-spacing: 0.15em;
	}
	.headLine09 .en {
		margin-bottom: 1rem;
		font-size: 5rem;
		letter-spacing: 0.01em;
	}
}


/* headLine10 */

.headLine10 {
	padding-left: 8.4rem;
	color: #7A003D;
	font-size: 1.8rem;
	font-weight: 500;
	position: relative;
	letter-spacing: 0.18em;
}
.headLine10::before {
	width: 2.9rem;
	height: 100%;
	background: linear-gradient(to top,#8c0247 0%, #bf0562 100%);
	position: absolute;
	top: 0;
	left: 0;
	content: "";
}
.headLine10 .en {
	margin-bottom: 2.4rem;
	font-size: 5.2rem;
	line-height: 1;
	display: block;
	letter-spacing: 0;
	font-weight: 600;
}
.headLine10 .small {
	margin-bottom: 2.5rem;
	font-size: 2.1rem;
	letter-spacing: 0.05em;
}
@media all and (max-width: 999px) {
	.headLine10 {
		margin: 0 -3rem;
		padding: 0 0 0.2rem 3rem;
		font-size: 1.5rem;
		letter-spacing: 0.16em;
	}
	.pad .headLine10 {
		margin: 0 -10rem;
	}
	.pad .pageVisual02 .headLine10 {
		margin: 0 -3rem;
	}
	.headLine10 .en {
		margin-bottom: 1.3rem;
		font-size: 3rem;
		line-height: 1.3;
	}
	.headLine10 .small {
		margin-bottom: 1.3rem;
		font-size: 1.6rem;
	}
	.headLine10::before {
		width: 1rem;
	}
}


/* pageVisual04 */
.pageVisual04 .photo {
	height: 36.3rem;
}
.pageVisual04 .photo::before {
	background: linear-gradient(o right,#fff 0%, rgba(255, 255, 255, 0) 100%);
	opacity: 0.63;
}
.pageVisual04 .leftBox {
	bottom: 0;
	left: -41.6rem;
}
@media all and (min-width: 1000px) {
	.pageVisual04 {
		margin: -6.6rem 0 8rem;
	}
	.pageVisual04 .widBox {
		margin-left: auto;
		width: calc(50% + 26.7rem);
	}
}
@media all and (min-width: 1000px) and (max-width: 1359px) {
	.pageVisual04 .leftBox {
		left: 0;
	}
	.pageVisual04 .widBox {
		position: static;
	}
	.pageVisual04 {
		position: relative;
	}
}
@media all and (max-width: 999px) {
	.pageVisual04 {
		margin-bottom: 3.5rem;
		padding: 0.9rem 0 0 3rem;
	}	
	.pageVisual04 .photo {
		height: 20rem;
	}
	.pageVisual04 .leftBox {
		margin-bottom: 3.1rem;
	}
}


/* comLinkUl03 */
.comLinkUl03 {
	margin-bottom: 10.1rem;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.comLinkUl03 li {
	margin: 0 0.5rem;
	padding: 0 2.2rem;
	position: relative;
	letter-spacing: 0.05em;
}
.comLinkUl03 li::after {
	width: 1px;
	height: 1.7rem;
	position: absolute;
	top: 0.4rem;
	right: -0.6rem;
	background-color: #B5B5B5;
	content: "";
}
.comLinkUl03 li:last-child:after {
	display: none;
}
@media all and (min-width: 1000px) {
	.comLinkUl03 a.hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 999px) {
	.comLinkUl03 {
		margin: -1.0rem 0 8rem;
		justify-content: space-between;
		font-size: 1.5rem;
	}
	.comLinkUl03 li {
		margin: 1rem 0 0 0;
		padding: 0 0 1rem;
		width: calc(50% - 1.3rem);
	}
	.comLinkUl03 li::after {
		width: 100%;
		height: 1px;
		top: auto;
		bottom: 0;
		right: auto;
		left: 0;
		background-color: #B5B5B5;
		display: block !important;
	}
	.comLinkUl03 a {
		display: block;
	}
}


/* headLine11 */
.headLine11 {
	margin: 0 0 2.5rem -0.7rem;
	padding-top: 1.4rem;
	color: #7A013D;
	font-size: 3.6rem;
	font-weight: normal;
	position: relative;
	letter-spacing: 0.2em;
}
.headLine11 .en {
	margin: -0.8rem 0 0 2rem;
	font-size: 1.8rem;
	font-weight: 300;
	letter-spacing: 0;
	display: inline-block;
	vertical-align: middle;
	letter-spacing: 0.07em;
}
.headLine11::before {
	width: 100%;
	height: 0.4rem;
	position: absolute;
	top: 0;
	left: 0;
	background: linear-gradient(to right,#7f0140 0%, #af0259 100%);
	content: "";
}
@media all and (max-width: 999px) {
	.headLine11 {
		margin: 0 0 2.9rem;
		padding-top: 1rem;
		font-size: 2.8rem;
		letter-spacing: 0.2em;
	}
	.headLine11 .en {
		margin: -0.4rem 0 0 1.2rem;
		font-size: 1.4rem;
	}
}

/* headLine12 */
.headLine12 {
	padding-top: 1.9rem;
	margin-bottom: 4rem;
	color: #830242;
	font-size: 2.5rem;
	font-weight: 500;
	position: relative;
	letter-spacing: 0.05em;
}
.headLine12::before {
	width: 100%;
	height: 0.6rem;
	position: absolute;
	top: 0;
	left: 0;
	background: linear-gradient(to right,#7f0140 0%, #af0259 100%);
	content: "";
}
@media all and (max-width: 999px) {
	.headLine12 {
		margin-bottom: 3.2rem;
		padding-top: 2.2rem;
		font-size: 1.7rem;
	}
}


/* comArrow03 */
.comBtn .comArrow03 {
	margin-top: -1.1rem;
	width: 2.8rem;
	height: 2.8rem;
	right: 1px;
	background-color: rgba(121,0,59, 0.8);
}
.comBtn-circle .comArrow03:before {
	border: 1px solid #79003B;
}
.comBtn-circle .comArrow03 span::before,
.comBtn-circle .comArrow03 span::after {
	background-color: #fff;
}
@media all and (min-width: 1000px) {
	.comBtn-circle:hover .comArrow03 {
		background: #fff;
	}
	.comBtn-circle:hover .comArrow03 span::before,
	.comBtn-circle:hover .comArrow03 span::after {
		background-color: #79003B;
	}
	.comBtn:not(:has(.comBtn-circle)) a.hover .comArrow {
		background-color: rgba(121, 0, 59, 1);
	}
	.comBtn:not(:has(.comBtn-circle)) a.hover .comArrow span {
		animation: arrow_slide .3s forwards;
	}
	.comBtn:not(:has(.comBtn-circle)) a.hover .comArrow span::before,
	.comBtn:not(:has(.comBtn-circle)) a.hover .comArrow span::after {
		background-color: #fff;
	}
}

/* comBtn02 */
.comBtn02 a {
	color: #79003B;
	font-size: 1.3rem;
	letter-spacing: 0.05em;
}
.comBtn02 .comArrow {
	margin: -0.1rem 0 0 0.9rem;
	width: 3.6rem;
	height: 3.6rem;
	background-color: #fff;
	border: 1px solid rgba(121,0,59,0.15);
}
.comBtn02 .comArrow::after,
.comBtn02 .comArrow::before {
	background-color: #79003B;
}
.comBtn02 .comArrow::before {
	width: 1.2rem;
	top: 1.9rem;
}
.comBtn02 .comArrow::after {
	margin: -0.3rem 0 0 0.3rem;
	width: 0.5rem;
	height: 1px;
	top: 1.8rem;
}
.comBtn02 span:before,
.comBtn02 span:after {
	background-color: #79003B;
}
@media all and (max-width: 999px) {
	.comBtn02 a {
		padding: 0.9rem 4.6rem 0 0.2rem;
		min-height: 3.7rem;
		font-size: 1.3rem;
	}
	.comBtn02 .comArrow {
		margin: 0;
		width: 3.7rem;
		height: 3.7rem;
		right: 0;
		left: auto;
	}
}


/* pageVisual05 */
.pageVisual05 {
	margin: -1rem 0 7.8rem;
	padding: 0;
	border-bottom: none;
}
.pageVisual05 .bgBox {
	width: 100%;
	opacity: 0.1;
}
.pageVisual05 .headLine10 {
	font-size: 2rem;
}
.pageVisual05 .headLine10 .en {
	font-size: 7rem;
	margin-bottom: 1.8rem;
}
.pageVisual05 .headLine10 .small {
	margin-bottom: 5.6rem;
	font-size: 2.2rem;
}
.pageVisual05 .bgTxt {
	color: #EFEFEF;
	opacity: 0.5;
	font-weight: 600;
	font-size: 40rem;
	line-height: 1;
	position: absolute;
	bottom: -7.7rem;
	left: 0;
	letter-spacing: 0.01em;
	filter: blur(7.791200160980225px);
	font-family: "Urbanist", sans-serif;
	display: flex;
}
.pageVisual05 .bgTxt span {
	padding-right: 4rem;
}
@keyframes line {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}
@media all and (max-width: 999px) {
	.pageVisual05 .leftBox {
		margin-bottom: 0;
	}
	.pageVisual05 .headLine10 {
		font-size: 1.5rem;
		margin: 0;
	}
	.pageVisual05 .headLine10 .en {
		margin-bottom: 0.4rem;
		font-size: 4.3rem;
	}
	.pageVisual05 .headLine10 .small {
		margin-bottom: 3.9rem;
		font-size: 1.8rem;
	}
	.pageVisual05 {
		margin: 0 0 5.5rem;
		padding: 2.5rem 0 0 0;
	}
	.pageVisual05 .headLine10::before {
		width: 1.1rem;
		top: 0.5rem;
		height: calc(100% - 0.9rem);
	}
	.pageVisual05 .bgTxt {
		font-size: 20rem;
		bottom: -3.2rem;
	}
}



/* comLink */
.comLink {
	text-align: right;
}
.comLink a {
	padding-bottom: 0.4rem;
	font-size: 1.2rem;font-weight: 500;
	font-family: "Roboto", sans-serif;
	letter-spacing: 0.02em;
	color: #79003b;
	position: relative;
	display: inline-block;
	vertical-align: top;
	line-height: 1;
}
.comLink a::after {
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #79003b;
	content: "";
	transition: 0.3s;
}
.comLink.pdf {
	text-align: center;
}
.comLink.pdf a {
	color: #000000;
	letter-spacing: 0.06em;
	font-size: 1.3rem;
	font-weight: 400;
}
.comLink.pdf a::after {
	background-color: #000000;
}
.comLink.pdf a::before {
	width: 2.8rem;
	height: 1.4rem;
	color: #fff;
	font-size: 1rem;
	font-weight: 600;
	display: flex;
	vertical-align: middle;
	align-items: center;
	justify-content: center;
	background-color: #a8a8a8;
	font-family: "Urbanist", sans-serif;
	line-height: 1;
	text-align: center;
	letter-spacing: 0;
	content: "PDF";
	box-sizing: border-box;
	position: absolute;
	top: 0;
	right: -3rem;
}
.comLink a[target="_blank"] {
	margin-right: 1.6rem;
	position: relative;
}
.comLink a[target="_blank"]::before {
	width: 1rem;
	height: 1rem;
	position: absolute;
	top: 0.1rem;
	right: -1.3rem;
	background: url("../img/common/icon06.png") no-repeat left top / 100% 100%;
	content: "";
}
@media all and (min-width: 1000px) {
	.comLink a.hover::after {
		opacity: 0;
	}
}


/* comLink02 */
.comLink02 a {
	padding-bottom: 0.2rem;
	letter-spacing: 0.04em;
	position: relative;
	display: inline-block;
	vertical-align: top;
	line-height: 1;
}
.comLink02 a::before {
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #222;
	content: "";
	transition: 0.3s;
}
.comLink02 a::after {
	width: 1rem;
	height: 1rem;
	position: absolute;
	top: 0.3rem;
  	right: -1.7rem;
	background: url("../img/common/icon17.png") no-repeat left top / 100% 100%;
	content: "";
}
@media all and (min-width: 1000px) {
	.comLink02 a.hover::before {
		opacity: 0;
	}
}


/* comPageBox */
.comPageBox {
	padding: 8.7rem 0 13.2rem;
	margin: 11.6rem 0 -11.3rem;
	border-top: 1px solid rgba(34,34,34, 0.15);
}
.comPageBox .content {
	max-width: 112.4rem !important;
	display: flex;
}
.comPageBox .headLine03 {
	font-size: 1.7rem;
	margin-bottom: 0;
	font-weight: 500;
	letter-spacing: 0.2em;
}
.comPageBox .headLine03 .en {
	margin-bottom: 2.2rem;
	font-size: 5.3rem;
	font-weight: 200;
	letter-spacing: 0.03em;
	display: block;
}
.comPageBox .leftBox {
	width: 30rem;
}
.comPageBox .rightBox {
	margin-top: 1.2rem;
	flex: 1;
}
@media all and (max-width: 999px) {
	.comPageBox {
		padding: 5.4rem 0 6rem;
		margin: 5.4rem 0 -6.7rem;
	}
	.comPageBox .content {
		display: block;
	}
	.comPageBox .headLine03 .en {
		margin: 0 1rem 0.8rem 0;
		font-size: 4rem;
		letter-spacing: 0.03em;
	}
	.comPageBox .headLine03 {
		font-size: 1.4rem;
		letter-spacing: 0.16em;
	}
	.comPageBox .leftBox {
		width: auto;
		margin-bottom: 3.7rem;
	}
	.comPageBox .rightBox {
		margin-top: 0;
	}
}

/* comListUl */
.comListUl {
	margin-top: -5rem;
	display: flex;
	flex-wrap: wrap;
}
.comListUl li {
	margin-top: 5rem;
	width: 20%;
	padding-right: 1rem;
}
.comListUl a {
	padding-left: 4.1rem;
	display: block;
	font-size: 1.5rem;
	font-weight: 500;
	position: relative;
	letter-spacing: 0.05em;
}
.comListUl .en {
	margin-top: 1px;
	display: block;
	color: #79003B;
	font-size: 1rem;
	font-family: "Urbanist", sans-serif;
}
.comListUl .comArrow {
	position: absolute;
	top: 0.4rem;
	left: 0;
}
.comListUl .on a {
	color: #79003B;
	pointer-events: none;
}
.comListUl .on .comArrow {
	background-color: #79003B;
}
.comListUl .on .comArrow span:before,
.comListUl .on .comArrow span:after {
	background-color: #fff;
}
@media all and (min-width: 1000px) {
	.comListUl a:hover {
		color: #79003B;
	}
	.comListUl a:hover .comArrow {
		background-color: #79003B;
	}
	.comListUl a:hover .comArrow span:before,
	.comListUl a:hover .comArrow span:after {
		background-color: #fff;
	}
	.comListUl a:hover .comArrow span {
		animation: arrow_slide .3s forwards;
	}
}
@media all and (max-width: 999px) {
	.comListUl {
		margin-top: -1.8rem;
	}
	.comListUl li {
		margin-top: 1.8rem;
		width: 50%;
		padding-right: 1rem;
	}
	.comListUl a {
		padding-left: 3.3rem;
		font-size: 1.4rem;
	}
	.comListUl .en {
		margin: 0;
	}
	.comListUl .comArrow {
        top: 0.3rem;
        width: 2.6rem;
        height: 2.6rem;
	}
}


/* comArrow03 */
.comArrow03 span::before,
.comArrow03 span::after {
	background-color: #79003B;
}

/* comArrow04 */
.comArrow04 {
	width: 2.8rem;
	height: 2.8rem;
	background-color: transparent;
	border: 1px solid rgba(121,0,59,0.16);
}
.comArrow04 span::before,
.comArrow04 span::after {
	background-color: #79003B;
}
@media all and (max-width: 999px) {
	.comArrow04 {
		width: 2.2rem;
		height: 2.2rem;
	}
	.comArrow04::before {
		margin-top: -0.5rem;
	}
	.comArrow04::after {
		margin: -0.6rem 0 0 0.2rem;
	}
}



/* comNotesUl */
.comNotesUl {
	margin-top: 10rem;
	padding: 0 1rem;
	font-size: 1.1rem;
	opacity: 0.7;
	line-height: 1.45;
	letter-spacing: 0.05em;
}
.comNotesUl li {
	margin-bottom: 1rem;
	padding-left: 1.4em;
	text-indent: -1.4em;
}
.comNotesUl li:last-child {
	margin-bottom: 0;
}
@media all and (max-width: 999px) {
	.comNotesUl {
		margin-top: 5rem;
		padding: 0;
		font-size: 1.1rem;
	}
	.comNotesUl li {
		margin-bottom: 1.8rem;
	}
}


/* mainBox */
@media all and (min-width: 1000px) {
	#main .mainBox {
		margin-bottom: -11.3rem;
		width: auto;
		max-width: 136.6rem;
		display: flex;
		position: relative;
	}
	#main .mainBox::before {
		width: 1px;
		height: calc(100% + 21.9rem);
		position: absolute;
		top: -21.9rem;
		left: 39.6rem;
		background-color: rgba(181,108,144,0.8);
		content: "";
	}
	#sideBar {
		padding-bottom: 11.3rem;
		width: 39.6rem;
	}
	#sideBar .innerBox {
		margin-left: 8.3rem;
	}
	#conts {
		padding: 0 0 11.3rem 8.3rem;
		flex: 1;
	}
}
@media all and (max-width: 999px) {
	#sideBar .spFlex {
		display: flex;
		flex-wrap: wrap;
	}
	#sideBar .comTypeUl {
		flex: 1;
		display: flex;
		flex-wrap: wrap;
	}
	#sideBar {
		margin: 0 -3rem 4.2rem 0;
		padding: 0 3rem 4.8rem 0;
		position: relative;
		z-index: 20;
	}
}


/* comTypeUl */
.comTypeUl a {
	color: #79003B;
	font-size: 1.4rem;
	opacity: 0.5;
}
.comTypeUl li {
	margin-bottom: 0.6rem;
}
.comTypeUl .on a {
	font-weight: bold;
	opacity: 1;
}
@media all and (min-width: 1000px) {
	.comTypeUl a.hover {
		opacity: 1;
	}
}
@media all and (max-width: 999px) {
	.comTypeUl a {
		font-size: 1.2rem;
	}
	.comTypeUl li {
		margin: 0 1.1rem 0 0;
	}
}

/* selectBox */
.selectBox {
	margin-top: 2.2rem;
	position: relative;
}
.selectBox p {
	padding: 0 2rem 0 0.7rem;
	width: 10rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	background-color: #F4F4F4;
	border: none;
	font-family: "Roboto", sans-serif;
	font-size: 1.2rem;
	box-sizing: border-box;
	line-height: 1;
	background: #F4F4F4 url("../img/common/icon18.png") no-repeat right 0.7rem center / 1rem auto;
	appearance: none;
	-webkit-appearance: none;
	border-radius: 0;
}
.selectBox ul {
	padding: 0.9rem 0.8rem;
	display: none;
	position: absolute;
	left: 0;
	top: 100%;
	width: 100%;
	font-size: 1.2rem;
	font-family: "Roboto", sans-serif;
	background-color: #fbfbfb;
}
.selectBox ul li {
	margin-bottom: 0.3rem;
/* 	opacity: 0.4; */
	cursor: pointer;
}
.selectBox ul li:last-child {
	margin-bottom: 0;
}
@media all and (min-width: 1000px) {
	#sideBar .sideBox {
		position: sticky;
		top: 21.5rem;
	}
	.selectBox {
		width: 10rem;
	}
	.selectBox p {
		width: 100%;
	}
}
@media all and (max-width: 999px) {
	.selectBox {
		margin: 0.2rem 0 0 0;
		width: 8.3rem;
	}
	.selectBox p {
		width: 100%;
		height: 2.1rem;
		font-size: 1.2rem;
	}
}


.wp-pagenavi {
	margin-top: 9.6rem;
	font-size: 0;
	clear: both;
	text-align: left;
}
.wp-pagenavi a,
.wp-pagenavi span {
	color: #79003B;
	font-size: 1.8rem;
	font-weight: 500;
	font-family: "Urbanist", sans-serif;
	display: inline-block;
	vertical-align: top;
	text-decoration: none;
	border: none;
	padding: 0;
	margin: 0 1.9rem 0 0;
	line-height: 1;
}
.wp-pagenavi span.current {
	opacity: 0.3;
}
.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .pages {
	display: none;
}
.wp-pagenavi img {
	width: 1.8rem;
}
.wp-pagenavi .extend {
	opacity: 0.3;
}
.wp-pagenavi .nextpostslink {
	margin:  0.5rem 0 0 3.2rem;
}
.wp-pagenavi .previouspostslink {
	margin: 0.5rem 3.2rem 0 0;
}
@media all and (min-width: 1000px) {
	.wp-pagenavi a:hover {
		opacity: 0.3;
	}
}
@media all and (max-width: 999px) {
	.wp-pagenavi {
		margin-top: 7rem;
		padding: 0 3rem;
		text-align: center;
		position: relative;
	}
	.wp-pagenavi .previouspostslink,
	.wp-pagenavi .nextpostslink {
		margin: 0;
		position: absolute;
		top: 0.4rem;
		left: 0;
	}
	.wp-pagenavi .nextpostslink {
		left: auto;
		right: 0;
	}
	.wp-pagenavi a, .wp-pagenavi span {
		margin: 0 1rem 0;
		font-size: 1.6rem;
	}
}

/* case */
.caseTxt {
    margin: 0 4rem 9.6rem -0.2rem;
    color:  #7A003D;
    background: #F8F8F8;
    font-size: 1.3rem;
    letter-spacing: 0.13em;
    border: 2px solid #7A003D;
    min-height: 25rem;
}
.caseTxt .headLine04 {
    font-size: 3rem;
    letter-spacing: 0.15em;
}
.caseTxt .typeTxt {
    font-size: 2.1rem;
    letter-spacing: 0.1em;
}
.caseTxt .typeTxt .icon {
    height: 2.2rem;
    width: 2.2rem;
    top: 0.75rem;
}
.caseTxt .content {
    border-left: 1px solid #7A003D;
}
.caseTxt  .typeTxt .en {
    font-size: 2.6rem;
    font-weight: 400;
    letter-spacing: 0.1rem;
}

@media all and (max-width: 999px){
    .caseTxt  .content {
        border-left: none;
    }
    .caseTxt .typeTxt::before {
        width: 1.6rem;
        height: 1.6rem;
        top: 0.6rem;
    }
    .caseTxt .typeTxt .en {
        margin: 0 0.8rem 0.5rem 0.1rem;
        font-size: 1.7rem;
        display: inline;
        letter-spacing: 0;  
    }
    .caseTxt .typeTxt {
        font-size: 1.5rem;
        letter-spacing: 0.1em;
    }
    .caseTxt .headLine04 {
        font-size: 2.2rem;
        letter-spacing: 0.1em;
    }
    .caseTxt{
        min-height: 0;
        margin: 0 2rem 5.8rem -0.2rem;
    }
    
}


/* pageVisual06 */
.pageVisual06 {
	margin-bottom: 17.5rem;
}
.pageVisual06 .photo::before {
	opacity: 0.3;
}
.pageVisual06 .headLine09 {
	margin-bottom: 0;
}
.pageVisual06 .textBox {
	font-size: 1.5rem;
	line-height: 2.33;
}
@media all and (min-width: 1000px) {
	.pageVisual06 .leftBox {
		padding-top: 1.6rem;
		height: 100%;
		bottom: 0;
		display: flex;
		align-items: center;
	}
	.pageVisual06 .headLine09 {
		font-size: 1.8rem;
	}
	.pageVisual06 .textBox {
		width: 100%;
		position: absolute;
		bottom: -7.1rem;
		left: -20.2rem;
		z-index: 10;
	}
}
@media (min-width: 1000px) and (max-width: 1200px) {
	.pageVisual06 .textBox {
		left: -10.8rem;
	}
  }
@media all and (max-width: 999px) {
	.pageVisual06 .textBox {
		font-size: 1.4rem;
		margin: 2.8rem 3rem 0 0;
	}
	.pad .pageVisual06 .textBox {
		margin-right: 10rem;
	}
	.pageVisual06 {
		margin-bottom: 6.2rem;
	}
}

/* comListUl02 */
.comListUl02 {
	margin: 0 -0.6rem;
	display: flex;
	flex-wrap: wrap;
}
.comListUl02 li {
    padding: 0 0.6rem;
    width: 50%;
    box-sizing: border-box;
}
.dorpBox .comListUl02 li {
    opacity: 0;
    transform: translateX(-1rem);
    transition: .8s;
    transition-delay: .2s;
}
.show .comListUl02 li {
	opacity: 1;
	transform: translateX(0);
}
.show .comListUl02 li:nth-child(2) {
	transition-delay: .25s;
}
.show .comListUl02 li:nth-child(3) {
	transition-delay: .3s;
}
.show .comListUl02 li:nth-child(4) {
	transition-delay: .35s;
}
.show .comListUl02 li:nth-child(5) {
	transition-delay: .4s;
}
.show .comListUl02 li:nth-child(6) {
	transition-delay: .45s;
}
.show .comListUl02 li:nth-child(7) {
	transition-delay: .5s;
}
.show .comListUl02 li:nth-child(8) {
	transition-delay: .55s;
}
.show .comListUl02 li:nth-child(9) {
	transition-delay: .6s;
}
.comListUl02 a {
	display: block;
	font-weight: 500;
	font-size: 1.8rem;
}
.comListUl02 .image {
	margin-bottom: 1.1rem;
	overflow: hidden;
	padding-bottom: 42.88%;
	position: relative;
}
.comListUl02 .image img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	transition: .3s;
}
.comListUl02 .en {
	color: #79003B;
	font-size: 1rem;
	font-weight: 500;
	font-family: "Urbanist", sans-serif;
	display: block;
	margin-top: 0.2rem;
	letter-spacing: 0.08em;
}
.comListUl02 .txt {
	padding-left: 5.3rem;
	position: relative;
	letter-spacing: 0.12em;
}
.comListUl02 .comArrow {
	position: absolute;
	top: 0.3rem;
	left: -0.2rem;
}
@media all and (min-width: 1000px) {
	.comListUl02.row2 .comArrow {
		width: 4.1rem;
		height: 4.1rem;
	}
	/* .comListUl02.row2 .comArrow:before {
		margin-top: 0;
		width: 1.4rem;
		top: 2rem;
	} */
	.comListUl02.row2 .comArrow::after {
		margin: 0.3rem 0 0 0.4rem;
		width: 0.6rem;
	}
	.comListUl02 a.hover .image img {
		transform: scale(1.1);
	}
}
@media all and (max-width: 999px) {
	.comListUl02 {
		margin: 0;
		display: block;
	}
	.pad .comListUl02 {
		display: flex;
		justify-content: space-between;
	}
	.comListUl02 li {
		margin-bottom: 4rem;
		padding: 0;
		width: auto;
	}
	.pad .comListUl02 li {
		width: 48%;
	}
	.comListUl02 li:last-child {
		margin-bottom: 0;
	}
	.comListUl02 a {
		font-size: 1.3rem;
	}
	.comListUl02 .en {
		font-size: 1rem;
		margin: -0.1rem 0 0 0;
	}
	.comListUl02 .txt {
		padding-left: 3.1rem;
		letter-spacing: 0.08em;
	}
	.comListUl02 .image {
		margin-bottom: 1rem;
	}
	.comListUl02 .comArrow {
		top: 0.6rem;
		left: 0;
		width: 2.3rem;
		height: 2.3rem;
	}
	.comListUl02 .comArrow::before {
		margin-top: -0.4rem;
	}
	.comListUl02 .comArrow::after {
		margin-top: -0.5rem;
	}
}

.comListUl02.row4 {
	margin: -6.1rem -0.1rem 0;
}
.comListUl02.row4 li {
	margin-top: 6.1rem;
	padding: 0 0.1rem;
	width: 20%;
}
.comListUl02.row4 .image {
	margin-bottom: 1.7rem;
	padding-bottom: 40.14%;
}
.comListUl02.row4 a {
	font-size: 1.5rem;
}
.comListUl02.row4 .en {
	font-size: 1rem;
}
.comListUl02.row4 .txt {
	padding-left: 3.5rem;
}
@media all and (max-width: 999px) {
	.comListUl02.row4 {
		margin: -3rem -0.5rem 0;
		display: flex;
		justify-content: space-between;
	}
	.comListUl02.row4 li {
		margin: 3rem 0 0 0;
		width: 50%;
		padding: 0 0.5rem;
	}
	.comListUl02.row4 .image {
		margin-bottom: 1rem;
		padding-bottom: 60.52%;
	}
	.comListUl02.row4 a {
		font-size: 1.3rem;
	}
	.comListUl02.row4 .txt {
		padding-left: 3.1rem;
	}
}


/* comLinkUl04 */
.comLinkUl04 {
	display: flex;
	flex-wrap: wrap;
}
.comLinkUl04 li {
	margin-right: 5.4rem;
}
.comLinkUl04 a {
	display: block;
	font-weight: 500;
	font-size: 1.5rem;
	letter-spacing: 0.22em;
	position: relative;
	padding-left: 4rem;
}
/* .comLinkUl04:not(:has(.comBtn)) a.hover {
	opacity: 0.7;
} */
.comLinkUl04 .en {
	color: #79003B;
	font-size: 1rem;
	font-weight: 500;
	font-family: "Urbanist", sans-serif;
	display: block;
	margin-top: 0.2rem;
	letter-spacing: 0.08em;
}
.comLinkUl04 .comArrow {
	position: absolute;
	top: 0.4rem;
	left: 0;
}
@media all and (max-width: 999px) {
	.comLinkUl04 {
		margin-top: -2.4rem;
		justify-content: space-between;
	}
	.comLinkUl04 li {
		margin: 2.4rem 0 0 0;
		width: 50%;
	}
	.comLinkUl04 li:nth-child(2n) {
		width: 48%;
	}
	.comLinkUl04 a {
		padding-left: 3.2rem;
		font-size: 1.3rem;
		letter-spacing: 0.08em;
	}
	.comLinkUl04 .en {
		margin-top: 0;
		font-size: 1rem;
	}
	.comLinkUl04 .comArrow {
		top: 0.7rem;
	}
}

/* snsBox */
.snsBox {
	margin-top: 0.9rem;
	width: 25.6rem;
	padding-left: 2rem;
	position: relative;
	display: flex;
}
.snsBox::before {
	width: 1px;
	height: 2rem;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #222222;
	content: "";
}
.snsBox .ttl {
	margin-right: 2rem;
	width: 10.6rem;
	white-space:nowrap;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}
.snsBox .snsUl {
	display: flex;
	flex-wrap: wrap;
	flex: 1;
	font-size: 0;
	line-height: 1;
}
.snsBox .snsUl li {
	margin-right: 2rem;
}
.snsBox .snsUl img {
	width: 2rem;
}
.snsBox .snsUl li:last-child {
	margin-right: 0;
}
.snsBox .snsUl a {
	display: block;
}
@media all and (min-width: 1000px) {
	.snsBox .snsUl a.hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 999px) {
	.snsBox .ttl {
		width: 12.7rem;
	}
	.snsBox {
		width: auto;
	}
	.snsBox .snsUl li {
		margin-right: 2.9rem;
	}
}

.comWidth70 {
	margin: 0 auto;
	max-width: 70rem;;
}
@media all and (max-width: 999px) {
	.comWidth70 {
		max-width: inherit;
	}
}
/* comListDl */
.comListDl {
	padding-top: 2rem;
	font-size: 1.4rem;
	border-top: 1px solid #97024C;
	line-height: 2;
}
.comListDl .flex {
	border-bottom: 1px solid rgba(121, 0, 59, 0.1);
	margin-bottom: 2rem;
}
.english .comListDl {
	border: none;
}
.comListDl dt {
	padding-top: 0.3rem;
	color: #79003B;
	font-weight: bold;
	float: left;
	letter-spacing: 0.15em;
	line-height: 1.64;
	font-size: 1.3rem;
	width: 160px;
	padding: 0 20px 0 0;
}
.english .comListDl dt {
	letter-spacing: 0.07rem;
}
.comListDl dd {
	padding: 0 0 2rem;
	letter-spacing: 0.07em;
	width: calc(100% - 160px);
	line-height: 1.7;
}
.comListDl:not(:has(dt)) dd {
	padding-left: 0;
}
.comListDl dd:last-child {
	margin-bottom: 0;
}
.comListDl .comLink {
	text-align: left;
	display: inline-block;
	vertical-align: middle;
	margin: 0.5rem 0 -0.8rem 3.4rem;
}
.comListDl .comLink a {
	padding-bottom: 0.3rem;
}
.comListDl .comLink02 {
	padding-top: 0.7rem;
	line-height: 1.5;
}
.comListDl .comLink02 + .comLink02 {
	padding-top: 0.6rem;
}
@media all and (min-width: 1000px) {
	.comListDl .link.hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 999px) {
	.comListDl {
		margin-right: -3rem;
		font-size: 1.3rem;
		padding-top: 1.6rem;
		line-height: 1.69;
	}
	.comListDl .flex {
		flex-direction: column;
	}
	.comListDl dt {
		padding-top: 0;
		margin-bottom: 0.2rem;
		float: none;
		font-size: 1.2rem;
		width: auto;
	}
	.comListDl dd {
		padding: 0 3rem 1.5rem 0;
		margin-bottom: 1.3rem;
		width: auto;
	}
	.comListDl .comLink {
		margin: 0;
	}
	/* .comListDl .tel {
		text-decoration: underline;
	} */
}

/* comShowBox */
.comShowBox {
	margin: 0 auto;
	max-width: 86.2rem;
}
.comShowBox:last-child {
	margin-bottom: 5rem;
}
.comShowBox .textBox {
	margin-bottom: 4.8rem;
	line-height: 1.875;
	letter-spacing: 0.08em;
}
.comShowBox .textBox p {
	margin-bottom: 3rem;
}
.comShowBox .textBox p:last-child {
	margin-bottom: 0;
}
.comShowBox .photoBox {
	text-align: center;
}
.comShowBox .photoBox img {
	width: 65rem;
}
.comListBox{
    margin-bottom: 8rem;
}
@media all and (max-width: 999px) {
	.comShowBox {
		max-width: inherit;
	}
	.comShowBox .textBox {
		margin-bottom: 3.9rem;
		line-height: 1.78;
	}
	.comShowBox .textBox p {
		margin-bottom: 2.6rem;
	}
	.comShowBox .photoBox {
		text-align: left;
		margin-right: -1rem;
	}
	.comShowBox .photoBox img {
		width: 100%;
	}
}


/* comListBox */
.comListBox .headLine03 {
	margin-bottom: 2.3rem;
	font-size: 2.2rem;
	letter-spacing: 0.1em;	
}
.english .comListBox .headLine03 {
	display: none;
}
.comListBox .subBox {
	border-top: 1px solid rgba(121,0,59,0.1);
	position: relative;
}
.comListBox .subBox:last-child {
	border-bottom: 1px solid rgba(121,0,59,0.1);
}
.comListBox .borStyle {
	border-top: 1px solid rgba(121,0,59,1);
}
.english .comListBox .borStyle {
	border-top: 1px solid rgba(121, 0, 59, 0.1);
}
.comListBox .tableBox table {
	width: 100%;
	border-collapse: collapse;
}
.comListBox .tableBox table th,
.comListBox .tableBox table td {
	padding: 1rem 4rem 1.3rem;
	text-align: left;
	vertical-align: middle;
	font-size: 1.8rem;
}
.comListBox .tableBox table th {
	padding: 2rem 1rem 1.9rem 2.9rem;
	width: 16.8%;
	color: #79003B;
	font-size: 1.4rem;
	background-color: rgba(167,3,85,0.05);
	letter-spacing: 0.03em;
}
.comListBox .tableBox .en {
	margin: -0.2rem 0 0 0;
	font-size: 1.2rem;
	color: #79003B;
	font-weight: 500;
	display: inline-block;
	vertical-align: middle;
	font-family: "Urbanist", sans-serif;
}
.english .comListBox .tableBox .en {
	font-size: 1.5rem;
}
.comListBox .tableBox .jp {
	display: inline-block;
	min-width: 10rem;
	font-weight: 500;
	margin: 0 2.2rem 0 0;
}
.comListBox .tableBox table td {
	letter-spacing: 0.05em;
}
.comListBox .link {
	position: absolute;
	top: 2.2rem;
	right: 0;
	font-size: 1.3rem;
	font-weight: bold;
}
.comListBox .link a {
	padding-right: 1.9rem;
	display: inline-block;
	vertical-align: top;
	position: relative;
	letter-spacing: 0.1em;
}
.comListBox .link a::after {
	width: 0.8rem;
	height: 0.8rem;
	position: absolute;
	top: 0.6rem;
	right: 0;
	background: url("../img/common/icon08.png") no-repeat left top / 100% 100%;
	content: "";
}
.comListBox .link a.on::after {
	background-image: url("../img/common/icon09.png");
}
.comListBox .openBox {
	padding: 5rem 0 3.3rem;
	display: none;
}
.comListBox .openBox .flexBox {
	display: flex;
}
.comListBox .openBox .flexBox .photo {
	width: 22.2rem;
}
.comListBox .openBox .flexBox .photo img {
	width: 100%;
}
.comListBox .openBox .flexBox .right {
	margin-left: 1.8rem;
	flex: 1;
}
.comListBox .openBox dl {
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}
.comListBox .openBox dl dt {
	width: 10rem;
    float: left;
    text-align: right;
    font-size: 1.2rem;
    font-weight: 400;
    margin: 1px 0 0;
    letter-spacing: 0.04rem;
    color: #79003B;
}
.comListBox .openBox dl dd {
	padding: 0 0 1.4rem 8.5em;
}
@media all and (max-width: 999px) {
	.comListBox .headLine03 {
		margin-bottom: 1.2rem;
		font-size: 1.7rem;
	}
	.comListBox .tableBox table th,
	.comListBox .tableBox table td {
		padding: 1.6rem 1.6rem 1.6rem;
		font-size: 1.5rem;
	}
	.comListBox .tableBox table th {
		padding: 2rem 0 1.9rem 1.1rem;
		width: 32.2%;
		font-size: 1.2rem;
	}
	.comListBox .tableBox .jp {
		display: block;
	}
	.comListBox .tableBox .en {
		margin: 0;
		font-size: 1rem;
		display: block;
	}
	.comListBox .subBox {
		margin-right: -3rem;
	}
	.comListBox .link a {
		padding-right: 1.1rem;
	}
	.comListBox .link {
		top: 2.7rem;
		right: 1.6rem;
		font-size: 1.1rem;
	}
	.comListBox .openBox .flexBox {
		display: block;
	}
	.comListBox .openBox .flexBox .photo {
		margin-bottom: 3rem;
		width: 100%;
		max-width: 21.7rem;
	}
	.comListBox .openBox .flexBox .right {
		margin-left: 0;
	}
	.comListBox .openBox {
		padding: 3rem 0 3.5rem;
	}
	.comListBox .openBox dl {
		font-size: 1.3rem;
		letter-spacing: 0;
		margin: 0 2rem 0 -0.7rem;
	}
	.comListBox .openBox dl dt {
		width: 7.6rem;
	}
	.comListBox .openBox dl dd {
        padding: 0 0 1rem 6.8em;
	}
	.comListBox .link a::after {
		top: 0.4rem;
	}
    .comListBox {
        margin-bottom: 6rem;
    }
}

/* comAccessBox */
.comAccessBox {
	display: flex;
	justify-content: space-between;
	padding-left: 0.8rem;
}
.comAccessBox .leftBox {
	margin: -1.1rem 7.7rem 0 0;
	flex: 1;
}
.comAccessBox .rightBox {
	width: 50rem;
}
.comAccessBox .map {
	margin-bottom: 1.4rem;
	padding-bottom: 50rem;
	position: relative;
	overflow: hidden;
}
.comAccessBox .map iframe {
	width: calc(100% + 10rem);
	height: calc(100% + 36rem);
	left: -5rem;
	top: -18rem;
	right: -5rem;
	bottom: -18rem;
	position: absolute;
}
.comAccessBox p {
	margin-bottom: 3rem;
	line-height: 1.875;
	letter-spacing: 0.05em;
}
.comAccessBox p:last-child {
	margin-bottom: 0;
}
@media all and (max-width: 999px) {
	.comAccessBox {
		display: block;
		padding-left: 0;
	}	
	.comAccessBox .leftBox {
		margin: 0 0 3.6rem;
	}
	.comAccessBox .rightBox {
		width: auto;
	}
	/* .comAccessBox .leftBox p a {
		text-decoration: underline;
	} */
	.comAccessBox p {
		margin-bottom: 2.4rem;
		line-height: 1.71;
	}
	.comAccessBox .headLine06 {
		margin-bottom: 2.9rem;
	}
	.comAccessBox .map {
		padding-bottom: 102%;
	}
}




/* comListUl03 */
.comListUl03 a {
	padding: 4.9rem 8.4rem;
	display: flex;
	align-items: center;
}
/* .comListUl03 a.hover {
	opacity: 0.7;
} */
.comListUl03 li {
	position: relative;
}
.comListUl03:not(.column) li::before,
.comListUl03:not(.column) li::after {
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
	opacity: 0.1;
	background-color: #79003B;
	content: "";
	transition: .3s;
}
.comListUl03:not(.column) li::after {
	width: 0%;
	opacity: 0.5;
}
.comListUl03 .image {
	width: 17rem;
	padding-bottom: 9.9rem;
	position: relative;
	overflow: hidden;
	border: solid 1px #e5e5e5;
}
.comListUl03 .image img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}
.comListUl03 .title {
	margin-bottom: 1.7rem;
	font-size: 1.9rem;
	letter-spacing: 0.07em;
	line-height: 1.63;
}
.comListUl03 .title .inner {
	position: relative;
}
.comListUl03 .title .pdf::after {
	margin: -0.5rem 0 0 1rem;
	width: 2.8rem;
	height: 1.4rem;
	color: #fff;
	font-size: 1rem;
	display: inline-flex;
	vertical-align: middle;
	align-items: center;
	justify-content: center;
	background-color: #a8a8a8;
	line-height: 1;
	text-align: center;
	letter-spacing: 0;
	content: "PDF";
	box-sizing: border-box;
	transition: .3s;
}
.comListUl03 .blank::after {
	margin: -0.2rem 0 0 0.8rem;
	width: 1.3rem;
	height: 1.3rem;
	display: inline-block;
	vertical-align: middle;
	background: url("../img/common/icon19.png") no-repeat left top / 100% 100%;
	content: "";
}
.comListUl03 .flexTxt {
	display: flex;
	flex-wrap: wrap;
	font-size: 1.1rem;
	font-family: "Urbanist", sans-serif;
	letter-spacing: 0.03em;
}
.comListUl03 .flexTxt .type {
	margin-left: 1.2rem;
	color: #BF0362;
	font-weight: bold;
	letter-spacing: 0.04rem;
}
.comListUl03 .titleBox {
	flex: 1;
	margin-left: 5.6rem;
}
@media all and (min-width: 1000px) {
	#conts .comListUl03 {
		margin: -3.4rem 0 0 -8.3rem;
	}
	.comListUl03 .title .pdf.hover::after {
		background-color: #79003B;
	}
	.comListUl03:not(.column) li:hover::after {
		width: 100%;
	}
}
@media all and (max-width: 999px) {
	.comListUl03 li {
		margin-bottom: 5.4rem;
	}
	.pad .comListUl03 {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.pad .comListUl03 li {
        margin-bottom: 3rem;
        width: 32%;
    }
	.comListUl03 li:last-child {
		margin-bottom: 0 !important;
	}
	.comListUl03 .title {
		font-size: 1.8rem;
		line-height: 1.55;
		font-weight: normal;
	}
	.comListUl03 .title .pdf::after {
		margin: 0 0 0 0.8rem;
	}
	.comListUl03 a {
		padding: 0;
		display: block;
	}
	.comListUl03 .image {
		width: 100%;
		padding-bottom: 58.2%;
	}
	.comListUl03 .titleBox {
		margin: 1.7rem 0 0 0;
		display: flex;
		flex-direction: column;
	}
	.comListUl03 .titleBox .title {
		margin-bottom: 0;
		order: 3;
		font-size: 1.4rem;
		line-height: 1.64;
	}
	.comListUl03 .flexTxt .type {
		margin-left: 0.7rem;
	}
	.comListUl03 .flexTxt {
		margin-bottom: 0.4rem;
	}
	.comListUl03 li::before {
		display: none;
	}
}
/* comListUl03.column */
@media all and (min-width: 1000px) {
	.comListUl03.column {
		margin: 0 -1.4rem;
		display: flex;
		flex-wrap: wrap;
	}
	.comListUl03.column li {
		margin: 0;
		padding: 0 1.4rem;
		width: 33.33%;
		box-sizing: border-box;
	}
	.comListUl03.column li::before {
		display: none;
	}
	.comListUl03.column a {
		padding: 0;
		display: block;
	}
	.comListUl03.column .titleBox {
		margin-left: 0;
	}
	.comListUl03.column .image {
		margin-bottom: 1.6rem;
		padding-bottom: 58.5%;
		width: 100%;
	}
	.comListUl03.column .flexTxt {
		margin-bottom: 0.9rem;
	}
	.comListUl03.column .flexTxt .type {
		margin-left: 0.9rem;
	}
	.comListUl03.column .title {
		font-size: 1.4rem;
	}
	.comListUl03 .image img {
		transition: 0.3s;
	}
	.comListUl03 a:hover .image img {
		transform: scale(1.1);
	}
}
@media all and (max-width: 999px) {
	.comListUl03.column .titleBox {
		margin: 1.6rem 3rem 0 0;
	}
	.comListUl03.column .flexTxt {
		margin-bottom: 0.3rem;
	}
	.comListUl03.column li {
		margin-bottom: 4.2rem;
	}
}



/* pageNavi */
.pageNavi {
	margin-top: 8rem;
	width: 35%;
	max-width: 64.4rem;
	font-weight: 500;
	font-size: 1.5rem;
	position: relative;
	display: flex;
	justify-content: flex-start;
	font-family: "Urbanist", sans-serif;
	letter-spacing: 0.03em; 
}
.pageNavi .prev {
	margin: 0 5rem 0 0;
}
/* .pageNavi .prev,
.pageNavi .next {
	position: absolute;
	top: 0;
	left: 0;
} */
/* .pageNavi .next {
	left: auto;
	right: 0;
} */
.pageNavi .prev .comArrow {
	transform: scaleX(-1);
}
.pageNavi a {
	display: inline-block;
	vertical-align: top;
}
.pageNavi .comArrow {
	margin-right: 1.1rem;
	display: inline-block;
	vertical-align: middle;
	width: 3.3rem;
	height: 3.3rem;
	border-color: #DEDEDE;
}
.pageNavi .comArrow::after,
.pageNavi .comArrow::before {
	background-color: #222222;
}
.pageNavi .next .comArrow {
	margin: 0 0 0 1.1rem;
}
.pageNavi .return {
	margin: 0.4rem 1rem 0;
  	font-weight: bold;
}
.pageNavi .return a {
	border-bottom: 1px solid #222222;
}
.pageNavi .comArrow::before {
	margin-top: 0;
	width: 1.1rem;
}
.pageNavi .comArrow::after {
	margin-top: -0.1rem;
	width: 0.4rem;
}
@media all and (min-width: 1000px) {
	.pageNavi a.hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 999px) {
	.pageNavi {
		margin-top: 6.2rem;
		max-width: inherit;
		width: 100%;
	}
	.pageNavi .return {
		margin-top: 0;
		font-size: 1.4rem;
	}
	.pageNavi .comArrow {
		margin: -0.3rem 0.8rem 0 0;
		width: 2.6rem;
		height: 2.6rem;
	}
	.pageNavi .next .comArrow {
		margin: -0.3rem 0 0 0.8rem;
	}
	.pageNavi .comArrow::before {
		margin-top: -0.3rem;
		width: 0.8rem;
	}
	.pageNavi .comArrow::after {
		margin-top: -0.4rem;
	}

}

/* pageVisual07 */
.pageVisual07 {
	margin-bottom: 7.7rem;
	padding: 1.3rem 0 0 0;
	border-bottom: none;
}
.pageVisual07 .headLine10 .en {
	margin-bottom: 1.9rem;
	font-size: 6rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}
.pageVisual07 .headLine10 {
	padding-left: 8rem;
	font-size: 1.8rem;
	letter-spacing: 0.17em;
}
@media all and (max-width: 999px) {
	.pageVisual07 .headLine10 {
		padding-left: 3.3rem;
		margin: 0;
		font-size: 1.5rem;
	}
	.pageVisual07 .headLine10 .en {
		margin-bottom: 0.5rem;
		font-size: 3.4rem;
	}
	.pageVisual07 {
		margin-bottom: 3.3rem;
		padding-top: 3.4rem;
	}
	.pageVisual07 .leftBox {
		margin-bottom: 0;
	}
}

/* comTable */
.comTable {
	width: 100%;
	border-collapse: collapse;
}
.comTable th,
.comTable td {
	padding: 0.6rem 0 0.5rem;
	text-align: left;
	vertical-align: middle;
	border: 1px solid rgba(221,221,221,0.6);
	box-sizing: border-box;
	font-weight: normal;
	font-size: 1.3rem;
	line-height: 2.3;
	letter-spacing: 0.05em;
}
.comTable td {
	padding: 0.6rem 2rem 0.5rem;
}
.comTable th {
	width: 19%;
	background-color: rgba(245,245,245, 0.6);
	text-align: center;
}
.comTable .bg {
	width: 20%;
	background-color: rgba(245,245,245, 0.6);
	text-align: center;
}
.comTable tr th:first-child {
	border-left-color: #C7C7C7;
}
.comTable tr td:last-child {
	border-right-color: #C7C7C7;
}
.comTable tr:first-child th,
.comTable tr:first-child td {
	border-top-color: #C7C7C7;
}
.comTable tr:last-child th,
.comTable tr:last-child td {
	border-bottom-color: #C7C7C7;
}
.comTable a {
	text-decoration: underline;
}
@media all and (min-width: 1000px) {
	.comTable a.hover {
		text-decoration: none;
	}
}


/* headLine13 */
.headLine13 {
	margin-bottom: 2rem;
	color: #7A003D;
	font-size: 4.4rem;
	font-weight: 600;
	font-family: "Urbanist", sans-serif;
	line-height: 1.4;
	letter-spacing: 0.01em;
	position: relative;
	z-index: 10;
}
.headLine13 a {
	color: #7A003D;
}
@media all and (min-width: 1000px) {
	.headLine13 a.hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 999px) {
	.headLine13 {
		margin-bottom: 1.2rem;
		font-size: 3rem;
	}
}


/* comTextBox */
.comTextBox p {
	margin-bottom: 5.5rem;
	line-height: 1.875;
	letter-spacing: 0.05em;
}
.english .comTextBox p {
	font-size: 1.3rem;
    letter-spacing: 0.05rem;
    line-height: 1.6;
}
.comTextBox h1 {
	color: #79003B;
	font-size: 2.2rem;
	font-weight: 500;
	border-bottom: 1px solid rgba(34,34,34, 0.25);
	letter-spacing: 0.1em;
	margin-bottom: 2.2rem;
	padding-bottom: 1.6rem;
	position: relative;
	line-height: 1.72;
}
.english .comTextBox h1 {
	font-family: "Urbanist", sans-serif;
    font-size: 3rem;
    letter-spacing: 0.03rem;
}
.comTextBox h1::before {
	width: 4rem;
	height: 1px;
	position: absolute;
	bottom: -1px;
	left: 0;
	background-color: #79003B;
	content: "";
}
.comTextBox h2 {
	margin-bottom: 2.4rem;
	padding-left: 2.2rem;
	font-size: 2rem;
	font-weight: 500;
	position: relative;
	letter-spacing: 0.125em;
}
.comTextBox .isCenter {
	padding: 0;
	margin-bottom: 3.1rem;
	font-size: 2.3rem;
	line-height: 1.8;
}
.comTextBox .isCenter strong {
	font-weight: inherit;
}
.comTextBox .isCenter:before {
	display: none;
}
.comTextBox h3 {
	color: #79003B;
	margin-bottom: 0.5rem;
	font-size: 1.8rem;
	letter-spacing: 0.08em;
}
.english .comTextBox h2 {
	letter-spacing: 0.03em;
}
.comTextBox h2::before {
	width: 0.3rem;
	height: calc(100% - 0.7rem);
	position: absolute;
	top: 0.5rem;
	left: 0;
	background-color: #79003B;
	content: "";
}
.comTextBox ul {
	margin-bottom: 5.5rem;
}
.comTextBox ul li , .comImgBox .textBox ul li {
	margin-bottom: 0.6rem;
	padding-left: 2.3rem;
	position: relative;
	letter-spacing: 0.06em;
}
.comTextBox ul li::before , .comImgBox .textBox ul li::before {
	width: 1.3rem;
	height: 1.3rem;
	position: absolute;
	top: 0.6rem;
	left: 0;
	background-color: #79003B;
	content: "";
}
.comTextBox ul li:last-child {
	margin-bottom: 0;
}
.comTextBox p img:not(.aligncenter) {
	margin: 0 3rem 3rem 0;
	display: inline-block;
	vertical-align: top;
}
@media all and (max-width: 999px) {
	.comTextBox h1 {
		padding-bottom: 1.3rem;
  		margin-bottom: 2.2rem;
		font-size: 1.7rem;
		line-height: 1.52;
	}
	.english comTextBox h1 {
		font-size: 2.5rem;
	}
	.comTextBox h2{
		margin-bottom: 1.7rem;
		font-size: 1.5rem;
		padding-left: 1.5rem;
		line-height: 1.6;
	}
	.comTextBox h2::before {
		width: 0.3rem;
		height: calc(100% - 0.3rem);
		top: 0.2rem;
	}
	.comTextBox ul li , .comImgBox .textBox ul li {
		margin-bottom: 0;
		padding-left: 1.5rem;
		line-height: 1.71;
	}
	.comTextBox ul li::before , .comImgBox .textBox ul li::before {
		width: 1rem;
		height: 1rem;
		top: 0.7rem;
	}
	.comTextBox ul {
		margin-bottom: 3.5rem;
	}
	.comTextBox p img:not(.aligncenter) {
		margin-bottom: -1.9rem;
	}
    .comTextBox p{
        margin-bottom: 5rem;
    }
	.comTextBox h3 {
		font-size: 1.5rem;
		letter-spacing: 0.125em;
	}
	.comTextBox .isCenter {
		margin-bottom: 2.7rem;
		font-size: 1.8rem;
		line-height: 1.66;
	}
}


#main .industryBox {
	margin-bottom: 20rem;
}
@media all and (max-width: 999px) {
	#main .industryBox {
		margin-bottom: 10rem;
	}
}


/* comSearch */
.comSearch {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	overflow-y: auto;
	max-height: 100%;
	z-index: 10000;
	display: none;
}
.comSearch .bgBox {
	background: transparent;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	background: rgba(0, 0, 0, 0.6);
}
.comSearch .innerBox {
	margin: 0 auto;
	padding: 9.8rem 2rem 2rem;
	max-width: 110rem;
	min-height: 21.5rem;
	position: relative;
	box-sizing: border-box;
}
.comSearch .close {
    width: 2rem;
    position: absolute;
    top: 3.7rem;
    right: 11.9rem;
	cursor: pointer;
	z-index: 2;
}
.comSearch .widBox {
	margin: 0 auto;
	max-width: 56.8rem;
	position: relative;
	padding: 0 6rem 0 1.8rem;
}
.comSearch input {
	padding: 0;
	width: 100%;
	border: none;
	border-radius: 0;
	background-color: transparent;
}
.comSearch .text {
	height: 2.5rem;
	color: #fff;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	font-size: 1.6rem;
	letter-spacing: 0.08rem;
	padding: 0 0 2px;
}
.comSearch .text::placeholder {
	color: rgba(255, 255, 255, .6);
}
.comSearch .btn {
	width: 4.7rem;
	height: 4.7rem;
	background: url("../img/common/search_icon02.png") no-repeat left top / 100% 100%;
	overflow: hidden;
	cursor: pointer;
	text-indent: 999rem;
	position: absolute;
	right: 0;
	bottom: -1.2rem;
}
.comSearch input::-webkit-input-placeholder {
	opacity: 0.5;
	color: #fff;
}
.comSearch input:-moz-placeholder {
	opacity: 0.5;
	color: #fff;
}
.comSearch input::-moz-placeholder {
	opacity: 0.5;
	color: #fff;
}
.comSearch input:-ms-input-placeholder {
	opacity: 0.5;
	color: #fff;
}
@media all and (min-width: 1000px) {
	.comSearch .close:hover {
		opacity: 0.7;
	}
	.comSearch .btn:hover,
	.comSearch .btn.hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 999px) {
	.comSearch .widBox {
		padding: 0 5.4rem 0 0;
	}
	.comSearch .close {
		top: 2.3rem;
		right: auto;
		left: 2.2rem;
	}
	.comSearch .innerBox {
		padding: 7.9rem 2.3rem 2rem;
		min-height: 18.5rem;
	}
	.comSearch .btn {
		background-image: url("../img/common/search_icon02_sp.png");
	}
}

/* comCaseBox */
.comCaseBox {
	margin-top: 10rem;
}
@media all and (max-width: 999px) {
	.comCaseBox {
		margin-top: 8rem;
	}
}


/* menu closeボタン */
body.open .menu span:nth-of-type(1) {
	animation: menu01_open .2s forwards;
}
body:not(.open) .menu span:nth-of-type(1) {
	animation: menu01_close .4s forwards;
}
body.open .menu span:nth-of-type(3) {
	animation: menu02_open .2s forwards;
}
body:not(.open) .menu span:nth-of-type(3) {
	animation: menu02_close .4s forwards;
}
body.open .menu span:nth-of-type(1),
body.open .menu span:nth-of-type(3) {
	top: 0.4rem;
}
body.open .menu span {
	opacity: 0;
	transition: .2s;
}
@keyframes menu01_open {
	0% {
		top: 0;
	}
	100% {
		top: 0.4rem;
	}
}
@keyframes menu01_close {
	0% {
		top: 0.4rem;
	}
	50% {
		top: 0.4rem;
	}
	100% {
		top: 0;
	}
}
@keyframes menu02_open {
	0% {
		top: 0.8rem;
	}
	100% {
		top: 0.4rem;
	}
}
@keyframes menu02_close {
	0% {
		top: 0.4rem;
	}
	50% {
		top: 0.4rem;
	}
	100% {
		top: 0.8rem;
	}
}
.dorpBox .active a,
.menuBox .active,
#gFooter .active {
	opacity: 0.3;
	pointer-events: none;
}
.dorpBox .top a,
.menuBox .top a,
#gFooter .top a {
	font-weight: bold;
	letter-spacing: 0.03em;
}

.grecaptcha-badge {
    visibility: hidden;
}




/* comList03 */
.comList03 {
	display: flex;
	flex-wrap: wrap;
	font-size: 1.2rem;
	gap: 3rem 3.1rem;
	letter-spacing: 0.02em;
}
.comList03 li {
	width: 25.8rem;
}
.comList03 .title {
	margin-top: 0.8rem;
	color: #81013F;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.64;
}
.comList03 .comLable {
	margin-top: 1.3rem;
}
.comList03 .image {
	margin-bottom: 2.1rem;
	overflow: hidden;
	aspect-ratio: 258 / 172;
    border: solid 1px #e5e5e5;
}
.comList03 .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .3s;
}
@media all and (min-width: 1000px) {
	.comList03 a.hover .image img {
		transform: scale(1.1);
	}
}
@media all and (max-width: 999px) {
	.comList03 li {
		width: 20.8rem;
	}
	.comList03 {
		font-size: 1.1rem;
	}
	.comList03 .title {
		font-size: 1.3rem;
		margin-top: 0.2rem;
	}
	.comList03 .image {
		margin-bottom: 1.7rem;
	}
	.comList03 .comLable {
		margin-top: 1.2rem;
	}
	.pad .comList03 .image {
		margin-bottom: 1.1rem;
	}
	.pad .comList03 .title {
		font-size: 1.2rem;
		margin-top: 0.4rem;
	}
	.pad .comList03 .comLable {
		margin-top: 0.9rem;
	}
}


/* comLable */
.comLable {
	display: flex;
	flex-wrap: wrap;
	line-height: 1;
	font-size: 1rem !important;
	font-weight: 400 !important;
	gap: 0.4rem 0.4rem;
}
.comLable a {
	padding: 2px 7px;
	border: 1px solid #F4F4F4;
	background-color: #fff;
	display: inline-block !important;
	vertical-align: top !important;
	border-radius: 1.2rem;
	letter-spacing: 0.05em;
}
@media all and (min-width: 1000px) {
	.comLable a.hover {
		color: #81003F;
		border-color: #81003F;
		background-color: #fff;
	}
}
@media all and (max-width: 999px) {
	.comLable a {
		padding: 0.4rem 1.1rem;
	}
}

/* comBtn04 */
.comBtn04 {
	padding-bottom: 1px;
}
.comBtn04 a {
	padding: 0.5rem 1.1rem 0.5rem 1.5rem;
	height: 3.7rem;
	color: #79003B;
	display: inline-flex;
	align-items: center;
	color: #79003B;
	font-family: "Urbanist", sans-serif;
	font-size: 1.5rem;
	background-color: #FFFFFF;
	border: 1px solid #E9D8E0;
	border-radius: 5rem;
	letter-spacing: 0.02em;
	position: relative;
}
.comBtn04 a::before {
	position: absolute;
	left: -1px;
	top: -1px;
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	border-radius: 5rem;
	border: 1px solid #79003C;
	content: "";
	z-index: 1;
	box-sizing: border-box;
	animation: roundout01 .4s linear forwards;
}
.comBtn04 .inner {
	padding-right: 3.3rem;
	display: inline-block;
	position: relative;
}
.comBtn04 .inner .comArrow02 {
	margin-top: -0.1rem;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%) scale(0.6);
}

@keyframes roundin01 {
    from {
        clip-path: polygon(50% 50%, 0% 0%, 0% 0%);
    }
    25% {
        clip-path: polygon(50% 50%, 0% 0%, 100% 0%);
    }
    25.01% {
        clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 0%);
    }
    50%{
        clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 100%);
    }
    50.01%{
        clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 100%, 100% 100%);
    }
    75%{
        clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 100%, 0% 100%);
    }
    75.01%{
        clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 100%);
    }
    to{
        clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 0%);
    }
}
@keyframes roundout01{
    from {
        clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 0%);
    }
    25% {
        clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 100%);
    }
    25.01% {
        clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 100%, 0% 100%);
    }
    50%{
        clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 100%, 100% 100%);
    }
    50.01%{
        clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 100%);
    }
    75%{
        clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 0%);
    }
    75.01%{
        clip-path: polygon(50% 50%, 0% 0%, 100% 0%);
    }
    to{
        clip-path: polygon(50% 50%, 0% 0%, 0% 0%);
    }
}
@media all and (min-width: 1000px) {
	.comBtn04 a.hover::before {
		animation: roundin01 .4s linear forwards;
	}
	.comBtn04 a.hover {
		background: rgba(255, 255, 255, .7);
	}
}
@media all and (max-width: 767px) {
	.comBtn04 a {
		padding: 0.5rem 0.8rem 0.5rem 1.8rem;
		font-size: 1.3rem;
	}
	.comBtn04 .inner .comArrow02 {
		right: 0.3rem;
		width: 1.2rem;
		transform: translateY(-50%) scale(1);
	}
	.comBtn04 .inner {
		padding-right: 2.7rem;
	}
}
@media all and (max-width: 999px) {
	.pad .comBtn04 a {
		font-size: 1.3rem;
		height: 2.8rem;
		padding: 0.5rem 1rem 0.5rem 1.1rem;
	}
	.pad .comBtn04 .inner {
		padding-right: 2.3rem;
	}
}


/* fixBanner */
.fixBanner {
	position: fixed;
	bottom: 1.3rem;
	right: 1.2rem;
	width: 22rem;
	z-index: 999;
}
.fixBanner a {
	display: block;
/*
	border-radius: 0.3rem;
	border: 1px solid #e0e0e0;
*/
	box-shadow: 0 0.2rem 0.3rem rgba(0,0,0,0.15);
}
.fixBanner img {
	width: 100%;
    border-radius: 0.3rem;
	border: 1px solid #e0e0e0;
}
@media all and (min-width: 1000px) {
	.fixBanner a.hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 999px) {
	.fixBanner {
		bottom: 0.6rem;
		right: 0.5rem;
		width: 17.4rem;
	}
}

/* comMediaBox */
.comMediaBox {
	margin: 3.5rem 0 7.4rem;
}
.comMediaBox .title {
	font-size: 1.5rem;
	font-weight: 700;
	margin-bottom: 26px;
}
@media all and (max-width: 999px) {
	.comMediaBox .title {
		margin-bottom: 2.1rem;
		font-size: 1.3rem;
	}
	.comMediaBox {
		margin: 0.2rem 0 0 0;
		width: 50%;
	}
}

/* comSnsUl */
.comSnsUl {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem 2.5rem;
}
.comSnsUl a {
	display: inline-block;
	vertical-align: top;
	font-weight: 500;
	letter-spacing: 0.05em;
	font-size: 1.4rem;
}
.comSnsUl img {
	margin: -0.3rem 0.7rem 0 0;
	width: auto;
	height: 2.5rem;
}
@media all and (min-width: 1000px) {
	.comSnsUl a.hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 999px) {
	.comSnsUl {
		display: block;
	}
	.comSnsUl a {
		font-size: 1.2rem;
	}
	.comSnsUl img {
		margin: -0.2rem 0.7rem 0 0;
		height: 2.3rem;
	}
	.comSnsUl li {
		margin-bottom: 1.9rem;
	}
}


/* comTag */
.comTag {
	display: flex;
	flex-wrap: wrap;
	gap: 1.1rem 0.6rem;
	flex: 1;
}
.comTag a {
	padding: 0.3rem 1rem 0.2rem;
	color: #000;
	background: #F4F4F4;
	font-size: 1.1rem;
	letter-spacing: 0.03em;
	line-height: 1.363;
	border-radius: 2rem;
	font-feature-settings: normal;
}
.comTag .on {
	color: #fff !important;
	background-color: #79003B !important;
}
@media all and (min-width: 1000px) {
	.comTag a:hover {
		color: #fff !important;
		background-color: #79003B !important;
	}
}
@media all and (max-width: 999px) {
	.comTag a {
		font-size: 1rem;
		padding-bottom: 0.3rem;
	}
	.comTag {
		gap: 0.8rem 0.5rem;
	}

}

/* comWorksList */
.comWorksList {
	display: flex;
	flex-wrap: wrap;
	gap: 6rem 3.1rem;
}
.comWorksList li {
	width: calc((100% - 9.3rem) / 4);
	letter-spacing: 0.02em;
	text-align: justify;
}
.comWorksList h3 {
	margin-bottom: 1.3rem;
	color: #81013F;
	font-size: 1.4rem;
	line-height: 1.642;
	font-feature-settings: normal;
}
.comWorksList h3 span {
	margin-bottom: 0.7rem;
	font-weight: 400;
	display: block;
	font-size: 1.2rem;
	color: #000;
}
.comWorksList a {
	display: block;
}
.comWorksList .img {
	margin-bottom: 1.5rem;
	overflow: hidden;
	aspect-ratio: 258 / 172;
    border: solid 1px #e5e5e5;
}
.comWorksList .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: 0.3s;
}
.comWorksList .comTag a {
	padding: 0.2rem 0.8rem 0.1rem;
	font-size: 1rem;
}
@media all and (min-width: 1000px) {
	.comWorksList a:hover .img img {
		transform: scale(1.1);
	}
}
@media all and (max-width: 999px) {
	.comWorksList {
		display: block;
	}
	.comWorksList li {
		width: 100%;
	}
	.comWorksList li + li {
		margin-top: 5.2rem;
	}
	.comWorksList h3 {
		margin-bottom: 1.6rem;
		font-size: 1.5rem;
		line-height: 1.5333;
	}
	.comWorksList .comTag a {
		padding: 0.3rem 1rem 0.3rem;
	}
	.pad .comWorksList {
		display: flex;
		flex-wrap: wrap;
		gap: 3rem 0;
		justify-content: space-between;
	}
	.pad .comWorksList li {
	    width: 48%;
	}
	.pad .comWorksList li + li {
	    margin-top: 0;
	}
}



/* pageVisual08 */
.pageVisual08 {	
	margin: 7.7rem 4rem 10rem 0;
	padding: 5.2rem 4rem 4.4rem;
}
.pageVisual08 .imgBox {
	margin: 0 auto;
	max-width: 126rem;
	padding-right: 2rem;
	display: flex;
	align-items: center;
	gap: 5.2rem;
}
.pageVisual08 .photoArea {
	margin-top: -11.1rem;
	flex-shrink: 0;
	max-width: 53rem;
}
.pageVisual08 .photoArea img {
	width: 100%;
}
.pageVisual08 .textBox {
	flex: 1;
	padding-bottom: 1rem;
}
.pageVisual08 .title {
	margin-bottom: 2.5rem;
	font-size: 3rem;
	line-height: 1.6;
}
.pageVisual08 .title small {
	margin-bottom: 1.8rem;
	font-size: 1.7rem;
	display: block;
	letter-spacing: 0.3rem;
}
.pageVisual08 .comTag a {
	padding: 0.1rem 1rem 0;
	font-size: 1.2rem;
	letter-spacing: 0.02em;
	color: #FFF;
	border-radius: 2rem;
	background: rgba(255,255,255,0.25);
}
.pageVisual08 .comTag {
	gap: 0.5rem;
}
@media all and (min-width: 1000px) {
	.pageVisual08 .comTag a:hover {
		background: #fff !important;
		color: #63002D !important;
	}
}
@media all and (max-width: 999px) {
	.pageVisual08 {
		margin: 0 2rem 5.8rem 0;
		padding: 1px 2rem 4rem;
	}
	.pageVisual08 .imgBox {
		padding: 0;
		display: block;
		max-width: inherit;
		font-feature-settings: normal;
	}
	.pageVisual08 .photoArea {
		margin: -2.5rem 1.2rem 3.1rem 0;
		max-width: inherit;
	}
	.pad .pageVisual08 .photoArea {
		margin-right: 0;
		max-width: 95%;
	}
	.pageVisual08 .title {
		margin-bottom: 1.8rem;
		font-size: 1.9rem;
		letter-spacing: 0.02em;
		line-height: 1.421;
	}
	.pageVisual08 .title small {
		font-size: 1.4rem;
		letter-spacing: 0;
	}
	.pageVisual08 .comTag a {
		padding: 0.3rem 1.2rem;
		font-size: 1rem;
	}
	.pageVisual08 .textBox {
		padding-bottom: 0;
	}
}