@charset "utf-8";
/*
Theme Name: bstylegroup
Description:
Version: 1.0
*/

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Hind:wght@300;400;500;600;700&family=Noto+Sans+JP:wght@100..900&display=swap');
@import "css/reset.css";

/* base
================================================== */
:root {
	--white     : #ffffff;
	--black     : #353431;
	--red       : #e7350d;
	--lightgray : #e4e4e3;
	--mediumgray: #a3aaaf;
	--gray      : #707070;
	--darkgray  : #423f3c;
	--deepgray  : #363431;
	--fontSize10: .625rem;
	--fontSize11: .6875rem;
	--fontSize12: .75rem;
	--fontSize13: .8125rem;
	--fontSize14: .875rem;
	--fontSize15: .9375rem;
	--fontSize16: 1.0rem;
	--fontSize18: 1.125rem;
	--fontSize20: 1.25rem;
	--fontSize21: 1.3125rem;
	--fontSize22: 1.375rem;
	--fontSize23: 1.4375rem;
	--fontSize24: 1.5rem;
	--fontSize26: 1.625rem;
	--fontSize28: 1.75rem;
	--fontSize30: 1.875rem;
	--fontSize32: 2.0rem;
	--fontSize34: 2.125rem;
	--fontSize36: 2.25rem;
	--fontSize38: 2.375rem;
	--fontSize40: 2.5rem;
	--fontSize42: 2.625rem;
	--fontSize44: 2.75rem;
	--fontSize46: 2.5rem;
	--fontSize48: 2.875rem;
	--fontSize50: 3.125rem;
	--fontSize52: 3.25rem;
	--fontSize54: 3.375rem;
	--fontSize56: 3.5rem;
	--fontSize58: 3.625rem;
	--fontSize60: 3.75rem;
	--fontSize62: 3.875rem;
	--fontSize64: 4.0rem;
	--fontSize88: 5.5rem;
}

body {
	background-color: var(--white);
	color: var(--black);
	font-size: var(--fontSize16);
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	line-height: 1.5;
	overflow-x: hidden;
	position: relative;
}

:focus-visible {
	outline: 2px solid var(--red);
}

a,
button {
	transition: color .3s ease, background .3s ease;
}

img,
svg {
	max-width: 100%;
	height: auto;
	image-rendering: -webkit-optimize-contrast;
}

.srOnly {
	position: absolute;
	overflow: hidden;
	width: 0;
	height: 0;
}

@media screen and (min-width: 769px) {
	.sp {
		display: none !important;
	}

	.br_pc {
    display: inline;
  }

  .br_sp {
    display: none;
  }
}

@media screen and (max-width: 768px) {
	.pc {
		display: none !important;
	}

	.br_pc {
    display: none;
  }

  .br_sp {
    display: inline;
  }
}

@media screen and (min-width: 1121px) {
	.navi_sp {
		display: none !important;
	}
}

@media screen and (max-width: 1120px) {
	.navi_pc {
		display: none !important;
	}
}


.en {
	font-family: 'Hind', sans-serif;
}

.external {
	margin-left: .375em;
	vertical-align: baseline;
}

.oswald {
	font-family: "Oswald", serif;
	font-weight: 500;
	color: var(--red);
}

.srOnly {
	position: absolute;
	overflow: hidden;
	width: 0;
	height: 0;
}

/* parts
================================================== */
.wpcf7cp-btns button,
.more-btn {
	min-width: 180px;
	min-height: 64px;
	padding: 12px 48px 12px 16px;
	border: 1px solid var(--mediumgray);
	border-radius: 8px;
	display: flex;
	align-items: center;
	position: relative;
	overflow: hidden;
	transition: .7s;
	z-index: 0;
}

.contents-inner .btn {
	max-width: 340px;
  margin: 0 auto 40px;;
}

.contents-inner .btn a:hover {
	color: var(--white);
}

.contents-inner .more-btn {
	color: var(--black);
	text-decoration: none;
}

.wpcf7cp-btns button::before,
.more-btn::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 28px;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	background-color: var(--red);
	z-index: 1;
}

.wpcf7cp-btns button::after,
.more-btn::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 28px;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	background-color: var(--darkgray);
	z-index: -1;
}

.wpcf7cp-btns button:hover,
.more-btn:hover {
	color: var(--white);
}

.wpcf7cp-btns button:hover:after,
.more-btn:hover:after {
	animation: expandAnime .3s .1s forwards 1 ease-in;
}

@keyframes expandAnime {
  0% {
		transform: scale(0);
  }
  100% {
		transform: scale(80, 80);
  }
}

@media screen and (max-width: 768px) {
	.more-btn {
		max-width: 340px;
		margin: 0 auto;
	}
}

/* layout
================================================== */
main {
	position: relative;
	z-index: 0;
}

#home main {
	padding-top: 110.5px;
}

main,
.inner {
	max-width: 1240px;
	margin: 0 auto;
}

@media screen and (max-width: 1304px) {
	main,
	.inner {
		margin: 0 32px;
	}
}

@media screen and (max-width: 768px) {
	main,
	.inner {
		margin: 0 16px;
	}
}

.wide {
	margin-right: calc(-50vw - -50%);
	margin-left: calc(-50vw - -50%);
	padding-right: calc(50vw - 50%);
	padding-left: calc(50vw - 50%);
}

body:not(#home) .main-inner {
	margin-top: -174px;
	margin-left: calc(-50vw - -50%);
	padding-left: calc(50vw - 50%);
	max-width: calc(1240px + (50vw - 50%));
	border-top-right-radius: 40px;
	background-color: var(--white);
}

@media screen and (max-width: 768px) {
	body:not(#home) .main-inner {
		margin-top: -110px;
	}
}

.contents-inner {
	max-width: 1028px;
	margin: 0 auto;
	padding-top: 80px;
	padding-bottom: 96px;
}

#opinion .contents-inner,
#media .contents-inner,
#contact .contents-inner,
#faq .contents-inner,
#policy .contents-inner,
#sitemap .contents-inner,
#business .contents-inner,
#news .contents-inner {
	padding-bottom: 96px;
}

@media screen and (max-width: 768px) {
	.contents-inner {
		padding-top: 64px;
	}
}


/* header
================================================== */
body:not(#home) #main-header {
	background: url('images/bg_header.svg') no-repeat 50% 50% / cover;
}

@media screen and (max-width: 768px) {
	body:not(#home) #main-header {
		background-position: 40% 30%;
		background-size: 150% auto;
	}
}

@media screen and (max-width: 1024px) {
	body.menuOpen #main-header {
		background-color: var(--deepgray);
		position: relative;
	  z-index: 1;
	}
}


/* common header
-------------------------------------------------- */
.fixed-header {
	position: fixed;
  width: 100%;
	z-index: 100;
}

.common-header {
	padding: 32px 0 16px;
	position: relative;
	z-index: 100;
}

.fixed .common-header {
	padding: 14px 0;
  background: var(--white);
}
.common-header .inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	column-gap: 50px;
}

.common-header .logo {
	min-width: 156px;
	animation: fadeInAnime 2s ease .3s 1 normal forwards;
	transition: .3s;
}

.fixed .common-header .logo {
	max-width: 200px;
}

.common-header img.sp_open {
	display: none;
}

@media screen and (min-width: 1001px) {
	#menuBtn {
		display: none;
	}

	#global-nav {
		display: block !important;
		font-size: var(--fontSize18);
		font-weight: 500;
		animation: fadeInAnime 2s ease .3s 1 normal forwards;
	}

	#global-nav > ul {
		display: flex;
		column-gap: 50px;
	}

	#global-nav ul li a {
	  display: block;
		text-decoration: none;
		overflow: hidden;
	}

	#global-nav ul li .ja {
		font-size: var(--fontSize16);
	}

	#global-nav ul li .hover_action {
		display: flex;
	  flex-direction: column;
		height: 1em;
		line-height: 1;
		align-items: center;
	  overflow: hidden;
	}

	#global-nav ul li:has(ul) .hover_action {
		position: relative;
		padding-right: 14px;
	}

	#global-nav ul li:has(ul) .hover_action:after {
		position: absolute;
		content: "";
		width: 6px;
	  height: 4px;
	  border-top: 5px solid var(--black);
	  border-left: 5px solid transparent;
	  border-right: 5px solid transparent;
	  top: 42%;
	  right: 0;
	}

	#global-nav ul li .hover_action > span {
		transform: translateY(0);
		transition: transform .2s ease;
		white-space: nowrap;
	}

	#global-nav ul li:hover .hover_action .en {
		transform: translateY(-1em);
	}

	#global-nav ul li:hover .hover_action .ja {
		transform: translateY(calc(-1.125em - 1px));
	}

	#global-nav ul li:has(ul) {
		margin-bottom: -16px;
		padding-bottom: 26px;
		position: relative;
	}

	#global-nav ul li:has(ul):hover::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: -20px;
		width: calc(100% + 40px);
		height: 8px;
		border-radius: 8px 8px 0 0;
		background-color: var(--red);
	}

	#global-nav li ul {
		display: block !important;
	  position: absolute;
		z-index: 99;
		top: 100%;
		left: -20px;
		width: calc(100% + 40px);
		font-size: var(--fontSize14);
		opacity: 0;
		transform: scaleY(0);
		transform-origin: center top;
		transition: all .3s ease;
	}

	#global-nav li.ir ul {
		left: auto;
		right: -20px;
		width: calc(240% + 100px);
		columns: 2;
		column-gap: 0;
	}

	#global-nav ul li:hover ul {
		padding-top: 16px;
		opacity: 1;
		transform: scaleY(1);
	}

	#global-nav ul li:hover ul::before {
		content: '';
		position: absolute;
		top: 16px;
		left: 0;
		width: 100%;
		height: calc(100% - 16px);
		border-radius: 8px;
		background-color: var(--white);
		box-shadow: 0 0 8px rgba(0,0,0,.16);
		z-index: -1;
	}

	#global-nav li ul li:first-child,
	#global-nav li.ir ul li:nth-child(6) {
		padding-top: 8px;
	}

	#global-nav li ul li:last-child,
	#global-nav li.ir ul li:nth-child(5) {
		padding-bottom: 8px;
	}

	#global-nav li ul li:not(:last-child) {
		border-bottom: 1px solid var(--lightgray);
	}

	#global-nav li.ir ul li:nth-child(5) {
		border-bottom: 0;
	}

	#global-nav li.ir ul li:nth-child(-n+5) {
		border-right: 1px solid var(--lightgray);
	}

	#global-nav li ul li a {
	  padding: 16px 8px 16px 24px;
		line-height: 1;
	}

	#global-nav li ul li a:hover {
		background-color: rgba(163,170,175,.15);
	}

	body::after {
		content: '';
		position: absolute;
		top: 110px;
		left: 0;
		width: 100%;
		height: calc(100vh - 110px);
		background-color: transparent;
		z-index: -1;
		transition: all .3s ease;
	}

	body.submenu_open::after {
		background-color: rgba(0,0,0,.25);
		z-index: 10;
		height: 100%;
	}

	@media screen and (max-width: 1080px) {
		.common-header .inner,
		#global-nav > ul {
			column-gap: 32px;
		}
		}
}

@media screen and (max-width: 1000px) {
	.common-header {
	  padding: 16px 0;
	}

	.common-header .inner {
		align-items: center;
	}

	.common-header .logo {
		width: 156px;
  	height: auto;
	}

	#menuBtn {
		display: block;
		width: 120px;
		height: 40px;
		position: relative;
	}

	#menuBtn button {
		width: 100%;
		height: 100%;
		vertical-align: middle;
		position: relative;
		border-radius: 4px;
		background: var(--deepgray);
		border: 1px solid var(--gray);
		color: var(--white);
	}

	#menuBtn button::before {
		content: '';
		position: absolute;
		top: 50%;
		right: 18px;
		transform: translateY(-50%);
		width: 6px;
		height: 6px;
		background-color: var(--red);
	}

	#menuBtn button span {
		position: relative;
		padding: 5px 12px;
		font-size: var(--fontSize14);
		font-weight: 400;
		line-height: 1;
		white-space: nowrap;
		text-transform: capitalize;
		transition: .2s;
	}

	#menuBtn span.menu_close {
		display: none;
	}

	body.menuOpen .common-header img.sp_open,
	body.menuOpen #menuBtn span.menu_close {
		display: block;
	}

	body.menuOpen .common-header img.sp_close,
	body.menuOpen #menuBtn span.menu_open {
		display: none;
	}

	body.menuOpen .common-header {
		background-color: var(--black);
	}

	#global-nav {
		position: absolute;
		top: 72px;
		left: 0;
		width: 100%;
		height: calc(100dvh - 72px);
		overflow-y: auto;
		overflow-x: hidden;
		padding: 0 20px;
		border-top: 1px solid var(--gray);
		background-color: var(--deepgray);
		color: var(--white);
		z-index: 99;
		animation: none;
		display: none;
	}

	.fixed #global-nav {
		top: 68px;
		height: calc(100dvh - 56px);
	}

	#global-nav > ul > li {
		margin-top: 32px;
	}

	#global-nav a {
		display: block;
		position: relative;
	}

	#global-nav .en {
		display: inline-block;
		width: 8em;
		max-width: 100%;
		font-size: var(--fontSize18);
		line-height: 1.4;
	}

	#global-nav .ja {
		display: inline-block;
		margin-bottom: 0;
		color: rgba(255,255,255,.35);
		font-size: var(--fontSize11);
	}

	#global-nav ul li ul {
		margin-top: 16px;
		display: none;
	}

	#global-nav ul li ul li:not(:last-child) {
		margin-bottom: 2px;
	}

	#global-nav ul li ul li a {
		display: block;
		padding: 8px 16px 8px 24px;
		background-color: rgba(163,170,175,.2);
		font-size: var(--fontSize11);
		position: relative;
	}

	#global-nav ul li ul li a:before {
		position: absolute;
		content: "";
		top: 50%;
		left: 16px;
		width: 4px;
		height: 1px;
		background: var(--white);
	}

	#global-nav .toggle {
		display: block;
		position: relative;
	}

	#global-nav .toggle:after {
		position: absolute;
		content: "";
		width: 6px;
		height: 4px;
		border-top: 5px solid var(--white);
		border-left: 5px solid transparent;
		border-right: 5px solid transparent;
		top: 42%;
		right: 0;
	}

	#global-nav .toggle.is_navOpen:after {
		transform: rotate(180deg);
	}

	#global-nav .external {
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
	}

	body.menuOpen {
		overflow: hidden;
	}
}


