@charset "utf-8";

.bold {
	font-weight: 600 !important;
}

.t_center {
	text-align: center !important;
}

.t_right {
	text-align: right !important;
}

.t_left {
	text-align: left !important;
}

.f12 {
	font-size: 12px !important;
	font-size: 1.2rem !important;
}

.f13 {
	font-size: 13px !important;
	font-size: 1.3rem !important;
}

.f14 {
	font-size: 14px !important;
	font-size: 1.4rem !important;
}

.f15 {
	font-size: 15px !important;
	font-size: 1.5rem !important;
}

.mt00 {
	margin-top: 0 !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mt60 {
	margin-top: 60px !important;
}

.mt70 {
	margin-top: 70px !important;
}

.mt80 {
	margin-top: 80px !important;
}

.mb00 {
	margin-bottom: 0 !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.mb70 {
	margin-bottom: 70px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}

.image-caption {
	font-size: 12px;
	color: #999;
	margin-top: 4px;
}

.container {
	width: 100%;
	padding: 0 24px;
	max-width: auto;
	margin: 0 auto;
	box-sizing: border-box;
}

.mobile-only {
	display: block;
}

.desktop-only {
	display: none;
}

.desktop_hero {
	display: none;
}

.fv_new {
	margin: 0 12px;
}

@media screen and (min-width: 768px) {
	.container {
		max-width: 1200px;
		padding: 0;
	}

	.fv_new {
		margin: 0 36px;
	}

	.mobile-only {
		display: none;
	}

	.desktop-only {
		display: block;
	}

	.desktop_hero {
		display: block;
		position: relative;
		height: 641px;
		margin: 0 48px;
	}

	.desktop_hero img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.desktop_hero .square {
		position: relative;
		background: rgba(255, 255, 255, 0.7);
		/* padding: 24px; */
		width: 50%;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 32px;
		z-index: 1;
	}
}

/************************************************

  PC layout

************************************************/
/* =========================================
  base
========================================= */
img,
iframe {
	max-width: 100%;
}

#bbpro .filter img {
	height: auto;
}

img {
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
	height: auto;
}

a:hover img {
	opacity: 0.7;
}

a,
a:visited {
	color: inherit;
}

a:hover {
	text-decoration: none;
}

.sec_inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 20px;
}

.pc_none {
	display: none !important;
}

.img_cover {
	font-family: 'object-fit: cover;';
	/* IE */
}

.phone_number {
	text-decoration: none;
	pointer-events: none;
}

.yu_mincho {
	font-family: "Yu Mincho", "YuMincho", serif;
}

.ml-1 {
	margin-left: 4px;
}

.aligncenter {
	margin: 0 auto;
	display: flex;
}

/*  heading
------------------------------------ */
.head_type01 {
	font-size: 60px;
	font-size: 6.0rem;
	padding: 30px 10px 10px 45px;
	background: url(../img/common/ico01.png) no-repeat 0 0;
}

.head_type02 {
	font-size: 29px;
	font-size: 2.9rem;
	font-weight: 600;
	margin: 60px 0 0;
}

.head_type02 span {
	position: relative;
}

.head_type02 span::before {
	content: '';
	width: 9979px;
	height: 1px;
	margin: auto;
	background: #000;
	position: absolute;
	top: 0;
	bottom: 0;
	left: -9999px;
}

/*  menu button
------------------------------------ */
#menu_btn {
	display: none;
}

/*  pagenation
------------------------------------ */
.pagenation {
	font-size: 0;
	text-align: center;
	margin: 50px 0 0;
}

.pagenation li {
	font-size: 14px;
	font-size: 1.4rem;
	display: inline-block;
}

.pagenation li span,
.pagenation li a {
	text-decoration: none;
	padding: 10px 15px;
	display: block;
	background: #eee;
	border: solid 1px #fff;
	border-radius: 5px;
	-webkit-transition: all .2s ease;
	transition: all .2s ease;
}

.pagenation .current span,
.pagenation li a:hover {
	color: #fff;
	background: #0000fa;
}

/* =========================================
  header
========================================= */

.newHeader {
	display: flex;
	justify-content: space-between;
}

.newHeader .logo {
	width: 100px;
}

.newHeader .navigation {
	display: flex;
	align-items: center;
	gap: 36px;
	font-weight: 500;
	font-family: sans-serif;
}

.newHeader .navigation a {
	text-decoration: none;
}

#header {
	padding: 26px 64px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#logo a {
	display: block;
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}

#logo a img {
	height: 91px;
}

/*  nav
------------------------------------ */
#gnav {
	text-align: right;
	width: 900px;
	font-weight: 500;
	font-family: sans-serif;
}

#gnav li {
	font-size: 18px;
	letter-spacing: 1.5px;
	margin: 0 0 0 47px;
	display: inline-block;
	position: relative;
}

#gnav li:nth-child(2) {
	margin-left: 0;
}

#gnav li.spbtn {
	display: none;
}

#gnav li a {
	color: white;
	text-decoration: none;
	display: inline-block;
	position: relative;
}

#gnav li a::after {
	content: '';
	width: 100%;
	height: 2px;
	background: #4d4d4d;
	position: absolute;
	bottom: -2px;
	left: 0;
	-webkit-transition: transform .3s;
	transition: transform .3s;
	-webkit-transform: scale(0, 1);
	-moz-transform: scale(0, 1);
	-ms-transform: scale(0, 1);
	transform: scale(0, 1);
	-webkit-transform-origin: right top;
	-moz-transform-origin: right top;
	-ms-transform-origin: right top;
	transform-origin: right top;
}

#gnav li a:hover::after {
	-webkit-transform: scale(1, 1);
	-moz-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	transform: scale(1, 1);
	-webkit-transform-origin: left top;
	-moz-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
}

#gnav .dropdown,
#gnav .dropdown.en {
	width: auto;
}

#gnav ul li ul {
	visibility: hidden;
	opacity: 0;
	position: relative;
	transition: all 0.5s ease;
	left: 0;
	display: none;
	color: white;
	padding: 12px 24px;
	border-radius: 5px;
	text-align: left;
}

#gnav ul li:hover>ul,
ul li ul:hover {
	visibility: visible;
	opacity: 1;
	display: block;
}

#gnav ul li ul li {
	clear: both;
	width: 100%;
	margin: 0;
	margin-top: 4px;
}

#gnav ul li ul li a {
	font-size: 0.9em;
	margin: 4px 0;
}

.lang-select {
	color: white;
	margin-bottom: 8px;
	font-size: 14px;
}

.lang-select a:nth-child(1) {
	padding-right: 16px;
	border-right: 1px solid white;
}

.lang-select a {
	padding-left: 8px;
}

