@charset "utf-8";
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
#container {
	background-color: #fff;
}
#container a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
#main {
	padding: 79px 0 0 0;
	margin: 0;
	width: auto;
	display: block;
	background-color: #fff;
	color: #0C0C0C;
	position: relative;
	overflow: hidden;
	z-index: 10;
	font-size: 16px;
	letter-spacing: 0.05em;
	font-weight: 400;
}
#main * {
	color: #0C0C0C;
	line-height: 1.5;
	box-sizing: border-box;
}
#main a {
	text-decoration: none;
	transition: .3s;
}
#main h2,
#main h3,
#main h4,
#main h5,
#main h6 {
	color: #0C0C0C;
	margin: 0;
	padding: 0;
	background: none;
}
#main br {
	line-height: 1;
}
#main img {
	max-width: 100%;
}
@media all and (min-width: 768px) {
	#container .sp {
		display: none !important;
	}
}
@media all and (min-width: 768px) and (max-width: 1100px) {
	#main {
		font-size: 14px;
	}
}
@media all and (max-width: 767px) {
	#container a:hover,
	#container a:hover img {
		opacity: 1 !important;
	}
	#container .pc {
		display: none !important;
	}
	#container a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
	body.fixed {
		position: fixed;
		width: 100%;
		height: 100%;
	}
}
@media all and (max-width: 767px) {
	#main {
		padding-top: 59px;
		font-size: 14px;
	}
}


/* pagePath */
#pagePath {
	padding: 22px 0 21px;
	font-size: 11.2px;
	border-bottom: 1px solid #D9D9D9;
}
#pagePath * {
	line-height: 1.5;
}
#pagePath ul {
	margin: 0 auto;
	width: 96%;
	max-width: 1260px;
	display: flex;
	overflow-x: auto;
	letter-spacing: 0.05em;
	gap: 26px;
	white-space:nowrap;
}
#pagePath a {
	color: #C00;
	text-decoration: underline;
	font-weight: 500;
}
#pagePath a:hover {
	text-decoration: none;
}
#pagePath li {
	position: relative;
	flex-shrink: 0;
}
#pagePath li::after {
	position: absolute;
	top: 0;
	right: -17px;
	content: "/";
}
#pagePath li:last-child::after {
	display: none;
}
#pagePath li:first-child a {
	font-weight: 400;
}
@media all and (max-width: 767px) {
	#pagePath {
		padding: 12px 0 4px 15px;
		font-size: 10px;
	}
	#pagePath ul {
		width: auto;
		padding-bottom: 8px;
	}
}


/* gHeader */
#gHeader {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 99;
	background-color: #fff;
}
#gHeader .hBox,
#container .menuBox {
	margin: 0 auto;
	width: 96%;
	padding-right: 148px;
	max-width: 1260px;
	box-sizing: border-box;
}
#gHeader .comBtn,
#container .menuBox .comBtn {
	margin-top: 2px;
}


#gNavi,
#container .menuBox .naviUl {
	margin: 5px 0 0 75px;
	flex: 1;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	line-height: 1.5;
	gap: 49px;
	letter-spacing: 0.05em;
}
#gNavi *,
#container .menuBox .naviUl * {
	line-height: 1.4;
}
#gNavi a,
#gNavi .btn,
#container .menuBox .naviUl a,
#container .menuBox .naviUl .btn {
	display: block;
	text-decoration: none;
	text-align: center;
	color: #0C0C0C;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}