/* page header
-------------------------------------------------- */
.page-header {
	padding: 12px 0 242px;
	padding-top: calc(110.5px + 12px);
}

.breadcrumb ol {
display: flex;
	flex-wrap: wrap;
	font-size: var(--fontSize14);
}

.breadcrumb li:not(:first-child) {
	margin-left: .75em;
	padding-left: 1em;
	background: url('images/ico_path.svg') no-repeat 0 .45em;
}

#person .breadcrumb li:last-child,
#business .breadcrumb li:last-child,
#history .breadcrumb li:last-child,
#company .breadcrumb li:last-child,
#message .breadcrumb li:last-child,
#philosophy .breadcrumb li:last-child,
#vision .breadcrumb li:last-child {
	background: url('images/ico_path_line.svg') no-repeat 0 0.35em / .18em;
}

.page-header h1 {
	margin-top: 44px;
	font-size: var(--fontSize50);
	font-weight: 600;
}

.page-header h1 .en {
	display: block;
	margin-top: 16px;
	padding-left: 32px;
	font-size: var(--fontSize22);
	font-weight: 400;
	position: relative;
}

#home h2 .en:before,
.page-header h1 .en::before {
	content: '';
	position: absolute;
	top: calc(50% - 4px);
	left: 0;
	width: 24px;
	height: 0;
	border-top: 4px solid var(--red);
}

@media screen and (min-width:769px) and ( max-width:1000px) {
	.page-header {
		padding-top: calc(110.5px + 12px - 50px);
	}
}

@media screen and (max-width: 768px) {
	.page-header {
		padding: 6px 0 148px;
	}

	.breadcrumb {
		padding-top: 72px;
	}

	.breadcrumb ol {
		font-size: var(--fontSize10);
	}

	.page-header h1 {
		margin-top: 28px;
		min-height: 4.05em;
		display: flex;
		flex-direction: column;
		justify-content: center;
		font-size: var(--fontSize24);
	}

	.page-header h1 .en {
		margin-top: 4px;
		padding-left: 22px;
		font-size: var(--fontSize14);
	}

	#home h2 .en:before,
	.page-header h1 .en::before {
		top: calc(50% - 2px);
		width: 14px;
		border-top-width: 2px;
	}
}



/* local nav
================================================== */
.local-nav.top {
	margin-right: 0;
	padding-right: 0;
	padding-top: 6px;
	border-bottom: 1px solid var(--lightgray);
}

.local-nav.bottom {
	margin-bottom: 90px;
	padding-bottom: 6px;
	border-top: 1px solid var(--lightgray);
}

.local-nav {
	overflow-x: auto;
}

.local-nav ul {
	display: flex;
	column-gap: 74px;
	font-weight: 600;
	white-space: nowrap;
}

.local-nav li:has(a[href*="/ir/ircontact"]),
.local-nav li:has(a[href*="/publicnotice"]),
.local-nav li:has(a[href*="/3minutes"]),
.local-nav li:has(a[href*="/disclaimer"]),
.local-nav li:has(a[href*="/faq"]),
.local-nav li:has(a[href*="/shareholderreturns"]),
.local-nav li:has(a[href*="/meeting"]),
.local-nav ul.children {
	display: none;
}

.local-nav ul li:last-child {
	padding-right: 32px;
}

.local-nav li a {
	display: inline-block;
	padding: 24px 0;
	position: relative;
}

.local-nav li a::before {
	content: '';
	position: absolute;
	width: 0;
	border-top: 5px solid var(--red);
	transition: width .3s ease;
}

.local-nav.top li a:before {
	bottom: 0;
}

.local-nav.bottom li a::before {
	top: 0;
}

#meeting .local-nav li a[href*="/ir/stock/"]::before,
#shareholderreturns .local-nav li a[href*="/ir/stock/"]::before,
#news.info .local-nav li a[href*="info"]::before,
#news.media .local-nav li a[href*="media"]::before,
#news.press .local-nav li a[href*="press"]::before,
#news.report .local-nav li a[href*="report"]::before,
#news.all .local-nav li:first-child a::before,
.local-nav li a:hover::before,
.local-nav li.current_page_ancestor a::before,
.local-nav li.current_page_parent a::before,
.local-nav li.current_page_item a::before {
	width: 100%;
}

.next-page {
	margin: 120px 0 40px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.next-page dt {
	font-size: var(--fontSize18);
	font-weight: 500;
	text-transform: uppercase;
}

.next-page dd {
	font-size: var(--fontSize30);
	font-weight: 600;
}

.next-page dd .en {
	margin-left: 24px;
	padding-left: 32px;
	font-size: var(--fontSize20);
	font-weight: 400;
	position: relative;
}

.next-page dd .en::before {
	content: '';
	position: absolute;
	top: calc(50% - 3px);
	left: 0;
	width: 24px;
	height: 0;
	border-top: 3px solid var(--red);
}

.next-page dd .nextHide { /* カスタムフィールドNEXTにて使用.nextHide */
	display: none;
}

#news .next-page dd .en {
	text-transform: capitalize;
}

@media screen and (max-width: 768px) {
	.local-nav ul {
		column-gap: 32px;
		font-size: var(--fontSize12);
	}

	.local-nav ul li:last-child {
		padding-right: 16px;
	}

	.local-nav li a {
		padding: 16px 0;
	}

	.next-page {
		display: block;
		margin: 80px 0 20px;
	}

	.next-page dt {
		font-size: var(--fontSize14);
	}

	.next-page dd {
		margin-bottom: 12px;
		font-size: var(--fontSize24);
	}

	.next-page dd .en {
		display: block;
		margin-left: 0;
		padding-left: 22px;
		font-size: var(--fontSize14);
	}

	.next-page dd .en::before {
		top: calc(50% - 2px);
		width: 14px;
		border-top-width: 2px;
	}
}

/* news list
-------------------------------------------------- */
.news_list li {
	margin-bottom: 24px;
}

.news_list li:last-child {
	margin-bottom: 0;
}

.news_list li img {
	width: 180px;
	border-radius: 8px;
	height: 111px;
  object-fit: contain;
}

.news_list li .txt_contents {
	display: flex;
	flex-wrap: wrap;
}

.news_list li .date {
	font-size: var(--fontSize18);
	font-weight: 400;
}

.news_list li .cat {
	position: relative;
	display: inline-block;
	margin-left: 1.25em;
	padding: 2px 12px;
	border: 1px solid var(--mediumgray);
	border-radius: 22px;
	font-size: var(--fontSize12);
	font-weight: 400;
	z-index: 1;
}

.news_list li .title {
	margin-top: 12px;
	flex-basis: 100%;
	font-size: var(--fontSize18);
}

.news_list li a {
	display: flex;
  align-items: center;
  column-gap: 32px;
	text-decoration: none;
	color: inherit;
	transition: opacity .3s;
}

.news_list li a:hover {
	opacity: .7;
}

.news_list.fadeIn {
	animation: fadeUp 2.4s ease .6s 1 normal forwards;
}

@media screen and (max-width: 768px) {
	.news_list li {
	  margin-bottom: 32px;
	}
	.news_list li a {
		column-gap: 8px;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.news_list li img {
		order: 1;
		max-width: 40%;
    min-width: 124px;
		height: 45px;
	}

	.news_list li .txt_contents {
		display: contents;
	}

	.news_list li .txt_contents .meta {
		order: 2;
		display: flex;
		flex-direction: row;
		min-width: 8em;
		align-items: center;
	}

	.news_list li .title {
		order: 3;
		margin-top: 4px;
	}

	.news_list li .date {
		margin-bottom: 0;
		margin-right: 1em;
		font-size: var(--fontSize16);
	}

	.news_list li .cat {
		margin-left: 0;
		padding: 1px 10px 2px;
    margin-bottom: 3px;
		font-size: var(--fontSize10);
	}
}


/* Parts Select
-------------------------------------------------- */
.news-select {
  max-width: 180px;
  margin: 64px 0 32px;
  border-radius: 4px;
  background: #FFF;
	border: 1px solid #cccfd2;
}

.news-select select {
  border-radius: 4px;
  position: relative;
  width: 100%;
  padding: 12px 50px 12px 16px;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url('./images/ico_arrow_u.svg') no-repeat;
  background-size: 12px 8px;
  background-position: calc(100% - 28px) center;
	font-size: var(--fontSize14);
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  .news-select {
    margin-top: 40px;
  }
}


/* contents Inner
================================================== */
.contents-inner p {
  margin-bottom: 16px;
}

.contents-inner a {
  color: var(--red);
  text-decoration: underline;
	word-break: break-all;
}

#ir-top .ir-menu a:hover,
#ir-top .news-list a:hover,
.contents-inner a:hover {
  color: #919191;
  text-decoration: none;
}

.post_single .contents-inner h2,
.contents-inner .heading02 {
	position: relative;
	margin: 80px 0 32px;
	padding: 0 16px 0 24px;
	font-size: var(--fontSize30);
  font-weight: 600;
}

.post_single .contents-inner h2::before,
.contents-inner .heading02::before {
	content: '';
	position: absolute;
	top: .65em;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(images/ico_head02.svg) no-repeat left top / 8px;
}

.contents-inner div.fadeIn_item:first-of-type > h2 {
	margin-top: 0;
}

.post_single .contents-inner .articleHeader h2,
.contents-inner .articleHeader .heading02 {
	margin-top: 0;
}

.post_single .contents-inner h3,
.contents-inner .heading03 {
	margin: 32px 0 16px;
	padding: 0;
	color: var(--red);
	font-size: var(--fontSize24);
	font-weight: 500;
}

.post_single .contents-inner h4,
.contents-inner .heading04 {
	position: relative;
	margin: 24px 0 8px;
	padding: 0 0 0 1.25em;
	font-size: var(--fontSize16);
	font-weight: 600;
}

.post_single .contents-inner h4::before,
.contents-inner .heading04::before {
	content: '';
	position: absolute;
	top: .75em;
	left: 0;
	width: .75em;
	height: 2px;
	background-color: var(--black);
}

.post_single .contents-inner .td_photo {
	width: 20%;
}

.post_single .contents-inner table:has(.td_photo) tr,
.post_single .contents-inner table:has(.td_photo) td {
	border: 0;
}

@media screen and (max-width: 768px) {
	.post_single .contents-inner .td_photo {
		width: 30%;
	}
}

.post_single .contents-inner {

}

#company .contents-inner .heading04 {
	padding: 0;
}

#company .contents-inner .heading04::before {
	content: none;
}

.contents-inner figure img {
	border-radius: 8px;
}

.contents-inner .col2blk {
	display: flex;
	column-gap: 32px;
	margin-bottom: 24px;
}

.contents-inner .col2blk p,
.contents-inner .col2blk figure {
	flex-basis: calc(100% - 32px);
}

.contents-inner .col2img {
	display: flex;
	justify-content: center;
	column-gap: 80px;
	margin-bottom: 24px;
}

.contents-inner .col2img .col2img_box {
	display: flex;
	flex-direction: column;
	max-width: 315px;
	text-align: center;
}

.contents-inner .col2img .col2img_box figure {
	margin-bottom: 16px;
}

.contents-inner .col3wap {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	column-gap: 20px;
	margin-bottom: 32px;
}

.contents-inner .col3blk {
	width: 30%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 32px;
}

.contents-inner .col3blk figure {
	margin: 0 0 16px 0;
}

.contents-inner .col3blk figure img {
	width: 120px;
	height: 170px;
	object-fit: cover;
}

.contents-inner .col3blk .col3blk_box {
	width: calc(100% - 120px - 16px);
	display: flex;
	flex-direction: column;
}

.contents-inner .col3blk_box p,
.contents-inner .col3blk_box h4 {
	margin: 0 0 8px;
	font-size: var(--fontSize18);
}

.contents-inner .text_img_box {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 32px;
	padding: 20px 24px;
	border-top: 1px solid #c3c3c3;
	border-bottom: 1px solid #c3c3c3;
}

.contents-inner .text_img_box .text_box {
	width: calc(100% - 170px - 24px);
}

.contents-inner .text_img_box .text_box h3 {
	margin: 0 0 8px;
}

.contents-inner .text_img_box .text_box h3 a {
	text-decoration: none;
}

.contents-inner .text_img_box .text_box h3 a img.external {
	width: 18px;
	height: 13.5px;
}

.contents-inner .text_img_box .text_box .text_box_wrap {
	display: flex;
	margin-bottom: 10px;
}

.contents-inner .text_img_box .text_box .text_box_wrap p {
	margin-bottom: 0;
}

.contents-inner .text_img_box .text_box .text_box_wrap .title {
	width: 8em;
	font-size: var(--fontSize12);
}

.contents-inner .text_img_box .text_box .text_box_wrap .text {
	width: calc(100% - 8em - 16px);
	font-size: var(--fontSize14);
}

.contents-inner .text_img_box figure {
	margin-left: 24px;
}

.contents-inner .text_img_box figure img {
	width: 170px;
	height: 120px;
	object-fit: cover;
}

.contents-inner .heading_oswald {
	font-size: var(--fontSize50);
}

.contents-inner .postMeta {
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 2px solid var(--mediumgray);
	color: var(--darkgray);
	font-size: var(--fontSize14);
}

.contents-inner .subWord {
	display: block;
	margin-bottom: 72px;
	font-size: var(--fontSize18);
}

