6@charset "utf-8";
7*
Theme Name: 株式会社コンスピリート
Theme URI: null
Description: Description
Author: 81bridge - SGX
Version: 1.0
*/

.aligncenter {
	display: block;
	margin: 0 auto;
}
.alignright {
	float: right;
}
.alignleft {
	float: left;
}
img[class*="wp-image-"],
img[class*="attachment-"] {
	height: auto;
	max-width: 100%;
}
.wp-block-image figure,
.wp-block-image figcaption {
	display: block;
}
a.nolink,
a.nolink:hover {
	opacity: 1;
	cursor: default;
	pointer-events: none;
}
:root {
	--base-color:#2A1A05;
	--main-color:#53A7D1;
	--gray01:#554837;
	--white:#ffffff;
	--gray02:#948C82;
	--gray03:#F8F8F8;
	--base-05:#333;
	--sub-color: #E5F0F8;
}
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
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, footer, header, main, hgroup, menu, nav, summary {
	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 (min-width: 960px) and (max-width: 1250px) {
	html {
		font-size: calc(1000vw / 1250);
	}
}
body, table, input, textarea, select, option {
	font-family: "Noto Sans JP", sans-serif;
}

.inter {
	font-family: "Inter", sans-serif;
}

.helvetica {
	/* font-family: Arial, Helvetica, sans-serif; */
	font-family: "Roboto", sans-serif;
}
article, aside, canvas, details, figcaption, figure, footer, header, main, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
	box-sizing: border-box;
}
blockquote, q {
	quotes: none;
}
chrome_annotation {
	border: none !important;
}
: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: #2A1A05;
	text-decoration: none;
	transition: 0.3s;
}
a:visited {
	color: #2A1A05;
}
a:hover {
	color: #2A1A05;
}
a:active {
	color: #2A1A05;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	color: #2A1A05;
	font-size: 1.6rem;
	line-height: 1.65;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: var(--sub-color);
}
.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}
#container {
	/* overflow: hidden; */
	padding-top: 6.4rem;
	text-align: left;
    word-break: break-word;
	font-feature-settings: "palt";
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
#main {
	padding: 0 2rem 2rem; 
}
@media all and (min-width: 960px) {
	.sp {
		display: none !important;
	}
	.menuBox {
		display: block !important; 
	}
}
@media all and (max-width: 959px) {
	body {
		min-width: 375px;
		font-size: 1.6rem;
	}
	.fixed {
		min-width: inherit;
	}
	.fixed #gHeader {
		min-width: 100%;
	}
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
	#container {
		overflow: hidden;
		padding-top: 6rem;
	}
	#main {
		position: relative;
		padding-bottom: 0.5rem;
	}
}

@media all and (max-width: 374px) {
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	display: flex;
	align-items: center;
	height: 6.4rem;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	background-color: var(--sub-color);
}
#gHeader .hInner {
	width: 100%;
	padding-left: 2rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
#gHeader h1 {
	padding-left: 2rem;
}
#gHeader .rBox {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
#gHeader .naviUl {
	padding-left: 2rem;
	display: flex;
	font-feature-settings: normal;
}
#gHeader .naviUl li {
	margin-left: 3.2rem;
}
#gHeader .naviUl li:first-child {
	margin-left: 0;
}
#gHeader .naviUl a {
	font-size: 1.4rem;
}
#gHeader .link {
	margin-left: 3.2rem;
	width: 14rem;
}
#gHeader .link a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 6.4rem;
	color: var(--white);
	font-size: 1.4rem;
	font-weight: 400;
	background-color: var(--base-color);
}
#gHeader .link a:hover {
	opacity: 0.7;
}

@media all and (min-width: 960px) {
	#gHeader .naviUl a:hover {
		color: var(--main-color);
	}
}

@media all and (max-width: 959px) {
	#gHeader {
		height: 6.0rem;
		min-width: 375px;
	}
	.menu {
		position: absolute;
		width: 6rem;
		height: 6rem;
		display: flex;
		align-items: center;
		justify-content: center;
		top: 0;
		right: 0;
		cursor: pointer;
		z-index: 1001;
		transition: opacity .25s ease;
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
		background-color: var(--main-color);
	}
	.menu .subSpan {
		display: block;
		width: 2rem;
		height: 1.5rem;
		position: relative;
	}

	.menu.on .top {
		transform: translateY(0.6rem) translateX(0) rotate(45deg);
	}

	.menu.on .middle {
		opacity: 0;
	}

	.menu.on .bottom {
		transform: translateY(-0.6rem) translateX(0) rotate(-45deg);
	}

	.menu .subSpan span {
		background: #fff;
		width: 100%;
		border: none;
		position: absolute;
		top: 0;
		left: 0;
		height: 2px;
		display: block;
		-webkit-transition: all .35s ease;
		transition: all .35s ease;
		cursor: pointer;
	}

	.menu .subSpan span:nth-of-type(2) {
		top: 0.6rem;
	}

	.menu .subSpan span:nth-of-type(3) {
		top: 1.2rem;
	}
	#gHeader h1 {
		padding-left: 0;
		width: 18rem;
	}
	#gHeader .hInner {
		padding-left: 1.6rem;
		display: block;
	}
	#gHeader .rBox {
		display: block;
	}
	.menuBox {
		right: -33.5rem;
		position: fixed;
		width: 33.5rem;
		top: 0;
		padding: 6.0rem 2rem 5rem;
		height: 100%;
		overflow-y: auto;
		z-index: 1000;
		background-color: var(--main-color);
		transition: all 0.3s;
	}
	.menuBox.active {
		right: 0;
	}
	#gHeader .naviUl {
		display: block;
		padding: 0 0 2.4rem;
	}
	#gHeader .naviUl li {
		margin: 0;
	}
	#gHeader .naviUl a {
		padding: 1.65rem 2rem;
		display: block;
		font-weight: 400;
		border-bottom: 1px solid var(--white);
		color: var(--white);
		background: url(img/common/icon02.png) no-repeat right 2rem center;
		background-size: 1.3rem auto;
	}
	#gHeader .link {
		width: auto;
		margin: 0 auto;
	}
	#gHeader .link a {
		font-size: 1.8rem;
		border-radius: 0.4rem;
	}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	padding: 8rem 2rem 2.5rem;
	background-color: var(--main-color);
}
#gFooter .fInner {
	padding-bottom: 5.5rem;
	border-bottom: 1px solid #fff;
}
.fInner .lBox {
	width: 40rem;
	margin-right: 2rem;
}
.fInner .rBox {
	margin-top: -0.7rem;
	flex: 1;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}
.fInner .fLogo {
	margin: 1rem 0 3rem;
}
.fInner .snsUl {
	gap: 1rem 1.6rem;
	display: flex;
}
.fInner .snsUl li {
	width: 4.8rem;
}
.fInner .snsUl a:hover {
	opacity: 0.7;
}
.fInner .naviUl {
	width: 24rem;
	margin-right: 2.4rem;
}
.fInner .naviUl a:hover {
	opacity: 0.7;
}
.fInner .naviUl > li {
	margin-bottom: 1.8rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid var(--white);
}
.fInner .naviUl > li:last-child {
	border: none;
	margin-bottom: 0;
}
.fInner .naviUl > li:last-child {
	margin-bottom: 0;
}
.fInner .naviUl > li > a {
	display: inline-block;
	font-size: 1.4rem;
	color: var(--white);
	font-weight: 400;
}
.fInner .naviUl .subUl {
	margin: 0.7rem 0 0 1rem;
}
.fInner .naviUl .subUl li {
	line-height: 1.58;
}
.fInner .naviUl .subUl a {
	font-size: 1.4rem;
	color: var(--white);
}
.fInner .linkUl {
	margin-top: 0.7rem;
	width: 24rem;
}
.fInner .linkUl li {
	margin-bottom: 0.8rem;
}
.fInner .linkUl a {
	min-height: 6.4rem;
	font-size: 1.4rem;
	color: var(--white);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 0.4rem;
	background: rgba(255, 255, 255, 0.10);
}
.fInner .linkUl .contactLink a {
	min-height: 9.6rem;
	font-size: 1.8rem;
	font-weight: 500;
	color: var(--main-color);
	background-color: var(--white);
}
.fInner .linkUl a:hover {
	opacity: 0.7;
}
.fBox {
	padding-top: 2.7rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}
.fBox .linkP {
	margin-right: 4rem;
}
.fBox .linkP a {
	font-size: 1.4rem;
	color: var(--white);
}
.fBox .linkP a:hover {
	opacity: 0.7;
}
address {
	font-size: 1.4rem;
	color: var(--white);
}
@media all and (max-width: 959px) {
	#gFooter {
		padding: 4.1rem 2rem 3.5rem;
	}
	#gFooter .content {
		max-width: 33.5rem;
		margin: 0 auto;
	}
	#gFooter .fInner {
		padding-bottom: 7.1rem;
		display: block;
	}
	.fInner .lBox {
		width: auto;
		margin: 0 0 7.5rem;
	}
	.fInner .fLogo {
		margin: 0 auto 4rem;
		width: 26.6rem;
	}
	.fInner .snsUl {
		gap: 1rem 2.0rem;
		justify-content: center;
	}
	.fInner .snsUl li {
		width: 3.2rem;
	}
	.fInner .rBox {
		display: block;
	}
	.fInner .naviUl {
		width: auto;
		margin: 0 0 2.2rem;
	}
	.fInner .naviUl > li {
		margin-bottom: 2.1rem;
	}
	.fInner .naviUl .subUl {
		margin-top: 0.8rem;
	}
	.fInner .naviUl .subUl li {
		margin-bottom: -0.01em;
	}
	.fInner .naviUl .subUl li:last-child {
		margin-bottom: 0;
	}
	.fInner .naviUl > li:last-child {
		margin-bottom: 0;
		padding-bottom: 0;
	}
	.fInner .naviUl > li > a {
		display: block;
	}
	.fInner .linkUl {
		width: auto;
	}
	.fBox {
		padding-top: 5.3rem;
		display: block;
	}
	.fBox .linkP {
		text-align: center;
		margin: 0 0 3rem;
	}
	.fBox .linkP a {
		letter-spacing: 0.07em;
		font-size: 1.2rem;
	}
	address {
		font-size: 1.2rem;
		text-align: center;
	}
}

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-PSP */
/* 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;}
/*------------------------------------------------------------
	mainConts
------------------------------------------------------------*/
.mainConts {
	max-width: 116rem;
	margin: 0 auto;
	padding: 5.8rem 6rem 6rem;
	border-radius: 0.4rem;
	background-color: var(--white);
}
@media all and (max-width: 959px) {
	.mainConts {
		padding: 3.8rem 2rem 4rem;
	}
}

/*------------------------------------------------------------
	pageTtle
------------------------------------------------------------*/
.pageTtle {
	margin-bottom: 8.1rem;
	padding: 9.3rem 3.5rem 0;
	position: relative;
}
.pageTtle:after {
	width: calc(50% + 35.8rem);  
	min-height: 43.9rem;
	border-radius: 0rem 0.4rem 0.4rem 0rem;
	background-color: var(--main-color);
	position: absolute;  
	top: 0;
	left: -2rem;
	z-index: -1;
	content: ""; 
}
.pageTtle h2 {
	font-weight: 350;
	color: var(--white);
}
.pageTtle h2 .en {
	line-height: 1;
	margin-bottom: 1rem;
	display: block;
	font-size: 8rem;
	font-weight: 100;
	/* letter-spacing: -0.04em; */
}
.pageTtle p {
	margin-top: 2.3rem;
	color: var(--white);
}
@media all and (max-width: 959px) {
	.pageTtle {
		padding: 4rem 0 0;
		margin-bottom: 4.1rem;
	}
	.pageTtle::after { 
		width: calc(100% - 3rem);
	}
	.pageTtle h2 .en {
		font-size: 6.4rem;
		line-height: 1.0;
		margin-bottom: 1.5rem;
	}
	.pageTtle .content {
		padding-right: 7rem;
	}
}

/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	margin-bottom: 0.8rem;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.65;
	color: var(--main-color);
}
@media all and (max-width: 959px) {
	.headLine01 {
		font-weight: 400;
		font-size: 1.8rem;
	}
}

/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
	padding-bottom: 1.8rem;
	margin-bottom: 3.9rem;
	font-size: 3.2rem;
	font-weight: 400;
	line-height: 1.65;
	border-bottom: 1px solid var(--main-color);
}
@media all and (max-width: 959px) {
	.headLine02 {
		margin-bottom: 2rem;
		padding-bottom: 2rem;
		font-size: 2.8rem;
	}
}

/*------------------------------------------------------------
	headLine03
------------------------------------------------------------*/
.headLine03 {
	margin-bottom: 4rem;
	padding-bottom: 1.2rem;
	font-size: 3.2rem;
	font-weight: 400;
	line-height: 1.65;
	color: var(--main-color);
	font-feature-settings: normal;
	border-bottom: 2px solid var(--main-color);
}

@media all and (max-width: 959px) {
	.headLine03 {
		font-size: 2.8rem;
		line-height: 1.65;
		margin-bottom: 3.2rem;
		padding-bottom: 1.1rem;
	}
}


/*------------------------------------------------------------
	headLine06
------------------------------------------------------------*/
.headLine06 {
	margin-bottom: 4rem;
	font-size: 3.2rem;
	font-weight: 400;
}
.headLine06:last-child {
	margin-bottom: 0;
}
.headLine06 .en {
	margin-bottom: -0.2rem;
	display: block;
	font-size: 1.6rem;
	font-weight: 400;
	color: var(--main-color);
}
.headLine06.white {
	color: var(--white);
}
.headLine06.white .en {
	color: var(--white);
}

@media all and (max-width: 959px) {
	.headLine06 {
		font-size: 2.8rem;
	}
}

/*------------------------------------------------------------
	headLine07
------------------------------------------------------------*/
.headLine07 {
	margin-bottom: 4.6rem;
	font-weight: 400;
	color: var(--main-color);
}
.headLine07 .en {
	margin-bottom: 0.3rem;
	display: block;
	font-size: 8rem;
	font-weight: 100;
	line-height: 1;
}

@media all and (max-width: 959px) {
	.headLine07 {
		font-size: 1.6rem;
		margin-bottom: 2.4rem;
	}
	.headLine07 .en {
		margin-bottom: 1rem;
		font-size: 7.2rem;
	}
}

/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	max-width: 116rem;
	margin: 0 auto;
}
@media all and (max-width: 959px) {
}


/*------------------------------------------------------------
	comLinkP
------------------------------------------------------------*/
.comLinkP {
	margin-top: 9rem;
	text-align: center;
}
.comLinkP a {
	font-weight: 500;
	text-decoration: underline;
	color: var(--main-color);
}
@media all and (min-width: 960px) {
	.comLinkP a:hover {
		text-decoration: none;
	}
}
@media all and (max-width: 959px) {
}


/*------------------------------------------------------------
	comLink
------------------------------------------------------------*/
.comLink {
	margin: 0 auto;
	max-width: 35.2rem;
}
.comLink a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 5.6rem;
	font-weight: 700;
	color: var(--white);
	letter-spacing: 0.064rem;
	border-radius: 0.4rem;
	background-color: var(--main-color);
}
.comLink02 a {
	color: var(--main-color);
	border: 1px solid var(--sub-color);
	background-color: var(--gray03);
}
.comLink.down .subSpan {
	display: inline-block;
	padding-right: 3.5rem;
	background: url(img/common/download.png) no-repeat right center;
	background-size: 2.5rem auto;
}
.comLink.web a span {
	display: inline-block;
	padding-left: 3.2rem;
	background: url(img/common/computer.png) no-repeat left center;
	background-size: 2.4rem auto;
}
.comLink.calendar a span {
	display: inline-block;
	padding-left: 3.2rem;
	background: url(img/common/calendar.png) no-repeat left center;
	background-size: 2.4rem auto;
}
.comLink.targetLink a {
	color: var(--main-color);
	background-color: var(--gray03);
	border: 1px solid var(--sub-color);
}
.comLink.targetLink a span {
	display: inline-block;
	padding-right: 3.5rem;
	background: url(img/common/icon04.png) no-repeat right center;
	background-size: 2.4rem auto;
}
.comLink.targetLink02 a span {
	display: inline-block;
	padding-right: 3.5rem;
	background: url(img/common/icon04_white.png) no-repeat right center;
	background-size: 2.4rem auto;
}
@media all and (min-width: 960px) {
	.comLink a:hover {
		color: var(--main-color);
		background-color: var(--sub-color);
	}
	.comLink02 a:hover {
		color: var(--white);
		border-color: var(--main-color);
		background-color: var(--main-color);
	}
	.comLink.down a:hover .subSpan {
		background-image: url(img/common/download_blue.png);
	}
	.comLink.web a:hover span {
		background-image: url(img/common/computer_blue.png);
	}
	.comLink.calendar a:hover span {
		background-image: url(img/common/calendar_blue.png);
	}
	.comLink.targetLink a:hover {
		color: var(--white);
		background-color: var(--main-color);
		border-color: var(--main-color);
	}
	.comLink.targetLink a:hover span {
		background-image: url(img/common/icon04_white.png);
	}
	.comLink.targetLink02 a:hover span {
		background-image: url(img/common/icon04.png);
	}
}
@media all and (max-width: 959px) {
	.comLink a {
		font-size: 1.4rem;
		letter-spacing: 0.056rem;
		font-feature-settings: "palt";
	}
	.comLink.web a span {
		font-size: 1.6rem;
		padding: 2.5rem 0 0;
		background-position: center top;
	}
}


