@charset "UTF-8";
em, mark {
  font-style: italic
}

article, aside, details, figcaption, figure, footer, header, hgroup, hr, menu, nav, section {
  display: block
}

hr, img {
  border: 0
}

a, hr, input, select, textarea {
  margin: 0;
  padding: 0
}

a, body {
  color: #333
}

a, a:hover, ins {
  text-decoration: none
}

li, ol, ul {
  list-style: none
}

.list_news_one a, .serviceLink li a span {
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  -o-transition: all .3s ease
}

*, .ourWorks_list_one {
  box-sizing: border-box
}

.kv_area__thanks .kv_area_ttl, .kv_area_copy, .list_seeMore, .serviceLink li a span, .service_mainMessage {
  text-align: center
}

.horizontal, .imgWrap {
  zoom: 1
}

.cf:after, .clear, .horizontal:after, .imgWrap:after, .recruit_staff_one:after {
  clear: both
}

#big-video-control-bar, .btn_02 input:hover, .service_image_list_one:hover {
  cursor: pointer
}

abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: 0 0
}

ins, mark {
  background-color: #ff9;
  color: #000
}

blockquote, q {
  quotes: none
}

blockquote:after, blockquote:before, q:after, q:before {
  content: '';
  content: none
}

a {
  font-size: 100%;
  vertical-align: baseline;
  background: 0 0
}

mark {
  font-weight: 700
}

img {
  vertical-align: top;
  width: 100%
}