@media screen and (min-width: 768px) {
	#gnav li a {
		color: black;
		text-decoration: none;
		display: inline-block;
		position: relative;
	}

	#gnav ul li ul {
		visibility: hidden;
		opacity: 0;
		position: absolute;
		transition: all 0.5s ease;
		left: 0;
		display: none;
		background-color: hsl(223, 13%, 21%);
		color: white;
		padding: 12px 24px;
		border-radius: 5px;
		text-align: left;
	}

	#gnav .dropdown {
		width: 165px;
	}

	#gnav .dropdown.en {
		width: 350px;
	}
}

/* =========================================
  footer
========================================= */
#footer .footer-contact {
	padding: 48px
}

#footer .f_menu {
	padding: 60px 0;
	background-color: black;
}

#footer .f_menu .inner {
	display: flex;
	justify-content: space-between;
}

#footer .f_menu a {
	color: #fff;
	text-decoration: none;
}

#footer .f_menu a:hover {
	text-decoration: underline;
}

#footer .logo {
	width: 250px;
}

#footer .f_nav {
	display: flex;
	gap: 36px;
}

#footer .f_nav li {
	margin-bottom: 6px;
	font-size: 12px;
	letter-spacing: 2.5px;
}

#footer .f_nav .nav01,
#footer .f_nav .nav02 {
	display: flex;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
}

#footer .f_nav .nav01 li {
	width: 195px;
}

#footer .f_nav .nav01 li span {
	padding-left: 25px;
	position: relative;
}

#footer .f_nav .nav01 li span::before {
	content: '';
	width: 16px;
	height: 16px;
	margin: auto;
	background: url(../img/common/f_ico.png) no-repeat 50% 50%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
}

#footer .f_nav .nav02 ul {
	width: 300px;
	margin: 30px 0 0;
	padding-left: 25px;
}

#footer .f_nav .nav02 li {
	margin: 10px 0 0;
}

#footer .sns {
	margin: 95px 0 0;
	display: flex;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	justify-content: flex-end
}

#footer .sns li {
	margin: 0 0 0 30px;
}

#footer .sns li:first-child {
	margin-left: 0;
}

#footer .copyright {
	text-align: center;
	margin: 20px 0 0;
	padding: 20px 0 0;
}

#footer .copyright small {
	color: #fff;
	font-size: 14px;
	font-size: 1.4rem;
	font-family: "Yu Mincho", "YuMincho", serif;
}

/* =========================================
  top page
========================================= */
.top_page {
	letter-spacing: 2px;
}

.top_page .play-button {
	width: 24px;
	height: 24px;
	background-color: #c3c3c3;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.top_page .play-icon {
	width: 0;
	height: 0;
	border-left: 7px solid white;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	margin-left: 2px;
}

.top_page .blackButton {
	display: inline-flex;
	border: 1px solid #666;
	padding: 12px 24px;
	align-items: center;
	gap: 24px;
	font-size: 16px;
	text-decoration: none;
	background: black;
	color: white;
}

.top_page .blackButton:hover {
	opacity: 0.7;
}

.top_page .blackButton .play-button {
	background-color: white;
}

.top_page .blackButton .play-icon {
	border-left-color: black;
}

.top_page .animated {
	position: relative;
	transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
	-webkit-transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
	-moz-transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
	-ms-transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
}

.top_page .animated:hover::before {
	left: 0;
	right: auto;
	width: 100%;
}

.top_page .animated::before {
	content: '';
	color: #333 !important;
	width: 0;
	height: 100%;
	background-color: #fff;
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
	transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
	-webkit-transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
	-moz-transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
	-ms-transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
}

