/*全体共通*/
html {
	overflow-x: hidden;
}
body {
  -webkit-text-size-adjust: 100%;
  width: 100%;
  overflow-x: hidden;
  position: relative;
  color: #505050;
}
h1{
  max-height: 100%; 
  color: #505050;
}
a{
	color: #505050;
	font-weight: normal;
}
a:hover{
	cursor: pointer;
}
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}
.red{
	color: #a71527;
}
.blue{
	color: #1548a7;
}
.green{
	color: #15a73c;
}
.gray{
	color: #a3a3a3;
}
.white {
	color: #fff;
}
.center{
	text-align: center;
}
.under{
	border-bottom: 1px solid #a71527;
}
.lgText{
	font-size: 30.77vw;
	color: #a71527;
	opacity: 0.1;
	line-height: 0;
}
@media screen and (min-width:481px){
	.lgText {
		font-size: 29vw;
	}
}
@media screen and (min-width:900px){
	.lgText {
		font-size: 17vw;
	}
}
@media screen and (min-width:1200px){
	.lgText {
		font-size: 240px;
	}
}

/*ローディングムービー*/
#loading{
	position: fixed;
	z-index: 999;
	width: 100%;
	height: 100%;
	background-color: #fff;
	z-index: 10000;
	box-sizing: border-box;
}

#loading .loadingLogo{
	position: absolute;
	top: 40%;
	left: 50%;
  z-index: 10000;
	width: 85px;
	transform: translate(-50%, -50%);
	animation: flash 1s linear infinite;
}
@media screen and (min-width:481px){
	#loading .loadingLogo{
		top: 42%;
	}
}
@media screen and (min-width:900px){
	#loading .loadingLogo{
		top: 40%;
	}
}

@keyframes flash {
  0%,100% {
    opacity: 1;
  }
	35% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}

#loading #loadingBar{
	position: absolute;
	top: 49%;
	left: 50%;
  z-index: 10000;
	width: 90%;
	transform: translate(-50%, -50%);
	color: #CECECE;
}
@media screen and (min-width:900px){
	#loading #loadingBar{
		width: 700px;
	}
}

#loading #loadingBar svg{
	border-radius: 30px;
}

/*パンくずリスト*/
.breadcrumbs{
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 15px;
}


.breadcrumbs li{
	position: relative;
	padding-right:10px;
	margin-right: 10px;
	line-height: 20px;
}
.breadcrumbs li:first-of-type {
	padding-left: 0;
}

.breadcrumbs li a,
.breadcrumbs li{
	display: inline-block;
	font-family: greycliff-cf,sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 14px;
	color: #a71527;
}
@media screen and (min-width:480px){
	.breadcrumbs li a,
	.breadcrumbs li{
		font-size: 16px;
	}
}
.breadcrumbs li:after{
	content: "";
	display: inline-block;
	border-top: 1px #a71527 solid;
	border-right: 1px #a71527 solid;
	position: absolute;
	top: -2px;
	bottom: 0;
	margin: auto;
	right: -4px;
	width: 6px;
	height: 6px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.breadcrumbs li:last-child::after{
	display: none;
}


/*フォント*/
html { font-size: 62.5%; } 
body { font-size: 1.6rem; } 
h1 { font-size: 2.5rem; } 
h2 { font-size: 2rem; }
body{
	font-family: dnp-shuei-gothic-kin-std,sans-serif;
	font-weight: 500;
	font-style: normal;
}
.bold{
	font-weight: 600;
}
.serif{
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}
.sanSerif{
	font-family: dnp-shuei-gothic-kin-std,sans-serif;
	font-weight: 500;
	font-style: normal;
}
.en{
	font-family: greycliff-cf,sans-serif;
	font-weight: 600;
	font-style: normal;
}
.en_light{
	font-family: greycliff-cf,sans-serif;
	font-weight: 300;
	font-style: normal;
}
.en_deco{
	font-family: rajdhani,sans-serif;
	font-weight: 500;
	font-style: normal;
}
/* 
.hirakaku {
	font-family: "source-han-sans-japanese","メイリオ",Meiryo,sans-serif;
    font-weight: 400;
    font-style: normal;
} */

/*PC*/
@media screen and (min-width:900px){
	.pc{
		display: block;
	}
	.tab{
		display: none!important;
	}
	.sp{
		display: none!important;
	}
	.tab_sp{
		display: none!important;
	}
}
/*TAB*/
@media screen and (max-width:899px){
	.pc{
	  	display: none!important;
	}
	.tab{
		display: block;
	}
	.sp{
		display: none!important;
	}
	.tab_sp{
		display: block;
	}
}

/*SP*/
@media screen and (max-width:480px){
	.tab{
		display: none!important;
	}
	.sp{
		display: block!important;
	}
}

/* コンテナ */
.container {
	position: relative;
	width: auto;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
}
@media screen and (min-width: 900px) {
	.container {
		padding-left: 30px;
		padding-right: 30px;
	}
}
@media screen and (min-width: 1200px) {
	.container {
		max-width: 1200px;
		padding-left: 83px;
		padding-right: 83px;
	}
}

/* トップへ戻るボタン */
#topReturn {
	position: fixed;
	bottom: 20px;
	right: 20px;
	background-color: #fff;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	overflow: hidden;
	z-index: 100;
}

#topReturn a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	font-weight: bold;
	color: #a71527;
	transform: rotate(-90deg);
	width: 60px;
	height: 60px;
	transition: color 0.7s ease;
	z-index: 100;
}

#topReturn i {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	font-weight: bold;
	color: #a71527;
	transform: rotate(-90deg) translateX(20px);
	width: 60px;
	height: 60px;
	transition: color 0.7s ease;
	opacity: 0;
	cursor: pointer;
	z-index: 100;
}

#topReturn:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 60px;
	height: 60px;
	background: #a71527;
	border-radius: 50%;
	transform: scale(0);
	transition: transform 0.7s ease;
	z-index: 99;
}
@media screen and (min-width: 900px) {
	#topReturn:hover a {
		color: #fff;
		opacity: 0;
		transform: rotate(-90deg) translateX(40px);
		transition: transform 0.7s ease, opacity 0.7s ease;
	}
	#topReturn:hover i {
		color: #fff;
		opacity: 1;
		transform: rotate(-90deg) translateX(60px);
		transition: transform 0.7s ease, opacity 0.7s ease;
	}
	#topReturn:hover:before {
		transform: scale(4.2);
		transition: transform 1.2s ease;
	}
}

#topReturn svg {
	position: absolute;
	transform: rotate(-90deg) scale(1.04);
	z-index: 100;
	display: flex;
	justify-content: center;
  align-items: center;
}

#topReturn circle {
	fill: transparent;
	stroke: #a71527;
	stroke-width: 3;
}
@media screen and (min-width: 900px) {
	#topReturn:hover circle {
		stroke: #fff;
		animation: CircleAnime 2s ease 0s 1 forwards;
	}
}


/* 問い合わせボタン */
#ContactFixed {
	font-size: 16px;
	font-weight: bold;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-lr;
	letter-spacing: 3px;
	color: #a71527;
	position: fixed;
	top: 85px;
	right: 0;
	padding: 6px 9px;
	background-color: #fff;
	border-top: 2px solid #a71527;
	border-bottom: 2px solid #a71527;
	border-left: 2px solid #a71527;
	overflow: hidden;
	transition: color 0.8s ease, border 0.8s ease;
	z-index: 100;
}
#ContactFixed span {
	position: relative;
	z-index: 100;
}
#ContactFixed:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 82px;
	height: 82px;
	background: #a71527;
	transform: scale(0);
	transition: transform 1.0s ease;
	z-index: 99;
}
@media screen and (min-width: 481px) {
	#ContactFixed {
		top: 132px;
    padding: 10px 12px;
	}
}
@media screen and (min-width: 900px) {
	#ContactFixed {
		padding: 19px;
		letter-spacing: 3.6px;
	}
	#ContactFixed:hover{
		color: #fff;
		border-top: 2px solid #fff;
		border-bottom: 2px solid #fff;
		border-left: 2px solid #fff;
		transition: color 0.6s ease;
	}
	#ContactFixed:hover:before{
		transform: scale(4.2);
		transition: transform 1.2s ease;
	}
}

/* ========== ヘッダー ========== */
#header {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 9999;
}

#header .headerCnt {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	height: 0;
}

#header.isOpen .headerCnt {
	animation: headerHidden 0.6s ease 0s 1 forwards;
}

#header .headerCnt .headerLogo a {
	display: inline-block;
	margin-top: 7px;
	margin-left: 11px;
}
@media screen and (min-width:481px){
	#header .headerCnt .headerLogo a {
    margin-top: 13px;
    margin-left: 18px;
	}
}
@media screen and (min-width:900px){
	#header .headerCnt .headerLogo a {
		margin-top: 26px;
		margin-left: 24px;
	}
}

#header .headerCnt .headerLogo a img {
	width: 20vw;
}
@media screen and (min-width:481px){
	#header .headerCnt .headerLogo a img {
		width: 12vw;
	}
}
@media screen and (min-width:900px){
	#header .headerCnt .headerLogo a img {
		width: 110px;
		transition: opacity 0.6s ease, width 0.4s ease;
	}
	#header.isResize .headerCnt .headerLogo a img {
		width: 84px;
	}
	#header .headerCnt .headerLogo a img:hover {
		opacity: 0.7;
	}
}

/* ハンバーガーボタン */
#header .headerCnt .headerToggle {
  position: relative;
	top: 0;
  right: 0;
	padding: 23px 10px;
  z-index: 999;
	background-color: #a71527;
	overflow: hidden;
	box-shadow: 0 0 2px 0px #fff;
}
@media screen and (min-width: 900px) {
	#header .headerCnt .headerToggle {
		padding: 32px 20px;
		cursor: pointer;
		box-shadow: none;
	}
	#header .headerCnt .headerToggle:before {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		width: 82px;
		height: 82px;
		background: #fff;
		transform: scale(0);
		transition: transform 0.8s ease;
	}
	#header .headerCnt .headerToggle:hover:before{
		transform: scale(4.2);
		transition: transform 2.0s ease;
	}
}

#header .headerCnt .headerToggle .headerToggleIcon {
  position: relative;
  display: block;
  height: 3px;
  width: 40px;
  background-color: #fff;
	border-radius: 20px;
	z-index: 1000;
	transition: transform 1.4s ease, background-color 1.4s ease;
}
#header .headerCnt .headerToggle .headerToggleIcon:nth-child(1) {
  top: 0;
}
#header .headerCnt .headerToggle .headerToggleIcon:nth-child(2) {
  margin-top: 8px;
}
@media screen and (min-width: 900px) {
	#header .headerCnt .headerToggle:hover .headerToggleIcon {
		background-color: #a71527;		
	}
	#header .headerCnt .headerToggle .headerToggleIcon:nth-child(2) {
		margin-top: 10px;
	}
}

#header .headerCnt .headerToggle svg {
	position: absolute;
	top: -1px;
	right: -1px;
	transform: rotate(90deg) scale(1.04);
	z-index: 50;
	display: flex;
	justify-content: center;
  align-items: center;
}

#header .headerCnt .headerToggle rect {
	fill: transparent;
	stroke: #fff;
	stroke-width: 1;
}
@media screen and (min-width: 900px) {
	#header .headerCnt .headerToggle:hover rect {
		stroke: #a71527;
		animation: CircleAnime 2.2s ease 0s 1 forwards;
	}
}


/* ========== ナビゲーション ========== */
#header .headerNav {
	display: none;
	position: fixed;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgb(255 255 255 / 95%);
	z-index: 2000;
}
#header.isOpen .headerNav {
	display: block;
}
@media screen and (min-width: 900px){
	#header.isOpen .headerNav {
		display: flex;
	}
}
#header .headerNav .headerNavWrap {
	position: relative;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
}
@media screen and (min-width: 900px){
	#header .headerNav .headerNavWrap {
		width: auto;
    margin: 0 auto;
		max-width: 1200px;
		align-items: center;
	}
}
@media screen and (min-width: 1200px){
	#header .headerNav .headerNavWrap {
		column-gap: 140px;
	}
}

#header .headerNav .headerToggle {
	position: absolute;
	top: 16px;
	right: 19px;
	z-index: 999;
	border: 2px solid #a71527;
	border-radius: 50%;
	padding: 26px 10px;
	cursor: pointer;
	overflow: hidden;
	z-index: 999;
	transition: background-color 0.6s ease;
	background-color: #fff;
}
@media screen and (min-width: 900px) {
	#header .headerNav .headerToggle {
		top: 30px;
		right: 20px;
	}
	#header .headerNav .headerToggle:hover {
		background-color: #a71527;
	}
}


#header .headerNav .headerToggle .headerToggleIcon {
	display: block;
	width: 36px;
	height: 3px;
	background-color: #a71527;
	border-radius: 20px;
	transition: background-color 0.6s ease;
	z-index: 1000;
}
#header .headerNav .headerToggle .headerToggleIcon:nth-child(1) {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
#header .headerNav .headerToggle .headerToggleIcon:nth-child(2) {
	margin-top: -2px;
  -webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
@media screen and (min-width: 900px) {
	#header .headerNav .headerToggle:hover .headerToggleIcon {
		background-color: #fff;
	}
}

#header .headerNav .headerNavLogo {
	position: fixed;
	bottom: 38px;
	right: 35px;
}
@media screen and (min-width: 900px) {
	#header .headerNav .headerNavLogo {
		position: relative;
		bottom: auto;
		right: auto;
		/*margin-top: 170px;*/
		margin-bottom: 15%;
		margin-left: 10%;
	}
}

#header .headerNav .headerNavLogo a{
	display: inline-block;
	transition: opacity 0.6s ease;
	overflow: hidden;
}
@media screen and (min-width: 900px) {
	#header .headerNav .headerNavLogo a:hover {
		opacity: 0.7;
	}
}

#header .headerNav .headerNavLogo img{
	width: 120px;
	transform: translateY(400px);
}
@media screen and (min-width: 900px) {
	#header .headerNav .headerNavLogo img{
		width: 20vw;
    padding-right: 30px;
	}
}
@media screen and (min-width: 1200px) {
	#header .headerNav .headerNavLogo img{
		width: 250px;
		padding-right: 0;
	}
}

#header .headerNav .headerNavMain {
	width: 100%;
	height: 90vh;
	margin-top: 60px;
	padding-left: 36px;
	overflow-y: scroll;
}
@media screen and (min-width: 900px) {
	#header .headerNav .headerNavMain {
		width: auto;
		padding-left: 0;
		/*margin-top: 140px;*/
		margin-bottom: 10%;
		margin-right: 20px;
		overflow-y: initial;
		height: auto;
	}
}
@media screen and (min-width: 1100px) {
	#header .headerNav .headerNavMain {
		margin-right: 0px;
	}
}

#header .headerNav .headerNavMain > ul {
	display: flex;
	flex-direction: column;
  flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
	row-gap: 47px;
	margin-bottom: 30px;
	width: 100%;
}
@media screen and (min-width: 481px) {
	#header .headerNav .headerNavMain > ul {
		flex-direction: row;
		flex-wrap: wrap;
	}
}
@media screen and (min-width: 900px) {
	#header .headerNav .headerNavMain > ul {
		width: auto;
		row-gap: 45px;
	}
}

#header .headerNav .headerNavMain > ul > li {
	width: 100%;
	overflow: hidden;
}
@media screen and (min-width: 481px) {
	#header .headerNav .headerNavMain > ul > li {
		width: 50%;
	}
}
@media screen and (min-width: 900px) {
	#header .headerNav .headerNavMain > ul > li {
		width: 33.3%;
		overflow: hidden;
	}
}

#header .headerNav .headerNavMain > ul > li > a {
	display: inline-block;
	font-size: 18px;
	font-weight: bold;
	/*color: #505050;*/
	letter-spacing: 1.8px;
	transition: all 0.6s ease;
	transform: translateY(200px);
}
/*#header .headerNav .headerNavMain > ul > li:nth-child(3) > a::before{
	color: #1548a7;
}
#header .headerNav .headerNavMain > ul > li:nth-child(4) > a::before{
	color: #15a73c;
}*/

#header .headerNav .headerNavMain > ul > li > a::before {
  content: attr(data-subtitle);
  display: block;
  font-size: 14px;
	font-family: greycliff-cf,sans-serif;
	font-weight: 600;
	font-style: normal;
	line-height: 1.6;
	letter-spacing: 0.6px;
	transition: opacity 0.6s ease;
	color: #a71527;
}
@media screen and (min-width: 900px) {
	#header .headerNav .headerNavMain > ul > li > a:hover {
		color: #a71527;
	}
}

#header .headerNav .headerNavMain .headerNavSub{
	padding-top: 14px;
}

#header .headerNav .headerNavMain .headerNavSub > li > a {
	display: inline-block;
	font-size: 13px;
	letter-spacing:0.1em;
	line-height: 1.6;
	transition: all 0.6s ease;
	transform: translateY(200px);
}
@media screen and (min-width: 481px) {
	#header .headerNav .headerNavMain .headerNavSub > li > a {
		line-height: 2;
	}
}
@media screen and (min-width: 900px) {
	#header .headerNav .headerNavMain .headerNavSub > li > a {
		line-height: 1.6;
	}
	#header .headerNav .headerNavMain .headerNavSub > li > a:hover {
		color: #a71527;
	}
}

#header .headerNav .headerNavMain .headerPp {
	display: inline-block;
	overflow: hidden;
	margin-bottom: 100px;
	z-index: 1;
	position: relative;
}

#header .headerNav .headerNavMain .headerPp a {
	display: inline-block;
	/*color: #a71527;*/
	text-decoration: underline;
	transition: all 0.6s ease;
	transform: translateY(200px);
	font-size: 13px;
}
@media screen and (min-width: 481px) {
	#header .headerNav .headerNavMain .headerPp {
		margin-bottom: 0;
	}
	#header .headerNav .headerNavMain .headerPp:hover a {
    color: #a71527;
	}
}

#header .headerNav .lgText {
	position: absolute;
	display: none;
	top: 674px;
	left: 0;
	padding-left: 65px;
	z-index: 0;
}
@media screen and (min-width: 900px) {
	#header .headerNav .lgText {
		display: block;
		font-size: 20vw;
		bottom: 13%;
		top: auto;
	}
}
@media screen and (min-width: 1200px) {
	#header .headerNav .lgText {
    left: -83px;
		font-size: 230px;
	}
}

/* スライドアニメ */
#header.isOpen .headerNav .headerNavMain > ul > li:nth-of-type(1) a {
	animation: headerSlide 0.7s ease 0s 1 forwards;
}
#header.isOpen .headerNav .headerNavMain > ul > li:nth-of-type(2) a {
	animation: headerSlide 0.8s ease 0s 1 forwards;
}
#header.isOpen .headerNav .headerNavMain > ul > li:nth-of-type(3) a {
	animation: headerSlide 0.9s ease 0s 1 forwards;
}
#header.isOpen .headerNav .headerNavMain > ul > li:nth-of-type(4) a {
	animation: headerSlide 1s ease 0s 1 forwards;
}
#header.isOpen .headerNav .headerNavMain > ul > li:nth-of-type(5) a {
	animation: headerSlide 1.1s ease 0s 1 forwards;
}
#header.isOpen .headerNav .headerNavMain > ul > li:nth-of-type(6) a {
	animation: headerSlide 1.2s ease 0s 1 forwards;
}
#header.isOpen .headerNav .headerNavMain > ul > li:nth-of-type(7) a {
	animation: headerSlide 1.4s ease 0s 1 forwards;
}
#header .headerNav .headerNavMain .headerPp a {
	animation: headerSlide 1.6s ease 0s 1 forwards;
}
#header .headerNav .headerNavLogo a img {
	animation: headerSlide 2.1s ease 0s 1 forwards;
}
@keyframes headerSlide {
	0% {
    opacity: 0;
		transform: translateY(200px);
	}
	60% {
		opacity: 0;
	}
  100% {
    opacity: 1;
		transform: translateY(0);
	}
}

/* ========== メインビジュアル ========== */
#mainVisual {
	position: relative;
	background-color: #fff;
}

#mainVisual .mainVisualWrap {
	position: relative;
	background: url(../img/top_mainvisual_sp.jpg) center center no-repeat;
  background-size: cover;
	width: 100%;
	height: 100vh;
	height: 100lvh;
}
@media screen and (min-width: 900px) {
	#mainVisual .mainVisualWrap {
		background: url(../img/top_mainvisual.jpg) center right no-repeat;
		background-size: cover;
	}
}

#mainVisual .mainVisualWrap .mainVisualText {
	font-size: 36px;
	font-weight: bold;
	letter-spacing: 1.8px;
	line-height: 1.6;
	color: #a71527;
	position: absolute;
	top: 46%;
	left: 16px;
	transform: translateY(-50%);
	text-shadow: 1px 1px #fff;
	user-select: none;
}
@media screen and (min-width: 900px) {
	#mainVisual .mainVisualWrap .mainVisualText {
		display: block;
		width: 100%;
    margin: 0 auto;
    max-width: 1200px;
		top: 50%;
		left: 83px;
		/*text-shadow: none;*/
		transform: translateY(-50%);
		font-size: 42px;
		text-shadow: 1.3px 1.3px #fff;
	}
}
@media screen and (min-width: 1380px) {
	#mainVisual .mainVisualWrap .mainVisualText {
		top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
	}
}

#mainVisual .mainVisualWrap .mainVisualContact {
	font-size: 16px;
	font-weight: bold;
	writing-mode: vertical-rl;
	letter-spacing: 1.6px;
	color: #a71527;
	position: absolute;
	top: 50%;
	right: 0;
}

/* 下層ページ用：アイキャッチあり */
.contentVisual {
	position: relative;
	background-color: #fff;
}

.contentVisual .contentVisualWrap {
	position: relative;
	width: 100%;
	height: 400px;
}
@media screen and (min-width: 481px) {
	.contentVisual .contentVisualWrap {
		height: 400px;
	}
}
@media screen and (min-width: 900px) {
	.contentVisual .contentVisualWrap {
		height: 500px;
	}
}