del {
  text-decoration: line-through
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

hr {
  height: 1px;
  border-top: 1px solid #ccc
}

input, select, textarea {
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  font-size: 100%;
  vertical-align: middle
}

.kv_area_ttl, h1, h2, h3, h4, h5, h6, th {
  font-weight: 400
}

input:focus, select:focus, textarea:focus {
  outline: 0
}

html {
  font-size: 62.5%
}

body {
  font-family: 'Noto Sans JP', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  line-height: 1.8em;
  font-size: 1.4em;
  background-color: #fff;
  background-image: url(../images/common/bg_sideline.png);
  background-repeat: repeat-y;
  background-position: top right;
  background-attachment: fixed;
  overflow-x: hidden
}

.recruit_Lead01, .mainMessage, .message-area2, .message-area3, .recruit_mainMessage, .recruit_staff_one_mainMessage, .recruit_staff_one_message, .recruit_staff_one_message_text, .recruit_staff_one_message_ttl, .recruit_text01 {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif
}
.message-area {
  position: relative;
  max-width: 1024px;
  margin: 0 auto;
}
.message-area2,
.message-area3 {
  position: relative;
  max-width: 920px;
  margin: 0 auto;
}
.message-area2 p,
.message-area3 p {
  margin: 60px 65px;
  font-size: 20px;
  font-size: 2rem;
  line-height: 2;
  letter-spacing: -1px;
}
.message-area3 {
  background-image: url(../images/message/syamei_bg.jpg);
  padding: 40px 0;
}
.message-area3 h1 {
  color: #fff;
  font-size: 30px;
  font-size: 3rem;
  text-align: center;
  max-width: 78rem;
  background: #333;
  margin: 0 auto;
  padding: 15px;
}
.mainMessage {
  position: absolute;
  bottom: 2%;
  right: 10px;
  z-index: 5;
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 2.2;
  text-align: left;
  margin-bottom: 40px;
  letter-spacing: 4px;
  color: #fff;
}
.mainMessage span {
  background: #333;
  padding: 3px;
}
.btn_01__inquiry{
  border: 1px solid #231815;
  padding: 3rem 1.5rem;
  width: 100%;
  max-width: 1000px;
  margin: 20px auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
 .btn_01__inquiry{
  text-align: left;
  margin-bottom: 4vw;
  } 
}
@media (max-width:979px) {
  .mainMessage {
  font-size: 24px;
  font-size: 2.4rem;
  }
}
@media (max-width:899px) {
  .mainMessage {
  font-size: 21px;
  font-size: 2.1rem;
  }
}
@media (max-width:767px) {
  .mainMessage {
  position: static;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2.2;
  text-align: center;
  margin-bottom: 40px;
  letter-spacing: 3px;
  color: #000;
  }
  .mainMessage span {
    background: none;
  }
  .message-area3 h1 {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .message-area2 p,
  .message-area3 p {
    margin: 60px 70px;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 2;
  }
}
@media (max-width:680px) {

  .mainMessage {
  position: static;
  font-size: 16px;
  font-size: 1.6rem;
    line-height: 2.2;
    text-align: center;
    margin-bottom: 40px;
    letter-spacing: 2px
  }
}
.name-area {
  position: relative;
  width: 90%;
  margin: 0 auto;
}
.br-none480, .br-none560 {
  display: none;
}
@media (max-width:559px) {
  .br-none560 {
    display: inline!important;
  }
  .message-area3 h1 {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .message-area2 p,
  .message-area3 p {
    margin: 30px 35px;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media (max-width:479px) {
  .br-none480 {
    display: inline!important;
  }
  .message-area2 p {
    margin: 30px 25px;
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.name-area h1 {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  background: #fff;
}
.name-area h1 {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  background: #fff;
}
@media (max-width:767px) {
  .is_pc {
    display: none!important
  }
}

.is_sp,.is_sp2{
  display: none
}

@media (max-width:767px) {
  .is_sp {
    display: block
  }
  .is_sp2 {
    display: inline;
  }
}

.videoWrap {
  height: 100%;
  height: 100vh;
  position: fixed;
  width: 100%;
  z-index: -1
}

#video {
  background: url(/video_bg.jpg) center center no-repeat fixed;
  background-size: cover;
  left: 0;
  min-height: 100%;
  min-height: 100vh;
  min-width: 100%;
  min-width: 100vw;
  position: absolute;
  top: 0;
  z-index: -2
}

.kv_area__message {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 50% 0 0;
}

.kv_area__message .kv_area_inner{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.kv_area__message .kv_area_inner .kv_area_ttl {
  padding-top:14%;
  text-align: center;
}

.kv_area {
  width: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center
}
.kv_area__index {
  height: 80vh;
  position: relative;
  margin-bottom: 72px
}

.kv_area__underPage {
  height: 498px;
  /*margin-top: 74px;*/
  background-size: cover;
  background-position: center top;
}
.kv_area__recruit {
  background-size: 100% auto;
  background-position: 0 -77px;
}
.kv_area__recruitbox {
	position: relative;
	width: 100%;
	height: auto;
}
.ratio1:before {
	content: "";
	display: block;
	padding-top: 32%;
}
.kv_area__recruitbox .kv_area__recruit {
	position: absolute;
	top: 0; left: 0;
	width: 100%;
	height: 100%;
	margin-top: 0;
	background-position: 0 0;
}
.kv_area__recruitbox .kv_area__recruit .kv_area_ttl,
.kv_area__recruitbox .kv_area__recruit .kv_area_ttl_sub {
  color: #333;
  text-shadow: 2px 2px 8px #fff;
}
#stafftitlearea {
  text-align: center;
  font-size: 65px;
  font-size: 6.5rem;
  line-height: 50px;
  line-height: 5rem;
  color: #fff;
  text-shadow: 2px 2px 8px #333;
  margin-top: -9%;
}
.stafftitle span {
  font-size: 25px;
  font-size: 2.5rem;
}
.mynavi {
  width: 400px;
  text-align: center;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2.2;
  margin: 50px auto;
}
.mynavi img {
  width: 300px;
  margin-top: 20px;
}
@media screen and (max-width:1279px) {
  body {
    background-image: none;
  }
	.ratio1:before {
		padding-top: 34%;
	}
  #stafftitlearea {
    font-size: 50px;
    font-size: 5rem;
    line-height: 40px;
    line-height: 4rem;
    margin-top: -7%;
  }
  .stafftitle span {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media screen and (max-width:1183px) {
.kv_area__recruitbox .kv_area__recruit {
  background-image: url(../images/recruit/ph_recruit_01c.jpg);
}
}
@media screen and (max-width:959px) {
  #stafftitlearea {
    font-size: 50px;
    font-size: 5rem;
    line-height: 40px;
    line-height: 4rem;
    margin-top: 0;
  }
  .stafftitle span {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media screen and (max-width:767px) {
  body {
    background-image: none;
    /*overflow: hidden;*/
  }
  #stafftitlearea {
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 20px;
    line-height: 2rem;
    margin-top: -6%;
  }
  .stafftitle span {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .kv_area__index {
    margin-bottom: 0;
  }
  .kv_area__underPage {
    height: 26vh;
    margin-top:0;
  }
	.ratio1:before {
		padding-top: 28%;
	}
	.kv_area__recruitbox .kv_area__recruit {
		background-position: 0;
	}
}

.kv_area__redBg {
  height: 246px;
  background-color: #e60012
}

.kv_area__serviceIndex {
  background-image: url(../images/service/ph_service_index_01.jpg)
}

@media screen and (max-width:767px) {
  .kv_area__redBg {
    height: 20vh
  }
  .kv_area__serviceIndex {
    background-position: top center
  }
	.is_sp {
	    display: block;
	}
  .is_sp2 {
    display: inline;
  }
  .is_sp_none {
    display: none;
  }
}

.kv_area__service01 {
  background-image: url(../images/service/ph_service_01_01.jpg)
}

.kv_area__service02 {
  background-image: url(../images/service/ph_service_02_01.jpg)
}

.kv_area__service03 {
  background-image: url(../images/service/ph_service_03_01.jpg)
}

.kv_area__service04 {
  background-image: url(../images/service/ph_service_04_01.jpg)
}

.kv_area__service05 {
  background-image: url(../images/service/ph_service_05_04.jpg)
}

.kv_area__service07 {
  background-image: url(../images/service/ph_service_07_01.jpg)
}

.kv_area__recruit {
  background-image: url(../images/recruit/ph_recruit_01.jpg);
}

.kv_area__message {
  background-image: url(../images/message/ph_message_01.jpg);
}

.kv_area__company {
  background-image: url(../images/company/ph_company_01.jpg);
  background-position: center center
}
.kv_area__action-on-dx {
  background-image: url(../images/action-on-dx/ph_action-on-dx_01.jpg);
  background-position: center center
}
.kv_area__sustainability {
  background-image: url(../images/sustainability/ph_sustainability_01.jpg);
  background-position: center center
}


.kv_area_copy {
  position: absolute;
  bottom: 100px;
  font-size: 48px;
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 2.6;
  color: #fff;
  letter-spacing: 1.1rem;
  text-shadow: 0 0 8px rgba(0, 0, 0, .6)
}

.kv_area_logo {
  width: 530px;
  height: auto;
  margin-bottom: 30px
}

.kv_area_logo img {
  width: 100%;
  height: auto;
  text-shadow: 0 0 1px rgba(0, 0, 0, .4)
}

@media screen and (max-width:767px) {
  .kv_area_copy {
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 2px
  }
  .kv_area_logo {
    width: 80vw
  }
  .kv_area__recruit {
    background-image: url(../images/recruit/ph_recruit_01b.jpg);
  }
}

.scroll-btn, .scroll-btn a {
  pointer-events: none
}

.kv_area_ttl {
  font-size: 65px;
  font-size: 6.5rem;
  line-height: 1;
  color: #fff;
  text-shadow: 2px 2px 8px #333;
  position: relative;
  margin-top: 60px;
}
.kv_area__recruitbox .kv_area_ttl {
  font-size: 65px;
  font-size: 6.5rem;
  margin-top: -5%;
}
@media screen and (max-width:767px) {
  .kv_area_ttl {
    font-size: 26px;
    font-size: 2.6rem;
    margin-top: 10px;
  }
}

/* 2021.09.14 A.Kusumoto BIMCIM追加 ADD-START */
.kv_area_ttl_small {  
    font-size: 36px;
    font-family: "serif";
}
@media screen and (max-width:767px) {
  .kv_area_ttl_small {
    font-size: 12px;
    font-size: 1.4rem;
    margin-top: 10px;
  }
}
/* 2021.09.14 A.Kusumoto BIMCIM追加 ADD-END */

.kv_area__redBg .kv_area_ttl {
  font-size: 46px;
  font-size: 4.6rem;
  text-shadow: none;
  letter-spacing: 10px;
  margin-top: 74px
}

@media screen and (max-width:767px) {
  .kv_area__redBg .kv_area_ttl {
    font-size: 40px;
    font-size: 4rem;
    margin-top: 0
  }
}

.kv_area_ttl_sub {
  position: absolute;
  top: 210px;
  font-size: 25px;
  font-size: 2.5rem;
  line-height: 1;
  text-shadow: 2px 2px 8px #333;
  color: #fff;
  letter-spacing: 4px
}
.kv_area__recruitbox .kv_area_ttl_sub {
  padding-top: 5%;
  font-size: 25px;
  font-size: 2.5rem;
  line-height: 1;
  text-shadow: 2px 2px 8px #333;
  color: #fff;
  letter-spacing: 4px
}
.kv_area_scroll {
  width: 46px;
  height: auto;
  position: absolute;
  bottom: 30px;
  left: 0;
  right: 0;
  margin: 0 auto
}

.contents {
  width: 100%
}

.contents__index {
  padding: 90px 0;
  background-color: #fff
}

.contents__serviceIndex {
  padding: 80px 0 0
}
@media screen and (max-width:767px) {
  .kv_area_ttl_sub {
    font-size: 14px;
    font-size: 1.4rem;
    top: 9vh;
  }
  .kv_area__recruitbox .kv_area_ttl_sub {
    position: absolute;
    top: 0;
  }
  .contents__serviceIndex {
    padding: 10vw 0 0
  }
}

.contents__service {
  padding: 80px 0
}

@media screen and (max-width:767px) {
  .contents__service {
    padding: 10vw 0 12vw
  }
}

.contents__recruit {
  padding: 80px 0 180px
}

@media screen and (max-width:767px) {
  .contents__recruit {
    padding: 10vw 0 20vw
  }
}

.contents__company {
  padding: 80px 0
}

@media screen and (max-width:767px) {
  .contents__company {
    padding: 10vw 0 14vw
  }
}

.contents__action-on-dx {
  padding: 80px 0;
}

@media screen and (max-width:767px) { 
  .contents__action-on-dx { 
    padding: 10vw 0 14vw; 
  } 
} 

.contents__news {
  padding: 80px 0 100px
}

@media screen and (max-width:767px) {
  .contents__news {
    padding: 10vw 0 4vw
  }
}

.contents__contact {
  padding: 40px 0 100px
}

@media screen and (max-width:767px) {
  .contents__contact {
    padding: 5vw 0 16vw
  }
}

.contents__thanks {
  padding: 40px 0 100px
}

.footStamp {
  background-color: #231815
}

.footStamp_list {
  width: 980px;
  margin: 0 auto;
  display: flex
}

.footStamp_list li {
  line-height: 38px;
  color: #fff;
  font-size: 15px;
  font-size: 1.5rem
}

@media screen and (max-width:767px) {
  .contents__thanks {
    padding: 5vw 0 16vw
  }
  .footStamp_list {
    width: auto;
    padding-left: 4vw
  }
  .footStamp_list li {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 28px
  }
}

.footStamp_list li:after {
  content: ">";
  margin: 0 10px;
  color: #fff
}

.footStamp_list li:last-child:after {
  content: ""
}

.footStamp_list li a {
  color: #fff;
  font-size: 15px;
  font-size: 1.5rem
}

.block_01__indexNews {
  margin-bottom: 124px
}

.block_01__ourService {
  margin-bottom: 96px
}

.block_01__ourWorks {
  width: 994px;
  margin: 0 auto;
  position: relative
}

.block_01__ourWorks .ttl_01_w {
  position: absolute;
  left: 36px;
  top: -216px
}

.block_01__etcLink {
  padding-top: 100px
}

.w_serviceLink {
  margin-bottom: 40px
}

.serviceLink {
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap
}

@media screen and (max-width:767px) {
  .footStamp_list li a {
    font-size: 12px;
    font-size: 1.2rem
  }
  .block_01__ourWorks {
    width: auto
  }
  .block_01__ourWorks .ttl_01_w {
    position: relative;
    left: auto;
    top: auto
  }
  .block_01__etcLink {
    padding-top: 12vw
  }
  .serviceLink {
    margin: 0 4vw
  }
}

.serviceLink li {
  width: 50%;
  height: 394px;
  background-size: cover
}

@media screen and (max-width:767px) {
  .serviceLink li {
    width: 100%;
    height: 200px;
    margin-bottom: 4vw
  }
}

.serviceLink li:first-child {
  background-image: url(../images/index/ph_service_01.jpg)
}

.serviceLink li:nth-child(2) {
  background-image: url(../images/index/ph_service_02.jpg)
}

.serviceLink li:nth-child(3) {
  background-image: url(../images/index/ph_service_07.jpg)
}

.serviceLink li:nth-child(4) {
  background-image: url(../images/index/ph_service_03.jpg)
}

.serviceLink li:nth-child(5) {
  background-image: url(../images/index/ph_service_06.jpg)
}
.serviceLink li:nth-child(6) {
  background-image: url(../images/index/ph_service_05.jpg)
}
.serviceLink li a {
  height: 394px;
  display: flex;
  align-items: center;
  justify-content: center
}

@media screen and (max-width:767px) {
  .serviceLink li a {
    height: 200px
  }
}

.serviceLink li a span {
  width: 236px;
  height: 42px;
  background-color: #fff;
  line-height: 42px;
  font-size: 22px;
  font-size: 2.2rem;
  letter-spacing: 4px;
  display: inline-block;
  transition: all .3s ease
}


.small{
  width: 236px;
  height: 42px;
  background-color: #fff;
  line-height: 42px;
  font-size: 10px;
  font-size: 1.2rem;
  letter-spacing: 4px;
  display: inline-block;
  transition: all .3s ease
}




.serviceLink li a:hover span {
  background-color: #e60012;
  color: #fff
}

.list_news {
  width: 856px;
  margin: 0 auto 34px
}

@media screen and (max-width:767px) {
  .list_news {
    width: auto;
    margin: 0 4vw 20px;
    border-top: solid 1px #231815
  }
}

.list_news__news {
  width: 686px;
  margin: 0;
  border-top: solid 1px #231815
}

@media screen and (max-width:767px) {
  .list_news__news {
    width: auto;
    margin: 0 4vw 8vw
  }
}

.list_news__news .list_news_one {
  margin-bottom: 0;
  border-bottom: solid 1px #231815;
  border-right: none;
  border-left: none;
  border-top: none
}

.list_news_one {
  border: 2px solid #231815;
  margin-bottom: 14px
}

.list_news_one a {
  display: flex;
  align-items: center;
  min-height: 62px;
  transition: all .3s ease
}

@media screen and (max-width:767px) {
  .list_news_one {
    border-right: none;
    border-left: none;
    border-top: none;
    border-bottom: solid 1px #231815;
    margin-bottom: 0
  }
  .list_news_one a {
    flex-wrap: wrap;
    padding: 10px 0
  }
}

.list_news_one a:hover .s_category {
  background-color: #fff
}

.list_news_one a:hover .s_day, .list_news_one a:hover .s_title {
  color: #fff
}

.list_news_one .s_category {
  width: 74px;
  color: #fff;
  line-height: 26px;
  font-size: 15px;
  font-size: 1.5rem;
  text-align: center;
  margin: 0 36px 0 15px;
  height: 26px;
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease
}

@media screen and (max-width:767px) {
  .list_news_one .s_category {
    margin: 0 20px 0 0
  }
}

.list_news_one .s_day {
  font-size: 18px;
  font-size: 1.8rem;
  margin-right: 40px
}

.list_news_one .s_title {
  font-size: 18px;
  font-size: 1.8rem;
  width: 100%;
}

@media screen and (max-width:767px) {
  .list_news_one .s_title {
    width: 100%;
    margin-top: 10px
  }
}


.list_news_one__news .s_category, .list_news_one__news a:hover {
  background-color: #e60012
}

.list_news_one__news a:hover .s_category {
  color: #e60012
}

.list_news_one__ir .s_category, .list_news_one__ir a:hover {
  background-color: #e56000
}

.list_news_one__ir a:hover .s_category {
  color: #e56000
}

.list_news_one__recruit .s_category, .list_news_one__recruit a:hover {
  background-color: #00afec
}

.list_news_one__recruit a:hover .s_category {
  color: #00afec
}

.list_news_one__blog .s_category, .list_news_one__blog a:hover {
  background-color: #43499c
}

.list_news_one__blog a:hover .s_category {
  color: #43499c
}

.list_seeMore {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1
}

.list_seeMore a {
  padding: 8px 10px;
  background-image: linear-gradient(to right, transparent 50%, #d01d22 50%);
  background-position: 0 0;
  background-size: 200% auto;
  transition: .3s;
  display: inline-block;
  width: 150px
}

.ourWorks_list_one, .ourWorks_list_one .s_category {
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  -o-transition: all .3s ease
}

/* 2021.09.14 A.Kusumoto BIMCIM追加 ADD-START */
.ourWorks_list_one .s_category_bc {
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  -o-transition: all .3s ease
}
/* 2021.09.14 A.Kusumoto BIMCIM追加 ADD-END   */

.list_seeMore a:after {
  content: ">";
  margin-left: 5px
}

.list_seeMore a:hover {
  background-position: -100% 0;
  color: #fff
}

.w_bg_grey {
  background-color: #dcdddd
}

.w_bg_grey__index {
  padding: 106px 0 56px
}

@media screen and (max-width:767px) {
  .w_bg_grey__index {
    padding: 20px 0
  }
}

.w_bg_grey__serviceIndex {
  padding: 80px 0
}

@media screen and (max-width:767px) {
  .w_bg_grey__serviceIndex {
    padding: 8vw 0 16vw
  }
}

.w_bg_grey__service01 {
  padding: 54px 0 80px
}

@media screen and (max-width:767px) {
  .w_bg_grey__service01 {
    padding: 8vw 0 16vw
  }
}

.w_bg_grey__service02 {
  padding: 54px 0 80px
}

@media screen and (max-width:767px) {
  .w_bg_grey__service02 {
    padding: 8vw 0 16vw
  }
}

.w_bg_grey__service03 {
  padding: 54px 0 30px
}

@media screen and (max-width:767px) {
  .w_bg_grey__service03 {
    padding: 8vw 0 6vw
  }
}

.w_bg_grey__service04 {
  padding: 54px 0 30px
}
#DX {
  padding: 0;
}
#BIMCIM {
  background-image: url(../images/service/menu_bimcim_bg.jpg);
}
#xR {
  background-image: url(../images/service/menu_xr_bg.jpg);
}
#CG {
  background-image: url(../images/service/menu_cg_bg.jpg);
}
.dx_button {
  position: relative;
  height: 25vw;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.dx_bg {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; 
  background-color:rgba(255,255,255,0.9);
  background-blend-mode:lighten;
}
.dx_button a {
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 70px;
  background-color: rgba(0,0,0,.8);
}
.dx_button a:hover {
  background-color: rgba(175,0,94,.95);
}
.dx_button a::after {
  content: "Read More >>";
  color: #fff;
  font-size: 2.4px;
  font-size: 2.4rem;
  position: absolute;
  right: 20px;
  bottom: 0;
  height: 70px;
  line-height: 70px;
}

.dx_button a img {
  display: block;
  height: 70px;
  padding: 10px;
}

.movie_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  padding: 50px 80px;
  background-color: #999;
}

.movie_list ul li {
  display: block;
  width: 22%;
}
#BIMCIM h1,
#xR h1,
#CG h1 {
  height: 64px;
  width: 100%;
  background-color: rgba(0,0,0,.6);
}
#BIMCIM h1 img,
#xR h1 img,
#CG h1 img {
  display: block;
  height: 64px;
  margin: 0 auto;
  padding: 10px 30px;
}
.DX_innner {
  width: 65vw;
  margin: 0 auto;
  padding: 30px 0 60px;
}
#BIMCIM section.DX_innner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#BIMCIM {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
#BIMCIM section {
  width: 65%;
  font-size: 1.6vw;
  line-height: 1.4;
}
#xR section,
#CG section{
  font-size: 1.6vw;
  line-height: 1.4;
}
#BIMCIM section span,
#xR section span,
#CG section span {
  color: #50acd3;
  font-size: 2vw;
  font-weight: bold;
  line-height: 1.4;
  white-space: nowrap;
}
#xR section span {
  color: #e3943d;
}
#CG section span {
  color: #81b44b;
}
#BIMCIM .bimcim_thumbnail {
  width: 30%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#BIMCIM .bimcim_thumbnail p {
  width: 30%;
  margin: 0;
}
#xR .MR_section,
#xR .VR_section,
#xR .AR_section {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-size: 1.6rem;
  line-height: 1.8;
  margin-top: 30px;
}
.MR_section div,
.VR_section div,
.AR_section div {
  width: 60%;
}
.DX_innner h2 {
  margin-bottom: 20px;
}
.MR_section .xR_img,
.VR_section .xR_img,
.AR_section .xR_img {
  width: 38%;
}
#CG .DX_innner .cg_thumbnail {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 44%;
}
#CG .DX_innner .cg_thumbnail p {
  width: 25%;
  padding: 3px 5px;
}
#CG .DX_innner .cg_thumbnail p img {
  object-fit: cover;
  height: 100%;
}
#CG .DX_innner .cg_content {
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  width: 56%;
}
#CG .cg_content p {
  width: 100%;
}
#CG .cg_content ul  {
  width: 100%;
  font-size: 1.6vw;
  line-height: 1.6;
  margin: 10px 0;
}
.civil_table {
  width: 40%;
  border: 1px #81b44b solid;
  background-color: rgba(255,255,255,.6);
  margin-bottom: 5px;
  margin-right: 3%;
}
.civil_table tr th {
  border: 1px #81b44b solid;
  background-color: #81b44b;
  font-size: 1.8vw;
  color: #fff;
  vertical-align: middle;
  text-align: center;
  padding: 0 3px;
  width: 2vw;
}
.civil_table tr td {
  color: #81b44b;
  font-size: 1.4vw;
  padding: 5px 0;
  text-align: center;
  letter-spacing: .5rem;
  white-space: nowrap;
}
#CG section.DX_innner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#CG section.DX_innner section {
  width: 48%;
}
@media screen and (max-width:1024px) {
  .dx_button {
    position: relative;
    height: 30vw;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .dx_button a {
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 50px;
  background-color: rgba(0,0,0,.6);
  }
  .dx_button a::after {
    content: "Read More >>";
    color: #fff;
    font-size: 18px;
    font-size: 1.8rem;
    position: absolute;
    right: 20px;
    bottom: 0;
    height: 50px;
    line-height: 50px;
  }
  .dx_button a img {
    display: block;
    height: 50px;
    padding: 10px;
  }
  .movie_list ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    padding: 50px 10px;
  }
  .movie_list ul li {
    display: block;
    width: 24%;
  }
  #BIMCIM .DX_innner,
  #xR .DX_innner,
  #CG  .DX_innner {
    width: 90%;
    padding-bottom: 40px;
  }
  #BIMCIM .bimcim_thumbnail {
    width: 26%;
  }
  #xR .MR_section,
  #xR .VR_section,
  #xR .AR_section {
    margin-top: 15px;
  }
  #CG .cg_content ul {
    margin: 5px 0;
  }
  .civil_table {
    width: 40%;
    border: 1px #81b44b solid;
    background-color: rgba(255,255,255,.6);
    font-size: 2px;
    font-size: 2rem;
    margin-bottom: 5px;
    margin-right: 6%;
  }
  .civil_table tr th {
    border: 1px #81b44b solid;
    background-color: #81b44b;
    font-size: 2px;
    font-size: 2rem;
    color: #fff;
    writing-mode: vertical-rl;
    vertical-align: middle;
    line-height: 1.3;
    letter-spacing: .2rem;
    width: 26px;
  }
  .civil_table tr td {
    color: #81b44b;
    font-size: 1.6px;
    font-size: 1.6rem;
    padding: 5px;
    text-align: center;
    letter-spacing: .2rem;
    white-space: nowrap;
  }
}
@media screen and (max-width:767px) {
  .dx_button a {
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 30px;
  background-color: rgba(0,0,0,.6);
  }
  .dx_button a::after {
    content: "Read More >>";
    color: #fff;
    font-size: 12px;
    font-size: 1.2rem;
    position: absolute;
    right: 20px;
    bottom: 0;
    height: 30px;
    line-height: 30px;
  }
  .dx_button a img {
    display: block;
    height: 30px;
    padding: 5px;
  }
  .movie_list ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    padding: 10px;
  }
  .movie_list ul li {
    display: block;
    width: 49%;
  }
  #DX .DX_innner {
    width: 96%;
  }
  #BIMCIM section,
  #xR section,
  #CG section {
    font-size: 1.4rem;
    line-height: 1.4;
    width: 100%;
  }
  #BIMCIM section span,
  #xR section span,
  #CG section span {
    font-size: 1.8rem;
    line-height: 1.4;
  }
  #BIMCIM .bimcim_thumbnail {
    width: 100%;
    margin-top: 30px;
  }
  #BIMCIM .bimcim_thumbnail p {
    width: 16%;
    margin: 3px 0;
  }
  #xR .DX_innner h2 {
    margin-bottom: 5px;
  }
  .MR_section .xR_img,
  .VR_section .xR_img,
  .AR_section .xR_img {
  width: 45%;
  }
  #xR .MR_section div,
  #xR .VR_section div,
  #xR .AR_section div {
    font-size: 1.2rem;
    width: 53%;
  }
  #CG .DX_innner .cg_content ul {
    font-size: 1.4rem;
  }
  #CG .DX_innner .cg_thumbnail p {
    padding: 5px;
  }
}
@media screen and (max-width:559px) {
  #CG .DX_innner .cg_content,
  #CG .DX_innner .cg_thumbnail {
    justify-content: space-between;
    width: 100%;
  }
  .civil_table {
    margin: 0 0 10px;
    width: 47%;
  }
}
@media screen and (max-width:413px) {
  .dx_button a {
    text-align: left;
  }
  .dx_button a img {
    width: 58vw;
    margin-left: 20px;
  }
}
.ourWorks_list {
  width: 1040px;
  margin-bottom: 120px;
  margin-top: 218px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

@media screen and (max-width:767px) {
  .w_bg_grey__service04 {
    padding: 8vw 0 6vw
  }
  .ourWorks_list {
    width: auto;
    margin: 0 4vw
  }
}

.ourWorks_list_one {
  width: 430px;
  height: 300px;
  padding-top: 234px;
  z-index: 1;
  position: relative;
  background-color: #fff;
  transition: all .3s ease
}

/* 2021.09.14 A.Kusumoto BIMCIM追加 DEL-START */
/*
.ourWorks_list_one:last-child {
  margin-left: auto;
}
*/
/* 2021.09.14 A.Kusumoto BIMCIM追加 DEL-END */
.recruit_propaty_tbl th, .recruit_staff_one_message {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box
}

.ourWorks_list_one img {
  position: absolute
}

@media screen and (max-width:767px) {
  .ourWorks_list_one {
    width: auto;
    height: auto;
    padding-top: 0;
    margin-bottom: 4vw;
    padding-bottom: 4px
  }
  .ourWorks_list_one img {
    position: relative;
    top: auto;
    left: auto
  }
  .ourWorks_list_one .s_category {
    margin-top: 15px;
    margin-bottom: 12px
  }
/* 2021.09.14 A.Kusumoto BIMCIM追加 ADD-START */
  .ourWorks_list_one .s_category_bc {
    margin-top: 15px;
    margin-bottom: 12px
  }
  /* 2021.09.14 A.Kusumoto BIMCIM追加 ADD-END   */
}

.ourWorks_list_one:hover {
  color: #fff;
  background-color: #e60012
}

.ourWorks_list_one:hover .s_title {
  color: #fff
}


.ourWorks_list_one:hover .s_category, .ourWorks_list_one:hover .s_title:before {
  background-color: #fff;
  color: #e60012
}
/* 2021.09.14 A.Kusumoto BIMCIM追加 ADD-START */
.ourWorks_list_one:hover .s_category_bc {
  background-color: #fff;
  color: #e60012
}
/* 2021.09.14 A.Kusumoto BIMCIM追加 ADD-END   */

.ourWorks_list_one .s_category {
  font-size: 16px;
  font-size: 1.6rem;
  padding: 0 6px;
  background-color: #e60012;
  color: #fff;
  margin-left: 15px;
  display: inline-block;
  vertical-align: middle;
  transition: all .3s ease
}

/* 2021.09.14 A.Kusumoto BIMCIM追加 ADD-START */
.ourWorks_list_one .s_category_bc {
  line-height: 1.4;
  font-size: 16px;
  font-size: 1.6rem;
  padding: 0 6px;
  background-color: #e60012;
  color: #fff;
  margin-left: 15px;
  display: inline-block;
  vertical-align: middle;
  transition: all .3s ease
}
/* 2021.09.14 A.Kusumoto BIMCIM追加 ADD-END   */

.ourWorks_list_one .s_title, .service_indexList_list_one {
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  -o-transition: all .3s ease
}

.ourWorks_list_one .s_title {
  line-height: 62px;
  font-size: 18px;
  font-size: 1.8rem;
  position: relative;
  display: inline;
  vertical-align: middle;
  margin-left: 5px;
  transition: all .3s ease
}

@media screen and (max-width:767px) {
  .ourWorks_list_one .s_title {
    font-size: 16px;
    font-size: 1.6rem;
    margin: 0 15px;
    line-height: 1.4
  }
}

.ourWorks_list_one:first-child {
  margin-bottom: 120px
}

.ourWorks_list_one:nth-child(2) {
  margin-top: -158px
}

.ourWorks_list_one:nth-child(3) {
  margin-bottom: 120px
}

@media screen and (max-width:767px) {
  .ourWorks_list_one:first-child {
    margin-bottom: 4vw
  }
  .ourWorks_list_one:nth-child(2) {
    margin-top: 0
  }
  .ourWorks_list_one:nth-child(3) {
    margin-bottom: 4vw
  }
}

.ourWorks_list_one:nth-child(4) {
  margin-top: -158px
}
/* 2021.09.14 A.Kusumoto BIMCIM追加 MOD-START */
/*
.ourWorks_list_one:nth-child(5) {
  margin-top: -158px
}
*/
.ourWorks_list_one:nth-child(5) {
  margin-bottom: 120px
}
/* 2021.09.14 A.Kusumoto BIMCIM追加 MOD-END   */

/* 2021.09.14 A.Kusumoto BIMCIM追加 ADD-START */
.ourWorks_list_one:nth-child(6) {
  margin-top: -158px
}/* 2021.09.14 A.Kusumoto BIMCIM追加 ADD-END   */

.ourWorks_list_one_ph {
  position: absolute;
  top: -60px;
  left: -60px
}

@media screen and (max-width:767px) {
  .ourWorks_list_one:nth-child(4) {
    margin-top: 0
  }

/* 2021.09.14 A.Kusumoto BIMCIM追加 MOD-START */
/*
  .ourWorks_list_one:nth-child(5) {
    margin-top: 0
  }
*/
  .ourWorks_list_one:nth-child(5) {
    margin-bottom: 4vw
  }
/* 2021.09.14 A.Kusumoto BIMCIM追加 MOD-END   */
/* 2021.09.14 A.Kusumoto BIMCIM追加 ADD-START */
  .ourWorks_list_one:nth-child(6) {
    margin-top: 0
  }
/* 2021.09.14 A.Kusumoto BIMCIM追加 ADD-END   */
  .ourWorks_list_one_ph {
    position: relative;
    top: auto;
    left: auto
  }
}

.etcLink_list {
  width: 856px;
  margin: 0 auto
}

@media screen and (max-width:767px) {
  .etcLink_list {
    width: auto;
    margin: 0 4vw
  }
}

.etcLink_list li:last-child {
  margin-bottom: 80px
}

.etcLink_list_one {
  margin-bottom: 100px
}

@media screen and (max-width:767px) {
  .etcLink_list_one {
    margin-bottom: 12vw
  }
}

.etcLink_list_one_ph {
  margin-top: -35px
}

.service_mainMessage {
  font-size: 27px;
  font-size: 2.7rem;
  line-height: 2.2;
  margin-bottom: 40px
}

@media screen and (max-width:767px) {
  .service_mainMessage {
    font-size: 22px;
    font-size: 2.2rem;
    margin-bottom: 8vw
  }
}
/* 2021.09.14 A.Kusumoto BIMCIM追加 ADD-START */
.service06_text {
  width: 800px;
  margin: 0 auto;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2.2
}

@media screen and (max-width:767px) {
  .service06_text {
    width: auto;
    margin: 0 4vw;
    font-size: 16px;
    font-size: 1.6rem;
    text-align: justify;
    text-justify: inter-ideograph
  }
}
/* 2021.09.14 A.Kusumoto BIMCIM追加 ADD-END   */
.service_text {
  width: 690px;
  margin: 0 auto;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2.2
}

@media screen and (max-width:767px) {
  .service_text {
    width: auto;
    margin: 0 4vw;
    font-size: 16px;
    font-size: 1.6rem;
    text-align: justify;
    text-justify: inter-ideograph
  }
}

.service_index_chart {
  width: 800px;
  margin: 0 auto 60px
}

@media screen and (max-width:767px) {
  .service_index_chart {
    width: auto
  }
}

.service_index_chart .s_image img {
  width: 100%;
  height: auto
}

.service_ttl {
  font-size: 33px;
  font-size: 3.3rem;
  line-height: 1;
  text-align: center;
  margin-bottom: 50px
}

@media screen and (max-width:767px) {
  .service_ttl {
    font-size: 24px;
    font-size: 2.4rem;
    margin-bottom: 8vw
  }
}

.service_indexList_list {
  margin: 0 auto;
  width: 800px
}

@media screen and (max-width:767px) {
  .service_indexList_list {
    width: auto;
    margin: 0 4vw
  }
}

.service_indexList_list_one {
  width: 800px;
  height: 340px;
  position: relative;
  margin-bottom: 60px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  transition: all .3s ease
}

.btn_01 a, .service_link_list_one {
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  -o-transition: all .3s ease
}

@media screen and (max-width:767px) {
  .service_indexList_list_one {
    width: auto;
    height: 200px;
    margin-bottom: 4vw
  }
}

.service_indexList_list_one:hover {
  background-size: 110%
}

.service_indexList_list_one a {
  width: 800px;
  height: 340px;
  display: block
}

@media screen and (max-width:767px) {
  .service_indexList_list_one a {
    width: auto;
    height: 200px
  }
}

.service_indexList_list_one__service01 {
  background-image: url(../images/service/ph_service_index_link01.jpg)
}

.service_indexList_list_one__service02 {
  background-image: url(../images/service/ph_service_index_link02.jpg)
}

.service_indexList_list_one__service03 {
  background-image: url(../images/service/ph_service_index_link03.jpg)
}

.service_indexList_list_one__service04 {
  background-image: url(../images/service/ph_service_index_link04.jpg)
}

.service_indexList_list_one__service05 {
  background-image: url(../images/service/ph_service_index_link05.jpg)
}
.service_indexList_list_one__service06 {
  background-image: url(../images/service/ph_service_index_link06.jpg)
}
.service_indexList_list_one__service07 {
  background-image: url(../images/service/ph_service_index_link07.jpg)
}
.service_indexList_list_one .s_list_ttl {
  background-color: #000;
  opacity: .8;
  position: absolute;
  width: 100%;
  text-align: center;
  bottom: 0;
  font-size: 30px;
  font-size: 3rem;
  line-height: 54px;
  color: #fff;
  letter-spacing: 6px
}

@media screen and (max-width:767px) {
  .service_indexList_list_one .s_list_ttl {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 30px
  }
}

.service_list_flow__service01 li:first-child h2, .service_list_flow__service02 li:first-child h2 {
  line-height: 1.4
}

.service_list_flow {
  width: 974px;
  margin: 0 auto 40px;
  display: flex;
  flex-wrap: wrap
}

@media screen and (max-width:767px) {
  .service_list_flow {
    width: auto;
    margin: 0 4vw
  }
  .service_list_flow__service01 .service_list_flow_one {
    height: auto;
    min-height: 40vw;
    padding: 4vw 0
  }
}

.service_list_flow_one {
  width: 180px;
  height: 180px;
  background-color: #fff;
  margin-right: 80px;
  margin-bottom: 44px;
  position: relative;
  z-index: 1;
  box-shadow: 4px 4px 0 #d71718;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  align-content: center
}

@media screen and (max-width:767px) {
  .service_list_flow_one {
    width: 38vw;
    height: 38vw;
    margin-right: 10vw;
    margin-bottom: 44px
  }
  .service_list_flow_one:nth-child(2n) {
    margin-right: 0
  }
}

.service_list_flow_one:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 27px 0 27px 26px;
  border-color: transparent transparent transparent #d81717;
  position: absolute;
  top: calc(50% - 27px);
  right: -55px
}