#gNavi > li,
#container .menuBox .naviUl > li {
	position: relative;
}
#gNavi > li > a,
#gNavi .btn,
#container .menuBox .naviUl > li > a,
#container .menuBox .naviUl .btn {
	padding: 17px 0 19px;
	position: relative;
}
#gNavi .en,
#container .menuBox .naviUl .en {
	color: #C00 !important;
	font-size: 11px;
	font-weight: 400;
	display: block;
	margin-bottom: 3px;
	letter-spacing: 0.05em;
}
#gNavi .innerUl,
#container .menuBox .naviUl .innerUl {
	display: none;
}
#gNavi .innerUl a *,
#container .menuBox .naviUl .innerUl a * {
	font-size: inherit;
	line-height: inherit;
}
#gNavi .innerUl li,
#container .menuBox .naviUl .innerUl li {
	border-bottom: 1px solid #B3B3B3;
}
#gNavi .innerUl .inner,
#container .menuBox .naviUl .innerUl .inner {
	display: block;
	width: 100%;
}
#gNavi .innerUl small,
#container .menuBox .naviUl .innerUl small {
	margin-top: -2px;
	display: block;
	font-size: 13px;
}
@media all and (min-width: 768px) {
	#gHeader.fix {
		position: fixed;
	}
	#gHeader .hBox {
		display: flex !important;
		align-items: center;
	}
	#gNavi > li > a::before,
	#gNavi .btn::before {
		width: 60px;
		height: 4px;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		background-color: #C00;
		content: "";
		opacity: 0;
		transition: .3s;
	}
	#gNavi .on a::before,
	#gNavi .on .btn::before {
		opacity: 1;
	}
	#gNavi .active a::before,
	#gNavi .active .btn::before {
		opacity: 1;
	}
	#gNavi > li > a:hover:before,
	#gNavi .btn:hover {
		opacity: 1;
	}
	#gNavi .innerUl a:hover {
		background-color: rgba(217,217,217, 0.9);
	}
	#gNavi .innerUl a:hover:after {
		margin-right: -10px;
	}
	#gNavi .innerUl {
		display: none;
		position: absolute;
		top: 100%;
		left: -84px;
		width: 370px;
	}
	#gNavi .innerUl a {
		padding: 10px 50px 10px 20px;
		color: #222;
		display: flex;
		font-size: 16px;
		min-height: 79px;
		font-weight: 500;
		align-items: center;
		text-align: left;
		line-height: 1.4;
		box-sizing: border-box;
		background-color: rgba(244,244,244, 0.9);
		position: relative;
	}
	#gNavi .innerUl a::after {
		width: 13px;
		height: 11px;
		position: absolute;
		top: 50%;
		right: 29px;
		transform: translateY(-50%);
		background: url("../image/common/icon01.png") no-repeat left top / 100% 100%;
		content: "";
		transition: .3s;
	}
	#container .menuBox {
		display: none !important;
	}
}
@media all and (min-width: 768px) and (max-width: 1200px) {
	#gHeader .hBox {
		padding-right: 0;
	}
	#gNavi {
		margin-left: 0;
		gap: 20px;
		letter-spacing: 0;
	}
	#gNavi a {
		font-size: 13px;
	}
	#gHeader .comBtn a {
		width: 118px !important;
  		height: 40px !important;
		font-size: 14px !important;
	}
	#gHeader .comBtn {
		margin-top: 5px;
	}
	#gNavi .innerUl {
		width: 300px;
	}
	#gNavi .innerUl a {
		padding-left: 10px;
		font-size: 14px;
	}
	#gNavi .innerUl small {
		font-size: 10px;
	}
}
@media all and (max-width: 767px) {
	#gHeader .spTop {
		color: #fff;
		font-size: 14px;
		background-color: #0C0C0C;
		padding: 20px 15px 18px;
		position: relative;
	}
	#gHeader .spTop .title {
		color: #fff;
		font-weight: 700;
		letter-spacing: 0.05em;
	}
	#gHeader .hBox,
	#container .menuBox {
		width: auto;
		padding: 11px 20px 60px;
		display: none;
	}
	#gHeader .hBox .comBtn a,
	#container .menuBox .comBtn a {
		margin: 0 auto;
	}
	#gHeader .spTop .menuBtn {
		width: 60px;
		height: 100%;
		position: absolute;
		top: 0;
		right: 0;
	}
	#gHeader .spTop .menuBtn::before {
		width: 1px;
		height: 30px;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		background-color: #fff;
		content: "";
	}
	#gNavi,
	#container .menuBox .naviUl {
		margin: 0;
		display: block;
	}
	#gNavi a,
	#gNavi .btn,
	#container .menuBox .naviUl a,
	#container .menuBox .naviUl .btn {
		text-align: left;
	}
	#gNavi > li,
	#container .menuBox .naviUl > li {
		border-bottom: 1px solid #D9D9D9;
	}
	#gNavi .en,
	#container .menuBox .naviUl .en {
		margin-bottom: 1px;
	}
	#gNavi > li > a,
	#gNavi .btn,
	#container .menuBox .naviUl > li > a,
	#container .menuBox .naviUl .btn {
		padding: 16px 10px 17px;
	}
	#gNavi > li > a::before,
	#container .menuBox .naviUl > li > a::before {
		width: 11px;
    	height: 9px;
		position: absolute;
		top: 50%;
		right: 11px;
		transform: translateY(-50%);
		background: url("../image/common/icon01.png") no-repeat left top / 100% 100%;
		content: "";
		transition: .3s;
	}
	#gNavi .btn::before,
	#container .menuBox .naviUl .btn::before {
		width: 11px;
    	height: 11px;
		position: absolute;
		top: 50%;
		right: 12px;
		transform: translateY(-50%);
		background: url("../image/common/icon08.png") no-repeat left top / 100% 100%;
		content: "";
		transition: .3s;
	}
	#gNavi .btn.open::before,
	#container .menuBox .naviUl .btn.open::before {
		background-image: url("../image/common/icon08_open.png");
	}
	#gHeader .hBox .comBtn,
	#container .menuBox .comBtn {
		margin-top: 30px;
	}
	#gHeader .hBox .comBtn a,
	#container .menuBox .comBtn a {
		width: 150px;
  		height: 45px;
	}
	#gHeader .linkUl,
	#container .menuBox .linkUl {
		margin-top: 27px;
		text-align: center;
		font-size: 13px;
	}
	#gHeader .linkUl a,
	#container .menuBox .linkUl a {
		font-weight: 500;
		letter-spacing: 0.05em;
		display: inline-block; 
		vertical-align: top;
	}
	#gHeader .linkUl li,
	#container .menuBox .linkUl li {
		margin-bottom: 20px;
	}
	#gHeader .linkUl li:last-child,
	#container .menuBox .linkUl li:last-child {
		margin-bottom: 0;
	}
	#gHeader .linkUl img,
	#container .menuBox .linkUl img {
		display: inline-block;
		vertical-align: middle;
		width: 12px;
	}
	#gNavi .innerUl,
	#container .menuBox .naviUl .innerUl {
		padding: 8px 0 26px 24px;
	}
	#gNavi .innerUl li,
	#container .menuBox .naviUl .innerUl li {
		margin-bottom: 17px;
		border-bottom: none;
	}
	#gNavi .innerUl li:last-child,
	#container .menuBox .naviUl .innerUl li:last-child {
		margin-bottom: 0;
	}
	#gNavi .innerUl li a,
	#container .menuBox .naviUl .innerUl li a {
		padding-left: 12px;
		font-size: 12px;
		display: block;
		position: relative;
		font-weight: 400;
	}
	#gNavi .innerUl li a::before,
	#container .menuBox .naviUl .innerUl li a::before {
		width: 5px;
		height: 1px;
		position: absolute;
		top: 8px;
		left: 0;
		background-color: #C00;
		content: "";
	}
	#gNavi .innerUl .liMar,
	#container .menuBox .naviUl .innerUl .liMar {
		margin-left: 12px;
	}
	#gNavi .innerUl small,
	#container .menuBox .naviUl .innerUl small {
		margin-top: 1px;
		font-size: 12px;
	}
	#container .menuBox {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		overflow-y: auto;
		z-index: 99;
		background-color: #fff;
		padding: 0;
		box-sizing: border-box;
	}
	#container .menuBox .innerBox {
		padding: 90px 20px;
	}
}


.menu {
	position: absolute;
	top: 50%;
	right: 50%;
	height: 16px;
	width: 20px;
	cursor: pointer;
	z-index: 100;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	transform: translate(50%, -50%);
}
.menu.active .top {
	-webkit-transform: translateY(8px) translateX(0) rotate(-45deg);
	-ms-transform: translateY(8px) translateX(0) rotate(-45deg);
	transform: translateY(8px) translateX(0) rotate(-45deg);
}
.menu.active .middle {
	opacity: 0;
}
.menu.active .bottom {
	-webkit-transform: translateY(-8px) translateX(0) rotate(45deg);
	-ms-transform: translateY(-8px) translateX(0) rotate(45deg);
	transform: translateY(-8px) translateX(0) rotate(45deg);
}
.menu span {
	background: #fff;
	border: none;
	height: 2px;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transition: all .35s ease;
	transition: all .35s ease;
	cursor: pointer;
}
.menu span:nth-of-type(2) {
	top: 8px;
}
.menu span:nth-of-type(3) {
	top: 16px;
}

.fixMenu {
	position: fixed;
	top: 50px;
	right: 0;
	width: 45px;
	height: 45px;
	background-color: #0C0C0C;
	border-radius: 5px 0 0 5px;
	overflow: hidden;
	z-index: 110;
	visibility: hidden;
	opacity: 0;
	transition: all .3s ease;
}
.fixMenu.on {
	visibility: visible;
	opacity: 1;
}
.fixMenu .menu {
	margin-top: -1px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}