.contentVisual .contentVisualWrap::before {
	content: '';
	display: block;
	background-image: url(../img/about/about_mainvisual_sp.jpg);
	background-size: contain;
	background-repeat: no-repeat;
	width: 100vw;
	height: 55vw;
	position: absolute;
	right: 0;
	bottom: -66px;
	z-index: 10;
}
#promotion .contentVisual .contentVisualWrap::before {
	background-image: url(../img/promotion/promotion_mainvisual_sp.jpg);
}
#contribution .contentVisual .contentVisualWrap::before {
	background-image: url(../img/contribution/cont_mainvisual_sp.jpg);
}
#recruit .contentVisual .contentVisualWrap::before {
	background-image: url(../img/recruit/recruit_mainvisual_sp.jpg);
}
@media screen and (min-width: 481px) {
	.contentVisual .contentVisualWrap::before {
		width: 80vw;
		right: -46px;
	}
}
@media screen and (min-width: 900px) {
	.contentVisual .contentVisualWrap::before {
		background-image: url(../img/about/about_mainvisual.jpg);
		width: 800px;
		height: 490px;
		bottom: -160px;
	}
	#promotion .contentVisual .contentVisualWrap::before {
		background-image: url(../img/promotion/promotion_mainvisual.jpg);
	}
	#contribution .contentVisual .contentVisualWrap::before {
		background-image: url(../img/contribution/cont_mainvisual.jpg);
	}
	#recruit .contentVisual .contentVisualWrap::before {
		background-image: url(../img/recruit/recruit_mainvisual.jpg);
	}
}

.contentVisual .contentVisualWrap .contentVisualText {
	position: absolute;
	top: 196px;
	left: 20px;
	transform: translateY(-50%);
	user-select: none;
	letter-spacing: 3px;
}
#promotion .contentVisual .contentVisualWrap .contentVisualText {
	font-size: 30px;
}
@media screen and (min-width: 900px) {
	.contentVisual .contentVisualWrap .contentVisualText {
		display: block;
		width: 100%;
    margin: 0 auto;
    max-width: 1200px;
		top: 50%;
		left: 83px;
		text-shadow: none;
		transform: translateY(-50%);
	}
	#promotion .contentVisual .contentVisualWrap .contentVisualText {
		font-size: 36px;
	}
}
@media screen and (min-width: 1380px) {
	.contentVisual .contentVisualWrap .contentVisualText {
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
	}
}

/* 下層ページ用：アイキャッチなし */
.contentTitle {
	position: relative;
	background-color: #fff;
}

.contentTitle .contentTitleWrap {
	position: relative;
	width: 100%;
	height: 240px;
}
@media screen and (min-width: 481px) {
	.contentTitle .contentTitleWrap {
		height: 400px;
	}
}

.contentTitle .contentTitleWrap .contentTitleText {
	position: absolute;
	top: 218px;
	left: 20px;
	transform: translateY(-50%);
	user-select: none;
	letter-spacing: 3px;
}

#privacy .contentTitle .contentTitleWrap .contentTitleText {
	font-size: 28px;
}
@media screen and (min-width: 900px) {
	.contentTitle .contentTitleWrap .contentTitleText {
		display: block;
		width: 100%;
    margin: 0 auto;
    max-width: 1200px;
		top: 73%;
		left: 83px;
		text-shadow: none;
		transform: translateY(-50%);
	}
	#privacy .contentTitle .contentTitleWrap .contentTitleText {
		font-size: 36px;
	}
}
@media screen and (min-width: 1380px) {
	.contentTitle .contentTitleWrap .contentTitleText {
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
	}
}

.contentTitle .contentTitleWrap .lgText {
	position: absolute;
	top: 92%;
	right: 9%;
	font-size: 30vw;
}
#company .contentTitle .contentTitleWrap .lgText {
	top: 96%;
	font-size: 21vw;
}
#privacy .contentTitle .contentTitleWrap .lgText,
#contact .contentTitle .contentTitleWrap .lgText {
	top: 96%;
	right: 15%;
	font-size: 21vw;
}
@media screen and (min-width: 481px) {
	.contentTitle .contentTitleWrap .lgText,
	#company .contentTitle .contentTitleWrap .lgText,
	#privacy .contentTitle .contentTitleWrap .lgText,
	#contact .contentTitle .contentTitleWrap .lgText {
		font-size: 22vw;
		top: 78%;
		right: 9%;
	}
}
@media screen and (min-width: 900px) {
	.contentTitle .contentTitleWrap .lgText,
	#company .contentTitle .contentTitleWrap .lgText,
	#privacy .contentTitle .contentTitleWrap .lgText,
	#contact .contentTitle .contentTitleWrap .lgText {
		font-size: 17vw;
		top: 73%;
		right: 86px;
	}
}
@media screen and (min-width: 1200px) {
	.contentTitle .contentTitleWrap .lgText,
	#company .contentTitle .contentTitleWrap .lgText,
	#privacy .contentTitle .contentTitleWrap .lgText,
	#contact .contentTitle .contentTitleWrap .lgText {
		font-size: 240px;
		top: 68%;
		right: 170px;
	}
}
@media screen and (min-width: 1300px) {
	.contentTitle .contentTitleWrap .lgText,
	#company .contentTitle .contentTitleWrap .lgText,
	#privacy .contentTitle .contentTitleWrap .lgText,
	#contact .contentTitle .contentTitleWrap .lgText {
		right: 108px;
	}
}
@media screen and (min-width: 1400px) {
	.contentTitle .contentTitleWrap .lgText,
	#company .contentTitle .contentTitleWrap .lgText,
	#privacy .contentTitle .contentTitleWrap .lgText,
	#contact .contentTitle .contentTitleWrap .lgText {
		right: 50px;
	}
}
@media screen and (min-width: 1500px) {
	.contentTitle .contentTitleWrap .lgText,
	#company .contentTitle .contentTitleWrap .lgText,
	#privacy .contentTitle .contentTitleWrap .lgText,
	#contact .contentTitle .contentTitleWrap .lgText {
		right: 0;
	}
}


/* ========== フッター ========== */
#footer {
	position: relative;
	background-color: #a71527;
}

#footer .footerCnt {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: flex-start;
	padding-top: 15px;
	padding-bottom: 15px;
}
@media screen and (min-width: 900px) {
	#footer .footerCnt {
		padding-top: 50px;
		padding-bottom: 0;
		justify-content: space-between;
	}
}

#footer .footerLogo {
	display: block;
	transition: opacity 0.7s ease;
}
@media screen and (min-width: 900px) {
	#footer .footerLogo:hover {
		opacity: 0.8;
	}
}

#footer .footerCnt .footerLogo img{
	width: 90px;
}
@media screen and (min-width: 900px) {
	#footer .footerCnt .footerLogo img{
		width: 150px;
	}
}

#footer .footerCnt .footerNavMain{
	display: none;
}
@media screen and (min-width: 900px) {
	#footer .footerCnt .footerNavMain{
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: flex-start;
		row-gap: 48px;
		margin-left: 40px;
	}
}
@media screen and (min-width: 1200px) {
	#footer .footerCnt .footerNavMain{
		margin-left: 140px;
	}
}

#footer .footerCnt .footerNavMain > li {
	/* width: 33.3%; */
	width: 25%;
}

#footer .footerCnt .footerNavMain > li:nth-of-type(3) {
	width: 50%;
}
#footer .footerCnt .footerNavMain > li:nth-of-type(6) {
	width: 30%;
}
#footer .footerCnt .footerNavMain > li:nth-of-type(7) {
	width: 20%;
}

#footer .footerCnt .footerNavMain > li > a {
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	letter-spacing: 1.8px;
	transition: all 0.6s ease;
}

#footer .footerCnt .footerNavMain > li > a::before {
  content: attr(data-subtitle);
  display: block;
  font-size: 12px;
	font-family: greycliff-cf,sans-serif;
	font-weight: 600;
	font-style: normal;
	line-height: 1.6;
	letter-spacing: 0.6px;
	transition: opacity 0.6s ease;
}
@media screen and (min-width: 900px) {
	#footer .footerCnt .footerNavMain > li > a:hover {
		opacity: 0.8;
	}
}

#footer .footerCnt .footerNavMain .footerNavSub{
	padding-top: 14px;
}

#footer .footerCnt .footerNavMain .footerNavSub > li > a {
	font-size: 13px;
	letter-spacing: 0.1em;
	line-height: 1.6;
	color: #fff;
	transition: opacity 0.6s ease;
}
@media screen and (min-width: 900px) {
	#footer .footerCnt .footerNavMain .footerNavSub > li > a:hover {
		opacity: 0.8;
	}
}

#footer .footerPp {
	display: none;
}
@media screen and (min-width: 900px) {
	#footer .footerPp {
		display: block;
		font-size: 13px;
		color: #fff;
		text-align: right;
		text-decoration: underline;
		padding-bottom: 34px;
		transition: opacity 0.7s ease;
		left: -20px;
	}
	#footer .footerPp:hover {
		opacity: 0.8;
	}
}
@media screen and (min-width: 1200px) {
	#footer .footerPp {
		left: -50px;
	}
}

#footer small {
	display: block;
	font-size: 10px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 2px;
	color: rgb(80 80 80 / 30%);
	background-color: #fff;
	width: 100%;
	padding: 12px 0 20px 0;
}
@media screen and (min-width: 900px) {
	#footer small {
		padding: 25px 0;
	}
}

/* ========== common parts ========== */
.pageTitle {
	font-size: 32px;
	font-weight: bold;
	color: #505050;
	letter-spacing: 1.8px;
}

.pageTitle::before {
  content: attr(data-subtitle);
  display: block;
  font-size: 20px;
	font-family: greycliff-cf,sans-serif;
	font-weight: 600;
	font-style: normal;
	color: #a71527;
	line-height: 1.6;
	letter-spacing: 0.6px;
}
@media screen and (min-width: 900px) {
	.pageTitle {
		font-size: 36px;
	}
	.pageTitle::before {
		font-size: 24px;
	}
}

.descText {
	font-size: 14px;
	line-height: 1.8;
}

/* 下層ページ用タイトル */
.listTitle {
	position: relative;
	font-size: 24px;
	font-weight: bold;
	padding-left: 20px;
	letter-spacing: 3px;
}

.listTitle::before {
	content: '';
	display: inline-block;
	width: 10px;
	height: 40px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background-color: #1548a7;
}
@media screen and (min-width: 900px){
	.listTitle  {
		font-size: 28px;
		padding-left: 36px;
		letter-spacing: 3px;
	}
	.listTitle::before {
		width: 18px;
	}
}

/* ボタン */
.btnNews {
	position: relative;
	display: inline-block;
	font-size: 16px;
	line-height: 0;
	color: #a71527;
	padding: 16px 40px 16px 28px;
	border: 2px solid #a71527;
	margin-top: 30px;
	overflow: hidden;
	z-index: 50;
}
.btnNews span {
	position: relative;
	transition: color 0.8s ease;
	z-index: 50;
}

@media screen and (min-width: 900px) {
	.btnNews:hover span {
		color: #fff;
		transition: color 1.2s ease;
	}
}

.btnNews:before {
	content: '';
	position: relative;
	display: inline-block;
	background-color: #a71527;
	width: 12px;
	height: 12px;
	margin-right: 10px;
	transition: background-color 0.8s ease;
	z-index: 50;
}
@media screen and (min-width: 900px) {
	.btnNews:hover:before {
		background-color: #fff;
		transition: background-color 1.2s ease;
	}
}

.btnNews:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 82px;
	height: 82px;
	background: #a71527;
	transform: scale(0);
	transition: transform 0.8s ease;
	z-index: 49;
}
@media screen and (min-width: 900px) {
	.btnNews:hover:after {
		transform: scale(4.2);
		transition: transform 1.2s ease;
	}
}

.btnRound {
	position: relative;
	background-color: #fff;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	overflow: hidden;
	z-index: 50;
}
@media screen and (min-width: 900px) {
	.btnRound {
		width: 80px;
		height: 80px;
	}
}

.btnRound a,
.btnRound span {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 36px;
	font-weight: bold;
	color: #a71527;
	width: 60px;
	height: 60px;
	transition: color 0.7s ease;
	z-index: 50;
}

.btnRound i {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 36px;
	font-weight: bold;
	color: #a71527;
	width: 60px;
	height: 60px;
	transform: translateX(-60px);
	transition: color 0.7s ease;
	opacity: 0;
	cursor: pointer;
	z-index: 50;
}

.btnRound:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 60px;
	height: 60px;
	background: #a71527;
	border-radius: 50%;
	transform: scale(0);
	transition: transform 0.7s ease;
	z-index: 49;
}
@media screen and (min-width: 900px) {
	.btnRound a,
	.btnRound span {
		width: 80px;
		height: 80px;
	}
	.btnRound i {
		width: 80px;
		height: 80px;
	}
	.btnRound:hover a,
	.btnRound:hover span {
		color: #fff;
		opacity: 0;
		transform: translateX(60px);
		transition: transform 0.7s ease, opacity 0.7s ease;
	}
	.btnRound:hover i {
		color: #fff;
		opacity: 1;
		transform: translateX(0px);
		transition: transform 0.7s ease, opacity 0.7s ease;
	}
	.btnRound:before {
		width: 80px;
		height: 80px;
	}
	.btnRound:hover:before {
		transform: scale(4.2);
		transition: transform 1.2s ease;
	}
}

.btnRound svg {
	position: absolute;
	transform: rotate(-90deg) scale(1.04);
	z-index: 50;
	display: flex;
	justify-content: center;
  align-items: center;
}

.btnRound circle {
	fill: transparent;
	stroke: #fff;
	stroke-width: 3;
}
@media screen and (min-width: 900px) {
	.btnRound:hover circle {
		animation: CircleAnime 1.6s ease 0s 1 forwards;
	}
}

.btnRect {
	display: inline-block;
	position: relative;
	font-size: 24px;
	color: #a71527;
	padding: 25px 116px 21px 46px;
	overflow: hidden;
	transition: color 0.8s ease;
}

.btnRect span {
	position: relative;
	z-index: 50;
}

.btnRect .btnRectWrap {
	position: absolute;
	right: 47px;
	top: 50%;
	width: 38px;
	height: 38px;
	transform: translateY(-50%);
	overflow: hidden;
	border: 3px solid #a71527;
	border-radius: 50%;
}

.btnRect .btnRectWrap span {
	display: flex;
	align-items: center;
	justify-content: center;
  font-family: dnp-shuei-gothic-kin-std,sans-serif;
	font-weight: bold;
	color: #a71527;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	transition: color 0.8s ease, border 0.8s ease;
	z-index: 50;
}

.btnRect .btnRectWrap i {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: dnp-shuei-gothic-kin-std,sans-serif;
	font-weight: bold;
	color: #a71527;
	width: 44px;
	height: 44px;
	transform: translateX(-44px);
	transition: color 0.8s ease;
	opacity: 0;
	cursor: pointer;
	z-index: 50;
}

.btnRect .btnRectWrap:before {
	content: '';
	position: absolute;
	top:0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #a71527;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	transform: scale(0);
	transition: transform 0.8s ease, background 0.8s ease;
	z-index: 49;
}

@media screen and (min-width: 900px) {
	.btnRect:hover .btnRectWrap span {
		opacity: 0;
		transform: translateX(44px);
		transition: transform 1.2s ease, opacity 0.3s ease;
	}
	.btnRect:hover .btnRectWrap i {
		color: #fff;
		opacity: 1;
		transform: translateX(0px);
		transition: transform 0.6s ease, opacity 0.3s ease;
	}
	.btnRect:hover .btnRectWrap {
		width: 44px;
    height: 44px;
    border: none;
	}
	.btnRect:hover .btnRectWrap:before {
		border: 3px solid #a71527;
		background: #a71527;
		transform: scale(1.0);
	}
}

.btnSquare {
	position: relative;
	display: inline-block;
	background-color: #fff;
	width: 300px;
	height: 70px;
	transition: background-color 0.7s ease;
	overflow: hidden;
}

.btnSquare .btnSquareWrap:before {
	content: '';
	position: absolute;
	top:0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 300px;
	height: 70px;
	transform: scale(0);
	transition: transform 0.8s ease, background 0.8s ease;
	z-index: 49;
}

.btnSquare span {
	position: relative;
	width: 300px;
	height: 70px;
	font-size: 18px;
	font-weight: bold;
	color: #1548a7;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color 0.7s ease;
	z-index: 50;
}
.btnSquare .btnSquareWrap svg {
	position: absolute;
	display: flex;
	justify-content: center;
  align-items: center;
	overflow:visible;
	z-index: 50;
}
.btnSquare .btnSquareWrap svg:nth-of-type(2) {
	z-index: 51;
}

.btnSquare .btnSquareWrap svg:nth-of-type(1) rect {
	fill: transparent;
	stroke: #fff;
	stroke-width: 6;
	stroke-dashoffset:0%;
}
.btnSquare .btnSquareWrap svg:nth-of-type(2) rect {
	fill: transparent;
	stroke: #fff;
	stroke-width: 6;
	transition: all 1.2s ease;
	transition-delay: 0.2s;
	stroke-dasharray:400%;
	stroke-dashoffset:400%;
}
@media screen and (min-width: 900px) {
	.btnSquare:hover span {
		color: #fff;
	}
	.btnSquare:hover .btnSquareWrap:before {
		background: #1548a7;
		transform: scale(1.0);
	}
	.btnSquare:hover .btnSquareWrap svg:nth-of-type(1) rect{
		stroke: #1548a7;
	}
	.btnSquare:hover .btnSquareWrap svg:nth-of-type(2) rect {
		stroke-dashoffset:0%;
	}
}

/* ========== index トップ(#topPage) ========== */
#topPage {
	position: relative;
}

#topPage .topNews {
	padding-top: 68px;
	padding-bottom: 150px;
}
@media screen and (min-width: 481px) {
	#topPage .topNews {
    padding-top: 110px;
	}
}
@media screen and (min-width: 900px) {
	#topPage .topNews {
		padding-top: 182px;
		padding-bottom: 100px;
	}
}
@media screen and (min-width: 1200px) {
	#topPage .topNews {
		padding-bottom: 180px;
	}
}

#topPage .topNews .lgText {
	position: absolute;
	top: 35px;
	right: 0;
}
@media screen and (min-width: 900px) {
	#topPage .topNews .lgText {
		top: 24px;
	}
}
@media screen and (min-width: 1200px) {
	#topPage .topNews .lgText {
		top: 14px;
	}
}

#topPage .topNews .topNewsArea {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	padding: 42px 15px 0 15px;
	z-index: 10;
}
@media screen and (min-width: 900px) {
	#topPage .topNews .topNewsArea {
		flex-direction: row;
		padding: 74px 20px 100px 20px;
	}
}
@media screen and (min-width: 1200px) {
	#topPage .topNews .topNewsArea {
		padding: 74px 100px 100px 100px;
	}
}

#topPage .topNews .topNewsArea .topNewsCategory {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	column-gap: 25px;
	padding-bottom: 50px;
}
@media screen and (min-width: 481px) {
	#topPage .topNews .topNewsArea .topNewsCategory {
		padding-bottom: 40px;
	}
}
@media screen and (min-width: 900px) {
	#topPage .topNews .topNewsArea .topNewsCategory {
		display: block;
		width: 247px;
		padding-bottom: 0;
	}
}

#topPage .topNews .topNewsArea .topNewsCategory li {
	display: table;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.2;
	color: #a3a3a3;
	border-bottom: 1px solid #a3a3a3;
	margin-top: 23px;
	cursor: pointer;
	transition: color 0.6s ease, border-bottom 0.6s ease;
}
#topPage .topNews .topNewsArea .topNewsCategory li a{
	transition: color 0.6s ease, border-bottom 0.6s ease;
}

#topPage .topNews .topNewsArea .topNewsCategory li.isActive {
	color: #a71527;
	border-bottom: 1px solid #a71527;
}
@media screen and (min-width: 900px) {
	#topPage .topNews .topNewsArea .topNewsCategory li {
		line-height: 1.6;
	}
	#topPage .topNews .topNewsArea .topNewsCategory li:hover {
		color: #a71527;
		border-bottom: 1px solid #a71527;
	}
	#topPage .topNews .topNewsArea .topNewsCategory li:hover a{
		color: #a71527;
	}
	#topPage .topNews .topNewsArea .topNewsCategory li.isActive.isHidden {
		color: #a3a3a3;
		border-bottom: 1px solid #a3a3a3;
	}
}

#topPage .topNews .topNewsArea .topNewsList {
	position: relative;
	border-top: 1px solid #CECECE;
	margin-left: -35px;
	margin-right: -35px;
}
@media screen and (min-width: 481px) {
	#topPage .topNews .topNewsArea .topNewsList {
		width: 100%;
		left: 50%;
    transform: translateX(-50%);
		border-left: 1px solid #CECECE;
		margin-left: 0;
    margin-right: 0;
	}
}
@media screen and (min-width: 900px) {
	#topPage .topNews .topNewsArea .topNewsList {
		width: auto;
		border-top: none;
		left: auto;
    transform: translateX(0);
	}
}

#topPage .topNews .topNewsArea .topNewsList li {
	border-bottom: 1px solid #CECECE;
}

#topPage .topNews .topNewsArea .topNewsList li a {
	display: block;
	padding: 27px 35px;
	transition: background-color 0.6s ease;
}

@media screen and (min-width: 900px) {
	#topPage .topNews .topNewsArea .topNewsList li a {
		padding: 27px 50px;
	}
	#topPage .topNews .topNewsArea .topNewsList li a:hover {
		background-color: rgb(167 21 39 / 7%);
	}
}

#topPage .topNews .topNewsArea .topNewsList li time {
	font-size: 13px;
	line-height: 0;
	color: #A3A3A3;
	margin-right: 12px;
}
@media screen and (min-width: 900px) {
	#topPage .topNews .topNewsArea .topNewsList li time {
		margin-right: 40px;
	}
}

#topPage .topNews .topNewsArea .topNewsList li p {
	position: relative;
	display: inline-block;
	font-size: 13px;
	line-height: 0;
	color: #505050;
}

#topPage .topNews .topNewsArea .topNewsList li p:before {
	content: '';
	position: relative;
	top: 1px;
	display: inline-block;
	background-color: #505050;
	width: 12px;
	height: 12px;
	margin-right: 8px;
}

p.c_info:before {
	background-color: #a71527!important;
}
p.c_model-casting:before,p.c_event:before,p.c_design:before {
	background-color: #1548a7!important;
}
p.c_regional-contribution:before {
	background-color: #15a73c!important;
}

