 /*
Theme Name: 
Theme URI: NA
Author: T.Oka
Author URI: NA
Description: NA
Version: 1.0.0
*/
@import url('https://fonts.googleapis.com/css2?family=Anton&family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');
@charset "UTF-8";
html {
	margin: 0 !important;
	padding: 0;
}
.body {
	margin: 0;
	background: #fff;
}
ul {
	list-style: none;
 	margin-bottom: 0;
 	padding: 0 !important;
}
h1 {
	margin: 0;
	padding: 0;

}
.pc {
	display: block;
}
.sp {
	display: none;
}
.wrapper {
	width: 100%;
	display: flex;
	justify-content: center;
}
.heading {
	padding-top: 150px;
	width: 73.2%;
}
.heading h2 {
	text-align: center;
	font: normal normal bold 56px/84px Helvetica;
	letter-spacing: 3.14px;
	color: #000000;
	text-transform: uppercase;
	margin: 0 0 80px 0;
}
a:hover {
	opacity: 0.7;
}
figure {
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0;
    margin-inline-end: 0;
}
@media screen and (max-width: 1134px) {
	.sp {
	display: block;
	}
	.pc {
	display: none;
 	}
 	.heading {
		width: 89.74%;
		padding-top: 80px;
	}
 	.heading h2 {
 	margin: 0 0 40px 0;
 	}
}
/* header */
header {
	width: 100%;
	position: fixed;	
	mix-blend-mode: exclusion;
  top: 0;
	left: 0;
	right: 0;
	z-index: 999;
}
.header {
	display: flex;
	width: 100%;
	height: 80px;
	justify-content: space-between;
	align-items: center;
	background:rgba(0,0,0,0);
	padding: 0 25px;
}
.header a.logo {
	text-decoration: none;
	text-align: left;
	font: normal normal bold 29px/35px Helvetica;
	letter-spacing: 4.35px;
	color: #fff;
}
.header a.logo span {
	text-align: left;
	font: normal normal normal 29px/35px Helvetica;
	letter-spacing: 4.35px;
	color: #fff;
}
.menu {
	display: flex;
	justify-content: space-between;
}
ul.menu  {
	line-height: 80px;
	margin: 0;
	align-items: center;
}
.menu li {
	margin-right: 32px;
}
.menu li a{
	text-decoration: none;
	text-align: left;
	font: normal normal bold 16px/19px Helvetica;
	letter-spacing: 0px;
	color: #fff;
	text-transform: uppercase;
}
@media screen and (max-width: 1134px) {
	header{
		width: 100%;
		position: fixed;
		mix-blend-mode: normal;
	  top: 0;
		left: 0;
		right: 0;
		z-index: 999;
	}
	.header_sp {
		background:rgba(0,0,0,0.3);	
		display: flex;
		widows: 100%;
		height: 50px;
		justify-content: space-between;
		align-items: center;
		padding: 0 0 0 14px;
	}
	.header_sp a.logo {
		text-decoration: none;
		text-align: left;
		font: normal normal bold 16px/29px Helvetica;
		letter-spacing: 4.35px;
		color: #fff;
	}
	.header_sp a.logo span {
		text-align: left;
		font: normal normal normal 16px/29px Helvetica;
		letter-spacing: 4.35px;
		color: #fff;
	}
	.drawer__button {
	position: relative;
	width: 50px;
	height: 50px;
	background: transparent;
	border: none;
	cursor: pointer;
	z-index: 999;
	}
	.drawer__button > span {
	display: block;
	position: absolute;
	top: 40%;
	left: 40%;
	width: 25px;
	height: 2px;
	background: #fff;
	transform: translateX(-50%);
	}
	.drawer__button::after {
	display: block;
	content: "MENU";
	font-size: 8px;
	color: #fff;
	padding-top: 30px;
	padding-right: 12px;
	}
	.drawer__button > span:first-child {
	transform: translate(-50%, calc(-50% - 0.5rem));
	transition: transform 0.3s ease;
	}
	.drawer__button > span:nth-child(2) {
	transform: translate(-50%, -50%);
	transition: opacity 0.3s ease;
	}
	.drawer__button > span:last-child {
	transform: translate(-50%, calc(-50% + 0.5rem));
	transition: transform 0.3s ease;
	}
	.drawer__button.active > span:first-child {
	transform: translate(-50%, -50%) rotate(-45deg);
	}
	.drawer__button.active > span:nth-child(2) {
	opacity: 0;
	}
	.drawer__button.active > span:last-child {
	transform: translate(-50%, -50%) rotate(45deg);
	}
	.drawer__nav {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	transition: opacity 0.3s ease;
	opacity: 0;
	visibility: hidden;
	}
	.drawer__nav.active {
	opacity: 1;
	visibility: visible;
	}
	.drawer__nav__inner {
	position: relative;
	width: 100%;
	height: 100%;
	background: #000;
	padding: 4rem 1.5rem 1rem;
	margin: 0 0 0 auto;
	overflow: scroll;
	transform: translateX(100%);
	transition: transform 0.3s ease;
	}
	.drawer__nav.active .drawer__nav__inner {
	transform: translateX(0);
	}
	.drawer__nav__menu {
	list-style: none;
	padding-left: 0;
	margin-top: 200px;
	}
	.drawer__nav__link {
	font-size: 16px;
	display: block;
	color: #fff;
	text-decoration: none;
	text-align: center;
	padding: 12px;
	}
	body.active {
	height: 100%;
	overflow: hidden;
	}
	}