#three .fontsize14,
.contents-inner .fontsize14 p,
.contents-inner .fontsize14 {
  font-size: var(--fontSize14);
}

.contents-inner .fontsize16 p,
.contents-inner .fontsize16 {
  font-size: var(--fontSize16);
}

.contents-inner .fontsize18 p,
.contents-inner .fontsize18 {
  font-size: var(--fontSize18);
}

#three .fontsize20,
.contents-inner .fontsize20 p,
.contents-inner .fontsize20 {
  font-size: var(--fontSize20);
}

.contents-inner .fontsize21 p,
.contents-inner .fontsize21 {
  font-size: var(--fontSize21);
}

.contents-inner .fontsize22 p,
.contents-inner .fontsize22 {
  font-size: var(--fontSize22);
}

.contents-inner .fontsize23 p,
.contents-inner .fontsize23 {
  font-size: var(--fontSize23);
}

.contents-inner .fontsize24 p,
.contents-inner .fontsize24 {
  font-size: var(--fontSize24);
}

#three .fontsize28,
.contents-inner .fontsize28 p,
.contents-inner .fontsize28 {
  font-size: var(--fontSize28);
}

#three .color_red,
.contents-inner .color_red {
	color: var(--red);
}

.contents-inner .notice-text {
  max-width: 800px;
  margin: 64px auto 0;
}

.contents-inner .block {
  display: block;
}

.contents-inner .backto-btn {
  display: flex;
  justify-content: center;
  margin-top: 80px;
}

.contents-inner .backto-btn a {
	color: var(--black);
	text-decoration: none;
}

.contents-inner .backto-btn a:hover {
	color: var(--white);
}

.contents-inner .faq-wrap .time {
  padding-left: 1em;
}

.contents-inner p.file-link {
  margin: 16px 0;
}

.contents-inner p.file-link a {
	text-decoration: none;
}

#three .aligncenter,
.contents-inner .aligncenter {
	text-align: center;
}

.contents-inner .alignleft {
	text-align: left;
}

.contents-inner .alignright {
	text-align: right;
}

.contents-inner .signature {
	margin-top: -20px;
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	column-gap: 16px;
	text-align: center;
}

.contents-inner .signature figure {
	display: flex;
  flex-direction: column;
	align-items: flex-start;
  flex-basis: 44%;
}

.contents-inner .signature figure.sign02 {
  flex-basis: 56%;
}

.contents-inner .signature figure.sign01 img {
	margin-top: 12px;
	height: 65px;
	width: auto;
}

.contents-inner .signature figure.sign02 img {
	margin-top: 4px;
	height: 75px;
	width: auto;
}

.contents-inner .grid2fr {
	display: grid;
	width: 100%;
	grid-template-columns: 1fr 1fr;
}

.contents-inner .flxbox2col {
	display: flex;
	align-items: center;
	column-gap: 7%;
}

.contents-inner .flxbox2col .imgcol {
	width: 48%;
}

.contents-inner .flxbox2col .txtcol {
	width: 45%;
}

.contents-inner .lineheight3 {
	line-height: 3.2;
}

.contents-inner .lineheight2 {
	line-height: 2.2;
}

.contents-inner .marginBtm20 {
	margin-bottom: 20px;
}

.contents-inner .marginBtm30 {
	margin-bottom: 30px;
}

.contents-inner .marginBtm60 {
	margin-bottom: 60px;
}

.contents-inner .marginBtm80 {
  margin-bottom: 80px;
}

.contents-inner .marginBtm88 {
	margin-bottom: 88px;
}

.contents-inner .marginBtm120 {
	margin-bottom: 120px;
}

.contents-inner .floatR {
	float: right;
  margin: 0 0 8px 16px;
}

.contents-inner .floatL {
	float: left;
  margin: 0 16px 8px 0;
}

.file_pdf {
	position: relative;
  display: inline-block;
  padding-right: 30px;
}

.file_pdf::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2px;
  width: 22px;
  height: 22px;
  background: url(images/ico_pdf.png) no-repeat;
  background-size: 100% auto;
}

#philosophy .contents-inner > div.flxbox2col:nth-of-type(2n) {
	flex-direction: row-reverse;
}

.contents-inner .rinenFlow {
	padding-top: 80px;
	padding-bottom: 72px;
	padding-right: 0;
	padding-left: 0;
	background: url(images/bg_rinenFlow.jpg) no-repeat;
	background-position: center center;
	background-size: cover;
}

.contents-inner .rinenFlow .rinenCircle {
	position: relative;
	width: 100%;
	max-width: 604px;
	margin: 0 auto;
}

.contents-inner .rinenFlow .rinenCircle:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: url(images/bg_rinenCircle.png) no-repeat;
	background-position: center center;
	background-size: 100%;
}

.contents-inner .rinenFlow .rinenCircle ul {
	position: relative;
	display: flex;
  flex-wrap: wrap;
}

.contents-inner .rinenFlow .rinenCircle ul li {
	flex-basis: 50%;
	display: flex;
	justify-content: center;
	padding: 36px 0;
}

.contents-inner .rinenFlow .rinenCircle ul li:nth-child(2) {
	padding-right: 6em;
}

.contents-inner .rinenFlow .rinenCircle ul li:nth-child(3) {
	padding-left: 6em;
}

.contents-inner .rinenFlow .rinenCircle ul li:last-child,
.contents-inner .rinenFlow .rinenCircle ul li:first-child {
	flex-basis: 100%;
}

.contents-inner .rinenFlow .rinenCircle ul li .wrap {
	display: flex;
	flex-direction: column;
}

.contents-inner .rinenFlow .rinenCircle ul li .oswald {
	font-size: var(--fontSize36);
}

.contents-inner .rinenFlow .rinenCircle ul li .sub {
	padding-bottom: 1em;
	font-size: var(--fontSize14);
	font-weight: 600;
}

.contents-inner .rinenFlow .rinenCircle ul li .text {
	font-size: var(--fontSize12);
}

.contents-inner .rinenFlow .change {
	margin-top: 60px;
	padding: 0 16px;
	color: var(--white);
	font-size: var(--fontSize28);
	font-weight: 600;
}

.contents-inner .to-link {
	max-width: 260px;
  margin-left: auto;
}

.to-link .more-btn:hover {
	color: var(--white);
}

.contents-inner .adobe_wrap {
	margin-top: 80px;
	display: flex;
	column-gap: 16px;
	font-size: var(--fontSize12);
}

.contents-inner .adobe_wrap .external {
	display: none;
}

.contents-inner .aboutIR {
	margin-top: 24px;
}

@media screen and (max-width: 980px) {
	.contents-inner .col3blk {
		width: 48%;
	}
}

@media screen and (max-width: 768px) {
	.contents-inner .heading02 {
		margin: 40px 0 24px;
		padding: 0 0 0 20px;
		font-size: var(--fontSize22);
	}

	.contents-inner .heading03 {
		font-size: var(--fontSize18);
	}

	.contents-inner .text_img_box .text_box .text_box_wrap,
	.contents-inner .text_img_box,
	.contents-inner .col2blk {
		flex-direction: column;
	}

	.contents-inner .col2blk p,
	.contents-inner .col2blk figure {
		flex-basis: 100%;
		margin-bottom: 16px;
	}

	.contents-inner .text_img_box {
		padding: 20px 0;
	}

	.contents-inner .text_img_box .text_box .text_box_wrap .title,
	.contents-inner .text_img_box .text_box .text_box_wrap .text,
	.contents-inner .text_img_box .text_box {
		width: 100%;
	}

	.contents-inner .text_img_box figure {
		display: none;
		margin-left: 0;
		margin: 0 auto;
	}

	.contents-inner .col2img {
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
	}

	.contents-inner .heading_oswald {
		font-size: var(--fontSize34);
	}

	.contents-inner .subWord {
		margin-bottom: 32px;
		font-size: var(--fontSize16);
		font-weight: 600;
	}

	.contents-inner .fontsize16 p,
	.contents-inner .fontsize16,
	.contents-inner p {
		font-size: var(--fontSize14);
	}

	.contents-inner .fontsize18 p,
	.contents-inner .fontsize18 {
	  font-size: var(--fontSize16);
	}

	#three .fontsize20,
	.contents-inner .fontsize20 p,
	.contents-inner .fontsize20 {
	  font-size: var(--fontSize16);
	}

	.contents-inner .fontsize21 p,
	.contents-inner .fontsize21,
	.contents-inner .fontsize22 p,
	.contents-inner .fontsize22,
	.contents-inner .fontsize23 p,
	.contents-inner .fontsize23,
	.contents-inner .fontsize24 p,
	.contents-inner .fontsize24 {
	  font-size: var(--fontSize18);
	}

	#business .contents-inner .fontsize21 p,
	#business .contents-inner .fontsize21,
	#business .contents-inner .fontsize22 p,
	#business .contents-inner .fontsize22,
	#business .contents-inner .fontsize23 p,
	#business .contents-inner .fontsize23,
	#business .contents-inner .fontsize24 p,
	#business .contents-inner .fontsize24 {
	  font-size: var(--fontSize17);
	}

	#three .fontsize28 {
	  font-size: var(--fontSize20);
	}

	.contents-inner .lineheight3 {
		line-height: 2.6;
	}

	.contents-inner .imgMedium {
		padding: 0 12%;
	}

	.contents-inner .marginBtm60 {
		margin-bottom: 40px;
	}

	.contents-inner .marginBtm80 {
		margin-bottom: 40px;
	}

	.contents-inner .marginBtm88 {
	  margin-bottom: 72px;
	}

	.contents-inner .marginBtm120 {
		margin-bottom: 60px;
	}

	.contents-inner .floatL,
	.contents-inner .floatR {
		float: none;
	  margin: 0 0 16px 0;
	}

	.contents-inner .grid2fr {
		display: block;
	}

	.contents-inner .grid2fr p {
		margin-bottom: 0;
	}

	.contents-inner .flxbox2col {
		flex-direction: column;
		align-items: flex-start;
	}

	.contents-inner .flxbox2col .imgcol {
		width: 100%;
		margin-bottom: 32px;
		padding: 0 12%;
	}

	.contents-inner .flxbox2col .txtcol {
		width: 100%;
	}

	.contents-inner .signature {
		max-width: 400px;
  	margin: 0 0 0 auto;
	}

	#philosophy .contents-inner > div.flxbox2col:nth-of-type(2n) {
		flex-direction: column;
	}

	.contents-inner .rinenFlow .change {
		font-size: var(--fontSize20);
	}

	#thanks .contents-inner .to-link {
		margin: 0 auto;
	}

}

@media screen and (max-width: 636px) {
	.contents-inner .signature {
		column-gap: 20px;
	}
	.contents-inner .rinenFlow {
		padding-top: 54px;
		padding-bottom: 56px;
	}

	.contents-inner .rinenFlow .rinenCircle:before {
		width: calc(100% - 32px);
		left: 16px;
		background: url(images/bg_rinenCircle_sp.png) no-repeat;
		background-size: contain;
    background-position: center;
	}

	.contents-inner .rinenFlow .rinenCircle ul {
		height: 100vw;
	}

	.contents-inner .rinenFlow .rinenCircle ul li {
		padding: 0;
	}

	.contents-inner .rinenFlow span {
		color: transparent;
	}

	.contents-inner .rinenFlow .change {
		margin-top: 0;
	}

	.contents-inner .col3wap {
		flex-direction: column;
	}

	.contents-inner .col3blk {
		width: 100%;
		margin-bottom: 16px;
	}

	.contents-inner .col3blk_box p,
	.contents-inner .col3blk_box h4 {
		font-size: var(--fontSize16);
	}
}


/* @media screen and (max-width: 570px) {
	.contents-inner .rinenFlow .rinenCircle ul li {
		padding: 35px 0 0;
	}

	.contents-inner .rinenFlow .rinenCircle ul li .oswald {
		font-size: var(--fontSize20);
	}

	.contents-inner .rinenFlow .rinenCircle ul li .sub {
		padding-bottom: .75em;
		font-size: var(--fontSize10);
	}

	.contents-inner .rinenFlow .rinenCircle ul li .text {
		font-size: 9px;
	}
} */


/* Parts Sitemap
-------------------------------------------------- */
ul.sitemap {
	height: 1100px;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	column-gap: 24px;
	column-count: 2;
}

ul.sitemap li {
	break-inside: avoid;
}

ul.sitemap ul {
	margin-left: 1em;
}

ul.sitemap a {
	display: block;
	color: var(--black);
	text-decoration: none;
}

.sitemap .parent {
	width: 48%;
	margin: 0 0 24px 0;
	padding: 8px 0;
}

.sitemap .border {
	display: block;
  margin-bottom: 12px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--lightgray);
	font-size: var(--fontSize18);
}

.sitemap .child {
	position: relative;
	padding: 2px 16px 2px 24px;
}

.sitemap .child:before {
	content: '';
	position: absolute;
	top: 13px;
	left: 0;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: var(--black);
}

.sitemap .grandchild {
	padding: 2px 16px 2px 0;
}


@media screen and (max-width: 768px) {
	ul.sitemap {
		height: auto;
	}
	.sitemap .parent {
		width: 100%;
	}
	.sitemap .li_home {
		order: 1;
	}
	.sitemap .li_company {
		order: 2;
	}
	.sitemap .li_service {
		order: 3;
	}
	.sitemap .li_news {
		order: 4;
	}
	.sitemap .li_reqruit {
		order: 5;
	}
	.sitemap .li_ir {
		order: 6;
	}
	.sitemap .li_privacy {
		order: 7;
	}
	.sitemap .li_contact {
		order: 8;
	}
}

/* Parts Privacy
-------------------------------------------------- */
#privacy header:has(h2) {
	padding-top: 8px;
}

.policy-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-direction: column;
	margin-bottom: 60px;
}

.policy-link .link-btn {
	width: 100%;
	min-width: 820px;
	min-height: 80px;
	padding: 8px 32px 8px 24px;
	border: 1px solid var(--mediumgray);
	border-radius: 8px;
	display: flex;
	align-items: center;
	position: relative;
	font-size: var(--fontSize24);
	font-weight: 500;
	color: var(--black);
	text-decoration: none;
	overflow: hidden;
	transition: .7s;
	z-index: 0;
}