/*  sec01
------------------------------------ */
.top_page .top_fv {
	background: url(../img/common/upbase_FV1.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 55vh;
}

.top_page .top_fv img {
	width: 180px;
	margin-top: 40px;
	animation: topFVmoveUp 0.7s ease-out forwards;
}

@keyframes topFVmoveUp {
	from {
		transform: translateY(0);
	}

	to {
		transform: translateY(-40px);
		/* Adjust the value as needed */
	}
}

.top_page .head {
	display: flex;
	align-items: baseline;
	font-size: 32px;
	gap: 16px;
	margin-bottom: 24px;
	font-weight: bold;
}

.top_page .head.block {
	display: block;
}

.top_page .head span {
	display: block;
	font-size: 14px;
	font-weight: normal;
	color: #666;
	letter-spacing: 0px;
}

.top_page .sec01 {
	margin: 0;
}

@media screen and (min-width: 769px) {
	.top_page .top_fv {
		height: 90vh;
		margin: 0 36px;
	}

	.top_page .top_fv img {
		width: 270px;
	}

	.top_page .head.block {
		display: flex;
	}

	.top_page .sec01 {
		margin: 32px 32px;
	}

	.top_page .blackButton {
		padding: 18px 40px;
		gap: 32px;
		font-size: 20px;
	}
}

/*  sec02
------------------------------------ */
.top_page .sec02 {
	margin: 135px 0 0;
	position: relative;
}

.top_page .sec02::before {
	content: '';
	width: 100%;
	max-width: 1664px;
	height: 954px;
	margin: auto;
	background: url(../img/top/bg02.png) no-repeat 50% 0;
	position: absolute;
	top: -480px;
	right: 0;
	left: 0;
	z-index: -10;
}

.top_page .sec02 .ttl {
	/*font-size: 60px;
	font-size: 6.0rem;*/
	font-size: 40px;
	font-size: 4.0rem;
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体";
	font-weight: 600;
	text-align: center;
	letter-spacing: 0.12em;
}

.top_page .sec02 .ttl span {
	position: relative;
}

.top_page .sec02 .ttl span::before {
	content: '';
	width: 30px;
	height: 30px;
	background: url(../img/top/ttl_ico01.png) no-repeat 50% 50%;
	position: absolute;
	top: -28px;
	left: -37px;
}

.top_page .sec02 .txt {
	color: #464646;
	/*font-size: 30px;
	font-size: 3.0rem;*/
	font-size: 20px;
	font-size: 2.0rem;
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体";
	font-weight: 600;
	text-align: center;
	letter-spacing: 0.12em;
	/*line-height: 1.2;*/
	line-height: 1.4;
	margin: 36px 0 0;
}

.top_page .sec02 .img {
	text-align: center;
	margin: 74px 0 0;
}

@media screen and (min-width: 768px) {
	.top_page .sec02 .img {
		padding: 0 350px;
	}
}

/*  sec03
------------------------------------ */
.top_page .sec03,
.top_page .sec04,
.top_page .sec05 {
	padding: 40px 24px;
}

.top_page .sec03 .content {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.top_page .sec03 .buttonSection {
	margin-top: 48px;
	text-align: center;
}

@media screen and (min-width: 768px) {

	.top_page .sec03,
	.top_page .sec04,
	.top_page .sec05 {
		padding: 80px 0;
	}

	.top_page .sec03 .content {
		display: flex;
		flex-direction: row;
		gap: 40px;
	}
}

/*  sec04
------------------------------------ */
.top_page .sec04 .content {
	display: block;
}

.top_page .sec04 .textSection {
	width: auto;
	font-size: 14px;
}

.top_page .sec04 .imageSection {
	width: auto;
	margin-top: 36px;
}

.top_page .sec04 .mainTitle {
	font-weight: bold;
	font-size: 20px;
	margin-bottom: 24px;
}

.top_page .sec04 .buttonSection {
	margin-top: 48px;
	text-align: right;
}

.top_page .sec04 .button {
	display: inline-flex;
	border: 1px solid #666;
	padding: 12px 24px;
	align-items: center;
	gap: 24px;
	font-size: 16px;
	text-decoration: none;
}

.top_page .sec04 .button:hover {
	opacity: 0.7;
}

@media screen and (min-width: 768px) {
	.top_page .sec04 .content {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
	}

	.top_page .sec04 .mainTitle {
		font-size: 24px;
	}

	.top_page .sec04 .textSection {
		width: 550px;
		font-size: 20px;
	}

	.top_page .sec04 .imageSection {
		width: 400px;
	}
}

/*  sec05
------------------------------------ */
.top_page .sec05 .news_container {
	padding: 12px;
	border-bottom: 1px solid #e8e8e8;
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	text-decoration: none;
}

.top_page .sec05 .news_container:hover {
	opacity: 0.7;
}

.top_page .sec05 .news_container .upper {
	display: flex;
	align-items: center;
	font-size: 12px;
	gap: 12px;
	margin-bottom: 6px;
}

.top_page .sec05 .news_container .lower {
	font-size: 14px;
}

@media screen and (min-width: 769px) {
	.top_page .sec05 .news_container .lower {
		font-size: 16px;
	}
}

/* =========================================
  sub page
========================================= */

.sub_page .cont_frame {
	width: 80%;
	max-width: 1440px;
	padding: 5% 5% 9%;
	background: #fff;
	position: relative;
}

.sub_page .breadcrumb {
	position: absolute;
	top: 20px;
	right: 5%;
}

.sub_page .breadcrumb li {
	font-size: 14px;
	font-size: 1.4rem;
	padding-right: 25px;
	position: relative;
}

.sub_page .breadcrumb li::before {
	content: '';
	width: 5px;
	height: 5px;
	margin-top: -3px;
	border: 0px;
	border-top: solid 1px #dbe4e9;
	border-right: solid 1px #dbe4e9;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 0;
}

.sub_page .breadcrumb li a {
	color: #dbe4e9;
	text-decoration: none;
}

.sub_page .breadcrumb li a:hover {
	text-decoration: underline;
}

/*  company page
------------------------------------ */
.company_fv {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 64px 0;
}

.company_fv h1 {
	font-size: 18px;
}

.company_fv img {
	width: 220px;
	margin-top: 20px;
}

.company_information_new {
	padding: 64px 0;
	letter-spacing: 2px;
	font-size: 14px;
	background: linear-gradient(116.18deg, #FFFFFF 0%, #E7EBF1 100%);
}

.company_page .head {
	display: flex;
	align-items: baseline;
	flex-direction: column;
	font-size: 32px;
	gap: 16px;
	margin-bottom: 24px;
	font-weight: bold;
}

.company_page .head.access {
	flex-direction: row;
}

.company_page .head span {
	font-size: 14px;
	font-weight: normal;
	color: #333;
	letter-spacing: 0px;
}



.company_info {
	font-size: 14px;
	line-height: 1.75;
	letter-spacing: 1px;
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
	position: relative;
}

.company_info th,
.company_info td {
	padding: 12px 0;
	border-bottom: solid 1px #e8e8e8;
}

.company_info th {
	vertical-align: center;
	width: 110px;
	font-weight: bold;
}

.company_anchor {
	text-align: center;
	padding: 24px 0;
}

.company_anchor .anchor_container {
	display: flex;
	justify-content: center;
	align-items: center;
}

.company_anchor .anchor_container a {
	text-decoration: none;
	display: inline-block;
	padding: 16px 26px;
	border: 1px solid #000;
	font-weight: bold;
}

.company_anchor .anchor_container a:first-child {
	border-right: none;
}

.company_anchor .anchor_container a:last-child {
	border-left: none;
}

.company_anchor .anchor_container a:hover {
	background-color: #000;
	color: #fff;
}

.access_info .map iframe {
	width: 100%;
	height: 100%;
}

.company_mission {
	padding: 32px 24px;
	background-image: url(../img/common/company1.jpg);
	background-repeat: no-repeat;
	font-weight: bold;
	background-size: cover;
	font-size: 16px;
	letter-spacing: 2px;
}

#company .head {
	display: flex;
	align-items: baseline;
	font-size: 32px;
	gap: 16px;
	margin-bottom: 24px;
	font-weight: bold;
}

#company .head span {
	font-size: 14px;
	font-weight: normal;
	color: #333;
	letter-spacing: 0px;
}

.company_information {
	padding: 64px 0;
	letter-spacing: 2px;
	font-size: 14px;
	background: linear-gradient(135deg, rgba(255, 255, 255, 1) 0%, rgba(231, 235, 241, 1) 100%);
}

#company .company_information .head {
	display: block;
}

.company_access {
	padding: 64px 0 32px;
	letter-spacing: 2px;
	font-size: 14px;
}

.company_access .access_info {
	display: block;
}

.company_access .access_info .access_left {
	flex: 1;
	border-top: 1px solid #e8e8e8;
	border-bottom: 1px solid #e8e8e8;
	padding: 32px 0;
	margin-bottom: 32px;
}

.company_access .access_info .map {
	flex: 1;
	height: 250px;
}

#company .comp_info {
	line-height: 1.75;
	margin: 100px 0 0;
	display: flex;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	justify-content: space-between;
	position: relative;
}

#company .comp_info th,
#company .comp_info td {
	padding: 12px 0;
	border-bottom: solid 1px #e8e8e8;
}

#company .comp_info th {
	vertical-align: top;
	width: 36%;
}

#company .comp_info .overview {
	width: 50%;
}

#company .comp_info img {
	display: none;
}

#company .access_info .map iframe {
	width: 100%;
	height: 100%;
}

/* Move Up Animation */
.animateMoveUp {
	opacity: 0;
	transform: translateY(20px) scale(0.95);
	transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	will-change: transform, opacity;
}

.animateMoveUp.animate {
	opacity: 1;
	transform: translateY(0) scale(1);
}