#topPage .topNews .topNewsArea .topNewsList li h2 {
	font-size: 14px;
	color: #505050;
	margin-top: 18px;
	line-height: 1.5;
}
@media screen and (min-width: 900px) {
	#topPage .topNews .topNewsArea .topNewsList li h2 {
		font-size: 16px;
	}
}

#topPage .topNews .btnNews.tab_sp {
	position: relative;
	top: auto;
	left: 50%;
	transform: translateX(-50%);
}

#topPage .topAbout {
	background-color: #a71527;
}

#topPage .topAbout .container {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: stretch;
}
@media screen and (min-width: 900px) {
	#topPage .topAbout .container {
		flex-direction: row;
		align-items: flex-start;
		padding-bottom: 80px;
  }
}
@media screen and (min-width: 1200px) {
	#topPage .topAbout .container {
		padding-bottom: 148px;
	}
}

#topPage .topAbout .lgText {
	position: absolute;
	left: 25px;
	top: auto;
	color: #fff;
	transform: translateY(-30px);
	opacity: 0.15;
}
@media screen and (min-width: 481px) {
	#topPage .topAbout .lgText {
		transform: translateY(0);
	}
}
@media screen and (min-width: 900px) {
	#topPage .topAbout .lgText {
		left: 30px;
		top: 312px;
		font-size: 17vw;
	}
}
@media screen and (min-width: 1000px) {
	#topPage .topAbout .lgText {
		top: 376px;
	}
}
@media screen and (min-width: 1200px) {
	#topPage .topAbout .lgText {
		left: 83px;
		top: 440px;
		font-size: 240px;
	}
}
@media screen and (min-width: 1366px) {
	#topPage .topAbout .lgText {
		left: 104px;
		top: 518px;
	}
}

#topPage .topAbout .topAboutImg img {
	position: relative;
	width: 100%;
	height: auto;
	top: -50px;
	right: -20px;
}
@media screen and (min-width: 481px) {
	#topPage .topAbout .topAboutImg img {
    right: auto;
    left: 20px;
	}
}
@media screen and (min-width: 900px) {
	#topPage .topAbout .topAboutImg img {
		width: 400px;
		top: -40px;
		right: auto;
	}
}
@media screen and (min-width: 1000px) {
	#topPage .topAbout .topAboutImg img {
		width: 500px;
		top: -60px;
	}
}
@media screen and (min-width: 1200px) {
	#topPage .topAbout .topAboutImg img {
		width: 600px;
		top: -80px;
	}	
}
@media screen and (min-width: 1366px) {
	#topPage .topAbout .topAboutImg img {
		width: 700px;
	}	
}

#topPage .topAbout .topAboutDesc {
	padding: 30px 10px 35px 10px;
}
@media screen and (min-width: 481px) {
	#topPage .topAbout .topAboutDesc {
		padding: 100px 20px 70px 10px;
	}
}
@media screen and (min-width: 900px) {
	#topPage .topAbout .topAboutDesc {
		padding: 58px 0 25px 30px;
	}
}
@media screen and (min-width: 1366px) {
	#topPage .topAbout .topAboutDesc {
		padding: 58px 0 25px 80px;
	}
}

#topPage .topAbout .topAboutDesc .pageTitle {
	color: #fff;
	letter-spacing: 3.4px;
}

#topPage .topAbout .topAboutDesc .pageTitle:before {
	color: #fff;
}
#topPage .topAbout .topAboutDesc p {
	color: #fff;
	padding-top: 38px;
}

#topPage .topAbout .topAboutDesc .btnRound {
	margin: 30px 10px 0 auto;
}
@media screen and (min-width:900px){
	#topPage .topAbout .topAboutDesc .btnRound {
		margin: 20px 0 0 auto;
	}
}

#topPage .topBusiness .topBusinessTitle {
	padding-top: 80px;
	padding-bottom: 50px;
}
@media screen and (min-width:481px){
	#topPage .topBusiness .topBusinessTitle {
    padding-top: 140px;
	}
}
@media screen and (min-width:900px){
	#topPage .topBusiness .topBusinessTitle {
		padding-top: 192px;
		padding-bottom: 93px;
	}
}

#topPage .topBusiness .topBusinessTitle .pageTitle {
	position: relative;
	text-align: center;
	z-index: 50;
}

#topPage .topBusiness .topBusinessTitle .lgText {
	position: absolute;
	top: 90px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	font-size: 24vw;
}
@media screen and (min-width:481px){
	#topPage .topBusiness .topBusinessTitle .lgText {
		top: 150px;
	}
}
@media screen and (min-width:900px){
	#topPage .topBusiness .topBusinessTitle .lgText {
		top: 224px;
		font-size: 17vw;
	}
}
@media screen and (min-width:1000px){
	#topPage .topBusiness .topBusinessTitle .lgText {
		top: 220px;
	}
}
@media screen and (min-width:1100px){
	#topPage .topBusiness .topBusinessTitle .lgText {
		top: 213px;
		font-size: 240px;
	}
}
@media screen and (min-width:1200px){
	#topPage .topBusiness .topBusinessTitle .lgText {
		top: 206px;
	}
}

#topPage .topBusiness .topBusinessCnt {
	padding-right: 15px;
	padding-left: 15px;
}
@media screen and (min-width:900px){
	#topPage .topBusiness .topBusinessCnt {
		padding-right: 0;
		padding-left: 0;
	}
}

#topPage .topBusiness .topBusinessCnt h3 {
	position: relative;
	font-size: 24px;
	font-weight: bold;
	padding-left: 22px;
	letter-spacing: 3px;
}

#topPage .topBusiness .topBusinessCnt h3::before {
	content: '';
	display: inline-block;
	width: 10px;
	height: 40px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background-color: #1548a7;
}
#topPage .topBusiness .topBusinessCnt:nth-of-type(3) h3::before {
	background-color: #15a73c;
}
@media screen and (min-width:900px){
	#topPage .topBusiness .topBusinessCnt h3 {
		letter-spacing: 2px;
		padding-left: 38px;
	}
	#topPage .topBusiness .topBusinessCnt h3::before {
		width: 18px;
	}
}

#topPage .topBusiness .topBusinessCnt ul {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-top: 56px;
	row-gap: 50px;
}
@media screen and (min-width:481px){
	#topPage .topBusiness .topBusinessCnt ul {
		flex-direction: row;
		column-gap: 30px;
	}
}
@media screen and (min-width:900px){
	#topPage .topBusiness .topBusinessCnt ul {
		justify-content: space-between;
		padding-top: 55px;
		row-gap: 0;
		column-gap: 0;
	}
}

#topPage .topBusiness .topBusinessCnt ul li {
	position: relative;
	width: 100%;
	box-shadow: 5px 5px 0 0 #1548a7;
	overflow: hidden;
	cursor: pointer;
	user-select: none;
}
#topPage .topBusiness .topBusinessCnt:nth-of-type(3) ul li {
	box-shadow: 5px 5px 0 0 #15a73c;
}
@media screen and (min-width:900px){
	#topPage .topBusiness .topBusinessCnt ul li {
		width: 48%;
	}
}
@media screen and (min-width:1200px){
	#topPage .topBusiness .topBusinessCnt ul li {
		width: 45%;
	}
}

#topPage .topBusiness .topBusinessCnt ul li a:before {
	content: '';
	position: absolute;
	top: 50%;
	left: -38px;
	display: block;
	width: 202px;
	height: 202px;
	border: 2px solid #1548a7;
	border-radius: 50%;
	transform: translateY(-50%);
	background-color: #ffffff99;
	z-index: 1;
}
#topPage .topBusiness .topBusinessCnt:nth-of-type(3) ul li a:before {
	border: 2px solid #15a73c;
}
@media screen and (min-width: 900px) {
	#topPage .topBusiness .topBusinessCnt ul li a:before {
		left: -46px;
		width: 334px;
		height: 334px;
	}
}

#topPage .topBusiness .topBusinessCnt ul li a {
	display: flex;
}

#topPage .topBusiness .topBusinessCnt ul li img {
	position: relative;
	max-width: 100%;
	transition: transform 0.5s ease;
	vertical-align: bottom;
	z-index: 0;
}
@media screen and (min-width: 900px) {
	#topPage .topBusiness .topBusinessCnt ul li:hover img {
		transform: scale(1.05);
	}
}

#topPage .topBusiness .topBusinessCnt ul li h4 {
	position: absolute;
	top: 50%;
	left: 6px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 1.2px;
	color: #1548a7;
	transform: translateY(-50%);
	z-index: 2;
}
@media screen and (min-width: 900px) {
	#topPage .topBusiness .topBusinessCnt ul li h4 {
		font-size: 24px;
		left: 30px;
	}
}

#topPage .topBusiness .topBusinessCnt:nth-of-type(3) ul li h4 {
	color: #15a73c;
}

#topPage .topBusiness .topBusinessCnt ul li .topBusinessRound {
	position: absolute;
	right: 7px;
  bottom: 12px;
	background-color: #1548a7;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	overflow: hidden;
	z-index: 50;
}
@media screen and (min-width: 900px) {
	#topPage .topBusiness .topBusinessCnt ul li .topBusinessRound {
		right: 40px;
		bottom: 30px;	
		width: 60px;
		height: 60px;
	}
}

#topPage .topBusiness .topBusinessCnt:nth-of-type(3) ul li .topBusinessRound {
	background-color: #15a73c;
}

#topPage .topBusiness .topBusinessCnt ul li .topBusinessRound p {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 17px;
	font-weight: bold;
	color: #fff;
	width: 40px;
	height: 40px;
	transition: color 0.7s ease;
	z-index: 50;
}
#topPage .topBusiness .topBusinessCnt ul li .topBusinessRound i {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 17px;
	font-weight: bold;
	color: #fff;
	width: 40px;
	height: 40px;
	transform: translateX(-60px);
	transition: color 0.7s ease;
	color: pointer;
	opacity: 0;
	z-index: 50;
}

#topPage .topBusiness .topBusinessCnt ul li .topBusinessRound:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 40px;
	height: 40px;
	background: #fff;
	border-radius: 50%;
	transform: scale(0);
	transition: transform 0.7s ease;
	z-index: 49;
}
#topPage .topBusiness .topBusinessCnt:nth-of-type(3) ul li .topBusinessRound:before {
	background: #fff;
}

@media screen and (min-width: 900px) {
	#topPage .topBusiness .topBusinessCnt ul li .topBusinessRound p,
	#topPage .topBusiness .topBusinessCnt ul li .topBusinessRound i {
		font-size: 36px;
		width: 60px;
		height: 60px;
	}
	#topPage .topBusiness .topBusinessCnt ul li:hover .topBusinessRound p {
		color: #1548a7;
		opacity: 0;
		transform: translateX(60px);
		transition: transform 0.7s ease, opacity 0.7s ease;
	}
	#topPage .topBusiness .topBusinessCnt:nth-of-type(3) ul li:hover .topBusinessRound p {
		color: #15a73c;
	}
	#topPage .topBusiness .topBusinessCnt ul li:hover .topBusinessRound i {
		color: #1548a7;
		opacity: 1;
		transform: translateX(0);
		transition: transform 0.7s ease, opacity 0.7s ease;
	}
	#topPage .topBusiness .topBusinessCnt:nth-of-type(3) ul li:hover .topBusinessRound i {
		color: #15a73c;
	}
	#topPage .topBusiness .topBusinessCnt ul li .topBusinessRound:before {
		width: 60px;
		height: 60px;
	}
	#topPage .topBusiness .topBusinessCnt ul li:hover .topBusinessRound:before {
		transform: scale(4.2);
		transition: transform 1.2s ease;
	}
}

#topPage .topBusiness .topBusinessCnt ul li .topBusinessRound svg {
	position: absolute;
	transform: rotate(-90deg) scale(1.04);
	z-index: 50;
	display: flex;
	justify-content: center;
  align-items: center;
}

#topPage .topBusiness .topBusinessCnt ul li .topBusinessRound circle {
	fill: transparent;
	stroke: #1548a7;
	stroke-width: 3;
}
#topPage .topBusiness .topBusinessCnt:nth-of-type(3) ul li .topBusinessRound circle {
	stroke: #15a73c;
}
@media screen and (min-width: 900px) {
	#topPage .topBusiness .topBusinessCnt ul li:hover .topBusinessRound circle {
		animation: CircleAnime 2s ease 0s 1 forwards;
	}
}

#topPage .topBusiness .topBusinessCnt .btnRect {
	text-align: center;
	margin-top: 30px;
	margin-bottom: 50px;
	left: 50%;
	transform: translateX(-50%);
	color: #1548a7;
}
#topPage .topBusiness .topBusinessCnt:nth-of-type(3) .btnRect {
	color: #15a73c;
}
@media screen and (min-width: 900px) {
	#topPage .topBusiness .topBusinessCnt .btnRect {
		margin-bottom: 100px;
	}
}

#topPage .topBusiness .topBusinessCnt .btnRect .btnRectWrap {
	border: 3px solid #1548a7;
}

#topPage .topBusiness .topBusinessCnt .btnRect .btnRectWrap span {
	color: #1548a7;
}

#topPage .topBusiness .topBusinessCnt:nth-of-type(3) .btnRect .btnRectWrap {
	border: 3px solid #15a73c;
}

#topPage .topBusiness .topBusinessCnt:nth-of-type(3) .btnRect .btnRectWrap span {
	color: #15a73c;
}

#topPage .topBusiness .topBusinessCnt .btnRect:before {
	border: 3px solid #1548a7;
	background: #1548a7;
}
#topPage .topBusiness .topBusinessCnt:nth-of-type(3) .btnRect:before {
	border: 3px solid #15a73c;
	background: #15a73c;
}

@media screen and (min-width: 900px) {
	#topPage .topBusiness .topBusinessCnt .btnRect:hover .btnRectWrap::before {
		border: 3px solid #1548a7;
		background: #1548a7;
	}
	#topPage .topBusiness .topBusinessCnt:nth-of-type(3) .btnRect:hover .btnRectWrap::before {
		border: 3px solid #15a73c;
		background: #15a73c;
	}
	#topPage .topBusiness .topBusinessCnt .btnRect:hover .btnRectWrap {
		border: none;
	}
}

#topPage .topLink {
	position: relative;
	margin-bottom: 100px;
}
@media screen and (min-width:900px){
	#topPage .topLink {
		margin-bottom: 145px;
	}
}
@media screen and (min-width:1200px){
	#topPage .topLink {
		position: relative;
		margin-bottom: 195px;
	}
}

#topPage .topLink .topLinkBg {
	position: relative;
	margin-top: 35px;
	margin-bottom: 35px;
	background-color: #a71527;
	width: 100%;
}

#topPage .topLink .topLinkBg:before {
	content: '';
	background-color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 35px;
	z-index: 10;
}

#topPage .topLink .topLinkBg:after {
	content: '';
	background-color: #fff;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 35px;
	z-index: 10;
}

#topPage .topLink ul {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	gap: 30px;
	padding-left: 15px;
	padding-right: 15px;
	z-index: 20;
}
@media screen and (min-width:481px){
	#topPage .topLink ul {
		flex-direction: row;
	}
}
@media screen and (min-width:900px){
	#topPage .topLink ul {
		padding-left: 0;
    padding-right: 0;
	}
}

#topPage .topLink ul li,
#topPage .topLink ul li a {
	display: block;
	position: relative;
	overflow: hidden;
}

#topPage .topLink ul li img {
	width: 100%;
	transition: transform 0.8s ease;
}
@media screen and (min-width: 900px) {
	#topPage .topLink ul li:hover img {
		transform: scale(1.05);
	}
}

#topPage .topLink ul li .pageTitle {
	text-align: center;
	color: #a71527;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: 100%;
}
@media screen and (min-width: 900px) {
	#topPage .topLink ul li .pageTitle {
		top: 48%;
	}
}

#topPage .topLink ul li .topLinkBtn {
	position: absolute;
	top: 76%;
	left: 50%;
	display: inline-block;
	font-size: 17px;
	line-height: 0;
	color: #fff;
	width: 40px;
	height: 40px;
	background-color: #a71527;
	border-radius: 50%;
	transform: translateX(-50%) translateY(-50%);
	overflow: hidden;
	z-index: 50;
}
#topPage .topLink ul li .topLinkBtn span {
	position: relative;
	display: flex;
  align-items: center;
  justify-content: center;
	transition: color 0.7s ease;
	width: 40px;
	height: 40px;
	font-weight: bold;
	z-index: 50;
}

#topPage .topLink ul li .topLinkBtn i {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	color: #a71527;
	width: 40px;
	height: 40px;
	transform: translateX(-60px);
	transition: color 0.7s ease;
	opacity: 0;
	cursor: pointer;
	z-index: 50;
}

@media screen and (min-width: 900px) {
	#topPage .topLink ul li .topLinkBtn {
		font-size: 36px;
		width: 60px;
		height: 60px;
    top: 72%;
	}
	#topPage .topLink ul li .topLinkBtn span,
	#topPage .topLink ul li .topLinkBtn i {
		width: 60px;
		height: 60px;
	}
	#topPage .topLink ul li:hover .topLinkBtn {
		background-color: #fff;
		transition: background-color 0.1s ease;
		transition-delay: 0.5s;
	}
	#topPage .topLink ul li:hover .topLinkBtn span {
		color: #a71527;
		opacity: 1;
		transform: translateX(60px);
		transition: transform 0.7s ease, opacity 0.7s ease;
	}
	#topPage .topLink ul li:hover .topLinkBtn i {
		opacity: 1;
		transform: translateX(0px);
		transition: transform 0.7s ease, opacity 0.7s ease;
	}
}
@media screen and (min-width: 1100px) {
	#topPage .topLink ul li .topLinkBtn {
		top: 66%;
	}
}

#topPage .topLink ul li .topLinkBtn:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 40px;
	height: 40px;
	background: #fff;
	border-radius: 50%;
	transform: scale(0);
	transition: transform 0.5s ease;
	z-index: 49;
}
@media screen and (min-width: 900px) {
	#topPage .topLink ul li .topLinkBtn:before {
		width: 60px;
		height: 60px;
	}
	#topPage .topLink ul li:hover .topLinkBtn:before {
		transform: scale(0.99);
	}
}

#topPage .topRecruit {
	position: relative;
	padding-bottom: 50px;
}
@media screen and (min-width:900px){
	#topPage .topRecruit {
		padding-bottom: 100px;
	}
}

#topPage .topRecruit .topRecruitBg {
	background-color: #a71527;
}

#topPage .topRecruit .topRecruitBg .pageTitle {
	color: #fff;
	padding: 10px 0px 13px;
}
#topPage .topRecruit .topRecruitBg .pageTitle:before {
	color: #fff;
}
@media screen and (min-width:481px){
	#topPage .topRecruit .topRecruitBg .pageTitle {
		padding: 32px 0px 40px 15px;
	}
}
@media screen and (min-width:900px){
	#topPage .topRecruit .topRecruitBg .pageTitle {
		padding: 38px 0px 50px;
	}
}

#topPage .topRecruit .topRecruitBg .lgText {
	position: absolute;
	top: 58px;
	right: 4px;
	color: #fff;
	opacity: 0.15;
	letter-spacing: -2px;
}
@media screen and (min-width:481px){
	#topPage .topRecruit .topRecruitBg .lgText {
    top: 91px;
    right: 24px;
	}
}
@media screen and (min-width:900px){
	#topPage .topRecruit .topRecruitBg .lgText {
		top: 127px;
		right: 83px;
		letter-spacing: -8px;
	}
}
@media screen and (min-width:1000px){
	#topPage .topRecruit .topRecruitBg .lgText {
		top: 121px;
	}
}
@media screen and (min-width:1100px){
	#topPage .topRecruit .topRecruitBg .lgText {
		top: 115px;
	}
}
@media screen and (min-width:1200px){
	#topPage .topRecruit .topRecruitBg .lgText {
		top: 109px;
	}
}

#topPage .topRecruit .topRecruitTitle {
	font-size: 36px;
	font-weight: bold;
	line-height: 1.6;
	padding: 300px 0 26px 15px;
}
@media screen and (min-width:481px){
	#topPage .topRecruit .topRecruitTitle {
		padding: 600px 0 26px 28px;
	}
}
@media screen and (min-width:900px){
	#topPage .topRecruit .topRecruitTitle {
    line-height: unset;
		padding: 73px 0 33px 45px;
	}
}

#topPage .topRecruit .topRecruitDesc {
	position: relative;
}

#topPage .topRecruit .topRecruitDesc .descText {
	display: inline-block;
	padding-right: 15px;
	padding-left: 15px;
	line-height: 1.5;
}
@media screen and (min-width:900px){
	#topPage .topRecruit .topRecruitDesc .descText {
		width: 66%;
		padding-left: 45px;
	}
}

#topPage .topRecruit .topRecruitDesc .descText:before {
	content: '';
	display: block;
	position: absolute;
	top: -394px;
	right: -20px;
	width: 100%;
	height: 230px;
	background-image: url(../img/top_recruit01_sp.jpg);
	background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (min-width:481px){
	#topPage .topRecruit .topRecruitDesc .descText:before {
		top: -610px;
    width: 710px;
    height: 480px;
	}
}
@media screen and (min-width: 900px) {
	#topPage .topRecruit .topRecruitDesc .descText:before {
		top: -70px;
		right: -165px;
		width: 400px;
		height: 500px;
		background-image: url(../img/top_recruit01.jpg);
	}
}
@media screen and (min-width: 1100px) {
	#topPage .topRecruit .topRecruitDesc .descText:before {
		right: -160px;
	}
}
@media screen and (min-width: 1200px) {
	#topPage .topRecruit .topRecruitDesc .descText:before {
		right: -130px;
	}
}
@media screen and (min-width: 1380px) {
	#topPage .topRecruit .topRecruitDesc .descText:before {
		top: -70px;
		right: -80px;
	}
}

#topPage .topRecruit .btnRect {
	margin-top: 25px;
	margin-bottom: 35px;
	left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 900px) {
	#topPage .topRecruit .btnRect {
		margin-top: 15px;
		margin-bottom: 20px;
	}
}

#topPage .topRecruit .btnRect + picture img {
	display: block;
	position: relative;
	left: -20px;
	width: 100%;
}
@media screen and (min-width: 900px) {
	#topPage .topRecruit .btnRect + picture img {
		left: -83px;
		width: 800px;
	}
}