/* block1 */
.page01 {
	position: absolute;
	width: 100%;
	top: 0;
	margin: 0;
	padding: 0;
}
#fv1 {
	position: fixed;
	width: 100%;
	height: auto;
}
#fv0 {
	width: 100%;
  aspect-ratio: 192 / 108;
}
#fv2 {
	position: relative;
	z-index: 2;
}
#fv2 {
	opacity: 0.8;
}
#service {
	opacity: 0.95;
}
.fv1 {
	position: relative;
}
.fv1 img {
	position: absolute;
	top: 13.69vw;
	left: 0;
	width: 100%;
	mix-blend-mode: exclusion;
}
.video_wrapper {
	width: 100%;
	overflow: hidden;
}
.video_area video {
	margin: 0;
	padding-top: 0;
	width: 137%;
	height: auto;
}
.fv_wrapper {
	width: 100%;
	justify-content: center;
	display: flex;
	background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 15%);
}
.fv_heading {
	width: 73.2%;
	padding: 150px 0;
	text-align: center;
}
.fv_heading h2 {
	margin: 0 0 10px 0;
	text-align: center;
	font: normal normal bold 24px/28px Helvetica;
	letter-spacing: 3.84px;
	color: #606060;
}
.fv_heading h3 {
	margin: 0 0 40px 0;
	font: normal normal bold 28px/40px Noto Sans JP;
	letter-spacing: 2.13px;
	color: #FFFFFF;
}
.fv_heading p {
	margin: 0 0 40px 0;
	font: normal normal normal 16px/28px Noto Sans JP;
	letter-spacing: 0px;
	color: #FFFFFF;
}
.fv_heading img {
	width: 320px;
	height: 70px;
}
@media screen and (max-width: 1134px) {
	.fv_heading {
		width: 89.74%;
		padding: 80px 0;
	}
	#fv0 {
		width: 100%;
	  aspect-ratio: 39 / 60;
	}
	.fv1 img {
		top: 65vw;
	}
	.video_area video {
		width: 384%;
		object-position: -600px 0;
	}
}
@media screen and (max-width: 767px) {
	.video_area video {
		width: 384%;
		object-position: -388px 0;
	}
}
/* service */
#service,
#works,
#news {
	background: #fff;
}
.content {
	width: 100%;
	display: flex;
	padding-bottom: 64px;
}
.content h3 {
	text-align: left;
	font: normal normal bold 32px/48px Noto Sans JP;
	letter-spacing: 0px;
	color: #000000;
	text-transform: uppercase;
	margin: 0 0 16px 0;
}
.content h4 {
	text-align: left;
	font: normal normal bold 22px/28px Noto Sans JP;
	letter-spacing: 0px;
	color: #000000;
	margin: 0 0 24px 0;
}
.content .contentimg {
	width: 47%;
	height: auto;
}
.content .contentimg img {
	width: 100%;
	height: auto;
}
.content .specifically {
	width: 47%;
	height: auto;
	margin-left: 4.392vw;
}
.content .specifically p {
	text-align: left;
	font: normal normal normal 16px/28px Noto Sans JP;
	letter-spacing: 0px;
	color: #606060;
	margin: 0;	
}
.swap .contentimg{
	order: 2;
}
.swap .specifically{
	order: 1;
	margin-right: 4.392vw;
	margin-left: 0;	
}
.specifically img.btn2 {
	width: 320px;
	height: 70px;
}
@media screen and (max-width: 1134px) {
	.content {
		display: block;
		padding-bottom: 40px;
	}
	.content .contentimg {
		width: 100%;
		height: auto;
	}
	.content h3 {
		margin: 16px 0;
	}
	.content .specifically {
	width: 100%;
	height: auto;
	text-align: left;
	padding: 0 10px;
	margin-left: 0;
	margin-right: 0;
	}
}
/* works */
#works,
#news,
#footer {
	position: relative;
	z-index: 10;
}
.works_wrapper {
	width: 100%;
	display: flex;
	justify-content: center;
}
.works {
	width: 100%;
	height: auto;
	display: flex;
	flex-wrap: wrap;
}
.works .figure {
  width: 32%;
	height: auto;
	padding: 0;
	margin-right: 2%;
	margin-bottom: 30px;
}
.works .figure:nth-child(3n) {
	margin-right: 0;
}
.works .figure figure {
	padding: 10px;
	margin: 0;
}
.imgwrapper {
	position: relative;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border-radius: 15px;
	overflow: hidden;
	margin-bottom: 10px;
}
.imgwrapper img {
	width: 100%;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.figure a {
	text-decoration: none;
	text-align: left;
	font: normal normal bold 16px/24px Noto Sans JP;
	letter-spacing: 0px;
	color: #000000;
	margin: 0;
}
.more {
	display: flex;
	justify-content: center;
	margin-top: 60px;
}
.more img {
	width: 320px;
	height: 70px;
}

figcaption p {
	text-align: left;
	font: normal normal normal 14px/24px Helvetica;
	letter-spacing: 0px;
	color: #606060;
	margin: 0 0 4px 0;
}
@media screen and (max-width: 1134px) {
	.works {
		width: 100%;
	}
	.works .figure {
		width: 100%;
	}
	.more {
		margin-top: 40px;
	}
	.works .figure figure {
		padding: 0 0 40px 0;
		margin: 0;
	}
}
/* news */
#news .news_wrapper {
	width: 100%;
	display: flex;
	justify-content: center;
	padding-bottom: 100px;
}
#news .news_area {
	text-align: left;
	width: 100%;
	border-bottom: 1px solid #A9A9A9;
	padding: 32px 0;
}
#news .news_area p.news_date {
	text-align: left;
	font: normal normal normal 14px/24px Helvetica;
	letter-spacing: 0px;
	color: #606060;
	margin: 0;
}
#news .news_area a.news_content {
	text-align: left;
	text-decoration: none;
	font: normal normal normal 16px/24px Noto Sans JP;
	letter-spacing: 0px;
	color: #000000;
	margin: 0;
}
@media screen and (max-width: 1134px) {
	#news .news_area {
			padding: 24px 0;
		}
	}
