.ff_ming {
	font-family: "ヒラギノ明朝 ProN W3", HiraMinProN-W3, HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
.vertical {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}
.ttl_bdr_line {
	position: relative;
}
.ttl_bdr_line::before {
    content: "";
    display: block;
    width: calc(100% + 7vw);
    height: 1px;
    position: absolute;
    bottom: -0.5vw;
    left: -7vw;
	background-color: #444446;
    animation: border_anim 0.6s linear forwards;
}
.ttl_bdr_line2 {
	position: relative;
}
.ttl_bdr_line2::before {
	content: "";
	display: block;
	width: calc(100% + 5.0vw);
	height: 1px;
	position: absolute;
	bottom: -.5vw;
	left: -5vw;
	background-color: #444446;
	animation: border_anim .6s linear forwards;
}
.is-active .ttl_bdr_line::before {
    background-color: #444446;
    animation: border_anim 0.6s linear forwards;
}
.ttl_bdr_line_r {
	position: relative;
}
.ttl_bdr_line_r::before {
    content: "";
	display: block;
	width: calc(100% + 7vw);
	height: 1px;
	position: absolute;
	bottom: -.5vw;
	left: -0.3vw;
	background-color: #444446;
	animation: border_anim .6s linear forwards;
}
.is-active .ttl_bdr_line_r::before {
    background-color: #444446;
    animation: border_anim 0.6s linear forwards;
}

.category_menu h3 {
	float: none;
}

.category_menu {
	display: flex;
}
.category_ttl {
	font-size: 1.5vw;
	margin-right: 6.2vw;
}
.category_lists {
	display: flex;
	border-right: 1px solid #444446;
}
.category_list {
	position: relative;
	flex-grow: 1;
	text-align: left;
}
.category_lists li {
	border-left: 1px solid #444446;
	line-height: 1.4vw;
}
.category_lists li a {
	display: block;
	padding-left: 4.6vw;
	padding-right: 4.6vw;
}
.category_list_en {
	display: block;
	font-size: 0.6vw;
}
.category_list_ja {
	display: block;
	font-size: 1.0vw;
}

.company {
/*	padding-top: 3.5vw; */
padding-bottom: 18vw;
padding-top: 20%;
}

.slogan {
	background-color: #ECEEEE;
	position: relative;
	padding-bottom:5vw;
}
.slogan::before {
	content: "";
    display: block;
    width: 61vw;
    height: 13vw;
/*    background: url(img/company/slogan_en_pc.png) no-repeat left top; */
    background-size: contain;
    position: absolute;
    right: 0;
    top: -8.8vw;
}
.slogan_ttl {
	width: 36vw;
}
.slogan_ttl img {
	width: 100%;
}
.slogan_contents{
	position: absolute;
	left: 9vw;
/*	bottom: -3vw;*/
	padding: 0vw;
	top:-4.5vw;
}
.slogan_contents p {
	font-size: 2.2vw;
	line-height: 1.8;
	letter-spacing: 0.3vw;
	background: linear-gradient(90deg,#183880 0%,#183880 40%,#1d2e59 80%);
    background-clip: border-box;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.slogan_txt {
	position: relative;
	margin-bottom: 15.5vw;
}
.slogan_txt1_en {
	position: absolute;
	left: 0;
	top: -3.5vw;
}
.slogan_txt1_en2 {
	position: absolute;
	left: 0;
	top: -3.5vw;
	font-size: 0.9vw;
	letter-spacing: 0.15vw;
	padding-right: 0.5vw !important;
}
.slogan_txt2_en {
	position: absolute;
	left: -4.5vw;
	top: 31px;
	font-size: 0.9vw;
	letter-spacing: 0.08vw;
}
.slogan_wrap {
	margin-left: 12.5vw;
	margin-right: 12.5vw;
	position: relative;
	top: -11.5vw;
	margin-bottom: -11.5vw;
}
.slogan_contents_wrap {
	display: flex;
	align-items: flex-end;
    justify-content: space-between;
}
.slogan_lists_wrap {
	position: relative;
	margin-bottom:5vw;
}
.slogan_lists_wrap::before {
    position: absolute;
    content: "";
    display: inline-block;
    background: url(img/company/slogan_bg_pc.jpg) no-repeat right bottom;
    background-size: cover;
    width: 100%;
    height: 100%;
    left: -1px;
    bottom: -0.2vw;
}
.slogan_lists {
	background-color: #ffffff;
	position: relative;
	padding: 3vw 6vw;
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.slogan_list {
	width: 100%;
	margin-bottom: 3vw;
	border-bottom: 1px solid #444446;
}
.slogan_list:nth-last-child(1) {
	margin-bottom: 0vw;
}
.slogan_list_ttl {
	font-size: .9vw;
	padding-bottom: .5vw;
	letter-spacing: 0.1vw;
	margin-bottom: .5vw;
	float: left;
	width: 6.5vw;
	border-right: 1px solid #444446;
	margin-right: 1.5vw;
}
.slogan_list_txt {
	font-size: 1vw;
}

.mission {
	background-color: #ECEEEE;
	padding-top: 12vw;
	position: relative;
}
.mission::before {
	content: "";
    display: block;
    width: 67vw;
    height: 22vw;
    background: url(img/company/mission_en_pc.png) no-repeat left top;
    background-size: contain;
    position: absolute;
    left: 2.5vw;
    top: 2.5vw;
}
.mission_ttl {
	margin-left: 26vw;
	margin-bottom: 0vw;
	font-size: 3vw;
	line-height: 1.8;
	z-index: 1;
	position: relative;
	top: 10vw;
}
.mission_contents {
	margin-left: 18vw;
	position: relative;
	top: 0vw;
}
.mission_tag {
	font-size: .7vw;
	margin-bottom: 10vw;
	display: inline-block;
	letter-spacing: 0.1vw;
}
.mission_contents p {
	font-size: 1.1vw;
	line-height: 2.2;
	margin-left: 8vw;
}
.mission_contents p:not(:last-of-type) {
	margin-bottom: 3vw;
}

.values {
	background-color: #ECEEEE;
	padding-top: 16vw;
	position: relative;
}
.values::before {
	content: "";
    display: block;
    width: 57vw;
    height: 22vw;
    background: url(img/company/values_en_pc.png) no-repeat left top;
    background-size: contain;
    position: absolute;
    left: 2.5vw;
    top: 7vw;
}
.values_wrap {
	margin-left: 19vw;
	position: relative;
}
.values_ttl {
	display: flex;
    align-items: baseline;
	margin-bottom: 2.5vw;
}
.values_tag {
	font-size: 0.7vw;
    display: inline-block;
}
.values_ttl h4 {
	font-size: 3vw;
	margin-left: 2.5vw;
	letter-spacing: 0.4vw;
}
.values_contents p {
	font-size: 1vw;
    line-height: 2vw;
}
.values_contents p:not(:last-of-type) {
    margin-bottom: 3vw;
}

.vision {
	background-color: #ECEEEE;
	padding-top: 16vw;
	padding-bottom: 7vw;
	position: relative;
}
.vision::before {
	content: "";
    display: block;
    width: 57vw;
    height: 22vw;
    background: url(img/company/vision_en_pc.png) no-repeat left top;
    background-size: contain;
    position: absolute;
    right: 0.5vw;
    top: 4vw;
}
.vision_wrap {
	font-size: .7vw;
	display: inline-block;
	position: relative;
	left: 49.5vw;
	bottom: 8.5vw;
	letter-spacing: 0.08vw;
}
.vision_ttl {
	display: flex;
  align-items: flex-end;
  position: relative;
  right: 25vw;
  text-align: right;
  top: 15vw;
}
.vision_tag {
	font-size: .7vw;
  display: inline-block;
  position: relative;
  left: 48vw;
  bottom: 8.5vw;
}
.vision_ttl h4 {
	font-size: 3vw;
	margin-left: 2.5vw;
	letter-spacing: .3vw;
	text-align: right;
	line-height: 1.8;
}
.vision_contents{
	position: relative;
  top: 16vw;
  right: 24.5vw;
}
.vision_contents p {
	font-size: 1.1vw;
  line-height: 2;
  letter-spacing: 0.07vw;
  text-align: right;
}
.vision_contents p:not(:last-of-type) {
    margin-bottom: 3vw;
}

.photo {
	background-color: #ECEEEE;
	padding-top: 13vw;
}
.photo_list {
	display: flex;
	width: calc(1920px*3);
}
.photo_list img {
	width: 100%;
	height: 12vw;
}

.personal {
	padding-top: 12vw;
}
.personal_wrap {
	margin-left: 25vw;
	margin-right: 25vw;
	position: relative;
}
.personal_txt1_en {
	position: absolute;
	left: -9vw;
	top: 0.5vw;
	font-size: 0.8vw;
	letter-spacing: 0.05vw;
}
.personal_txt2_en {
	white-space: nowrap;
	position: absolute;
	left: -7vw;
	top: 6vw;
}
.personal_ttl {
	font-size: 3vw;
  margin-left: 0.5vw;
  margin-bottom: 1.5vw;
  letter-spacing: 0.3vw;
}
.personal_txt1_ja {
	font-size: .8vw;
	margin-left: 1vw;
	letter-spacing: 0.1vw;
}
.personal_contents {
	padding-top: 4vw;
	padding-left: 0.8vw;
}
.vision_list {
	margin-bottom: 1.5vw;
}
.vision_ttl2 {
	display: flex;
    align-items: flex-end;
	position: relative;
}
.vision_en {
	font-size: 4vw;
	display: inline-block;
	width: 20vw;
}
.vision_ja {
	display: inline-block;
	padding: 0.3vw 1.3vw 0.3vw 1.3vw;
	background: #000000;
	color: #ffffff;
	font-size: 1.1vw;
	margin-bottom: 0.5vw;
	width: 10vw;
}
.vision_ja::before {
    content: "";
    display: block;
    width: 30vw;
    height: 1px;
    position: absolute;
    bottom: 0.5vw;
	left: 0;
    background-color: #444446;
    animation: border_anim 0.6s linear forwards;
}
.vision_list:nth-child(odd) .vision_ja {
	border-left: 0.4vw solid #B0D3D7;
}
.vision_list:nth-child(even) .vision_ja {
	border-left: 0.4vw solid #DDB0D2;
}
.vision_ja_txt {
	display: block;
	margin-left: 20vw;
	margin-top: 0.5vw !important;
	font-size: 1vw;
}

.links {
	padding-top: 12vw;
}
.links_contents {
	margin-left: 12.5vw;
	margin-right: 12.5vw;
}
.links_lists {
	display: flex;
	justify-content: space-between;
}
.links_list {
	width: 33vw;
}
.links_list img {
	width: 100%;
}
.links_list a {
	display: block;
	position: relative;
}
.links_list_ttl {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	color: #ffffff;
	z-index: 1;
}
.links_list .links_list_img {
	overflow:hidden;
}
.links_list a .links_list_img img  {
	transition:1s all;
	vertical-align: bottom;
}
.links_list a:hover .links_list_img img {
	transform:scale(1.2,1.2);
	transition:1s all;
}

.slogan_ttl_main{
	font-size:3vw;
	font-weight: 800;
	background: linear-gradient(90deg, #183880 0%, #183880 40%, #1d2e59 80%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	padding: 8vw 0vw 0vw 8vw;
}
.slogan_ttl_main2a{
	padding: 4vw 0vw 0vw 21.8vw;
}
.slogan_ttl_main2b{
font-size: 1.5vw;
  font-weight: 800;
  background: linear-gradient(90deg,#183880 0%,#183880 40%,#1d2e59 80%);
    background-clip: border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.slogan_movie{
	padding: 0vw 12vw 6vw;
	background-color: #eceeee;
}
.slogan_list_mv2{
	padding: 0vw 12vw 6vw;
	background-color: #eceeee;
}

@media screen and (max-width: 767px) {
.slogan_ttl_main {
  font-size: 8.8vw;
  font-weight: 800;
  background: linear-gradient(90deg,#183880 0%,#183880 40%,#1d2e59 80%);
    background-clip: border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  padding: 7vw 0 0 6vw;
}
.slogan_ttl_main2a {
  padding: 7vw 0 0 6vw;
}
.slogan_ttl_main2b {
  font-size: 2.5vw;
  font-weight: 800;
  background: linear-gradient(90deg,#183880 0%,#183880 40%,#1d2e59 80%);
    background-clip: border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: absolute;
	top: -5vw;
}
.slogan_txt1_en2 {
	position: absolute;
	left: 0;
	top: -42.5vw;
	font-size: 2.2vw;
	letter-spacing: .15vw;
    padding-left: 2vw;
}
.ttl_bdr_line2::before {
content: "";
  display: block;
  width: calc(100% + 6.5vw);
  height: 1px;
  position: absolute;
  bottom: -.5vw;
  left: -6.5vw;
  background-color: #444446;
  animation: border_anim .6s linear forwards;
}
.slogan_movie{
	/*padding: 10vw 0vw 0vw;
    position: relative;
    right: -6.5vw;*/
	padding: 0 8vw 1vw;
    position: relative;
    top: -12.5vw;
    margin-bottom: -13vw;
}
.slogan_movie_area{
	padding-top: 7vw;
}
.slogan_list_mv2{
	padding: 6vw 5vw 1vw;
}
	.category_lists {
		display: none;
	}

	.company {
		padding-top: 35vw;
		padding-bottom: 0;
	}

	.slogan {
		position: relative;
		padding-bottom:24vw;
	}
	.slogan::before {
		content: "";
		display: block;
		width: 61vw;
		height: 13vw;
		/* background: url(img/company/slogan_en_pc.png) no-repeat left top; */
		background-size: contain;
		position: absolute;
		right: 0;
		top: -8.8vw;
	}
	.slogan_ttl {
		width: 100%;
		position: absolute;
		z-index: 1;
		top: -76.5vw;
	}

	.slogan_contents {
		position: absolute;
		left: 18vw;
		top: -44vw;
	}
	.slogan_contents p {
		font-size: 4.7vw;
		line-height: 1.7;
		letter-spacing: 0.3vw;
	}
	.slogan_txt {
		margin-bottom: 20vw;
	}
	.slogan_txt1_en {
		top: -87.5vw;
	}
	.slogan_txt2_en {
/*		left: 1vw; */
		left: -3vw;
		top: -26vw;
	    font-size: 1.75vw;
    	letter-spacing: .3vw;
	    padding-left: 0.5vw;
    	border-left: 1px solid #000000bf;
		z-index: 2;
	}
	.slogan_wrap {
		margin-left: 6.25vw;
		margin-right: 6.25vw;
		position: relative;
		top: 0vw;
		margin-bottom: 0vw;
	}
	.slogan_contents_wrap {
		display: block;
	}
	.slogan_lists_wrap {
		padding-left: 1.25vw;
    	padding-right: 1.25vw;
	}
	.slogan_lists_wrap::before {
		background: url(img/company/slogan_bg_sp.jpg) repeat-y left top;
		background-size: cover;
    width: 100%;
    height: 100%;
    left: 0px !important;
    bottom: 0px !important;
	}
	.slogan_lists {
		display: block;
		padding: 12vw 6vw 14vw;
		margin: 0vw 0vw;
	}
	.slogan_list {
		width: 100%;
    text-align: center;
    margin-bottom: 12.5vw;
    border: none;
	}
	.slogan_list:nth-last-child(2) {
		margin-bottom: 12.5vw;
	}
	.slogan_list_ttl {
		font-size: 2.6vw;
    color: #444446;
    margin-bottom: 3.5vw;
    float: none;
    width: 100%;
    text-align: center;
    border-right: 0px !important;
    border-bottom: 1px solid #444446;
    padding-bottom: 1.5vw;
    margin-right: 0vw !important;
	}
	.slogan_list_txt {
		font-size: 4.5vw;
  letter-spacing: 0.3vw;
  line-height: 1.6;
  color: #444446;
	}

	.mission {
		padding-top: 53vw;
	}
	.mission::before {
		content: "";
		display: block;
		width: 100vw;
		height: 60vw;
		background: url(img/company/mission_en_sp.png) no-repeat left top;
		background-size: contain;
		position: absolute;
		left: 0;
		top: 14vw;
	}
	.mission_ttl {
		writing-mode: initial;
		margin-left: 16.25vw;
		margin-bottom: 7.5vw;
		font-size: 6vw;
		line-height: 1.8;
		top: 2vw;
	}
	.mission_contents {
		margin-left: 16.25vw;
		margin-right: 16.25vw;
	}
	.mission_tag {
		position: absolute;
    left: -9.5vw;
    top: -51.5vw;
    font-size: 2.6vw;
    letter-spacing: 0.4vw;
	}
.ttl_bdr_line::before {
  content: "";
  display: block;
  width: calc(100% + 7vw);
  height: 1px;
  position: absolute;
  bottom: -1.0vw;
  left: -7vw;
  background-color: #444446;
  animation: border_anim .6s linear forwards;
}
.ttl_bdr_line_r::before {
  content: "";
  display: block;
  width: calc(100% + 7vw);
  height: 1px;
  position: absolute;
  bottom: 29.5vw;
  left: -7vw;
  background-color: #444446;
  animation: border_anim .6s linear forwards;
}
	.mission_contents p {
		font-size: 3vw;
		line-height: 6vw;
		margin-left: 0vw;
	}
	.mission_contents p:not(:last-of-type) {
		margin-bottom: 0;
	}

	.values {
		padding-top: 55vw;
	}
	.values::before {
		content: "";
		display: block;
		width: 100vw;
		height: 60vw;
		background: url(img/company/values_en_sp.png) no-repeat left top;
		background-size: contain;
		position: absolute;
		left: 0vw;
		top: 14vw;
	}
	.values_wrap {
		position: initial;
		margin-left: 16.25vw;
	}
	.values_tag {
		position: absolute;
		left: 7vw;
		top: 55vw;
		font-size: inherit;
	}
	.values_ttl h4 {
		margin-left: 0;
		font-size: 6.25vw;
		margin-bottom: 9vw;
	}
	.values_contents {
		margin-right: 16.25vw;
	}
	.values_contents p {
		font-size: 3vw;
    	line-height: 6vw;
	}
	.values_contents p:not(:last-of-type) {
		margin-bottom: 0;
	}
	
	
	.vision {
		padding-top: 54vw;
	}
	.vision::before {
		content: "";
		display: block;
		width: 100vw;
		height: 60vw;
		background: url(img/company/vision_en_sp.png) no-repeat left top;
		background-size: contain;
		position: absolute;
		left: 0vw;
		top: 14vw;
	}
	.vision_wrap {
		position: initial;
		margin-left: 16.25vw;
	}
	.vision_tag {
		position: absolute;
    left: -9.5vw;
    top: -10.5vw;
    font-size: 2.6vw;
    letter-spacing: .4vw;
    bottom: 0vw;
	}
	.vision_ttl{
		display: flex;
		align-items: flex-end;
		position: relative;
		left: 0;
		text-align: left;
		top: 0vw;		
	}
	.vision_ttl h4 {
		margin-left: 0;
		font-size: 6.25vw;
		margin-bottom: 0vw;
		text-align: left;
	}
	.vision_contents {
		margin-right: 16.25vw !important;
		position: relative;
		top: 5vw;
		left: 0vw;
	}
	.vision_contents p {
		font-size: 3vw;
    	line-height: 6vw;
		text-align: left;
	}
	.vision_contents p:not(:last-of-type) {
		margin-bottom: 0;
	}

	.photo {
		padding-top: 23vw;
	}
	.photo_list img {
		height: 36vw;
		width: auto;
	}

	.personal {
		position: relative;
		padding-top: 58vw;
	}
	.personal_txt2_en {
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		display: block;

		background: url(img/company/personal_en_sp.png) no-repeat left top;
		background-size: cover;
		width: 24vw;
		height: 44vw;

		position: absolute;
		top: 5vw;
		left: initial;
		right: 5vw;
	}
	.personal_wrap {
		position: initial;
		margin-left: 5vw;
		margin-right: 0;
	}
	.personal_ttl {
		font-size: 8vw;
		margin-left: 0;
		margin-bottom: 5vw;
	}
	.personal_txt1_ja {
		font-size: 3vw;
		margin-left: 0;
	}
	.personal_txt1_en {
		position: absolute;
		left: 7vw;
		top: 43vw;
	}
	.personal_contents {
		padding-top: 15vw;
	}

	.vision_ja {
		padding: 1vw 4vw 1vw 4vw;
		font-size: 2.5vw;
		margin-bottom: 0.5vw;
		width: 25vw;
	}
	.vision_ja::before {
		width: 100vw;
		position: absolute;
		bottom: 0.5vw;
		left: inherit;
	}
	.vision_list:nth-child(odd) .vision_ja {
		border-left: 1vw solid #B0D3D7;
	}
	.vision_list:nth-child(even) .vision_ja {
		border-left: 1vw solid #DDB0D2;
	}
	.vision_en {
		font-size: 7.5vw;
		width: 28vw;
	}
	.vision_ja_txt {
		margin-left: 28vw;
		font-size: 3.5vw;
		line-height: 5vw;
	}
	.vision_list:not(:last-child) {
		margin-bottom: 9vw;
	}
	.vision_list:last-child {
		margin-bottom: 0;
	}

	.links {
		padding-top: 35vw;
	}
	.links_contents {
		margin-left: 0;
		margin-right: 0;
	}
	.links_lists {
		display: block;
	}
	.links_list {
		width: 100vw;
	}
	.links_list_ttl {
		font-size: 4vw;
	}
}