/* ========== index ABOUT(#about) ========== */
.aboutVision {
	position: relative;
	background-color: #a71527;
	padding-top: 127px;
}
@media screen and (min-width: 900px) {
	.aboutVision {
		padding-top: 217px;
	}
}

.aboutVision .lgText {
	position: absolute;
	top: 0;
	left: 20px;
	color: #fff;
	transform: translateY(-30px);
	opacity: 0.15;
	z-index: 11;
}
@media screen and (min-width: 900px) {
	.aboutVision .lgText {
		top: auto;
		left: 82px;
	}
}
@media screen and (min-width: 1200px) {
	.aboutVision .lgText {
		letter-spacing: -10px;
	}
}

.aboutVision  .container {
	display: flex;
	flex-direction: column-reverse;
}
@media screen and (min-width: 900px) {
	.aboutVision  .container {
		flex-direction: row;
		padding-bottom: 97px;
	}
}

.aboutVision .container picture {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	left: -20px;
	margin-top: 25px;
	margin-bottom: 40px;
}
.aboutVision .container picture img {
	width: 100%;
}
@media screen and (min-width: 900px) {
	.aboutVision .container picture {
		width: 50%;
		height: fit-content;
		left: -83px;
		margin-top: 95px;
	}
}
@media screen and (min-width: 1366px) {
	.aboutVision .container picture {
		width: 573px;
		height: 414px;
		left: -58px;
	}
}

.aboutVision .aboutVisionTitle {
	position: relative;
	width: 100%;
}
@media screen and (min-width: 900px) {
	.aboutVision .aboutVisionTitle {
		width: 50%;
		left: -40px;
	}
}
@media screen and (min-width: 1366px) {
	.aboutVision .aboutVisionTitle {
		width: 54%;
		left: auto;
	}
}

.aboutVision .aboutVisionTitle .pageTitle {
	position: relative;
	top: -16px;
	color: #fff;
	padding-bottom: 30px;
}
@media screen and (min-width: 900px) {
	.aboutVision .aboutVisionTitle .pageTitle {
		padding-bottom: 35px;
	}
}

.aboutVision .aboutVisionTitle .pageTitle::before {
	color: #fff;
}

.aboutVision .aboutVisionTitle .descText {
	color: #fff;
	letter-spacing: 1px;
	padding-right: 15px;
}
@media screen and (min-width: 900px) {
	.aboutVision .aboutVisionTitle .descText {
		padding-right: 0;
    padding-left: 0;
	}
}

.aboutUrness {
	position: relative;
	padding-top: 68px;
}
@media screen and (min-width: 900px) {
	.aboutUrness {
		padding-top: 80px;
	}
}

.aboutUrness::before {
	content: '';
	display: block;
	position: absolute;
	width: 3px;
	height: 50px;
	background-color: #a71527;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
@media screen and (min-width: 900px) {
	.aboutUrness::before {
		height: 70px;
	}
}

.aboutUrness .aboutUrnessTitle > p {
	font-size: 60px;
	text-align: center;
	letter-spacing: 4px;
	color:#a71527;
	padding-bottom: 23px;
}
@media screen and (min-width: 900px) {
	.aboutUrness .aboutUrnessTitle > p {
		font-size: 64px;
	}
}

.aboutUrness .aboutUrnessSubtitle {
	position: relative;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: flex-start;
	gap: 50px;
}

.aboutUrness .aboutUrnessSubtitle p {
	position: relative;
	display: inline-block;
	font-size: 24px;
	letter-spacing: 2px;
}
@media screen and (min-width: 900px) {
	.aboutUrness .aboutUrnessSubtitle p {
		font-size: 32px;
	}
}

.aboutUrness .aboutUrnessSubtitle p:nth-of-type(1):after,
.aboutUrness .aboutUrnessSubtitle p:nth-of-type(3):after {
	content: '意味';
	display: block;
	position: absolute;
	bottom: -28px;
	left: 50%;
	font-size: 14px;
	font-weight: 600;
	color: #a71527;
	width: 32px;
	transform: translateX(-50%);
}
@media screen and (min-width: 900px) {
	.aboutUrness .aboutUrnessSubtitle p:nth-of-type(1):after,
	.aboutUrness .aboutUrnessSubtitle p:nth-of-type(3):after {
		font-size: 18px;
		width: 42px;
	}
}

.aboutUrness .descText {
	text-align: center;
	line-height: 1.6;
	margin-top: 30px;
}
@media screen and (min-width: 900px) {
	.aboutUrness .descText {
    line-height: 1.8;
		padding-bottom: 95px;
		width: 655px;
		margin: 0 auto;
	}
}

.aboutMsg {
	position: relative;
	padding-top: 75px;
}
@media screen and (min-width:900px){
	.aboutMsg {
    padding-top: 0;
	}
}

.aboutMsg .lgText {
	position: absolute;
	bottom: 25px;
	left: 15px;
	font-size: 25.77vw;
	letter-spacing: -1px;
}
@media screen and (min-width: 481px){
	.aboutMsg .lgText {
		font-size: 19vw;
		bottom: 36px;
	}
}
@media screen and (min-width:900px){
	.aboutMsg .lgText {
		font-size: 17vw;
		letter-spacing: -6px;
		top: 110px;
		right: -15px;
		bottom: auto;
		left: auto;
	}
}
@media screen and (min-width: 1200px){
	.aboutMsg .lgText {
			font-size: 240px;
	}
}

.aboutMsg .aboutMsgTitle {
	padding-bottom: 98px;
}
@media screen and (min-width:900px){
	.aboutMsg .aboutMsgTitle {
		padding-bottom: 70px;
	}
}
@media screen and (min-width:1200px){
	.aboutMsg .aboutMsgTitle {
		padding-bottom: 93px;
	}
}

.aboutMsg .aboutMsgBg {
	background-color: #a71527;
}

.aboutMsg .aboutMsgBg p {
	display: inline-block;
	font-size: 22px;
	font-weight: bold;
	letter-spacing: 4px;
  line-height: 1.4;
	background-color: #fff;
	padding: 26px 92px 24px 14px;
}
@media screen and (min-width:481px){
	.aboutMsg .aboutMsgBg p {
		font-size: 28px;
	}
}
@media screen and (min-width:900px){
	.aboutMsg .aboutMsgBg p {
		font-size: 36px;
		letter-spacing: 6px;
		padding: 7px 40px;
		margin-left: 85px;
	}
}

.aboutMsg .aboutMsgName {
	position: relative;
	display: inline-block;
	font-size: 26px;
	font-weight: bold;
	letter-spacing: 4px;
	padding-top: 19px;
	padding-bottom: 110px;
	padding-left: 15px;
}

.aboutMsg .aboutMsgName span {
	display: block;
	font-size: 14px;
	letter-spacing: 1px;
	color:#a71527;
	padding-top: 6px;
}

.aboutMsg .aboutMsgName::before {
	content: attr(data-subtitle);
	display: block;
	font-family: dnp-shuei-gothic-kin-std,sans-serif;
	font-size: 13px;
	font-weight: 600;
	font-style: normal;
	line-height: 2;
	letter-spacing: 0.3em;
}
@media screen and (min-width:481px){
	.aboutMsg .aboutMsgName {
		font-size: 30px;
		padding-bottom: 29px;
		padding-left: 0;
		left: 66%;
		transform: translateX(-50%);
	}
}
@media screen and (min-width:900px){
	.aboutMsg .aboutMsgName {
		font-size: 30px;
		padding-bottom: 29px;
		padding-left: 0;
		left: 57%;
		transform: translateX(-50%);
	}
	.aboutMsg .aboutMsgName span {
		display: inline;
		font-size: 16px;
		padding-top: 0;
		padding-left: 10px;
	}
	.aboutMsg .aboutMsgName::before {
		font-size: 15px;
		vertical-align: text-top;	
	}
}
/* 名前画像 */
.aboutMsg .aboutName {
	/*width: 140px;*/
	margin-top: 5px;
}
@media screen and (min-width:900px){
	.aboutMsg .aboutName {
		width: 160px;
    vertical-align: middle;
	}
}

.aboutMsg .aboutMsgMain {
	position: relative;
	background-color: #F8F8F8;
	margin-left: -20px;
	margin-right: -20px;
}
@media screen and (min-width:900px){
	.aboutMsg .aboutMsgMain {
		margin-left: 0;
		margin-right: 0;
	}
}

.aboutMsg .aboutMsgMain p {
	padding: 35px 35px 30px 35px;
	letter-spacing: 0.03em;
	line-height: 1.8;
	width: auto;
	max-width: 633px;
}
@media screen and (min-width:481px){
	.aboutMsg .aboutMsgMain p {
		width: 60%;
	}
}
@media screen and (min-width:900px){
	.aboutMsg .aboutMsgMain p {
		width: 53%;
		padding: 45px 49px 34px 49px;
	}
}

.aboutMsg .aboutMsgMain img {
	position: absolute;
  top: -353px;
  right: -63px;
  width: 265px;
  height: auto;
}
@media screen and (min-width:481px){
	.aboutMsg .aboutMsgMain img {
    top: auto;
    bottom: 0;
    right: -74px;
    width: 44vw;
	}
}
@media screen and (min-width:900px){
	.aboutMsg .aboutMsgMain img {
    right: -160px;
    width: 46vw;
	}
}
@media screen and (min-width:1100px){
	.aboutMsg .aboutMsgMain img {
    bottom: 0;
    width: 520px;
    height: auto;
	}
}

.aboutValues {
	position: relative;
}

.aboutValues .aboutValuesTitle {
	padding-top: 85px;
	padding-bottom: 40px;
}
@media screen and (min-width:481px){
	.aboutValues .aboutValuesTitle {
    padding-top: 140px;
	}
}
@media screen and (min-width:900px){
	.aboutValues .aboutValuesTitle {
		padding-top: 150px;
		padding-bottom: 60px;
	}
}

.aboutValues .aboutValuesTitle .pageTitle {
	position: relative;
	text-align: center;
	z-index: 50;
}

.aboutValues .aboutValuesTitle .lgText {
	position: absolute;
	top: 118px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	font-size: 31vw;
}
@media screen and (min-width:481px){
	.aboutValues .aboutValuesTitle .lgText {
		top: 156px;
		font-size: 24vw;
	}
}
@media screen and (min-width:900px){
	.aboutValues .aboutValuesTitle .lgText {
		top: 182px;
		font-size: 17vw;
	}
}
@media screen and (min-width:1000px){
	.aboutValues .aboutValuesTitle .lgText {
		top: 178px;
	}
}
@media screen and (min-width:1100px){
	.aboutValues .aboutValuesTitle .lgText {
		top: 171px;
		font-size: 240px;
	}
}
@media screen and (min-width:1200px){
	.aboutValues .aboutValuesTitle .lgText {
		top: 164px;
	}
}

.aboutValues .aboutValuesList {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	column-gap: 50px;
	row-gap: 35px;
	padding-right: 15px;
  padding-left: 15px;
	margin-bottom: 75px;
}
.aboutValues .aboutValuesList li {
	width: 100%;
}
@media screen and (min-width:481px){
	.aboutValues .aboutValuesList {
		flex-direction: row;
		flex-wrap: wrap;
		row-gap: 46px;
		padding: 0 35px 70px 35px;
		margin-bottom: 0;
	}
	.aboutValues .aboutValuesList li {
		width: 45%;
	}
}
@media screen and (min-width:900px){
	.aboutValues .aboutValuesList {
		padding: 0 100px 70px 100px;
	}
}
@media screen and (min-width:1366px){
	.aboutValues .aboutValuesList {
		column-gap: 100px;
	}
}

.aboutValues .aboutValuesList li .en_deco {
	font-size: 32px;
	color: #a71527;
	padding-left: 10px;
}
@media screen and (min-width:900px){
	.aboutValues .aboutValuesList li .en_deco {
		font-size: 40px;
	}
}

.aboutValues .aboutValuesList li h3 {
	padding: 8px 10px;
	background-color: #a71527;
	font-size: 38px;
	color: #fff;
	letter-spacing: 3px;
}
/* sarafi対応 */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
	_::-webkit-full-page-media, _:future, :root .aboutValues .aboutValuesList li h3 {
		padding: 11px 10px 11px;
	}
}
@media screen and (min-width:900px){
	.aboutValues .aboutValuesList li h3 {
		font-size: 50px;
		padding: 10px 10px;
	}
	/* sarafi対応 */
	@media screen and (-webkit-min-device-pixel-ratio: 0) {
    _::-webkit-full-page-media, _:future, :root .aboutValues .aboutValuesList li h3 {
      padding: 14px 10px 14px;
    }
	}
}

.aboutValues .aboutValuesListText {
	font-size: 20px;
	padding: 26px 10px 24px;
}
@media screen and (min-width:900px){
	.aboutValues .aboutValuesListText {
		font-size: 24px;
	}
}

.aboutValues .descText {
	padding-right: 10px;
  padding-left: 10px;
}

/* ========== index PROMOTION(#promotion) ========== */
.promotionCatch {
	position: relative;
	background-color: #1548A7;
}
@media screen and (min-width:900px){
	.promotionCatch {
		background: linear-gradient(to left, transparent 60%,#1548A7 60%);
	}
}

.promotionCatch .promotionCatchText {
	background-color: #1548A7;
}
@media screen and (min-width:900px){
	.promotionCatch .promotionCatchText {
		margin-left: -83px;
		padding-left: 83px;
		width: 821px;
	}
}

.promotionCatch .promotionCatchText h2 {
	font-size: 32px;
  font-weight: bold;
  color: #fff;
  line-height: 1.4;
  padding-top: 96px;
}
@media screen and (min-width:900px){
	.promotionCatch .promotionCatchText h2 {
		font-size: 36px;
    line-height: 1.8;
		padding-top: 200px;
	}
}
@media screen and (min-width:1200px){
	.promotionCatch .promotionCatchText h2 {
		padding-top: 73px;
	}
}

.promotionCatch .promotionCatchText p {
	font-size: 14px;
	color: #fff;
	padding: 33px 15px 35px 0;
	letter-spacing: 1px;
}
@media screen and (min-width:900px){
	.promotionCatch .promotionCatchText p {
		letter-spacing: initial;
		padding: 33px 0 75px;
		width: 655px;
	}
}

.promotionModel {
	position: relative;
}

.promotionModel .promotionModelTitle {
	padding-top: 73px;
	padding-bottom: 46px;
}
@media screen and (min-width:481px){
	.promotionModel .promotionModelTitle {
		padding-top: 85px;
		padding-bottom: 62px;
	}
}
@media screen and (min-width:900px){
	.promotionModel .promotionModelTitle {
		padding-top: 150px;
		padding-bottom: 80px;
	}
}

.promotionModel .promotionModelTitle .pageTitle {
	position: relative;
	letter-spacing: 1px;
	text-align: center;
	z-index: 50;
}
@media screen and (min-width:900px){
	.promotionModel .promotionModelTitle .pageTitle {
		letter-spacing: 4px;
	}
}

.promotionModel .promotionModelTitle .pageTitle::before {
	color: #1548a7;
}

.promotionModel .promotionModelTitle .lgText {
	position: absolute;
	top: 118px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	color: #1548a7;
	font-size: 31vw;
	letter-spacing: -5px;
}
@media screen and (min-width:481px){
	.promotionModel .promotionModelTitle .lgText {
		top: 118px;
		font-size: 24vw;
	}
}
@media screen and (min-width:900px){
	.promotionModel .promotionModelTitle .lgText {
		top: 195px;
		font-size: 17vw;
	}
}
@media screen and (min-width:1100px){
	.promotionModel .promotionModelTitle .lgText {
		font-size: 240px;
	}
}

.promotionModel .promotionModelList {
	padding-right: 15px;
	padding-left: 15px;
}
@media screen and (min-width:900px){
	.promotionModel .promotionModelList {
		padding-right: 50px;
		padding-left: 50px;
	}
}
@media screen and (min-width:1100px){
	.promotionModel .promotionModelList {
		padding-right: 100px;
		padding-left: 100px;
	}
}

.promotionModel .promotionModelList ul {
	display: flex;
	flex-direction: column;
	padding-top: 18px;
}

.promotionModel .promotionModelList li {
	position: relative;
	width: 100%;
	border-bottom: 1px solid #CECECE;
}

.promotionModel .promotionModelList li > a,
.promotionModel .promotionModelList li > span {
	display: block;
	padding: 25px 0;
	transition: background-color 0.8s ease;
}
.promotionModel .promotionModelList li > a {
	display: flex;
  align-items: baseline;
  flex-direction: column-reverse;
}
@media screen and (min-width:900px){
	.promotionModel .promotionModelList li > a,
	.promotionModel .promotionModelList li > span {
		display: block;
		padding: 29px 20px 29px 100px;
	}
}

.promotionModel .promotionModelList li h4 {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
	color: #1548a7;
	padding-bottom: 10px;
}
@media screen and (min-width:900px){
	.promotionModel .promotionModelList li h4 {
		display: inline-block;
		padding-right: 12px;
		padding-bottom: 0;
	}
}

.promotionModel .promotionModelList li .promotionModelCategory {
	display: inline-block;
	font-size: 14px;
	font-weight: bold;
	color: #fff;
	vertical-align: text-bottom;
	padding: 5px 10px;
	line-height: 1;
	background-color: #1548a7;
}

.promotionModel .promotionModelList li .descText {
	letter-spacing: 0.7px;
	padding-top: 18px;
}

@media screen and (min-width:900px){
	.promotionModel .promotionModelList li .descText {
		letter-spacing: initial;
		padding-top: 7px;
	}
	.promotionModel .promotionModelList li > a:hover {
		background-color: rgb(21 72 167 / 7%);
	}
}

.promotionModel .promotionModelList li .btnCast {
	position: relative;
	background-color: #fff;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	overflow: hidden;
	z-index: 50;
	left: 50%;
	transform: translateX(-50%);
	background-color: #1548a7;
	margin-top: 22px;
}
@media screen and (min-width:900px){
	.promotionModel .promotionModelList li .btnCast {
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		margin-top: 0;
	}
}

.promotionModel .promotionModelList li .btnCast span {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 36px;
	font-weight: bold;
	color: #fff;
	width: 60px;
	height: 60px;
	transition: color 0.7s ease;
	z-index: 50;
}

.promotionModel .promotionModelList li .btnCast i {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 36px;
	font-weight: bold;
	color: #1548a7;
	width: 60px;
	height: 60px;
	transform: translateX(-60px);
	transition: color 0.7s ease;
	opacity: 0;
	cursor: pointer;
	z-index: 50;
}

.promotionModel .promotionModelList li .btnCast:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 60px;
	height: 60px;
	background: #fff;
	border-radius: 50%;
	transform: scale(0);
	transition: transform 0.7s ease;
	z-index: 49;
}
@media screen and (min-width: 900px) {
	.promotionModel .promotionModelList li:hover .btnCast span {
		color: #fff;
		opacity: 0;
		transform: translateX(60px);
		transition: transform 0.7s ease, opacity 0.7s ease;
	}
	.promotionModel .promotionModelList li:hover .btnCast i {
		opacity: 1;
		transform: translateX(0px);
		transition: transform 0.7s ease, opacity 1.2s ease;
	}
	.promotionModel .promotionModelList li:hover .btnCast:before {
		transform: scale(1.04);
		transition: transform 1.2s ease;
	}
}

.promotionModel .promotionModelList li .btnCast svg {
	position: absolute;
	transform: rotate(-90deg) scale(1.04);
	z-index: 50;
	display: flex;
	justify-content: center;
  align-items: center;
}

.promotionModel .promotionModelList li .btnCast svg:nth-of-type(2) {
	z-index: 51;
}

.promotionModel .promotionModelList li .btnCast  svg:nth-of-type(1) circle {
	fill: transparent;
	stroke: transparent;
	stroke-width: 3;
}

.promotionModel .promotionModelList li .btnCast  svg:nth-of-type(2) circle {
	fill: transparent;
	stroke: transparent;
	stroke-width: 3;
}

@media screen and (min-width: 900px) {
	.promotionModel .promotionModelList li:hover svg:nth-of-type(1) circle {
		stroke: #fff;
	}
	.promotionModel .promotionModelList li:hover svg:nth-of-type(2) circle {
		stroke: #1548a7;
		animation: CircleAnime 1.6s ease 0s 1 forwards;
		animation-delay: 0.2s;
	}
}

.promotionModel .promotionModelBg {
	position: relative;
	background-color: #1548a7;
	padding-bottom: 50px;
	margin-top: 42px;
	margin-bottom: 45px;
}
@media screen and (min-width: 900px) {
	.promotionModel .promotionModelBg {
		padding-bottom: 12px;
		margin-top: 100px;
		margin-bottom: 20px;
	}
}
@media screen and (min-width: 1331px) {
	.promotionModel .promotionModelBg {
		margin-bottom: 45px;
	}
}

.promotionModel .promotionModelBg:before {
	content: '';
	background-color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 30px;
	z-index: 10;
}
@media screen and (min-width: 900px) {
	.promotionModel .promotionModelBg:before {
		height: 60px;
	}
	.promotionModel .promotionModelBg:after {
		content: '';
		background-color: #fff;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 60px;
		z-index: 10;
	}
}

.promotionModel .promotionModelContact {
	position: relative;
	display: flex;
	flex-direction: column;
	z-index: 50;
}
@media screen and (min-width: 900px) {
	.promotionModel .promotionModelContact {
		flex-direction: row;
		min-height: 440px;
	}
}
@media screen and (min-width: 1331px) {
	.promotionModel .promotionModelContact {
		min-height: auto;
	}
}

.promotionModel .promotionModelContact picture {
	width: 100%;
}
@media screen and (min-width: 900px) {
	.promotionModel .promotionModelContact picture {
		width: 50%;
	}
}

.promotionModel .promotionModelContact picture img {
	width: 100%;
}
@media screen and (min-width: 900px) {
	.promotionModel .promotionModelContact picture img {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
	}
}
@media screen and (min-width: 1200px) {
	.promotionModel .promotionModelContact picture img {
		top: auto;
		transform: translateY(0);
	}
}

.promotionModel .promotionModelContact .promotionModelBtn {
	position: relative;
	width: 100%;
}
@media screen and (min-width: 900px) {
	.promotionModel .promotionModelContact .promotionModelBtn {
		width: 50%;
	}
}