@media screen and (max-width:767px) {
  .service_list_flow_one:after {
    border-width: 10px 0 10px 10px;
    right: -26px;
    top: calc(50% - 10px)
  }
}

.service_list_flow_one:nth-child(4n) {
  margin-right: 0
}

.service_list_flow_one:last-child:after {
  border-width: 0
}

.service_list_flow_one h2 {
  width: 100%;
  text-align: center;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1
}

.service_list_flow_one .s_innerList {
  margin: 10px auto 0
}

@media screen and (max-width:767px) {
  .service_list_flow_one h2 {
    font-size: 16px;
    font-size: 1.6rem
  }
  .service_list_flow_one .s_innerList {
    margin: 10px 4vw 0
  }
}

.service_list_flow_one .s_innerList li {
  font-size: 12px;
  font-size: 1.2rem;
  position: relative;
  margin-left: 10px
}

.service_list_flow_one .s_innerList li:before {
  content: "●";
  position: absolute;
  top: 0;
  left: -18px
}

.service_image {
  width: 996px;
  margin: 0 auto 76px
}

#tech {
  max-width: 996px;
  margin: 0 auto 76px;
  display: flex;
}
.tech_menu {
  width:100%;
}

.vr .tech_title {
  background-image: url(../images/service/cg/VRimage.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
.ar .tech_title {
  background-image: url(../images/service/cg/ARimage.jpg);
  background-repeat: no-repeat;
  background-size:cover;
}
.title_sec1 {
  font-size: 1.5vw;
  line-height: 2;
  text-shadow: #000 1px 1px 10px, #000 -1px 1px 2px, #000 1px -1px 2px, #000 -1px -1px 2px;
}
.title_sec2 {
  font-size: 4vw;
  line-height: 1.2;
  letter-spacing: 1rem;
  text-shadow: #000 1px 1px 10px, #000 -1px 1px 2px, #000 1px -1px 2px, #000 -1px -1px 2px;
}
.title_sec3 {
  font-size: 4vw;
  line-height: 1.2;
  text-shadow: #000 1px 1px 10px, #000 -1px 1px 2px, #000 1px -1px 2px, #000 -1px -1px 2px;
}

.tech_menu .fa-angle-down {
  font-size: 4vw !important;
  color: #f00 !important;
  text-shadow: #000 1px 1px 10px, #000 -1px 1px 2px, #000 1px -1px 2px, #000 -1px -1px 2px;
}

.tech_menu .tech_title {
  display:block;
  color: #eee;
  text-align: center;
  padding: 10px;
  cursor:pointer;
}
.tech_info {
  background:#f2f2f2;
  width:200%;
  border:#666 1px solid;
  display:none;
}

.tech_info dl {
  background-image: url(../images/service/cg/VRbg.jpg);
  background-repeat: no-repeat;
  background-size:cover;
  padding: 10px;
}

.ar dl {
  background-image: url(../images/service/cg/ARbg.jpg);
  background-repeat: no-repeat;
  background-size:cover;
  padding: 10px;
} 

.tech_info dl dt,
.tech_info dl dd {
  border-left: 5px solid #eee;
  color: #fff;
  padding-left: 10px;
}
.tech_info dl dt {
  font-size: 2vw;
  line-height: 3.5vw;
}
.tech_info dl dd {
  font-size: 1.3vw;
  line-height: 2vw;
  margin-bottom: 20px;
}

.second_dl {
margin-left: -100%;
}

.service_image_cg {
  max-width: 996px;
  margin: 0 auto 76px
}
/* 2021.09.14 A.Kusumoto BIMCIM追加 ADD-START */
.service_image_bc {
  max-width: 996px;
  margin: 0 auto 76px;
  overflow: hidden;
  margin-bottom: 30px
}

.service_image_bc li {
	width: 332px;
	padding: 10px;
	float: left;
	color: #222;
}
@media screen and (max-width:767px) {
	.service_image_bc li {
		width: 33.3%;
	}
}
@media screen and (max-width:480px) {
	.service_image_bc li {
		width: 50%;
	}
}
/* 2021.09.14 A.Kusumoto BIMCIM追加 ADD-END   */

.service_image_list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 60px
}

@media screen and (max-width:767px) {
  .service_list_flow_one .s_innerList li {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.8
  }
  .service_image {
    width: auto
  }
  .service_image_list {
    margin: 0 4vw
  }
}
/*.service_image_list li {
  background-size: cover
}

.service_image_list li:first-child {
  background-image: url(../images/service/ph_service_04_03_01.jpg)
}

.service_image_list li:nth-child(2) {
  background-image: url(../images/service/ph_service_04_03_02.jpg)
}

.service_image_list li:nth-child(3) {
  background-image: url(../images/service/ph_service_04_03_03.jpg)
}

.service_image_list li:nth-child(4) {
  background-image: url(../images/service/ph_service_04_03_04.jpg)
}

.service_image_list li:nth-child(5) {
  background-image: url(../images/service/ph_service_04_03_05.jpg)
}

.service_image_list li:nth-child(6) {
  background-image: url(../images/service/ph_service_04_03_06.jpg)
}*/

.service_image_list_one {
  width: 332px;
  height: 270px
}

@media screen and (max-width:767px) {
  .service_image_list_one {
    width: 100%;
    height: auto;
    margin-bottom: 80px
  }
}

.service_image_list_one:hover .service_image_list_one_content {
  opacity: .8
}

.service_image_list_one_content {
  opacity: 0;
  width: 332px;
  height: 270px;
  display: flex;
  background-color: #fff;
  align-items: center;
  justify-content: center
}

.service_image_list_one_content p {
  text-align: center;
  font-size: 25px;
  font-size: 2.5rem;
  line-height: 1.6;
  letter-spacing: 4px
}

@media screen and (max-width:767px) {
  .service_image_list_one_content {
    width: 100%;
    position: relative;
    opacity: 1;
    background: 0 0
  }
  .service_image_list_one_content p {
    width: 100%;
    position: absolute;
    bottom: -60px;
    left: 0;
    right: 0;
    text-align: center;
    margin: 0 auto;
    font-size: 18px;
    font-size: 1.8rem
  }
}

.service_ttl_02 {
  font-size: 27px;
  font-size: 2.7rem;
  line-height: 1;
  margin-bottom: 44px;
  text-align: center
}

.service_works_tbl {
  width: 1100px;
  margin: 0 auto 80px
}

@media screen and (max-width:767px) {
  .service_ttl_02 {
    line-height: 1.4;
    font-size: 22px;
    font-size: 2.2rem
  }
  .service_works_tbl {
    width: auto;
    margin: 0 4vw 8vw
  }
}

.service_works_tbl td, .service_works_tbl th {
  padding: 4px 10px;
  font-size: 16px;
  font-size: 1.6rem;
  border: 1px solid #222
}

.service_works_tbl th {
  background-color: #dcdddd;
  text-align: left
}

.service_works_tbl__01 tr td:nth-child(3), .service_works_tbl__03 tr td:nth-child(2) {
  text-align: right;
  white-space: nowrap
}

.service_works_tbl__03 {
  width: 800px
}

@media screen and (max-width:767px) {
  .service_works_tbl td, .service_works_tbl th {
    font-size: 12px;
    font-size: 1.2rem
  }
  .service_works_tbl__03 {
    width: auto
  }
}

.service_works_tbl__04 {
  width: 700px
}

.service_section__01_environment {
  padding: 72px 0 0
}

@media screen and (max-width:767px) {
  .service_works_tbl__04 {
    width: auto
  }
  .service_section__01_environment {
    padding: 8vw 0 0
  }
}

.service_section__02_environment {
  padding: 72px 0 0
}

@media screen and (max-width:767px) {
  .service_section__02_environment {
    padding: 8vw 0 0;
    margin-bottom: 8vw
  }
}

.service_section__03_environment {
  padding: 72px 0 0
}

@media screen and (max-width:767px) {
  .service_section__03_environment {
    padding: 8vw 0 0;
    margin-bottom: 8vw
  }
}

.service_section__04_environment {
  padding: 72px 0 0;
  margin-bottom: 60px
}

@media screen and (max-width:767px) {
  .service_section__04_environment {
    padding: 8vw 0 0;
    margin-bottom: 8vw
  }
}

.service_section__works {
  padding: 72px 0 0
}

.service_section__flow_img {
  width: 980px;
  margin: 0 auto 80px
}

@media screen and (max-width:767px) {
  .service_section__works {
    padding: 8vw 0 0
  }
  .service_section__flow_img {
    width: auto;
    margin: 0 auto 8vw
  }
}

.service_section__flow_img img {
  width: 100%;
  height: auto
}

.service_section_list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  margin: 0 auto
}