/* recruit */
.recruit_wrapper {
	position: relative;
	width: 100%;
}
.recruit_wrapper img.recruit {
	width: 100%;
	height: auto;
}
.recruit_wrapper a img {
	position: absolute;
	top: 61.9%;
	left: 13.4%;
	width: 23.426%;
	height: auto;
}
@media screen and (max-width: 1134px) {
	.recruit_wrapper a img {
		top: 43.67%;
		width: 325px;
		height: 70px;
		left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	}
}
/* footer */
.footer {
	width: 100%;
	height: auto;
	background: #000000;
	display: flex;
	justify-content: center;
}
.footer_wrapper {
	width: 73.4%;
	padding: 100px 0;
}
.footer_content1 {
	display: flex;
	justify-content: space-between;
	margin-bottom: 19px;
}
.footer_content1 a.footer_logo {
	text-align: left;
	font: normal normal normal 29px/35px Helvetica;
	letter-spacing: 4.35px;
	color: #fff;
	text-transform: uppercase;
	text-decoration: none;
}
.footer_content1 ul {
	display: flex;
	margin: 0;
	padding: 0;
}
.footer_content1 li a {
	text-decoration: none;
	text-align: left;
	font: normal normal bold 16px/19px Helvetica;
	letter-spacing: 0px;
	color: #fff;
	text-transform: uppercase;
	margin-left: 16px;
}
.footer_content2 {
	display: flex;
	margin: 0;
}
.footer_content2 a {
	text-decoration: none;
	text-align: center;
	font: normal normal normal 14px/20px Noto Sans JP;
	letter-spacing: 0px;
	color: #fff;
	text-transform: uppercase;
	margin-right: 24px;
}
.cta {
  position:fixed;
  right: 0;
  bottom: 0;
  cursor:pointer;
	background: #000000 0% 0% no-repeat padding-box;
	border-radius: 50px 0px 0px 50px;
	width: 250px;
	height: 100px;
	z-index: 900;
}
.cta a {
	display: block;
	text-decoration: none;
	width: 250px;
	height: 100px;
}
.cta p.cta_text1{
	padding-top: 26px;
	text-align: center;
	font: normal normal bold 25px/30px Helvetica;
	letter-spacing: 2.75px;
	color: #FFFFFF;
	text-transform: uppercase;
	margin: 0;
	line-height: 25px;
}
.cta p.cta_text2 {
	text-align: center;
	font: normal normal bold 20px/29px Noto Sans JP;
	letter-spacing: 0px;
	color: #DDDDDD;
	text-transform: uppercase;
	margin: 0;
	line-height: 29px;
}
@media screen and (max-width: 1134px) {
	.footer_wrapper {
		width: 89.74%;
		padding: 100px 0;
	}
	.footer_content1 {
		display: block;
		text-align: center;
		margin-bottom: 19px;
	}
	.footer_list {
		display: flex;
		justify-content: center;
		margin-top: 16px;
	}
	.footer_content2{
		display: flex;
		justify-content: center;
	}
	.footer_content1 li a,
	.footer_content2 a {
		font-size: 11px;
	}
	.footer_content1 li a {
		margin: 0 8px;
	}
	.footer_content2 a {
		margin: 0 12px;
	}
	.cta {
		width: 125px;
		height: 50px;
	}
.cta a {
	width: 125px;
	height: 50px;
}
.cta p.cta_text1{
	padding-top: 11px;
	font-size: 11px;
	margin: 0;
	line-height: 12px;
}
.cta p.cta_text2 {
	font-size: 11px;
	line-height: 14px;
}
}
/* aboutus */
.about_kv {
	width: 100%;
	position: relative;
}
.about_kv img {
	width: 100%;
	height: 400px;
}
.about_kv h2 {
	position: absolute;
	left: 13.4%;
	bottom: -6%;
	text-align: left;
	font: normal normal bold 80px/96px Helvetica;
	letter-spacing: 4px;
	color: #FFFFFF;
	text-transform: uppercase;
	margin: 0;
}
#page02 .heading {
	padding: 120px 0;
	width: 73.2%;
}
#vision h2 {
	text-align: left;
	font: normal normal bold 40px/48px Helvetica;
	letter-spacing: 0px;
	color: #000000;
	margin-bottom: 16px;
}
#vision h3 {
	text-align: left;
	font: normal normal bold 22px/32px Noto Sans JP;
	letter-spacing: 0px;
	color: #000000;
	margin-top: 0;
	margin-bottom: 48px;
}
#vision p {
	text-align: left;
	font: normal normal normal 16px/28px Noto Sans JP;
	letter-spacing: 0px;
	color: #000000;
	margin: 0;
}
#company h2 {
	text-align: left;
	font: normal normal bold 24px/35px Noto Sans JP;
	letter-spacing: 0px;
	color: #000000;
}
#vision {
	background: #fff;
}
#company {
	background: #FAFAFA;
}
#company .wrapper {
	padding-top: 60px;
}
.overview_wrapper {
	display: flex;
	justify-content: center;
	padding-bottom: 124px;
}
.overview table {
	width: 100%;
}
.overview table tr{
	position: relative;
	line-height: 24px;
}
.overview tr::before {
  content:"";
	position:absolute;
	background: #DDDDDD 0% 0% no-repeat padding-box;
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 50%;
	transform: translate(-50%);
}
.overview th {
	text-align: left;
	font: normal normal normal 16px/24px Noto Sans JP;
	letter-spacing: 0px;
	color: #000000;
}
.overview td {
	text-align: left;
	font: normal normal normal 16px/24px Noto Sans JP;
	letter-spacing: 0px;
	color: #000000;
	padding-left: 20px;
	padding-top: 32px;
	padding-bottom: 32px;
}
.map_area iframe {
	width: 100%;
}
@media screen and (max-width: 1134px) {
	.about_kv img {
		width: 100%;
		height: 200px;
	}
	.about_kv h2 {
		font-size: 56px;
		left: 5.13%;
		bottom: -15%;
	}
	#page02 .heading {
		padding: 120px 0;
		width: 89.74%;
	}
	}