/* gFooter */
#gFooter {
	background-color: #F4F4F4;
	position: relative;
	z-index: 10;
}
#gFooter * {
	box-sizing: border-box;
}
#gFooter .entryBox {
	background: #222;
}
#gFooter .entryBox .content {
	position: relative;
	display: flex;
	padding: 77px 0 76px;
	max-width: 960px;
}
#gFooter .entryBox .image {
	width: 353px;
	position: absolute;
	top: 50%;
	left: -157px;
	transform: translateY(-50%);
	margin-top: 14px;
}
#gFooter .entryBox .image img {
	width: 100%;
}
#gFooter .entryBox .leftBox {
	flex: 1;
	font-size: 16px;
}
#gFooter .entryBox .leftBox p {
	color: #fff;
	line-height: 2;
	letter-spacing: 0.05em;
}
#gFooter .entryBox .comBtn02 {
	margin: -3px -3px 0 0;
}
#gFooter .fBox.content {
	padding: 50px 0 63px;
	max-width: 964px;
}
#gFooter .fNavi {
	display: flex;
	flex-wrap: wrap;
	font-size: 15px;
}
#gFooter .fNavi .item03 {
	flex: 1;
}
#gFooter .fNavi .item01 {
	width: 33%;
}
#gFooter .fNavi .item02 {
	width: 33.5%;
}
#gFooter .fNavi a {
	color: #0C0C0C;
	text-decoration: none;
}
#gFooter .fNavi .btn {
	display: inline-block;
	vertical-align: top;
	position: relative;
	font-weight: 700;
	border-left: 5px solid #C00;
	padding: 6px 0 6px 10px;
	letter-spacing: 0.05em;
}
#gFooter .fNavi a.btn::after {
	width: 10px;
	height: 15px;
	position: absolute;
	top: 50%;
	right: -19px;
	transform: translateY(-50%);
	background: url("../image/common/icon07.png") no-repeat left top / 100% 100%;
	content: "";
	transition: .3s;
}
#gFooter .fNavi .linkUl li {
	margin-bottom: 31px;
}
#gFooter .fNavi .linkUl li:last-child {
	margin-bottom: 0;
}
#gFooter .fNavi .innerUl {
	margin: 9px 0 -2px 15px;
	line-height: 1;
	letter-spacing: 0.05em;
}
#gFooter .fNavi .innerUl * {
	line-height: 1;
}
#gFooter .fNavi .innerUl a {
	color: #C00;
	font-size: 13px;
	line-height: 1.35;
	display: inline-block;
	vertical-align: top;
	position: relative;
}
#gFooter .fNavi .innerUl a::after {
	width: 6px;
	height: 10px;
	position: absolute;
	bottom: 3px;
	right: -14px;
	background: url("../image/common/icon06.png") no-repeat left top / 100% 100%;
	content: "";
	transition: .3s;
}
#gFooter .fNavi .innerUl li {
	margin-bottom: 10px;
}
#gFooter .fNavi .innerUl li:last-child {
	margin-bottom: 0;
}
#gFooter .fNavi a.btn[target="_blank"]::after {
	width: 15px;
	height: 15px;
	right: -21px;
	background-image: url("../image/common/icon05.png");
}
@media all and (min-width: 768px) {
	#gFooter .fNavi .innerUl a:hover {
		text-decoration: underline;
	}
	#gFooter .fNavi .innerUl a:hover::after {
		margin-right: -5px;
	}
	#gFooter .fNavi a.btn:hover {
		text-decoration: underline;
	}
	#gFooter .fNavi a.btn:hover::after {
		margin-right: -5px;
	}
}
@media all and (min-width: 768px) and (max-width: 1100px) {
	#gFooter .fNavi .btn {
		padding-left: 7px;
		border-width: 3px;
	}
	#gFooter .fNavi .innerUl {
		margin-left: 10px;
		letter-spacing: 0;
	}
	#gFooter .fNavi .innerUl a {
		font-size: 12px;
	}
	#gFooter .entryBox .leftBox {
		font-size: 14px;
	}
}
@media all and (max-width: 767px) {
	#gFooter .entryBox .content {
		display: block;
		padding: 46px 0 50px;
	}
	#gFooter .entryBox .image {
		width: 248px;
		top: -1px;
		left: -27px;
		transform: translateY(0);
		margin-top: 0;
	}
	#gFooter .entryBox .comBtn02 {
		margin: 31px 0 0 0;
		text-align: center;
	}
	#gFooter .entryBox .leftBox {
		font-size: 14px;
		text-align: center;
	}
}

/* comBtn */
#container .comBtn a {
	display: flex;
	width: 148px;
	height: 43px;
	color: #fff;
	text-decoration: none;
	justify-content: center;
	align-items: center;
	border-radius: 50px;
	background: #C00;
	border: 1px solid #C00;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.03em;
	transition: .3s;
}
@media all and (min-width: 768px) {
	#container .comBtn a:hover {
		color: #C00;
		background-color: #fff;
	}
}

/* comBtn02 */
#container .comBtn02 {
	margin-top: 23px;
}
#container .comBtn02 a {
	padding: 5px 81px 5px 39px;
	display: inline-flex;
	height: 50px;
	color: #0C0C0C;
	text-decoration: none;
	justify-content: center;
	align-items: center;
	border-radius: 50px;
	background: #fff;
	border: 1px solid #0C0C0C;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.05em;
	transition: .3s;
	position: relative;
}
#container .comBtn02 a::after {
	width: 13px;
	height: 11px;
	position: absolute;
	top: 50%;
	right: 38px;
	transform: translateY(-50%);
	background: url("../image/common/icon01.png") no-repeat left top / 100% 100%;
	content: "";
	transition: .3s;
}
#container .comBtn02.white a {
	padding-left: 118px;
	width: 300px;
	height: 100px;
	color: #fff;
	border: 1px solid #fff;
	font-size: 26px;
	font-weight: 600;
	border-radius: 100px;
	background: transparent;
	box-sizing: border-box;
}
#container .comBtn02.white .inner {
	color: #fff;
}
#container .comBtn02.white a::after {
	width: 15px;
	height: 15px;
	right: 42px;
	background-image: url("../image/common/icon04.png");
}
#container .comBtn02.white a::before {
	margin-top: 1px;
	width: 46px;
	height: 46px;
	background: url("../image/common/icon03.png") no-repeat left top / 100% 100%;
	position: absolute;
	top: 50%;
	left: 48px;
	transform: translateY(-50%);
	content: "";
}
@media all and (min-width: 768px) and (max-width: 1100px) {
	#container .comBtn02.white a {
		height: 80px;
		font-size: 24px;
	}
}
@media all and (min-width: 768px) {
	#container .comBtn02 a:hover {
		color: #fff;
		background-color: #0C0C0C;
	}
	#container .comBtn02 a:hover:after {
		margin-right: -10px;
		background-image: url("../image/common/icon02.png");
	}
	#container .comBtn02.white a:hover {
		background-color: #fff;
		color: #0C0C0C;
	}
	#container .comBtn02.white a:hover::after {
		background-image: url("../image/common/icon05.png");
	}
	#container .comBtn02.white a:hover:before {
		background-image: url("../image/common/icon03_over.png");
	}
}
@media all and (max-width: 767px) {
	#container .comBtn02.white a {
		padding: 5px 50px 5px 76px;
		width: 210px;
		height: 70px;
		font-size: 18px;
		border-radius: 100px;
	}
	#container .comBtn02.white a::after {
		width: 11px;
		height: 11px;
		right: 29px;
	}
	#container .comBtn02.white a::before {
		margin-top: 1px;
		width: 32px;
		height: 32px;
		left: 34px;
	}
}