.service_section_list__service01_01 {
  width: 500px;
  height: 160px
}

@media screen and (max-width:767px) {
  .service_section_list {
    margin: 0 4vw
  }
  .service_section_list__service01_01 {
    width: auto;
    height: auto
  }
}

.service_section_list__service01_02 {
  width: 580px;
  height: 100px
}

@media screen and (max-width:767px) {
  .service_section_list__service01_02 {
    width: auto;
    height: auto
  }
}

.service_section_list__service02_01 {
  width: 856px;
  height: 120px
}

@media screen and (max-width:767px) {
  .service_section_list__service02_01 {
    width: auto;
    height: auto
  }
}

.service_section_list__service02_02 {
  width: 934px;
  height: 160px
}

@media screen and (max-width:767px) {
  .service_section_list__service02_02 {
    width: auto;
    height: auto
  }
}

.service_section_list__service03_01 {
  width: 960px;
  height: 100px
}

@media screen and (max-width:767px) {
  .service_section_list__service03_01 {
    width: auto;
    height: auto
  }
}

.service_section_list__service03_02 {
  width: 860px;
  height: 160px
}

@media screen and (max-width:767px) {
  .service_section_list__service03_02 {
    width: auto;
    height: auto
  }
}

.service_section_list__service04_01 {
  width: 960px;
  height: 180px
}