/* contact */
#contact .heading {
	padding: 140px 0;
	display: flex;
	justify-content: center;
}
.form_area {
	width: 65%;
}
.form_content {
	display: block;
}
.form_area label {
	width: 100%;
	text-align: left;
	font: normal normal normal 16px/24px Noto Sans JP;
	letter-spacing: 0px;
	color: #000000;
	margin-top: 32px;
	margin-bottom: 16px;
}
.form_area input {
	width: 100%;
	height: 48px;
	background: #FFFFFF 0% 0% no-repeat padding-box;
	border: 1px solid #DDDDDD;
	border-radius: 4px;
}
.form_area textarea {
	width: 100%;
	height: 240px;
	background: #FFFFFF 0% 0% no-repeat padding-box;
	border: 1px solid #DDDDDD;
	border-radius: 4px;
}
span.required { 
	text-align: left;
	font: normal normal normal 18px/26px Noto Sans JP;
	letter-spacing: 0px;
	color: #CE0423;
	margin-left: 4px;
}
.btnwrapper {
	display: flex;
	justify-content: center;
	margin-top: 32px;
}
button.btn_success {
	padding: 0;
  border: none;
  background: transparent;
}
button.btn_success img {
	width: 320px;
	height: 70px;
}
@media screen and (max-width: 1134px) {
	.form_area {
		width: 89%;
	}
}
/* 一覧ページ */
.second .block1 {
	position: relative;
}
.second .block1 img {
	width: 100%;
	height: auto;	
}	
.second .block1 h2 {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 13.4%;
}
.second .block1 h2::before {
	left: 0;
	width: 32px;
	bottom: -16px;
	transform: translateX(0);
}
.crumbs_wrapper {
	width: 100%;
	display: flex;
	justify-content: center;
}
.crumbs_wrapper nav {
	width: 73.2%;
}
.crumbs_wrapper nav ol {
	list-style-type: none;
}
.crumbs_wrapper nav ol.crumbs {
	display: flex;
	padding: 0;
}
.crumbs_wrapper nav ol.crumbs li {
	color: #434343;
}
.crumbs_wrapper nav ol.crumbs li a {
	color: #969696;
	font-size: 16px;
}
.crumbs li.hierarchy:after {
 	content: '／';
 	padding: 0 16px;
	color: #434343;
}
.second .container .figure figure {
	padding: 40px 12px;
}
.second .container {
	width: 74%;
}
.pagenum_wrapper {
	width: 100%;
	height: auto;
	display: flex;
	justify-content: center;
	margin: 80px 0;
}
ul.pagenum {
	display: flex;
}
ul.pagenum li a {
	padding: 10px 16px;
	background: #FAFAFA 0% 0% no-repeat padding-box;
	color: #000;
	text-align: center;
	font: normal normal normal 16px/19px Helvetica;
	letter-spacing: 0px;
	color: #000000;
	text-decoration: none;
	margin: 0 5px;
}
ul.pagenum li a:hover {
	background: #000000 0% 0% no-repeat padding-box;
	text-align: center;
	font: normal normal normal 16px/19px Helvetica;
	letter-spacing: 0px;
	color: #FFFFFF;
}
@media screen and (max-width: 1134px) {
	.second .block1 h2 {
		left: 5%;
	}
	.crumbs_wrapper nav {
	width: 89%;
	}
	.second .container {
	width: 95%;
	}
	}