.promotionModel .promotionModelContact .promotionModelBtn p {
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	line-height: 1.8;
	letter-spacing: 0.05em;
	padding: 49px 20px 34px 20px;
}
@media screen and (min-width: 900px) {
	.promotionModel .promotionModelContact .promotionModelBtn p {
		font-size: 18px;
		padding: 100px 0 37px 30px;
	}
}
@media screen and (min-width: 1200px) {
	.promotionModel .promotionModelContact .promotionModelBtn p {
		font-size: 18px;
		padding: 100px 0 37px 95px;
	}
}

.promotionModel .promotionModelContact .promotionModelBtn .btnSquare {
	left: 50%;
	transform: translateX(-50%);
}

.promotionModel .promotionModelPoint {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: baseline;
	gap: 36px;
	width: fit-content;
	left: 50%;
	transform: translateX(-50%);
}

.promotionModel .promotionModelPoint li {
	position: relative;
	font-size: 14px;
	font-weight: bold;
}
@media screen and (min-width: 900px) {
	.promotionModel .promotionModelPoint li {
		font-size: 18px;
	}
}

.promotionModel .promotionModelPoint li p {
	display: inline-block;
	vertical-align: super;
	padding-left: 30px;
	letter-spacing: 1px;
  line-height: 1.5;
}
@media screen and (min-width: 900px) {
	.promotionModel .promotionModelPoint li p {
		vertical-align: text-bottom;
		padding-left: 18px;
	}
}

.promotionModel .promotionModelPoint li p span {
	display: block;
	font-size: 10px;
	font-weight: normal;
	padding-top: 3px;
}
@media screen and (min-width: 900px) {
	.promotionModel .promotionModelPoint li p span {
		display: inline-block;
		padding-top: 0;
	}
}

.promotionModel .promotionModelPoint li:before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	background-color: #1548a7;
	border-radius: 50%;
	position: absolute;
}
@media screen and (min-width: 900px) {
	.promotionModel .promotionModelPoint li:before {
		position: relative;
	}
}

.promotionModel .promotionModelTel {
	background-color: #1548a7;
	margin-top: 35px;
}
@media screen and (min-width: 900px) {
	.promotionModel .promotionModelTel {
		margin-top: 48px;
	}
}

.promotionModel .promotionModelTel .promotionModelTelText {
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 2px;
	text-align: center;
	padding-top: 20px;
	padding-bottom: 18px;
}
@media screen and (min-width: 900px) {
	.promotionModel .promotionModelTel .promotionModelTelText {
		font-size: 24px;
		padding-top: 24px;
	}
}

.promotionModel .promotionModelTel p{
	font-size: 26px;
	text-align: center;
	padding-bottom: 12px;
}
.promotionModel .promotionModelTel a{
	color: #fff;
}
@media screen and (min-width: 900px) {
	.promotionModel .promotionModelTel p{
		font-size: 36px;
		padding-bottom: 18px;
	}
}

.promotionEvent {
	position: relative;
}

.promotionEvent .promotionEventTitle {
	padding-top: 68px;
	padding-bottom: 46px;
}
@media screen and (min-width:481px){
	.promotionEvent .promotionEventTitle {
    padding-top: 60px;
		padding-bottom: 70px;
	}
}
@media screen and (min-width:900px){
	.promotionEvent .promotionEventTitle {
		padding-top: 150px;
		padding-bottom: 90px;
	}
}

.promotionEvent .promotionEventTitle .pageTitle {
	position: relative;
	letter-spacing: 4px;
	line-height: 1.4;
	text-align: center;
	z-index: 50;
}
@media screen and (min-width:900px){
	.promotionEvent .promotionEventTitle .pageTitle {
    line-height: initial;
	}
}

.promotionEvent .promotionEventTitle .pageTitle::before {
	color: #1548a7;
}

.promotionEvent .promotionEventTitle .lgText {
	position: absolute;
	top: 138px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	color: #1548a7;
	font-size: 42vw;
	letter-spacing: -5px;
}
@media screen and (min-width:481px){
	.promotionEvent .promotionEventTitle .lgText {
		top: 122px;
    font-size: 26vw;
	}
}
@media screen and (min-width:900px){
	.promotionEvent .promotionEventTitle .lgText {
		top: 210px;
		font-size: 25vw;
	}
}
@media screen and (min-width:1100px){
	.promotionEvent .promotionEventTitle .lgText {
		font-size: 240px;
	}
}

.promotionEvent .listTitle {
	margin-right: 15px;
	margin-left: 15px;
}
@media screen and (min-width:900px){
	.promotionEvent .listTitle {
		margin-right: 50px;
		margin-left: 50px;
	}
}
@media screen and (min-width:1100px){
	.promotionEvent .listTitle {
		margin-right: 100px;
		margin-left: 100px;
	}
}

.promotionEvent .promotionEventList {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 30px;
	padding-top: 58px;
	padding-bottom: 58px;
	margin-right: 15px;
	margin-left: 15px;
}
@media screen and (min-width:900px){
	.promotionEvent .promotionEventList {
		flex-direction: row;
		padding-top: 86px;
		padding-bottom: 86px;
		margin-right: 50px;
		margin-left: 50px;
		gap: 40px 20px;
	}
}
@media screen and (min-width:1100px){
	.promotionEvent .promotionEventList {
		margin-right: 100px;
		margin-left: 100px;
	}
}
@media screen and (min-width:1200px){
	.promotionEvent .promotionEventList {
		gap: 40px;
	}
}

.promotionEvent .promotionEventList li {
	width: 100%;
	background-color: #1548a7;
}
@media screen and (min-width:900px){
	.promotionEvent .promotionEventList li {
		width: 48%;
	}
}
@media screen and (min-width:1200px){
	.promotionEvent .promotionEventList li {
		width: 46%;
	}
}

.promotionEvent .promotionEventList .en_deco {
	display: inline-block;
	font-size: 36px;
	color: #fff;
	padding: 12px 12px 12px 30px;
}
@media screen and (min-width:900px){
	.promotionEvent .promotionEventList .en_deco {
		font-size: 40px;
		padding: 12px 22px 12px 30px;
	}
}

.promotionEvent .promotionEventList h4 {
	display: inline-block;
	position: relative;
	font-size: 20px;
	color: #fff;
	top: -1px;
}
@media screen and (min-width:900px){
	.promotionEvent .promotionEventList h4 {
		font-size: 24px;
	}
}

.promotionEvent .promotionEventList .descText {
	background-color: #F8F8F8;
	padding: 28px;
  min-height: 126px;
  height: calc(100% - 120px);
}

.promotionEvent .promotionEventCase {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	column-gap: 8%;
	row-gap: 18px;
	padding-top: 58px;
	padding-bottom: 48px;
	margin-right: 15px;
	margin-left: 15px;
}
@media screen and (min-width:900px){
	.promotionEvent .promotionEventCase {
		padding-top: 86px;
		padding-bottom: 86px;
		margin-right: 50px;
		margin-left: 50px;
		column-gap: 50px;
		row-gap: 37px;
	}
}
@media screen and (min-width:1100px){
	.promotionEvent .promotionEventCase {
		margin-right: 100px;
		margin-left: 100px;
	}
}
@media screen and (min-width:1200px){
	.promotionEvent .promotionEventCase {
		column-gap: 100px;
	}
}
@media screen and (min-width:1366px){
	.promotionEvent .promotionEventCase {
		column-gap: 122px;
	}
}
.promotionEvent .promotionEventCase li {
	width: 46%;
}
@media screen and (min-width:900px){
	.promotionEvent .promotionEventCase li {
    width: 27%;
	}
}
@media screen and (min-width: 1200px){
	.promotionEvent .promotionEventCase li {
    width: 25%;
	}
}

.promotionEvent .promotionEventCase img {
	width: 100%;
}

.promotionEvent .promotionEventCase p {
	font-size: 12px;
	padding-top: 6px;
	text-align: center;
}
@media screen and (min-width:900px){
	.promotionEvent .promotionEventCase p {
		font-size: 16px;
	}
}

.promotionEvent .promotionEventBg {
	background-color: #1548a7;
}
@media screen and (min-width: 900px){
	.promotionEvent .promotionEventBg .container {
    padding-left: 26px;
    padding-right: 26px;
	}
}

.promotionEvent .promotionEventBg .container {
	width: fit-content;
}
@media screen and (min-width: 900px){
	.promotionEvent .promotionEventBg .container {
		background-color: #fff;
	}
}

.promotionEvent .promotionEventBg .promotionEventContact {
	background-color: #fff;
	padding-right: 12px;
	padding-left: 12px;
}
@media screen and (min-width: 900px){
	.promotionEvent .promotionEventBg .promotionEventContact {
		padding-right: 0;
		padding-left: 0;
	}
}

.promotionEvent .promotionEventBg .promotionEventContact p {
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 1px;
	color:#1548a7;
	padding-top: 15px;
	padding-bottom: 16px;
}
@media screen and (min-width: 900px){
	.promotionEvent .promotionEventBg .promotionEventContact p {
		font-size: 24px;
		letter-spacing: 3px;
		padding-bottom: 44px;
	}
}

.promotionEvent .promotionEventBg .promotionEventContact .btnSquare {
	left: 50%;
	transform: translateX(-50%);
	background-color: #1548a7;
	width: 250px;
	height: 60px;
	margin-bottom: 16px;
}
@media screen and (min-width:900px){
	.promotionEvent .promotionEventBg .promotionEventContact .btnSquare {
		width: 300px;
		height: 70px;
		margin-bottom: 0;
	}
}

.promotionEvent .promotionEventBg .promotionEventContact .btnSquare .btnSquareWrap:before {
	background: #fff;
	width: 250px;
	height: 60px;
}
@media screen and (min-width:900px){
	.promotionEvent .promotionEventBg .promotionEventContact .btnSquare .btnSquareWrap:before {
		width: 300px;
		height: 70px;
	}
}

.promotionEvent .promotionEventBg .promotionEventContact .btnSquare span {
	color: #fff;
	width: 250px;
	height: 60px;
}
@media screen and (min-width:900px){
	.promotionEvent .promotionEventBg .promotionEventContact .btnSquare span {
		width: 300px;
		height: 70px;
	}
}

.promotionEvent .promotionEventBg .promotionEventContact .btnSquare svg,
.promotionEvent .promotionEventBg .promotionEventContact .btnSquare svg rect {
	width: 250px;
	height: 60px;
}
@media screen and (min-width:900px){
	.promotionEvent .promotionEventBg .promotionEventContact .btnSquare svg,
	.promotionEvent .promotionEventBg .promotionEventContact .btnSquare svg rect {
		width: 300px;
		height: 70px;
	}	
}

.promotionEvent .promotionEventBg .promotionEventContact .btnSquare svg:nth-of-type(1) rect {
	stroke: #fff;
}
.promotionEvent .promotionEventBg .promotionEventContact .btnSquare svg:nth-of-type(2) rect {
	stroke: #1548a7;
}
@media screen and (min-width: 900px){
	.promotionEvent .promotionEventBg .promotionEventContact .btnSquare:hover {
		color: #1548a7;
	}
	.promotionEvent .promotionEventBg .promotionEventContact .btnSquare:hover .btnSquareWrap:before {
    background: #fff;
	}
	.promotionEvent .promotionEventBg .promotionEventContact .btnSquare:hover span {
		color: #1548a7;
	}
}

.promotionDesign {
	position: relative;
}

.promotionDesign .promotionDesignTitle {
	padding-top: 80px;
	padding-bottom: 40px;
}
@media screen and (min-width:481px){
	.promotionDesign .promotionDesignTitle {
		padding-top: 70px;
		padding-bottom: 60px;
	}
}
@media screen and (min-width:900px){
	.promotionDesign .promotionDesignTitle {
		padding-top: 150px;
		padding-bottom: 90px;
	}
}

.promotionDesign .promotionDesignTitle .pageTitle {
	position: relative;
	line-height: 1.4;
	letter-spacing: 4px;
	text-align: center;
	z-index: 50;
}
@media screen and (min-width:900px){
	.promotionDesign .promotionDesignTitle .pageTitle {
		line-height: initial;
	}
}

.promotionDesign .promotionDesignTitle .pageTitle::before {
	color: #1548a7;
}

.promotionDesign .promotionDesignTitle .lgText {
	position: absolute;
	top: 146px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	color: #1548a7;
	font-size: 31vw;
	letter-spacing: -2px;
}
@media screen and (min-width:481px){
	.promotionDesign .promotionDesignTitle .lgText {
    top: 127px;
		font-size: 24vw;
		letter-spacing: -4px;
	}
}
@media screen and (min-width:900px){
	.promotionDesign .promotionDesignTitle .lgText {
		top: 210px;
		font-size: 17vw;
	}
}
@media screen and (min-width:1100px){
	.promotionDesign .promotionDesignTitle .lgText {
		font-size: 240px;
	}
}

.promotionDesign .promotionDesignList {
	display: flex;
	flex-direction: column;
	margin-right: 15px;
	margin-left: 15px;
}
@media screen and (min-width:900px){
	.promotionDesign .promotionDesignList {
		flex-direction: row;
		column-gap: 12px;
		margin-right: 50px;
		margin-left: 50px;
	}
}
@media screen and (min-width:1100px){
	.promotionDesign .promotionDesignList {
		column-gap: 32px;
		margin-right: 100px;
		margin-left: 100px;
	}
}

.promotionDesign .promotionDesignList li {
	width: 100%;
}
@media screen and (min-width:900px){
	.promotionDesign .promotionDesignList li {
		width: 33.3%;
	}
}

.promotionDesign .promotionDesignList li h3 {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	color: #fff;
	background-color: #1548a7;
	padding: 19px 0;
	letter-spacing: 1.8px;
}
@media screen and (min-width:900px){
	.promotionDesign .promotionDesignList li h3 {
		letter-spacing: 1px;
		padding: 12px 0;
	}
}
@media screen and (min-width:1200px){
	.promotionDesign .promotionDesignList li h3 {
		font-size: 24px;
	}
}

.promotionDesign .promotionDesignList li .descText {
	padding: 30px 4px 45px 4px;
	letter-spacing: 1.2px;
}
@media screen and (min-width:900px){
	.promotionDesign .promotionDesignList li .descText {
		padding: 30px 4px 54px 4px;
	}	
}

.promotionDesign picture {
	display: block;
	padding: 4px 15px 0;
}
@media screen and (min-width:900px){
	.promotionDesign picture {
		padding: 0 50px 0;
	}
}
@media screen and (min-width:1100px){
	.promotionDesign picture {
		padding: 0 100px 0;
	}
}

.promotionDesign picture img {
	width: 100%;
}

.promotionDesignContact {
	padding-bottom: 75px;
}

.promotionDesignContact > p {
	font-size: 16px;
	font-weight: bold;
	color:#1548a7;
	text-align: center;
	margin-bottom: 17px;
}
@media screen and (min-width:900px){
	.promotionDesignContact > p {
		font-size: 24px;
		margin-bottom: 44px;
	}
}

.promotionDesignContact .btnSquare {
	left: 50%;
	transform: translateX(-50%);
	background-color: #1548a7;
	width: 250px;
	height: 60px;
}

.promotionDesignContact .btnSquare .btnSquareWrap:before {
	background: #fff;
	width: 250px;
	height: 60px;
}

.promotionDesignContact .btnSquare span {
	color: #fff;
	width: 250px;
	height: 60px;
}

.promotionDesignContact .btnSquare svg,
.promotionDesignContact .btnSquare svg rect {
	width: 250px;
	height: 60px;
}

.promotionDesignContact .btnSquare svg:nth-of-type(1) rect {
	stroke: #fff;
}
.promotionDesignContact .btnSquare svg:nth-of-type(2) rect {
	stroke: #1548a7;
}
@media screen and (min-width: 900px){
	.promotionDesignContact .btnSquare,
	.promotionDesignContact .btnSquare .btnSquareWrap:before,
	.promotionDesignContact .btnSquare span,
	.promotionDesignContact .btnSquare svg,
	.promotionDesignContact .btnSquare svg rect {
		width: 300px;
		height: 70px;
	}
	.promotionDesignContact .btnSquare:hover {
		color: #1548a7;
	}
	.promotionDesignContact .btnSquare:hover .btnSquareWrap:before {
    background: #fff;
	}
	.promotionDesignContact .btnSquare:hover span {
		color: #1548a7;
	}
}