@media screen and (max-width:767px) {
  .service_section_list__service04_01 {
    width: auto;
    height: auto
  }
}

.service_section_list__service04_02 {
  width: 860px;
  height: 120px
}

@media screen and (max-width:767px) {
  .service_section_list__service04_02 {
    width: auto;
    height: auto
  }
}
.w_bg_grey__service05 {
  padding: 30px 0;
  margin: 50px;
}
.service_section_list__service05_01 {
  width: 530px;
  margin: 0 auto 80px;
}
.service_section_list__service05_01 dt {
  font-size: 22px;
  font-size: 2.2rem;
  margin-top: 50px;
}
.service_section_list__service05_01 dt:before {
    content: "●";
    padding-right: 5px;
}
.service_section_list__service05_01 dd {
  font-size: 18px;
  font-size: 1.8rem;
  margin: 10px 2.4rem 15px;
}

.serviceList05_02 {
  display: flex;
  flex-wrap: wrap;
  width: 900px;
  margin-top: 50px;
  margin: 0 auto;
}

.serviceList05_02 dt {
  font-size: 20px;
  font-size: 2.0rem;
  width: 200px;
  height: 41px;
  color: #fff;
  text-align: center;
  background-color: #666;
  line-height: 25px;
  padding: 8px;
  margin: 0 0 30px;
}

.serviceList05_02 dd {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 25px;
  width: 700px;
  height: 41px;
  padding: 8px;
  margin: 0 0 30px;
}

@media screen and (max-width:767px) {
  .service_section_list__service05_01 {
    width: auto;
    height: auto;
    padding-left:2rem;
  }
}

.service_section_list__service05_02 {
  width: 570px;
  /*height: 120px;*/
  margin: 0 auto 80px;
  display: block;
}

@media screen and (max-width:767px) {
  .service_section_list__service05_02 {
    width: auto;
    height: auto;
    padding-left:2rem;
  }
}

.service_section_list li {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.8
}

.service_section_list li:before {
  content: "●"
}

.service_footer_link {
  width: 996px;
  margin: 0 auto
}

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

@media screen and (max-width:767px) {
  .service_footer_link {
    width: auto;
    margin: 0 4vw
  }
  .service_link_list {
    flex-direction: column
  }
}



.service_link_list_one {
  width: 236px;
  height: 149px;
  background-size: 100%;
  background-position: center center;
  transition: all .3s ease
}

@media screen and (max-width:767px) {
  .service_link_list_one {
    width: auto;
    margin-bottom: 4vw;
    background-size: cover
  }
}

.company_pre, .recruit_pre {
  margin: 0 auto;
  padding: 0
}

.service_link_list_one img {
  width: 100%;
  height: auto
}

.service_link_list_one a {
  display: flex;
  width: 236px;
  height: 149px;
}

@media screen and (max-width:767px) {
  .service_link_list_one a {
    width: auto
  }
}

.service_link_list_one__service01 {
  background-image: url(../images/service/li_service_link_01.jpg)
}

.service_link_list_one__service02 {
  background-image: url(../images/service/li_service_link_02.jpg)
}

.service_link_list_one__service03 {
  background-image: url(../images/service/li_service_link_03.jpg)
}

.service_link_list_one__service04 {
  background-image: url(../images/service/li_service_link_04.jpg)
}

.service_link_list_one__service05 {
  background-image: url(../images/service/li_service_link_05.jpg)
}
.service_link_list_one__service06 {
  background-image: url(../images/service/li_service_link_06.jpg)
}

.service_link_list_one__service07 {
  background-image: url(../images/service/li_service_link_07.jpg)
}

.service_link_list_one:hover {
  background-size: 110%
}

.service_link_list_one_ttl {
  width: 100%;
  height: 34px;
  background-color: rgba(0, 0, 0, .8);
  align-self: flex-end;
  text-align: center;
  letter-spacing: 8px;
  color: #fff;
  line-height: 34px;
  font-size: 18px;
  font-size: 1.8rem
}


/* 2021.09.14 A.Kusumoto BIMCIM追加 ADD-START */
.service_footer_link5 {
  width: 996px;
  margin: 0 auto
}
.service_link_list5 {
  display: flex;
  justify-content: space-between
}
@media screen and (max-width:767px) {
  .service_footer_link5 {
    width: auto;
    margin: 0 5vw
  }
  .service_link_list5 {
    flex-direction: column
  }
}
.service_link_list_one5 {
  width: 189px;
  height: 120px;
  background-size: 100%;
  background-position: center center;
  transition: all .3s ease
}

@media screen and (max-width:767px) {
  .service_link_list_one5 {
    width: auto;
    margin-bottom: 5vw;
    background-size: cover
  }
}
.service_link_list_one5 img {
  width: 100%;
  height: auto
}

.service_link_list_one5 a {
  display: flex;
  width: 189px;
  height: 120px;
}

@media screen and (max-width:767px) {
  .service_link_list_one5 a {
    width: auto
  }
}

.service_link_list_one5:hover {
  background-size: 110%
}

.service_link_list_one_ttl5 {
  width: 100%;
  height: 34px;
  background-color: rgba(0, 0, 0, .8);
  align-self: flex-end;
  text-align: center;
  letter-spacing: 3px;
  color: #fff;
  line-height: 34px;
  font-size: 16px;
  font-size: 1.6rem
}
/* 2021.09.14 A.Kusumoto BIMCIM追加 ADD-END   */

.recruit_pre {
  width: 996px
}

.company_pre img, .recruit_pre img {
  width: 100%;
  height: auto
}

.company_pre__01 {
  width: 752px;
  margin-top: 126px;
  margin-bottom: 120px
}

.company_pre__02 {
  width: 994px;
  margin-bottom: 80px
}

.company_pre__03 {
  width: 914px;
  margin-bottom: 120px
}

.recruit_bg_ph, .recruit_bg_ph img {
  width: 100%;
  height: auto
}

.recruit_bg_ph {
  margin-bottom: 80px
}

.company_logo {
  width: 248px;
  height: auto;
  margin: 0 auto 78px
}

.company_mainMessage {
  font-size: 27px;
  font-size: 2.7rem;
  line-height: 2.2;
  text-align: center;
  margin-bottom: 40px;
  letter-spacing: 6px
}


.company_text_01 {
/*width: 780px;*/
  margin: 0 auto;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2.2;
  text-align: center
}

@media screen and (max-width:767px) {
  .company_logo {
    width: 50vw
  }
  .company_mainMessage {
    font-size: 20px;
    font-size: 2rem
  }
.company_text_01 {
  /*width: 780px;*/
  margin: 0 auto;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2.2;
  text-align: center
  }
}
.company_text {
  width: 780px;
  margin: 0 auto;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2.2;
}

@media screen and (max-width:767px) {
  .company_text {
    width: auto;
    margin: 0 4vw;
    font-size: 16px;
    font-size: 1.6rem;
    text-align: justify;
    text-justify: inter-ideograph
  }
}

.company_info, .company_ph_02 {
  margin-bottom: 100px
}

.company_ph_02 {
  width: 100%;
  height: auto
}

.company_info_ttl {
  font-size: 40px;
  font-size: 4rem;
  line-height: 1;
  margin-bottom: 30px;
  text-align: center;
  letter-spacing: 6px
}

.company_info_tbl {
  width: 780px;
  margin: 0 auto 50px
}

.company_info_tbl th {
  min-width: 108px;
  text-align: left
}

@media screen and (max-width:767px) {
  .company_info_ttl {
    font-size: 24px;
    font-size: 2.4rem
  }
  .company_info_tbl {
    margin-bottom: 20px
  }
  .sp_tbl {
    width: auto;
    overflow-x: scroll;
    margin: 0 4vw 12vw
  }
  .sp_tbl::-webkit-scrollbar {
    background: #fff;
    border-radius: 5px;
    height: 4px;
    border: 1px solid #000
  }
  .sp_tbl::-webkit-scrollbar-thumb {
    background: #000;
    border-radius: 5px
  }
}

.company_info_ttl02 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 30px
}

.company_access {
  width: 920px;
  margin: 0 auto 60px;
  display: flex
}

@media screen and (max-width:767px) {
  .company_access {
    width: auto;
    margin: 0 4vw 80px;
    flex-direction: column
  }
  .company_access_map {
    width: auto
  }
  .company_access_map iframe {
    width: 100%
  }
}

/*.company_access_propaty {
  width: 500px
}*/

.company_access_propaty_ph {
  margin-bottom: 20px
}

.company_access_propaty_text {
  /*margin-left: 60px*/
  font-size: 1.8rem;
  line-height: 2;
}