/*------------------------------------------------------------
	comContactBox
------------------------------------------------------------*/
.comContactBox {
	max-width: 80rem;
	margin: 0 auto;
	padding: 4rem 4.8rem;
	background-color: var(--gray03);
}
.comContactBox h3 {
	font-size: 3.2rem;
	font-weight: 400;
	margin-bottom: 1.8rem;
	color: var(--main-color);
	text-align: center;
}
.comContactBox p {
	margin-bottom: 2.5rem;
}
.comContactBox p:last-child {
	margin-bottom: 0;
}
.comContactBox .txt {
	margin-bottom: 3.2rem;
	font-size: 1.8rem;
	font-weight: 350;
	color: #000;
	text-align: center;
}
.comContactBox .sub {
	margin-bottom: 3.3rem;
	padding: 3rem 0;
	align-items: center;
	border-top: 1px solid var(--main-color);
	border-bottom: 1px solid var(--main-color);
}
.comContactBox .comLink {
	max-width: inherit;
	width: 30.6rem;
	margin: 0 5rem 0 -0.5rem;
}
.comContactBox .rBox {
	text-align: center;
}
.comContactBox .rBox p {
	margin-bottom: 0;
	font-size: 1.4rem;
	color: var(--gray01);
}
.comContactBox .rBox .tel span {
	color: var(--base-color);
	margin-bottom: 0.2rem;
	display: inline-block;
	padding-left: 3rem;
	font-size: 1.6rem;
	background: url(img/common/call.png) no-repeat left center;
	background-size: 2.4rem auto;
}
.comContactBox .rBox .tel a {
	font-size: 3.2rem;
	color: var(--main-color);
	font-weight: 500;
}
.comContactBox .contactTxt {
	width: fit-content;
	margin: 0 auto 3rem;
	padding: 0.2rem 1rem 0.1rem;
	min-width: 43.5rem;
	border-radius: 0.4rem;
	text-align: center;
	color: var(--gray02);
	border: 1px solid var(--sub-color);
	background-color: var(--white);
}
.comContactBox .contactTxt a {
	font-size: 2.4rem;
	font-weight: 400;
	margin-left: 1.6rem;
	color: var(--main-color);
	vertical-align: -0.3rem;
}
@media all and (min-width: 960px) {
}
@media all and (max-width: 959px) {
}

/*------------------------------------------------------------
	common//
------------------------------------------------------------*/

@media all and (min-width: 960px) {
}
@media all and (max-width: 959px) {
}

/*------------------------------------------------------------
	common//
------------------------------------------------------------*/

@media all and (min-width: 960px) {
}
@media all and (max-width: 959px) {
}


/*------------------------------------------------------------
	privacy
------------------------------------------------------------*/
#privacy p {
	margin-bottom: 0.6rem;
	line-height: 1.65;
}
#privacy p:last-child {
	margin-bottom: 0;
}
#privacy .text {
	margin-bottom: 3.2rem;
}
#privacy .text02 {
	margin-bottom: 2rem;
}
#privacy .txt {
	margin: 0 0 3.2rem 1.6rem;
}
#privacy p:not(.txt,.text) + .headLine01 {
	padding-top: 2rem;
}
#privacy .text03 {
	margin-bottom: 1rem;
}
#privacy p a:hover {
	opacity: 0.7;
}

@media all and (min-width: 960px) {
	
}

@media all and (max-width: 959px) {
	#privacy .text {
		margin-bottom: 3rem;
	}
	#privacy .text02 {
		margin-bottom: 1rem;
	}
	#privacy .headLine01 {
		display: flex;
	}
	#privacy .headLine01 .num {
		flex-shrink: 0;
	}
}

/*------------------------------------------------------------
	news
------------------------------------------------------------*/
#news > .content {
	flex-wrap: nowrap;
	align-items: flex-start;
}
#sideBar {
	margin-right: 4rem;
	width: 252px;
	padding: 2.3rem 2.4rem 2rem;
	background-color: var(--gray03);
	border-radius: 0.4rem;
	position: sticky;
	top: 8.4rem;
	left: 0;
}
.popBox .ttl,
#sideBar .ttl {
	margin: 0 0 0.9rem;
	font-size: 1.8rem;
	color: var(--main-color);
}
.popBox .ttl02,
#sideBar .ttl02 {
	font-weight: 500;
	margin-bottom: 1rem;
}
select {
	margin-bottom: 1.6rem;
    appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;
    border-radius: 0.4rem;
    height: 5rem;
	color: #000;
	border: 1px solid #D9D9D9;
    box-sizing: border-box;
    font-size: 1.6rem;
    padding: 0 1.6rem;
    width: 100%;
	font-weight: 400;
    background: url(img/common/select.png) no-repeat right 1.5rem center #fff;
	background-size: 1.5rem auto;
}	
select:last-child {
	margin-bottom: 0;
}
.checkUl {
	margin-bottom: 1.5rem;
	display: flex;
	gap: 0.25rem 1.5rem;
	flex-wrap: wrap;
}
.checkUl li input[type="checkbox"] {
    display: none;
}
.checkUl li input[type="checkbox"] ~ span {
	background: url(img/common/check01.png) no-repeat left center;
	background-size: 1.6rem auto;
	border-radius: 0;
    display: inline-block;
    line-height: 2rem;
	font-size: 1.6rem;
	cursor: pointer;
    padding: 0.3rem 0 0.4rem 2.0rem;
}
.checkUl li input[type="checkbox"]:checked ~ span {
	background-image: url("img/common/check02.png");
}
#conts {
	flex: 1;
}
#conts .mainImg {
	margin-bottom: 4rem;
	background: url(img/news/main_img.jpg) no-repeat center #fff;
	background-size: cover;
	height: 43rem;
	border-radius: 0.4rem;
	position: relative;
	display: flex;
	align-items: flex-end;
}
#conts .mainImg:after {
	width: 100%;  
	height: 100%;
	background: linear-gradient(0deg, rgba(42, 26, 5, 0.80) 8.6%, rgba(42, 26, 5, 0.00) 100%);
	border-radius: 0.4rem;
	position: absolute;  
	top: 0;
	left: 0;
	content: ""; 
}
#conts .mainImg::before {
	width: 100%;  
	height: 100%;
	background-color: #fff;
	border-radius: 0.4rem;
	position: absolute;  
	top: 0;
	left: 0;
	content: ""; 
	opacity: 0;
}
#conts .mainImg:hover::before {
	opacity: 0.2;
}
#conts .mainImg .sub {
	position: relative;
	z-index: 1;
	color: #fff;
	padding: 0 4rem 3.3rem;
}
#conts .mainImg p {
	font-size: 2.4rem;
	font-weight: 500;
}
#conts .mainImg .ttl {
	margin-bottom: 2.7rem;
	font-size: 3.2rem;
	font-weight: 400;
}
#conts .mainImg .dlStyle {
	margin-bottom: 0.8rem;
	display: flex;
	flex-wrap: wrap;
}
#conts .mainImg .dlStyle dt {
	font-weight: 500;
	width: 10rem;
	padding: 0.2rem 1rem 0 0;
	font-family: "Roboto", sans-serif;
}
#conts .mainImg .dlStyle dd {
	flex: 1;
}
#conts .mainImg .dlStyle dd span {
	margin: 0 0.5rem 0.4rem 0;
	min-width: 13.7rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 0.2rem 0.5rem;
	font-weight: 500;
	border-radius: 1.5rem;
	color: var(--base-color);
	background: rgba(255, 255, 255, 0.50);
}
#main .newsList a {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	padding: 3.2rem 8rem 3.2rem 0;
	position: relative;
	border-bottom: 1px solid rgba(83, 167, 209, 0.20);
}
#main .newsList .comIco {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	background-color: transparent;
}
#main .newsList .photoBox {
	width: 25rem;
	aspect-ratio: 250 / 131;
	position: relative;
	margin-right: 4rem;
}
#main .newsList .photoBox img {
	border-radius: 0.4rem;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .newsList .textBox {
	flex: 1;
}
#main .newsDl {
	/* margin-right: -5rem; */
	margin-bottom: 0.6rem;
	display: flex;
	flex-wrap: wrap;
}
#main .newsDl dt {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	font-weight: 500;
	color: var(--main-color);
}
#main .newsDl dt .date {
	width: 10.1rem;
	padding-top: 0.3rem;
	font-family: "Roboto", sans-serif;
}
#main .newsDl dd {
	padding-top: 0.2rem;
	flex: 1;
}
#main .newsDl .subSpan {
	margin: 0 0.8rem 0.5rem 0;
	display: inline-block;
	min-width: 13.7rem;
	border-radius: 5rem;
	text-align: center;
	font-weight: 500;
	background: rgba(255, 255, 255, 0.50);
	padding: 0.2rem 1.5rem;
	color: var(--main-color);
}
#main .newsDl .txtSpan {
	font-weight: 500;
	color: var(--gray02);
	margin: 0 1rem 0.2rem 0;
}
#main .newsList .sub {
	margin-top: 1.2rem;
	padding: 1rem 2rem 1.3rem;
	border-radius: 0.4rem;
	background-color: var(--gray03);
}
#main .newsList .sub p:not(:last-child) {
	margin-bottom: 0.4rem;
}
#main .newsList {
	padding-top: 14.6rem;
	margin-bottom: 2.7rem;
}
#conts .mainImg + .newsList {
	padding-top: 0;
}
.comIco {
	flex-shrink: 0;
	display: block;
	width: 4rem;
	height: 4rem;
	border-radius: 100%;
	position: relative;
	border: 1px solid var(--main-color);
	background-color: var(--white);
}
.comIco:after {
	width: 1.3rem;  
	height: 1.3rem;
	background: url(img/common/icon01.png) no-repeat center;
	background-size: 100% auto;
	position: absolute;  
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	content: ""; 
	transition: 0.3s;
}
.comIco.left::after {
	background-image: url(img/common/icon06.png);
}
.comIco.circle {
	width: 2.4rem;
	height: 2.4rem;
	background-color: var(--main-color);
}
.comIco.circle::after {
	width: 0.6rem;
	height: 1rem;
	left: calc(50% + 0.2rem);
	background-image: url(img/common/icon08.png);
}
ul.page-numbers {
    margin: 0 -10px;
    padding-top: 12px;
    clear: both;
    text-align: center;
}
.page-numbers li {
	display: inline-block;
	vertical-align: middle;
}
.page-numbers a, 
.page-numbers span {
    display: inline-block;
    text-decoration: none;
    border: 1px solid var(--main-color);
    padding: 0.7rem 0.3rem 0;
    margin: 0 0.4rem;
    min-width: 4rem;
    min-height: 4rem;
	border-radius: 100%;
    color: var(--main-color);
    box-sizing: border-box;
}
.page-numbers .current {
	color: #fff;
	background-color: var(--main-color);
}
.page-numbers .previouspostslink,
.page-numbers .extend,
.page-numbers .first, 
.page-numbers .last, 
.page-numbers .pages {
    display: none;
}
.page-numbers .extend {
    min-width: inherit;
    min-height: inherit;
    padding: 0;
    background: none;
    border: none;
    box-shadow: none !important;
}
.page-numbers .dots {
	padding-top: 0.2rem;
	padding-bottom: 0.3rem;
}
.page-numbers .previouspostslink img {
    vertical-align: middle;
}
.page-numbers .next {
	position: relative;
	text-indent: -9999px;
}
.page-numbers .next:after {
	width: 1.4rem;  
	height: 1.4rem;
	background: url(img/common/icon01.png) no-repeat center center;
	background-size: 100% auto;
	position: absolute;  
	top: 50%;
	transform: translate(-50%,-50%);
	left: 50%;
	content: ""; 
	transition: 0.3s;
}
.page-numbers .next img {
    vertical-align: 0rem;
}
.page-numbers .prev {
	position: relative;
	text-indent: -9999px;
}
.page-numbers .prev:after {
	width: 1.4rem;  
	height: 1.4rem;
	background: url(img/common/icon06.png) no-repeat center center;
	background-size: 100% auto;
	position: absolute;  
	top: 50%;
	transform: translate(-50%,-50%);
	left: 50%;
	content: ""; 
	transition: 0.3s;
}
.page-numbers .prev img {
    vertical-align: 0rem;
}
#pagePath {
	margin: 17.8rem auto 0;
	max-width: 116.3rem;
}
#pagePath li {
	display: inline;
	font-size: 1.4rem;
	color: var(--gray01);
	margin-right: 0.5rem;
}
#pagePath a {
	padding-right: 1.5rem;
	background: url(img/common/icon03.png) no-repeat right center;
	background-size: 0.8rem auto;
	display: inline-block;
	color: var(--gray01);
}
#pagePath li:first-child a {
	color: var(--gray02);
}
#pagePath a:hover {
	opacity: 0.7;
}
#main .detailBox {
	padding-top: 6.4rem;
	font-feature-settings: normal;
}
#main .detailSub {
	margin-bottom: 10.5rem;
}
#main .detailSub:last-child {
	margin-bottom: 0;
}
#main .detailBox .mainConts {
	padding: 8rem 18rem;
}
#main .detailBox p {
	line-height: 1.7;
	margin-bottom: 1.9rem;
}
#main .detailBox p:last-child {
	margin-bottom: 0 !important;
}
#main .detailBox ol {
	margin-bottom: 1.8rem;
	counter-reset: num;
}
#main .detailBox ol li {
	display: flex;
	line-height: 2;
	margin-bottom: 1rem;
	counter-increment: num;
}
#main .detailBox ol li::before {
	content: counter(num)".";
	margin: 0.2rem 1rem 0 0;
	color: var(--main-color);
	flex-shrink: 0;
	font-family: "Roboto", sans-serif;
}
#main .detailBox ol li:last-child {
	margin-bottom: 0;
}
#main .detailBox ul {
}
#main .detailBox ul li {
	line-height: 1.65;
	margin-bottom: 0.6rem;
	padding-left: 1.5rem;
	position: relative;
	font-feature-settings: "palt";
}
#main .detailBox ul li:last-child {
	margin-bottom: 0;
}
#main .detailBox ul li::before {
	width: 0.8rem;  
	height: 0.8rem;
	border-radius: 100%;
	background-color: var(--main-color);
	position: absolute;  
	top: 1rem;
	left: 0;
	content: ""; 
}
#main .detailBox p strong {
	display: block;
}
#main .detailBox .topTtl {
	margin-bottom: 4rem;
	font-size: 3.2rem;
	color: var(--main-color);
	font-weight: 400;
	line-height: 1.65;
}
#main .detailBox .dlStyle {
	margin-bottom: 3.5rem;
	display: flex;
	flex-wrap: wrap;
}
#main .detailBox .dlStyle dt {
	width: 10rem;
	padding: 0.2rem 1rem 0 0;
	font-weight: 500;
	color: var(--main-color);
	font-family: "Roboto", sans-serif;
}
#main .detailBox .dlStyle dd {
	flex: 1;
}
#main .detailBox .dlStyle .txtSpan {
	display: inline-block;
	margin: 0 0.5rem 0.5rem 0;
	min-width: 11.6rem;
	text-align: center;
	font-weight: 500;
	color: var(--main-color);
	border-radius: 1.5rem;
	padding: 0.2rem 1.5rem;
	font-feature-settings: "palt";
	background-color: var(--sub-color);
}
#main .wp-block-image {
	margin-bottom: 4rem;
	border-radius: 0.4rem;
	overflow: hidden;
}
#main .detailBox h2 {
	padding-top: 8rem;
	margin-bottom: 4rem;
	padding-bottom: 1.1rem;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.65;
	color: var(--main-color);
	border-bottom: 2px solid var(--main-color);
}
#main .detailSub h2:first-child {
	padding-top: 0;
}
#main .detailBox h3 {
	margin-bottom: 2rem;
	padding-top: 2rem;
	font-weight: 500;
	line-height: 1.65;
	color: var(--main-color);
}
#main .detailBox p a {
	color: var(--main-color);
	text-decoration: underline;
}
#main .detailBox p a[target="_blank"] {
	display: inline-block;
	padding-right: 3.5rem;
	background: url(img/common/icon04.png) no-repeat right center;
	background-size: 2.4rem auto;
}
#main .detailBox .linkBox {
	margin-bottom: 2rem;
}
#main .detailBox .linkBox a {
	border-radius: 0.4rem;
	padding: 2.4rem;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	color: var(--main-color);
	justify-content: space-between;
	background: url(img/common/icon04.png) no-repeat right 2.5rem center var(--gray03);
	background-size: 2.4rem auto;
}
#main .detailBox .linkBox a:hover {
	opacity: 0.7;
}
#main .detailBox .linkBox .photoBox {
	display: block;
	width: 16rem;
	border-radius: 0.4rem;
	overflow: hidden;
	position: relative;
	aspect-ratio: 160 / 120;
	margin-right: 3.2rem;
}
#main .detailBox .linkBox .photoBox img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .detailBox .linkBox .textBox {
	flex: 1;
	padding-right: 3rem;
}
#main .detailBox table {
	margin-bottom: 2rem;
	width: 100%;
	border-collapse: collapse;
}
#main .detailBox table tr:first-child td {
	padding: 2rem 1.5rem;
	font-size: 1.4rem;
	font-weight: 500;
	text-align: left;
	vertical-align: top;
	line-height: 1.5;
	background-color: var(--gray03);
	border-bottom: 1px solid var(--gray03);
	border-left: 1px solid var(--gray03);
	border-right: 1px solid var(--gray03);
}
#main .detailBox table td {
	width: 50% !important;
	padding: 2rem 1.5rem 4rem; 
	font-size: 1.4rem;
	text-align: left;
	vertical-align: top;
	line-height: 1.5;
	background-color: var(--white);
	border-top: 1px solid var(--gray03);
	border-right: 1px solid var(--gray03);
	border-left: 1px solid var(--gray03);
}
#main .detailBox table td:first-child {
	width: 25% !important;
}
#main .detailBox table td:nth-child(2) {
	width: 25% !important;
}
#main .detailBox table td ul {
	padding-left: 0.8rem;
}
#main .detailBox table td ul li {
	margin-bottom: 0.2rem;
	font-weight: 400;
	padding-left: 0;
	margin-bottom: 1rem;
	font-feature-settings: normal;
}
#main .detailBox table td ul li::before {
	content: '•';
	margin-top: 0.5rem;
	line-height: 1.5;
	position: static;
	margin-right: 0.8rem;
	color: var(--base-color);
	background-color: transparent;
}
#main .detailBox .seminar {
	border-radius: 0.4rem;
	margin-bottom: 4rem;
	padding: 4rem;
	background-color: var(--gray03);
}
#main .detailBox .seminar p {
	text-align: center;
	line-height: 1.65;
	font-size: 1.6rem;
	font-feature-settings: "palt";
}
#main .detailBox .seminar .subSpan {
	display: block;
}
#main .detailBox .seminar .ttl {
	margin-bottom: 1.4rem;
	font-size: 2rem;
	font-weight: 500;
}
#main .detailBox .articleBox p {
	line-height: 1.65;
	font-weight: 400;
	padding-bottom: 0.5rem;
	font-feature-settings: "palt";
}
#main .detailBox .articleBox h3,
#main .detailBox .articleBox .newsTtl {
	margin-bottom: 0.7rem;
	padding-bottom: 0;
	color: var(--main-color);
	font-size: 2rem;
	font-weight: 500;
}
#main .detailBox .articleBox h3 {
	padding-top: 0;
}
#main .detailBox .articleBox {
	margin: -1.5rem 0 8rem;
}
#main .detailBox .location {
	margin: 3.5rem 0 3.9rem;
	border-radius: 0.4rem;
	padding: 3.2rem 4rem 2.8rem;
	background-color: var(--gray03);
}
#main .detailBox .location p {
	line-height: 1.8;
}
#main .detailBox p:has(.emoji) {
	line-height: 2.2;
	font-feature-settings: "palt";
}
#main .detailBox p:has(.emoji) .emoji {
	width: 0.8rem;
	margin-right: .8rem;
	margin-top: 1.5rem;
}
#main .detailBox .speakers {
	margin-bottom: 8rem;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}