.policy-link .link-btn:before {
	content: '';
	position: absolute;
	top: 50%;
	right: 32px;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	background-color: var(--red);
	z-index: 1;
}

.policy-link .link-btn:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 32px;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	background-color: var(--darkgray);
	z-index: -1;
}

.policy-link .link-btn:hover {
	color: var(--white);
}

.policy-link .link-btn:hover:after {
	animation: expandBig .6s .1s forwards 1 ease-in;
}

@keyframes expandBig {
  0% {
		transform: scale(0);
  }
  100% {
		transform: scale(620, 80);
  }
}


@media screen and (max-width: 832px) {
	.policy-link {
		margin-bottom: 32px;
	}

	.policy-link .link-btn {
		width: 80vw;
		min-width: unset;
		padding: 8px 40px 8px 16px;
		font-size: var(--fontSize22);
}

	.policy-link .link-btn::before,
	.policy-link .link-btn::after {
		right: 24px;
	}
}


/* Parts Business
-------------------------------------------------- */
.business_col2 {
	display: flex;
	flex-wrap: wrap;
	column-gap: 60px;
}

.business_col2 .business_col2_blk {
	width: calc((100% - 60px) / 2);
	margin-bottom: 26px;
}

.business_col2 a {
	display: block;
	text-decoration: none;
}

.business_col2 figure {
	margin-top: 16px;
	margin-bottom: 16px;
	border-radius: 8px;
	border: 1px solid var(--lightgray);
	overflow: hidden;
}

.business_henshubu .above_img,
.business_col2 figure img {
	transition: ease-in-out .3s;
}

.business_col2 p {
	color: var(--black);
}

.business_henshubu a:hover .above_img,
.business_col2 a:hover img {
	transform: scale(1.05);
}

.business_henshubu a {
	overflow: hidden;
	border-radius: 8px;
}

.business_henshubu {
	padding: 40px;
	background-color: #f5f5f5;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.business_henshubu a p {
	margin-bottom: 0;
}

.business_henshubu .above_img {
	width: 100%;
	max-width: 420px;
	border-radius: 8px;
	background-color: var(--white);
}

.henshubu_blk {
	display: flex;
	flex-direction: column;
	width: calc(100% - 420px - 48px);
}

.henshubu_blk .henshubu_title {
	margin-bottom: 20px;
}

.business_henshubu img.external,
.business_col2 img.external,
.henshubu_blk img.external {
	display: none;
}

@media screen and (max-width: 768px) {
	.business_henshubu {
		padding: 24px;
	}
	.business_henshubu,
	.business_col2 {
		flex-direction: column;
		align-items: center;
	}

	.business_col2 .business_col2_blk {
		width: 100%;
		max-width: 484px;
	}

	.henshubu_blk,
	.business_henshubu figure {
		width: 100%;
		max-width: 444px;
		margin-bottom: 16px;
	}
}

@media screen and (max-width: 480px) {
	.business_henshubu {
		padding: 16px;
	}

	.business_henshubu .above_img {
		height: 180px;
	}

}

/* Parts Contact
-------------------------------------------------- */
#contact .link_wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-direction: column;
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
}

#contact .link_wrap a {
	width: 100%;
	min-height: 120px;
	margin-bottom: 40px;
	padding: 12px 80px 12px 32px;
	border: 1px solid var(--mediumgray);
	border-radius: 8px;
	display: flex;
	align-items: center;
	position: relative;
  color: var(--black);
	font-size: var(--fontSize24);
	font-weight: 500;
	overflow: hidden;
	text-decoration: none;
	transition: .7s;
	z-index: 0;
}
#contact .link_wrap a::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 56px;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	background-color: var(--red);
	z-index: 1;
}

#contact .link_wrap a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 56px;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	background-color: var(--darkgray);
	z-index: -1;
}

#contact .link_wrap a:hover {
	color: var(--white);
}

#contact .link_wrap a:hover:after {
	animation: expandBig .6s .1s forwards 1 ease-in;
}

@keyframes expandBig {
  0% {
		transform: scale(0);
  }
  100% {
		transform: scale(620, 80);
  }
}

#contact .text_guide {
	width: 100%;
	max-width: 740px;
	margin: 40px auto 24px;
}

@media screen and (max-width: 768px) {
	#contact .link_wrap {
		flex-direction: column;
		margin-bottom: 80px;
	}

	#contact .link_wrap a:not(:last-child) {
		margin-bottom: 16px
	}
}


/* Parts Contact form 7
-------------------------------------------------- */
.wpcf7-form dl {
	border: 1px solid #c3c3c3;
}

.wpcf7-form dl > div {
	display: flex;
}

.wpcf7-form dl > div:not(:last-child) {
  border-bottom: 1px solid #c3c3c3;
}

.wpcf7-form dl dd,
.wpcf7-form dl dt {
	padding: 15px 16px;
}

.wpcf7-form dl dd p,
.wpcf7-form dl dt p {
	width: 100%;
	margin-bottom: 0;
}

.wpcf7-form dl dt {
	display: flex;
	align-items: center;
	width: 25%;
	min-width: 16em;
	border-right: 1px solid #c3c3c3;
	background-color: #f4f4f4;
	font-weight: 600;
	color: #333;
}

.wpcf7-form dl dt label {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.wpcf7-form dl .form_textarea dt {
	align-items: flex-start;
}

.wpcf7-form dl dd {
	flex: 1;
	word-break: break-all;
}

.wpcf7-form input, select {
	vertical-align:middle;
}

.wpcf7-form input[type='tel'],
.wpcf7-form input[type='text'],
.wpcf7-form input[type='email'],
.wpcf7-form textarea {
	padding: 7px 6px;
	border: 1px solid var(--black);
	border-radius: 4px;
	box-sizing: border-box;
}

.wpcf7-form input[type="text"] {
	width: 100%;
  max-width: 100%;
}

.wpcf7-form input#form_email,
.wpcf7-form input#form_tel,
.wpcf7-form input#form_name {
	width: 20em;
}

.wpcf7-form textarea {
	width: 100%;
	height: 15em;
}

select::-ms-expand {
  display: none;
}

.wpcf7-form .select_trigger .wpcf7-form-control-wrap {
	position: relative;
	display: inline-block;
	width: 100%;
	max-width: 20em;
}

.wpcf7-form .select_trigger .wpcf7-form-control-wrap:after {
    content: "";
    position: absolute;
		right: 32px;
		top: 19px;
		width: 8px;
		height: 8px;
    border-top: 2px solid var(--red);
    border-left: 2px solid var(--red);
    pointer-events: none;
    transform: translateY(-50%) rotate(-135deg);
}

.wpcf7-form .select_trigger .wpcf7-form-control-wrap select {
	width: 100%;
	padding: 7px 6px;
	border: 1px solid var(--black);
	border-radius: 4px;
	box-sizing: border-box;
}

.wpcf7-form .required {
	padding: 0 4px 1px;
	background-color: #ff3c00;
	font-size: var(--fontSize14);
	color: var(--white);
	font-weight: 200;
}

.wpcf7-form .to_confirm,
.wpcf7-form .policy_chk,
.wpcf7-form .policy {
	font-size: var(--fontSize18);
	text-align: center;
}

.wpcf7-form .policy {
	margin: 40px 0 24px;
}

.wpcf7-form .policy_chk label {
	display: inline-block;
	cursor: pointer;
}

.wpcf7-form .policy_chk input[type="checkbox"] {
	margin-right: 4px;
	width: 24px;
	height: 24px;
	vertical-align: middle;
	border-radius: 4px;
	border-width: 1px;
	border-style: solid;
	border-color: var(--black);
	background-color: var(--white);
	position: relative;
	top: -2px;
}

.wpcf7-form .policy_chk input[type="checkbox"]:after {
	content: '';
	display: inline-block;
	position: absolute;
	width: 18px;
	padding-top: 6px;
	top: 5px;
	left: 3px;
	border-left: 3px solid var(--black);
	border-bottom: 2px solid var(--black);
	transform: rotate(-45deg);
	opacity: 0;
}

.wpcf7-form .policy_chk input[type="checkbox"]:checked::after {
	opacity: 1;
}

.wpcf7-form .to_confirm {
	margin: 48px auto;
	max-width: 286px;
	width: 100%;
}
.wpcf7-form .to_confirm .more-btn {
	width: 100%;
	padding: 0;
  background-color: var(--darkgray);
  color: var(--white);
  text-align: left;
}


.wpcf7-form .to_confirm .more-btn:hover {
  color: var(--black);
}

.wpcf7-form .to_confirm .more-btn:hover::after {
  background-color: var(--white);
}

.wpcf7-form .to_confirm .more-btn input {
	display: block;
	width: 100%;
	min-height: 64px;
	padding: 12px 48px 12px 16px;
}

.wpcf7-not-valid-tip {
	font-size: var(--fontSize14);
}

.wpcf7-form .comment {
	padding-left: 1em;
	font-size: var(--fontSize14);
}

.wpcf7-spinner {
	position: absolute;
  right: 0;
}

/* confirm */
#wpcf7cpcnf th {
	width: 25%;
	min-width: 16em;
}

#wpcf7cpcnf td,
#wpcf7cpcnf th {
	text-align: left;
}

#wpcf7cpcnf td p {
	max-height: 12em;
	overflow-y: scroll;
}

.wpcf7cp-btns {
	display: flex;
  column-gap: 40px;
  justify-content: center;
  align-items: center;
}

.wpcf7cp-btns button.wpcf7cp-cfm-edit-btn {
	background-color: var(--lightgray);
}

@media screen and (max-width: 768px) {
	.wpcf7-form dl > div {
		flex-direction: column;
	}
	.wpcf7-form dl dt {
		width: 100%;
		border-right: 0;
	}
	.wpcf7-form .required {
		font-size: var(--fontSize12);
	}
	.wpcf7-form .comment {
		display: block;
		padding-left: 0;
	}
	#wpcf7cpcnf th {
		min-width: 8em;
	}
	.wpcf7cp-btns {
		column-gap: 0;
	}
	.wpcf7cp-btns button {
		min-width: 120px;
	}
}


/* Parts News nav
-------------------------------------------------- */
.tabNavWrap {
	margin-bottom: 32px;
}
.tabNavWrap .tablist {
	min-width: 14em;
	padding: 12px 40px 12px 16px;
	border-radius: 4px;
  border: 1px solid #cccfd2;
	background-color: var(--white);
	color: #000;
	text-align: left;
	font-size: var(--fontSize14);
	background: url("./images/ico_arrow_u.svg") 80% center no-repeat;
	background-size: 12px 8px;
	overflow: hidden;
	z-index: 1;
	cursor: pointer;
}

.tabContents .tabpanel {
	display: none;
}

.tabContents .tabpanel.active {
	display: block;
}


/* Parts Table
-------------------------------------------------- */
table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 16px;
}

table th,
table td {
  border: 1px solid #c3c3c3;
  padding: 8px;
  text-align: center;
  font-size: var(--fontSize14);
}

table th {
  background-color: #f4f4f4;
  font-weight: 600;
}

@media screen and (max-width: 768px) {
	.table-wrap {
		overflow-x: scroll;
	}

	table th,
	table td {
	  padding: 4px;
	  font-size: var(--fontSize12);
		word-break: break-all;
	}
}

/* Parts Top Message IR Message
-------------------------------------------------- */
#message .message_wrap .main_photo {
	float: left;
	margin-bottom: 38px;
	margin-right: 72px;
}

#message .message_wrap .top_message p {
	margin-bottom: 32px;
	line-height: 1.9;
	letter-spacing: .5px;
}

#message .contents-inner .signature {
  width: 100%;
  max-width: 453px;
  margin: 0 0 0 auto;
}

#message .contents-inner .signature figure {
	flex-basis: unset;
}

#message .contents-inner .signature figure.sign01 {
	margin-right: 40px;
}

#management .contents-inner p {
	margin-bottom: 32px;
	line-height: 1.9;
	letter-spacing: .5px;
}

#management .contents-inner .ir_message_photo {
	margin-bottom: 16px;
	max-width: 51%;
}

#management .contents-inner .ir_message_sign p {
	margin-bottom: 8px;
}

@media screen and (max-width: 1050px) {
	#message .message_wrap .main_photo {
		margin-bottom: 24px;
		margin-right: 40px;
		width: 400px;
	}
}

@media screen and (max-width: 768px) {
	#message .contents-inner {
		padding-bottom: 0;
	}

	#message .message_wrap .main_photo {
		float: none;
		width: 100%;
	}

	#message .contents-inner .signature {
		max-width: 360px;
		column-gap: 0;
	}

	#message .message_wrap figure {
		width: 100%;
    max-width: 72vw;
    margin: 0 auto 40px;
	}

	#message .contents-inner .signature figure.sign01 {
	  margin-right: 24px;
	}

	#message .contents-inner .signature figure.sign01 img {
		height: 58px;
	}
	#management .contents-inner .ir_message_photo {
		width: 100%;
		max-width: 100%;
		text-align: center;
	}
}


/* Parts Hitory
-------------------------------------------------- */
.history-wrap {
	position: relative;
}

.history-wrap:before {
	content: "";
	position: absolute;
	top: 20px;
	left: 0;
	bottom: -20px;
	display: block;
	width: 16px;
	background-color: #f5f5f5;
}

.history-wrap dt {
	margin-top: 52px;
	padding: 12px 0 12px 48px;
	position: relative;
	font-size: var(--fontSize30);
	font-weight: 700;
}

.history-wrap dt:first-child {
	margin-top: 0;
}

.history-wrap dt:before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  bottom: 0;
  margin: auto;
  display: block;
  width: 16px;
  height: 16px;
  background-color: var(--black);
}