.company_access_propaty_text a {
  color: blue;
}

@media screen and (max-width:767px) {
  .company_access_propaty {
    width: auto
  }
  .company_access_propaty_ph {
    margin-bottom: 4vw
  }
  .company_access_propaty_text {
    /*margin-left: 4vw;*/
    font-size: 1.6rem;
    margin-bottom: 4vw
  }
}

.privacypolicy {
  width: 914px;
  margin: 0 auto
}
.guidelines {
  width: 914px;
  margin: 50px auto;
  text-align: center;
  font-size: 28px;
  font-size: 2.8rem;
}
.guidelines a {
cursor: pointer;
color: #00f;
}
.guidelines a:hover {
cursor: pointer;
color: #f00;
}


@media screen and (max-width:767px) {
  .privacypolicy {
    width: auto;
    margin: 0 4vw
  }
  .guidelines {
    width: auto;
    margin: 30px 4vw;
   font-size: 20px;
   font-size: 2.0rem;
  }

}

.privacypolicy_ttl {
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1;
  margin-bottom: 30px;
  text-align: center;
  letter-spacing: 6px
}

@media screen and (max-width:767px) {
  .privacypolicy_ttl {
    font-size: 24px;
    font-size: 2.4rem
  }
}

.recruit_mainMessage {
  font-size: 27px;
  font-size: 2.7rem;
  line-height: 2.2;
  text-align: center;
  margin-bottom: 40px;
  letter-spacing: 6px
}

@media screen and (max-width:767px) {
  .recruit_mainMessage {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.8
  }
}

.recruit_text {
  width: 780px;
  margin: 0 auto;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2.2
}

.recruit_ph_01 {
  width: 994px;
  margin: 0 auto 48px;
  position: relative;
  z-index: -1
}

.recruit_ph_01 img {
  width: 100%;
  height: auto
}

@media screen and (max-width:767px) {
  .recruit_ph_01 {
    width: auto;
    margin: 0 auto 4vw
  }
}

.recruit_Lead01 {
  font-size: 21px;
  font-size: 2.1rem;
  line-height: 2.2;
  text-align: center;
  margin-bottom: 20px
}

@media screen and (max-width:767px) {
  .recruit_Lead01 {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.8
  }
}

.recruit_text01 {
  width: 670px;
  margin: 0 auto 100px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2
}

@media screen and (max-width:767px) {
  .recruit_text01 {
    width: auto;
    margin: 0 4vw 20vw;
    font-size: 16px;
    font-size: 1.6rem
  }
}

.recruit_staff_ttl {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 700;
  margin-bottom: 50px;
  text-align: center
}

.recruit_staff_one {
  width: 1000px;
  margin: 0 auto 54px;
  position: relative;
  zoom: 1
}

.recruit_staff_one:after, .recruit_staff_one:before {
  display: block;
  height: 0;
  visibility: hidden;
  content: "\0020"
}

@media screen and (max-width:767px) {
  .recruit_staff_one {
    width: auto;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column
  }
}

.recruit_staff_one_ph {
  position: absolute;
  width: 644px;
  height: 312px;
  z-index: -1
}

@media screen and (max-width:767px) {
  .recruit_staff_one_ph {
    width: 100%;
    height: auto;
    position: relative;
    margin-bottom: 4vw;
    order: 1
  }
}

.recruit_staff_one_ph img {
  width: 100%;
  height: auto
}

.recruit_staff_one_ph_caption {
  background-color: #fff;
  position: absolute;
  z-index: 2;
  width: 138px;
  height: 138px;
  display: flex;
  align-items: center;
  align-contents: center;
  justify-content: center;
  flex-direction: column
}

.recruit_staff_one_ph_caption_01 {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1;
  margin-bottom: 6px
}

@media screen and (max-width:767px) {
  .recruit_staff_one_ph_caption {
    width: 30vw;
    height: 30vw
  }
  .recruit_staff_one_ph_caption_01 {
    font-size: 12px;
    font-size: 1.2rem
  }
}

.recruit_staff_one_ph_caption_ttl {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1;
  position: relative;
  margin-bottom: 20px;
  width: 100%;
  text-align: center
}

.recruit_staff_one_ph_caption_ttl:after {
  content: "";
  position: absolute;
  width: 116px;
  height: 1px;
  background-color: #222;
  bottom: -8px;
  left: 10px;
  z-index: 22
}

@media screen and (max-width:767px) {
  .recruit_staff_one_ph_caption_ttl {
    font-size: 16px;
    font-size: 1.6rem
  }
  .recruit_staff_one_ph_caption_ttl:after {
    width: 26vw;
    left: 2vw
  }
}

.recruit_staff_one_ph_caption_ttl__01:after {
  content: "";
  width: 0;
  height: 0
}

.recruit_staff_one_ph_caption_02 {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1
}

.recruit_staff_one_message {
  width: 498px;
  float: right;
  margin-top: 77px;
  background-color: #fff;
  box-shadow: 4px 4px 10px rgba(0, 0, 0, .2);
  border: 1px solid #999;
  padding: 26px;
  box-sizing: border-box
}

@media screen and (max-width:767px) {
  .recruit_staff_one_message {
    width: auto;
    float: none;
    padding: 0;
    margin: 0;
    box-shadow: none;
    border: none;
    order: 3
  }
}

.recruit_staff_one_message_text {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.6;
  margin-bottom: 20px
}

@media screen and (max-width:767px) {
  .recruit_staff_one_message_text {
    margin: 0 4vw 4vw
  }
}

.recruit_staff_one_message_text:last-of-type {
  margin-bottom: 0!important
}

.recruit_staff_one_message_ttl {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1;
  margin-bottom: 10px
}

@media screen and (max-width:767px) {
  .recruit_staff_one_message_ttl {
    text-align: left;
    margin: 0 4vw 4vw;
    line-height: 1.4
  }
}

.recruit_staff_one_mainMessage {
  width: 500px;
  font-size: 20px;
  font-size: 2rem;
  line-height: 2.2;
  text-align: center;
  float: left;
  margin-top: 350px
}

@media screen and (max-width:767px) {
  .recruit_staff_one_mainMessage {
    width: auto;
    order: 2;
    text-align: left;
    margin: 0 4vw 4vw;
    line-height: 1.6
  }
}

.recruit_line {
  width: 994px;
  margin: 80px auto;
  background-color: #999;
  height: 1px
}

.news_archive_one_list li a:hover, .recruit_propaty_tbl th {
  background-color: #dbdcdc
}

@media screen and (max-width:767px) {
  .recruit_line {
    width: auto
  }
}

.recruit_propaty_ttl {
  font-size: 27px;
  font-size: 2.7rem;
  line-height: 1;
  margin-bottom: 30px;
  text-align: center
}

.recruit_propaty_tbl {
  width: 920px;
  margin: 0 auto 80px;
  border-top: solid 1px #dbdcdc;
  border-right: solid 1px #dbdcdc;
  font-size: 18px;
  font-size: 1.8rem
}

@media screen and (max-width:767px) {
  .recruit_propaty_tbl {
    width: auto;
    margin: 0 4vw 80px
  }
}

.recruit_propaty_tbl th {
  width: 200px;
  text-align: left;
  border-bottom: solid 1px #fff;
  box-sizing: border-box;
  padding: 5px 15px
}

.recruit_propaty_tbl td {
  border-bottom: solid 1px #dbdcdc;
  padding: 5px 15px
}

@media screen and (max-width:767px) {
  .recruit_propaty_tbl th {
    font-size: 14px;
    font-size: 1.4rem;
    width: 30vw
  }
  .recruit_propaty_tbl td {
    font-size: 14px;
    font-size: 1.4rem
  }
}

.recruit_propaty_tbl_list01 .s_year {
  display: inline-block;
  width: 90px
}

@media screen and (max-width:767px) {
  .recruit_propaty_tbl_list01 .s_year {
    width: 70px
  }
}

.recruit_propaty_tbl_list01 .s_month {
  display: inline-block;
  width: 40px;
  text-align: right;
  margin-right: 10px
}

.recruit_propaty_tbl_inner {
  border-top: none;
  width: 100%
}

.recruit_propaty_tbl_inner tr:last-child td {
  border-bottom: none
}

.no_pad {
  padding: 0!important
}

.news_wrap {
  width: 1000px;
  margin: 0 auto 100px;
  display: flex;
  justify-content: space-between
}

@media screen and (max-width:767px) {
  .news_wrap {
    width: auto;
    flex-direction: column;
    margin: 0 auto 15vw
  }
}

.news_archive {
  width: 206px
}

@media screen and (max-width:767px) {
  .news_archive {
    width: auto;
    margin: 0 4vw
  }
}

.news_archive_one__year {
  margin-bottom: 54px
}

@media screen and (max-width:767px) {
  .news_archive_one__year {
    margin-bottom: 4vw
  }
}

.news_archive_one_ttl {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1;
  margin-bottom: 10px
}

.news_archive_one_list {
  border: 1px solid #333
}

.news_archive_one_list li {
  border-bottom: solid 1px #333
}

.news_archive_one_list li a {
  display: block;
  line-height: 36px;
  padding: 0 15px
}

.news_archive_one_list li:last-child {
  border-bottom: none
}

.news_post_wrap {
  width: 686px;
  margin: 0
}

@media screen and (max-width:767px) {
  .news_post_wrap {
    width: auto;
    margin: 0 4vw
  }
}

.news_post {
  margin-bottom: 100px
}

.news_post p {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2;
  margin-bottom: 30px
}

@media screen and (max-width:767px) {
  .news_post p {
    font-size: 16px;
    font-size: 1.6rem
  }
}

.news_post p img {
  max-width: 100%;
  width: auto;
  height: auto
}

.news_post_ttl {
  font-size: 26px;
  font-size: 2.6rem;
  margin-bottom: 30px;
  line-height: 1.4
}

.news_post_navi {
  display: flex;
  flex-wrap: wrap;
  min-height: 100px
}

.news_post_navi_link {
  width: calc(50% - 1px);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px 0;
  background-size: 40px 87px;
  background-repeat: no-repeat
}

.news_post_navi_link__pre {
  padding-left: 72px;
  border-right: solid 1px #222;
  padding-right: 20px;
  background-image: url(../images/news/ico_arrow_left.png);
  background-position: 0 3px
}

@media screen and (max-width:767px) {
  .news_post_navi {
    flex-direction: column;
    margin-bottom: 8vw
  }
  .news_post_navi_link {
    width: auto
  }
  .news_post_navi_link__pre {
    border-right: none
  }
}

.news_post_navi_link__next {
  padding-right: 72px;
  padding-left: 20px;
  background-image: url(../images/news/ico_arrow_right.png);
  background-position: 100% 3px
}

.news_post_navi_link:hover {
  background-color: #eee;
  cursor: pointer
}

.news_post_navi_link_propaty {
  display: flex;
  align-items: center
}

.news_post_navi_link_propaty .s_category {
  width: 60px;
  height: 20px;
  line-height: 20px;
  color: #fff;
  text-align: center;
  font-size: 13px;
  font-size: 1.3rem;
  margin-right: 10px
}

.news_post_navi_link_propaty .s_category__news {
  background-color: #e60012
}

.news_post_navi_link_propaty .s_category__recruit {
  background-color: #00afec
}

.news_post_navi_link_propaty .s_category__blog {
  background-color: #43499c
}

.news_post_navi_link_propaty .s_day, .news_post_navi_link_title {
  font-size: 15px;
  font-size: 1.5rem
}

.contact_wrap {
  width: 738px;
  margin: 0 auto
}

.contact_tbl {
  margin-bottom: 30px
}

.contact_tbl tr {
  border-bottom: solid 1px #595757
}

@media screen and (max-width:767px) {
  .contact_wrap {
    width: auto
  }
  .contact_tbl {
    width: 92vw;
    margin: 0 4vw 7vw
  }
  .contact_tbl td, .contact_tbl th {
    width: 100%;
    display: block
  }
  .contact_tbl_title {
    padding: 6vw 0 0
  }
}