#main .detailBox .speakers .photoBox {
	width: 27rem;
	aspect-ratio: 1;
	position: relative;
	overflow: hidden;
	border-radius: 0.4rem;
	margin-right: 4rem;
}
#main .detailBox .speakers .photoBox img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .detailBox .speakers .textBox {
	flex: 1;
}
#main .detailBox .speakers dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-feature-settings: "palt";
}
#main .detailBox .speakers dt {
	color: var(--main-color);
	font-weight: 500;
	min-width: 6.4rem;
	margin-right: 1rem;
}
#main .detailBox .speakers dd {
	width: calc(100% - 7.4rem);
	margin-bottom: 0.7rem;
}
#main .detailBox .speakers dd:last-child {
	margin-bottom: 0;
}
#main .detailBox .speakers dd li {
	margin-bottom: 0;
	line-height: 1.5;
	margin-left: 0.6rem;
	padding-left: 0;
}
#main .detailBox .speakers dd li::before {
	content: '•';
	color: var(--base-color);
	margin-top: 0.3rem;
	top: auto;
	margin-right: 1rem;
	position: static;
	background-color: transparent;
}
#main .comLinkBox {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.6rem;
	margin: 0 4rem;
}
#main .comLinkBox > div {
	max-width: inherit;
	width: calc((100% - 2rem) / 2);
}
#main .comLinkBox + .comLinkP {
	margin-top: 4rem;
}
.inputBox input {
	cursor: pointer;
	appearance:none;
	-moz-appearance:none;
	-webkit-appearance:none;
	border-radius: 0.4rem;
	height: 5.6rem;
	color: var(--white);
	border: none;
	box-sizing: border-box;
	font-size: 1.4rem;
	padding: 0 1rem;
	width: 100%;
	font-weight: 700;
	letter-spacing: 0.056rem;
	background-color: var(--main-color);
	transition: 0.3s;
}
@media all and (min-width: 960px) {
	#main .newsList a:hover {
		border-color: var(--main-color);
	}
	.prev:hover .comIco,
	.next:hover .comIco,
	a:hover .comIco {
		background-color: var(--main-color);
	}
	.next:hover .comIco::after,
	a:hover .comIco::after {
		background-image: url(img/common/icon02.png);
		left: calc(50% + 0.4rem);
	}
	.page-numbers .prev:hover::after,
	.prev:hover .comIco.left::after {
		left: calc(50% - 0.4rem);
		background-image: url(img/common/icon07.png);
	}
	.page-numbers a:hover {
		color: var(--white);
		background-color: var(--main-color);
	}
	.page-numbers .next:hover::after {
		opacity: 1;
		left: calc(50% + 0.4rem);
		background-image: url(img/common/icon02.png);
	}
	#main .detailBox p a:hover {
		text-decoration: none;
	}
	#main .newsList a:hover .comIco {
		background-color: var(--main-color);
	}
	a:hover .comIco.circle::after {
		background-image: url(img/common/icon08.png);
	}
	.inputBox input:hover {
		color: var(--main-color);
		background-color: var(--sub-color);
	}
}

@media all and (max-width: 959px) {
	#pagePath {
		display: flex;
		margin: 12.1rem auto 0.5rem;
	}
	#news > .content {
		padding-top: 0.8rem;
		display: block;
	}
	#news .mainConts {
		border-radius: 0;
	}
	#sideBar {
		position: static;
		width: auto;
		padding-bottom: 2.5rem;
		margin: 0 0 4rem;
	}
	.inputBox {
		padding-top: 1rem;
	}
	.popBox {
		padding: 2.4rem;
		border-radius: 0.8rem;
		background-color: var(--gray03);
	}
	#conts .mainImg {
		height: 70vw;
	}
	#conts .mainImg .sub {
		padding: 0 2rem 2rem;
	}
	#conts .mainImg p {
		font-size: 1.6rem;
	}
	#conts .mainImg .ttl {
		margin-bottom: 1.5rem;
		font-size: 2.5rem;
	}
	#conts .mainImg .dlStyle dt {
		font-size: 1.4rem;
		width: 8rem;
		padding-right: 0.5rem;
	}
	#conts .mainImg .dlStyle dd span {
		font-size: 1.4rem;
		min-width: 12rem;
	}
	#main .newsList a {
		padding: 0;
		display: block;
		border: none;
	}
	#main .newsList .photoBox {
		width: auto;
		aspect-ratio: 335 / 176;
		margin: 0 0 2rem;
	}
	#main .newsDl {
		display: block;
		margin-right: 0;
	}
	#main .newsDl dd {
		padding-top: 0;
	}
	#main .newsList li {
		margin-bottom: 3.3rem;
	}
	#main .newsList li:last-child {
		margin-bottom: 0;
	}
	#main .newsList .comIco {
		display: none;
	}
	#main .newsList .sub {
		padding-top: 1.5rem;
		padding-bottom: 1.7rem;
	}
	#main .newsList {
		padding-top: 0;
	}
	#main .detailBox {
		padding-top: 0;
	}
	.whiteBody #main {
		background-color: #fff;
	}
	#main .detailBox .mainConts {
		padding: 4rem 2rem 4rem;
		margin: 0 -2rem;
	}
	#main .detailBox p {
		margin-bottom: 1.4rem;
	}
	#main .detailBox .topTtl {
		font-size: 2rem;
		margin-bottom: 3.3rem;
	}
	#main .detailBox .dlStyle {
		margin-bottom: 2.7rem;
	}
	.checkUl {
		gap: 0.95rem 1.5rem;
	}
	#main .detailBox h2 {
		padding-top: 2.5rem;
		margin-bottom: 3.1rem;
		font-size: 2.2rem;
		line-height: 1.65;
	}
	#main .wp-block-image {
		margin-bottom: 3.1rem;
	}
	#main .detailBox h3 {
		margin-bottom: 1.5rem;
		padding-top: 1.7rem;
	}
	#main .detailBox p a {
		line-height: 2;
	}
	#main .detailSub {
		margin-bottom: 4rem;
	}
	#main .detailBox ol li {
		margin-bottom: 1.2rem;
		line-height: 1.7;
	}
	#main .detailBox .linkBox a {
		display: block;
		padding: 2rem;
		background: none var(--gray03);
	}
	#main .detailBox .linkBox .photoBox {
		margin: 0 auto 1.8rem;
	}
	#main .detailBox .linkBox .textBox p {
		line-height: 1.65;
	}
	#main .detailBox .linkBox .textBox {
		background: url(img/common/icon04.png) no-repeat right center;
		background-size: 2.4rem auto;
	}
	#main .detailBox .linkBox {
		margin-bottom: 1.5rem;
	}
	#main .detailBox .tableBox {
		margin-bottom: 2rem;
		overflow-x: scroll;
		margin-right: -2rem;
		padding-bottom: 0rem;
	}
	#main .detailBox table {
		margin-bottom: 0;
		width: 56.5rem !important;
		min-width: 100%;
	}
	#main .detailBox table tr:first-child td {
		font-weight: 400;
	}
	#main .detailBox table th {
		font-weight: 400;
	}
	#main .detailBox table th:first-child {
		width: 25.5%;
	}
	#main .detailBox table th:nth-child(2) {
		width: 26.5%;
	}
	#pagePath li {
		margin-right: 1rem;
		line-height: normal;
	}
	#pagePath .liStyle {
		flex-shrink: 0;
		/* padding-top: 0.2rem; */
	}
	#main .detailBox .seminar {
		padding: 3rem 2rem;
	}
	#main .detailBox .seminar .subSpan {
		margin-top: 1rem;
	}
	#main .detailBox .seminar .ttl {
		font-size: 1.8rem;
		margin-bottom: 1.6rem;
	}
	#main .detailBox .articleBox h3,
	#main .detailBox .articleBox .newsTtl {
		font-size: 1.8rem;
	}
	#main .detailBox .articleBox h3 {
		padding-top: 0;
	}
	#main .detailBox .articleBox {
		margin-bottom: 6rem;
		margin-top: -0.5rem;
	}
	#main .detailBox .articleBox p {
		margin-bottom: 1.8rem;
	}
	#main .detailBox .location {
		margin: 2rem 0 2.5rem;
		padding: 1.5rem 2rem 1.1rem;
	}
	#main .detailBox p:has(.emoji) {
		line-height: 1.65;
	}
	#main .detailBox .speakers {
		margin-bottom: 5.5rem;
		display: block;
	}
	#main .detailBox .speakers .photoBox {
		width: 20rem;
		margin: 0 0 3rem;
	}
	#main .detailBox .speakers dl {
		display: block;
	}
	#main .detailBox .speakers dt {
		margin: 0 0 0.5rem;
		min-width: inherit;
	}
	#main .detailBox .speakers dd {
		width: auto;
	}
	#main .comLinkBox {
		margin: 0 auto;
		max-width: 33.5rem;
		display: block;
	}
	#main .comLinkBox > div {
		margin-bottom: 1.5rem;
		width: auto;
	}
	#main .comLinkBox > div:last-child {
		margin-bottom: 0;
	}
}

/*------------------------------------------------------------
	staff
------------------------------------------------------------*/
#main .staffBox {
	padding-top: 0.7rem;
	align-items: flex-end;
}
#main .staffBox .lBox {
	padding: 3.0rem 3.2rem 2.6rem;
	width: 30rem;
	border-radius: 0.4rem;
	position: sticky;
	bottom: 4rem;
	left: 0;
	z-index: 10;
	background-color: var(--white);
}
#main .staffBox .lBox li {
	margin-bottom: 0.3rem;
}
#main .staffBox .lBox li:last-child {
	margin-bottom: 0;
}
#main .staffBox .lBox ul a {
	display: inline-flex;
	align-items: center;
}
#main .staffBox .lBox ul .active a {
	color: var(--main-color);
}
#main .staffBox .rBox {
	flex: 1;
	margin-right: 2rem;
	margin-left: 4rem;
}
#main .staffBox .whiteBox {
	padding: 3.7rem 6rem;
	border-radius: 0.4rem;
	margin-bottom: 4rem;
	background-color: var(--white);
}
#main .staffBox .whiteBox:last-child {
	margin-bottom: 0;
}
.comIco2 {
	width: 2.4rem;
	height: 2.4rem;
	display: block;
	border-radius: 100%;
	margin-right: 0.8rem;
	position: relative;
	background-color: var(--main-color);
}
.comIco2:after {
	width: 0.6rem;  
	height: 1.0rem;
	background: url(img/common/icon08.png) no-repeat;
	background-size: 100% auto;
	position: absolute;  
	top: 50%;
	left: calc(50% + 0.2rem);
	transform: translate(-50%,-50%);
	content: ""; 
	transition: 0.3s;
}
#main .staffBox .headLine01 {
	margin-bottom: 4rem;
}
#main .staffInner {
	margin-bottom: 2.6rem;
	align-items: flex-start;
}
#main .staffInner:last-child {
	margin-bottom: 0;
}
#main .staffInner .photoBox {
	width: 27rem;
	position: relative;
	aspect-ratio: 1;
	margin-right: 3.2rem;
	border-radius: 0.4rem;
	overflow: hidden;
}
#main .staffInner .slick-slide li,
#main .staffInner .slick-slide > div,
#main .staffInner .slick-slide,
#main .staffInner .slick-track,
#main .staffInner .slick-list,
#main .staffInner .fooUl {
	height: 100%;
}
#main .staffInner .photoBox img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .staffInner .photoBox .prev {
	position: absolute;
	bottom: 0.7rem;
	left: 0.8rem;
	cursor: pointer;
}
#main .staffInner .photoBox .next {
	position: absolute;
	bottom: 0.7rem;
	right: 0.8rem;
	cursor: pointer;
}
#main .staffInner .photoBox .slick-disabled {
	opacity: 0;	
}
#main .staffInner .photoBox .comIco {
	border-color: transparent;
}
#main .staffInner .textBox {
	flex: 1;
}
#main .staffInner p {
	margin-bottom: 2.4rem;
}
#main .staffInner .name {
	margin-bottom: 1.6rem;
	font-size: 2.4rem;
	font-weight: 500;
}
#main .staffInner .name .en {
	display: block;
	font-weight: 400;
	font-size: 1.4rem;
	color: var(--gray02);
}
#main .staffDl {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
	border-top: 1px solid var(--sub-color);
}
#main .staffDl dt {
	padding: 0.75rem 0.5rem 1.5rem 0;
	width: 9.8rem;
	font-size: 1.4rem;
	color: var(--main-color);
	border-bottom: 1px solid var(--sub-color);
}
#main .staffDl dd {
	padding: 0.75rem 1rem 1.5rem 0;
	width: calc(100% - 9.8rem);
	font-size: 1.4rem;
	color: var(--gray01);
	border-bottom: 1px solid var(--sub-color);
}
#main .staffDl .subUl li {
	position: relative;
	padding-left: 2.2rem;
}
#main .staffDl .subUl li:after {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
	position: absolute;  
	top: 0.4rem;
	left: 0.9rem;
	content: "•"; 
}
#main .staffDl dd p {
	margin-bottom: 0;
}
#main .staffDl .sub .photo {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 0.8rem;
	width: 10rem;
	text-align: center;
	height: 10rem;
	padding: 0.25rem;
	border: 1px solid var(--sub-color);
	border-radius: 0.4rem;
}
#main .staffDl .sub .textBox {
	flex: 1;
}
#main .staffDl .sub .textBox p {
	font-size: 1.2rem;
	color: var(--gray01);
}
#main .staffDl dt:last-of-type,
#main .staffDl dd:last-of-type {
	border: none;
}

@media all and (min-width: 960px) {
	#main .staffBox .lBox ul a:hover {
		color: var(--main-color);
	}
	#staff .pageTtle::after { 
		min-height: 57.7rem;
	}
	a:hover .comIco2::after {
		left: calc(50% + 0.4rem);
	}
	.popBox {
		display: block !important;
	}
}
@media all and (max-width: 959px) {
	#main .staffBox {
		display: block;
	}
	#main .staffBox .lBox ul .comIco2::after {
		top: calc(50% - 0.4rem);
		left: calc(50%  - 0.5rem);
		transform: translate(-50%, -50%) rotate(90deg);
		transform-origin: center bottom;
	}
	/* #main .staffBox .lBox ul a:hover {
		color: var(--main-color);
	}
	#main .staffBox .lBox ul a:hover .comIco2::after {
		top: calc(50% - 0.1rem);
	} */
	#main .staffBox .lBox {
		width: auto;
		margin-bottom: 4rem;
		padding: 1.9rem 2rem 1.4rem;
	}
	#staff .pageTtle::after { 
		min-height: 49.3rem;
	}
	#main .staffBox .rBox {
		width: auto;
		margin: 0;
	}
	#main .staffBox .whiteBox {
		margin-bottom: 11.8rem;
		padding: 3.8rem 3.2rem;
	}
	#main .staffBox .headLine01 {
		margin-bottom: 2rem;
	}
	#main .staffInner {
		display: block;
	}
	#main .staffInner .photoBox {
		width: auto;
		margin: 0 0 1.5rem;
	}
	#main .staffInner .name {
		margin-bottom: 1.2rem;
		font-size: 2.2rem;
	}
	#main .staffInner .name .en {
		font-size: 1.4rem;
	}
	#main .staffDl dt {
		width: 8rem;
		padding: 1.1rem 0 0;
	}
	#main .staffDl dd {
		width: calc(100% - 8rem);
		padding: 1.1rem 0 1.2rem;
	}
	#main .staffDl dd .sub {
		display: block;
	}
	#main .staffDl .sub .photo {
		margin-bottom: 0.8rem;
	}
	#main .staffDl .subUl {
		margin: 2.5rem 0 0 -8rem;
	}
}

