:root {
  /* ボタンの色 */
  --btn-color: #c52424;
  /* ボタンの色（ホバー） */
  --btn-hover-color: #c96f6f;

  /* コンテンツタイトルの文字色 */
  --cont-title: #666;

  /* テキストの文字色 */
  --text-headline-color: #666;
  --text-main-color: #666;
}

* {
  margin: 0;
  padding: 0;
  vertical-align: bottom;
  outline: 0;
  text-decoration: none;
  font-family: 'Noto Serif JP', serif;
}

.contents {
  overflow: hidden;
}

.pc {display: block;}
.sp {display: none;}

.wrapper {
  max-width: 1020px;
  padding: 70px 20px 20px 20px;
  box-sizing: border-box;
  margin: 0 auto;
  display: block;
}

@media screen and (max-width:750px) {
  .pc {display: none;}
  .sp {display: block;}

  .wrapper {
  padding:  30px 20px 20px 20px;
  }
}

@media screen and (max-width:470px) {
  .wrapper {
    padding: 30px 20px 20px 20px;
  }
}

/* TOP画のタイトル文字) */
.cont_title {
  margin-bottom: 50px;
	text-align: center;
}

.cont_title h2 {
  font-size: 35px;
  letter-spacing: 0.05em;
  color: var(--cont-title);
  letter-spacing: 2px;
}

.cont_title h3 {
  font-size: 19px;
  letter-spacing: 0.05em;
  color: var(--cont-title);
    letter-spacing: 1.6px;
}

@media screen and (max-width:750px) {
  .cont_title {
    margin-bottom: 20px;
  }

  .cont_title h2 {
    font-size: 29px;
  }

  .cont_title h3 {
    font-size: 17px;
  }
}

@media screen and (max-width:470px) {
  .cont_title {
    margin-bottom: 15px;
  }

  .cont_title h2 {
    font-size: 29px;
  }

  .cont_title h3 {
    font-size: 16px;
  }

  #movie .cont_title {
    margin-bottom: 15px;
  }

  #about.cont_title {
    margin-bottom: 40px;
  }

  #keyword.cont_title {
    margin-bottom: 40px;
  }
}

/* ヘッダー */
#header_wrapper {
 padding-top: 76px;
}

.drawer_btn {
  margin-left: auto;
}

.logo_pc {
  display: block;
  width: 180px;
  height: auto;
}

.logo_pc img {
  width: 100%;
}

.logo_sp {
  display: none;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 8px 0;
  background: #fff;
  box-shadow: 0px 10px 10px -5px rgba(0,0,0,0.1);
  z-index: 9999;
  height: 60px;
}

.header_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 100%;
  margin: auto;
  padding: 5px 20px  5px 20px;
}

.header_nav {
  width: 500px;
}

.header_nav ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style: none;
}

.header_nav ul li a {
  font-size: 16px;
  color: #666;
}


.header_inner img {
  width: 100%;
  max-width: 180px;
  height: auto;
  }

.button {
  display: flex;
  flex-direction: column;
  justify-content: center;
  -webkit-appearance: none;
  position: relative;
  height: 25px;
  width: 30px;
  margin-left: 25px;
  border: 0;
  background: transparent;
  border-radius: 0;
  touch-action: manipulation;
  pointer-events: auto;
  cursor: pointer;
  z-index: 1;
  user-select: none;
}

.icon-bar {
  display: block;
  width: 100%;
  height: 3px;
  background: #aaa;
  transition: .3s;
}

.icon-bar + .icon-bar {margin-top: 5px;}
.button:focus-within{pointer-events: none;}
.button:focus-within .icon-bar:nth-of-type(1) {transform: translate3d(0,8px,0) rotate(45deg);}
.button:focus-within .icon-bar:nth-of-type(2) {opacity: 0;}
.button:focus-within .icon-bar:nth-of-type(3) {transform: translate3d(0,-8px,0) rotate(-45deg);}
.header_nav {
  position: absolute;
  top: -15px;
  right: 0;
  width: 100%;
  margin-top: 70px;
  padding: 20px 0;
  background: rgba(255,255,255,0.9);
  pointer-events: auto;
  transform: translateX(+100%);
  transition: transform .3s;
  will-change: transform;
  contain: paint;
  z-index: 1000;
  }