.contact_tbl_title {
  width: 264px;
  text-align: left;
  display: flex;
  justify-content: space-between
}

.contact_tbl_title_text {
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 1
}

@media screen and (max-width:767px) {
  .contact_tbl_title_text {
    display: inline
  }
}

.contact_tbl_title_ico {
  display: inline-block;
  line-height: 19px;
  font-size: 13px;
  font-size: 1.3rem;
  padding: 0 5px;
  text-align: center;
  color: #fff
}

.contact_tbl_input input, .contact_tbl_input textarea {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  font-size: 17px
}

.contact_tbl_title_ico__inquire {
  background-color: #e60012
}

.contact_tbl_title_ico__free {
  background-color: #0095d8
}

.contact_tbl_input {
  width: auto;
  padding: 30px 0 30px 10px
}

@media screen and (max-width:767px) {
  .contact_tbl_input {
    padding-left: 0
  }
}

.contact_tbl_input input {
  height: 54px;
  width: 464px;
  padding: 0 20px;
  box-sizing: border-box;
  background-color: #ddd;
  border-radius: 8px;
  border: none;
  font-size: 1.7rem;
  line-height: 54px
}

@media screen and (max-width:767px) {
  .contact_tbl_input input {
    width: 100%
  }
}

.contact_tbl_input textarea {
  width: 464px;
  height: 130px;
  padding: 20px;
  box-sizing: border-box;
  background-color: #ddd;
  border-radius: 8px;
  border: none;
  font-size: 1.7rem
}

@media screen and (max-width:767px) {
  .contact_tbl_input textarea {
    width: 100%
  }
}

.contact_tbl_select {
  height: 54px;
  width: 464px;
  padding: 0 20px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #ddd;
  border-radius: 8px;
  border: none;
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 54px
}

.contact_attention {
  color: #e60012;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1;
  padding-bottom: 5px;
  border-bottom: solid 2px #e60012;
  display: inline-block
}

.contact_privacypolicy_wrap {
  overflow: scroll;
  height: 140px;
  background-color: #ddd;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 30px
}

@media screen and (max-width:767px) {
  .contact_tbl_select {
    width: 100%
  }
  .contact_privacypolicy_wrap {
    margin: 0 4vw 7vw
  }
}

.contact_privacypolicy_wrap p {
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 1.4
}

.contact_send_attention {
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 1.4;
  width: 460px;
  margin: 0 auto
}

@media screen and (max-width:767px) {
  .contact_send_attention {
    width: auto;
    margin: 0 6vw
  }
}

.thanks_wrap {
  width: 746px;
  margin: 0 auto
}

@media screen and (max-width:767px) {
  .thanks_wrap {
    width: auto;
    margin: 0 6vw
  }
}

.thanks_ttl {
  font-size: 35px;
  font-size: 3.5rem;
  line-height: 1.8;
  text-align: center;
  margin-bottom: 20px
}

.thanks_text {
  font-size: 20px;
  font-size: 2rem;
  line-height: 2;
  margin-bottom: 56px
}

.thanks_line {
  height: 1px;
  background-color: #595757;
  margin-bottom: 60px
}

.thanks_attention {
  font-size: 25px;
  font-size: 2.5rem;
  text-align: center
}

.thanks_attention span {
  background-color: #d71718;
  line-height: 48px;
  padding: 0 14px;
  margin: 0 auto 20px;
  color: #fff;
  display: inline-block
}

.thanks_contact {
  width: 582px;
  margin: 0 auto 60px
}

@media screen and (max-width:767px) {
  .thanks_contact {
    width: auto
  }
}

.thanks_contact_ttl {
  font-size: 26px;
  font-size: 2.6rem;
  text-align: center;
  margin-bottom: 15px
}

.thanks_contact_info {
  font-size: 26px;
  font-size: 2.6rem;
  text-align: center;
  line-height: 1.8;
  margin-bottom: 30px
}

.thanks_contact_attention {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.6;
  text-align: justify;
  text-justify: inter-ideograph
}

.link_index, .nopage h1, .nopage p {
  text-align: center
}

.link_index {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1
}

.link_index a {
  padding: 8px 10px;
  background-image: linear-gradient(to right, transparent 50%, #d01d22 50%);
  background-position: 0 0;
  background-size: 200% auto;
  transition: .3s;
  display: inline-block;
  width: 150px
}

.link_index a:before {
  content: "<";
  margin-right: 5px
}

.link_index a:hover {
  background-position: -100% 0;
  color: #fff
}

.nopage {
  padding: 400px 0
}

.nopage h1 {
  font-size: 42px;
  font-size: 4.2rem;
  margin-bottom: 40px
}

.headerCommon {
  height: 74px;
  display: flex;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999;
  background-color: rgba(255, 255, 255, .8);
  box-shadow:0 3px 5px rgba(0,0,0,.2);
}

.headerCommon__index {
  /*top: -74px;*/
}

.headerCommon_ttl {
  width: 234px;
  margin: 16px 0 0 20px
}

.headerCommon_list li a {
  color: #222;
  font-size: 16px;
  text-align: center;
  font-size: clamp(1.2rem, 1.4vw, 1.6rem);
  padding: clamp(1.2vw, 1.8vw, 1.8vw);
}

@media screen and (max-width:767px) {
  .headerCommon {
    display: none;
    z-index: 99;
    top: 0;
    height: auto;
    flex-direction: column;
    background-color: #e60012
  }
  .headerCommon_ttl {
    width: auto;
    padding: 4vw;
    margin: 0;
    border-bottom: solid 1px #f5b7bc
  }
}

@media (min-width:768px) and (max-width:979px) {
  .headerCommon_ttl {
    width: 20vw;
    margin: 16px 0 0 15px;
  }
}


.headerCommon_ttl img {
  width: 100%;
  height: auto
}

.headerCommon_list {
  display: flex;
  margin-left: auto;
  margin-top: 20px
}

@media screen and (max-width:767px) {
  .headerCommon_ttl img {
    width: 230px;
    height: auto
  }
  .headerCommon_list {
    flex-direction: column;
    margin-left: 0;
    margin-top: 0;
    padding-bottom: 4vw
  }
  .headerCommon_list li {
    width: 100%;
    border-bottom: solid 1px #f5b7bc;
    background-color: #c10104
  }
}

.footerCommon_copyrights, .footerCommon_navi a {
  color: #fff
}

@media screen and (max-width:767px) {
  .headerCommon_list li a {
    width: 100%;
    color: #fff;
    display: block;
    font-size: 14px;
    font-size: 1.4rem;
    padding: 2vw 4vw
  }
}

#humberger, #humberger div {
  width: 24px;
  display: inline-block;
  box-sizing: border-box
}

.naviTrigger {
  position: fixed;
  top: 6vw;
  right: 4vw;
  z-index: 99999
}

#humberger {
  position: relative;
  height: 24px
}

#humberger div {
  position: absolute;
  left: 0;
  height: 4px;
  background-color: #e60012;
  border-radius: 2px
}

.active #humberger div {
  background-color: #fff
}

.active #humberger div:nth-of-type(1) {
  transform: rotate(-45deg);
  top: 10px
}

.active #humberger div:nth-of-type(2) {
  display: none
}

.active #humberger div:nth-of-type(3) {
  transform: rotate(45deg);
  top: 10px
}

#humberger div:nth-of-type(1) {
  top: 0
}

#humberger div:nth-of-type(2) {
  top: 10px
}

#humberger div:nth-of-type(3) {
  bottom: 0
}

.footerCommon {
  background-color: #e60012;
  padding: 42px 0;
  position: relative
}

.w_footerCommon {
  width: 994px;
  margin: 0 auto;
  display: flex;
  justify-content: space-around
}

@media screen and (max-width:767px) {
  .w_footerCommon {
    width: auto;
    flex-direction: column
  }
  .footerCommon_logo {
    margin: 0 auto 10vw;
    text-align: center;
  }
}

.footerCommon_logo {
  width: 270px;
  height: auto
}
.footerCommon_logo .mark {
  display: inline-block;
  margin: 10px 0;
  width: auto;
}

.footerCommon_navi {
  display: flex
}
.footerCommon_logo a {
  display: block;
}

.cf:after, .imgWrap:after, .imgWrap:before {
  display: block
}

@media screen and (max-width:767px) {
  .footerCommon_navi {
    flex-direction: column;
    border-top: solid 1px #f5b7bc;
    margin-bottom: 4vw
  }
}

.footerCommon_navi_li {
  font-weight: 700;
  letter-spacing: 2px;
  margin-right: 40px;
  margin-bottom: 10px
}

.footerCommon_navi_li .s_sub_ul, .scroll-btn>* {
  font-weight: 400
}

@media screen and (max-width:767px) {
  .footerCommon_navi_li {
    margin-right: 0;
    margin-bottom: 0
  }
  .footerCommon_navi_li a {
    display: block;
    padding: 8px 4vw;
    background-color: #a80000
  }
}

.footerCommon_navi_li .s_sub_ul li {
  margin-bottom: 10px
}

.footerCommon_navi_li .s_sub_ul li:before {
  content: "・";
  color: #fff
}

@media screen and (max-width:767px) {
  .footerCommon_navi_li .s_sub_ul li {
    border-bottom: solid 1px #f5b7bc;
    margin-bottom: 0
  }
  .footerCommon_navi_li .s_sub_ul li a {
    padding: 4px 4vw;
    background-color: #c10104
  }
  .footerCommon_navi_li .s_sub_ul li:before {
    content: ""
  }
}

.footerCommon_navi_li>a {
  margin-bottom: 14px;
  display: block
}

@media screen and (max-width:767px) {
  .footerCommon_navi_li>a {
    margin-bottom: 0;
    border-bottom: solid 1px #f5b7bc
  }
}

.footerCommon_navi_li .s_ul_li {
  margin-bottom: 30px
}

@media screen and (max-width:767px) {
  .footerCommon_navi_li .s_ul_li {
    margin-bottom: 0;
    border-bottom: solid 1px #f5b7bc
  }
  .footerCommon_copyrights {
    text-align: center
  }
}

.btn_01 a, .btn_02 input {
  line-height: 74px;
  border: 2px solid #e60012
}

#topBtn {
  width: 48px;
  height: 48px;
  position: absolute;
  top: -50px;
  left: 10vw
}

@media screen and (max-width:767px) {
  #topBtn {
    left: 0;
    right: 0;
    text-align: center;
    margin: 0 auto
  }
}

.cf:after {
  content: ""
}

.horizontal:after, .horizontal:before, .imgWrap:after, .imgWrap:before {
  height: 0;
  visibility: hidden;
  content: "\0020"
}

.disc, .square {
  margin: 0 0 1em 1.5em
}

.decimal {
  margin: 0 0 1em 2em;
  list-style-type: decimal
}

.disc {
  list-style: disc
}

.square {
  list-style: square
}

.text_l {
  text-align: left
}

.text_c {
  text-align: center
}

.text_r {
  text-align: right
}

.btn_01 a, .btn_02 input, .scroll-btn {
  text-align: center;
  display: block
}

.fl {
  float: left
}

.fr {
  float: right
}

.horizontal:after, .horizontal:before {
  display: block
}

.horizontal li {
  float: left
}

.first {
  margin-left: 0
}

.last {
  margin-right: 0
}

.mb0 {
  margin-bottom: 0!important
}

.mb5 {
  margin-bottom: 5px!important
}

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

.mb15 {
  margin-bottom: 15px!important
}

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

.mb25 {
  margin-bottom: 25px!important
}

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

.mb35 {
  margin-bottom: 35px!important
}

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

.mb45 {
  margin-bottom: 45px!important
}

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

.mb55 {
  margin-bottom: 55px!important
}

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

.mb65 {
  margin-bottom: 65px!important
}

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

.mb75 {
  margin-bottom: 75px!important
}

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

.mb85 {
  margin-bottom: 85px!important
}

.mb90 {
  margin-bottom: 90px!important
}

.mb95 {
  margin-bottom: 95px!important
}