.history-wrap dd {
	margin-left: 32px;
	margin-bottom: 20px;
	padding: 0 0 20px 16px;
	border-bottom: 1px solid #ccc;
	line-height: 1.8;
}

.history-wrap dd .month {
	display: inline-block;
	width: 5em;
	font-size: var(--fontSize18);
	vertical-align: top;
}

.history-wrap dd .event.no-month {
	width: 100%;
}

.history-wrap dd .event {
	display: inline-block;
	width: calc(100% - 5em);
	font-size: var(--fontSize18);
	vertical-align: top;
	letter-spacing: -.1px;
}

.history-wrap dd .event_list {
	display: block;
	margin-bottom: 16px;
}

@media screen and (max-width: 768px) {
	.history-wrap dt {
		padding-left: 32px;
		font-size: var(--fontSize24);
	}

	.history-wrap dd {
		margin-left: 16px;
	}

	.history-wrap dd .month {
		width: 4em;
		font-size: var(--fontSize16);
	}

	.history-wrap dd .event {
		width: calc(100% - 4em);
		font-size: var(--fontSize16);
	}
}

/* Parts dl dt dd part1
-------------------------------------------------- */
dl .dl-flex {
  display: flex;
	border-bottom: 1px solid #b7bdc0;
}

.dl-company dd,
.dl-company dt {
  padding: 16px 10px;
	font-size: var(--fontSize18);
}

.dl-company dt {
  width: 16em;
}

.dl-company dd {
	flex: 1;
  word-break: break-all;
}

.dl-company dd .post {
	display: inline-block;
	min-width: 8em;
}

.dl-company dd.delegate {
	display: flex;
	column-gap: 16px;
}

.dl-company dd.delegate figure img {
	width: 120px;
  height: 170px;
  object-fit: cover;
}

.dl-company dd.delegate .delegate_name {
	font-size: var(--fontSize20);
	font-weight: 600;
}

.dl-company dd.delegate .delegate_name .post {
	display: block;
	margin-top: 8px;
  font-size: var(--fontSize18);
  font-weight: normal;
}

@media screen and (max-width: 768px) {
	dl .dl-flex {
		flex-direction: column;
	}

	.dl-company dd,
	.dl-company dt {
		font-size: var(--fontSize16);
	}

	.dl-company dt {
	  width: 100%;
	}

	.dl-company dd {
		flex: 1;
	  word-break: break-all;
	}
}


/* Parts dl dt dd part2
-------------------------------------------------- */
.dl-wrap {
  margin-bottom: 1.125em;
}

.dl-wrap .dl-contents {
  display: flex;
}

.dl-wrap .dl-contents dd,
.dl-wrap .dl-contents dt {
  padding: 24px 16px;
  border-bottom: 1px solid var(--lightgray);
}

.dl-wrap .dl-contents dt {
  width: 16em;
}

.dl-wrap .dl-contents dd {
  width: calc(100% - 16em);
  word-break: break-all;
}

@media screen and (max-width: 768px) {
	.dl-wrap .dl-contents dd,
	.dl-wrap .dl-contents dt {
		padding: 16px 8px;
		font-size: var(--fontSize14);
	}

	.dl-wrap .dl-contents dt {
	  width: 9.85em;
	}

	.dl-wrap .dl-contents dd {
	  width: calc(100% - 9.85em);
	}
}


/* Parts FAQ
-------------------------------------------------- */
.qa {
  margin-top: 16px;
  margin-bottom: 80px;
  padding-top: 32px;
  border-top: 1px solid var(--black);
  }

.qa .answer,
.qa .question {
  display: flex;
  align-items: flex-start;
  margin-bottom: 12px;
}

.qa .answer i + div,
.qa .question i + p{
  padding-top: 4px;
}

.qa .answer i,
.qa .question i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 34px;
  margin-right: 16px;
  padding: 0 4px 4px;
  border: 1px solid var(--black);
  font-size: var(--fontSize20);
  font-weight: 700;
  font-style: normal;
}

.qa .answer i {
  padding: 0 10px 2px;
  border-color: var(--red);
  color: var(--red);
}

@media screen and (max-width: 768px) {
	.qa {
		margin-bottom: 40px;
	}

	.qa .answer i,
	.qa .question i {
		min-width: 30px;
		min-height: 30px;
		margin-right: 12px;
		font-size: var(--fontSize16);
	}
}


/* 3minutes three minutes
================================================== */
#three .main-inner .contents-inner {
	padding-top: 0;
	padding-bottom: 0;
}
#three .three_intro {
	margin-top: 80px;
	margin-bottom: 64px;
	display: flex;
	justify-content: space-between;
	column-gap: 40px;
}

#three .three_intro h2 {
	margin-bottom: 44px;
	color: var(--red);
	font-size: var(--fontSize38);
	font-weight: 500;
}

#three .three_intro .intro {
	margin-bottom: 1.2em;
	font-size: var(--fontSize18);
	line-height: 1.4;
}

#three .three_list {
	margin-bottom: 96px;
}

#three .three_list ul {
	display: flex;
	justify-content: space-between;
	column-gap: 16px;
}

#three .three_list ul li {
	width: 320px;
}

#three .three_list ul li a {
	padding: 6px 48px 8px 16px;
	font-size: var(--fontSize18);
	font-weight: 500;
}

#three .three_list ul li a:hover {
  color: var(--white);
}

#three .main-inner section {
	padding-top: 96px;
	padding-bottom: 96px;
}

#three .main-inner section:nth-child(even) {
	padding-top: 96px;
  padding-bottom: 96px;
  background-color: #f5f5f5;
}

#three .main-inner section h2 {
	margin-bottom: 40px;
  padding-bottom: 32px;
  position: relative;
	font-size: var(--fontSize42);
	text-align: center;
}

#three .main-inner section h2:after {
	position: absolute;
	content: '';
	width: 28px;
	height: 4px;
	bottom: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
	background-color: var(--red);
}

#three .main-inner section h2 .point_number {
	margin-right: 1.25em;
	padding: 4px 12px 0;
	background-color: var(--black);
	color: var(--white);
	font-size: var(--fontSize28);
}

#three .main-inner section h2 .point_number .number {
	padding-left: .2em;
  vertical-align: bottom;
	font-size: var(--fontSize40);
}

#three .main-inner section h3 {
	margin-bottom: 64px;
	font-size: var(--fontSize38);
	color: var(--red);
}

@media screen and (max-width: 768px) {
	#three .main-inner section h2 {
		margin-bottom: 32px;
	  padding-bottom: 20px;
	}
	#three .main-inner section:nth-child(2n),
	#three .main-inner section {
	  padding-top: 48px;
	  padding-bottom: 48px;
	}

	#three .three_intro h2 {
		font-size: var(--fontSize28);
	}
	#three .main-inner section h3 {
		margin-bottom: 32px;
		font-size: var(--fontSize24);
	}
	#three .three_list {
		margin-bottom: 40px;
	}
	#three .three_list ul,
	#three .three_intro {
		flex-direction: column;
	}
	#three .three_list ul li {
		width: 100%;
		max-width: 320px;
		margin: 0 auto 24px;
	}
	#three .main-inner section h2 .h2title {
		display: block;
		font-size: var(--fontSize30);
    margin-top: 12px;
	}
	#three .main-inner section h2 .point_number {
		padding: 0 12px 0;
		margin-right: 0;
		font-size: var(--fontSize26);
	}
	#three .main-inner section h2 .point_number .number {
		font-size: var(--fontSize36);
	}
}


#three .ninchido {
	margin-bottom: 32px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	column-gap: 40px;
}

#three .ninchido .graph01 {
	position: relative;
}

#three .ninchido .graph01 {
	position: relative;
}

#three .bubble {
  position: absolute;
  content: "";
  top: 20%;
  right: -46px;
  padding: 12px 32px;
  border-radius: 48px;
  background-color: var(--white);
	font-weight: 500;
	z-index: 1;
  box-shadow: 1px 6px 8px 2px rgba(0, 0, 0, .1);
}

#three .bubble:after {
	content: "";
	position: absolute;
	bottom: -34px;
	left: 50%;
	margin-left: -16px;
	border: 12px solid transparent;
	border-top: 32px solid var(--white);
	z-index: -1;
}

@media screen and (max-width: 960px) {
	#three .bubble {
		top: 12%;
	}
}
@media screen and (max-width: 768px) {
	#three .ninchido {
		flex-direction: column;
	}
	#three .ninchido .graph01 {
		max-width: 400px;
	}
	#three .bubble {
		right: 0;
    top: 15%;
		padding: 12px 24px;
	}
	#three .bubble:after {
		margin-left: 32px;
	}
}
@media screen and (max-width: 370px) {
	#three .bubble {
    top: 10%;
	}
}

#three .rank .box {
	max-width: 480px;
	padding: 16px 20px;
	border: 2px solid var(--white);
	background-color: transparent;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
  align-items: center;
}

#three .rank .box:first-child {
	margin-bottom: 20px;
}

#three .rank .box:first-child .text {
	line-height: 1.7;
}

#three .rank .box .text {
	font-size: var(--fontSize28);
	font-weight: 600;
	flex-basis: 60%;
}

#three .rank .box .text .font {
	font-size: var(--fontSize18);
}

#three .rank .box .right {
	flex-basis: 37%;
	text-align: center;
}

#three .rank .box .prizeno {
	display: inline-block;
	background: url('images/ic_crown_y.png') no-repeat center top / 78px;
	font-size: var(--fontSize28);
	font-weight: 600;
}

#three .rank .box .prizeno_numeric {
	padding-right: 4px;
	font-size: var(--fontSize88);
	color: var(--red);
	font-family: 'Hind', sans-serif;
	line-height: 1;
}

#three .rank .box .hosoku {
	padding-left: .7em;
	background: url(images/ic_slash.png) no-repeat left center / 9px;
	display: block;
}

#three .jusyoureki {
	margin: 104px 0 136px;
	padding: 32px 64px;
  display: flex;
  flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
  border: 1px solid #c3c3c3;
  background-color: var(--white);
}

#three .jusyoureki .midashi01 {
	flex-basis: 100%;
	font-size: var(--fontSize24);
	color: var(--red);
	text-align: center;
}

#three .jusyoureki .taisyou01 {
	flex-basis: 56%;
}

#three .jusyoureki .taisyou02 {
	flex-basis: 40%;
}

#three .jusyoureki .taisyou {
	display: block;
	padding: 32px 24px;
	position: relative;
	font-weight: 600;
}

#three .jusyoureki .taisyou:after,
#three .jusyoureki .taisyou:before {
	position: absolute;
	content: '';
	top: 0;
	right: 0;
	width: 65px;
	height: 140px;
	background: url(images/bg_prize.png) no-repeat;
	background-position: left center;
	background-size: 65px;
}

#three .jusyoureki .taisyou.taisyou02:before {
	right: -20px;
}

#three .jusyoureki .taisyou:after {
	left: -16px;
	right: unset;
	background-position: right center;
	transform: rotateY(180deg);
}

#three .jusyoureki .taisyou .nen {
	display: block;
	margin-bottom: 6px;
	font-size: var(--fontSize20);
	text-align: center;
}

#three .jusyoureki .taisyou .syou {
	display: block;
	font-size: var(--fontSize28);
	text-align: center;
}

#three .jusyoureki .br_jusyou {
	display: none;
}

@media screen and (max-width: 1035px) {
	#three .jusyoureki {
		padding: 32px;
	}
}
@media screen and (max-width: 970px) {
	#three .jusyoureki .taisyou .nen {
		font-size: var(--fontSize16);
	}
	#three .jusyoureki .taisyou .syou {
		font-size: var(--fontSize20);
	}
}
@media screen and (max-width: 768px) {
	#three .jusyoureki {
		flex-direction: column;
		margin: 48px 0 80px;
	}
	#three .jusyoureki .taisyou {
		padding: 32px 0;
	}
	#three .jusyoureki .taisyou01,
	#three .jusyoureki .taisyou02 {
		margin-bottom: 24px;
		flex-basis: 100%;
	}
	#three .jusyoureki .taisyou::before {
		right: -30px;
	}
	#three .jusyoureki .taisyou::after {
		left: -30px;
	}
	#three .jusyoureki .taisyou.taisyou02::before {
	  right: -60px;
	}
	#three .jusyoureki .taisyou.taisyou02::after {
	  left: -60px;
	}
	#three .rank .box {
		padding: 16px 12px;
	}
	#three .rank .box:first-child {
		margin-top: 20px;
	}
	#three .rank .box:first-child .text {
		line-height: inherit;
	}
	#three .rank .box .text {
		font-size: var(--fontSize20);
	}
	#three .rank .box .prizeno_numeric {
		font-size: var(--fontSize64);
	}
	#three .rank .box .prizeno {
		font-size: var(--fontSize22);
	}
}
@media screen and (max-width: 410px) {
	#three .jusyoureki .taisyou01,
	#three .jusyoureki .taisyou02 {
		width: 224px;
		margin-bottom: 0;
	}
	#three .jusyoureki .taisyou.taisyou01::before,
	#three .jusyoureki .taisyou.taisyou01::after {
		top: 18px;
	}
	#three .jusyoureki .taisyou.taisyou02::before,
	#three .jusyoureki .taisyou.taisyou02::after {
		top: 10px;
	}
	#three .jusyoureki .taisyou.taisyou01::before,
	#three .jusyoureki .taisyou.taisyou02::before {
	  right: -36px;
	}
	#three .jusyoureki .taisyou.taisyou01::after,
	#three .jusyoureki .taisyou.taisyou02::after {
	  left: -36px;
	}
	#three .jusyoureki .br_jusyou {
		display: block;
	}
}

#three .reason {
  margin-bottom: 32px;
}

#three .main-inner section .reason h3 {
	margin-bottom: 16px;
}

#three .percent_rank {
	margin-bottom: 104px;
	padding: 40px 80px;
	border-radius: 8px;
	background-color: var(--white);
}

#three .main-inner section .percent_rank h3 {
	border-bottom: 5px double var(--red);
	margin-bottom: 48px;
	text-align: center;
	color: var(--black);
}