.header_nav ul {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 20px 20px 0;
  list-style: none;
  }

.header_nav li {
  width: 100%;
  padding: 10px 0;
  }

.header_nav li:last-child {
  padding-bottom: 0;
}

.header_nav li a {
  padding: 10px 5px;
  display: block;
  text-transform: uppercase;
  transition: color .1s;
  text-align: center;
}

.header_nav li a:hover {color: #BF7497;}
.header_nav li:not(.small) + .small {margin-top: auto;}
.btnarea:focus-within .header_nav {transform: none;}
}

.drawer_btn {
  max-width: 100%;
  position: relative;
  right: 5px;
  }

.header_button {
  display: block;
  background: #c52424;
  border: 3px double #fff !important;
  text-align: center;
  padding: 8px 10px !important;
  color: #fff !important;
  font-weight: normal;
  transition: .5s;
  letter-spacing: 1.5px;
  text-decoration: none !important;
}

.header_button:hover {
  background: #c96f6f;
}

@media screen and (max-width:750px) {

  .header_button:hover {
    background-color: #c52424;
  }

}

@media screen and (max-width:600px) {
  #header_wrapper {
    padding-top: 55px;
  }
}

@media screen and (max-width:470px) {
  .header {
    padding: 0px;
  }

  .header_inner {
    padding: 14px 12px  7px 12px;
  }

  .logo_sp {
    display: block;
    max-width: 120px;
    height: auto;
  }

  .logo_sp img {
    width: 100%;
    align-items: center;
  }

  .logo_pc {
    display: none;
  }

  .header_button {
    padding: 6px 8px !important;
    letter-spacing: 1.3px;
    font-size: 12px;
  }

  .button {
    margin-left: 15px;
  }

  .drawer_btn {
    max-width: 100%;
    position: relative;
    right: 5px;
  }
}

/* スライドショー */
.main_vd{
	padding-top: 48%;
	background-image: url("../images/main_vd.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	position: relative;
	max-height: 600px;
}

.heading{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left:13%;
	margin:auto;
	font-size:29px;
	letter-spacing: 1.8px;
	color:#fff;
	text-shadow: 0 2px 10px rgba(14,1,1,0.5);
}

.heading h1{
  font-size:29px;
	border-bottom:3px solid #fff;
	margin-bottom:9px;
  padding-bottom: 10px;
  letter-spacing: 2px;
}

.heading h1,
.heading h2 {
  color: #fff;
  font-size: 1.5em;
  letter-spacing: 2px;
}

@media screen and (max-width:750px) {
   .main_vd {
     padding-top: 90%;
   }

  .main_vd1_text{
  	font-size:25px;
  }

  .main_vd1_text h1{
  	border-bottom:3px solid #fff;
  	margin-bottom:9px;
  }

  .heading h1,
  .heading h2 {
    font-size: 23px;
    letter-spacing: 2px;
  }
}

@media screen and (max-width:600px) {
  .main_vd1_text{
  	font-size: 4.8vw;
  	text-align: center;
  	width:100%;
  	left: 0;
  	right:0;
	}

  .main_vd1_text h1{
	  display: inline-block;
  }
}

@media screen and (max-width:470px) {
  .main_vd {
    padding-top: 100%;
  }

  .heading{
    top: 55%;
  }
}

/* エリア検索 */
input[type=text],
select {
  box-sizing: border-box;
  text-transform: none;
  text-indent: 0;
  font-weight: 700;
  vertical-align: middle;
  line-height: 20px;
  display: block;
  height: 52px;
  width: 100%;
  padding: 10px;
  color: #000;
}

input[type=text],
select {
  background: #fff;
  border: 1px solid #ccc;
}

.search_area {
	padding:0 50px;
	box-sizing: border-box;
	z-index:999;
  width: 60%;
  margin: 0 auto;
}

.form_area {
  position: relative;
}

.area{
  position: absolute;
  box-sizing: border-box;
  background: #666;
  font-size: 13px;
  text-align: center;
  top:22px;
  left:0;
  border: 0 !important;
  padding:16px 7px 17px;
  color:#fff;
  font-weight: bold;
  z-index: 1000;
}

#search form{
  padding:20px 0px 20px;
  position: relative;
  z-index: 999;
}