/* comBtn03 */
#container .comBtn03 a {
	width: 400px;
	height: 70px;
	border-color: #C00;
	color: #C00;
	font-size: 20px;
}
#container .comBtn03 a:after {
	right: 48px;
	background-image: url("../image/common/icon01_red.png");
}
#container .comBtn03.red a {
	background-color: #C00;
	color: #fff;
}
#container .comBtn03.red a:after {
	background-image: url("../image/common/icon02.png");
}
@media all and (min-width: 768px) {
	#container .comBtn03 a:hover {
		color: #fff;
		background-color: #C00;
	}
	#container .comBtn03 a:hover::after {
		background-image: url("../image/common/icon02.png");
	}

	#container .comBtn03.red a:hover {
		background-color: #fff;
		color: #C00;
	}
	#container .comBtn03.red a:hover:after {
		background-image: url("../image/common/icon01_red.png");
	}
}
@media all and (max-width: 767px) {
	#container .comBtn03 a {
		padding: 5px 40px 5px 10px;
		width: 284px;
		height: 50px;
		font-size: 14.5px;
		letter-spacing: 0.03em;
	}
	#container .comBtn03 a::after {
		right: 34px;
		width: 9px;
  		height: 7px;
	}
}

/* comBtn04 */
#container .comBtn04 a {
	font-weight: 700;
	width: 360px;
	padding-right: 39px;
}
#container .comBtn04.mail a:after {
	margin-top: 1px;
	right: 29px;
	width: 25px;
	height: 20px;
	background-image: url("../image/common/icon10.png");
}
#container .comBtn04.blank a:after {
	right: 29px;
	width: 15px;
	height: 15px;
	background-image: url("../image/common/icon05_red.png");
}
@media all and (min-width: 768px) {
	#container .comBtn04.mail a:hover::after {
		background-image: url("../image/common/icon10_over.png");
	}
	#container .comBtn04.blank a:hover::after {
		background-image: url("../image/common/icon04.png");
	}
}
@media all and (max-width: 767px) {
	#container .comBtn04 a {
		font-weight: 700;
		width: 100%;
		max-width: 252px;
		padding-left: 40px;
		font-size: 14px;
	}
	#container .comBtn04.blank a:after {
		width: 11px;
		height: 11px;
		right: 20px;
	}
	#container .comBtn04.mail a::after {
		margin-top: 1px;
		right: 20px;
		width: 18px;
		height: 15px;
	}
}


/* mainVisual */
#container .mainVisual {
	margin: -1px 0 98px 100px;
	position: relative;
	height: 450px;
	display: flex;
	align-items: center;
	z-index: 10;
	padding: 5px 50px 0;
}
#container .mainVisual .image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 0 0 0 150px;
	overflow: hidden;
	z-index: -1;
}
#container .mainVisual .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#container .mainVisual .title {
	color: #0C0C0C;
	width: 100%;
	font-size: 40px;
	font-weight: 500;
	letter-spacing: 0.05em;
}
#container .mainVisual .title .en {
	display: block;
	color: #C00;
	font-size: 30px;
	padding: 0;
	margin: 0 0 3px;
	font-weight: 700;
	background-color: transparent;
}
#container .mainVisual .title small {
	display: block;
	font-size: 24px;
	margin: 6px 0 15px 0;
}
#container .mainVisual .title.white {
	color: #fff;
}
#container .mainVisual .title.white .en {
	color: #fff;
}
#container .mainVisual::before {
	width: 925px;
	height: 933px;
	position: absolute;
	bottom: -115px;
	left: -679px;
	background: url("../image/common/bg01.png") no-repeat left top / 100% 100%;
	content: '';
	z-index: -1;
}
#container .mainVisual .enTxt {
	color: #fff;
	opacity: 0.5;
	position: absolute;
	bottom: 60px;
	left: 0;
	white-space:nowrap;
	line-height: 1;
	font-size: 130px;
	font-family: Lato;
}
@media all and (min-width: 768px) and (max-width: 1439px) {
	#container .mainVisual {
		width: 96%;
    	margin-left: auto;
	}
}
@media all and (min-width: 768px) and (max-width: 1100px) {
	#container .mainVisual .title {
		font-size: 32px;
	}
	#container .mainVisual .title .en {
		font-size: 22px;
	}
	#container .mainVisual .title small {
		font-size: 19px;
	}
	#container .mainVisual .enTxt {
		font-size: 110px;
	}
	#container .mainVisual::before {
		transform: scale(0.6);
	}
}
@media all and (min-width: 768px) {
	#container .mainVisual .image.left img {
		object-position: left center;
	}
}
@media all and (max-width: 767px) {
	#container .mainVisual {
		margin: 0 0 41px 0;
		height: 260px;
		padding: 0 20px 3px;
	}
	#container .mainVisual .title {
		font-size: 24px;
	}
	#container .mainVisual .title .en {
		font-size: 18px;
		margin-bottom: 4px;
	}
	#container .mainVisual .image {
		border-radius: 0 0 0 70px;
	}
	#container .mainVisual .title small {
		font-size: 14px;
		margin: -3px 0 -25px 0;
	}
	#container .mainVisual::before {
		display: none;
	}
}


/* mainVisual02 */
#container .mainVisual02 {
	height: 701px;
	padding-bottom: 80px;
}
#container .mainVisual02::before {
	bottom: -207px;
}
@media all and (max-width: 767px) {
	#container .mainVisual02 {
		height: 331px;
		padding-bottom: 52px;
		margin-bottom: 55px;
	}
}


/* content */
#container .content {
	margin: 0 auto;
	max-width: 1000px;
	width: 96%;
}
@media all and (max-width: 767px) {
	#container .content {
		margin: 0 20px;
		width: auto;
	}
}

/* centerTxt */
#container .centerTxt {
	margin-bottom: 70px;
	text-align: center;
	line-height: 2;
	font-weight: 500;
}
@media all and (max-width: 767px) {
	#container .centerTxt {
		margin-bottom: 31px;
		text-align: left;
	}
}

/* headLine01 */
#container .headLine01 {
	margin-bottom: 30px;
	text-align: center;
	position: relative;
	padding-bottom: 30px;
	font-size: 36px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.3;
}
#container .headLine01::before {
	width: 40px;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	background-color: #FA000F;
	content: "";
}
#container .headLine01 .en {
	display: block;
	color: #C00;
	font-size: 20px;
	padding: 0;
	font-weight: 400;
	margin: 0 0 11px;
	letter-spacing: 0.05em;
	background: transparent;
	line-height: 1;
}
#container .headLine01.left {
	margin-bottom: 20px;
	padding-bottom: 27px;
	text-align: left;
	font-size: 22px;
	font-weight: 700;
}
#container .headLine01.left::before {
	left: 0;
	transform: translateX(0);
}
#container .headLine01.noBor {
	padding-bottom: 0;
}
#container .headLine01.noBor::before {
	display: none;
}
@media all and (max-width: 767px) {
	#container .headLine01 {
		margin-bottom: 19px;
		font-size: 24px;
		line-height: 1.5;
		font-weight: 700;
		padding-bottom: 16px;
	}
	#container .headLine01 .en {
		font-size: 16px;
		margin-bottom: 4px;
	}
	#container .headLine01.left {
		font-size: 18px;
		margin-bottom: 16px;
		padding-bottom: 19px;
	}
}
@media all and (max-width: 389px) {
	#container .headLine01 {
		font-size: 22px;
	}
}
@media all and (min-width: 768px) and (max-width: 1100px) {
	#container .headLine01 {
		font-size: 30px;
	}
}