/*------------------------------------------------------------
	for_tenants
------------------------------------------------------------*/
#main .comInner {
	margin-bottom: 10rem;
}
#main .comInner .lBox {
	width: 42rem;
	padding: 4rem 6rem;
	text-align: center;
	margin-right: 2rem;
	border-radius: 0.4rem;
	background-color: var(--gray03);
}
#main .comInner .lBox .banner {
	margin-bottom: 3rem;
}
#main .comInner .lBox p {
	margin-bottom: 2rem;
	font-size: 1.2rem;
	font-feature-settings: normal;
}
#main .comInner .lBox .ttl {
	font-size: 1.6rem;
	font-weight: 500;
	margin-bottom: 0;
}
#main .comInner .lBox ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0 0.1rem;
}
#main .comInner .lBox ul a:hover {
	opacity: 0.7;
}
#main .comInner .lBox li {
	width: 47.5%;
}
#main .comInner .rBox {
	flex: 1;
}
#main .comInner .rBox p {
	margin-bottom: 1rem;
}
#main .comInner .rBox p:last-child {
	margin-bottom: 0;
}
#main .residents:not(:last-child) {
	margin-bottom: 4rem;
}
#main .residents .headLine01 {
	width: 44rem;
	padding-right: 2rem;
	margin-bottom: 0;
}
#main .residents .rBox {
	flex: 1;
}
#main .residents p {
	margin-bottom: 2.2rem;
}
#main .residents p:last-child {
	margin-bottom: 0;
}
#main .residents .comLink {
	margin: 0 0 1.6rem;
}
#main .residents .comLink:last-child {
	margin-bottom: 0;
}
#main .residents + .headLine03 {
	margin-top: 10rem;
}
#main .residents p small {
	display: block;
	font-size: 1.4rem;
	color: var(--gray01);
	margin-top: 0.8rem;
}
#main .method {
	padding: 4rem;
	margin: 10.2rem 0;
	border-radius: 0.4rem;
	background-color: var(--gray03);
}
#main .method .lBox {
	width: 42.2rem;
	padding-right: 1rem;
}
#main .method .lBox p {
	padding-top: 0.6rem;
}
#main .method .rBox {
	flex: 1;
}
#main .method dl {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
}
#main .method dt {
	width: 5.6rem;
	padding-bottom: 1.8rem;
	margin-bottom: 1rem;
	font-weight: 500;
	color: var(--main-color);
	border-bottom: 1px solid var(--gray02);
}
#main .method dd {
	padding-bottom: 1.8rem;
	margin-bottom: 1rem;
	width: calc(100% - 5.6rem);
	border-bottom: 1px solid var(--gray02);
}
#main .method dd a:hover {
	opacity: 0.7;
}
#main .method dt:last-of-type,
#main .method dd:last-of-type {
	border: none;
	padding-bottom: 0;
	margin-bottom: 0;
}
@media all and (min-width: 960px) {
}
@media all and (max-width: 959px) {
	#main .comInner {
		margin-bottom: 4.4rem;
		display: block;
	}
	#main .comInner .lBox {
		width: auto;
		padding: 3.2rem 2rem;
		margin: 0 0 1.5rem;
	}
	#main .comInner .lBox .banner {
		margin-bottom: 2.3rem;
	}
	#main .comInner .lBox p {
		margin-bottom: 1.7rem;
	}
	#main .comInner .lBox ul {
		display: block;
	}
	#main .comInner .lBox li {
		width: auto;
		margin: 0 2.5rem 1.6rem;
		text-align: center;
	}
	#main .comInner .lBox li:last-child {
		margin-bottom: 0;
	}
	#main .residents {
		display: block;
	}
	#main .residents .headLine01 {
		width: auto;
		padding: 0;
		font-weight: 500;
		margin: 0 0 1.5rem;
		font-size: 2.2rem;
	}
	#main .residents:not(:last-child) {
		margin-bottom: 3rem;
	}
	#main .residents + .headLine03 {
		margin-top: 4.8rem;
	}
	#main .method {
		display: block;
		padding: 3.9rem 2rem;
		margin: 5rem 0 4.8rem;
	}
	#main .method .lBox {
		width: auto;
		padding: 0 0 2rem;
	}
	#main .method .headLine01 {
		font-size: 2.2rem;
		font-weight: 500;
		margin-bottom: 1.3rem;
	}
	.comContactBox {
		padding: 4rem 2rem;
		max-width: inherit;
		border-radius: 0.4rem;
	}
	.comContactBox h3 {
		margin-bottom: 1.6rem;
		font-size: 2.8rem;
	}
	.comContactBox .txt {
		font-size: 1.6rem;
		line-height: 1.65;
	}
	.comContactBox .sub {
		display: block;
		padding: 2.3rem 0;
	}
	.comContactBox .comLink {
		width: auto;
		max-width: 25.5rem;
		margin: 0 auto 2.3rem;
	}
	.comContactBox .comLink.web a {
		padding-top: 0.5rem;
		min-height: 9.6rem;
	}
	.comContactBox .rBox .tel span {
		padding: 2.8rem 0 0;
		background-position: center top;
	}
	.comContactBox .rBox .tel {
		margin-bottom: -0.2rem;
	}
	.comContactBox .contactTxt {
		min-width: inherit;
		width: auto;
	}
	.comContactBox .contactTxt a {
		display: block;
		font-size: 2rem;
		margin: 0.2rem 0 0;
	}
	#main .residents .comLink {
		margin: 0 auto 1.6rem;
	}
}

/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
#contact {
}
#main .contactBox {
	margin-top: -19rem;
	align-items: flex-start;
}
#main .contactBox .lBox {
	margin-top: 41.6rem;
	width: 30rem;
	position: sticky;
	top: 11.4rem;
	left: 0;
	padding-bottom: 6rem;
}
#main .contactBox .lBox::after {
	width: 9999px;
	bottom: 0;
	background-color: var(--main-color);
	position: absolute;
	top: -15rem;
	right: -206.1%;
	z-index: -1;
	content: "";
}
#main .contactBox .lBox ul {
	border-top: 1px solid rgba(255, 255, 255, 0.5);
}
#main .contactBox .lBox li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
#main .contactBox .lBox a {
	pointer-events: none;
	padding: 2.1rem 0;
	display: flex;
	align-items: center;
	letter-spacing: 0.064rem;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.3);
}
#main .contactBox .lBox .on a {
	color: var(--white);
}
#main .contactBox .lBox .on a .txtSpan {
	color: var(--sub-color);
}
#main .contactBox .lBox .txtSpan {
	font-size: 1.2rem;
	font-weight: 500;
	flex-shrink: 0;
	margin: 0.2rem 1.7rem 0 0;
	letter-spacing: 0.144rem;	
}
#main .contactBox .rBox {
	width: 76rem;
	margin-right: 2rem;
	position: relative;
	z-index: 1;
}
#main .contactBox .whiteBox {
	padding: 5.9rem 6rem;
	border-radius: 0.4rem;
	margin-bottom: 1.6rem;
	background-color: var(--white);
}
#main .contactBox .whiteBox:last-child {
	margin-bottom: 0;
}
#main .contactBox .headLine01 {
	margin-bottom: 1.2rem;
}
#main .contactBox p {
	margin-bottom: 0.8rem;
}
#main .contactBox p:last-child {
	margin-bottom: 0;
}
#main .contactBox .txt {
	margin-bottom: 1.6rem;
	font-size: 1.4rem;
	color: var(--gray02);
}
#main .contactBox .infoDl {
	padding-top: 2.4rem;
	align-items: center;
	border-top: 1px solid var(--sub-color);
}
#main .contactBox .infoDl dt {
	flex: 1;
	display: flex;
	font-size: 1.4rem;
	color: var(--gray01);
}
#main .contactBox .infoDl dt span {
	flex-shrink: 0;
	margin-right: 1.6rem;
}
#main .contactBox .infoDl dd {
	width: 31.2rem;
}
#main .contactBox .infoDl dd .comLink {
	width: 100%;
	margin: 0 auto;
}
#main .contactDl {
	margin-bottom: 2.1rem;
	padding-top: 2.9rem;
}
#main .contactDl dt {
	margin-bottom: 0.5rem;
	font-weight: 500;
}
#main .contactBox .must {
	min-width: 4rem;
	border-radius: 0.15rem;
	text-align: center;
	font-size: 1.2rem;
	font-weight: 500;
	color: var(--white);
	display: inline-block;
	margin-left: 1rem;
	background-color: var(--main-color);
}
#main .contactDl dd {
	margin-bottom: 1.9rem;
	font-size: 1.5rem;
}
#main .contactDl dd:last-child {
	margin-bottom: 0;
}
#main .contactDl dd .errorSpan {
	display: block;
	color: #E72020;
	font-weight: 500;
	font-size: 1.4rem;
	margin-top: 0.4rem;
	line-height: 1.4;
}
#main .contactDl dd:has(select) .errorSpan {
	margin-top: -1.3rem;
	color: #E72020;
}
#main .contactDl dd .blueSpan {
	color: var(--main-color);
	display: block;
	margin-top: 0.4rem;
	font-size: 1.4rem;
}
input[type="email"],
input[type="tel"],
input[type="text"] {
    appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;
    border-radius: 0.4rem;
    height: 3.6rem;
	font-weight: 400;
	color: var(--base-color);
    border: 1px solid #D9D9D9;
    box-sizing: border-box;
    font-size: 1.5rem;
    padding: 0 1.2rem;
    width: 100%;
    letter-spacing: 0.075em;
    background-color: #FAFAFA;
	font-feature-settings: "palt";
}
.contactDl select {
    appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;
    border-radius: 0.4rem;
    height: 4rem;
	color: var(--base-color);
    border: 1px solid #D9D9D9;
    box-sizing: border-box;
    font-size: 1.5rem;
    padding: 0 3rem 0 1.2rem;
    width: 100%;
    letter-spacing: 0.075em;
    background: url(img/common/select02.png) no-repeat right 1rem center #FAFAFA;
	background-size: 1.5rem auto;
	font-feature-settings: "palt";
}
input[type="email"]:active,
input[type="tel"]:active,
input[type="text"]:active {
	border-color: var(--main-color);
	box-shadow: 1px 1px 0 var(--main-color) inset,-1px -1px 0 var(--main-color) inset;
}
textarea {
	resize: vertical;
    appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;
    border-radius: 0.4rem;
    height: 16rem;
	color: var(--base-color);
    border: 1px solid #D9D9D9;
    box-sizing: border-box;
    font-size: 1.5rem;
    padding: 0.5rem 1.2rem;
    width: 100%;
    letter-spacing: 0.075em;
    background-color: #FAFAFA;
	font-feature-settings: "palt";
}
input::-webkit-input-placeholder { /* WebKit browsers */
    color: #C5C5C5;
    opacity:1;
}
input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color: #C5C5C5;
    opacity:1;
}
input::-moz-placeholder {
    color: #C5C5C5;
    opacity:1;
}
input:-ms-input-placeholder { /* Internet Explorer 10+ */
    color: #C5C5C5;
    opacity:1;
}
input[type="checkbox"] {
    display: none;
}
input[type="checkbox"] + span {
	background: url(img/common/check01.png) no-repeat left center;
	background-size: 2rem auto;
	border-radius: 0;
    display: inline-block;
    line-height: 2rem;
	cursor: pointer;
    padding: 0.4rem 0 0.4rem 3.0rem;
}
input[type="checkbox"]:checked + span {
	background-image: url("img/common/check02.png");
}
#main .contactBox .checkP {
	margin-bottom: 4.2rem;
	font-weight: 500;
	font-feature-settings: normal;
}
#main .contactBox .checkP a {
	margin-right: 0.7rem;
	display: inline-block;
	padding-right: 3rem;
	background: url(img/common/icon04.png) no-repeat right center;
	background-size: 2.4rem auto;
	color: var(--main-color);
	text-decoration: underline;
}
.submit li {
	text-align: center;
	margin-bottom: 2rem;
}
.submit li:last-child {
	margin-bottom: 0;
}
.submit li input {
    appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;
    width: 100%;
    height: 5.6rem;
	letter-spacing: 0.064rem;
    text-align: center;
    cursor: pointer;
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    border: none;
	border-radius: 0.4rem;
	background-color: var(--main-color);
	transition: 0.3s;
}
.submit .liStyle input {
	font-size: 1.6rem;
	font-weight: 500;
	color: var(--main-color);
	text-decoration: underline;
	width: fit-content;
	height: auto;
	margin: 0 auto;
	background-color: transparent !important;
}
#main .thanksBox .greyBox {
	padding: 2.4rem;
	border-radius: 0.4rem;
	background-color: var(--gray03);
}
#main .thanksBox .greyBox p .txtSpan {
	display: block;
	margin-top: 0.8rem;
}
@media all and (min-width: 960px) {
	#main .contactBox .lBox a:hover {
		color: var(--white);
	}
	#main .contactBox .lBox a:hover .txtSpan {
		color: var(--sub-color);
	}
	.submit li input:hover {
		color: var(--main-color);
		background-color: var(--sub-color);
	}
	#main .confirmBox {
		margin-top: 0;
		padding-top: 0.5rem;
	}
	#main .confirmBox .lBox {
		margin-top: 0;
		position: relative;
		top: auto;
		left: auto;
	}
	#main .confirmBox .lBox::after {
		top: -12rem;
		bottom: -2rem;
	}
	.submit .liStyle input:hover {
		text-decoration: none;
	}
	#main .thanksBox .headLine01 {
		margin-bottom: 4rem;
	}
	#main .thanksBox p {
		margin-bottom: 1.6rem;
		font-feature-settings: normal;
	}
	#main .thanksBox .comLinkP {
		margin-top: 4.5rem;
	}
	#main .confirmDl {
		margin-bottom: 4rem;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#main .confirmDl dt {
		width: 19rem;
		padding: 0 1rem 0 0;
	}
	#main .confirmDl dd {
		font-size: 1.6rem;
		margin-bottom: 1.5rem;
		width: calc(100% - 19rem);
	}
	#main .contactBox .checkP a:hover {
		text-decoration: none;
	}
}
@media all and (max-width: 959px) {
	#contact .pageTtle h2 .en {
		font-size: 4.4rem;
	}
	#contact .pageTtle h2 {
		font-size: 1.4rem;
	}
	#main .contactBox {
		display: block;
	}
	#main .contactBox .lBox {
		padding: 0;
		width: auto;
		margin: 23rem 7.0rem 4rem 0;
		position: static;
	}
	#main .contactBox .lBox::after {
		display: none;
	}
	#main .contactBox .lBox a {
		color: var(--white);
	}
	#main .contactBox .lBox a .num {
		color: rgba(229, 240, 248, 0.6);
	}
	#main .contactBox .lBox a .ico {
		margin: 0 0.3rem;
	}
	#main .contactBox .lBox .txtSpan {
		color: var(--sub-color);
	}
	#main .contactBox .rBox {
		width: auto;
		margin: 0;
	}
	#main .contactBox .whiteBox {
		padding: 3.8rem 2rem 4rem;
	}
	#main .contactBox .infoDl {
		display: block;
	}
	#main .contactBox .infoDl dt {
		margin-bottom: 2rem;
	}
	#main .contactBox .infoDl dd {
		width: auto;
	}
	#main .contactBox .headLine01 {
		font-size: 1.6rem;
		letter-spacing: 0.064rem;
	}
	#main .contactDl {
		margin-bottom: 1.5rem;
		padding-top: 1.9rem;
	}
	#main .contactDl dd .errorSpan {
		font-size: 1.2rem;
	}
	#main .contactDl dd .blueSpan {
		font-size: 1.2rem;
		line-height: 1.4;
		font-feature-settings: normal;
	}
	input[type="checkbox"] + span{
		font-size: 1.4rem;
	}
	#main .contactBox .checkP a {
		padding-right: 2.5rem;
		background-image: url(img/common/open_in_new.png);
		background-size: 1.8rem auto;
	}
	#main .contactBox .checkP {
		margin-bottom: 2.8rem;
	}
	.submit li input {
		font-size: 1.4rem;
	}
	#contact .linkBox {
		cursor: pointer;
		display: flex;
		align-items: center;
		position: absolute;
		top: 1.6rem;
		right: 0;
		z-index: 5;
		min-height: 17.6rem;
		border-radius: 0.4rem 0rem 0rem 0.4rem;
		background-color: var(--white);
		transition: 0.3s;
		box-shadow: 0rem 0.4rem 1.4rem 0rem rgba(0, 0, 0, 0.15);
		width: 31.9rem;
    	transform: translateX(calc(100% - 6rem));
	}
	#contact .linkBox .prev {
		cursor: pointer;
		position: absolute;
		top: -.4rem;
		left: -.4rem;
		width: 2.4rem;
		height: 2.4rem;
		z-index: 1;
		background-color: var(--main-color);
		border: 1px solid var(--sub-color);
	}
	#contact .linkBox .link {
		width: 6rem;
		display: flex;
		align-items: center;
		justify-content: center;
		transition-delay: 0.1s;
	}
	#contact .linkBox .link span {
		display: inline-block;
		width: 3.5rem;
		color: var(--main-color);
		font-weight: 500;
		padding-top: 0.5rem;
		line-height: 1.1;
		letter-spacing: 0.2rem;
		-webkit-writing-mode : tb-rl;
		-webkit-writing-mode: vertical-rl;
		writing-mode: tb-rl;
		writing-mode: vertical-rl;
	}
	#contact .linkBox .comIco::after {
		width: 0.6rem;
		height: 1rem;
		background-image: url(img/common/icon08_left.png);
	}
	#contact .linkBox.on .comIco::after { 
		background-image: url(img/common/icon08.png);
	}
	#contact .linkBox.on .link {
		display: none;
	}
	#contact .linkBox.on {
		transform: translateX(0);
	}
	#contact .linkBox p {
		margin-bottom: 0.8rem;
		font-size: 1.4rem;
	}
	#contact .linkBox .ttl {
		font-size: 1.6rem;
		font-weight: 500;
		margin-bottom: 0.8rem;
		color: var(--main-color);
		letter-spacing: 0.064rem;
	}
	#contact .linkBox .subBox {
		transform: translateX(100%);
		opacity: 0;
		visibility: hidden;
		position: absolute;
		flex-basis: 100%;
		top: 0;
		right: 0;
		transition: 0.3s;
		padding: 1.5rem 2rem 1.5rem 1.6rem;
	}
	#contact .linkBox.on .subBox {
		transform: translateX(0);
		visibility: visible;
		opacity: 1;
	}
	#main .thanksBox p {
		font-size: 1.4rem;
	}
	#main .thanksBox .greyBox {
		padding: 2rem 1rem;
	}
	.comLinkP {
		margin-top: 6rem;
	}
}