#three .rank_box {
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
}

#three .rank_box_left,
#three .rank_box_right {
	flex-basis: 48%;
}

#three .rank_box .line {
	display: flex;
	justify-content: space-between;
	width: 100%;
}

#three .rank_box_left .line .rnk {
	width: 2em;
	text-align: left;
}

#three .rank_box_left .line .komoku_pcnt {
	width: calc(100% - 2.2em);
}

#three .rank_box_right .line .rnk {
	width: 2.5em;
	text-align: right;
}

#three .rank_box_left .best3 .komoku_pcnt {
	color: var(--red);
}

#three .rank_box_left .best3 {
	margin-bottom: 14px;
	font-size: var(--fontSize32);
}

#three .rank_box_left .best3 .tanni {
	font-size: var(--fontSize24);
}

#three .line_blk {
	display: flex;
  justify-content: space-between;
	column-gap: 32px;
	margin-bottom: 24px;
}

#three .line_blk .line {
	font-size: var(--fontSize28);
}

#three .line_blk .tanni {
	font-size: var(--fontSize18);
}

#three .rank_box_left .line_blk .rnk {
	width: 1.5em;
	padding-left: 6px;
}

#three .rank_box_left .line_blk .komoku_pcnt {
	width: calc(100% - 2em);
}

#three .rank_box_right .line {
	margin-bottom: 8px;
	font-size: var(--fontSize24);
}

#three .rank_box_right .tanni {
	font-size: var(--fontSize18);
}

#three .line .komoku_pcnt {
	position: relative;
	width: calc(100% - 3.5em);
	display: flex;
  justify-content: space-between;
	z-index: 1;
}

#three .best3 .rnk {
	padding-left: 6px;
	background: url('images/ic_crown_y.png') no-repeat left center / 56px;
}

#three .line2 .rnk {
	background-image: url('images/ic_crown_g.png');
}

#three .line3 .rnk {
	background-image: url('images/ic_crown_p.png');
}

#three .rank_box_right .line .komoku_pcnt:before,
#three .rank_box_left .line .komoku_pcnt:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	background: url('images/bg_dot01.png') repeat left center;
	z-index: -1;
}

#three .rank_box_left .line .komoku_pcnt:before {
	height: 2px;
	background: url('images/bg_dot02.png') repeat left center;
}

#three .rank_box .pcnt,
#three .rank_box .komoku {
	background-color: var(--white);
}

#three .rank_box .pcnt {
	padding-left: 4px;
}

#three .text_strong {
	font-size: var(--fontSize20);
	font-weight: 600;
	text-align: center;
}

#three .text_strong .color_red {
	font-size: var(--fontSize28);
}

#three .pc_blk {
	display: block;
}

#three .sp_blk {
	display: none;
}

#three .reason .marginB {
	margin-bottom: 104px;
}

@media screen and (max-width: 960px) {
	#three .pc_blk {
		display: none;
	}
	#three .sp_blk {
		display: block;
	}
	#three .percent_rank {
		padding: 40px;
	}
	#three .rank_box {
		flex-direction: column;
		margin-bottom: 16px;
	}
	#three .rank_box_left .line .rnk {
		width: 2.75em;
	}
	#three .line_blk {
		flex-direction: column;
		margin-bottom: 12px;
	}
	#three .rank_box_left .line_blk .rnk {
		width: 3.2em;
		padding-left: 25px;
	}
	#three .text_strong .color_red {
		margin-top: 40px;
	}
}

@media screen and (max-width: 768px) {
	#three .percent_rank {
		margin-bottom: 64px;
		padding: 40px 16px;
	}
	#three .rank_box_left .best3 {
		font-size: var(--fontSize20);
	}
	#three .line_blk {
		margin-bottom: 2px;
	}
	#three .line_blk .line {
		margin-bottom: 8px;
		font-size: var(--fontSize18);
	}
	#three .rank_box_right .line {
		font-size: var(--fontSize16);
	}
	#three .rank_box_right .tanni,
	#three .line_blk .tanni,
	#three .rank_box_left .best3 .tanni {
		font-size: var(--fontSize12);
	}
	#three .best3 .rnk {
		background-size: 36px;
	}
	#three .rank_box_left .line_blk .rnk {
		width: 2.75em;
		padding-left: 12px;
	}
	#three .rank_box_right .line .rnk {
		width: 2.1em;
	}
	#three .rank_box_left .line .komoku_pcnt {
		width: calc(100% - .25em);
	}
	#three .line .komoku_pcnt {
		width: calc(100% - 3em);
	}
	#three .text_strong {
		margin-top: 16px;
	}
	#three .text_strong .color_red {
		font-size: var(--fontSize22);
	}
	#three #point1 h2 + .fontsize24,
	#three .reason .fontsize24 {
		margin-bottom: 4px;
	}
	#three .reason .marginB {
		margin-bottom: 64px;
	}
}

#three h4.heading04 {
	max-width: 1028px;
  margin: 0 auto;
	position: relative;
	padding: 0 16px 0 24px;
	font-size: var(--fontSize30);
	font-weight: 600;
}

#three h4.heading04:before {
  content: '';
  position: absolute;
  top: .65em;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(images/ico_head02.svg) no-repeat left top / 8px;
}

#three .ui_blk {
	display: flex;
  justify-content: space-between;
  column-gap: 24px;
	margin-bottom: 50px;
	padding: 24px 80px 80px 48px;
}

#three .ui_blk h5 {
	margin-bottom: 12px;
	margin-left: 2.75em;
  font-weight: normal;
  font-size: var(--fontSize24);
}

#three .ui_blk .shuhu_ui h5 {
	margin-left: 1.5em;
}

#three .ui_image .setsumei {
	position: relative;
	font-size: var(--fontSize22);
	background-color: var(--white);
	padding: 12px 4px 12px 24px;
	border-radius: 72px;
	display: block;
	margin-top: -150px;
  width: 15em;
	left: 56px;
	border: 2px solid var(--red);
	font-weight: 600;
	letter-spacing: -.8px;
}

#three .haken_ui .setsumei:last-child {
	margin-top: 15px;
	width: 21em;
	left: 56px;
}

#three .shuhu_ui .setsumei {
	width: 18.5em;
	left: 32px;
	margin-top: -44px;
}

@media screen and (max-width: 1010px) {
	#three .ui_blk {
		flex-direction: column;
		align-items: center;
	}
	#three .haken_ui {
		margin-bottom: 80px;
	}
}

@media screen and (max-width: 768px) {
	#three h4.heading04 {
		margin-bottom: 16px;
		font-size: var(--fontSize22);
	}
	#three .ui_blk {
		padding: 24px 0 32px 0;
	}
	#three .ui_blk h5 {
		margin-left: 0;
		font-size: var(--fontSize20);
	}
	#three .ui_image .setsumei {
	  padding: 6px 16px;
		width: 15em;
		left: 40px;
		margin-top: -122px;
		font-size: var(--fontSize18);
	}
	#three .haken_ui .setsumei:last-child {
		margin-top: 6px;
		width: 22em;
		left: 40px;
	}
	#three .shuhu_ui .setsumei {
		width: 72%;
		margin-top: -34px;
	}
	#three .haken_ui {
    margin-bottom: 64px;
  }
}

@media screen and (max-width: 480px) {
	#three .ui_image .setsumei {
		width: 90%;
		left: 28px;
		margin-top: -100px;
	}
	#three .haken_ui .setsumei:last-child {
		left: 28px;
		width: 90%;
	}
	#three .shuhu_ui .setsumei {
		width: 94%;
		margin-top: -36px;
	}
	#three .ui_blk .br_ui{
		display: none;
	}
}


#three .tech {
  display: flex;
  column-gap: 74px;
  justify-content: space-between;
}

#three .kadai {
	max-width: 470px;
	background-color: var(--white);
	border-radius: 8px;
	min-height: 270px;
	position: relative;
}

#three .kadai:before {
	position: absolute;
	content: "";
	width: 88px;
	height: 58px;
	top: 50%;
	right: -88px;
	transform: translateY(-50%);
	background: url(images/bg_arrow_black.png) no-repeat center bottom / 88px;
	z-index: 1;
}

#three .kadai:after {
	position: absolute;
	content: "";
	width: 100px;
	height: 100%;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	background: url(images/img_building.png) no-repeat center bottom / 100px;
}

#three .kadai p {
	width: 100%;
	margin-bottom: 8px;
	padding: 4px 0;
	background-color: var(--black);
	border-radius: 8px 8px 0 0;
	color: var(--white);
	font-size: var(--fontSize18);
	font-weight: 600;
	text-align: center;
}

#three .kadai .kadai_detail {
	position: relative;
  min-width: 470px;
	min-height: 232px;
}

#three .kadai .kadai_detail span {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 143px;
	min-height: 143px;
	background-color: #f5f5f5;
	border-radius: 50%;
	font-size: var(--fontSize18);
	font-weight: 600;
	text-align: center;
}

#three .kadai .kadai_detail .kadai1 {
	top: 72px;
	left: 32px;
}

#three .kadai .kadai_detail .kadai2 {
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

#three .kadai .kadai_detail .kadai3 {
	top: 72px;
	right: 32px;
}

#three .smartka {
	max-width: 480px;
	display: flex;
	justify-content: space-between;
	column-gap: 8px;
	position: relative;
}

#three .smartka .smartka_arrow {
	position: absolute;
	padding: 0 20px 33px 20px;
	top: -32px;
	left: 50%;
	background: url('images/bg_arrow_curve.png') no-repeat center bottom / 106px;
	color: var(--red);
	font-weight: 600;
	font-size: var(--fontSize15);
	transform: translateX(-50%);
	z-index: 1;
}

#three .smartka .box {
	min-width: 236px;
  min-height: 275px;
	padding: 40px 28px;
  border: 1px solid #b7bdc0;
  border-radius: 8px;
	background-color: #efefef;
}

#three .smartka .jurai.box {
	padding: 40px 48px;
}

#three .smartka .bstyle_smart {
	position: relative;
}

#three .smartka .bstyle_smart .box {
	background-color: var(--white);
	box-shadow: 1px 4px 5px 2px rgba(0, 0, 0, .1);
}

#three .smartka .bstyle_smart .box + p {
	position: absolute;
	bottom: -94px;
	left: 50%;
	padding: 10px 8px;
	width: 100%;
	border-radius: 56px;
	background-color: var(--red);
	color: var(--white);
	text-align: center;
	transform: translateX(-50%);
}

#three .tech + p {
	width: calc(100% - 240px);
	margin-top: 10px;
	font-size: var(--fontSize18);
	letter-spacing: -.8px;
}

#three .smartka .box p {
	margin-bottom: 8px;
	padding-bottom: 4px;
	border-bottom: 1px solid #b7bdc0;
	font-size: var(--fontSize18);
	font-weight: 600;
}

#three .smartka .box .midashi {
	margin-bottom: 24px;
	border-bottom: 0;
	text-align: center;
}

@media screen and (max-width: 1060px) {
	#three .tech {
		flex-direction: column;
		align-items: center;
	}
	#three .tech + p {
		width: 100%;
		margin-top: 94px;
	}
	#three .kadai {
		margin-bottom: 124px;
	}
	#three .kadai:before {
		bottom: -73px;
		left: 0;
		right: 0;
		top: unset;
		margin: auto;
		transform: rotate(90deg);
	}
}

@media screen and (max-width: 768px) {
	#three .kadai,
	#three .kadai .kadai_detail {
		min-width: unset;
		width: 100%;
	}
	#three .smartka .box {
		min-width: unset;
	  min-height: unset;
	  flex-basis: 49%;
		padding: 40px 12px 16px;
	}
	#three .smartka .jurai.box {
		padding: 40px 12px;
	}
	#three .smartka .bstyle_smart {
		flex-basis: 49%;
	}
	#three .tech + p {
		font-size: var(--fontSize16);
	}
}
@media screen and (max-width: 480px) {
	#three .kadai .kadai_detail .kadai1 {
		left: 8px;
	}
	#three .kadai .kadai_detail .kadai3 {
		right: 8px;
	}
	#three .kadai .kadai_detail span {
		width: 112px;
	  min-height: 112px;
	  font-size: var(--fontSize16);
	}
	#three .kadai::after {
		background-size: 25vw;
	}
	#three .smartka .box p {
		font-size: var(--fontSize16);
	}
}

#three .ruikei_sub {
	margin-top: 48px;
	font-size: var(--fontSize24);
	text-align: center;
	font-weight: 600;
}

#three h3.ruikei {
	font-size: var(--fontSize38);
	text-align: center;
	font-weight: 600;
}

#three h3.ruikei .number {
	color: var(--red);
	font-size: var(--fontSize56);
}

#three .jigyo {
	display: flex;
	justify-content: space-between;
	column-gap: 16px;
	margin-bottom: 136px;
}

#three .jigyo_box {
	min-height: 672px;
	display: flex;
	flex-direction: column;
	align-items: center;
	border: 1px solid #b7bdc0;
	border-radius: 8px;
	background-color: var(--white);
	padding: 32px;
}

#three .jigyo_box h4 {
	min-width: 298px;
	margin-bottom: 20px;
	padding: 16px;
	border-radius: 48px;
	background-color: var(--red);
	color: var(--white);
	font-size: var(--fontSize30);
	text-align: center;
}

#three .jigyo_box h4.haken_color {
	background-color: #ef765e;
}

#three .jigyo_box h4 + p {
	font-size: var(--fontSize18);
}

#three .jigyo_box .toppa {
	margin-bottom: 32px;
	color: var(--red);
	font-size: var(--fontSize24);
	font-weight: 600;
}

#three .jigyo_box .toppa .number {
	font-size: var(--fontSize40);
}

#three .jigyo_box .toppa .sya {
	padding-right: .1em;
	font-size: var(--fontSize32);
}