.mb100 {
  margin-bottom: 100px!important
}

.mb105 {
  margin-bottom: 105px!important
}

.mb110 {
  margin-bottom: 110px!important
}

.mb115 {
  margin-bottom: 115px!important
}

.mb120 {
  margin-bottom: 120px!important
}

.mb125 {
  margin-bottom: 125px!important
}

.mb130 {
  margin-bottom: 130px!important
}

.mb135 {
  margin-bottom: 135px!important
}

.mb140 {
  margin-bottom: 140px!important
}

.mb145 {
  margin-bottom: 145px!important
}

.mb150 {
  margin-bottom: 150px!important
}

.mb155 {
  margin-bottom: 155px!important
}

.mb160 {
  margin-bottom: 160px!important
}

.mb165 {
  margin-bottom: 165px!important
}

.mb170 {
  margin-bottom: 170px!important
}

.mb175 {
  margin-bottom: 175px!important
}

.mb180 {
  margin-bottom: 180px!important
}

.mb185 {
  margin-bottom: 185px!important
}

.mb190 {
  margin-bottom: 190px!important
}

.mb195 {
  margin-bottom: 195px!important
}

.mb200 {
  margin-bottom: 200px!important
}

.pb0 {
  padding-bottom: 0!important
}

.pb5 {
  padding-bottom: 5px!important
}

.pb10 {
  padding-bottom: 10px!important
}

.pb15 {
  padding-bottom: 15px!important
}

.pb20 {
  padding-bottom: 20px!important
}

.pb25 {
  padding-bottom: 25px!important
}

.pb30 {
  padding-bottom: 30px!important
}

.pb35 {
  padding-bottom: 35px!important
}

.pb40 {
  padding-bottom: 40px!important
}

.pb45 {
  padding-bottom: 45px!important
}

.pb50 {
  padding-bottom: 50px!important
}

.pb55 {
  padding-bottom: 55px!important
}

.pb60 {
  padding-bottom: 60px!important
}

.pb65 {
  padding-bottom: 65px!important
}

.pb70 {
  padding-bottom: 70px!important
}

.pb75 {
  padding-bottom: 75px!important
}

.pb80 {
  padding-bottom: 80px!important
}

.pb85 {
  padding-bottom: 85px!important
}

.pb90 {
  padding-bottom: 90px!important
}

.pb95 {
  padding-bottom: 95px!important
}

.pb100 {
  padding-bottom: 100px!important
}

.pb105 {
  padding-bottom: 105px!important
}

.pb110 {
  padding-bottom: 110px!important
}

.pb115 {
  padding-bottom: 115px!important
}

.pb120 {
  padding-bottom: 120px!important
}

.pb125 {
  padding-bottom: 125px!important
}

.pb130 {
  padding-bottom: 130px!important
}

.pb135 {
  padding-bottom: 135px!important
}

.pb140 {
  padding-bottom: 140px!important
}

.pb145 {
  padding-bottom: 145px!important
}

.pb150 {
  padding-bottom: 150px!important
}

.pb155 {
  padding-bottom: 155px!important
}

.pb160 {
  padding-bottom: 160px!important
}

.pb165 {
  padding-bottom: 165px!important
}

.pb170 {
  padding-bottom: 170px!important
}

.pb175 {
  padding-bottom: 175px!important
}

.pb180 {
  padding-bottom: 180px!important
}

.pb185 {
  padding-bottom: 185px!important
}

.pb190 {
  padding-bottom: 190px!important
}

.pb195 {
  padding-bottom: 195px!important
}

.pb200 {
  padding-bottom: 200px!important
}

.btn_01 {
  width: 537px;
  height: 74px;
  margin: 0 auto
}

.btn_01 a {
  color: #e60012;
  transition: all .3s ease;
  font-size: 24px;
  font-size: 2.4rem
}

.btn_01 a:hover, .btn_02 input {
  color: #fff;
  background-color: #e60012
}

@media screen and (max-width:767px) {
  .btn_01 {
    width: auto;
    margin: 4vw 8vw
  }
  .btn_01 a {
    font-size: 18px;
    font-size: 1.8rem
  }
  .btn_02 {
    margin: 0 6vw
  }
}

.btn_02 input {
  width: 460px;
  height: 74px;
  margin: 0 auto;
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease;
  font-size: 32px;
  font-size: 3.2rem;
  border-radius: 8px
}

@media screen and (max-width:767px) {
  .btn_02 input {
    width: 100%;
    margin: 0;
    font-size: 24px;
    font-size: 2.4rem
  }
}

.btn_02 input:hover {
  background-color: #fff;
  color: #e60012
}

a.hoge:hover {
  background-color: #999
}

@-webkit-keyframes ani-mouse {
  0% {
    opacity: 1;
    top: 29%
  }
  15% {
    opacity: 1;
    top: 50%
  }
  50% {
    opacity: 0;
    top: 50%
  }
  100% {
    opacity: 0;
    top: 29%
  }
}

@-moz-keyframes ani-mouse {
  0% {
    opacity: 1;
    top: 29%
  }
  15% {
    opacity: 1;
    top: 50%
  }
  50% {
    opacity: 0;
    top: 50%
  }
  100% {
    opacity: 0;
    top: 29%
  }
}

@keyframes ani-mouse {
  0% {
    opacity: 1;
    top: 29%
  }
  15% {
    opacity: 1;
    top: 50%
  }
  50% {
    opacity: 0;
    top: 50%
  }
  100% {
    opacity: 0;
    top: 29%
  }
}

.scroll-btn {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}

.scroll-btn>* {
  line-height: 18px;
  font-size: 13px;
  color: #fff;
  font-family: proxima-nova, "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 2px
}

.ttl_01, .ttl_01_sub {
  line-height: 1;
  text-align: center
}

.scroll-btn>.active, .scroll-btn>:focus, .scroll-btn>:hover {
  color: #fff
}

.scroll-btn>.active, .scroll-btn>:active, .scroll-btn>:focus, .scroll-btn>:hover {
  opacity: .8;
  filter: alpha(opacity=80)
}

.scroll-btn .mouse {
  position: relative;
  display: block;
  width: 35px;
  height: 55px;
  margin: 0 auto 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: 3px solid #fff;
  border-radius: 23px
}

.scroll-btn .mouse>* {
  position: absolute;
  display: block;
  top: 29%;
  left: 50%;
  width: 8px;
  height: 8px;
  margin: -4px 0 0 -4px;
  background: #fff;
  border-radius: 50%;
  -webkit-animation: ani-mouse 2.5s linear infinite;
  -moz-animation: ani-mouse 2.5s linear infinite;
  animation: ani-mouse 2.5s linear infinite
}

.button {
  padding: 2px;
  position: relative
}

.change-border01::after, .change-border01::before, .change-border01__inner::after, .change-border01__inner::before {
  background-color: red;
  content: '';
  display: block;
  position: absolute;
  z-index: 10;
  transition: all .3s ease;
  -webkit-transition: all .3s ease
}

.change-border01__inner {
  position: absolute;
  z-index: 1;
  display: inline-block
}

.change-border01 {
  width: 500px;
  height: 200px
}

.change-border01::after {
  height: 1px;
  left: -1px;
  top: -1px;
  width: 0
}

.change-border01::before {
  bottom: -1px;
  height: 1px;
  right: -1px;
  width: 0
}

.change-border01__inner::after {
  bottom: -1px;
  height: 0;
  left: -1px;
  width: 1px
}

.change-border01__inner::before {
  height: 0;
  right: -1px;
  top: -1px;
  width: 1px
}

.change-border01:hover::after, .change-border01:hover::before {
  width: 100%;
  width: calc(100% + 2px)
}

.change-border01:hover .change-border01__inner::after, .change-border01:hover .change-border01__inner::before {
  height: 100%;
  height: calc(100% + 2px)
}

.ttl_01_w {
  position: relative;
  padding-top: 20px;
  margin-bottom: 20px
}

#big-video-image, #big-video-vid, .ttl_01_sub {
  position: absolute
}

.ttl_01 {
  font-size: 45px;
  font-size: 4.5rem
}

.ttl_01_sub {
  left: 0;
  right: 0;
  top: 0;
  margin: 0 auto;
  font-size: 14px;
  font-size: 1.4rem
}

#big-video-control, #big-video-control-bar {
  height: 16px;
  position: relative;
  width: 100%
}

#big-video-wrap {
  overflow: hidden;
  position: fixed;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  z-index: -99
}

#big-video-wrap img {
  height: 100%;
  width: auto
}

#big-video-control-container {
  position: fixed;
  bottom: 0;
  padding: 10px;
  width: 100%;
  background: rgba(0, 0, 0, .25);
  -webkit-transition-duration: .6s;
  -moz-transition-duration: .6s;
  -ms-transition-duration: .6s;
  -o-transition-duration: .6s;
  transition-duration: .6s;
  border: 4px solid red
}

#big-video-control-middle {
  margin: 0 56px 0 24px
}

#big-video-control-progress {
  position: absolute;
  top: 7px;
  height: 3px;
  width: 0%;
  background: #fff
}

#big-video-control-track {
  position: absolute;
  top: 8px;
  height: 1px;
  width: 100%;
  background: #fff
}

#big-video-control-bound-left {
  left: 0
}

#big-video-control-bound-right {
  right: -1px
}

#big-video-control-track .ui-slider-handle {
  opacity: 0
}

#big-video-control-playhead {
  left: 30%
}

#big-video-control-play {
  position: absolute;
  top: 0;
  left: 0;
  height: 16px;
  width: 16px;
  background-image: url(bigvideo.png)
}

#big-video-control-timer {
  position: absolute;
  top: 1px;
  right: 0;
  color: #fff;
  font-size: 11px
}

#big-video-control-bound-left, #big-video-control-bound-right, #big-video-control-playhead {
  position: absolute;
  top: 0;
  height: 16px;
  width: 1px;
  background: #fff
}

#big-video-control .ui-slider-handle {
  border-left: solid 1px #fff;
  width: 16px;
  height: 16px;
  position: absolute;
  top: -8px
}

.transparent {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  -khtml-opacity: 0;
  opacity: 0
}

#big-video-wrap .vjs-big-play-button {
  display: none!important
}

.action-on-dx_info_ttl02 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.2;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px
}
.action-on-dx_info_ttl03 {
  line-height: 1.2;
  font-weight: bold;
  margin-bottom: 5px
}

.action-on-dx {
  width: 914px;
  margin: 0 auto 50px
}
.action-on-dx p {
  margin-left: 5.5rem;
  margin-bottom: 30px
}
.action-on-dx p.dx_text01 {
  margin-left: 0;
  margin-bottom: 0;
  text-indent : 1em
}

.action-on-dx ul {
  margin-left: 5rem;
  padding-left: 1rem
}

.action-on-dx ul li {
  padding-left:1em;
  text-indent:-1.3em;
  padding-bottom: 16px
}

.sustainability section {
  margin: 0 auto 20px
}

.contents__action-on-dx  p.sign {
  text-align: right
}
@media screen and (max-width:767px) {
  .action-on-dx {
    width: auto;
    margin: 0 4vw 50px
  }
  .action-on-dx_info_ttl02 {
    font-size: 1.6rem;
    margin-bottom: 18px;
  }
  .action-on-dx_info_ttl03 {
    font-size: 1.4rem;
  }
  .action-on-dx p {
  margin-left: 0;
  }
  .action-on-dx ul {
    margin-left: 0;
  }
}


iframe.youtube_emb {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}

#transfer {
  max-width: 768px;
  margin: 120px auto;
}
#transfer h1 {
  font-size: 36px;
  font-size: 3.6rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
  line-height: 1.2;
}
#transfer p {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2;
}
#transfer strong {
  display: block;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
  margin: 20px auto;
}
#transfer strong a {
  color: #3366BB;
  text-decoration: underline;
}
#transfer strong a:visited {
  color: #663366;
}

footer.footerCommon {
    position: absolute;
    bottom: 0;
    width: 100%;
}