/*------------------------------------------------------------
	service
------------------------------------------------------------*/
#main .serviceList {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem 0;
	margin: 0 -1rem;
}
#main .serviceList li {
	margin: 0 1rem;
	position: relative;
	width: calc(50% - 2rem);
}
#main .serviceList li .jsImg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: 0.3s;
	border-radius: 0.4rem;
}
#main .serviceList li .subSpan {
	position: relative;
	z-index: 1;
	display: block;
}
#main .serviceList .liStyle,
#main .serviceList li > a {
	cursor: pointer;
	height: 100%;
	overflow: hidden;
	display: block;
	min-height: 40.9rem;
	border-radius: 0.4rem;
	padding: 4.6rem 4.8rem 3.8rem;
	background-color: var(--white);
}
#main .serviceList .liStyle {
	padding-bottom: 4.8rem;
}
#main .serviceList span {
	display: block;
}
#main .serviceList .headLine03 {
	border: none;
	padding-bottom: 0;
}
#main .serviceList li .txt {
	margin-bottom: 2rem;
}
#main .serviceList li .txt:last-child {
	margin-bottom: 0;
}
#main .moreLink {
	position: relative;
	z-index: 1;
	margin-top: 4rem;
	align-items: center;
	color: var(--main-color);
	display: flex !important;
}
#main .moreLink > a {
	color: var(--main-color);
	display: flex;
	align-items: center;
	text-decoration: underline;
}
#main .moreLink > a[target="_blank"] .comIco::after {
	background-image: url(img/common/icon04.png);
	width: 1.6rem;
	height: 1.6rem;
}
#main .moreLink > a[target="_blank"] .comIco {
	background-color: transparent !important;
}
#main .moreLink .comIco {
	margin-left: 0.9rem;
}
#main .serviceList .liStyle .headLine03 {
	margin-bottom: 1rem;
}
#main .serviceList .textImg {
	margin-bottom: 4rem;
}
#main .serviceList .liStyle .comLink {
	margin-top: 3rem;
}
#main .serviceList .liStyle .comLink {
	margin: 1.5rem 0 0;
}
@media all and (min-width: 960px) {
	#main .serviceList li > a:hover .jsImg {
		opacity: 1;
	}
	#main .serviceList .liStyle:hover .moreLink,
	#main .serviceList .liStyle:hover .txt,
	#main .serviceList .liStyle:hover .headLine03,
	#main .serviceList li a:hover .moreLink,
	#main .serviceList li a:hover .txt,
	#main .serviceList li a:hover .headLine03 {
		color: var(--white);
	}
	#main .serviceList .liStyle:hover .jsImg {
		opacity: 1;
	}
	#main .serviceList .liStyle:hover .moreLink a {
		color: var(--white);
	}
	#main .serviceList li > a:hover .comIco {
		background-color: var(--white);
	}
	#main .serviceList li > a:hover .comIco::after {
		background-image: url(img/common/icon01.png);
	}
	#main .moreLink > a[target="_blank"]:hover {
		text-decoration: none;
	}
	#main .moreLink > a[target="_blank"]:hover .comIco::after {
		left: 50%;
	}
	#main .serviceList .liStyle:hover .comIco {
		border-color: var(--white);
	}
	#main .serviceList .liStyle:hover .comIco::after {
		background-image: url(img/common/icon04_white.png);
	}
	#main .serviceList li .txtBox {
		min-height: 15.2rem;
	}
}
@media all and (max-width: 959px) {
	#main .serviceList {
		display: block;
		padding-top: 0.6rem;
		margin: 0;
	}
	#main .serviceList li {
		width: auto;
		margin: 0 0 2.4rem;
	}
	#main .serviceList li:last-child {
		margin-bottom: 0;
	}
	#main .serviceList .liStyle, #main .serviceList li > a {
		min-height: inherit;
		padding: 3rem 3.2rem;
	}
	#main .serviceList .headLine03 {
		font-size: 2.8rem;
		margin-bottom: 2rem;
	}
	#main .serviceList li .txt {
		margin-bottom: 0.8rem;
	}
	#main .moreLink {
		justify-content: flex-end;
		margin-top: 2.1rem;
	}
	#main .serviceList .textImg {
		margin-bottom: 2rem;
	}
	#main .serviceList .liStyle .comLink {
		margin: 2rem 0 0 auto;
	}
	#main .serviceList li .jsImg {
		opacity: 0 !important; 
	}
}

/*------------------------------------------------------------
	partners
------------------------------------------------------------*/
#partners .residents:not(:last-child) {
	margin-bottom: 10rem;
}
#main .residents .lBox {
	order: -1;
	margin-right: 2rem;
	width: 42rem;
	border-radius: 0.4rem;
	padding: 4rem 2rem;
	text-align: center;
	background-color: var(--gray03);
}
#main .residents .lBox .photo a:hover {
	opacity: 0.7;
}
#main .residents .lBox p {
	font-size: 1.4rem;
	margin-top: 1.5rem;
	color: var(--gray01);
}
@media all and (min-width: 960px) {
}
@media all and (max-width: 959px) {
	#main .residents .lBox {
		width: auto;
		margin: 2.3rem 0 0;
	}
	#partners .residents .lBox {
		padding-bottom: 1.8rem;
	}
	#partners .residents:not(:last-child){
		margin-bottom: 4.7rem;
	}
}


/* pageVisual */
.pageVisual {
	margin: 0 -2rem;
	padding: 6.4rem 2rem;
	color: var(--white);
	background-color: var(--main-color);
}
.pageVisual .innerBox {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.pageVisual .title {
	margin-top: -0.1rem;
	font-size: 4rem;
	line-height: 1.65;
	flex: 1;
	font-weight: normal;
}
.pageVisual .title .sml {
	margin-bottom: 0.4rem;
	display: block;
	font-size: 1.6rem;
}
.pageVisual .rightBox {
	width: 58.1rem;
	line-height: 1.63;
}
.pageVisual .image img {
	border-radius: 0.4rem;
}
@media all and (max-width: 959px) {
	.pageVisual .innerBox {
		display: block;
	}
	.pageVisual .title {
		margin: 0 0 2.5rem;
		font-size: 3.2rem;
	}
	.pageVisual .rightBox {
		width: auto;
		margin: 0;
	}
	.pageVisual {
		padding: 3.9rem 2rem 16.5rem;
	}
	.pageVisual .title .sml {
		margin-bottom: 0.3rem;
	}
}


/* showVisual */
.showVisual {
	margin-bottom: 14rem;
	padding: 4.1rem 0 8rem;
	position: relative;
}
.showVisual::after {
	width: calc(50% + 50rem);
	height: 100%;
	position: absolute;
	top: 0;
	right: -2rem;
	background-color: var(--main-color);
	content: "";
	border-radius: 0px 0px 0px 0.4rem;
	opacity: 0.15;
}
.showVisual .content {
	position: relative;
	z-index: 10;
}
.showVisual .linkUl {
	margin-bottom: 4rem;
	padding: 2rem 3.3rem 2.2rem 1.6rem;
	display: inline-flex;
	flex-wrap: wrap;
	font-size: 1.6rem;
	background-color: #fff;
	border-radius: 5rem;
	line-height: 1;
	gap: 4rem;
}
.showVisual .linkUl a {
	display: inline-block;
	vertical-align: top;
	position: relative;
	padding-left: 3.2rem;
}
.showVisual .linkUl .icon {
	width: 2.4rem;
	height: 2.4rem;
	position: absolute;
	top: -0.3rem;
	left: 0;
	background-color: var(--main-color);
	border-radius: 50%;
}
.showVisual .linkUl .icon::after {
	margin-top: 0.1rem;
	width: 1rem;
	height: 0.6rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background: url("img/common/icon10.png") no-repeat left top / 100% 100%;
	transition: .3s;
	content: "";
}
.showVisual .image img {
	width: 100%;
	border-radius: 0.4rem;
}
@media all and (min-width: 960px) {
	.showVisual .linkUl a:hover .icon::after {
		margin-top: 0.3rem;
	}
	.showVisual .linkUl a:hover {
		color: var(--main-color);
	}
}
@media all and (max-width: 959px) {
	.showVisual .linkUl {
		padding: 2rem 1.6rem 2.2rem;
		margin: -12.5rem 6.8rem 2.4rem 0;
		display: block;
		border-radius: 0.4rem;
	}
	.showVisual .linkUl li {
		margin-bottom: 2.6rem;
	}
	.showVisual .linkUl li:last-child {
		margin-bottom: 0;
	}
	.showVisual {
		padding: 0 0 3.2rem;
		margin-bottom: 4.9rem;
	}
	.showVisual .image {
		height: 48vw;
		margin-right: -2rem;
		overflow: hidden;
	}
	.showVisual .image03 img {
		object-position: right center;
	}
	.showVisual .image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		border-radius: 0.4rem 0.4rem 0 0.4rem;
	}
	.showVisual::after {
		width: calc(100% - 2rem);
	}
}

/* headLine04 */
.headLine04 {
	text-align: center;
	font-weight: 400;
	font-size: 4rem;
	line-height: 1.65;
	letter-spacing: 0.05em;
}
.headLine04 .en {
	margin-bottom: 0.7rem;
	color: var(--main-color);
	display: block;
	font-weight: 700;
	font-size: 2.4rem;
	letter-spacing: 0.03em;
}
@media all and (max-width: 959px) {
	.headLine04 .en {
		margin-bottom: 0.2rem;
		font-size: 2rem;
	}
	.headLine04 {
		font-size: 3.2rem;
	}
}


/* headLine05 */
.headLine05 {
	margin-bottom: 5.8rem;
	padding-left: 2.7rem;
	position: relative;
	font-size: 3.2rem;
	font-weight: 400;
	letter-spacing: 0.02em;
}
.headLine05::before {
	width: 1rem;
	height: 1rem;
	background-color: var(--main-color);
	border-radius: 50%;
	position: absolute;
	top: 2.4rem;
  	left: 0.3rem;
	content: "";
}
@media all and (max-width: 959px) {
	.headLine05 {
		margin-bottom: 4rem;
		font-size: 2.8rem;
	}
	.headLine05::before {
		top: 1.9rem;
	}
}



/*------------------------------------------------------------
	service
------------------------------------------------------------*/
#service #container {
	overflow: inherit;
	overflow-x: clip;
}
#service .showBox {
	margin-bottom: 20rem;
}
#service .showBox .headLine04 {
	margin-bottom: 10.1rem;
}
#service .showBox .content {
	max-width: 128rem;
}
#service .showBox .imgBox {
	margin-bottom: 9.7rem;
	position: relative;
}
#service .showBox .imgBox:last-child {
	margin-bottom: 0;
}
#service .showBox .imgBox .photo {
	width: 40.2rem;
	margin: -3.9rem 6.6rem 0 auto;
	position: relative;
	z-index: 10;
	overflow: hidden;
	border-radius: 0.4rem;
}
#service .showBox .imgBox .textBox {
	padding: 2.1rem 16rem 6rem 14rem;
	position: relative;
	width: calc(50% + 48rem);
	color: var(--gray01);
	z-index: 10;
}
#service .showBox .imgBox .textBox::after {
	width: 9999rem;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	border-radius: 0 0.4rem 0.4rem 0;
	background-color: var(--white);
	content: "";
}
#service .showBox .imgBox .textBox .title {
	font-size: 3.2rem;
	font-weight: 400;
	color: var(--base-color);
	position: relative;
	letter-spacing: 0.03em;
	padding-bottom: 2.3rem;
	margin-bottom: 5.9rem;
}
#service .showBox .imgBox .textBox .title::after {
	width: 9999rem;
	height: 1px;
	position: absolute;
	bottom: 0;
	right: -16rem;
	background-color: var(--main-color);
	content: "";
}
#service .showBox .imgBox .textBox .title .num {
	color: var(--main-color);
	font-size: 12rem;
	line-height: 1;
	position: absolute;
	bottom: 1.3rem;
	left: -10rem;
	font-style: italic;
	font-weight: 300;
	letter-spacing: 0;
}
#service .showBox .imgBox .innerBox {
	position: relative;
	z-index: 10;
}
#service .showBox .imgBox .textBox p {
	margin-bottom: 2rem;
}
#service .showBox .imgBox .textBox p:last-child {
	margin-bottom: 0;
}
#service .showBox .imgBox.right .textBox {
	margin-left: auto;
	padding-right: 14rem;
	padding-left: 16rem;
}
#service .showBox .imgBox.right .textBox::after {
	right: auto;
	left: 0;
	border-radius: 0.4rem 0 0 0.4rem;
}
#service .showBox .imgBox.right .textBox .title::after {
	right: auto;
	left: -16rem;
}
#service .showBox .imgBox .image {
	margin-top: 2.3rem;
}
#service .showBox .imgBox .image img {
	width: 35.5rem;
}
#service .showBox .imgBox.box02 {
	margin-bottom: 11.9rem;
}
#service .showBox .imgBox.bg::after {
	width: calc(50% + 2rem);
	position: absolute;
	top: 8.7rem;
	bottom: -6rem;
	right: -2rem;
	background-color: var(--main-color);
	content: "";
	opacity: 0.15;
	border-radius: 0.4rem 0 0 0.4rem;
}
#service .showBox .right.bg::after {
	top: -24rem;
	bottom: 12rem;
	right: auto;
	left: -2rem;
	border-radius: 0 0.4rem 0.4rem 0;
}
#service .achievementBox {
	border-radius: 0.4rem;
	background-color: var(--main-color);
	margin: 0 -1rem;
	padding: 6rem 2rem 8rem;
}
#service .achievementBox .headLine04 {
	color: var(--white);
	font-size: 4rem;
	margin-bottom: 4.9rem;
}
#service .achievementBox .headLine04 .en {
	color: var(--sub-color);
	font-size: 2rem;
}
#service .achievementBox .listUl {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
}
#service .achievementBox .listUl li {
	padding: 4rem 4rem 3.1rem;
	width: calc((100% - 2rem) / 3);
	background-color: var(--white);
	font-size: 1.4rem;
	line-height: 1.65;
	border-radius: 0.4rem;
}
#service .achievementBox .listUl .ttl {
	font-size: 2rem;
	color: var(--base-color);
	font-weight: 500;
	margin-bottom: 0.5rem;
}
#service .achievementBox .listUl .textBox {
	position: relative;
	padding-left: 2.4rem;
	border-left: 2px solid var(--main-color);
}
#service .achievementBox .listUl .col {
	color: var(--gray01);
}
#service .achievementBox .listUl .price {
	margin-top: 1.5rem;
	color: var(--main-color);
	line-height: 1;
	font-size: 3.2rem;
	display: flex;
	align-items: flex-end;
}
#service .achievementBox .listUl .price .big {
	font-size: 5.6rem;
	font-weight: 500;
}
#service .achievementBox .listUl .price .sml {
	font-size: 2.4rem;
}
#service .achievementBox .listUl .price .block {
	display: block;
	margin-bottom: 0.7rem;
}
#service .voiceBox {
	padding: 13.8rem 0;
}
#service .voiceBox .subBox {
	display: flex;
	align-items: flex-start;
	margin-bottom: 1.5rem;
}
#service .voiceBox .subBox:last-child {
	margin-bottom: 0;
}
#service .voiceBox .photoBox {
	padding-right: 2rem;
	width: 34rem;
	display: flex;
}
#service .voiceBox .image {
	width: 8rem;
}
#service .voiceBox .photoBox .right {
	flex: 1;
}
#service .voiceBox .photoBox .title {
	font-size: 2.4rem;
	font-weight: 500;
	margin: 0.7rem 0 0 1.6rem;
}
#service .voiceBox .photoBox .title .sml {
	margin-top: 0.3rem;
	display: flex;
	font-size: 1.4rem;
	font-weight: 400;
	color: var(--gray01);
}
#service .voiceBox .talkBox {
	padding: 4rem 4rem 9rem;
	flex: 1;
	color: var(--gray01);
	background-color: #fff;
	border-radius: 0.4rem;
	line-height: 1.6;
	position: relative;
}
#service .voiceBox .talkBox dl {
	height: 32.4rem;
	overflow: hidden;
	position: relative;
}
#service .voiceBox .talkBox dl::after {
	width: 100%;
	height: 8rem;
	position: absolute;
	bottom: 0;
	left: 0;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 0%, #FFF 100%);
	content: "";
}
#service .voiceBox .talkBox dt {
	margin-bottom: 0.8rem;
	font-size: 2rem;
	font-weight: 500;
	color: var(--main-color);
}
#service .voiceBox .talkBox dd {
	margin-bottom: 2.4rem;
	padding-bottom: 2.5rem;
	border-bottom: 1px solid var(--sub-color);
}
#service .voiceBox .talkBox dd p {
	margin-bottom: 2rem;
}
#service .voiceBox .talkBox dd p:last-child {
	margin-bottom: 0;
}
#service .voiceBox .talkBox dl.open {
	height: auto;
}
#service .voiceBox .talkBox dl.open::after {
	display: none;
}
#service .voiceBox .moreBtn {
	text-align: center;
	width: 100%;
	position: absolute;
	bottom: 4.1rem;
	left: 0;
}
#service .voiceBox .moreBtn span {
	display: block;
	width: 100%;
}
#service .voiceBox .moreBtn a {
	font-size: 1.6rem;
	display: inline-block;
	vertical-align: top;
}
#service .voiceBox .moreBtn img {
	margin: -0.2rem 0.8rem 0 0;
	width: 2.4rem;
	display: inline-block;
	vertical-align: middle;
}
#service .voiceBox .moreBtn .close {
	display: none;
}
#service .voiceBox .moreBtn .on .close {
	display: block;
}
#service .voiceBox .moreBtn .on .open {
	display: none;
}
#service .flowBox {
	margin-bottom: 14rem;
}
#service .flowBox .flowUl {
	display: flex;
	flex-wrap: wrap;
	gap: 2.7rem;
	color: var(--gray01);
	font-size: 1.6rem;
	line-height: 1.63;
}
#service .flowBox .flowUl li {
	width: calc((100% - 8.1rem)/4);
}
#service .flowBox .flowUl .point {
	background: var(--gray03);
	padding: 0 2rem 2rem;
	position: relative;
}
#service .flowBox .flowUl .point::before {
	width: 100%;
	height: 2.1rem;
	position: absolute;
	left: 0;
	bottom: calc(100% - 1px);
	background: url("img/jigyo/bg01.png") no-repeat left top / 100% 100%;
	content: "";
}
#service .flowBox .flowUl .bgBox {
	background-color: #fff;
	border-radius: 0.4rem;
}
#service .flowBox .flowUl .topBox {
	margin-bottom: 1.6rem;
}
#service .flowBox .flowUl .title {
	font-size: 2rem;
	font-weight: 500;
	text-align: center;
	color: var(--base-color);
}
#service .flowBox .flowUl .num {
	margin: 0 auto 1rem;
	width: 6.6rem;
	height: 6.6rem;
	color: var(--white);
	background-color: var(--main-color);
	font-weight: 400;
	display: block;
	border-radius: 50%;
	font-size: 1.4rem;
	display: flex;
	text-align: center;
	align-items: center;
	justify-content: center;
	line-height: 1;
}
#service .flowBox .flowUl .num .big {
	margin-top: 0.5rem;
	font-size: 2.4rem;
	display: block;
}
#service .flowBox .flowUl .ttl {
	margin-bottom: -0.1rem;
	color: var(--main-color);
	font-weight: 500;
	text-align: center;
	position: relative;
	top: -0.8rem;
}
#service .flowBox .flowUl .txtBox {
	padding: 2.3rem 2rem 3.6rem;
	font-weight: 500;
}
#service .counsellingBox {
	max-width: 96rem;
	margin-bottom: 5.7rem;
}
#service .counsellingBox .bgBox {
	padding: 4rem 6rem 6rem;
	background-color: #fff;
	border-radius: 0.4rem;
}
#service .counsellingBox .title {
	margin-bottom: 3.3rem;
	font-size: 3.2rem;
	font-weight: 400;
	color: var(--main-color);
	text-align: center;
	letter-spacing: 0.05em;
}
#service .counsellingBox .imgBox {
	display: flex;
	align-items: flex-start;
	font-weight: 500;
}
#service .counsellingBox .photo {
	width: 42.4rem;
	border-radius: 0.4rem;
	overflow: hidden;
}
#service .counsellingBox .photo img {
	width: 100%;
}
#service .counsellingBox .textBox {
	flex: 1;
	margin: -0.2rem 0 0 3.2rem;
}
#service .counsellingBox .timeDl {
	padding-top: 0.9rem;
	margin-top: 2.3rem;
	border-top: 1px solid var(--main-color);
}
#service .counsellingBox .timeDl dd {
	padding: 0 0 1.1rem 8.8rem;
	font-weight: 400;
	line-height: 1.6;
	border-bottom: 1px solid var(--main-color);
}
#service .counsellingBox .timeDl dt {
	float: left;
}
#service .counsellingBox .comLink {
	margin-top: 2.4rem;
	text-align: left;
	max-width: inherit;
}
#service .counsellingBox .comLink a {
	max-width: 31.2rem;
	height: 7.2rem;
}
#service .counsellingBox .notes {
	margin-top: 0.7rem;
	color: var(--gray02);
	font-size: 1.4rem;
}
#service .messageBox {
	max-width: 96rem;
	color: var(--white);
	background-color: var(--main-color);
	border-radius: 0.4rem;
	padding: 3.8rem 6rem 4rem;
}
#service .messageBox .title {
	font-size: 3.2rem;
	text-align: center;
	font-weight: 400;
	margin-bottom: 2.2rem;
}
#service .messageBox .flexBox {
	padding: 2.8rem 4.7rem;
	border-radius: 0.4rem;
	border: 1px solid var(--white);
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#service .messageBox .flexBox .rightBox {
	padding: 0.3rem 0 0.5rem 3.9rem;
	width: calc(50% - 2.1rem);
	position: relative;
	border-left: 1px solid var(--white);
	line-height: 1;
}
#service .messageBox .flexBox p a {
	margin: 1.8rem 0 1.6rem 0;
	color: var(--white);
	font-weight: 500;
	font-size: 3.2rem;
	display: inline-block;
	vertical-align: top;
	line-height: 1;
}
#service .messageBox .flexBox p img {
	width: 2.5rem;
	margin: -0.4rem 0.4rem 0 0;
}
#service .messageBox .comLink {
	flex: 1;
	max-width: inherit;
}
#service .messageBox .comLink a {
	margin: 0;
	max-width: 35.2rem;
	color: var(--main-color);
	background: var(--white);
}
#service .messageBox .comLink a span {
	background-image: url(img/common/computer_blue.png);
}
@media all and (min-width: 960px) {
	#service .voiceBox .moreBtn a:hover {
		opacity: 0.7;
	}
	#service .messageBox .comLink a:hover {
		color: var(--main-color);
		background-color: var(--sub-color);
	}
}
@media all and (max-width: 959px) {
	#service .showBox .imgBox .textBox {
		padding: 5.5rem 3rem 3.3rem 1rem;
		width: auto;
		margin: 0 -0.5rem 0 0;
	}
	#service .showBox .imgBox .textBox .title {
		margin-bottom: 3.1rem;
		font-size: 2.8rem;
		letter-spacing: 0.05em;
		padding-bottom: 1.6rem;
	}
	#service .showBox .imgBox .photo {
		width: 26.7rem;
		margin: -1.9rem -3.5rem 0 auto;
		position: relative;
		border-radius: 0.4rem 0 0 0.4rem;
	}
	#service .showBox .imgBox .textBox p {
		margin-bottom: 0.9rem;
	}
	#service .showBox .imgBox.right .textBox {
		margin: 0 0 0 -0.4rem;
		padding-right: 1rem;
		padding-left: 3rem;
	}
	#service .showBox .imgBox .textBox .title .num {
		font-size: 8rem;
		bottom: auto;
		left: 0;
		top: -8.8rem;
	}
	#service .showBox .imgBox.right .textBox .title::after { 
		left: -3.0rem;
	}
	#service .showBox .imgBox .textBox .title::after {
		right: -3.0rem;
	}
	#service .showBox .box03 .textBox {
		padding-bottom: 5.7rem;
	}
	#service .showBox .box03.bg::after {
		top: 5.9rem;
		bottom: 9rem;
	}
	#service .showBox {
		margin-bottom: 8rem;
	}
	#service .achievementBox {
		padding: 4rem 1rem 4rem;
	}
	#service .achievementBox .listUl {
		gap: 1rem;
	}
	#service .achievementBox .listUl li {
		padding:2.3rem 2rem 2.5rem;
		width: 100%;
		font-size: 1.4rem;
		line-height: 1.65;
		border-radius: 0.4rem;
	}
	#service .voiceBox {
		padding: 7.9rem 0;
	}
	#service .voiceBox .subBox {
		display: block;
		margin-bottom: 3.1rem;
	}
	#service .voiceBox .talkBox dd p {
		margin-bottom: 1.1rem;
	}
	#service .voiceBox .talkBox {
		padding: 2.4rem 2rem 7.5rem;
		width: auto;
	}
	#service .voiceBox .talkBox dt {
		margin-bottom: 1rem;
		font-size: 1.8rem;
	}
	#service .voiceBox .talkBox dd {
		margin-bottom: 1.5rem;
		padding-bottom: 1.7rem;
	}
	#service .voiceBox .talkBox dl {
		height: 28rem;
	}
	#service .voiceBox .photoBox {
		width: auto;
		padding: 0;
		margin-bottom: 1.6rem;
	}
	#service .flowBox {
		margin: 0 0 8rem;
	}
	#service .flowBox .flowUl li {
		width: 100%;
	}
	#service .flowBox .flowUl .topBox {
		display: flex;
		align-items: center;
		margin-bottom:1.3rem;
	}
	#service .flowBox .flowUl .point {
		padding-bottom: 2.5rem;
	}
	#service .flowBox .flowUl .topBox .title {
		flex: 1;
		margin-left: 1.2rem;
		text-align: left;
		font-size: 1.8rem;
	}
	#service .counsellingBox {
		margin: 0 0 5.6rem;
	}
	#service .counsellingBox .imgBox {
		display: block;
	}
	#service .counsellingBox .photo {
		width: auto;
		margin-bottom: 2.4rem;
	}
	#service .counsellingBox .textBox {
		margin: 0;
	}
	#service .counsellingBox .bgBox {
		padding: 3.1rem 2rem 1.4rem;
	}
	#service .counsellingBox .timeDl dd {
		padding: 0 0 1.1rem 0;
	}
	#service .counsellingBox .timeDl dt {
		float: none;
	}
	#service .messageBox {
		max-width: inherit;
		padding: 3.1rem 1rem 3.2rem;
	}
	#service .messageBox .flexBox {
		display: block;
		padding: 2.7rem 1.9rem;
	}
	#service .messageBox .flexBox .rightBox {
		padding: 1.8rem 0 0 0;
		margin-top: 1.3rem;
		border-top: 1px solid var(--white);
		width: auto;
		border-left: none;
		text-align: center;
	}
	#service .showBox .headLine04 {
		margin-bottom: 9.8rem;
	}
	#service .showBox .imgBox {
		margin-bottom: 4.8rem;
	}
	#service .showBox .right.bg::after {
		top: -19.1rem;
		bottom: 15rem;
		right: auto;
		left: -2rem;
		width: 29.8%;
	}
	#service .showBox .imgBox .image {
		text-align: center;
		margin-top: 1.8rem;
	}
	#service .showBox .imgBox.box02 {
		margin-bottom: 8.8rem;
	}
	#service .achievementBox .headLine04 .en {
		margin-bottom: 0.3rem;
		font-weight: 400;
	}
	#service .achievementBox .headLine04 {
		font-size: 3.2rem;
		margin-bottom: 3.3rem;
	}
	#service .achievementBox .listUl .ttl {
		font-size: 1.8rem;
		margin-bottom: 0.8rem;
	}
	#service .achievementBox .listUl .price .big {
		font-size: 4.8rem;
	}
	#service .achievementBox .listUl .price .sml {
		font-size: 2rem;
	}
	#service .achievementBox .listUl .price .block {
		font-size: 1.6rem;
		padding-top: 0.8rem;
	}
	#service .voiceBox .photoBox .title {
		font-size: 2.2rem;
	}
	#service .voiceBox .moreBtn {
		bottom: 2.5rem;
	}
	#service .flowBox .flowUl .num {
		margin: 0;
		width: 5.5rem;
		height: 5.5rem;
		font-size: 1.4rem;
	}
	#service .flowBox .flowUl .num .big {
		margin-top: 0.1rem;
	}
	#service .counsellingBox .title {
		font-size: 2.2rem;
		margin-bottom: 2.4rem;
	}
	#service .counsellingBox .comLink a {
		font-size: 1.4rem;
		margin: 0 auto;
	}
	#service .messageBox .title {
		font-size: 2.8rem;
		margin-bottom: 1.7rem;
	}
	#service .messageBox .comLink a {
		font-size: 1.4rem;
		margin: 0 auto;
	}
	#service .messageBox .flexBox p a {
		margin: 1.6rem 0 1.1rem 0;
		font-size: 3rem;
	}
	#service .messageBox .flexBox .sml {
		line-height: 1.65;
	}
	#service .messageBox .comLink a span {
        padding: 0 0 0 3.2rem;
        background-position: left center;
        font-size: 1.4rem;
    }
}