@media screen and (min-width: 769px) {

	.company_fv h1 {
		font-size: 22px;
	}

	.company_fv img {
		width: 320px;
		margin-top: 32px;
	}

	.company_page .head {
		flex-direction: row;
		font-size: 38px;
		gap: 32px;
		margin-bottom: 64px;
		font-weight: bold;
	}

	.company_page .head span {
		font-size: 16px;
		font-weight: normal;
		color: #333;
		letter-spacing: 0px;
	}

	.company_info {
		font-size: 16px;
		margin-top: 100px;
		letter-spacing: 2px;
	}

	.company_info th {
		width: 250px;
	}

	.company_anchor {
		padding: 32px 0;
	}

	.company_anchor .anchor_container a {
		padding: 16px 36px;
	}

	.company_mission {
		padding: 128px 172px 172px 172px;
		font-size: 38px;
	}

	#company .head {
		display: flex;
		align-items: baseline;
		font-size: 38px;
		gap: 32px;
		margin-bottom: 64px;
		font-weight: bold;
	}

	#company .head span {
		font-size: 16px;
		font-weight: normal;
		color: #333;
		letter-spacing: 0px;
	}

	.company_access {
		padding: 64px 0;
		letter-spacing: 2px;
		font-size: 14px;
	}

	.company_access .access_info {
		display: flex;
		gap: 52px;
	}

	#company .company_information .head {
		display: flex;
	}

	#company .comp_info img {
		display: block;
	}

	.company_information,
	.company_access {
		font-size: 16px;
	}

	.company_access {
		background-color: #e6ebee;
	}

	.company_access .access_info .map {
		flex: 1;
		height: 400px;
	}
}


/*  business content page
------------------------------------ */
.company_anchor.business_anchor .anchor_container a {
	padding: 12px 8px;
	font-size: 11px;
}

.business_mission {
	background-image: url(../img/common/mission_bg.png);
	background-repeat: no-repeat;
	background-position: bottom;
	font-weight: bold;
	background-size: cover;
	font-size: 16px;
	letter-spacing: 2px;
}

.business_mission .wrapper {
	padding: 32px 24px 152px;
}

.business_mission .head {
	display: flex;
	align-items: baseline;
	font-size: 20px;
	gap: 16px;
	margin-bottom: 24px;
	font-weight: bold;
}

.business_mission .head span {
	font-size: 14px;
	font-weight: normal;
	color: #333;
	letter-spacing: 0px;
}

.business_mission .description {
	font-size: 14px;
	font-weight: normal;
}

.business_rew,
.business_kensetsu {
	padding: 24px;
}

#business-content .mainTitle {
	text-align: center;
	font-weight: bold;
	font-size: 20px;
	padding: 12px 0;
}

#business-content .details {
	text-align: left;
	font-weight: normal;
	font-size: 16px;
}

@media screen and (min-width: 769px) {
	.company_anchor.business_anchor .anchor_container a {
		padding: 16px 36px;
		font-size: 16px;
	}

	.business_mission .wrapper {
		padding: 128px 256px 172px 256px;
	}

	.business_mission .mainText {
		font-size: 38px;
	}

	.business_mission .head {
		display: flex;
		align-items: baseline;
		font-size: 38px;
		gap: 32px;
		margin-bottom: 64px;
		font-weight: bold;
	}

	.business_mission .head span {
		font-size: 16px;
		font-weight: normal;
		color: #333;
		letter-spacing: 0px;
	}

	.business_mission .description {
		font-size: 16px;
		padding: 24px 0 148px;
	}

	.business_rew,
	.business_kensetsu {
		padding: 48px 0;
	}

	#business-content .mainTitle {
		font-size: 24px;
		padding: 48px 0;
	}

	#business-content .details {
		font-size: 18px;
		padding: 0 148px;
	}
}

/*  bbpro page
------------------------------------ */
#bbpro #header {
	padding-bottom: 8%;
}

#bbpro .cont_frame {
	margin-top: 0;
	background-image: url(../img/bbpro/bg01.png);
	background-repeat: no-repeat;
	background-position: 98% 3%;
}

#bbpro .lead {
	letter-spacing: 0.12em;
	line-height: 2.0;
	margin: 25px 0 0;
}

#bbpro .member {
	margin: 90px 0 0;
}

#bbpro .member ul {
	display: flex;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	flex-wrap: wrap;
}

#bbpro .member li {
	width: 25%;
	cursor: pointer;
	overflow: hidden;
}

#bbpro .member li .filter {
	height: 100%;
	position: relative;
}

#bbpro .member li .filter::after {
	content: '';
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.34);
	position: absolute;
	top: 0;
	left: 0;
	transition: all .6s ease;
	-webkit-transition: all .6s ease;
	opacity: 0;
}

#bbpro .member li:hover .filter::after {
	opacity: 1;
}

#bbpro .member .label {
	letter-spacing: 0.12em;
	width: 100%;
	height: 100%;
	max-height: 29%;
	padding: 4% 3% 3%;
	background: rgba(255, 255, 255, 0.85) url(../img/bbpro/ico01.png) no-repeat 10px 10px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	display: table;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
	transition: all .6s ease;
	-webkit-transition: all .6s ease;
	opacity: 0;
	transform: translate(0, 60px);
	-webkit-transform: translate(0, 60px);
	-moz-transform: translate(0, 60px);
	-ms-transform: translate(0, 60px);
	-o-transform: translate(0, 60px);
}

#bbpro .member li:hover .label {
	opacity: 1;
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
	-moz-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
	-o-transform: translate(0, 0);
}

#bbpro .member .label p {
	vertical-align: middle;
	display: table-cell;
	transition: all .8s ease;
	-webkit-transition: all .8s ease;
	opacity: 0;
	transform: translate(0, 70px);
	-webkit-transform: translate(0, 70px);
	-moz-transform: translate(0, 70px);
	-ms-transform: translate(0, 70px);
	-o-transform: translate(0, 70px);
	cursor: auto;
}

#bbpro .member li:hover .label p {
	opacity: 1;
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
	-moz-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
	-o-transform: translate(0, 0);
}

#bbpro .member .name,
#bbpro .member .position {
	font-size: 20px;
	font-size: 2.0rem;
	font-style: italic;
	padding: 0 10%;
	display: block;
}

#bbpro .member .position {
	font-size: 12px;
	font-size: 1.2rem;
}

#bbpro .member .department {
	font-size: 14px;
	font-size: 1.4rem;
	position: absolute;
	bottom: 5px;
	right: 5px;
}

#bbpro .member .department br {
	display: none;
}

@media screen and (max-width: 1499px) {
	#bbpro .member .label {
		letter-spacing: 0.05em;
	}

	#bbpro .member .name {
		font-size: 16px;
		font-size: 1.6rem;
	}

	#bbpro .member .department {
		font-size: 12px;
		font-size: 1.2rem;
		bottom: 0;
		right: 0;
	}
}