@media screen and (max-width: 1170px) {
	#three .jigyo_box {
		min-height: 610px;
	}
}
@media screen and (max-width: 1100px) {
	#three .jigyo_box {
		min-height: 550px;
	}
}
@media screen and (max-width: 810px) {
	#three .jigyo {
		flex-direction: column;
		margin-bottom: 72px;
	}
	#three .jigyo_box {
		min-height: unset;
	}
	#three .jigyo .jigyo_wrap:first-child {
		margin-bottom: 40px;
	}
}
@media screen and (max-width: 768px) {
	 #three .ruikei_sub {
		font-size: var(--fontSize18);
	 }
	 #three h3.ruikei .number {
		 font-size: var(--fontSize46);
	 }
	 #three .jigyo_box {
		 padding: 32px 16px;
	 }
	 #three .jigyo_box h4 {
		padding: 6px;
		font-size: var(--fontSize22);
	 }
	 #three .jigyo_box .toppa {
		 font-size: var(--fontSize20);
	 }
	 #three .jigyo_box .toppa .number {
	  font-size: var(--fontSize34);
	}
	#three .jigyo_box .toppa .sya {
		font-size: var(--fontSize24);
	}
	#three .answer_box {
		margin-bottom: 16px;
		padding: 24px 16px;
	}
	#three .q_text .qa_mark {
		padding: 0px 7px 0px;
		font-size: var(--fontSize16);
	}
	#three .midashi02 {
		flex-direction: column;
	}
}

#three .q_text {
	margin-bottom: 32px;
	font-size: var(--fontSize18);
	font-weight: 600;
}

#three .q_text .qa_mark {
	margin-right: .75em;
  padding: 0px 10px 4px;
  border: 1px solid var(--black);
	font-size: var(--fontSize20);
}

#three .faq_answer {
	margin-bottom: 64px;
	padding: 32px;
	background-color: var(--white);
}

#three .answer_box {
	margin-bottom: 32px;
	padding: 24px;
	background-color: #f5f5f5;
}

#three .answer_box .q_text {
	margin-bottom: 24px;
	color: var(--red);
}

#three .answer_box .q_text .qa_mark {
	border-color: var(--red);
}

#three .answer_box .q_text + p {
	margin-bottom: 0;
}

#three .jiku_blk h4 {
	display: inline-block;
	margin-bottom: 36px;
  padding-bottom: 4px;
	border-bottom: 2px solid var(--red);
	font-weight: bold;
  font-size: var(--fontSize30);
}

#three .ninshiki {
	font-size: var(--fontSize14);
}

@media screen and (max-width: 1100px) {
	#three .faq_answer {
		padding: 24px 16px;
	}
}

@media screen and (max-width: 768px) {
	#three .ninshiki {
		margin-top: 16px;
		margin-bottom: 0;
	}
	#three .faq_answer:last-child {
		margin-bottom: 0;
	}
}

/*以下、タイミング軸と雇用形態軸→画像へ*/
/* #three .timing,
#three .keitai {
	position: relative;
}

#three .timing:after {
	position: absolute;
	content: "";
	top: 50%;
	right: -104px;
	transform: translate(-50%);
	background: url('images/bg_batsu.png') no-repeat center / 46px;
	width: 46px;
	height: 46px;
}

#three .keitai .jiku + p {
	position: absolute;
	bottom: 10px;
	left: 48px;
}

 #three .jiku_blk {
  display: flex;
  justify-content: space-between;
  align-items: center;
	padding: 32px 16px 10px;
}

#three .jiku_blk + p {
	letter-spacing: -.5px;
}

#three .jiku_no {
	margin-bottom: 4px;
	font-size: var(--fontSize18);
  font-weight: 500;
}

#three .jiku_no.big {
	margin-bottom: 16px;
	font-size: var(--fontSize24);
}

#three .jiku_no .no {
	position: relative;
	margin-right: .4em;
	padding-bottom: 2px;
	color: #e2e2e2;
	z-index: 1;
}

#three .jiku_no.big .no {
	margin-right: .65em;
	color: var(--white);
}

#three .jiku_no .no:before {
	position: absolute;
	content: "";
	width: 20px;
	height: 20px;
	top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
	border-radius: 50%;
	background-color: var(--red);
	z-index: -1;
}

#three .jiku_no.big .no::before {
	width: 26px;
	height: 26px;
}

#three .jiku_text {
	border-bottom: 1px solid var(--black);
}

#three .timing p:has(.sotsu) {
	font-size: var(--fontSize18);
	font-weight: 600;
}

#three .timing .sotsu {
	display: inline-block;
	min-width: 76px;
	margin-right: 10px;
	margin-left: -2px;
  margin-top: 12px;
	padding: 2px 8px;
  background-color: #f5f5f5;
  border-radius: 24px;
  text-align: center;
}

#three .timing .sotsu:last-child {
	margin-right: 0;
	margin-left: 8px;
}

#three .jiku {
	position: relative;
	letter-spacing: -.5px;
}

#three .jiku3 {
	position: absolute;
	top: 168px;
	left: 128px;
}

#three .jiku4 {
	position: absolute;
	top: 168px;
	left: 284px;
}

#three .jiku5 {
	position: absolute;
	top: 308px;
	left: 182px;
	color: var(--red);
	letter-spacing: -1.3px;
}

#three .jiku3 .jiku_no + p {
	display: flex;
	flex-direction: column;
}

#three .jiku5 .jiku_no + p,
#three .jiku4 .jiku_no + p {
	display: flex;
	flex-wrap: wrap;
}

#three .jiku4 .jiku_no + p {
	width: 180px;
}

#three .jiku4 .jiku_no + p .jiku_child:nth-child(3),
#three .jiku4 .jiku_no + p .jiku_child:first-child {
	flex-basis: 33%;
}

#three .jiku4 .jiku_no + p .jiku_child:nth-child(2),
#three .jiku4 .jiku_no + p .jiku_child::nth-child(4) {
	flex-basis: 66%;
}

#three .jiku4 .jiku_no + p .jiku_child:last-child {
	flex-basis: 100%;
}

#three .jiku5 .jiku_no .jiku_text {
	border-color: var(--red);
}

#three .jiku5 .jiku_no + p {
	width: 150px;
  text-align: center;
}

#three .jiku5 .jiku_no + p .jiku_child {
	flex-basis: 48%;
}

@media screen and (max-width: 1100px) {
	#three .faq_answer {
		padding: 24px 16px;
	}
	#three .jiku_blk {
		padding: 32px 0 10px;
	}
} */

#three .midashi02 {
	display: flex;
  align-items: center;
	justify-content: center;
	font-size: var(--fontSize24);
	font-weight: 600;
}

#three .jigyo_bunrui {
	display: flex;
  justify-content: space-between;
	align-items: flex-start;
	column-gap: 4px;
	margin-bottom: 32px;
}

#three .haken_bunrui {
	display: flex;
	flex-wrap: wrap;
	flex-basis: calc(100% - 33.5%);
}

#three .haken_bunrui .midashi03 {
	flex-basis: 100%;
	background-color: #ef765e;
}

#three .haken_bunrui .jitan_box {
	flex-basis: 50%;
	border-right: 1px solid #8d8d8d;
}

#three .midashi03 {
	margin-bottom: 24px;
	padding: 4px 16px;
	border-radius: 4px;
	background-color: var(--red);
	color: var(--white);
	font-size: var(--fontSize18);
	text-align: center;
	font-weight: 600;
}

#three .hiritsu_head {
	font-size: var(--fontSize24);
	font-weight: 600;
	text-align: center;
	line-height: 1;
  margin-bottom: 30px;
	z-index: 1;
  position: relative;

}

#three .hiritsu_head sup {
	font-size: var(--fontSize14);
}

#three .hiritsu_blk {
	display: flex;
	align-items: center;
	justify-content: center;
}

#three .jigyo_bunrui .numeric {
	font-size: var(--fontSize56);
	color: var(--red);
	line-height: 1;
	font-weight: 600;
}

#three .jigyo_bunrui .pct {
	font-size: var(--fontSize38);
	font-weight: 600;
}

#three .hiritsu_blk p:has(img),
#three .numeric_pct {
	margin-bottom: 0;
}

#three .numeric_pct {
	margin-left: 12px;
	position: relative;
  z-index: 1;
}

#three .media_bunrui {
	position: relative;
	flex-basis: 33.5%;
}

#three .media_bunrui .media_hosoku {
  position: absolute;
  top: 68px;
  right: 0;
  max-width: 90px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  padding: 10px;
  text-align: center;
  background-color: #ffe1e1;
  border-radius: 50%;
}

#three .case {
	display: flex;
	column-gap: 16px;
	margin-bottom: 28px;
}

#three .case02,
#three .case01 {
	padding: 24px 16px 8px;
	background-color: #f5f5f5;
	border-radius: 4px;
}

#three .case01 {
	flex-basis: 46%;
}

#three .case02 {
	flex-basis: calc(100% - 45%);
}

#three .case table {
	margin-bottom: 0;
}

#three .case01 table {
	margin: 48px 0;
}

#three .case table th,
#three .case table td {
	padding: 4px;
	background-color: transparent;
	border: 0;
	border-bottom: 5px solid #f5f5f5;
	font-size: var(--fontSize18);
	letter-spacing: -.5px;
	vertical-align: middle;
}

#three .case01 table tr {
	line-height: 1.2;
}

#three .case02 table tbody tr:first-child td,
#three .case02 table tbody tr:first-child th {
	border-bottom: 1px solid #8d8d8d;
}

#three .case02 table tbody tr td,
#three .case02 table tbody tr th  {
	  padding: 10px 4px;
}

#three .case table th.haken_color_b {
  background-color: var(--black);
  color: var(--white);
}

#three .case table th.haken_color_g {
  background-color: #818089;
  color: var(--white);
}

#three .midashi04 {
	margin-bottom: 24px;
	font-size: var(--fontSize18);
	font-weight: 600;
	background: url('images/bg_kyusyokusya.png') no-repeat 34% 50% / 30px;
	text-align: center;
}

#three .case02 .midashi04 {
	background: url('images/img_kyujinkigyo.png') no-repeat 37% 50% / 26px;
}

#three .case .case02 table th.haken_color_b {
	border-right: 16px solid #f5f5f5;
}

#three .case table .numeric {
	font-size: var(--fontSize24);
}

@media screen and (max-width: 1004px) {
	#three .case02,
	#three .case01 {
		padding: 24px 8px 8px;
	}
}
@media screen and (min-width: 981px) {
	#three .br_br {
		display: none;
	}
}
@media screen and (max-width: 980px) {
	#three .hiritsu_blk img {
		width: 50px;
		height: auto;
	}
	#three .media_bunrui .hiritsu_blk img {
		width: 70px;
		height: auto;
	}
	#three .jigyo_bunrui .numeric {
		font-size: var(--fontSize50);
	}
	#three .media_bunrui .media_hosoku {
		right: -24px;
		font-size: 11px;
	}
	#three .case02,
	#three .case01 {
		padding: 24px 8px 8px;
	}
	#three .case table th,
	#three .case table td {
		font-size: var(--fontSize18);
	}
	#three .case table .numeric {
		font-size: var(--fontSize22);
	}
	#three .br_br {
		display: block;
	}
	#three .midashi04 {
		background-position-x: 28%;
	}
	#three .case02 .midashi04 {
 		background-position-x: 31%;
	}
}
@media screen and (max-width: 768px) {
	#three .faq_answer {
		padding: 24px 8px;
	}
	#three .jigyo_bunrui {
		flex-direction: column;
  	align-items: center;
	}
	#three .haken_bunrui {
	  flex-basis: 100%;
	  width: 100%;
	  margin-bottom: 24px;
	}
	#three .media_bunrui {
		flex-basis: 100%;
		width: 100%;
		max-width: 300px;
	}
	#three .case {
		flex-direction: column;
		width: 100%;
		max-width: 500px;
		margin: 0 auto 24px;
		background-color: #f5f5f5;
	}
	#three .case01 {
		max-width: 400px;
		margin: 0 auto;
		width: 100%;
  }
	#three .haken_bunrui .jitan_box:last-child {
		border-right: 0;
	}
	#three .hiritsu_head {
		font-size: var(--fontSize18);
	}
	#three .jigyo_bunrui .numeric {
		font-size: var(--fontSize40);
	}
	#three .jigyo_bunrui .pct {
		font-size: var(--fontSize24);
	}
	#three .media_bunrui .media_hosoku {
		right: -10px;
	}
	#three .case02 .midashi04 {
		background-position-x: 28%;
	}
	#three .case table th,
	#three .case table td {
		font-size: var(--fontSize14);
	}
	#three .case02 table tbody tr td,
	#three .case02 table tbody tr th {
		padding: 10px 0px;
	}
	#three .case .case02 table th.haken_color_b {
		border-right: 8px solid #f5f5f5;
	}
	#three .case01 table {
		margin: 0 0 16px;
	}
}
@media screen and (max-width: 350px) {
	#three .hiritsu_head {
		font-size: var(--fontSize16);
	}
}

#three .social_history {
	margin-top: 72px;
	margin-left: 48%;
	position: relative;
	font-size: var(--fontSize18);
}

#three .social_history::before {
	content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 46px;
  display: block;
	width: 4px;
	background-color: var(--black);
}

#three .social_history dl {
  padding: 40px 0 40px 40px;
	position: relative;
}

#three .social_history dl:before {
	content: "";
  position: absolute;
	top: -6px;
	left: -6px;
	display: inline-block;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--black);
}

#three .social_history dl:after {
	content: "";
	position: absolute;
	bottom: -138px;
	left: -10px;
	width: 0;
	height: 0;
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
	border-top: 18px solid var(--black);
}

#three .box_data,
#three .box_intro,
#three .dl_blk {
  display: flex;
	align-items: center;
}

#three .box_data,
#three .box_intro {
	margin-bottom: 48px;
}

#three .dl_blk {
	padding: 40px 0;
}

#three .dl_blk.special {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	position: relative;
}