/*------------------------------------------------------------
	about
------------------------------------------------------------*/
#main .aboutList {
	margin-bottom: 6.1rem;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 4.1rem;
}
#main .aboutList a {
	display: flex;
	align-items: center;
	font-weight: 400;
	color: var(--white);
}
#main .aboutList .icon {
	width: 2.4rem;
    height: 2.4rem;
	margin-right: 0.7rem;
	position: relative;
    background-color: transparent;
    border-radius: 50%;
	border: 1px solid var(--white);
}
#main .aboutList .icon::after {
    margin-top: 0.1rem;
    width: 1rem;
    height: 0.6rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background: url("img/common/icon10.png") no-repeat left top / 100% 100%;
    transition: .3s;
    content: "";
}
#about .bigPhoto {
	margin-bottom: 12rem;
}
#about .bigPhoto img {
	border-radius: 0.4rem;
	width: 100%;
}
#main .stance {
	position: relative;
	z-index: 2;
	margin: 0 10rem 12.4rem;
}
#main .stance .lBox {
	width: 21.7rem;
	margin-right: 2rem;
}
#main .stance .rBox {
	padding: 4.8rem 4.8rem;
	flex: 1;
	background-color: var(--white);
	border-radius: 0.4rem;
}
#main .stance .headLine01 {
	margin-bottom: 1.5rem;
}
#main .stance p {
	margin-bottom: 1.8rem;
	color: var(--gray01);
}
#main .stance p:last-child {
	margin-bottom: 0;
}
#main .stance .sub {
	padding-bottom: 3.2rem;
	margin-bottom: 3.3rem;
	border-bottom: 1px solid var(--sub-color);
}
#main .stance .sub:last-child {
	margin-bottom: 0;
	border: none;
	padding-bottom: 0;
}
#main .messageSec {
	margin-bottom: 19.9rem;
	position: relative;
	z-index: 1;
}
#main .messageSec::before {
	width: calc(50% + 2rem);  
	height: 57.8rem;
	opacity: 0.15;
	border-radius: 0rem 0.4rem 0.4rem 0rem;
	background-color: var(--main-color);
	position: absolute;  
	top: -36rem;
	left: -2rem;
	z-index: -1;
	content: ""; 
}
#main .messageSec::after {
	width: calc(50% + 2rem);  
	height: 57.8rem;
	opacity: 0.15;
	border-radius: 0rem 0.4rem 0.4rem 0rem;
	background-color: var(--main-color);
	position: absolute;  
	bottom: -8rem;
	right: -2rem;
	z-index: -1;
	content: ""; 
}
#main .messageSec .mainConts {
	padding: 10rem 10rem;
}
#main .messageSec .inner {
	padding-top: 0.1rem;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}
#main .messageSec .inner .lBox {
	position: sticky;
	top: 16.4rem;
	left: 0;
	width: 38rem;
	margin-right: 5rem;
}
#main .messageSec .inner .lBox .name {
	font-size: 2.4rem;
	font-weight: 500;
}
#main .messageSec .inner .lBox .name span {
	display: block;
	font-size: 1.6rem;
	font-weight: 400;
	color: var(--main-color);
}
#main .messageSec .inner .photo {
	margin-bottom: 2.3rem;
}
#main .messageSec .inner .photo img {
	border-radius: 0.4rem;
}
#main .messageSec .inner .rBox {
	padding-top: 11.7rem;
	flex: 1;
}
#main .messageSec .inner .rBox .headLine01 {
	margin-bottom: 2.8rem;
}
#main .messageSec .inner .rBox p {
	margin-bottom: 2.45rem;
}
#main .messageSec .inner .rBox p:last-child {
	margin-bottom: 0;
}
#main .messageSec .inner .rBox .blue {
	color: var(--main-color);
	font-weight: 500;
}
#main .companySec {
	padding: 12rem 0;
	position: relative;
	z-index: 1;
}
#main .companySec:after {
	width: calc(50% + 50rem);  
	height: 100%;
	border-radius: 0rem 0.4rem 0.4rem 0rem;
	background-color: var(--main-color);
	position: absolute;  
	top: 0;
	left: -2rem;
	z-index: -1;
	content: ""; 
}
#main .companySec .mainConts {
	max-width: 106rem;
	margin: 4.2rem auto 0;
}
#main .companyDl {
	align-items: stretch;
}
#main .companyDl > dt {
	margin-bottom: 2.3rem;
	width: 16.8rem;
	color: var(--main-color);
	padding-right: 1rem;
	padding-bottom: 2.4rem;
	border-bottom: 1px solid rgba(42, 26, 5, 0.2);
}
#main .companyDl > dd {
	margin-bottom: 2.3rem;
	padding-bottom: 2.4rem;
	color: var(--gray01);
	width: calc(100% - 16.8rem);
	border-bottom: 1px solid rgba(42, 26, 5, 0.2);
}
#main .companyDl .subDl dt {
	width: 12.0rem;
}
#main .companyDl .subDl dd {
	margin-bottom: 2.3rem;
	width: calc(100% - 12.0rem);
	color: var(--gray01);
}
#main .companyDl .subDl dd a {
	color: currentColor;
}
#main .companyDl .subDl dd:last-child {
	margin-bottom: 0;
}