/* headLine02 */
#container .headLine02 {
	margin-bottom: 20px;
	padding: 4px 0 3px 17px;
	font-size: 26px;
	font-weight: 500;
	border-left: 3px solid #C00;
}
@media all and (max-width: 767px) {
	#container .headLine02 {
		padding: 5px 0 5px 17px;
		font-size: 20px;
	}
}




#container .comInformation {
	margin-top: 93px;
	background: #F2F2F2;
	padding: 100px 0;
}
#container .comInformation .headLine01 {
	font-weight: 700;
	font-size: 32px;
	letter-spacing: 0.07em;
	padding-bottom: 35px;
	margin-bottom: 50px;
}
#container .comInformation .headLine01::before {
	width: 35px;
	height: 2px;
	background-color: #C00;
}
#container .comInformation .subTitle {
	margin-bottom: 58px;
	text-align: center;
	font-weight: 500;
	font-size: 40px;
	line-height: 1.05;
	letter-spacing: 0.1em;
}
@media all and (min-width: 768px) and (max-width: 1100px) {
	#container .comInformation .subTitle {
		font-size: 32px;
	}
}
@media all and (max-width: 767px) {
	#container .comInformation .headLine01 {
		font-size: 20px;
		margin-bottom: 30px;
		padding-bottom: 15px;
	}
	#container .comInformation {
		padding: 50px 0;
		margin-top: 50px;
	}
	#container .comInformation .subTitle {
		font-size: 22px;
		line-height: 1.5;
		margin: -9px 0 34px 0;
	}
}

/* comList */
#container .comList {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
}
#container .comList li {
	width: 300px;
}
#container .comList a {
	display: block;
	position: relative;
}
#container .comList .image {
	aspect-ratio: 600/366;
	overflow: hidden;
	border-radius: 20px 0 20px 0;
}
#container .comList .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .3s;
}
#container .comList .textBox {
	position: absolute;
	bottom: -1px;
	left: 0;
	background: #F2F2F2;
	font-weight: 500;
	font-size: 12px;
	line-height: 1;
	padding: 11px 51px 0 0;
	border-radius: 0 10px 0 0;
	min-width: 200px;
}
#container .comList .textBox p {
	line-height: 1;
}
#container .comList .jp {
	display: inline-block;
	position: relative;
	padding-right: 31px;
}
#container .comList .jp::after {
	width: 13px;
	height: 11px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background: url("../image/common/icon01.png") no-repeat left top / 100% 100%;
	content: "";
	transition: .3s;
}
#container .comList .jp small {
	margin-top: 3px;
	display: block;
	font-size: 10px;
}
#container .comList .enTtl {
	margin-bottom: 10px;
	display: block;
	color: #C00;
	font-size: 16px;
	font-weight: 400;
}
@media all and (min-width: 768px) {
	#container .comList a:hover .jp::after {
		margin-right: -10px;
	}
	#container .comList a:hover .image img {
		transform: scale(1.05);
	}
}
@media all and (max-width: 767px) {
	#container .comList {
		gap: 20px;
	}
	#container .comList li {
		width: calc(50% - 10px);
	}
	#container .comList .textBox {
		padding: 8px 10px 0 0;
		font-size: 10px;
		border-radius: 0 5px 0 0;
		min-width: 102px;
	}
	#container .comList .jp small {
		font-size: 8px;
		letter-spacing: 0;
	}
	#container .comList .enTtl {
		margin-bottom: 5px;
		font-size: 11px;
		letter-spacing: 0.05em;
	}
	#container .comList .image {
		border-radius: 14px 0;
	}
	#container .comList .jp {
		padding-right: 16px;
	}
	#container .comList .jp::after {
		width: 7px;
		height: 6px;
		right: 0;
	}
}
@media all and (max-width: 389px) {
	#container .comList .jp small {
		font-size: 8px;
		line-height: 1.1;
	}
}

#container .center {
	text-align: center;
}


/* comTable */
#container .comTable {
	margin: 0;
	width: 100%;
	border-collapse: collapse;
}
#container .comTable th,
#container .comTable td {
	padding: 28px 30px 26px;
  	box-sizing: border-box;
	border: none;
	border-top: 1px solid #D9D9D9;
	border-bottom: 1px solid #D9D9D9;
	text-align: left;
	vertical-align: top;
	font-size: 16px;
}
#container .comTable * {
	line-height: 1.6;
}
#container .comTable th {
	padding-right: 10px;
	width: 22%;
	line-height: 1.2;
	font-weight: 500;
}
#container .comTable td {
	line-height: 1.6;
}
#container .comTable p {
	margin-bottom: 22px;
}
#container .comTable .txtDl dt {
	font-weight: 500;
	margin-bottom: 12px;
}
#container .comTable .txtDl dd {
	margin-bottom: 21px;
}
#container .comTable .txtDl dd:last-child {
	margin-bottom: 0;
}
#container .comTable .txtUl {
	margin-top: -3px;
}
#container .comTable .txtUl li {
	margin-bottom: 6px;
	position: relative;
	padding-left: 24px;
}
#container .comTable .txtUl li::before {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: #0C0C0C;
	position: absolute;
	top: 12px;
	left: 10px;
	content: "";
	overflow: hidden;
}
#container .comTable .txtUl li:last-child {
	margin-bottom: 0;
}
#container .comTable .txtUl p {
	margin-bottom: 13px;
}
#container .comTable .txtUl .txtUl {
	padding-bottom: 15px;
}
#container .comTable .txtUl02 {
	margin: 0 0 20px 24px;
}
#container .comTable .txtUl02 li {
	margin-bottom: 9px;
	position: relative;
	list-style: decimal;
	line-height: 1.4;
}
#container .comTable .txtUl02 li:last-child {
	margin-bottom: 0;
}
#container .comTable *:last-child {
	margin-bottom: 0;
}
#container .comTable .center {
	vertical-align: middle;
}
#container .comTable .bg {
	padding: 17px 30px;
	background-color: #D9D9D9;
	font-weight: 500;
}
#container .comTable .link {
	color: #C00;
	text-decoration: underline;
}
#container .comTable .txtDl02 {
	display: flex;
	flex-wrap: wrap;
}
#container .comTable .txtDl02 dt {
	width: 51px;
}
#container .comTable .txtDl02 dd {
	margin-bottom: 14px;
	width: calc(100% - 51px);
}
#container .comTable .txtDl02 dd:last-child {
	margin-bottom: 0;
}
@media all and (min-width: 768px) {
	#container .comTable .link:hover {
		text-decoration: none;
	}
}
@media all and (min-width: 768px) and (max-width: 1100px) {
	#container .comTable th, #container .comTable td {
		font-size: 14px;
	}
}
@media all and (max-width: 767px) {
	#container .comTable th,
	#container .comTable td {
		padding: 20px 20px 17px;
		width: 100%;
		float: left;
		line-height: 1.6;
		font-size: 14px;
		border-bottom: none;
	}
	#container .comTable td {
		border-top: none;
	}
	#container .comTable tr:last-child td {
		border-bottom: 1px solid #D9D9D9;
	}
	#container .comTable .spBor {
		border-top: 1px solid #D9D9D9;
	}
	#container .comTable .bg {
		padding: 10px 20px 8px;
	}
	#container .comTable .txtDl02 dt {
		width: 47px;
	}
	#container .comTable .txtDl02 dd {
		margin-bottom: 9px;
		width: calc(100% - 47px);
	}
}