#three .dl_blk.special:before {
	content: "";
	position: absolute;
	top: 34px;
	left: -86px;
	width: 0;
	height: 0;
	border-left: 18px solid var(--black);
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
}

#three .to_mirai,
#three .dl_blk.special .pkup {
	position: absolute;
	min-width: 200px;
	top: 22px;
	left: -62px;
	padding: 6px 24px;
	border-radius: 40px;
	background-color: var(--red);
	color: var(--white);
	text-align: center;
	letter-spacing: 6px;
	font-weight: normal;
	z-index: 1;
}

#three .history_from {
	display: flex;
  column-gap: 0.5em;
  margin-left: -490px;
  margin-top: 16px;
	font-size: var(--fontSize14);
	line-height: 1.6;
}

#three .to_mirai {
	display: inline-block;
  margin-left: -33px;
  margin-top: 16px;
	position: relative;
  z-index: 1;
}

#three .dl_blk.special .pkup_detail {
	display: block;
	padding: 40px 32px;
	background-color: #f5f5f5;
	color: var(--red);
	font-weight: normal;
	line-height: 1.4;
}

#three .dl_blk.special.special02 .dd_box {
	top: -114px;
}

#three .dl_blk.special.special03 .dd_box {
	top: -284px;
}

#three .dl_blk.special.special03 {
	margin-bottom: 512px;
}

#three .dl_blk.special.special04 .dd_box {
	top: -280px;
}

#three .dl_blk.special.special03 .pkup,
#three .dl_blk.special.special02 .pkup {
	letter-spacing: 1px;
}

#three .dl_blk.special dt {
	width: 100%;
}

#three .dd_box {
	position: absolute;
	width: 446px;
	left: -532px;
	top: -260px;
	padding: 56px 12px 16px 32px;
  border: 2px solid var(--black);
  border-radius: 4px;
	background-color: var(--white);
  z-index: 1;
}

#three .social_nen {
	display: inline-block;
	width: 4.2em;
}

#three .social_detail {
	display: inline-block;
	padding-left: .85em;
	border-left: 1px solid var(--black);
	letter-spacing: -.2px;
	line-height: 1.4;
}

#three .special .social_detail {
	width: calc(100% - 4.2em);
}

#three .color_red .social_detail {
	border-color: var(--red);
}

#three .box_data .img_info {
	display: flex;
	flex-direction: column;
	margin-left: 2em;
	font-weight: 600;
}

#three .special .br_brbr {
	display: block;
}

@media screen and (min-width:769px) and ( max-width:1043px) {
	#three .social_history {
		margin-left: 48vw;
	}
	#three .dd_box {
		width: 340px;
		left: -422px;
	}
	#three .box_data .img_info {
		margin-left: 1em;
	}
	#three .box_data img {
		width: 180px;
		height: auto;
	}
	#three .special .br_brbr {
		display: none;
	}
}

@media screen and (max-width: 768px) {
	#three .social_history {
		margin-top: 48px;
		margin-left: 24px;
		font-size: var(--fontSize16);
	}
	#three .social_history dl {
		padding: 0 0 0 40px;
	}
	#three .dl_blk {
		padding: 24px 0;
	}
	#three .dl_blk.special.special04 .dd_box,
	#three .dl_blk.special.special03 .dd_box,
	#three .dl_blk.special.special02 .dd_box,
	#three .dd_box {
		position: relative;
		left: unset;
		top: unset;
		margin-top: 16px;
		width: 100%;
    max-width: 440px;
		padding: 40px 12px 16px 24px;
	}
	#three .dl_blk.special.special03 {
		margin-bottom: 0;
	}
	#three .dl_blk.special::before {
		content: none;
	}
	#three .history_from {
		margin-left: 40px;
	}
	#three .to_mirai {
		margin-left: 36px;
		font-size: var(--fontSize18);
	}
	#three .dd_box:before {
		content: "";
		position: absolute;
		top: -18px;
		left: 92px;
		width: 0;
		height: 0;
		border-left: 8px solid transparent;
		border-right: 8px solid transparent;
		border-bottom: 18px solid var(--black);
	}
}
@media screen and (max-width: 480px) {
	#three .box_data .img_info {
		margin-left: 1em;
	}
	#three .box_data img {
		width: 160px;
		height: auto;
	}
	#three .social_history dl {
    padding: 0 0 0 24px;
  }
	#three .dl_blk.special .pkup_detail {
		padding: 40px 24px 24px;
	}
	#three .box_data,
	#three .box_intro {
	  margin-bottom: 22px;
	}
	#three .dl_blk.special.special04 .dd_box,
	#three .dl_blk.special.special03 .dd_box,
	#three .dl_blk.special.special02 .dd_box,
	#three .dd_box {
		padding: 24px 8px 0 8px;
	}
	#three .box_intro {
	  margin-bottom: 24px;
	}
	#three .dd_box .social_nen {
		width: 4em;
	}
	#three .special .social_detail {
	  width: calc(100% - 4.2em);
	}
	#three .history_from {
    margin-left: 24px;
  }
	#three .history_from .from_where {
		width: 4em;
  }
	#three .social_history::before {
		bottom: 42px;
	}
	#three .social_history dl::after {
		bottom: -138px;
	}
}

@media screen and (max-width: 399px) {
	#three .social_history::before {
		bottom: 24px;
	}
	#three .social_history dl::after {
		bottom: -184px;
	}
}

@media screen and (max-width: 365px) {
	#three .social_history dl::after {
		bottom: -205px;
	}
}

#three .mirai {
	margin-top: -12px;
	display: flex;
	justify-content: space-between;
	column-gap: 40px;
	padding: 64px 48px;
	background-color: #f5f5f5;
}

#three .mirai_left {
	margin-top: 16px;
}

#three .mirai_text p {
	margin-bottom: 24px;
	font-size: var(--fontSize18);
}

#three .mirai h4 {
  display: inline-block;
	margin-bottom: 16px;
  padding: 2px 16px 4px;
  border-radius: 40px;
	background-color: var(--black);
  color: var(--white);
  font-size: var(--fontSize20);
}

#three .mirai_right .hosoku {
	margin-bottom: 40px;
	font-size: var(--fontSize20);
	font-weight: 600;
	text-align: right;
}

#three .mirai_right .hosoku .color_red {
	font-size: var(--fontSize22);
}

#three .kaiketsu {
	padding: 40px 32px;
	background-color: var(--white);
}

#three .img_future {
	margin-bottom: 56px;
	padding: 40px 32px;
	background-color: var(--white);
	text-align: center;
}

#three .more_hosoku {
	margin-bottom: 48px;
	text-align: center;
}

#three .more {
	display: flex;
	justify-content: center;
	font-weight: 600;
}

#three .more img.external {
	display: none;
}

#three .contents-inner .more-btn:hover {
	color: var(--white);
}

@media screen and (max-width: 768px) {
	#three .mirai {
		flex-direction: column;
		padding: 32px 12px;
	}
	#three .mirai h4 {
		font-size: var(--fontSize18);
	}
	#three .mirai_right .hosoku .color_red {
		font-size: var(--fontSize18);
	}
	#three .mirai_right .hosoku,
	#three .three_intro .intro {
		font-size: var(--fontSize16);
	}
	#three .img_future {
		padding: 20px 8px;
	}
}


/* footer
================================================== */
#main-footer {
	padding: 80px 0 40px;
	background: var(--black) url('images/bg_footer.svg') no-repeat 50% 50% / cover;
	color: var(--white);
}

#main-footer a {
	color: var(--white);
}

#main-footer > .inner {
	display: flex;
	justify-content: space-between;
	column-gap: 14%;
}

#main-footer .logo {
	min-width: 156px;
}

.footer-nav {
	flex: 1;
	display: flex;
	justify-content: space-between;
	column-gap: 16px;
	margin-top: 32px;
}

.nav-general {
	width: 38%;
}

.nav-ir {
	flex: 1;
}

.footer-nav ul li a {
	display: block;
	position: relative;
	font-weight: 500;
	font-size: var(--fontSize14);
}

.footer-nav .en {
	color: var(--white);
	font-size: var(--fontSize22);
	font-weight: 400;
	line-height: 1.4;
}

.footer-nav .ja {
	display: block;
  margin-bottom: 16px;
	color: rgba(255,255,255,.35);
	font-size: var(--fontSize12);
	font-weight: 400;
}

.nav-general > li:not(:last-child) {
	margin-bottom: 36px;
}

.footer-nav ul li ul li:not(:last-child) {
	margin-bottom: 8px;
}

.footer-nav ul li ul li ul {
	margin-top: 8px;
	margin-left: .5em;
}

.footer-nav ul li ul li a {
	padding-left: 8px;
}

.footer-nav ul li ul li a:before {
	position: absolute;
	content: "";
	top: .75em;
	left: 0;
	width: 4px;
	height: 2px;
	background: var(--white);
}

.nav-ir > li {
	display: flex;
	justify-content: space-between;
	column-gap: 16px;
	flex-wrap: wrap;
}

.nav-ir > li > a {
	width: 100%;
}

.nav-ir > li > ul:first-of-type {
	width: 60%;
}

.nav-ir > li > ul:last-of-type {
	flex: 1;
}

.footer-bottom {
	margin-top: 64px;
}

.footer-bottom .inner {
  display: flex;
  justify-content: space-between;
	flex-wrap: wrap;
	position: relative;
}

.footer-bottom .sns {
	position: absolute;
	top: -94px;
	left: 0;
}

.footer-bottom .sites li {
	position: relative;
  display: inline-block;
  margin-right: 1.6em;
}

.footer-bottom .sites li:not(:last-child):before {
	content: "";
	position: absolute;
	width: 1px;
	height: .75em;
	right: -1em;
	top: 36%;
	background-color: var(--white);
}

.footer-bottom .sites li a {
	font-size: var(--fontSize12);
}

.footer-bottom .copyright small {
	font-size: var(--fontSize12);
}

@media screen and (max-width: 1000px) {
	#main-footer > .inner {
		column-gap: 8%;
	}

	#main-footer .logo {
		width: 156px;
	}

	.footer-nav {
		margin-top: 16px;
	}

	.nav-general {
		width: 35%;
	}
}

@media screen and (min-width: 769px) {
	.footer-nav ul li ul {
		display: block !important;
	}
}

@media screen and (max-width: 768px) {
	#main-footer {
		padding: 40px 0;
	}

	#main-footer > .inner,
	.footer-nav,
	.nav-ir > li {
		flex-direction: column;
	}

	.footer-nav {
		margin-top: 0;
	}

	.nav-general,
	.nav-ir > li > ul:first-of-type {
		width: auto;
	}

	.footer-nav > ul > li {
		margin-top: 32px;
	}

	.nav-general > li:not(:last-child) {
		margin-bottom: 0;
	}

	.footer-nav .en {
		display: inline-block;
		width: 8em;
		max-width: 100%;
		font-size: var(--fontSize18);
	}

	.footer-nav .ja {
		display: inline-block;
		margin-bottom: 0;
		font-size: var(--fontSize11);
	}

	.footer-nav ul li ul {
		display: none;
	}

	.footer-nav .toggle + ul {
		margin-top: 16px;
	}

	.footer-nav ul li ul li,
	.footer-nav ul li ul li:not(:last-child) {
		margin-bottom: 2px;
	}

	.footer-nav ul li ul li a {
		padding: 8px 16px 8px 24px;
		background-color: var(--black);
		font-size: var(--fontSize11);
	}

	.footer-nav ul li ul li a:before {
		top: 50%;
		left: 16px;
		height: 1px;
	}

	.footer-nav ul li ul li ul {
		display: none;
	}

	.footer-nav .toggle {
		display: block;
		position: relative;
	}

	.footer-nav .toggle:after {
		position: absolute;
		content: "";
		width: 6px;
	  height: 4px;
	  border-top: 5px solid var(--white);
	  border-left: 5px solid transparent;
	  border-right: 5px solid transparent;
	  top: 42%;
	  right: 0;
	}

	.footer-nav .toggle.is_navOpen:after {
		transform: rotate(180deg);
	}

	.footer-nav .external {
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
	}

	.footer-bottom .inner {
		align-items: baseline;
	}

	.footer-bottom .sns {
		position: relative;
		top: auto;
		left: auto;
	}

	.footer-bottom .sites {
		width: 100%;
		margin-bottom: 50px;
	}
}

@media screen and (max-width: 480px) {
	.footer-bottom .sites li {
	  margin-right: .75em;
	}

	.footer-bottom .sites li:not(:last-child):before {
		right: -.55em;
	}
}

@media screen and (max-width: 370px) {
	.footer-bottom .sites li a {
		font-size: var(--fontSize11);
	}
}

@media screen and (max-width: 340px) {
	.footer-bottom .sites li a {
		font-size: var(--fontSize10);
	}
}


/* Animation
================================================== */
#three .slow.fadeIn_item.fadeIn,
.contents-inner .slow.fadeIn_item.fadeIn,
#home .recruitment .blk_txt.fadeIn,
#home .news .news_list.fadeIn,
#home .service .splide__list.fadeIn,
#home .story .blk_img.fadeIn {
	animation: fadeUp 2.4s ease .6s 1 normal forwards;
}

#three .fast.fadeIn_item.fadeIn,
.contents-inner figure.fadeIn_item.fadeIn,
.contents-inner .fast.fadeIn_item.fadeIn,
.contents-inner p.fadeIn_item.fadeIn,
.contents-inner div.fadeIn_item.fadeIn,
.link_wrap.fadeIn,
#home .recruitment .blk_img.fadeIn,
#home .news .flex.fadeIn,
#home .service .flex.fadeIn,
#home .story .blk_txt.fadeIn {
	animation: fadeUp 1.6s ease .2s 1 normal forwards;
}

@media screen and (max-width: 768px) {
	#management .ir_message_sign,
	#home .service .splide__list.fadeIn {
		animation: none;
		opacity: 1;
	}
}

.fadeIn {
  opacity: 0;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.fadeIn_item {
   opacity: 0;
}