@media screen and (min-width: 1080px) and (max-width: 1199px) {
	#bbpro .member .label p {
		padding-bottom: 3%;
	}

	#bbpro .member .name {
		padding: 0 5%;
	}

	#bbpro .member .department.adjust {
		font-size: 9px;
		font-size: 0.9rem;
	}
}

/*  news page
------------------------------------ */
#news .cont_frame {
	background-image: url(../img/news/bg01.png);
	background-repeat: no-repeat;
	background-position: 98% 7%;
}

#news .news_list {
	margin: 120px 0 0;
}

#news .news_list li {
	padding: 80px 0;
	border-top: solid 1px #e8e8e8;
}

#news .news_list .img {
	width: 37%;
	float: left;
}

#news .news_list .cont {
	width: 60%;
	float: right;
}

#news .news_date {
	color: #464646;
}

#news .news_ttl {
	font-size: 30px;
	font-size: 3.0rem;
	font-weight: 600;
	line-height: 1.3;
	margin: 25px 0 0;
}

#news .news_txt {
	margin: 25px 0 0;
	max-height: 72px;
	overflow: hidden;
}

#news .more_btn {
	width: 212px;
	margin: 30px 0 0;
	background-color: #000;
	position: relative;
	z-index: 0;
}

#news .more_btn a {
	color: #fff;
	text-align: center;
	text-decoration: none;
	padding: 13px 0;
	background: url(../img/news/ico01_wh.png) no-repeat 95% 80%;
	display: block;
	border: solid 2px #000;
}

#news .more_btn a:hover {
	color: #111;
	background-image: url(../img/news/ico01_bl.png);
}

#news .more_btn .animated {
	position: relative;
	transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
	-webkit-transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
	-moz-transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
	-ms-transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
}

#news .more_btn .animated:hover::before {
	left: 0;
	right: auto;
	width: 100%;
}

#news .more_btn .animated::before {
	content: '';
	color: #333 !important;
	width: 0;
	height: 100%;
	background-color: #fff;
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
	transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
	-webkit-transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
	-moz-transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
	-ms-transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
}

/* pagination */
.pagination {
	font-size: 14px;
	font-size: 1.4rem;
	text-align: center;
	margin: 40px 0 0;
}

.pagination li {
	margin: 0 3px;
	display: inline-block;
}

.pagination li a {
	text-decoration: none;
	vertical-align: middle;
	padding: 10px 16px;
	border-radius: 50%;
	display: inline-block;
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
	position: relative;
	z-index: 1;
}

.pagination .active a,
.pagination a:hover {
	color: #fff;
	background: #000;
}

.pagination .pre,
.pagination .next {
	color: transparent;
	position: relative;
}

.pagination .pre a:hover,
.pagination .next a:hover {
	color: transparent;
}

.pagination .pre a::after,
.pagination .next a::after {
	content: '';
	width: 10px;
	height: 10px;
	border: 0px;
	border-top: solid 2px #c1c9cf;
	border-right: solid 2px #c1c9cf;
	-ms-transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	position: absolute;
	top: 50%;
	left: 16px;
	margin-top: -6px;
}

.pagination .next a::after {
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	left: auto;
	right: 16px;
}

/* news detail */
#news_detail .cont_frame {
	background-repeat: no-repeat;
	background-position: 98% 4%;
}

#news_detail .date {
	color: #464646;
	display: inline-block;
}

#news_detail .tag {
	color: #fff;
	font-size: 13px;
	font-size: 1.3rem;
	text-align: center;
	vertical-align: top;
	min-width: 90px;
	margin: 0 0 0 35px;
	padding: 2px 5px;
	background: #464646;
	display: inline-block;
}

#news_detail .sns {
	text-align: right;
}

#news_detail .sns iframe {
	height: 20px;
}

#news_detail .article {
	margin: 25px 0 0;
	padding: 80px 0 40px;
	border-top: solid 1px #e8e8e8;
	border-bottom: solid 1px #e8e8e8;
}

#news_detail .article .ttl {
	font-size: 40px;
	font-size: 4.0rem;
	font-weight: 600;
	text-align: center;
}

#news_detail .article .thumb {
	text-align: center;
	margin: 80px 0 0;
}

#news_detail .article .cont {
	margin: 80px 0 0;
}

#news_detail .article .cont p {
	margin: 30px 0 0;
}

#news_detail .article .cont strong {
	font-weight: 600;
}

#news_detail .article .cont a {
	word-break: break-all;
}

#news_detail .wp-block-image {
	margin: 30px 0 0;
}

@media screen and (max-width: 768px) {
	#news_detail .article .ttl {
		font-size: 2.0rem;
	}

	#news_detail .article .cont {
		margin: 25px 0 0;
	}

	#news_detail .article {
		margin: 25px 0 0;
		padding: 25px 0 40px;
		border-top: solid 1px #e8e8e8;
		border-bottom: solid 1px #e8e8e8;
	}
}

/* CSR detail 
------------------------------------ */
#csr .date {
	color: #464646;
	display: inline-block;
}

#csr .tag {
	color: #fff;
	font-size: 13px;
	font-size: 1.3rem;
	text-align: center;
	vertical-align: top;
	min-width: 90px;
	margin: 0 0 0 35px;
	padding: 2px 5px;
	background: #464646;
	display: inline-block;
}

#csr .sns {
	text-align: right;
}

#csr .sns iframe {
	height: 20px;
}

#csr .article {
	margin: 25px 0 0;
	padding: 80px 0 40px;
	border-top: solid 1px #e8e8e8;
	border-bottom: solid 1px #e8e8e8;
}

#csr .article .ttl {
	font-size: 40px;
	font-size: 4.0rem;
	font-weight: 600;
	text-align: center;
}

#csr .article .thumb {
	text-align: center;
	margin: 80px 0 0;
}

#csr .article .cont {
	margin: 80px 0 0;
}

#csr .article .cont p {
	margin: 30px 0 0;
}

#csr .article .cont strong {
	font-weight: 600;
}

#csr .article .cont a {
	word-break: break-all;
}

#csr .wp-block-image {
	margin: 30px 0 0;
}

@media screen and (max-width: 768px) {
	#csr .article .ttl {
		font-size: 2.0rem;
	}

	#csr .article .cont {
		margin: 25px 0 0;
	}

	#csr .article {
		margin: 25px 0 0;
		padding: 25px 0 40px;
		border-top: solid 1px #e8e8e8;
		border-bottom: solid 1px #e8e8e8;
	}
}


/*  contact page
------------------------------------ */
#contact .contact_text {
	text-align: center;
	font-size: 18px;
	margin-top: 40px;
}