/* comTable02 */
#container .comTable02 th,
#container .comTable02 td {
	padding: 20px 10px 17px 20px;
	float: none;
	width: auto;
	border-top: 1px solid #D9D9D9;
	border-bottom: 1px solid #D9D9D9;
	font-size: 12px;
	line-height: 1.3;
	vertical-align: middle;
}
#container .comTable02 th {
	width: 34.4%;
}
#container .comTable02 td {
	padding: 20px 10px 17px 12px;
}
@media all and (max-width: 389px) {
	#container .comTable02 th,
	#container .comTable02 td {
		padding-left: 10px;
	}
}

/* moreBtn */
#container .moreBtn {
	margin-top: 39px;	
}
#container .moreBtn a {
	width: 230px;
	height: 60px;
	padding: 5px 54px 5px 35px;
}
#container .moreBtn a:after {
	width: 20px;
	height: 20px;
	right: 29px;
	background-image: url("../image/common/icon08.png");
	transition: 0s;
}
#container .moreBtn .off {
	display: none;
}
#container .moreBtn.on .open {
	display: none;
}
#container .moreBtn.on .off {
	display: block;
}
#container .moreBtn.on a:after {
	transform: translateY(-50%) rotate(45deg);
}
@media all and (min-width: 768px) {
	#container .moreBtn a:hover::after {
		margin-right: 0;
		background-image: url("../image/common/icon08_over.png");
	}
	#container .moreBtn a:hover span {
		color: #fff;
	}
}
@media all and (max-width: 767px) {
	#container .moreBtn a {
		width: 163px;
		height: 43px;
		padding: 5px 54px 5px 35px;
		font-size: 11px;
	}
	#container .moreBtn a::after {
		width: 14px;
		height: 14px;
		right: 20px;
	}
}

/* pageBtn */
#container .pageBtn {
	margin: 50px auto 0;
	padding-top: 49px;
	max-width: 700px;
	border-top: 1px dashed #D9D9D9;
}
#container .pageBtn .comBtn02 {
	margin-top: 0;
}
@media all and (max-width: 767px) {
	#container .pageBtn {
		margin: 35px 20px 0;
		padding-top: 34px;
	}
}


#container .comListBox .comTable tr:nth-child(n + 4) {
	display: none;
}
#container .comListBox .comTable.on tr:nth-child(n + 4) {
	display: table-row;
}


/* comLinkUl */
#container .comLinkUl {
	margin: -49px auto 90px;
	max-width: 1000px;
	width: 90%;
	padding: 17px 0;
	display: flex;
	border-radius: 10px;
	border: 1px solid #D9D9D9;
	background: #FFF;
	z-index: 20;
	position: relative;
}
#container .comLinkUl li {
	width: 25%;
	position: relative;
}
#container .comLinkUl li::after {
	width: 1px;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	border-right: 1px dashed #B3B3B3;
	content: "";
}
#container .comLinkUl li:last-child:after {
	display: none;
}
#container .comLinkUl a {
	padding: 16px 0 27px;
	display: flex;
	height: 100%;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	position: relative;
}
#container .comLinkUl a:after {
	width: 11px;
	height: 6px;
	position: absolute;
	bottom: 16px;
	left: 50%;
	transform: translateX(-50%);
	background: url("../image/common/icon09.png") no-repeat left top / 100% 100%;
	content: "";
	transition: .3s;
}
#container .comLinkUl .inner {
	width: 100%;
	display: block;
	text-align: center;
}
#container .comLinkUl small {
	display: block;
	font-size: 12px;
	line-height: 1;
}
#container .comLinkUl.row3 li {
	width: 33.33%;
}
#container .comLinkUl.row2 li {
	width: 50%;
}
@media all and (min-width: 768px) {
	#container .comLinkUl a:hover:after {
		margin-bottom: -10px;
	}
}
@media all and (max-width: 767px) {
	#container .comLinkUl {
		margin: -20px 20px 40px;
		max-width: inherit;
		width: auto;
		padding: 17px 0 20px;
		border-radius: 10px;
		line-height: 1;
	}
	#container .comLinkUl li {
		line-height: 1;
	}
	#container .comLinkUl a {
		padding: 2px 0 7px;
		font-size: 10px;
		line-height: 1.1;
	}
	#container .comLinkUl br {
		display: block;
	}
	#container .comLinkUl a::after {
		width: 9px;
		height: 5px;
		bottom: -2px;
	}
	#container .comLinkUl small {
		font-size: 8px;
	}
}

/* comLink */
#container .comLink {
	color: #C00;
	text-decoration: underline;
}
@media all and (min-width: 768px) {
	#container .comLink:hover {
		text-decoration: none;
	}
}

/* headLine03 */
#container .headLine03 {
	margin-bottom: 30px;
	color: #222;
	text-align: center;
	font-size: 30px;
	font-weight: 500;
	border-top: 1px dashed #222;
	border-bottom: 1px dashed #222;
	padding: 17px 0 16px;
	letter-spacing: 0.05em;
}
@media all and (min-width: 768px) and (max-width: 1100px) {
	#container .headLine03 {
		font-size: 25px;
	}
}
@media all and (max-width: 767px) {
	#container .headLine03 {
		margin-bottom: 20px;
		font-size: 20px;
		padding: 9px 0 7px;
		letter-spacing: 0.05em;
	}
}
#container .headLine04 {
	color: #C00;
	font-size: 24px;
	line-height: 1.5;
	margin-bottom: 19px;
	font-weight: 500;
	letter-spacing: 0.05em;
}
@media all and (max-width: 767px) {
	#container .headLine04 {
		font-size: 18px;
		line-height: 1.5;
		margin-bottom: 15px;
	}
}
@media all and (max-width: 389px) {
	#container .headLine04 {
		font-size: 17px;
		letter-spacing: 0;
	}
}