/* ========== index CONTRIBUTION(#contribution) ========== */
.contCatch {
	position: relative;
	background-color: #15a73c;
}
@media screen and (min-width:900px){
	.contCatch {
		background: linear-gradient(to left, transparent 60%,#15a73c 60%);
	}
}

.contCatch .contCatchText {
	background-color: #15a73c;
	padding-right: 15px;
}
@media screen and (min-width:900px){
	.contCatch .contCatchText {
		margin-left: -83px;
		padding-left: 83px;
		width: 821px;
	}
}

.contCatch .contCatchText h2 {
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	line-height: 1.8;
	padding-top: 100px;
}
.contCatch .contCatchText p + h2{
	padding-top: 0;
}
@media screen and (min-width:900px){
	.contCatch .contCatchText h2 {
		padding-top: 200px;
	}
}
@media screen and (min-width:1200px){
	.contCatch .contCatchText h2 {
		padding-top: 73px;
	}
}

.contCatch .contCatchText p {
	font-size: 14px;
	color: #fff;
	padding: 20px 0 35px;
	letter-spacing: 1px;
}
@media screen and (min-width:900px){
	.contCatch .contCatchText p {
		letter-spacing: initial;
		padding: 33px 0 75px;
		width: 655px;
	}
}

.contSupports {
	position: relative;
}

.contSupports .contSupportsTitle {
	padding-top: 73px;
	padding-bottom: 46px;
}
@media screen and (min-width:481px){
	.contSupports .contSupportsTitle {
		padding-top: 85px;
		padding-bottom: 62px;
	}
}
@media screen and (min-width:900px){
	.contSupports .contSupportsTitle {
		padding-top: 150px;
		padding-bottom: 96px;
	}
}

.contSupports .contSupportsTitle .pageTitle {
	position: relative;
	letter-spacing: 1px;
	text-align: center;
	z-index: 50;
}
@media screen and (min-width:900px){
	.contSupports .contSupportsTitle .pageTitle {
		letter-spacing: 4px;
	}
}

.contSupports .contSupportsTitle .pageTitle::before {
	color: #15a73c;
}

.contSupports .contSupportsTitle .lgText {
	position: absolute;
	top: 118px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	color: #15a73c;
	font-size: 27vw;
	letter-spacing: -5px;
}
@media screen and (min-width:481px){
	.contSupports .contSupportsTitle .lgText {
		top: 118px;
		font-size: 24vw;
	}
}
@media screen and (min-width:900px){
	.contSupports .contSupportsTitle .lgText {
		top: 195px;
		font-size: 17vw;
	}
}
@media screen and (min-width:1100px){
	.contSupports .contSupportsTitle .lgText {
		font-size: 240px;
	}
}

.contSupports .contSupportsBg {
	background-color: #15a73c;
}

.contSupports .contSupportsBg p {
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 1px;
	line-height: 1.8;
	color: #fff;
	text-align: center;
	padding: 18px 0;
}
@media screen and (min-width:900px){
	.contSupports .contSupportsBg p {
		font-size: 36px;
		line-height: initial;	
		padding: 30px 0;
	}
}

.contSupports .contSupportsPoint {
	position: relative;
}

.contSupports .contSupportsPoint > p {
	font-size: 16px;
	text-align: center;
	line-height: 1.6;
	padding: 30px 20px 24px 20px;
}
@media screen and (min-width:900px){
	.contSupports .contSupportsPoint > p {
		font-size: 18px;
		padding: 40px 0 34px 0;
	}
}

.contSupports .contSupportsPoint .btnSquare {
	left: 50%;
  transform: translateX(-50%);
	width: 100%;
	height: 70px;
}
.contSupports .contSupportsPoint .btnSquare .btnSquareWrap:before,
.contSupports .contSupportsPoint .btnSquare .btnSquareWrap svg,
.contSupports .contSupportsPoint .btnSquare .btnSquareWrap svg rect {
	width: 100%;
	height: 70px;
}

.contSupports .contSupportsPoint .btnSquare .btnSquareWrap svg:nth-of-type(1) rect {
	stroke: #15a73c;
}

.contSupports .contSupportsPoint .btnSquare span {
	letter-spacing: 2px;
	color: #15a73c;
	width: 100%;
	height: 70px;
}

@media screen and (min-width: 481px){
	.contSupports .contSupportsPoint .btnSquare,
	.contSupports .contSupportsPoint .btnSquare .btnSquareWrap:before,
	.contSupports .contSupportsPoint .btnSquare .btnSquareWrap svg,
	.contSupports .contSupportsPoint .btnSquare .btnSquareWrap svg rect,
	.contSupports .contSupportsPoint .btnSquare span {
		width: 460px;
	}
}
@media screen and (min-width: 900px){
	.contSupports .contSupportsPoint .btnSquare:hover .btnSquareWrap:before {
			background: #15a73c;
	}
	.contSupports .contSupportsPoint .btnSquare:hover .btnSquareWrap svg:nth-of-type(1) rect {
    stroke: #15a73c;
	}
	.contSupports .contSupportsPoint .btnSquare:hover span {
		color: #fff;
	}
}

.contSupports .contSupportsPoint .contSupportsCheck {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding-top: 45px;
	padding-bottom: 45px;
	margin-right: 15px;
	margin-left: 15px;
	gap: 20px;
}
@media screen and (min-width: 900px){
	.contSupports .contSupportsPoint .contSupportsCheck {
		padding-top: 75px;
		padding-bottom: 80px;
		margin-right: 0;
		margin-left: 0;
		gap: 24px 30px;
	}
}

.contSupports .contSupportsPoint .contSupportsCheck li {
	position: relative;
	width: auto;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	line-height: 1.4;
	background-color: #15a73c;
	padding: 14px 22px 14px 58px;
}
@media screen and (min-width: 900px){
	.contSupports .contSupportsPoint .contSupportsCheck li {
		width: 100%;
		padding: 22px 32px 22px 66px;
	}
}

.contSupports .contSupportsPoint .contSupportsCheck li span {
	font-size: 11px;
}
@media screen and (min-width: 481px){
	.contSupports .contSupportsPoint .contSupportsCheck li span {
		padding-left: 7px;
	}
}
@media screen and (min-width: 900px){
	.contSupports .contSupportsPoint .contSupportsCheck li span {
		padding-left: 0;
	}
}
@media screen and (min-width: 942px){
	.contSupports .contSupportsPoint .contSupportsCheck li span {
		padding-left: 7px;
	}
}
@media screen and (min-width: 1366px){
	.contSupports .contSupportsPoint .contSupportsCheck li span {
		font-size: 13px;
	}
}

.contSupports .contSupportsPoint .contSupportsCheck li::before {
	content:'';
	display: block;
	position: absolute;
	top: 50%;
	left: 15px;
	background-image: url(../img/common/icon_check.png);
	background-size: cover;
	width: 26px;
	height: 21px;
	transform: translateY(-50%);
}
@media screen and (min-width: 900px){
	.contSupports .contSupportsPoint .contSupportsCheck li::before {
		width: 32px;
		height: 26px;
	}
}

@media screen and (min-width: 900px){
	.contSupports .contSupportsPoint .contSupportsCheck {
		flex-direction: row;
		flex-wrap: wrap;
		padding-right: 50px;
		padding-left: 50px;
	}
	.contSupports .contSupportsPoint .contSupportsCheck li {
    padding: 22px 12px 22px 56px;
    width: 38%;
	}
}
@media screen and (min-width: 1200px){
	.contSupports .contSupportsPoint .contSupportsCheck {
		padding-right: 100px;
		padding-left: 100px;
	}
	.contSupports .contSupportsPoint .contSupportsCheck li {
    padding: 22px 2px 22px 56px;
		width: 41%;
	}
	.contSupports .contSupportsPoint .contSupportsCheck li::before {
		left: 22px;
	}
}
@media screen and (min-width: 1300px){
	.contSupports .contSupportsPoint .contSupportsCheck li {
		padding: 22px 4px 22px 64px;
	}
}
@media screen and (min-width: 1366px) {
	.contSupports .contSupportsPoint .contSupportsCheck li {
		font-size: 18px;
	}
}

.contSupports .contSupportsPoint .contSupportsList {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding-right: 15px;
	padding-left: 15px;
	padding-bottom: 43px;
	gap: 34px;
}
@media screen and (min-width: 481px){
	.contSupports .contSupportsPoint .contSupportsList {
		gap: 44px;
	}
}
@media screen and (min-width: 900px){
	.contSupports .contSupportsPoint .contSupportsList {
		flex-direction: row;
		flex-wrap: wrap;
		padding-right: 50px;
		padding-left: 50px;
		padding-bottom: 85px;
		gap: 60px;
	}
}
@media screen and (min-width: 1200px){
	.contSupports .contSupportsPoint .contSupportsList {
		padding-right: 100px;
		padding-left: 100px;
		gap: 60px 100px;
	}
}
@media screen and (min-width: 1366px){
	.contSupports .contSupportsPoint .contSupportsList {
		gap: 60px 150px;
	}
}

.contSupports .contSupportsPoint .contSupportsList li {
	width: 100%;
}
@media screen and (min-width: 900px){
	.contSupports .contSupportsPoint .contSupportsList li {
		width: 42%;
	}
}

.contSupports .contSupportsPoint .contSupportsList li .en_deco {
	display: inline-block;
	font-size: 36px;
	color: #15a73c;
	padding-right: 16px;
}
@media screen and (min-width: 900px){
	.contSupports .contSupportsPoint .contSupportsList li .en_deco {
		font-size: 40px;
		padding-right: 18px;
	}
}

.contSupports .contSupportsPoint .contSupportsList li h3 {
	display: inline-block;
	font-size: 20px;
	color: #15a73c;
	position: relative;
	top: -3px;
}
@media screen and (min-width: 900px){
	.contSupports .contSupportsPoint .contSupportsList li h3 {
		font-size: 24px;
	}
}

.contSupports .contSupportsPoint .contSupportsList li .descText {
	color: #505050;
	margin-top: 6px;
	padding-top: 20px;
	padding-bottom: 15px;
	border-top: 3px solid #15a73c;
}
@media screen and (min-width: 900px){
	.contSupports .contSupportsPoint .contSupportsList li .descText {
		padding-bottom: 20px;
		margin-top: 10px;
	}
	.contSupports .contSupportsPoint .contSupportsList li:nth-of-type(1) .descText,
	.contSupports .contSupportsPoint .contSupportsList li:nth-of-type(2) .descText {
		min-height: 128px;
	}
	.contSupports .contSupportsPoint .contSupportsList li:nth-of-type(3) .descText,
	.contSupports .contSupportsPoint .contSupportsList li:nth-of-type(4) .descText{
		min-height: 178px;
	}
}
@media screen and (min-width: 1300px){
	.contSupports .contSupportsPoint .contSupportsList li:nth-of-type(1) .descText,
	.contSupports .contSupportsPoint .contSupportsList li:nth-of-type(2) .descText,
	.contSupports .contSupportsPoint .contSupportsList li:nth-of-type(3) .descText,
	.contSupports .contSupportsPoint .contSupportsList li:nth-of-type(4) .descText {
		min-height: auto;
	}
}

.contSupports .contSupportsPoint .contSupportsList li picture {
	display: block;
}

.contSupports .contSupportsPoint .contSupportsList li img {
	position: relative;
	width: 100%;
	box-shadow: 5px 5px 0 0 #15a73c;
}

@media screen and (min-width: 1300px){
	.contSupports .contSupportsPoint .contSupportsList li:nth-of-type(3) img {
		top: 25px;
	}
}
@media screen and (min-width: 1352px){
	.contSupports .contSupportsPoint .contSupportsList li:nth-of-type(2) img {
		top: 25px;
	}
}

.contSupports .contSupportsBg2 {
	background-color: #F8F8F8;
	padding-top: 27px;
	padding-bottom: 30px;
}
@media screen and (min-width: 900px){
	.contSupports .contSupportsBg2 {
		padding-top: 46px;
		padding-bottom: 50px;
	}
}

.contSupports .contSupportsBg2 p {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 2px;
	line-height: 1.8;
	text-align: center;
	color:#15a73c;
	padding-bottom: 24px;
}
@media screen and (min-width: 481px){
	.contSupports .contSupportsBg2 p {
		font-size: 24px;
	}
}
@media screen and (min-width: 900px){
	.contSupports .contSupportsBg2 p {
	  line-height: initial;
		padding-bottom: 44px;
	}
}

.contSupports .contSupportsBg2 .btnSquare {
	left: 50%;
	transform: translateX(-50%);
	background-color: #15a73c;
}

.contSupports .contSupportsBg2 .btnSquare span {
	color:#fff;
}

.contSupports .contSupportsBg2 .btnSquare .btnSquareWrap svg:nth-of-type(1) rect {
	stroke:#fff;
}
.contSupports .contSupportsBg2 .btnSquare .btnSquareWrap svg:nth-of-type(2) rect {
	stroke:#15a73c;
}

@media screen and (min-width: 900px){
	.contSupports .contSupportsBg2 .btnSquare:hover .btnSquareWrap:before {
		background: #fff;
	}
	.contSupports .contSupportsBg2 .btnSquare:hover span {
		color: #15a73c;
	}
}

.contSupports .contSupportsBg3 {
	position: relative;
	background-color: #15a73c;
}

.contSupports .contSupportsBg3::after {
	content: '';
	display: block;
	width: 100%;
	height: 130px;
	position: absolute;
	bottom: 0;
	background-color: #fff;
}

.contSupports .contSupportsBg3 p {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 3px;
	line-height: 1.6;
	color: #fff;
	padding-top: 40px;
  padding-bottom: 31px;
}
@media screen and (min-width: 900px){
	.contSupports .contSupportsBg3 p {
		font-size: 3vw;
		line-height: initial;
		padding-top: 53px;
		padding-bottom: 53px;	
	}
}
@media screen and (min-width: 1200px){
	.contSupports .contSupportsBg3 p {
		font-size: 36px;
	}
}

.contSupports .contSupportsBg3 ul {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: baseline;
	gap: 10px;
	width: fit-content;
	left: 50%;
	transform: translateX(-50%);
	padding-bottom: 24px;
}
@media screen and (min-width: 481px) {
	.contSupports .contSupportsBg3 ul {
    gap: 24px;
	}
}
@media screen and (min-width: 900px) {
	.contSupports .contSupportsBg3 ul {
		gap: 36px;
	}
}

.contSupports .contSupportsBg3 ul li {
	position: relative;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	display: inline-block;
	vertical-align: super;
	letter-spacing: 1px;
	line-height: 1.8;
	padding-left: 45px;
}
@media screen and (min-width: 900px) {
	.contSupports .contSupportsBg3 ul li {
		font-size: 24px;
		line-height: 1.5;
		vertical-align: text-top;
		padding-left: 0;
	}
}

.contSupports .contSupportsBg3 ul li:before {
	content: '';
	display: inline-block;
	position: absolute;
	top: 7px;
	left: 15px;
	width: 15px;
	height: 15px;
	background-color: #fff;
	border-radius: 50%;
}
@media screen and (min-width: 900px) {
	.contSupports .contSupportsBg3 ul li:before {
		position: relative;
		top: auto;
		left: auto;
		width: 20px;
		height: 20px;
		margin-right: 22px;
	}
}

.contSupports .contSupportsBg3 picture {
	position: relative;
	display: block;
	z-index: 50;
}

.contSupports .contSupportsBg3 img {
	width: 100%;
}

.contSupports .contSupportsFaq {
	position: relative;
	padding-top: 44px;
	padding-bottom: 30px;
}
@media screen and (min-width: 900px) {
	.contSupports .contSupportsFaq {
		padding-top: 73px;
		padding-bottom: 0;
	}
}

.contSupports .contSupportsFaq h3 {
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 3px;
}
@media screen and (min-width: 900px) {
	.contSupports .contSupportsFaq h3 {
		font-size: 36px;
	}
}

.contSupports .contSupportsFaq ul {
	display: flex;
	flex-direction: column;
	gap: 30px;
	padding-top: 40px;
}
@media screen and (min-width: 481px) {
	.contSupports .contSupportsFaq ul {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		padding-top: 50px;
		gap: 47px 20px;
	}
}
@media screen and (min-width: 900px) {
	.contSupports .contSupportsFaq ul {
		padding-top: 78px;
		padding-right: 50px;
		padding-left: 50px;
	}
}
@media screen and (min-width: 1200px) {
	.contSupports .contSupportsFaq ul {
		padding-right: 100px;
		padding-left: 100px;
		gap: 47px 39px;
	}
}

.contSupports .contSupportsFaq ul li {
	width: 100%;
	background-color: #F8F8F8;
}
@media screen and (min-width: 481px) {
	.contSupports .contSupportsFaq ul li {
		width: 47.6%;
	}
}

.contSupports .contSupportsFaq ul li .faqQ {
	position: relative;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	background-color: #15a73c;
	padding: 18px 10px 18px 50px;
}
.contSupports .contSupportsFaq ul li .faqQ.row2 {
	padding: 7px 10px 7px 50px;
}

.contSupports .contSupportsFaq ul li .faqQ span:nth-of-type(1) {
	font-size: 26px;
	padding-right: 16px;
	position: absolute;
	top: 50%;
	left: 14px;
	transform: translateY(-50%);
}
.contSupports .contSupportsFaq ul li .faqQ.row2 span:nth-of-type(1) {
	top: 54%;
}

.contSupports .contSupportsFaq ul li .faqQ span:nth-of-type(2) {
	font-size: 11px;
	line-height: 1.4;
}
@media screen and (min-width: 900px) {
	.contSupports .contSupportsFaq ul li .faqQ {
		font-size: 19px;
		letter-spacing: 0.02em;
		padding: 28px 20px 28px 70px;
	}
	.contSupports .contSupportsFaq ul li .faqQ.row2 {
		padding: 18px 20px 18px 70px;
	}
	.contSupports .contSupportsFaq ul li .faqQ span:nth-of-type(1) {
		font-size: 30px;
		left: 20px;
	}
}

.contSupports .contSupportsFaq ul li .faqA {
	position: relative;
	color: #505050;
	font-size: 14px;
	letter-spacing: 1.4px;
	line-height: 1.6;
  padding: 28px 13px 28px 62px;
/*	min-height: 114px;*/
}

.contSupports .contSupportsFaq ul li .faqA span {
	color: #15a73c;
	font-size: 26px;
	font-weight: bold;
	letter-spacing: 1.4px;
	padding-right: 16px;
	position: absolute;
	top: 20px;
	left: 14px;
}

.contSupports .contSupportsFaq ul li .faqA a {
	display: block;
	font-size: 14px;
	font-weight: bold;
	color: #15a73c;
	text-decoration: underline;
	padding-top: 12px;
}
@media screen and (min-width: 900px) {
	.contSupports .contSupportsFaq ul li .faqA {
		/*padding: 27px 20px 27px 70px;*/
		letter-spacing: 0.6px;
		min-height: 80px;
	}
	.contSupports .contSupportsFaq ul li .faqA span {
		font-size: 30px;
		left: 20px;
	}
}

.contSupports .contSupportsFaq ul + p {
	font-size: 16px;
	font-weight: bold;
	color: #15a73c;
	text-align: center;
	padding-top: 46px;
	padding-bottom: 16px;
}
@media screen and (min-width: 481px) {
	.contSupports .contSupportsFaq ul + p {
		font-size: 24px;
	}
}
@media screen and (min-width: 900px) {
	.contSupports .contSupportsFaq ul + p {
		padding-top: 79px;
		padding-bottom: 44px;
	}	
}

.contSupports .contSupportsFaq .btnSquare {
	left: 50%;
	transform: translateX(-50%);
	background-color: #15a73c;
	width: 250px;
	height: 60px;
}

.contSupports .contSupportsFaq .btnSquare span {
	color:#fff;
	width: 250px;
	height: 60px;
	letter-spacing: 1.2px;
}

.contSupports .contSupportsFaq .btnSquare .btnSquareWrap:before,
.contSupports .contSupportsFaq .btnSquare .btnSquareWrap svg,
.contSupports .contSupportsFaq .btnSquare .btnSquareWrap svg rect {
	width: 250px;
	height: 60px;
}

.contSupports .contSupportsFaq .btnSquare .btnSquareWrap svg:nth-of-type(1) rect {
	stroke:#fff;
}
.contSupports .contSupportsFaq .btnSquare .btnSquareWrap svg:nth-of-type(2) rect {
	stroke:#15a73c;
}

@media screen and (min-width: 900px){
	.contSupports .contSupportsFaq .btnSquare,
	.contSupports .contSupportsFaq .btnSquare span,
	.contSupports .contSupportsFaq .btnSquare .btnSquareWrap:before,
	.contSupports .contSupportsFaq .btnSquare .btnSquareWrap svg,
	.contSupports .contSupportsFaq .btnSquare .btnSquareWrap svg rect {
		width: 300px;
		height: 70px;
	}
	.contSupports .contSupportsFaq .btnSquare span {
		letter-spacing: initial;
	}
	.contSupports .contSupportsFaq .btnSquare:hover .btnSquareWrap:before {
		background: #fff;
	}
	.contSupports .contSupportsFaq .btnSquare:hover span {
		color: #15a73c;
	}
}

.contEducational {
	position: relative;
}

.contEducational .contEducationalTitle {
	padding-top: 80px;
	padding-bottom: 95px;
}
@media screen and (min-width:481px){
	.contEducational .contEducationalTitle {
		padding-top: 85px;
		padding-bottom: 110px;
	}
}
@media screen and (min-width:900px){
	.contEducational .contEducationalTitle {
		padding-top: 150px;
		padding-bottom: 210px;
	}
}

.contEducational .contEducationalTitle .pageTitle {
	font-size: 30px;
	position: relative;
	letter-spacing: 1px;
	text-align: center;
	z-index: 50;
}
@media screen and (min-width:900px){
	.contEducational .contEducationalTitle .pageTitle {
		font-size: 36px;
		letter-spacing: 4px;
	}
}

.contEducational .contEducationalTitle .pageTitle::before {
	color: #15a73c;
}

.contEducational .contEducationalTitle .lgText {
	position: absolute;
	top: 118px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	color: #15a73c;
	font-size: 21vw;
	letter-spacing: -5px;
}
@media screen and (min-width:481px){
	.contEducational .contEducationalTitle .lgText {
		top: 118px;
		font-size: 18vw;
	}
}
@media screen and (min-width:900px){
	.contEducational .contEducationalTitle .lgText {
		top: 195px;
		font-size: 17vw;
	}
}
@media screen and (min-width:1100px){
	.contEducational .contEducationalTitle .lgText {
		font-size: 240px;
	}
}

.contEducational .contEducationalBg {
	background-color: #15a73c;
}

.contEducational .contEducationalBg .container {
	display: flex;
	flex-direction: column;
}
@media screen and (min-width:900px){
	.contEducational .contEducationalBg .container {
		flex-direction: row;
		column-gap: 65px;
	}
}

.contEducational .contEducationalBg picture {
	display: block;
	position: relative;
	top: -50px;
	right: -20px;
}
@media screen and (min-width:900px){
	.contEducational .contEducationalBg picture {
		top: -40px;
		right: auto;
	}
}
@media screen and (min-width:1200px){
	.contEducational .contEducationalBg picture {
		top: -80px;
	}
}

.contEducational .contEducationalBg img {
	width: 100%;
}

.contEducational .contEducationalText {
	position: relative;
	width: 100%;
	top: -34px;
	padding: 0px 6px 0 0;
}
@media screen and (min-width:900px){
	.contEducational .contEducationalText {
		top: auto;
		padding: 61px 6px 61px 0;
	}
}

.contEducational .contEducationalText .contEducationalBgtext {
	font-size: 32px;
	font-weight: bold;
	line-height: 1.4;
	color: #fff;
	padding-bottom: 33px;
}

.contEducational .contEducationalText .descText {
	color: #fff;
	letter-spacing: 1.2px;
	padding-right: 15px;
}
@media screen and (min-width:900px){
	.contEducational .contEducationalText .descText {
		padding-left: 0;
	}
}

.contEducational .contEducationalList {
	display: flex;
	flex-direction: column;
	padding: 50px 15px 47px 15px;
	row-gap: 37px;
}
@media screen and (min-width:481px){
	.contEducational .contEducationalList {
		flex-direction: row;
		row-gap: 0;
		column-gap: 3%;
		padding: 70px 0 70px 0;
	}
}
@media screen and (min-width:900px){
	.contEducational .contEducationalList {
		padding: 80px 0 77px 0;
	}
}
@media screen and (min-width:1200px){
	.contEducational .contEducationalList {
		column-gap: 11.25%;
	}
}

.contEducational .contEducationalList li p {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	letter-spacing: 1.4px;
	padding-top: 26px;
}

.contEducational .contEducationalList li picture {
	display: block;
}

.contEducational .contEducationalList li img {
	width: 100%;
}

.contEducational .contEducationalBg2 {
	background-color: #15a73c;
	margin-bottom: 80px;
}
@media screen and (min-width: 900px){
	.contEducational .contEducationalBg2 .container {
    padding-left: 26px;
    padding-right: 26px;
	}
}

.contEducational .contEducationalBg2 .container {
	width: fit-content;
}
@media screen and (min-width: 900px){
	.contEducational .contEducationalBg2 .container {
		background-color: #fff;
	}
}

.contEducational .contEducationalBg2 .contEducationalContact {
	background-color: #fff;
	padding-right: 12px;
	padding-left: 12px;
}
@media screen and (min-width: 900px){
	.contEducational .contEducationalBg2 .contEducationalContact {
		padding-right: 0;
		padding-left: 0;
	}
}

.contEducational .contEducationalBg2 .contEducationalContact p {
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 1px;
	color:#15a73c;
	padding-top: 18px;
	padding-bottom: 16px;
}
@media screen and (min-width: 481px){
	.contEducational .contEducationalBg2 .contEducationalContact p {
		font-size: 24px;
	}
}
@media screen and (min-width: 900px){
	.contEducational .contEducationalBg2 .contEducationalContact p {
		letter-spacing: 3px;
		padding-bottom: 44px;
	}
}

.contEducational .contEducationalBg2 .contEducationalContact .btnSquare {
	left: 50%;
	transform: translateX(-50%);
	background-color: #15a73c;
	width: 250px;
	height: 60px;
	margin-bottom: 16px;
}
@media screen and (min-width:900px){
	.contEducational .contEducationalBg2 .contEducationalContact .btnSquare {
		width: 300px;
		height: 70px;
		margin-bottom: 0;
	}
}

.contEducational .contEducationalBg2 .contEducationalContact .btnSquare .btnSquareWrap:before {
	background: #fff;
	width: 250px;
	height: 60px;
}
@media screen and (min-width:900px){
	.contEducational .contEducationalBg2 .contEducationalContact .btnSquare .btnSquareWrap:before {
		width: 300px;
		height: 70px;
	}
}

.contEducational .contEducationalBg2 .contEducationalContact .btnSquare span {
	color: #fff;
	width: 250px;
	height: 60px;
}
@media screen and (min-width:900px){
	.contEducational .contEducationalBg2 .contEducationalContact .btnSquare span {
		width: 300px;
		height: 70px;
	}
}

.contEducational .contEducationalBg2 .contEducationalContact .btnSquare svg,
.contEducational .contEducationalBg2 .contEducationalContact .btnSquare svg rect {
	width: 250px;
	height: 60px;
}
@media screen and (min-width:900px){
	.contEducational .contEducationalBg2 .contEducationalContact .btnSquare svg,
	.contEducational .contEducationalBg2 .contEducationalContact .btnSquare svg rect {
		width: 300px;
		height: 70px;
	}	
}

.contEducational .contEducationalBg2 .contEducationalContact .btnSquare svg:nth-of-type(1) rect {
	stroke: #fff;
}
.contEducational .contEducationalBg2 .contEducationalContact .btnSquare svg:nth-of-type(2) rect {
	stroke: #15a73c;
}
@media screen and (min-width: 900px){
	.contEducational .contEducationalBg2 .contEducationalContact .btnSquare:hover {
		color: #15a73c;
	}
	.contEducational .contEducationalBg2 .contEducationalContact .btnSquare:hover .btnSquareWrap:before {
    background: #fff;
	}
	.contEducational .contEducationalBg2 .contEducationalContact .btnSquare:hover span {
		color: #15a73c;
	}
}


/* ========== index COMPANY(#company) ========== */
.companyTable {
	position: relative;
	padding-top: 60px;
	padding-bottom: 50px;
}
@media screen and (min-width: 481px){
	.companyTable {
		padding-top: 0;
	}
}

@media screen and (min-width: 900px){
	.companyTable .companyTableWrap {
		padding-right: 50px;
		padding-left: 50px;
	}
}
@media screen and (min-width: 1200px){
	.companyTable .companyTableWrap {
		padding-right: 100px;
		padding-left: 100px;
	}
}

.companyTable table tr {
	border-bottom: 1px solid #CECECE;
	display: flex;
	flex-flow: column;
	padding: 20px 0;
	gap: 15px;
}
@media screen and (min-width: 480px) {
	.companyTable table tr {
		display: table-row;
		padding:0;
	}

}
.companyTable table tr:last-child {
	border: none;
}

.companyTable table tr th {
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 1.2px;
	text-align: left;
	width: 100%;
	text-decoration: none;
	border-bottom: none;
}
@media screen and (min-width: 480px) {
	.companyTable table tr th {
		padding: 20px 0 20px 15px;
		width: 33%;
	}
}
@media screen and (min-width: 900px) {
	.companyTable table tr th {
		font-size: 16px;
		padding: 37px 0 37px 124px;
	}
}

.companyTable table tr td {
	font-size: 14px;
	text-align: left;
	letter-spacing: 0.02em;
	line-height: 1.8;
	width: 100%;
}
@media screen and (min-width: 480px) {
	.companyTable table tr td {
		padding: 20px 20px 20px 6px;
		width: 57%;
	}
}
@media screen and (min-width: 900px) {
	.companyTable table tr td {
		font-size: 16px;
		padding: 37px 20px 37px 20px;
	}
}

.companyTable table tr td a {
	color: #a71527;
	text-decoration: underline;
	transition: opacity 0.7s ease;
}
@media screen and (min-width: 900px){
	.companyTable table tr td a:hover {
		opacity: 0.7;
	}
}

.companyTable table ul li {
	position: relative;
	padding-left: 18px;
}

.companyTable table ul li .tableAst {
	position: absolute;
	left: 0;
}


/* ========== index PRIVACY POLICY(#privacy) ========== */
.policyContent {
	position: relative;
	padding-top: 60px;
	padding-bottom: 82px;
}
@media screen and (min-width: 481px){
	.policyContent {
		padding-top: 0;
	}
}

@media screen and (min-width: 900px){
	.policyContent .policyContentWrap {
		padding-right: 50px;
		padding-left: 50px;
	}
}
@media screen and (min-width: 1200px){
	.policyContent .policyContentWrap {
		padding-right: 100px;
		padding-left: 100px;
	}
}

.policyContent .policyBgtext {
	font-size: 14px;
	letter-spacing: 1.6px;
	line-height: 1.8;
	padding-bottom: 60px;
}
@media screen and (min-width: 481px){
	.policyContent .policyBgtext {
		padding-bottom: 92px;
		font-size: 16px;
	}
}

.policyContent h2 {
	position: relative;
	display: inline-flex;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 1.6px;
	line-height: 1.8;
	padding-top: 50px;
	padding-bottom: 28px;
}
.policyContent .policyBgtext + h2 {
	padding-top: 0;
}
@media screen and (min-width: 481px){
	.policyContent h2 {
		font-size: 18px;
		padding-top: 60px;
		padding-bottom: 38px;
	}
}

.policyContent h2::before {
	content: '';
	display: inline-block;
	width: 10px;
	height: 30px;
	background-color: #a71527;
	margin-right: 10px;
}

.policyContent .descText {
	letter-spacing: 1.4px;
}

.policyContent .descText + ol {
	padding-top: 3px;
}

.policyContent ol li {
	font-size: 14px;
	letter-spacing: 1.4px;
	line-height: 1.8;
}

.policyContent a {
	text-decoration: underline;
	transition: opacity 0.6s ease;
}

.policyContent a:hover {
	opacity: 0.7;
}


/* ========== index CONTACT(#contact) ========== */
.contactMain {
	position: relative;
	padding-top: 60px;
}
@media screen and (min-width: 481px){
	.contactMain {
		padding-top: 0;
	}
}

.contactMain .contactMainDesc {
	font-size: 14px;
	letter-spacing: 1.6px;
	line-height: 1.8;
	padding-bottom: 80px;
}
@media screen and (min-width: 900px){
	.contactMain .contactMainDesc {
		font-size: 16px;
		padding-left: 78px;
		padding-bottom: 120px;
	}
}

.contactMain .contactMainForm {
	position: relative;
	padding-bottom: 60px;
}
@media screen and (min-width: 481px){
	.contactMain .contactMainForm {
		padding-right: 20px;
		padding-left: 20px;
	}
}
@media screen and (min-width: 900px){
	.contactMain .contactMainForm {
		padding-right: 100px;
		padding-left: 100px;
	}
}
@media screen and (min-width: 1200px){
	.contactMain .contactMainForm {
		padding-right: 155px;
		padding-left: 155px;
	}
}

.contactMain .contactMainForm .item {
	display: block;
}

.contactMain .contactMainForm .item + .item  {
	padding-top: 40px;
}
@media screen and (min-width: 481px){
	.contactMain .contactMainForm .item + .item  {
		padding-top: 30px;
	}
}

.contactMain .contactMainForm .item .title {
	position: relative;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 2px;
	padding-bottom: 9px;
}

.contactMain .contactMainForm .item .title.required::after {
	content: '*';
	display: inline-block;
	position: relative;
	top: 3px;
	font-size: 22px;
	color: #a71527;
}

.contactMain .contactMainForm textarea,
.contactMain .contactMainForm input[type="text"],
.contactMain .contactMainForm input[type="tel"],
.contactMain .contactMainForm input[type="email"],
.contactMain .contactMainForm select {
	font-family: dnp-shuei-gothic-kin-std,sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 16px;
	border: 1px solid #ddd;
	border-radius: 0;
	background: #FFF;
	width: 100%;
	box-sizing: border-box;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

.contactMain .contactMainForm input[type="text"],
.contactMain .contactMainForm input[type="tel"],
.contactMain .contactMainForm input[type="email"],
.contactMain .contactMainForm select {
	padding: 15px 20px;
}

.contactMain .contactMainForm textarea {
	height: 200px;
	padding: 15px 20px;
	resize: none;
}
@media screen and (min-width:900px) {
	.contactMain .contactMainForm textarea {
		height: 300px;
		padding: 22px 20px;
	}
}
@media screen and (min-width:1280px) {
	.contactMain .contactMainForm textarea {
		height: 350px;
		padding: 22px 20px;
	}
}

.contactMain .contactMainForm textarea::placeholder,
.contactMain .contactMainForm input[type="text"]::placeholder,
.contactMain .contactMainForm input[type="tel"]::placeholder,
.contactMain .contactMainForm input[type="email"]::placeholder {
	font-family: dnp-shuei-gothic-kin-std,sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 1.6px;
	color: #cecece;
}

.contactMain .contactMainForm .checkboxArea {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding-top: 22px;
	gap: 20px 0;
	margin-bottom: 20px;
}
@media screen and (min-width: 481px){
	.contactMain .contactMainForm .checkboxArea {
		flex-direction: row;
		flex-wrap: wrap;
	}
}
@media screen and (min-width: 900px){
	.contactMain .contactMainForm .checkboxArea {
		gap: 28px 0;
	}
}

.contactMain .contactMainForm .checkboxArea li {
	position: relative;
	width: 100%;
}
@media screen and (min-width: 481px){
	.contactMain .contactMainForm .checkboxArea li {
		width: 39%;
	}
	.contactMain .contactMainForm .checkboxArea li:nth-of-type(3n){
		width: 21%;
	}
}

.contactMain .contactMainForm .checkboxArea li input {
	position: relative;
	width: 20px;
	height: 20px;
	visibility: hidden;
}
.contactMain .contactMainForm .checkboxArea li input + span {
	position: absolute;
	left: 4px;
	top: 50%;
	transform: translateY(-50%);
	border: 2px solid #707070;
	width: 16px;
	height: 16px;
}

.contactMain .contactMainForm .checkboxArea li input.isCheck + span::before {
	content: '';
	display: block;
	position: absolute;
	top: -2px;
	left: 3px;
	width: 7px;
	height: 12px;
	transform: rotate(40deg);
	border-bottom: 3px solid #a71527;
	border-right: 3px solid #a71527;
}

.contactMain .contactMainForm .checkboxArea li label {
	position: relative;
	top: -4px;
	font-size: 14px;
	cursor: pointer;
	user-select: none;
}
@media screen and (min-width:1000px) {
	.contactMain .contactMainForm .checkboxArea li label {
		font-size: 16px;
	}
}

.contactMain .contactMainForm .ppAgree > p {
	font-size: 14px;
	font-weight: bold;
	line-height: 1.8;
	letter-spacing: 1px;
	text-align: center;
	padding-top: 42px;
	padding-bottom: 37px;
}
@media screen and (min-width:481px) {
	.contactMain .contactMainForm .ppAgree > p {
		font-size: 16px;
	}
}

.contactMain .contactMainForm .ppAgree a {
	font-weight: bold;
	color: #a71527;
	text-decoration: underline;
}

.contactMain .contactMainForm .ppAgree .ppAgreeCheck {
	position: relative;
	display: block;
	margin: 0 auto;
	width: 244px;
	height: 54px;
	border: 3px solid #a71527;
	transition: background-color 0.5s ease;
}

.contactMain .contactMainForm .ppAgree .ppAgreeCheck.isCheck {
	background-color: #a71527;
}

.contactMain .contactMainForm .ppAgree .ppAgreeCheck input {
	position: relative;
	display: inline-block;
	left: 0;
	width: 20px;
	height: 20px;
	visibility: hidden;
}

.contactMain .contactMainForm .ppAgree .ppAgreeCheck input + span {
	position: absolute;
	display: inline-block;
	left: 36%;
	top: 50%;
	transform: translate(-50%, -50%);
	background-color: #fff;
	border: 2px solid #a71527;
	width: 16px;
	height: 16px;
}

.contactMain .contactMainForm .ppAgree .ppAgreeCheck input.isCheck + span::before {
	content: '';
	display: block;
	position: absolute;
	top: -2px;
	left: 3px;
	width: 7px;
	height: 12px;
	transform: rotate(40deg);
	border-bottom: 3px solid #a71527;
	border-right: 3px solid #a71527;
}

.contactMain .contactMainForm .ppAgree .ppAgreeCheck label {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	align-content: center;
	font-size: 16px;
	color: #a71527;
	width: 100%;
	height: 100%;
	cursor: pointer;
}

.contactMain .contactMainForm .ppAgree .ppAgreeCheck label > p {
	letter-spacing: 1.2px;
	display: inline-block;
	vertical-align: text-top;
	user-select: none;
	padding-left: 8px;
	transition: background-color 0.5s ease;
}

.contactMain .contactMainForm .ppAgree .ppAgreeCheck.isCheck label > p {
	color: #fff;
}

.contactMain .contactMainForm #submit {
	display: block;
	margin: 0 auto;
	border: none;
	font-family: dnp-shuei-gothic-kin-std,sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 16px;
	letter-spacing: 1.2px;
	background-color: #a71527;
	width: 300px;
	height: 70px;
	color: #fff;
	margin-top: 45px;
	margin-bottom: 40px;
	user-select: none;
	transition: background-color 0.5s ease;
}

.contact-caution,.contact-result{
  color: #a71527;
  display: none;
}
.contact-caution p,.contact-result p{
	background: #a7152711;
  padding: 20px;
  line-height: 1.6;
  font-size: 14px;
  text-align: left;
}
@media screen and (min-width: 480px) {
	.contact-caution p,.contact-result p{
		font-size: 16px;
		text-align: center;
	}
}


/* ========== index NEWS(#news) ========== */
.newsCont {
	position: relative;
}

.newsCont .newsContArea {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	padding: 42px 15px 0 15px;
	z-index: 10;
}
@media screen and (min-width: 900px) {
	.newsCont .newsContArea {
		flex-direction: row;
		padding: 74px 20px 52px 20px;
	}
}
@media screen and (min-width: 1200px) {
	.newsCont .newsContArea {
		padding: 74px 100px 52px 100px;
	}
}

.newsCont .newsContArea .newsContCategory {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	column-gap: 25px;
	padding-bottom: 50px;
}
@media screen and (min-width: 481px) {
	.newsCont .newsContArea .newsContCategory {
		padding-bottom: 40px;
	}
}
@media screen and (min-width: 900px) {
	.newsCont .newsContArea .newsContCategory {
		display: block;
		width: 247px;
		padding-bottom: 0;
	}
}

.newsCont .newsContArea .newsContCategory li {
	display: table;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.2;
	border-bottom: 1px solid #a3a3a3;
	margin-top: 23px;
	cursor: pointer;
	transition: color 0.6s ease, border-bottom 0.6s ease;
}
.newsCont .newsContArea .newsContCategory li a{
	color: #a3a3a3;
	transition: color 0.6s ease, border-bottom 0.6s ease;
}
.newsCont .newsContArea .newsContCategory li.isActive a{
	color: #a71527;
}
.newsCont .newsContArea .newsContCategory li.isActive {
	color: #a71527;
	border-bottom: 1px solid #a71527;
}
@media screen and (min-width: 900px) {
	.newsCont .newsContArea .newsContCategory li {
		line-height: 1.6;
	}
	.newsCont .newsContArea .newsContCategory li:hover {
		border-bottom: 1px solid #a71527;
	}
	.newsCont .newsContArea .newsContCategory li:hover a{
		color: #a71527;
	}
	.newsCont .newsContArea .newsContCategory li.isActive.isHidden {
		color: #a3a3a3;
		border-bottom: 1px solid #a3a3a3;
	}
}

.newsCont .newsContArea .newsContList {
	position: relative;
	border-top: 1px solid #CECECE;
	margin-left: -35px;
	margin-right: -35px;
}
@media screen and (min-width: 481px) {
	.newsCont .newsContArea .newsContList {
		width: 100%;
		left: 50%;
    transform: translateX(-50%);
		border-left: 1px solid #CECECE;
		margin-left: 0;
    margin-right: 0;
	}
}
@media screen and (min-width: 900px) {
	.newsCont .newsContArea .newsContList {
		width: 100%;
		border-top: none;
		left: auto;
    transform: translateX(0);
	}
}

.newsCont .newsContArea .newsContList li {
	border-bottom: 1px solid #CECECE;
}

.newsCont .newsContArea .newsContList li a {
	display: block;
	padding: 27px 35px;
	transition: background-color 0.6s ease;
}

@media screen and (min-width: 900px) {
	.newsCont .newsContArea .newsContList li a {
		padding: 27px 50px;
	}
	.newsCont .newsContArea .newsContList li a:hover {
		background-color: rgb(167 21 39 / 7%);
	}
}

.newsCont .newsContArea .newsContList li time {
	font-size: 13px;
	line-height: 0;
	color: #A3A3A3;
	margin-right: 12px;
}
@media screen and (min-width: 900px) {
	.newsCont .newsContArea .newsContList li time {
		margin-right: 40px;
		min-width: 68px;
		line-height: 1;
		display: inline-block	;
	}
}

.newsCont .newsContArea .newsContList li p {
	position: relative;
	display: inline-block;
	font-size: 13px;
	line-height: 0;
	color: #505050;
}

.newsCont .newsContArea .newsContList li p:before {
	content: '';
	position: relative;
	top: 1px;
	display: inline-block;
	background-color: #505050;
	width: 12px;
	height: 12px;
	margin-right: 8px;
}


.newsCont .newsContArea .newsContList li h2 {
	font-size: 14px;
	color: #505050;
	margin-top: 18px;
	line-height: 1.5;
}
@media screen and (min-width: 900px) {
	.newsCont .newsContArea .newsContList li h2 {
		font-size: 16px;
	}
}

.newsPagenation {
	position: relative;
	padding-top: 50px;
	padding-bottom: 80px;
}
@media screen and (min-width: 900px) {
	.newsPagenation {
		padding-top: 0;
	}
}

.newsPagenation ul {
	display: flex;
	flex-direction: row;
	justify-content: center;
	gap: 12px;
}
@media screen and (min-width: 481px) {
	.newsPagenation ul {
		gap: 5px;
	}
}

.newsPagenation ul li {
	display: block;
	width: 38px;
	height: 38px;
	border: 1px solid #CECECE;
	cursor: pointer;
	transition: border 0.7s ease, color 0.7s ease;
}

.newsPagenation ul li.isActive {
	border: 1px solid #a71527;
	background-color: #a71527;
}

.newsPagenation ul li.isDot {
	border: 1px solid transparent;
	cursor: auto;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	flex-direction: row;
	gap: 3px;
}
@media screen and (min-width: 900px) {
	.newsPagenation ul li:hover {
		border: 1px solid #a71527;
	}
	.newsPagenation ul li:hover p {
		color: #a71527;
	}
	.newsPagenation ul li.isDot:hover {
		border: 1px solid transparent;
	}
}

.newsPagenation ul li.isDot span {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background-color: #505050;
}

.newsPagenation ul li > a, .newsPagenation ul li > span {
	display: inline-block;
	font-size: 24px;
	color: #505050;
	position: relative;
  left: 50%;
  top: 43%;
  transform: translate(-50%, -50%);
  height: 100%;
  width: 100%;
  line-height: 1.7;
  text-align: center;
}

.newsPagenation ul li.isActive > span {
	color: #fff;
}

/* NEWS:詳細ページ */
.newsTitle {
	position: relative;
	background-color: #F8F8F8;
	padding-top: 27px;
	padding-bottom: 26px;
	margin-top: 57px;
}
@media screen and (min-width: 481px) {
	.newsTitle {
		padding-top: 40px;
		padding-bottom: 35px;
		margin-top: 0;
	}
}

.newsTitle .newsTitleMain {
	padding-right: 10px;
	padding-left: 10px;
}

@media screen and (min-width: 900px) {
	.newsTitle .newsTitleMain {
		padding-right: 50px;
		padding-left: 50px;
	}
}
@media screen and (min-width: 1200px) {
	.newsTitle .newsTitleMain {
		padding-right: 100px;
		padding-left: 100px;
	}
}

.newsTitle .newsTitleMain time {
	display: inline-block;
	font-size: 16px;
	padding-right: 15px;
}
@media screen and (min-width: 900px) {
	.newsTitle .newsTitleMain time {
		font-size: 18px;
		padding-right: 35px;
	}
}

.newsTitle .newsTitleMain p {
	position: relative;
	display: inline-block;
	font-size: 13px;
	line-height: 0;
	color: #505050;
}

.newsTitle .newsTitleMain p:before {
	content: '';
	position: relative;
	top: 1px;
	display: inline-block;
	background-color: #505050;
	width: 12px;
	height: 12px;
	margin-right: 8px;
}

.newsTitle .newsTitleMain h1 {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 1.6px;
	padding-top: 16px;
}
@media screen and (min-width: 900px) {
	.newsTitle .newsTitleMain h1 {
		font-size: 26px;
		padding-top: 21px;
	}
}

.newsDesc {
	position: relative;
	padding-top: 40px;
	padding-bottom: 50px;
}

@media screen and (min-width: 900px) {
	.newsDesc {
		padding-bottom: 70px;		
	}
	.newsDesc .newsDescMain {
		padding-right: 50px;
		padding-left: 50px;
	}
}
@media screen and (min-width: 1200px) {
	.newsDesc .newsDescMain {
		padding-right: 100px;
		padding-left: 100px;
	}
}

.newsDesc .newsDescMain h2 {
	position: relative;
	font-size: 22px;
	letter-spacing: 0.02em;
	padding-left: 16px;
}
@media screen and (min-width: 900px){
	.newsDesc .newsDescMain h2 {
		font-size: 24px;
		padding-left: 28px;
	}
}

.newsDesc .newsDescMain h2::before {
	content: '';
  display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 10px;
	height: 100%;
	background-color: #a71527;
}


.newsDesc .newsDescMain h2 {
	font-weight: bold;
	margin-bottom: 30px;
	line-height: 1.5;
}

.newsDesc .newsDescMain h3 {
	font-size: 18px;
	font-weight: bold;
	padding-bottom: 24px;
	line-height: 1.6;
	color: #a71527;
}
@media screen and (min-width: 900px){
	.newsDesc .newsDescMain h3 {
		font-size: 20px;
	}
}

.newsDesc .newsDescMain h4 {
	font-size: 17px;
	font-weight: bold;
	padding-bottom: 24px;
	line-height: 1.5;
	color: #333;
}
@media screen and (min-width: 900px){
	.newsDesc .newsDescMain h4 {
		font-size: 19px;
	}
}

.newsDesc .newsDescMain h5 {
	font-size: 16px;
	font-weight: bold;
	padding-bottom: 24px;
	line-height: 1.5;
	color: #333;
}
@media screen and (min-width: 900px){
	.newsDesc .newsDescMain h5 {
		font-size: 18px;
	}
}

.newsDesc .newsDescMain h6 {
	font-size: 15px;
	font-weight: bold;
	padding-bottom: 24px;
	line-height: 1.5;
	color: #333;
}
@media screen and (min-width: 900px){
	.newsDesc .newsDescMain h6 {
		font-size: 16px;
	}
}

.newsDesc .newsDescMain p {
	font-size: 14px;
	line-height: 1.8;
	padding-bottom: 20px;
}
.newsDesc .newsDescMain p strong{
	font-weight: bold;
	color: #333;
}

@media screen and (min-width: 900px){
	.newsDesc .newsDescMain p {
		line-height: 2.2;
		padding-bottom: 30px;
	}
}

.newsDesc .newsDescMain p > a {
	color: #a71527;
	text-decoration: underline;
}
.newsDesc .newsDescMain ul,.newsDesc .newsDescMain ol{
    margin-top: 20px;
    line-height: 2;
    letter-spacing: 0.5;
    padding-left: 20px;
    font-size: 14px;
}
.newsDesc .newsDescMain ul li{
    list-style-type: disc;
}
.newsDesc .newsDescMain ol li{
    list-style-type: decimal;
}

.newsDesc .newsDescMain picture {
	display: block;
}

.newsDesc .newsDescMain img {
	display: block;
	margin: 0 auto;
	padding-top: 10px;
	padding-bottom: 10px;
	width: auto;
	height: auto;
	/*max-width: 600px;*/
	max-width: 100%;
}
@media screen and (min-width: 900px){
	.newsDesc .newsDescMain img {
		max-width: 600px;
		padding-top: 30px;
		padding-bottom: 30px;
	}
}

.newsDesc .newsDescMain .btnNews {
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 1.6px;
	left: 50%;
	border: 3px solid #a71527;
	background-color: #a71527;
	color: #fff;
	padding: 25px 70px;
	margin-top: 50px;
	transform: translateX(-50%);
}
@media screen and (min-width: 900px){
	.newsDesc .newsDescMain .btnNews {
		background-color: #fff;
		color: #a71527;
	}
}

.newsDesc .newsDescMain .btnNews span {
	position: relative;
	z-index: 50;
}

.newsDesc .newsDescMain .btnNews::before {
	display: none;
}

.newsDesc .newsDescMain .btnNews::after {
	width: 100%;
	height: 300px;
	background: #a71527;
	transform: scale(0);
	transition: transform 0.7s ease;
}
@media screen and (min-width: 900px){
	.newsDesc .newsDescMain .btnNews:hover::after {
		transform: scale(1.1);
	}
}


/* ========== index RECRUIT(#recruit) ========== */
.recruitCatch {
	position: relative;
	background-color: #a71527;
}
@media screen and (min-width:900px){
	.recruitCatch {
		background: linear-gradient(to left, transparent 60%,#a71527 60%);
	}
}

.recruitCatch .recruitCatchText {
	background-color: #a71527;
}
@media screen and (min-width:900px){
	.recruitCatch .recruitCatchText {
		margin-left: -83px;
		margin-right: 56px;
		padding-left: 83px;
	}
}
@media screen and (min-width:1200px){
	.recruitCatch .recruitCatchText {
		padding-left: 120px;
	}
}

.recruitCatch .recruitCatchText h2 {
	position: relative;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.6;
  letter-spacing: 2px;
	color: #fff;
	padding-top: 96px;
	z-index: 10;
}
@media screen and (min-width:900px){
	.recruitCatch .recruitCatchText h2 {
		font-size: 36px;
		line-height: 1.8;
		letter-spacing: 4px;
		padding-top: 200px;
	}
}
@media screen and (min-width:1200px){
	.recruitCatch .recruitCatchText h2 {
		padding-top: 73px;
	}
}

.recruitCatch .recruitCatchText p {
	font-size: 14px;
	color: #fff;
	padding: 20px 15px 35px 0;
	letter-spacing: 1px;
}
@media screen and (min-width:900px){
	.recruitCatch .recruitCatchText p {
		letter-spacing: initial;
		padding: 33px 0 100px;
		width: 690px;
	}
}


.recruitData {
	position: relative;
	padding-top: 80px;
}
@media screen and (min-width:900px){
	.recruitData {
		padding-top: 100px;
	}
}

.recruitData .lgText {
	position: absolute;
	right: 20px;
	top: 30px;
}
@media screen and (min-width:900px){
	.recruitData .lgText {
		right: 26px;
		top: 6px;
	}
}

.recruitData ul {
	display: flex;
	flex-direction: column;
	padding: 38px 0 80px 0;
	row-gap: 45px;
}
@media screen and (min-width:481px){
	.recruitData ul {
		flex-direction: row;
		flex-wrap: wrap;
    justify-content: space-between;
		row-gap: 60px;
		padding: 66px 10px 80px 10px;
	}
}
@media screen and (min-width:900px){
	.recruitData ul {
		padding: 66px 50px 80px 50px;
	}
}
@media screen and (min-width:1200px){
	.recruitData ul {
		padding: 66px 100px 80px 100px;
	}
}

.recruitData ul li {
	position: relative;
	width: 100%;
}
@media screen and (min-width:481px){
	.recruitData ul li {
		width: 48%;
		min-height: 304px;
	}
}
@media screen and (min-width:1000px){
	.recruitData ul li {
		width: 43%;
	}
}
@media screen and (min-width:1200px){
	.recruitData ul li {
		width: 47%;
	}
}
@media screen and (min-width:1300px){
	.recruitData ul li {
		width: 43%;
	}
}

.recruitData ul li::before {
	content: '';
	display: block;
	background-size: cover;
	background-repeat: no-repeat;
	position: absolute;
}
.recruitData ul li.data01::before {
	background-image: url(../img/recruit/recruit_data01_sp.png);
	width: 90px;
	height: 66px;
	right: 0;
	top: 107px;
}
.recruitData ul li.data02::before {
	background-image: url(../img/recruit/recruit_data02_sp.png);
	width: 109px;
	height: 83px;
	right: 0;
	top: 168px;
}
.recruitData ul li.data03::before {
	background-image: url(../img/recruit/recruit_data03_sp.png);
	width: 121px;
	height: 82px;
	right: 8px;
	top: 84px;
}
.recruitData ul li.data04::before {
	background-image: url(../img/recruit/recruit_data04_sp.png);
	width: 95px;
	height: 83px;
	right: 0px;
	top: 95px;
}
.recruitData ul li.data05::before {
	background-image: url(../img/recruit/recruit_data05_sp.png);
	width: 89px;
	height: 174px;
	right: 0;
	top: 68px;
}
.recruitData ul li.data06::before {
	background-image: url(../img/recruit/recruit_data06_sp.png);
	width: 149px;
	height: 121px;
	right: 0;
	top: 82px;
}

@media screen and (min-width:900px){
	.recruitData ul li.data01::before {
	  background-image: url(../img/recruit/recruit_data01.png);
		width: 100px;
		height: 73px;
    right: 0;
    top: 126px;
	}
	.recruitData ul li.data02::before {
	  background-image: url(../img/recruit/recruit_data02.png);
		width: 121px;
    height: 91px;
    right: 0;
    top: 155px;
	}
	.recruitData ul li.data03::before {
	  background-image: url(../img/recruit/recruit_data03.png);
		width: 134px;
    height: 91px;
    right: 0;
    top: 88px;
	}
	.recruitData ul li.data04::before {
	  background-image: url(../img/recruit/recruit_data04.png);
		width: 111px;
    height: 96px;
		right: 5px;
    top: 88px;
	}
	.recruitData ul li.data05::before {
	  background-image: url(../img/recruit/recruit_data05.png);
    width: 83px;
    height: 183px;
    right: 0;
    top: 97px;
	}
	.recruitData ul li.data06::before {
	  background-image: url(../img/recruit/recruit_data06.png);
    width: 129px;
    height: 116px;
    right: 0;
    top: 88px;
	}
}
@media screen and (min-width:1200px){
	.recruitData ul li.data01::before {
		width: 100px;
		height: 73px;
    right: 0;
    top: 126px;
	}
	.recruitData ul li.data02::before {
		width: 158px;
		height: 119px;
    right: 0;
    top: 170px;
	}
	.recruitData ul li.data03::before {
		width: 160px;
		height: 109px;
    right: 0;
    top: 88px;
	}
	.recruitData ul li.data04::before {
		width: 123px;
		height: 107px;
		right: 5px;
    top: 88px;
	}
	.recruitData ul li.data05::before {
		width: 108px;
		height: 221px;
    right: 0;
    top: 88px;
	}
	.recruitData ul li.data06::before {
		width: 165px;
		height: 148px;
    right: 0;
    top: 88px;
	}
}

.recruitData ul li .dataTitle {
	display: block;
	font-size: 19px;
	font-weight: bold;
	letter-spacing: 2px;
	text-align: center;
	color: #fff;
	background-color: #a71527;
	padding: 18px 10px;
}

.recruitData ul li .dataBigText {
	font-size: 26px;
	font-weight: bold;
	padding-top: 26px;
	padding-left: 15px;
}
.recruitData ul li.data04 .dataBigText {
	font-size: 26px;
	padding-top: 25px;
}
@media screen and (min-width:900px){
	.recruitData ul li .dataBigText {
		font-size: 30px;
		padding-top: 40px;
		padding-left: 20px;
	}
	.recruitData ul li.data04 .dataBigText {
		font-size: 30px;
		padding-top: 25px;
	}
}
@media screen and (min-width:1200px){
	.recruitData ul li .dataBigText {
		font-size: 38px;
	}
	.recruitData ul li.data04 .dataBigText {
		font-size: 32px;
		padding-top: 25px;
	}
}

.recruitData ul li .dataBigText span:nth-of-type(1) {
	font-family: rajdhani,sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 100px;
	letter-spacing: 2px;
	color: #a71527;
	padding-right: 6px;
	position: relative;
	top: 4px;
}
@media screen and (min-width:900px){
	.recruitData ul li .dataBigText span:nth-of-type(1) {
		font-size: 104px;
		letter-spacing: -2px;
		padding-right: 20px;
		top: 5px;
	}
	.recruitData ul li.data04 .dataBigText span:nth-of-type(1) {
		padding-right: 0;
		top: 3px;
	}
}
@media screen and (min-width:1200px){
	.recruitData ul li .dataBigText span:nth-of-type(1) {
		font-size: 137px;
	}
	.recruitData ul li.data04 .dataBigText span:nth-of-type(1) {
		font-size: 114px;
		padding-right: 20px;
	}
}

.recruitData ul li .dataBigText span:nth-of-type(2) {
	display: block;
	font-size: 12px;
	font-weight: bold;
	color: #A3A3A3;
	margin-top: -8px;
}

.recruitData ul li .dataRank {
	font-weight: bold;
	letter-spacing: 2px;
	padding-left: 20px
}

.recruitData ul li .dataRank:nth-of-type(2) {
	font-size: 32px;
	padding-top: 25px;
	padding-bottom: 16px;
}
.recruitData ul li .dataRank:nth-of-type(2) span:nth-of-type(1){
	font-family: rajdhani,sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 66px;
	color: #a71527;
	padding-right: 6px;
}
.recruitData ul li .dataRank:nth-of-type(2) span:nth-of-type(2){
	font-size: 22px;
	color: #a71527;
	padding-right: 18px;

}
@media screen and (min-width:900px){
	.recruitData ul li .dataRank:nth-of-type(2) {
		font-size: 37px;
		padding-top: 30px;
	}
	.recruitData ul li .dataRank:nth-of-type(2) span:nth-of-type(1){
		font-size: 65px;
		padding-right: 12px;
	}
	.recruitData ul li .dataRank:nth-of-type(2) span:nth-of-type(2){
		font-size: 20px;
		padding-right: 12px;
	}
}
@media screen and (min-width:1200px){
	.recruitData ul li .dataRank:nth-of-type(2) span:nth-of-type(1){
		font-size: 82px;
	}
	.recruitData ul li .dataRank:nth-of-type(2) span:nth-of-type(2){
		font-size: 26px;
		padding-right: 24px;
	}
}

.recruitData ul li .dataRank:nth-of-type(3) {
	font-size: 18px;
	padding-bottom: 16px;
}
.recruitData ul li.data02 .dataRank:nth-of-type(3) {
	font-size: 20px;
}
.recruitData ul li .dataRank:nth-of-type(4) {
	font-size: 18px;
}
@media screen and (min-width:900px){
	.recruitData ul li .dataRank:nth-of-type(3) {
		font-size: 20px;
	}
	.recruitData ul li.data02 .dataRank:nth-of-type(3) {
		font-size: 29px;
	}
	.recruitData ul li .dataRank:nth-of-type(4) {
		font-size: 20px;
	}
}
.recruitData ul li .dataRank:nth-of-type(3) span:nth-of-type(1),
.recruitData ul li .dataRank:nth-of-type(4) span:nth-of-type(1) {
	font-family: rajdhani,sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 40px;
	padding-right: 5px;
	padding-left: 3px;
}
.recruitData ul li .dataRank:nth-of-type(3) span:nth-of-type(2),
.recruitData ul li .dataRank:nth-of-type(4) span:nth-of-type(2) {
	font-size: 19px;
	padding-right: 20px;
}

@media screen and (min-width:900px){
	.recruitData ul li .dataRank:nth-of-type(3) span:nth-of-type(1),
	.recruitData ul li .dataRank:nth-of-type(4) span:nth-of-type(1) {
		font-size: 40px;
		padding-right: 11px;
	}
	.recruitData ul li .dataRank:nth-of-type(3) span:nth-of-type(2),
	.recruitData ul li .dataRank:nth-of-type(4) span:nth-of-type(2) {
		font-size: 19px;
		padding-right: 14px;
	}
}
@media screen and (min-width:1200px){
	.recruitData ul li .dataRank:nth-of-type(3) span:nth-of-type(1),
	.recruitData ul li .dataRank:nth-of-type(4) span:nth-of-type(1) {
		font-size: 47px;
	}
	.recruitData ul li .dataRank:nth-of-type(3) span:nth-of-type(2),
	.recruitData ul li .dataRank:nth-of-type(4) span:nth-of-type(2){
		padding-right: 31px;
	}
	.recruitData ul li.data03 .dataRank:nth-of-type(4) span:nth-of-type(2) {
		padding-right: 33px;
	}
}

.recruitGallery {
	position: relative;
	background-color: #a71527;
	padding-top: 40px;
	padding-bottom: 62px;
}

.recruitGallery .pageTitle,
.recruitGallery .pageTitle::before {
	color: #fff;
}

.recruitGallery .lgText {
	color: #fff;
	opacity: 0.15;
	position: absolute;
  bottom: 4px;
	left: -6px;
	font-size: 29vw;
}
@media screen and (min-width:900px){
	.recruitGallery .lgText {
		font-size: 17vw;
		bottom: -20px;
		left: 0;
	}
}
@media screen and (min-width:1200px){
	.recruitGallery .lgText {
		font-size: 240px;
		bottom: -2px;
	}
}

.recruitGallery .recruitGallerySwiper {
	position: relative;
	left: 10px;
	width: 622px;
	height: 225px;
	overflow: hidden;
	margin-top: 34px;
}
@media screen and (min-width:481px){
	.recruitGallery .recruitGallerySwiper {
		width: 938px;
	}
}
@media screen and (min-width:900px){
	.recruitGallery .recruitGallerySwiper {
		right: -140px;
		left: auto;
		width: 1609px;
		height: 289px;
		margin-top: 44px;
	}
}

.recruitGallery .recruitGalleryButton {
	padding-top: 25px;
	padding-bottom: 80px;
	display: flex;
	justify-content: center;
	flex-direction: row;
	gap: 28px;
}
@media screen and (min-width: 900px){
	.recruitGallery .recruitGalleryButton {
		padding-top: 35px;
		padding-bottom: 0;
		justify-content: flex-end;
	}
}

.recruitGallery .swiper-button-next,
.recruitGallery .swiper-button-prev {
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	width: 60px;
	height: 60px;
	margin-top: 0;
	font-size: 36px;
	font-weight: bold;
	color:#a71527;
	background-color: #fff;
	border-radius: 50%;
}
.recruitGallery .swiper-button-prev:after,
.recruitGallery .swiper-rtl .swiper-button-next:after,
.recruitGallery .swiper-button-next:after,
.recruitGallery .swiper-rtl .swiper-button-prev:after {
	content: '';
}

.recruitGallery .recruitGallerySwiper picture {
	display: block;
}

.recruitGallery .recruitGallerySwiper picture img {
	width: 306px;
	height: 225px;
}
@media screen and (min-width: 900px){
	.recruitGallery .recruitGallerySwiper picture img {
		width: 391px;
		height: 289px;
	}
}

.recruitJob {
	position: relative;
	padding-top: 80px;
	padding-bottom: 60px;
}

.recruitJob .lgText {
	position: absolute;
	right: 0;
	bottom: -30px;
}
@media screen and (min-width: 481px){
	.recruitJob .lgText {
		bottom: -2px;
	}
}
@media screen and (min-width: 900px){
	.recruitJob .lgText {
		bottom: -16px;
	}
}
@media screen and (min-width: 1200px){
	.recruitJob .lgText {
		bottom: 0;
	}
}

.recruitJob .recruitJobTable {
	display: flex;
	flex-direction: column;
	padding-top: 54px;
	padding-bottom: 60px;
	gap: 85px;
}
@media screen and (min-width: 481px){
	.recruitJob .recruitJobTable {
		padding-bottom: 140px;
	}
}
@media screen and (min-width: 900px){
	.recruitJob .recruitJobTable {
		flex-direction: row;
		justify-content: space-between;
		gap: 0;
		padding-bottom: 160px;
	}
}

.recruitJob .recruitJobTable .recruitJobTableWrap,
.recruitJob .recruitJobTable .recruitJobTableWrap table {
	width: 100%;
}
@media screen and (min-width: 900px){
	.recruitJob .recruitJobTable .recruitJobTableWrap {
		width: 49%;
	}
}

.recruitJob .recruitJobTable .recruitJobTableWrap > p {
	font-size: 28px;
	font-weight: bold;
	letter-spacing: 2px;
	line-height: 1.4;
	display: inline-block;
	position: relative;
  left: 50%;
  transform: translateX(-50%);
	border-bottom: 5px solid #a71527;
	padding: 0 25px;
	margin-bottom: 45px;
}
@media screen and (min-width: 900px){
	.recruitJob .recruitJobTable .recruitJobTableWrap > p {
		margin-bottom: 20px;
	}
}

.recruitJob .recruitJobTable .recruitJobTableWrap > p span {
	font-size: 14px;
	position: absolute;
	top: -24px;
	left: 50%;
	transform: translateX(-50%);
}
@media screen and (min-width: 900px){
	.recruitJob .recruitJobTable .recruitJobTableWrap > p span {
		font-size: 18px;
	}
}

.recruitJob .recruitJobTable .recruitJobTableWrap:nth-of-type(1) > p span {
	width: 146px;
}
.recruitJob .recruitJobTable .recruitJobTableWrap:nth-of-type(2) > p span {
	width: 114px;
}
@media screen and (min-width: 900px){
	.recruitJob .recruitJobTable .recruitJobTableWrap:nth-of-type(1) > p span {
		width: 182px;
	}
	.recruitJob .recruitJobTable .recruitJobTableWrap:nth-of-type(2) > p span {
		width: 144px;
	}	
}

.recruitJob .recruitJobTable .recruitJobTableWrap table th {
	font-size: 14px;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 1.6px;
	width: 22%;
	background-color: #DDDDDD;
	border: 1px solid #A3A3A3;
}
.recruitJob .recruitJobTable .recruitJobTableWrap table th.col2 {
	text-align: left;
	padding-left: 12px;
}
@media screen and (min-width: 900px){
	.recruitJob .recruitJobTable .recruitJobTableWrap table th {
		vertical-align: middle;
	}
	.recruitJob .recruitJobTable .recruitJobTableWrap table th.col2 {
		text-align: center;
		padding-left: 0;
	}
}
@media screen and (min-width: 1200px){
	.recruitJob .recruitJobTable .recruitJobTableWrap table th {
		font-size: 16px;
	}
}

.recruitJob .recruitJobTable .recruitJobTableWrap table td {
	font-size: 13px;
	width: 78%;
	border: 1px solid #A3A3A3;
	padding: 20px 11px 15px 11px;
}
@media screen and (min-width: 900px){
	.recruitJob .recruitJobTable .recruitJobTableWrap table td {
		font-size: 14px;
		padding: 20px 30px;
	}
}

.recruitContact {
	background-color: #a71527;
	margin-bottom: 80px;
}
@media screen and (min-width: 900px){
	.recruitContact .container {
    padding-left: 26px;
    padding-right: 26px;
	}
}

.recruitContact .container {
	width: fit-content;
}
@media screen and (min-width: 900px){
	.recruitContact .container {
		background-color: #fff;
	}
}

.recruitContact .recruitContactMain {
	background-color: #fff;
	padding-right: 12px;
	padding-left: 12px;
}
@media screen and (min-width: 900px){
	.recruitContact .recruitContactMain {
		padding-right: 0;
		padding-left: 0;
	}
}

.recruitContact .recruitContactMain p {
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 1px;
	color:#a71527;
	padding-top: 15px;
	padding-bottom: 16px;
}
@media screen and (min-width: 900px){
	.recruitContact .recruitContactMain p {
		font-size: 24px;
		letter-spacing: 3px;
		padding-bottom: 44px;
	}
}

.recruitContact .recruitContactMain .btnSquare {
	left: 50%;
	transform: translateX(-50%);
	background-color: #a71527;
	width: 250px;
	height: 60px;
	margin-bottom: 16px;
}
@media screen and (min-width:900px){
	.recruitContact .recruitContactMain .btnSquare {
		width: 300px;
		height: 70px;
		margin-bottom: 0;
	}
}

.recruitContact .recruitContactMain .btnSquare .btnSquareWrap:before {
	background: #fff;
	width: 250px;
	height: 60px;
}
@media screen and (min-width:900px){
	.recruitContact .recruitContactMain .btnSquare .btnSquareWrap:before {
		width: 300px;
		height: 70px;
	}
}

.recruitContact .recruitContactMain .btnSquare span {
	color: #fff;
	width: 250px;
	height: 60px;
}
@media screen and (min-width:900px){
	.recruitContact .recruitContactMain .btnSquare span {
		width: 300px;
		height: 70px;
	}
}

.recruitContact .recruitContactMain .btnSquare svg,
.recruitContact .recruitContactMain .btnSquare svg rect {
	width: 250px;
	height: 60px;
}
@media screen and (min-width:900px){
	.recruitContact .recruitContactMain .btnSquare svg,
	.recruitContact .recruitContactMain .btnSquare svg rect {
		width: 300px;
		height: 70px;
	}	
}

.recruitContact .recruitContactMain .btnSquare svg:nth-of-type(1) rect {
	stroke: #fff;
}
.recruitContact .recruitContactMain .btnSquare svg:nth-of-type(2) rect {
	stroke: #a71527;
}
@media screen and (min-width: 900px){
	.recruitContact .recruitContactMain .btnSquare:hover {
		color: #a71527;
	}
	.recruitContact .recruitContactMain .btnSquare:hover .btnSquareWrap:before {
    background: #fff;
	}
	.recruitContact .recruitContactMain .btnSquare:hover span {
		color: #a71527;
	}
}



/* ========== @keyframes ========== */
@keyframes headerHidden {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes CircleAnime {
  0% { stroke-dasharray: 0 377; }
  99.9%,to { stroke-dasharray: 377 377; }
}