#search .site{
  position: relative;
  top:2px;
  left: 10px;
  width: calc(100% - 128px);
  margin: auto;
  z-index: 1001;
}

#search .free{
	position: absolute;
	left:391px;
	width:32%;}

#search .free>div{
	position: relative;
}

#search .search_btn{
	position: absolute;
	top:21px;
	right: 0;
}

#search .submit{
	position: relative;
	background: #c52424;
	border: 3px double #fff;
	padding:11px 12px;
	color:#fff;
	cursor: pointer;
	z-index: 1002;
}

#search .submit:hover{
	background-color: #c96f6f;
}

#search .submit img{
	width:26px;
}

#search h2{
	font-size: 24px;
}

@media screen and (max-width:750px) {

  /* エリア検索 */
  input[type=text],
  select {
    color: #000;
    padding: 10px 10px 10px 20px;
  }

  .search_area {
    width: 100%;
  }

  .search_area {
    width: 100%;
  }

  .allsearch {
    margin-top: 30px;
    top: 0;
  }

  #search .submit:hover {
  	background-color: #c52424;
  }


  #search .cont_title {
    margin-bottom: 0px;
  }
}

@media screen and (max-width:470px) {
  .search_area {
  	padding:0 20px;
   }

   #search .cont_title {
     margin-bottom: 0px;
  }
}


/* 職種で探す */
#job h2{
	font-size: 24px;
}

.button_wrapper {
	display: flex;
	justify-content: space-between;
	margin: 50px auto 0;
  width: 90%;
  max-width: 720px;
}

.job_button {
  width: 32%;
  margin-right: 5px;
}

.job_button:last-child {
	margin-right: 0;
}

.allsearch{
  position: relative;
  box-sizing: border-box;
  background: #c52424;
  font-size: 17px;
  text-align: center;
  top: 10px;
  left: 0;
  padding:11px 12px;
  color:#fff;
  font-weight: bold;
  z-index: 980;
  width: 100%;
  transition: .5s;
  letter-spacing: 2px;
}

.allsearch:hover{
	background-color: #c96f6f
}

@media screen and (max-width:750px) {
  #job .wrapper {
    padding: 30px 20px 20px 30px
  }

  .button_wrapper {
  	display: block;
    margin: 20px auto 0;
  }

  .job_button {
    width: 100%;
  }

  .allsearch:hover{
  	background-color: #c52424;
  }
}

/* 採用メッセージ */
.message_text {
  margin: 30px 0px;
  font-size: 21px;
  letter-spacing: 0.15em;
  text-align: center;
  color: #666;
}

.main_photo {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
}

.main_photo img {
  width: 100%;
  height: auto;
}

.more_button {
  margin-top: 50px;
}

.more_button_inner {
  margin: auto;
	width: 380px;
  background: var(--btn-color);
  border:3px double #fff;
  transition: 0.5s;
}

.more_button_inner:hover{
	background: var(--btn-hover-color);
}

.more_button_inner p {
	padding: 11px 0;
  letter-spacing: 0.1em;
  font-weight:bold;
  color:#fff;
  text-align: center;
}

@media screen and (max-width:750px) {
  #message .wrapper {
    padding: 50px 20px 20px 20px;
   }

  .more_button_inner {
    width: 90%;
  }

  .more_button {
    margin: 5px 0 30px  0;
  }

  .more_button_inner:hover {
    background-color: #c52424;
  }

}

/*社員インタビュー*/
#interview{
	margin-top:50px;
}

#interview p{
  font-size:17px;
	letter-spacing: 2.3px;
  line-height: 1.7em;
}

.interview1 {
  width: 95%;
  max-width: 980px;
  margin: 100px auto 0;
}

.interview1_inner {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
}

.interview1_img {
  width: 300px;
}

.interview1_img img {
  width: 100%;
  height: auto;
}