/* comImgBox */
#container .comImgBox {
	display: flex;
	margin-bottom: 42px;
}
#container .comImgBox .photoBox {
	width: 153px;
}
#container .comImgBox .rightBox {
	flex: 1;
	margin: 1px 0 0 97px;
}
#container .comImgBox p {
	margin-bottom: 21px;
	line-height: 2;
}
#container .comImgBox p:last-child {
	margin-bottom: 0;
}
#container .comImgBox .smlTxt {
	font-size: 14px;
	letter-spacing: 0;
	line-height: 1.5;
}
@media all and (max-width: 767px) {
	#container .comImgBox {
		display: block;
		margin-bottom: 26px;
	}
	#container .comImgBox .rightBox {
		margin: 0;
	}
	#container .comImgBox .photoBox {
		width: 91px;
		margin: 0 auto 18px;
	}
	#container .comImgBox p {
		margin-bottom: 14px;
		text-align: justify;
		letter-spacing: 0.02em;
	}
	#container .comImgBox .smlTxt {
		font-size: 12px;
		line-height: 1.6;
	}
}

/* comScroll */
@media all and (max-width: 767px) {
	#container .comScroll {
		margin-right: -20px;
		overflow-x: auto;
	}
	#container  .comScroll img {
		min-width: 700px;
	}
	#container .scroll-hint-text {
		color: #fff !important;
		line-height: 1;
	}
}


/* headLine05 */
#container .headLine05 {
	margin-bottom: 58px;
	text-align: center;
	font-weight: 500;
	font-size: 40px;
	line-height: 1.05;
	letter-spacing: 0.1em;
}
@media all and (max-width: 767px) {
	#container .headLine05 {
		font-size: 22px;
		line-height: 1.5;
		margin: -9px 0 34px 0;
	}
}


/* comPerson */
#container .comPerson {

}
#container .comPerson p {
	font-size: 14px;
	margin-bottom: 9px;
	line-height: 1.4;
}
#container .comPerson p:last-child {
	margin-bottom: 0;
}
#container .comPerson .image {
	margin-bottom: 20px;
	aspect-ratio: 600/740;
	overflow: hidden;
	border-radius: 20px 0 20px 0;
	position: relative;
}
#container .comPerson .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .3s;
}
#container .comPerson .numTtl {
	margin-bottom: 0;
	background-color: #fff;
	position: absolute;
	bottom: 0;
	left: 0;
	color: #C00;
	font-size: 14px;
	font-weight: 700;
	line-height: 1 !important;
	padding: 14px 27px 7px 0;
	border-radius: 0 10px 0 0;
	min-width: 104px;
}
#container .comPerson a {
	display: block;
}
#container .comPerson .title {
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 10px;
}
#container .comPerson .title .name {
	margin-top: 3px;
	display: block;
	color: #C00;
	font-size: 22px;
}
#container .comPerson.man .numTtl {
	color: #008496;
}
#container .comPerson.man .title .name {
	color: #008496;
}
@media all and (min-width: 768px) {
	#container .comPerson a:hover .image img {
		transform: scale(1.05);
	}
}
@media all and (max-width: 767px) {
	#container .comPerson p {
		font-size: 12px;
		margin-bottom: 5px;
	}
	#container .comPerson .image {
		margin-bottom: 13px;
		border-radius: 14px 0 14px 0;
	}
	#container .comPerson .numTtl {
		font-size: 10px;
		padding: 8px 16px 1px 0;
		border-radius: 0 5px 0 0;
		min-width: 70px;
	}
	#container .comPerson .title {
		font-size: 14px;
		margin-bottom: 5px;
	}
	#container .comPerson .title .name {
		margin-top: -2px;
		font-size: 20px;
	}
}


/* comTxt */
#container .comTxt {
	margin-bottom: 70px;
	color: #222;
	text-align: center;
	font-size: 46px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.1em;
}
#container .comTxt span {
	margin-bottom: 10px;
	padding-bottom: 4px;
	color: inherit;
	line-height: inherit;
	display: inline-block;
	vertical-align: top;
	border-bottom: 1px solid #222;
	letter-spacing: inherit;
}
#container .comTxt.left {
	text-align: left;
}
#container .comTxt span:last-child {
	margin-bottom: 0;
}
@media all and (max-width: 767px) {
	#container .comTxt {
		margin-bottom: 39px;
		font-size: 26px;
	}
	#container .comTxt span {
		margin-bottom: 8px;
		padding-bottom: 7px;
	}
	#container .comTxt.left {
		text-align: center;
	}
}
@media all and (min-width: 768px) and (max-width: 1100px) {
	#container .comTxt {
		font-size: 32px;
	}
}

/* comBanner */
#main .comBanner {
	margin: 0 auto;
	max-width: 670px;
}
#main .comBanner a {
	display: block;
	background-color: #F4F4F4;
	border: 4px solid #D9D9D9;
	border-radius: 20px 0 20px 0;
	padding: 13px 27px 19px 29px;
	text-align: center;
}
#main .comBanner img {
	width: 100%;
	transition: .3s;
}
@media all and (min-width: 768px) {
	#main .comBanner a:hover img {
		transform: scale(1.02);
	}
}
@media all and (max-width: 767px) {
	#main .comBanner a {
		border-radius: 20px 0 20px 0;
		padding: 17px 39px 17px 40px;
	}
	#main .comBanner img {
		max-width: 500px;
	}
	#main .comBanner {
		max-width: inherit;
	}
}


/* comImgBox02 */
#container .comImgBox02 {
	padding-bottom: 100px;
	position: relative;
	display: flex;
	align-items: flex-start;
	z-index: 20;
}
#container .comImgBox02::after {
	position: absolute;
	height: calc(100% - 100px);
	width: calc(50% + 620px);
	right: 0;
	bottom: 0;
	z-index: -1;
	border-radius: 0 0 0 150px;
	background: #F4F4F4;
	content: '';
}
#container .comImgBox02 .photo {
	height: 600px;
	overflow: hidden;
	border-radius: 0 40px 0 0;
	position: relative;
	width: 50%;
}
#container .comImgBox02 .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#container .comImgBox02 .rightBox {
	flex: 1;
	margin: 175px 0 0 81px;
}
#container .comImgBox02 .widBox {
	/*max-width: 500px;*/
	max-width: 600px;
	width: 95%;
}
#container .comImgBox02 .headLine01 {
	font-size: 26px;
	margin-bottom: 27px;
}
#container .comImgBox02 .headLine01 .en {
	margin-bottom: 10px;
	font-weight: 400;
}
#container .comImgBox02 .comTxt {
	margin-bottom: 50px;
}
#container .comImgBox02 .comBtn02 {
	margin-top: 0;
}
@media all and (min-width: 768px) and (max-width: 1439px) {
	#container .comImgBox02::after {
		width: 93%;
	}
}
@media all and (max-width: 767px) {
	#container .comImgBox02 {
		display: block;
		padding-bottom: 51px;
	}
	#container .comImgBox02 .photo {
		width: auto;
		height: auto;
		aspect-ratio: 350/291;
		margin: 0 20px 38px 0;
		border-radius: 0 20px 0 0;
	}
	#container .comImgBox02 .rightBox {
		margin: 0;
	}
	#container .comImgBox02 .widBox {
		max-width: inherit;
		width: auto;
	}
	#container .comImgBox02 .headLine01 {
		font-size: 18px;
		padding-bottom: 0;
		margin-bottom: 21px;
	}
	#container .comImgBox02 .headLine01 .en {
		margin-bottom: 4px;
	}
	#container .comImgBox02::after {
		height: calc(100% - 93px);
		width: 95%;
		border-radius: 0 0 0 70px;
	}
	#container .comImgBox02 .comTxt {
		margin-bottom: 39px;
	}
}
@media all and (min-width: 768px) and (max-width: 1100px) {
	#container .comImgBox02 .rightBox {
		margin-left: 30px;
	}
}