#contact .agree {
	display: inline-block;
	text-align: center;
	font-size: 13px;
	text-decoration: none;
	border-bottom: solid 1px #111;
	padding: 0px 12px 4px 12px;
	margin: 40px 0;
}

#contact .contact_form table {
	border-collapse: separate;
	border-spacing: 0 20px;
}

#contact .contact_form .table {
	margin: 30px 0 0;
}

#contact .contact_form th,
#contact .contact_form td {
	background: #fff;
}

#contact .contact_form th {
	width: 22%;
	min-width: 200px;
	padding: 0 3%;
	box-sizing: border-box;
	border-right: 0;
}

#contact .contact_form td span {
	display: block;
	position: relative;
}

#contact .required {
	color: #f00;
}

#contact .contact_form .table input,
#contact .contact_form .table select,
#contact .contact_form .table textarea {
	width: 100%;
	height: 100%;
	padding: 24px 3%;
	background: #f2f2f2;
	border: 1px solid #c3c3c3;
	box-sizing: border-box;
}

#contact .contact_form .table select {
	-webkit-appearance: unset;
	cursor: pointer;
	position: relative;
	z-index: 1;
}

#contact .contact_form .table .type::after {
	content: '';
	width: 10px;
	height: 10px;
	border: 0px;
	border-top: solid 2px #c1c9cf;
	border-right: solid 2px #c1c9cf;
	-ms-transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -8px;
}

#contact .contact_form .table input:focus,
#contact .contact_form .table select:focus,
#contact .contact_form .table textarea:focus {
	outline: 0;
	box-shadow: none;
	background: none;
}

#contact .contact_form span.wpcf7-not-valid-tip {
	font-size: 14px;
	font-size: 1.4rem;
	padding: 3px 3%;
}

#contact .contact_form div.wpcf7-validation-errors {
	color: #f00;
	font-size: 14px;
	font-size: 1.4rem;
	text-align: center;
	border: none;
}

#contact .contact_form div.wpcf7-response-output {
	margin: 15px 0 0;
}

#contact .contact_form div.wpcf7-mail-sent-ok {
	text-align: center;
	border: none;
	display: none !important;
}

#contact .contact_form div.wpcf7 .ajax-loader {
	display: none;
}

#contact .submitbtn {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	text-align: center;
	margin: 12px 0 0;
	display: flex;
	justify-content: center;
	gap: 20px;
	flex-wrap: wrap;
}

#contact .submitbtn::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 8px solid #fff;
	margin-left: 10px;
}

#contact .submitbtn input {
	position: relative;
	color: #fff;
	background-color: black;
	font-size: 18px;
	padding: 10px 80px;
	border: solid 2px #000;
	transition: all .4s ease;
	-webkit-transition: all .4s ease;
}

#contact .submitbtn input:hover {
	color: #333;
	background-color: #f9f9f9;
}

#contact-thanks .contact_thanks {
	line-height: 1.8;
	margin: 30px 0 0;
}

#contact-thanks .contact_thanks span {
	display: inline-block;
}

/************************************************

  tablet layout

************************************************/
@media screen and (min-width: 769px) and (max-width: 1079px) {

	/* =========================================
  base (tablet)
========================================= */
	/*  heading (tablet)
------------------------------------ */
	.head_type01 {
		font-size: 40px;
		font-size: 4.0rem;
		padding: 20px 10px 10px 30px;
	}

	.head_type02 {
		font-size: 25px;
		font-size: 2.5rem;
		margin: 40px 0 0;
	}

	/*  nav
------------------------------------ */
	#gnav li {
		font-size: 18px;
		margin: 0 0 0 24px;
	}


	/* =========================================
  sub page (tablet)
========================================= */
	.sub_page main {
		padding: 0 0 100px;
	}

	.sub_page .cont_frame {
		width: 88%;
		padding: 5% 4% 9%;
	}

	/*  company page (tablet)
------------------------------------ */
	#company .comp_info,
	#company .access_info {
		margin-top: 50px;
	}

	#company .comp_info td span {
		display: inline-block;
	}

	#company .access_info dd,
	#company .access_info .note p {
		font-size: 14px;
		font-size: 1.4rem;
	}

	/*  bbpro page (tablet)
------------------------------------ */
	#bbpro .member li {
		width: 33.3%;
	}

	#bbpro .member li .filter::after {
		content: none;
	}

	#bbpro .member li .label,
	#bbpro .member li .label p {
		opacity: 1;
		transform: translate(0, 0);
		-webkit-transform: translate(0, 0);
		-moz-transform: translate(0, 0);
		-ms-transform: translate(0, 0);
		-o-transform: translate(0, 0);
	}

	#bbpro .member .name,
	#bbpro .member .position {
		padding: 0 5%;
	}

	#bbpro .member .department {
		font-size: 11px;
		font-size: 1.1rem;
	}

	/*  recruit page (tablet)
------------------------------------ */

	/*  news page (tablet)
------------------------------------ */
	#news .news_list {
		margin: 60px 0 0;
	}

	#news .news_list .img,
	#news .news_list .cont {
		width: 100%;
		float: none;
	}

	#news .news_list .img {
		text-align: center;
	}

	#news .news_list .cont {
		margin: 30px 0 0;
	}

	#news .more_btn {
		margin-right: auto;
		margin-left: auto;
	}

	#news .more_btn a:hover {
		color: #fff;
		background-image: url(../img/news/ico01_wh.png);
	}

	#news .more_btn .animated::before {
		content: none;
	}

	/* pagination */
	.pagination a:hover {
		color: inherit;
		background: inherit;
	}

	.pagination .active a:hover {
		color: #fff;
		background: #000;
	}

	/* news detail */
	#news_detail .article .ttl {
		font-size: 30px;
		font-size: 3.0rem;
	}

	#news_detail .article .thumb {
		margin: 60px 0 0;
	}

	/*  contact page (tablet)
------------------------------------ */
	#contact .submitbtn input {
		font-size: 20px;
		font-size: 2.0rem;
	}

	#contact .submitbtn input:hover {
		color: #fff;
		background-color: #000;
		background-image: url(../img/contact/ico01_wh.png);
	}

}