#main .companyDl .linkSpan {
	display: inline-block;
	margin-bottom: 0.6rem;
}
#main .companyDl .linkSpan:last-child {
	margin-bottom: 0;
}
#main .companyDl .linkSpan a {
	color: var(--main-color);
	text-decoration: underline;
	display: inline-block;
	padding-right: 3.6rem;
	background: url(img/common/icon04.png) no-repeat right center;
	background-size: 2.4rem auto;
}
#main .companyDl .textList02 {
	margin-left: 1.5rem;
}
#main .companyDl .textList02 li {
	padding-left: 1rem;
	position: relative;
}
#main .companyDl .textList02 li::before {
	width: 0.4rem;  
	height: 0.4rem;
	background-color: var(--gray01);
	position: absolute;  
	top: 1.3rem;
	left: -0.5rem;
	border-radius: 100%;
	content: ""; 
}
#main .companyDl .sub {
	margin: 0 0 2.8rem -8.6rem;
}
#main .companyDl .sub:last-child {
	margin-bottom: 0;
}
#main .companyDl .sub .textImg {
	width: 28rem;
	margin-right: 1rem;
}
#main .companyDl .sub .textBox {
	flex: 1;
}
#main .companyDl .sub p {
	margin-bottom: 1rem;
	font-size: 1.4rem;
}
#main .companyDl .sub p:last-child {
	margin-bottom: 0;
}
#main .companyDl > dt:last-of-type,
#main .companyDl > dd:last-of-type {
	border: none;
	margin-bottom: 0;
	padding-bottom: 0;
}
#main .companySec {
	margin-bottom: 12rem;
}
#main .historySec .mainConts {
	padding: 10rem;
}
#main .historyDl dt {
	width: 15rem;
	font-size: 2.4rem;
	padding-right: 1rem;
	color: var(--main-color);
}
#main .historyDl dt .year {
	font-family: "Roboto", sans-serif;
}
#main .historyDl dd {
	color: var(--gray01);
	padding-top: 0.6rem;
	width: calc(100% - 15rem);
	position: relative;
	z-index: 1;
}
#main .historyDl dd:after {
	width: 0.4rem;  
	background: var(--sub-color);
	position: absolute;  
	top: 1.8rem;
	left: -2.8rem;
	bottom: -1.8rem;
	content: ""; 
	z-index: -1;
}
#main .historyDl dd::before {
	width: 0.4rem;  
	height: 0.4rem;
	background: var(--main-color);
	position: absolute;  
	top: 1.8rem;
	left: -2.8rem;
	content: ""; 
}
#main .historyDl .sub {
	padding-bottom: 1.8rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#main .historyDl .date {
	width: 6rem;
	color: var(--main-color);
}
#main .historyDl .date .num {
	font-family: "Roboto", sans-serif;
}
#main .historyDl .txt {
	margin-bottom: 0.7rem;
	width: calc(100% - 6rem);
}
#main .historyDl .txt:last-child {
	margin-bottom: 0;
}
#main .historyDl dd a {
	font-weight: 500;
	margin-right: 0.8rem;
	text-decoration: underline;
	color: var(--main-color);
}
#main .historyDl dd .txtSpan {
	display: block;
	margin-top: 1rem;
}
#main .historyDl dd:last-child .sub {
	padding-bottom: 0;
}
#main .historyDl dd:last-child:after {
	bottom: 0.7rem;
}
#main .organizational {
	padding: 12rem 0 0;
}
#main .organizational .inner {
	max-width: 96rem;
	margin: 0 auto 12rem;
}
#main .organizational .inner p {
	color: var(--gray01);
	margin-bottom: 2.5rem;
}
#main .organizational .inner .comLink {
	margin: 0;
}
#main .organizational .comContactBox {
	background-color: transparent;
	padding: 0;
	max-width: inherit;
}
#main .organizational .mainConts {
	padding: 4rem 10rem;
}
#main .organizational .comContactBox .sub {
	margin-bottom: 0;
	border-radius: 0.4rem;
	border: 1px solid var(--sub-color);
}
#main .organizational .comContactBox .rBox {
	text-align: left;
	padding-left: 4rem;
	border-left: 1px solid var(--sub-color);
}
#main .organizational .comContactBox .comLink {
	width: 35.2rem;
	margin: 0 4rem 0 -0rem;
}
#main .organizational .comContactBox .rBox p {
	font-size: 1.6rem;
}
#main .organizational .comContactBox .rBox .tel span {
	margin-bottom: 0.5rem;
}
@media all and (min-width: 960px) {
	#main .aboutList a:hover .icon::after {
        margin-top: 0.3rem;
		background-image: url(img/common/icon10_blue.png);
    }
	#main .aboutList a:hover .icon {
		background-color: var(--white);
	}
	#about .pageTtle {
		margin-bottom: 6.2rem;
	}
	#main .companySec {
		padding-left: 10rem;
	}
	#main .companySec .headLine06 {
		margin-left: 4rem;
	}
	#main .companySec .mainConts {
		padding-bottom: 5.5rem;
	}
	#main .historyDl dd a:hover {
		text-decoration: none;
	}
	#main .companyDl .linkSpan a:hover {
		text-decoration: none;
	}
	#main .organizational .comContactBox h3 {
		font-size: 2.4rem;
		margin-bottom: 2.0rem;
		font-weight: 500;
	}
	#main .organizational .inner .comLink a:hover {
		background-color: var(--white);
	}
}
@media all and (max-width: 959px) {
	#main .aboutList {
		margin: 0 6rem 4rem 0;
		gap: 1.6rem 2.4rem;
	}
	#about .bigPhoto {
		margin: 0 -2rem 8rem 0;
	}
	#about .bigPhoto img {
		border-radius: 0.4rem 0 0 0.4rem;
	}
	#main .stance {
		margin: 0 0 4rem;
		display: block;
	}
	#main .stance .lBox {
		width: auto;
		margin: 0 0 3.5rem;
	}
	#main .stance .rBox {
		padding: 4.6rem 2rem;
	}
	#main .stance .headLine01 {
		font-size: 2.2rem;
	}
	#main .stance p {
		margin-bottom: 1rem;
		line-height: 1.63;
	}
	#main .stance .sub {
		margin-bottom: 2.4rem;
		padding-bottom: 2.4rem;
	}
	#main .messageSec::before { 
		height: 50.2rem;
		width: calc(50% + -2.8rem);
	}
	#main .messageSec .mainConts {
		padding: 4.8rem 2rem;
	}
	#main .messageSec .inner {
		display: block;
		margin-top: -1.5rem;
	}
	#main .messageSec .inner .lBox {
		position: static;
		width: auto;
		margin: 0 0 5rem;
	}
	#main .messageSec .inner .rBox {
		padding-top: 0;
	}
	#main .messageSec .inner .photo img {
		width: 100%;
	}
	#main .messageSec .inner .photo {
		margin-bottom: 1.3rem;
	}
	#main .messageSec .inner .lBox .name {
		font-size: 2.2rem;
	}
	#main .messageSec .inner .rBox .headLine01 {
		font-size: 2.4rem;
		font-weight: 500;
		margin: 0 -2rem 2.7rem 0;
	}
	#main .messageSec::after {
		height: 57.8rem;
		bottom: -4rem;
	}
	#main .messageSec {
		margin-bottom: 12rem;
	}
	#main .companySec {
		margin-bottom: 8rem;
		padding: 6rem 0;
	}
	#main .historySec .mainConts {
		padding: 2.5rem 2rem;
	}
	#main .companySec .mainConts {
		max-width: inherit;
		margin-top: 4.8rem;
		padding: 4.7rem 2rem;
	}
	#main .companySec::after {
		width: calc(100% - 0rem);
	}
	#main .companyDl {
		display: block;
	}
	#main .companyDl > dt {
		width: auto;
		border: none;
		margin-bottom: 0;
		padding: 0 0 0.7rem;
	}
	#main .companyDl > dd {
		width: auto;
		margin-bottom: 1.9rem;
		padding-bottom: 2rem;
	}
	#main .companyDl .subDl {
		display: block;
	}
	#main .companyDl .subDl dt {
		width: auto;
		margin-bottom: 0.8rem;
	}
	#main .companyDl .subDl dd {
		width: auto;
		margin-bottom: 1.5rem;
	}
	#main .companyDl .sub {
		display: block;
		margin: 0 0 1.2rem; 
	}
	#main .companyDl .sub .textImg {
		width: auto;
		margin: 0 0 0.8rem;
		padding-top: 0.8rem;
	}
	#main .historySec .headLine06 {
		margin-bottom: 2.4rem;
	}
	#main .historySec .link {
		padding-top: 2.4rem;
		border-top: 1px solid #948C82;
	}
	#main .historySec .link a {
		display: block;
		text-align: center;
	}
	#main .historySec .link span {
		display: inline-block;
		padding-left: 3.2rem;
		background-size: 2.4rem auto;
		background-position: left center;
		background-repeat: no-repeat;
	}
	#main .historySec .link .open {
		background-image: url(img/common/icon11.png);
	}
	#main .historySec .link .close {
		display: none;
		background-image: url(img/common/icon12.png);
	}
	#main .historySec.on .link .open {
		display: none;
	}
	#main .historySec.on .link .close {
		display: inline-block;
	}
	#main .historySec .jsBox {
		height: 48rem;
		overflow-y: scroll;
		padding-bottom: 2.5rem;
		display: none;
	}
	#main .organizational {
		padding-top: 8rem;
	}
	#main .organizational .headLine06 {
		margin-bottom: 3.2rem;
	}
	#main .organizational .inner {
		max-width: inherit;
		margin-bottom: 7.9rem;
	}
	#main .organizational .mainConts {
		padding: 3.2rem 1rem;
		background-color: var(--main-color);
	}
	#main .organizational .comContactBox h3 {
		color: var(--white);
	}
	#main .organizational .comContactBox .sub {
		padding: 2.7rem 1.9rem;
	}
	#main .organizational .comContactBox .comLink {
		width: auto;
		max-width: inherit;
		margin: 0 auto 1.3rem;
	}
	#main .organizational .comContactBox .comLink.web a {
		min-height: 5.6rem;
		color: var(--main-color);
		background-color: var(--white);
		border-radius: 0.4rem;
		padding-top: 0;
	}
	#main .organizational .comContactBox .comLink.web span {
		font-size: 1.4rem;
		padding: 0 0 0 3rem;
		background: url(img/common/computer_blue.png) no-repeat left center;
		background-size: 2.4rem auto;
	}
	#main .organizational .comContactBox .rBox {
		border-left: none;
		padding: 1.2rem 0 0;
		text-align: center;
		border-top: 1px solid var(--white);
	}
	#main .organizational .comContactBox .rBox p {
		font-size: 1.6rem;
		line-height: 1.65;
		color: var(--white);
	}
	#main .organizational .comContactBox .rBox .tel a {
		color: var(--white);
		font-size: 3rem;
	}
	#main .organizational .comContactBox .rBox .tel {
		margin-bottom: 0.1rem;
		line-height: 1.6;
	}
	#main .organizational .comContactBox .rBox .tel span {
		color: var(--white);
		padding: 0 0 0.1rem 3rem;
		margin-bottom: 0.7rem;
		font-weight: 400;
		background: url(img/common/call_white.png) no-repeat left center;
		background-size: 2.5rem auto;
	}
	#main .organizational .inner .comLink {
		margin: 0 auto;
	}
	#main .historyDl {
		display: block;
	}
	#main .historyDl dt {
		width: auto;
		padding: 0;
		margin-bottom: -0.8rem;
	}
	#main .historyDl dd {
		width: auto;
	}
	#main .historyDl dd::after {
		display: none;
	}
	#main .historyDl dd::before {
		display: none;
	}
	#main .historyDl .sub {
		padding-bottom: 1rem;
		display: block;
	}
	#main .historyDl .date {
		width: auto;
	}
	#main .historyDl .txt {
		width: auto;
		text-align: justify;
		line-height: 1.6;
	}

}

/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main .mainVisual {
	display: flex;
	justify-content: flex-end;
	position: relative;
}
#main .mainVisual .scroll {
	position: absolute;
	bottom: 9.3rem;
	left: 3.6rem;
	z-index: 1;
}
#main .mainVisual .scroll a {
	padding-bottom: 11.5rem;
	display: block;
	font-size: 2rem;
	font-weight: 300;
	width: 3.5rem;
	color: var(--main-color);
	-webkit-writing-mode : tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	position: relative;
}
#main .mainVisual .scroll a:hover {
	opacity: 0.7;
}
#main .mainVisual .scroll a:after {
	width: 1px;  
	height: 10.9rem;
	background-color: var(--main-color);
	position: absolute;  
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	content: ""; 
}
#main .mainVisual .photo {
	border-radius: 0.4rem 0 0 0.4rem;
	height: 73.6rem;
	position: relative;
	margin: 0 -2rem 0 -23.5rem;
	overflow: hidden;
	width: calc(50% + 23.3rem);
}
#main .mainVisual .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .mainVisual h2 {
	min-width: 60rem;
	position: relative;
	z-index: 1;
	font-size: 4.4rem;
	line-height: 1.4;
	font-weight: 400;
	padding-top: 16rem;
}
#main .aboutSec {
	padding: 14.3rem 0 0;
	position: relative;
	margin-bottom: 12rem;
}
#main .aboutSec:after {
	width: calc(50% + 50rem);  
	background-color: var(--white);
	position: absolute;  
	top: -29rem;
	right: -2rem;  
	bottom: 10.3rem;
	z-index: -1;
	content: ""; 
	border-radius: 0.4rem;
}
#main .aboutSec .content {
	display: flex;
	flex-wrap: wrap;
	position: relative;
}
#main .aboutSec .content .photo01 {
	flex-basis: 100%;
	text-align: right;
	margin-top: -9.8rem;
}
#main .aboutSec .content .photo01 img {
	width: 32rem;
	margin-left: auto;
	border-radius: 0.4rem;
}
#main .aboutSec .photoBox {
	margin-right: 11.5rem;
	width: 32rem;
}
#main .aboutSec .photoBox img {
	border-radius: 0.4rem;
	width: 100%;
}
#main .aboutSec .textBox {
	flex: 1;
	margin-top: -0.9rem;
}
#main .aboutSec .textBox p {
	margin-bottom: 1rem;
	font-size: 1.8rem;
	line-height: 1.8;
	font-weight: 300;
}
#main .aboutSec .textBox p .bgSpan {
	background: linear-gradient(transparent 0%, transparent 60%, #E5F0F8 60%, #E5F0F8 100%);
}
#index .moreLink {
	margin-top: 4.8rem;
}
#index .moreLink a {
	text-decoration: none;
}
#main .serviceSec {
	padding: 14.6rem 0 12rem;
	position: relative;
}
#index .ttlBox {
	color: var(--white);
	margin-bottom: 8.1rem;
}
#main .serviceSec:after {
	width: calc(50% + 50rem);  
	height: 100%;
	background-color: var(--main-color);
	position: absolute;  
	top: 0;
	z-index: -1;
	left: -2rem;
	border-radius: 0rem 0.4rem 0.4rem 0rem;
	content: ""; 
}
#index .ttlBox .headLine07 {
	color: var(--white);
	margin: -1.3rem 2.7rem 0 0;
}
#index .ttlBox p {
	font-weight: 300;
	font-size: 1.8rem;
}
#main .purpose .mainConts01 {
	margin-bottom: 2.4rem;
	min-height: 50rem;
}
#main .purpose h4 {
	margin-bottom: 3.4rem;
	font-size: 2.4rem;
	color: var(--main-color);
	font-weight: 500;
}
#main .purpose h4 img {
	vertical-align: -0.5rem;
	margin-left: 0.3rem;
}
#main .purposeList {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 0;
	margin: 0 -0.4rem;
	position: relative;
}
#main .purposeList > li {
	width: calc(33.33% - 0.8rem);
	margin: 0 0.4rem;
}
#main .purposeList > li .sub {
	position: relative;
	cursor: pointer;
	padding: 1.6rem 2rem 2rem;
	text-align: center;
	border-radius: 0.4rem;
	background-color: var(--white);
	border: 1px solid var(--sub-color);
	transition: 0.3s;
}
#main .purposeList > .liStyle .sub {
	box-shadow: 1px 1px 0 inset var(--main-color),-1px -1px 0 inset var(--main-color);
	border-color: var(--main-color);
	background-color: var(--sub-color);
}
#main .purposeList > li .sub {
}
#main .purposeList > li .img {
	min-height: 7rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
#main .purposeList > li p {
	color: var(--main-color);
	font-weight: 500;
	margin-top: 0.6rem;
}
#main .purposeList .subBox {
	position: absolute;
	padding: 1.8rem 3.2rem 1.8rem;
	top: calc(100% + 2.6rem);
	left: 0.3rem;
	width: calc(100% - 0.6rem);
	border: 1px solid var(--main-color);
	border-radius: 0.4rem;
}
#main .purposeList .subBox::before {
	width: 5rem;  
	height: 5rem;
	background: url(img/index/arrow.png) no-repeat;
	background-size: 100% auto;
	position: absolute;  
	top: -1.8rem;
	left: 14.7rem;
	content: ""; 
}
#main .purposeList .subList {
	display: flex;
	flex-wrap: wrap;
	gap: 0 2.5rem;
	overflow: hidden;
}
#main .purposeList .subList li {
	margin-bottom: -0.1rem;
	width: calc((100% - 2.5rem) / 2);
}
#main .purposeList .subList li a {
	padding: 1.3rem 0;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #D9D9D9;
}
#main .purposeList .subList li .comIco {
	margin: 0.1rem 0.7rem 0 0; 
}
#main .businessList {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 0;
	margin: 0 -0.4rem;
}
#main .businessList li {
	margin: 0 0.4rem;
	width: calc(25% - 0.8rem);
}
#main .businessList a {
	padding: 0.5rem 2.2rem;
	display: flex;
	align-items: center;
	min-height: 8rem;
	border: 1px solid var(--sub-color);
	border-radius: 0.4rem;
	background-color: var(--white);
}
#main .businessList .comIco {
	margin-right: 0.8rem;
}
#index .serviceSec .moreLink {
	margin-top: 3.2rem;
}
#main .newsSec {
	padding: 13rem 0 11.5rem;
}
#main .newsSec .lBox {
	width: 36.5rem;
	padding-right: 1rem;
}
#main .newsSec .rBox {
	flex: 1;
}
#main .newsDl .subSpan {
	min-width: inherit;
}
#index .newsSec .moreLink {
	margin-top: 2rem;
}
#index .newsSec .moreLink a:not(:hover) .comIco {
	background-color: transparent;
}
#index .youtubeSec{
	margin: 0 -2rem;
}
#index .youtubeSec .mainConts {
	max-width: 126rem;
	padding: 10.5rem 2rem 7.4rem;
}
#index .youtubeSec .ttlBox {
	color: var(--main-color);
}
#index .youtubeSec .ttlBox .headLine07 {
	color: var(--main-color);
}
#index .youtubeSec .ttlBox p {
	font-weight: 400;
	padding-top: 2rem;
}
#main .youtubeUl {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 0;
	margin: 0 -0.4rem 4rem;
}
#main .youtubeUl li {
	margin: 0 0.4rem;
	width: calc(33.33% - 0.8rem);
}
#main .youtubeUl a {
	display: block;
	padding: 2rem 2rem 1.8rem;
	height: 100%;
	border-radius: 0.4rem;
	border: 1px solid var(--sub-color);
}
#main .youtubeUl li .photo {
	aspect-ratio: 686 / 386;
	position: relative;
}
#main .youtubeUl li .photo:after {
	width: 4.8rem;  
	height: 4.8rem;
	background: url(img/index/movie_ico.png) no-repeat;
	background-size: 100% auto;
	position: absolute;  
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	content: ""; 
}
#main .youtubeUl li .photo img {
	border-radius: 0.4rem;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .youtubeUl li .textBox {
	padding: 1.8rem 0 0;
}
#main .youtubeUl li .textBox p {
	margin-bottom: 1rem;
}
#main .youtubeUl li .textBox .date {
	margin-bottom: 0;
	color: #2A1A05;
	opacity: 0.5;
}
#main .youtubeLink a {
	display: inline-flex;
	align-items: center;
}
#main .youtubeLink a:hover {
	opacity: 0.7;
}
#main .youtubeLink img {
	margin-right: 1.5rem;
}
#main .youtubeLink .span01 {
	color: #2A1A05;
	display: block;
	opacity: 0.5;
}
#main .youtubeLink .span02 {
	display: inline-block;
	font-size: 2rem;
	font-weight: 500;
	opacity: 1;
	color: var(--main-color);
	padding-right: 3rem;
	background: url(img/common/icon13.png) no-repeat right center;
	background-size: 2.4rem auto;
}
#main .snsSec {
	padding: 12rem 0 10rem;
}
#main .snsSec .mainConts {
	max-width: 96rem;
	padding: 4rem 2rem;
}
#main .snsSec h3 {
	margin-bottom: 2.3rem;
	font-size: 2rem;
	font-weight: 500;
	color: var(--main-color);
	text-align: center;
}
#main .snsSec .snsUl {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem 1.6rem;
}
#main .snsSec .snsUl li {
	width: 8rem;
}
#main .snsSec .snsUl li a:hover {
	opacity: 0.7;
}
@media all and (min-width: 960px) {
	#main .purposeList .subList li a:hover {
		color: var(--main-color);
	}
	#main .businessList a:hover {
		color: var(--main-color);
		background-color: var(--sub-color);
	}
	#index .newsList a:hover p {
		font-weight: 500;
	}
	#main .youtubeUl a:hover {
		background-color: var(--sub-color);
	}
	#index .newsSec .newsList {
		padding-top: 0;
		margin-top: -1rem;
	}
	#index .newsList a {
		padding-top: 2rem;
		padding-bottom: 2rem;
		align-items: center;
	}
	#index .newsList .photoBox {
		width: 20rem;
		margin-right: 3rem;
		aspect-ratio: 400 / 210;
	}
	#main .purposeList > li .sub:hover {
		box-shadow: 1px 1px 0 inset var(--main-color),-1px -1px 0 inset var(--main-color);
		border-color: var(--main-color);
		background-color: var(--sub-color);
	}
	#main .youtubSub {
		max-width: 116rem;
		margin: 0 auto;
	}
	#main .purposeList li:nth-child(2) .subBox::before {
		left: 50%;
		transform: translateX(-50%);
	}
	#main .purposeList li:nth-child(3) .subBox::before {
		left: auto;
		right: 14rem;
	}
	#main .purpose .mainConts01 {
		padding-bottom: 23rem;
	}
	#main .purposeList .sub:hover::after {
		width: 100%;  
		height: 3rem;
		background-color: rgba(255, 255, 255, 0);
		position: absolute;  
		bottom: -3rem;
		left: 0;
		content: ""; 
	}
}
@media all and (max-width: 959px) {
	#main .mainVisual {
		display: block;
	}
	#main .mainVisual h2 {
		font-size: 3.2rem;
		min-width: inherit;
		padding-top: 4rem;
		margin-bottom: -2rem;
	}
	#main .mainVisual .photo {
		height: auto;
		margin: 0 -2rem 0 -1rem;
		width: auto;
	}
	#main .mainVisual .scroll {
		display: none;
	}
	#main .aboutSec {
		margin-bottom: 4.7rem;
		padding: 4.8rem 0 0;
	}
	#main .aboutSec .content {
		display: block;
	}
	#main .aboutSec .photoBox {
		width: 26rem;
		margin: 0 0 5.3rem -1rem;
	}
	#main .aboutSec .textBox {
		padding-left: 3.9rem;
		padding-right: 1rem;
		margin: 0 auto;
		width: fit-content;
	}
	#main .aboutSec .content .photo01 {
		margin: 4rem 0 0 auto;
		width: 26rem;
	}
	#index .moreLink {
		margin-top: 2.3rem;
		justify-content: flex-start;
	}
	#main .aboutSec::after {
		top: 8.8rem;
		bottom: 20.4rem;
		width: auto;
		right: -2rem;
		left: 0rem;
	}
	#main .serviceSec {
		padding: 6.2rem 0 4.6rem;
	}
	#main .serviceSec::after { 
		width: calc(100% - 0rem);
	}
	#index .serviceSec .ttlBox {
		margin-bottom: 7.2rem;
		padding-right: 5rem;
		display: block;
	}
	#index .serviceSec .ttlBox .headLine07 {
		margin: 0 0 2.5rem;
	}
	#main .purpose .mainConts01 {
		margin-bottom: 2rem;
		min-height: inherit;
		padding: 1.8rem 2rem;
	}
	#main .purpose h4 {
		margin-bottom: 2.1rem;
		font-size: 2.2rem;
	}
	#main .purpose h4 img {
		vertical-align: -0.7rem;
	}
	#main .purposeList {
		display: block;
		margin: 0;
	}
	#main .purposeList > li {
		margin: 0 0 0.8rem;
		width: auto;
	}
	#main .purposeList > li:last-child {
		margin-bottom: 0;
	}
	#main .purposeList .subBox {
		position: relative;
		top: auto;
		left: auto;
		padding: 2.5rem 0 0;
		width: auto;
		border-radius: 0;
		border: none;
	}
	#main .purposeList .subList {
		overflow: visible;
		padding: 1.2rem 1.8rem;
		display: block;
		border-radius: 0.4rem;
		position: relative;
		border: 1px solid var(--main-color);
	}
	#main .purposeList .subList li {
		width: auto;
	}
	#main .purposeList .subList li:last-child a {
		border: none;
	}
	#main .purposeList .subList li a {
		padding: 1.2rem 0;
	}
	#main .purposeList .subBox::before { 
		display: none;
	}
	#main .purposeList .subList::before { 
		left: 50%;
		top: -1.8rem;
		width: 5rem;
		height: 5rem;
		position: absolute;
		content: "";
		background: url(img/index/arrow.png) no-repeat;
		background-size: 100% auto;
		transform: translateX(-50%);
	}
	#main .businessList {
		display: block;
		margin: 0;
	}
	#main .businessList li {
		margin: 0 0 0.8rem;
		width: auto;
	}
	#main .businessList a {
		min-height: 6rem;
	}
	#index .serviceSec .moreLink {
		margin-top: 2.2rem;
		justify-content: flex-end;
	}
	#main .newsSec {
		padding: 9.5rem 0 8.7rem;
	}
	#main .newsSec .content {
		display: block;
	}
	#main .newsSec .lBox {
		width: auto;
		padding: 0 0 2rem;
	}
	#index .newsSec .newsList {
		margin-top: 0;
	}
	#index .newsSec .newsList a {
		padding-bottom: 3rem;
		border-bottom: 1px solid rgba(83, 167, 209, 0.20);
	}
	#index .newsList .photoBox {
		margin-bottom: 1.7rem;
	}
	#index .newsSec .moreLink {
		justify-content: flex-end;
	}
	#index .youtubeSec .mainConts {
		padding: 6rem 2rem 4.1rem;
		border-radius: 0;
	}
	#index .youtubeSec .ttlBox {
		padding-right: 0;
		margin-bottom: 5rem;
	}
	#index .youtubeSec .ttlBox p {
		padding: 2.5rem 0 0;
	}
	#main .youtubeUl {
		display: block;
		margin: 0 0 3.5rem;
	}
	#main .youtubeUl li {
		width: auto;
		margin: 0 0 0.9rem;
	}
	#main .youtubeUl a {
		padding: 2rem 1.9rem 1.6rem;
	}
	#main .youtubeUl li .textBox {
		padding-top: 1rem;
	}
	#main .youtubeLink .span02 {
		font-size: 1.8rem;
	}
	#main .snsSec {
		padding: 4rem 0 11.3rem;
	}
	#main .snsSec h3 {
		font-size: 1.8rem;
		margin-bottom: 2.7rem;
	}
	#main .snsSec .snsUl li {
		width: 4rem;
	}
	#index .newsDl {
		margin-bottom: 0.1rem;
	}
}