.clearfix:after {content: "";display: block;clear: both;}


/* comSlide */
#container .comSlide {
	max-width: 990px;
	position: relative;
}
#container .comSlide .comSwiper {
	overflow: visible;
}
#container .comSlide .slideList li {
	width: 300px;
	margin: 0 15px;
}
#container .comSlide .comBtn02 {
	margin-top: 51px;
}
#container .comSlide .comBtn02 a {
	width: 297px;
	height: 70px;
	font-size: 20px;
	font-weight: 500;
	justify-content: flex-start;
}
@media all and (max-width: 767px) {
	#container .comSlide .slideList li {
		width: 47%;
		margin: 0 5px;
	}
	#container .comSlide {
		margin: 0 15px;
	}
	#container .comSlide .comBtn02 {
		margin-top: 20px;
	}
	#container .comSlide .comBtn02 a {
		width: 208px;
		height: 49px;
		font-size: 16px;
		padding-left: 19px;
	}
}


/* comArrow */
#container .comArrow {
	display: flex;
	gap: 20px;
	position: absolute;
	bottom: 0;
	left: 15px;
}
#container .comArrow li {
	width: 70px;
	height: 70px;
	border: 1px solid #C00;
	background-color: #C00;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	flex-shrink: 0;
	transition: opacity 0.3s;
}
#container .comArrow li.swiper-button-disabled {
	opacity: 0.2;
	pointer-events: none;
}
#container .comArrow svg {
	width: 13px;
	height: 11px;
	transition: .3s;
}
#container .comArrow .prev svg {
	transform: rotate(180deg);
}
@media all and (min-width: 768px) {
	#container .comArrow li:hover {
		background-color: #fff;
	}
	#container .comArrow li:hover svg {
		margin-right: -10px;
	}
	#container .comArrow li:hover svg path {
		stroke:#C00;
	}
	#container .comArrow li.prev:hover svg {
		margin: 0 0 0 -10px;
	}
}
@media all and (max-width: 767px) {
	#container .comArrow {
		margin-top: 29px;
		position: relative;
		bottom: auto;
		left: auto;
		justify-content: center;
		gap: 14px;
	}
	#container .comArrow li {
		width: 49px;
		height: 49px;
	}
	#container .comArrow svg {
		width: 12px;
		height: 10px;
	}
}


/* comLinkUl02 */
#container .comLinkUl02 {
	display: flex;
	flex-wrap: wrap;
	gap: 47px;
}
#container .comLinkUl02 li {
	width: calc((100% - 94px) / 3);
}
#container .comLinkUl02 a {
	height: 83px;
	padding: 5px 50px 5px 10px;
	display: flex;
	width: 100%;
	color: #fff;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	font-weight: 400;
	font-size: 20px;
	align-items: center;
	position: relative;
}
#container .comLinkUl02 .inner {
	display: block;
	width: 100%;
	position: relative;
}
#container .comLinkUl02 .inner small {
	margin-top: 2px;
	display: block;
	font-size: 11px;
	line-height: 1;
}
#container .comLinkUl02 .arrowIcon {
	width: 40px;
	height: 40px;
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
}
#container .comLinkUl02 .arrowIcon::before {
	width: 100%;
	height: 100%;
	border: 1px solid #fff;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	content: "";
	transform: translate(-50%,-50%);
	box-sizing: border-box;
	transition: .3s;
}
#container .comLinkUl02 .arrowIcon::after {
	width: 13px;
	height: 11px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background: url("../image/common/icon02.png") no-repeat left top / 100% 100%;
	content: "";
	transition: .3s;
}
@media all and (min-width: 768px) {
	#container .comLinkUl02 a:hover .arrowIcon::before {
		width: calc(100% + 4px);
		height: calc(100% + 4px);
	}
	#container .comLinkUl02 a:hover .arrowIcon::after {
		margin-left: 5px;
	}
}
@media all and (max-width: 767px) {
	#container .comLinkUl02 {
		display: block;
	}
	#container .comLinkUl02 li {
		width: auto;
		margin-bottom: -1px;
	}
	#container .comLinkUl02 a {
		height: 61px;
		font-size: 16px;
		padding-right: 36px;
	}
	#container .comLinkUl02 .inner small {
		margin-right: -5px;
		font-size: 8.8px;
	}
	#container .comLinkUl02 .arrowIcon {
		width: 30px;
		height: 30px;
		right: 5px;
	}
	#container .comLinkUl02 .arrowIcon::after {
		width: 10px;
		height: 9px;
	}
}
@media all and (min-width: 768px) and (max-width: 1100px) {
	#container .comLinkUl02 a {
		font-size: 16px;
		padding: 5px 35px 5px 0;
	}
	#container .comLinkUl02 .inner small {
		font-size: 9px;
	}
	#container .comLinkUl02 .arrowIcon {
		width: 33px;
		height: 33px;
	}
	#container .comLinkUl02 {
		gap: 47px 20px;
	}
	#container .comLinkUl02 li {
		width: calc((100% - 40px) / 3);
	}
}


/* headLine06 */
#container .headLine06 {
	padding: 8px 20px;
	border-radius: 5px;
	color: #fff;
	background: #222;
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 30px;
}
@media all and (max-width: 767px) {
	#container .headLine06 {
		padding: 9px 20px 8px;
		border-radius: 5px;
		font-size: 14px;
		margin-bottom: 20px;
	}
}

/* comPerson02 */
#container .comPerson02 + .comPerson02 {
	margin-top: 27px;
}
#container .comPerson02 a {
	width: 100%;
	display: flex;
	align-items: flex-start;
}
#container .comPerson02 .image {
	width: 150px;
	aspect-ratio: 1/1;
	border-radius: 20px 0;
	margin-bottom: 0;
}
#container .comPerson02 .textBox {
	flex: 1;
	margin: 1px 0 0 22px;
}
#container .comPerson02 .title .name {
	margin-top: -1px;
}
#container .comPerson02 .title {
	margin-bottom: 9px !important;
}
#container .comPerson02 p {
	margin-bottom: 10px !important;
}

@media all and (max-width: 767px) {
	#container .comPerson02 .textBox {
		margin: 1px 0 0 16px;
	}
	#container .comPerson02 p {
		font-size: 9.8px;
		margin-bottom: 6px !important;
	}
	#container .comPerson02 .title {
		margin-bottom: 5px !important;
		font-size: 11px;
	}
	#container .comPerson02 .title .name {
		margin-top: -1px;
		font-size: 15.4px;
	}
	#container .comPerson02 .image {
		width: 105px;
	}
}


@media all and (min-width: 768px) {
	#HeaderArea2 {
		z-index: 100;
	}
}
#FooterArea {
	z-index: 20;
}