/* 詳細 */
#page03 {
	background: #fff;
	padding: 180px 0 120px 0;
}
#page03 .arcive_heading {
	width: 73.2%;
}
#page03 p.arcive_date {
	text-align: left;
	font: normal normal normal 16px/24px Helvetica;
	letter-spacing: 0px;
	color: #606060;
}
#page03 h2.arcive_content {
	position: relative;
	text-align: left;
	font: normal normal bold 24px/24px Noto Sans JP;
	letter-spacing: 0px;
	color: #000000;
	padding-bottom: 32px;
	margin: 0;
}
#page03 h2.arcive_content:before {
	content:"";
	position:absolute;
	background: #434343 0% 0% no-repeat padding-box;
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 50%;
	transform: translate(-50%);
}
#page03 .arcive_area {
	margin-bottom: 20px;
}
#page03 .arcive_area p {
	margin: 56px 0;
	text-align: left;
	font: normal normal normal 16px/28px Noto Sans JP;
	letter-spacing: 0px;
	color: #000000;
}
#page03 .arcive_area a {
	text-align: left;
	text-decoration: underline;
	font: normal normal normal 16px/28px Noto Sans JP;
	letter-spacing: 0px;
	color: #000000;
}
@media screen and (max-width: 1134px) {
	#page03 .arcive_heading {
	width: 89%;
}
}
.form-control {
	display: block;
  width: 100%;
  height: 40px;
  padding: 5px 10px;
  font-size: 16px;
  line-height: 2;
  color: #231815;
  border: 1px solid #231815;
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.form-control:focus {
 border-color: #039a91;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%), 0 0 8px #536365a3;
  box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%), 0 0 8px #079b9433;
}
.form-tbl p {
  font-size: 15px;
  margin-top: 15px;
  border-top: solid 1px #503F29;
  padding-top: 15px;
  margin-bottom: 15px;
}
.pry-radio label {
  position: relative;
}
#privacy-error {
  position: absolute;
  top: 30px;
  color: #D30001;
  font-weight: normal;
  font-size: 16px;
}
.has-error .validation-block {
  color: #D30001;
  font-weight: normal;
  font-size: 16px;
}
.firsttime-text__wrap ._head {
  font-size: 21px;
  text-align: center;
  letter-spacing: 0.24em;
  color: #536365;
  font-weight: bold;
  margin-bottom: 60px;
}
.firsttime-text__wrap ._head span {
  font-size: 21px;
  color: #536365;
  font-weight: bold;
}
.firsttime-text__wrap ._contect-title {
  display: flex;
  align-items: center;
  font-size: 21px;
  font-weight: bold;
  color: #536365;
  margin-bottom: 30px;
}
.firsttime-text__wrap ._contect-title::after {
  content: '';
  height: 2px;
  flex-grow: 1;
  margin-left: 20px;
  background-image: url(../img/contact-line.svg);
  background-position: left bottom;
  background-repeat: repeat-x;
}
.textbox-items__block {
  display: flex;
}
.textbox-items__box {
  display: flex;
  align-items: center;
}
.textbox-items__box span {
  display: inline-block;
  margin: 0 10px;
}
.textbox-items__box input {
  max-width: 100px;
  width: 100%;
}
.btn {
  font-size: 15px;
  font-weight: 400;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  padding: 8px 20px;
}
.btn01 .btn {
  background-color: #009E96;
  width: 120px;
  margin-left: 20px;
  margin-left: 15px;
  color: #fff;
}
.modal-dialog {
    max-width: 600px;
    margin: 150px auto 0;
    width: calc(100% - 40px);
}
.btn.btn-md {
  padding: 8px 20px !important;
}
.btn.btn-lg {
  padding: 18px 36px !important;
}
.btn:hover, .btn:active, .btn:focus {
  box-shadow: none !important;
  outline: none !important;
}
.btn-primary {
  background: #3958A7;
  color: #fff;
  border: 2px solid #3958A7;
}
.contact-items__box textarea {
  height: 180px;
}
.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5;
  display: flex;
  justify-content: flex-end;
}
.btn-default {
  width: 80px;
  margin: 0;
}
.modal-footer .btn + .btn {
  margin-left: 5px;
  margin-bottom: 0;
  margin: 0 auto;
}
.cp_ipradio label span {
  font-size: 14px;
}
@media screen and (max-width: 769px) {
  .modal-dialog {  
    margin: 70px auto 0;
  }
  .form-control {
    height: 40px;
    padding: 10px 10px;
  }
  .title-select {
    width: 100%;
  }
  .textbox-items__box input {
    max-width: 50px;
    width: 100%;
    padding: 5px 5px;
  }
  .checkbox span::before {
     top: 8px;
    left: -30px;
  }
}
/* thanks */
#thanks {
	padding-top: 80px;
	width: 100%;
	height: 80vh;
	background: #fff;
}
.thanks_wrapper {
	padding: 120px 0;
	text-align: center;
}
/* 404 */
section.not_area {
	width: 100%;
	height: auto;
}
.not {
	padding: 120px 0;
	width: 100%;
	display: flex;
	justify-content: center;
	min-height: calc(100vh - 200px);	
}
.not_wrapper {
	width: 73.2%;
	text-align: center;
}
.not_wrapper h1 {
	padding: 40px 0;
}
.not_wrapper p {
	color: #fff;
}
@media screen and (max-width: 1134px) {
.not {
	min-height: calc(100vh - 230px);	
}
}
.post_none {
	width: 100%;
	display: flex;
	justify-content: center;
}
.post_none p {
	display: inline-block;
	font: normal normal normal 16px/28px Noto Serif JP;
	letter-spacing: 0px;
	color: #000;
}
#privacy-policy {
	background: #fff;
	padding: 80px 0;
}
.privacy-policy h2 {
	text-align: left;
	font: normal normal bold 32px/48px Helvetica;
	letter-spacing: 0px;
	color: #000000;
	margin: 32px 0 0 0;
}
/* recruit */
.recruit_kv {
	width: 100%;
	position: relative;
}
.recruit_kv h1 img {
	max-width: 100%;
	height: auto;
}
.recruit_kv img.btn7 {
	position: absolute;
	left: 38.285%;
	bottom: 10%;
	margin: 0;
	width: 23.43%;
	height: auto;
}
#recruit_vision,
#message,
#entry {
	width: 100%;
	background: #000;
	margin-top: -1px;
}
.recruit_heading {
	padding-top: 100px;
	width: 73.2%;
}
#recruit_vision .recruit_heading h2,
#message .recruit_heading h2 {
	font: normal normal bold 70px/84px Helvetica;
	letter-spacing: 11.9px;
	color: #FFFFFF;
	text-transform: uppercase;
	margin: 0 0 80px 0;
}
#recruit_vision .recruit_heading h2 {
	text-align: left;
}
#message .recruit_heading h2 {
	text-align: center;
}
.recruit_heading h3 {
	text-align: left;
	font: normal normal bold 24px/35px Noto Sans JP;
	letter-spacing: 0px;
	color: #FFFFFF;
	text-transform: uppercase;
	margin: 0 0 32px 0;
}
#recruit_vision .recruit_heading p {
	text-align: left;
	font: normal normal normal 16px/28px Noto Sans JP;
	letter-spacing: 0px;
	color: #FFFFFF;
	margin: 0 0 100px 0;
}
#recruit_vision img {
	width: 100%;
	height: auto;
}
.message_area {
	width: 100%;
	display: flex;
}
.message_area img {
	width: 47.5%;
	height: 47.5%;
	margin-right: 58px;
}
#message p.role {
	text-align: left;
	font: normal normal bold 16px/24px Noto Sans JP;
	letter-spacing: 0px;
	color: #FFFFFF;
	text-transform: uppercase;
	margin: 0 0 12px 0;
}
#message p.name {
	text-align: left;
	font: normal normal normal 40px/58px Noto Sans JP;
	letter-spacing: 0px;
	color: #FFFFFF;
	text-transform: uppercase;
	margin: 0 0 13px 0;
}
#message p.romanalphabet {
	text-align: left;
	font: normal normal normal 12px/14px Helvetica;
	letter-spacing: 6.96px;
	color: #606060;
	text-transform: uppercase;
}
#message p.message_text{
	text-align: left;
	font: normal normal normal 16px/32px Noto Sans JP;
	letter-spacing: 0px;
	color: #FFFFFF;
}
.entry_area {
	padding-top: 100px;
	width: 100%;
	position: relative;
}
#entry img.entry {
 width: 100%;
}
#entry img.btn7 {
		position: absolute;
	left: 38.285%;
	bottom: 15%;
	margin: 0;
	width: 23.43%;
	height: auto;
}
@media screen and (max-width: 1134px) {
	.recruit_heading {
		padding-top: 80px;
	}
	.recruit_kv img.btn7 {
	position: absolute;
	left: 14%;
	bottom: 6%;
	width: 72%;
	}
	#recruit_vision img {
		margin-bottom: 0px;
	}
	.recruit_heading {
		width: 89%;
	}
	.message_area {
		width: 100%;	
		display: block;
	}
	.message_area img {
		width: 100%;
		height: 100%;
		margin-right: 0px;
		margin-bottom: 40px;
	}
	#recruit_vision .recruit_heading h2,
	#message .recruit_heading h2 {
		font-size: 48px;
		margin: 0 0 40px 0;
	}
	#entry img.btn7 {
		position: absolute;
		left: 14%;
		bottom: 6%;
		width: 72%;
	}
	.entry_area {
		padding-top: 80px;
	}
}