/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#service .showBox .imgBox .rentalDl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#service .showBox .imgBox .rentalDl dt {
	font-size: 1.8rem;
	width: 19.8rem;
	color: var(--main-color);
	padding-bottom: 1.5rem;
	padding-right: 2rem;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid var(--sub-color);
}
#service .showBox .imgBox .rentalDl dd {
	padding-bottom: 1.5rem;
	margin-bottom: 1.5rem;
	width: calc(100% - 19.8rem);
	color: var(--gray01);
	border-bottom: 1px solid var(--sub-color);
}
#service .showBox .imgBox .rentalDl dd:last-of-type,
#service .showBox .imgBox .rentalDl dt:last-of-type {
	border: none;
	margin-bottom: 0;
	padding-bottom: 0;
}
#service .achievementBox .txt {
	text-align: right;
	color: var(--white);
	font-size: 1.4rem;
	margin-top: 2.5rem;
}
#service .flowBox02 {
	padding: 14rem 0 0;
}
#service .flowBox02 .headLine04 {
	margin-bottom: 4.5rem;
}
#service .flowBox02 .flowUl .txtBox .sub {
	margin-top: 1.3rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--sub-color);
}
#service .flowBox02 .flowUl .txtBox .sub p {
	font-size: 1.2rem;
	color: var(--gray01);
	font-weight: 400;
}
@media all and (min-width: 960px) {
	#service.rental .showBox .box03.bg::after {
		top: -6rem; 
	}
	#service.rental .achievementBox {
		padding-bottom: 3.3rem;
	}
	#service .flowBox02 .headLine04 .en {
		font-size: 2rem;
	}
	#service .flowBox02 .flowUl {
		gap: 2.7rem 0.9rem;
	}
	#service .flowBox02 .flowUl li {
		width: calc((100% - 1.8rem) / 3);
	}
	#service .flowBox02 .flowUl .txtBox {
		padding: 4rem;
	}
}
@media all and (max-width: 959px) {
	#service .showBox .imgBox .rentalDl {
		display: block;
	}
	#service .showBox .imgBox .rentalDl dt {
		width: auto;
		border: none;
		padding-bottom: 0;
		margin-bottom: 1rem;
	}
	#service .showBox .imgBox .rentalDl dd {
		width: auto;
	}
	#service .flowBox02 {
		padding-top: 8rem;
	}
	
}

/*------------------------------------------------------------
	build
------------------------------------------------------------*/
#service .showBox .imgBox .rentalDl dd .txtSpan {
	display: block;
	margin-top: 2rem;
}
@media all and (min-width: 960px) {
	#service.build .showBox .imgBox .textBox {
		padding-bottom: 8.2rem;
	}
	#service.build .showBox .imgBox .photo {
		margin-top: -6rem;
	}
	#service.build .showBox .imgBox {
		margin-bottom: 6rem;
	}
	#service.build .showBox .right.bg::after { 
		bottom: -5rem;
	}
	#service.build .showBox .imgBox.box02 {
		margin-bottom: 17rem;
	}
	#service.build .flowBox02 {
		padding-top: 0;
	}
}
@media all and (max-width: 959px) {
	#service.build .showVisual .linkUl {
		margin-top: -8rem;
	}
	#service.build .flowBox02 {
		padding-top: 0rem;
	}
}

/*------------------------------------------------------------
	consulting
------------------------------------------------------------*/
#service.consulting .showVisual {
	margin-bottom: 0;
}
#main .problems {
	margin-bottom: 8rem;
}
#main .problems .content {
	max-width: 96rem;
}
#main .problems .headLine01 {
	margin-bottom: 4rem;
	font-size: 4rem;
	font-weight: 400;
}
#main .problems .imgBox .photoBox {
	width: 42.4%;
	order: 2;
	margin: 6.2rem 0 0 -8rem;
}
#main .problems .imgBox .photoBox img {
	width: 100%;
}
#main .problems .imgBox .textBox {
	flex: 1;
}
#main .problems .imgBox .textBox li {
	width: fit-content;
	margin-bottom: 1rem;
	padding: 0.6rem 1.8rem 0.85rem 1.5rem;
	border-radius: 0.4rem;
	font-size: 2rem;
	font-weight: 500;
	color: var(--gray01);
	position: relative;
	background-color: var(--white);
}
#main .problems .imgBox .textBox li:after {
	width: 1.6rem;  
	height: 1.6rem;
	background: url(img/jigyo/consulting/bg.png) no-repeat;
	background-size: 100% auto;
	position: absolute;  
	bottom: 0;
	right: -1.6rem;  
	content: ""; 
}
#main .various {
	padding: 11rem 0 7.3rem;
	margin: 0 -2rem;
	background-color: var(--main-color);
}
#main .various .content {
	align-items: flex-start;
}
#main .various .textBox {
	flex: 1;
	margin-top: -3rem;
}
#main .various .photoBox {
	width: 58%;
	order: -1;
	margin-right: 6.7rem;
}
#main .various .photoBox img {
	width: 100%;
}
#main .various h3 {
	margin-bottom: 1.5rem;
	font-size: 4rem;
	font-weight: 400;
	color: var(--white);
}
#main .various .list li {
	padding: 0.78rem 0;
	width: 32rem;
	font-size: 1.8rem;
	border-bottom: 1px solid rgba(229, 240, 248, 0.5);
	color: var(--white);
}
#main .various .list li:last-child {
	border: none;
}
#main .proposals {
	padding: 9.8rem 0 12rem;
}
#main .proposals .content {
	max-width: 96rem;
}
#main .proposals h3 {
	font-size: 4rem;
	font-weight: 400;
	margin-bottom: 4.3rem;
	color: var(--main-color);
}
#main .proposals .list {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem 0;
	margin: 0 -1rem;
}
#main .proposals .list li {
	width: calc(50% - 2rem);
	margin: 0 1rem;
	min-height: 32.6rem;
	padding: 1rem 5rem 3.3rem;
	background-color: #fff;
	border-radius: 0.4rem;
}
#main .proposals .list li:has(a[target="_blank"]) {
	padding: 0;
	min-height: inherit;
	background-color: transparent;
}
#main .proposals .list li:has(a[target="_blank"]) a {
	display: block;
	padding: 1rem 5rem 3.3rem;
	border-radius: 0.4rem;
	min-height: 32.6rem;
	background-color: #fff;
}
#main .proposals .list .img {
	margin-bottom: -1.0rem;
	text-align: center;
	min-height: 14rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
#main .proposals .list h4 {
	margin-bottom: 0.7rem;
	text-align: center;
	font-size: 2.4rem;
	color: var(--main-color);
	font-weight: 500;
}
#main .proposals .list a h4 {
	padding-bottom: 0.2rem;
	width: fit-content;
	margin: 0 auto 0.7rem;
	padding-right: 2.5rem;
	background: url(img/common/icon14.png) no-repeat right center;
	background-size: 2rem auto;
}
#main .proposals .list p {
	color: var(--gray01);
}
@media all and (min-width: 960px) {
	#service.consulting .showVisual::after { 
		display: none;
	}
	.consulting .showVisual .image img {
		border-radius: 0;
	}
	#main .proposals .list li:has(a[target="_blank"]) a:hover {
		background-color: rgba(255, 255, 255, 0.5);
	}
}
@media all and (max-width: 959px) {
	#main .problems {
		padding: 4.7rem 0 0;
	}
	#main .problems .content {
		max-width: inherit;
	}
	#main .problems .headLine01 {
		margin-bottom: 2.5rem;
		font-size: 2.8rem;
		text-align: center;
	}
	#main .problems .imgBox {
		display: block;
	}
	#main .problems .imgBox .textBox li {
		width: auto;
		margin-bottom: 2rem;
		padding: 1.3rem 2rem 1.5rem;
		font-size: 1.8rem;
		text-align: center;
	}
	#main .problems .imgBox .textBox li::after {
		width: 2.7rem;
		height: 2.7rem;
		right: auto;
		left: 50%;
		transform: translateX(-50%);
		bottom: -1.0rem;
		top: auto;
		background-image: url(img/jigyo/consulting/arrow.png);
	}
	#main .problems .imgBox .photoBox {
		width: auto;
		margin: 3.8rem 0 0;
	}
	#main .problems .imgBox .photoBox img {
		width: 100%;
	}
	#main .various {
		padding: 7.8rem 2rem 7.3rem;
	}
	#main .various .content {
		display: block;
	}
	#main .various .textBox {
		margin: 0;
	}
	#main .various h3 {
		margin-bottom: 4.2rem;
		font-size: 3.2rem;
		text-align: center;
	}
	#main .various .photo {
		margin-bottom: 3rem;
	}
	#main .various .photo img {
		width: 100%;
	}
	#main .various .list li {
		width: auto;
	}
	#main .proposals {
		padding: 8rem 0 12rem;
	}
	#main .proposals .content {
		max-width: inherit;
	}
	#main .proposals h3 {
		margin-bottom: 4rem;
		font-size: 2.8rem;
		text-align: center;
	}
	#main .proposals .list {
		display: block;
		margin: 0;
	}
	#main .proposals .list li {
		width: auto;
		min-height: 31rem;
		padding: 2.5rem 2rem 2rem;
		margin: 0 0 1.6rem;
	}
	#main .proposals .list li:has(a[target="_blank"]) {
		padding: 0;
		min-height: inherit;
	}
	#main .proposals .list li:has(a[target="_blank"]) a {
		padding: 2.5rem 2rem 2rem;
		min-height: 31rem;
	}
	#main .proposals .list li:last-child {
		margin-bottom: 0;
	}
	#main .proposals .list .img {
		min-height: auto;
		margin-bottom: 2.5rem;
		display: block;
	}
	#main .proposals .list h4 {
		font-size: 2.2rem;
	}
	.cover {
		opacity: 0;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 800;
		background: rgba(0, 0, 0, 0.40);
		transition: all 0.3s;
		visibility: hidden;
	}
	.cover.active {
		opacity: 1;
		visibility: visible;
	}
}

/*------------------------------------------------------------
	index
------------------------------------------------------------*/

@media all and (min-width: 960px) {
}
@media all and (max-width: 959px) {
}

.mfp-container {
	padding: 8rem 2rem;
	overflow-y: auto;
	position: fixed;
}
.mfp-fade.mfp-bg {
	opacity: 0;
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.5;
}
.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0;
}
.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}

#trp-floater-ls {
	display: none !important;
}
@media all and (min-width: 600px) and (max-width: 959px) {
	#index .youtubeSec .ttlBox p {
		padding-top: 1.5rem;
	}
}

@media all and (min-width: 960px) and (max-width: 1200px) {
	/* #main .mainVisual h2 {
		margin-right: -5rem;
	}*/
	#main .mainVisual .photo {
		margin-left: -37.5rem;
		width: calc(50% + 53.3rem);
	} 
	#main .mainVisual .scroll {
		left: -2.5rem;
	}
	#main .newsSec .lBox {
		width: 32.5rem;
	}
	#main .mainVisual {
		justify-content: space-between;
	}
}



.mainLeft {
    display: inline-block;
    opacity: 0;
    transform: translatex(0.5em);
    transition: .7s linear;
}
body.loadOver .mainLeft {
    opacity: 1;
    transform: translatex(0);
}
.dely01 {
    transition-delay: .5s;
}
.dely02 {
    transition-delay: 1s;
}
.zoomIn {
    overflow: hidden;
    --para: 0;
}
.zoomIn > img {
    display: block;
    opacity: 0;
    transform: scale(1.5);
    transform-origin: 50% calc(100% - var(--para));
}
.zoomIn.isShow > img {
    animation: zoomin 1s cubic-bezier(.104,.204,.492,1) forwards;
}
@keyframes zoomin {
    0% {
        opacity: 0;
        transform: scale(1.5);
    }
    100% {
        opacity: 1;
        transform: scale(1.3);
    }
}
.fadeIn {
    opacity: 0;
    transform: translateY(40px);
    transition: 3s cubic-bezier(.075,.82,.165,1);
}
.fadeIn.isShow {
    opacity: 1;
    transform: translateY(0);
}
.paraImg {
    --para: 0;
}
.paraImg img {
    transform: translateY(var(--para));
}
#main .pageTtle .content > *:not(h2),
#main > div > .content {
    opacity: 0;
    transition: .7s linear;
    transition-delay: 1s;
}
body.loadOver #main .pageTtle .content > *:not(h2),
body.loadOver #main > div > .content {
    opacity: 1;
}
#main .pageTtle h2 span {
    display: block;
    opacity: 0;
    transform: translatex(0.5em);
    transition: .7s linear;
}
#main .pageTtle h2 span.jp {
    transition-delay: .5s;
}
body.loadOver #main .pageTtle h2 span {
    opacity: 1;
    transform: translatex(0);
}

.mw_wp_form .error {
	font-size: 1.4rem !important; 
	color: #E72020 !important;
}

@media all and (max-width: 959px) {
	.mw_wp_form .error {
		font-size: 1.2rem !important;
	}
}