/************************************************

  SP layout

************************************************/
@media screen and (max-width: 768px) {

	/* =========================================
  base (sp)
========================================= */
	.sec_inner {
		padding: 0 10px;
	}

	.pc_none {
		display: inherit !important;
	}

	.sp_none {
		display: none !important;
	}

	.phone_number {
		text-decoration: underline;
		pointer-events: auto;
	}

	/*  heading (sp)
------------------------------------ */
	.head_type01 {
		font-size: 40px;
		font-size: 4.0rem;
		padding: 15px 0 0 10px;
		background-size: 20px auto;
	}

	.head_type02 {
		font-size: 20px;
		font-size: 2.0rem;
		margin: 50px 0 0;
	}

	.head_type02 span::before {
		width: 9995px;
	}

	/*  menu button (sp)
------------------------------------ */
	#menu_btn {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		width: 40px;
		height: 40px;
		padding: 10px;
		background: #000;
		z-index: 999;
		-webkit-transition: opacity .25s ease;
		transition: opacity .25s ease;
		cursor: pointer;
	}

	#menu_btn.active .top {
		-webkit-transform: translateY(14px) translateX(0) rotate(45deg);
		transform: translateY(14px) translateX(0) rotate(45deg);
	}

	#menu_btn.active .middle {
		opacity: 0;
	}

	#menu_btn.active .bottom {
		-webkit-transform: translateY(-12px) translateX(0) rotate(-45deg);
		transform: translateY(-12px) translateX(0) rotate(-45deg);
	}

	#menu_btn span {
		background: #fff;
		border: none;
		height: 2px;
		width: 40px;
		margin: auto;
		border-radius: 2px;
		position: absolute;
		top: 16px;
		right: 0;
		left: 0;
		-webkit-transition: all .35s ease;
		transition: all .35s ease;
	}

	#menu_btn span:nth-of-type(2) {
		top: 29px;
	}

	#menu_btn span:nth-of-type(3) {
		top: 42px;
	}

	/* =========================================
  header (sp)
========================================= */
	#header {
		padding: 0;
	}

	#logo {
		width: auto;
	}

	#logo a {
		padding: 20px;
	}

	/*  nav (sp)
------------------------------------ */
	#gnav {
		text-align: left;
		display: block;
		width: 100%;
		height: 100%;
		padding: 90px 10px 30px;
		float: none;
		background: rgba(0, 0, 0, 0.9);
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-ms-box-sizing: border-box;
		-o-box-sizing: border-box;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 998;
		-webkit-transition: all .4s ease;
		-moz-transition: all .4s ease;
		-ms-transition: all .4s ease;
		transition: all .4s ease;
		opacity: 0;
		visibility: hidden !important;
		overflow: hidden;
	}

	#gnav.active {
		opacity: 1;
		visibility: visible !important;
		overflow: visible;
	}

	#gnav li {
		font-size: 18px;
		font-size: 1.8rem;
		letter-spacing: 0.1em;
		margin: 0;
		display: block;
	}

	#gnav li.spbtn {
		display: block;
	}

	#gnav li a {
		padding: 20px;
		border-bottom: solid 1px #444;
		display: block;
	}

	#gnav li a::after {
		width: 8px;
		height: 8px;
		background: transparent;
		border: 0;
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		top: 50%;
		bottom: auto;
		right: 10px;
		left: auto;
	}

	/* =========================================
  footer (sp)
========================================= */
	#footer .footer-contact {
		padding: 24px
	}

	#footer .f_menu {
		padding: 40px 0 20px;
	}

	#footer .f_menu .inner {
		display: block;
	}

	#footer .logo {
		width: 120px;
		margin: 0 auto;
		float: none;
	}

	#footer .f_nav {
		margin-top: 24px;
	}

	#footer .f_nav .nav01,
	#footer .f_nav .nav02 {
		flex-wrap: wrap;
	}

	#footer .f_nav .nav01 li {
		width: 50%;
		margin: 20px 0 0;
		padding-left: 25px;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-ms-box-sizing: border-box;
		-o-box-sizing: border-box;
	}

	#footer .f_nav .nav01 li:nth-child(1),
	#footer .f_nav .nav01 li:nth-child(2) {
		margin-top: 0;
	}

	#footer .f_nav .nav02 {
		max-width: 450px;
		margin: 30px auto 0;
		padding: 0;
	}

	#footer .f_nav .nav02 ul {
		width: 100%;
		margin: 0;
		display: flex;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		flex-wrap: wrap;
	}

	#footer .f_nav .nav02 li {
		width: 100%;
		margin: 15px 0 0;
	}

	#footer .sns {
		margin-top: 40px;
		justify-content: space-around;
		justify-content: space-evenly;
	}

	#footer .sns li {
		margin: 0;
	}

	/* =========================================
  top page (sp)
========================================= */
	.top_page #header::after {
		background-size: contain;
	}

	.top_page #header .catch .jp {
		margin-top: 15px;
	}

	/*  sec02 (sp)
------------------------------------ */
	.top_page .sec02 {
		margin-top: 100px;
	}

	.top_page .sec02 .ttl {
		/*font-size: 30px;
		font-size: 3.0rem;*/
		font-size: 22px;
		font-size: 2.2rem;
		position: relative;
	}

	.top_page .sec02 .ttl span {
		display: block;
	}

	.top_page .sec02 .ttl span::before {
		top: -30px;
		left: 0;
	}

	.top_page .sec02 .txt {
		/*font-size: 18px;
		font-size: 1.8rem;*/
		font-size: 16px;
		font-size: 1.6rem;
		text-align: justify;
		line-height: 1.5;
		margin-top: 20px;
	}

	.top_page .sec02 .txt br {
		display: none;
	}

	.top_page .sec02 .img {
		margin-top: 40px;
		padding: 0 25px;
	}

	/* =========================================
  sub page (sp)
========================================= */
	.sub_page main {
		font-size: 14px;
		font-size: 1.4rem;
	}

	.sub_page .cont_frame {
		width: auto;
		margin-top: -10%;
		padding: 5% 15px 9%;
	}

	.sub_page .breadcrumb {
		position: absolute;
		top: 10px;
		right: 3%;
	}

	.sub_page .breadcrumb li {
		font-size: 13px;
		font-size: 1.3rem;
		padding-right: 15px;
	}

	/*  company page (sp)
------------------------------------ */
	#company .cont_frame {
		width: 100%;
		background-size: 90px auto;
		background-position: 98% 2%;
	}

	#company .comp_inner {
		padding: 0 15px;
	}

	#company .head_type01 span {
		font-size: 15px;
		font-size: 1.5rem;
		margin: 10px 0 0;
		padding-left: 10px;
		display: block;
		position: relative;
	}

	#company .head_type01 span::after {
		content: '';
		width: 3px;
		height: 3px;
		border: 0px;
		border-top: solid 1px #333;
		border-right: solid 1px #333;
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
		top: 50%;
		left: 0;
		margin-top: -4px;
	}

	#company .head_type01 span a:hover {
		text-decoration: none;
	}

	#company .mission {
		margin-top: 40px;
	}

	#company .mission .tag {
		font-size: 18px;
		font-size: 1.8rem;
	}

	#company .mission .tag span {
		padding: 5px 15px;
	}

	#company .mission .ttl {
		font-size: 24px;
		font-size: 2.4rem;
	}

	#company .mission .ttl span,
	#company .mission .sub_ttl span {
		display: inline-block;
	}

	#company .mission .sub_ttl {
		font-size: 18px;
		font-size: 1.8rem;
	}

	#company .mission .txt {
		font-size: 15px;
		font-size: 1.5rem;
		text-align: justify;
		margin-top: 20px;
	}

	#company .mission .txt .adjust {
		display: block;
	}

	#company .comp_info {
		margin: 30px 0 0;
		display: block;
	}

	#company .comp_info .overview {
		width: 100%;
	}

	#company .comp_info .img {
		text-align: center;
		width: 100%;
		margin: 10px 0 0;
		position: static;
	}

	#company .comp_info td span {
		display: inline-block;
	}

	#company .access_info {
		margin: 40px 0 0;
	}

	#company .access_info ul {
		display: block;
	}

	#company .access_info li,
	#company .access_info li:nth-child(2) {
		width: auto;
		margin-top: 20px;
	}

	#company .access_info dl {
		padding: 15px 0;
		display: block;
	}

	#company .access_info dd {
		text-align: left;
		margin: 10px 0 0;
	}

	#company .access_info .map,
	#company .access_info .map.adjust {
		margin-top: 20px;
	}

	/*  bbpro page (sp)
------------------------------------ */
	#bbpro #header {
		padding: 0 0 160px;
	}

	#bbpro .cont_frame {
		background-size: 90px auto;
		background-position: 98% 2%;
	}

	#bbpro .head_type02 {
		margin-top: 20px;
	}

	#bbpro .lead {
		line-height: 1.6;
	}

	#bbpro .member {
		margin: 40px 0 0;
	}

	#bbpro .member li {
		width: 50%;
		position: relative;
	}

	#bbpro .member li .filter::after {
		content: none;
	}

	#bbpro .member li .label,
	#bbpro .member li .label p {
		opacity: 1;
		transform: translate(0, 0);
		-webkit-transform: translate(0, 0);
		-moz-transform: translate(0, 0);
		-ms-transform: translate(0, 0);
		-o-transform: translate(0, 0);
	}

	#bbpro .member .label {
		max-height: unset;
		padding: 0;
		background: none;
		display: block;
	}

	#bbpro .member .label p {
		width: 100%;
		height: 100%;
		display: block;
	}

	#bbpro .member .name {
		font-size: 3.2vw;
		text-align: center;
		width: 100%;
		background: rgba(255, 255, 255, 0.8);
		padding: 5% 2% 3%;
		position: absolute;
		bottom: 0;
		left: 0;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-ms-box-sizing: border-box;
		-o-box-sizing: border-box;
	}

	#bbpro .member .position {
		color: #fff;
		font-size: 3.5vw;
		font-weight: 600;
		text-shadow: 0 0 5px #000;
		padding: 0;
		display: block;
		position: absolute;
		bottom: 18%;
		left: 5px;
	}

	#bbpro .member .department {
		color: #fff;
		font-size: 3vw;
		line-height: 1.2;
		padding: 2% 3% 1%;
		background: rgba(0, 0, 0, 0.5);
		top: 0;
		left: 0;
		bottom: auto;
		right: auto;
		/*white-space: pre-line;*/
	}

	#bbpro .member .department br {
		display: block;
	}

	/*  recruit page (sp)
------------------------------------ */

	/*  news page (sp)
------------------------------------ */
	#news .cont_frame {
		background-size: 90px auto;
		background-position: 98% 2%;
	}

	#news .news_list {
		margin: 40px 0 0;
	}

	#news .news_list li {
		padding: 40px 0;
	}

	#news .news_list .img,
	#news .news_list .cont {
		width: 100%;
		float: none;
	}

	#news .news_list .img {
		text-align: center;
	}

	#news .news_ttl {
		font-size: 20px;
		font-size: 2.0rem;
	}

	#news .news_date,
	#news .news_ttl,
	#news .news_txt {
		margin: 10px 0 0;
	}

	#news .news_txt {
		max-height: 63px;
	}

	#news .more_btn {
		margin-right: auto;
		margin-left: auto;
	}

	#news .more_btn a:hover {
		color: #fff;
		background-image: url(../img/news/ico01_wh.png);
	}

	#news .more_btn .animated::before {
		content: none;
	}

	/* pagination */
	.pagination a:hover {
		color: inherit;
		background: inherit;
	}

	.pagination .active a:hover {
		color: #fff;
		background: #000;
	}

	/* news detail */
	#news_detail .cont_frame {
		background-size: 90px auto;
		background-position: 98% 2%;
	}

	#news_detail .sns {
		text-align: left;
		margin: 20px 0 0;
	}

	.news_article {
		padding: 40px 0;
	}

	.news_article .ttl {
		font-size: 24px;
		font-size: 2.4rem;
		text-align: justify;
	}

	.news_article .thumb {
		margin: 40px 0 0;
	}

	.news_article .cont {
		margin: 40px 0 0;
	}

	/*  contact page (sp)
------------------------------------ */
	#contact .contact_text {
		font-size: 11px;
	}

	#contact .agree {
		font-size: 10px;
		text-align: left;
		border: none;
		margin: 12px 0;
		padding: 0;
	}

	#contact .contact_form th,
	#contact .contact_form td {
		width: 100%;
		display: block;
		box-sizing: border-box;
	}

	#contact .contact_form th {
		min-width: unset;
		padding: 10px;
		border-right: solid 1px #e8e8e8;
		border-bottom: 0;
	}

	#contact .contact_form .table input,
	#contact .contact_form .table select,
	#contact .contact_form .table textarea {
		padding: 10px;
	}

	#contact .submitbtn {
		gap: 0px;
	}

	#contact .submitbtn input {
		position: relative;
		font-size: 18px;
		font-size: 1.8rem;
		width: 100%;
		max-width: 300px;
		margin: 10px 0;
		padding: 2% 1%;
		background-size: 30px auto;
	}

	#contact .submitbtn::after {
		display: none;
	}

	#contact .submitbtn input:hover {
		color: #fff;
		background-color: #000;
	}

	/************************************************

  breakpoint

************************************************/

	@media screen and (max-width: 430px) {

		#company .comp_info th,
		#company .comp_info td {
			width: auto;
		}

		#company .comp_info td {
			border-top: dashed 1px #e8e8e8;
		}
	}

	@media screen and (max-width: 394px) {
		.pagination li {
			margin: 0 0 0 6px;
		}

		.pagination li:first-child {
			margin-left: 0;
		}

		.pagination li a {
			padding: 5px 11px;
		}

		.pagination .pre a::after {
			left: 11px;
		}

		.pagination .next a::after {
			right: 11px;
		}
	}