.interview1_position {
  display: inline-block;
  min-width: 80px;
  margin: 12px 0;
  padding: 5px 10px 8px;
	font-size: 13px;
	border: 1px solid #666;
	text-align: center;
  color: var(--text-main-color);
}

.interview1_name {
  font-size: 13px;
  color: var(--text-main-color);
}

.interview1_name span {
  margin-left: 10px;
  letter-spacing: 0.25em;
}

.interview1_inner_right {
  width: 100%;
  margin-left: 50px;
}

.interview1_inner_right h3 {
  font-size: 25px;
  line-height: 1.5em;
	letter-spacing: 0.15em;
  font-weight: 800;
  color: var(--text-main-color);
}

.interview1_inner_right p {
  margin-top: 20px;
  font-size: 15px;
  line-height: 1.8em;
  letter-spacing: 2px;
  color: var(--text-main-color);
}

@media screen and (max-width:750px) {
  #interview {
    margin-top: 0px;
  }

  .interview1 {
    max-width: 90%;
    margin: 50px auto -50px;
  }

  .interview1_inner {
    flex-direction: column;
  }

  .interview1_img {
    width: 100%;
  }

  .interview1_position,
  .interview1_name {
    font-size: 15px;
  }

  .interview1_inner_right {
    margin: 30px 0 0 0;
  }

  .interview1_inner_right h3 {
    font-size: 20px;
  }
}

@media screen and (max-width:470px) {
  #interview {
    margin-top: 0px;
  }
}

/*動画*/
.standard_movie1_inner {
  width: 100%;
  max-width: 980px;
}

.standard_movie1_inner_main {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.standard_movie1_inner_main iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* k会社概要 */
.company_info1 {
  width: 100%;
  max-width: 980px;
  margin: 100px auto 0;
}

.company_info1 li {
  display: flex;
  padding: 15px 50px;
  font-size: 16px;
  letter-spacing: 0.15em;
  color: var(--text-main-color);
}

.company_info1 li:nth-child(2n-1){
	background-color: #E7E7E7;
}

.company_info1 li div:nth-of-type(1){
	width:25%;
}

.company_info1 li div:nth-of-type(2){
	width:75%;
}

@media screen and (max-width:750px) {
  .company_info1 li {
    padding: 15px 20px;
  }
  .company_info1 li div:nth-of-type(1){
  	width:35%;
  }
  .company_info1 li div:nth-of-type(2){
  	width:65%;
  }

  .company_info1 {
    margin: 30px auto 0;
  }
}

@media screen and (max-width:470px) {
  .company_info1 {
    margin: 30px auto 0;
  }
}

/* google_map1 */
.google_map1 {
  margin-top: 50px;
}
.google_map1_inner {
  height: 0;
  overflow: hidden;
  padding-bottom: 33.25%;
  position: relative;
}
.google_map1_inner iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

@media screen and (max-width:750px) {
  .google_map1_inner {
  padding-bottom: 40.25%;
  }
}

@media screen and (max-width:600px) {
  .google_map1_inner {
  padding-bottom: 48.25%;
  }
}

@media screen and (max-width:500px) {
  .google_map1_inner {
  padding-bottom: 55.25%;
  }
}

/* standard_button1 */
.standard_button1 {
  margin-top: 50px;
}

.standard_button1_inner {
  margin: auto;
	width: 380px;
  background: var(--btn-color);
  border:3px double #fff;
  transition: 0.5s;
}

.standard_button1_inner:hover{
	background: var(--btn-hover-color);
}

.standard_button1_inner p {
	padding: 11px 0;
  letter-spacing: 0.1em;
  font-weight:bold;
  color:#fff;
  text-align: center;
}

@media screen and (max-width:750px) {
  .standard_button1_inner {
    width: 90%;
  }

  .standard_button1_inner:hover{
  	background-color: #c52424;
  }
}

rt {
  font-size: 13px;
  font-weight: bold;
}

/* footer */
.footer1 {
  margin-top: 50px;
}
.footer1_inner {
  width:100%;
  padding:20px 0;
	background-image: url("../images/about_photo1.jpg");
	background-color:rgba(0,0,0,0.5);
	background-blend-mode:darken;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.footer1_inner p {
  font-size:10px;
	color:#fff;
  text-align: center;
}
