@charset 'UTF-8';

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

commmon

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

 body{
    font-family: "hiragino-mincho-pron", sans-serif;
font-weight: 300;
font-style: normal;
letter-spacing: 0.1em;
margin: auto;
color: #343534;
 }

.page_ttl{
    font-family: "fot-tsukumin-pr6n", sans-serif;
font-weight: 300;
font-style: normal;
}

* {box-sizing: border-box;}
img {width: 100%;}
a {text-decoration: none;
   opacity:1;
   transition: .3s;}
a:hover{
  opacity: 0.65;
}
li {list-style: none;}
h1, h2, h3, h4, h5, h6, p {line-height: 1;}
p {margin: 0;}
ul {
  padding: 0;
  margin: 0;
}
input, select {
  -webkit-appearance: none;
  appearance: none;
background-color: #fff;
	color:#455F9F;
}
.inner{
  max-width: 1160px;
  margin: 0 auto;
}

/* 共通のpcとspの出し分け */
.pc {display: block ;}
.sp {display: none ;}


@media screen and (max-width: 834px) {
	.pc {display: none ;}
	.sp {display: block ;}
  .inner{max-width: 90%;}
}


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

header メニュー

 ***********************************/
 header{
  background-color: #fff;
 }
.tagaya_logo{
    width: 152px;
}

 .gnavi__wrap {
    max-width: 1160px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 10px;
    z-index: 60;
    position: relative;
}
.gnavi__lists {
    display: flex;
}
.gnavi__list {
    height: 60px;
    position: relative;
    transition: all .3s;
    padding-right: 30px;
}
.gnavi__list:last-of-type {
    padding-right: 0px;
}
/* .gnavi__list:hover {
    background-color: #0071BB;
} */
.gnavi__list:not(:first-child)::before {
    /* content: "";
    width: 1px;
    height: 100%;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    transition: all .3s; */
}
/* .gnavi__list:hover::before {
    background-color: #0071BB;
} */
.gnavi__list a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 90%;
    text-decoration: none;
    color: #343534;
    font-size: 16px;
    letter-spacing: 0.05em;
    transition: all .3s;
}
.gnavi__list:hover a {
    border-bottom: solid 1px #343534;
}

@media screen and (max-width: 834px) {
  .gnavi__wrap {
    display: none;
  }
  .gnavi__lists{
    display: none;
  }
}

 /*------- PC ドロップメニュー -------*/

.gnavi__list:hover .dropdown__lists {
    display: block;/*Gナビメニューにホバーしたら表示*/
}
.dropdown__list {
    background-color: #343534;
    opacity: 0.8;
    height: 60px;
    transition: all .3s;
    position: relative;
}
.dropdown__list:not(:first-child)::before{
    content: "";
    width: 100%;
    height: 1px;
    background-color: #343534;
    opacity: 0.8;
    position: absolute;
    top: 0;
    left: 0;
}
.dropdown__list:hover {
    background-color: #343534;
    opacity: 0.9;
}
.dropdown__list a {
    display: flex;
    justify-content: left;
    color: #fff;
    text-decoration: none;
    position: relative;
    font-size: 14px;
    padding-left: 20px;
}
/* .dropdown__list a::before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(135deg);
    position: absolute;
    right: 15px;
    top: calc(50% - 5px);
} */

.dropdown__lists{
    visibility: hidden;
    opacity: 0;
    transition: all .3s;
    width: 220px;
    position: absolute;
    top: 60px;
    left: 0;
    font-size: 14px;
    text-align: left;
    z-index: 70;
}
.gnavi__list:hover .dropdown__lists {
    visibility: visible;/*Gナビメニューにホバーしたら表示*/
    opacity: 1;/*不透明度1*/
}

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

ハンバーガーメニュー アコーディオン

 ***********************************/
 *,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.c-nav {
  max-width: 500px;
  margin: 0 auto;
}
.c-nav__list {
    list-style: none;
  }
  .c-nav__item {
    position: relative;
    background-color: rgba($color: #efba22, $alpha: 0.3);
    padding: 20px;
  }
  .c-nav__link {
    text-decoration: none;
    color: #fff;
  }
  .c-nav__toggle-button{
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 20px;
    right: 20px;
  }
  
  .c-nav__toggle-button span{
      position: relative;
      display: inline-block;
      width: 20px;
      height: 2px;
      background-color: #fff;
    }
    .c-nav__toggle-button::after{
      content: "";
      display: inline-block;
      width: 2px;
      height: 20px;
      background-color: #fff;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
    }
  /* .c-nav__toggle-button.is-open::after{
        content: "";
        display: inline-block;
        width: 2px;
        height: 20px;
        background-color: #fff;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
      } */
      .c-nav__toggle-button.is-open::after{
        opacity: 0;
       }
     

  .c-nav__toggle-button.is-open{
      transform: rotate(180deg);
    }
    /* .c-nav__toggle-button::after{
      content: "";
      display: inline-block;
      width: 2px;
      height: 20px;
      background-color: #fff;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);} */

  

 
  .c-nav__child-list{
    list-style: none;
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    margin-top: 0;
    transition: max-height 0.3s ease-out, opacity 0.3s ease-out,
      margin-top 0.3s ease-out;
    }
    .c-nav__child-list.is-open {
      max-height: unset;
      opacity: 1;
      margin-top: 20px;
    }
  .c-nav__child-list li{
      border-bottom: none !important;
  }


/*-------SP  ハンバーガーメニュー  -----*/
.sp_header_logo_color{
  max-width: 100px;
  position: fixed;
  top: 41px;
  left: 23px;
  z-index: 60;
}
.sp_menu_logo{
  display: none;
  width: 170px;
  margin: 0 auto;
  padding: 40px 0 10px;
}



/* ハンバーガーメニューのスタイル */
.hamburger {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 38px;
    cursor: pointer;
    z-index: 70; /* メニューより前に表示 */
  }
  
  .hamburger span {
    display: block;
    height: 1.5px;
    width: 100%;
    background-color: #D6D6D7;
    margin: 14px 0;
    transition: 0.4s;
  }
  
  /* メニューのスタイル */
  .menu {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: #343534;
    opacity: 0; /* 初期状態は透明 */
    pointer-events: none; /* クリック不可 */
    transition: opacity 0.5s ease; /* フェードインのアニメーション */
    padding: 80px 20px 20px;
    box-sizing: border-box;
    z-index: 60;
  }
  .menu li{
    padding: 20px;
    border-bottom: 1px #fff solid;
  }
  
  /* メニューが開いたとき */
  .menu.open {
    opacity: 0.8; /* 不透明にする */
    pointer-events: auto; /* クリック可能にする */
    overflow: scroll;
  }
  .menu.open a{
    color: #fff;
  }
  .sub_menu{
    font-size: 14px;
    margin-left: 20px;
    line-height: 3.6;
  }
  
  /* バツ印に変わるハンバーガーボタン */
  .hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 15px);
    background-color: #fff;
  }
  
  .hamburger.active span:nth-child(2) {
    opacity: 0; /* 真ん中の線を透明にする */
    background-color: #fff;
  }
  
  .hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -16px);
    background-color: #fff;
  }
  
/***********************************

トップ FV

 ***********************************/
 .fv{
  background-color:#F7F7F7 ;
  padding-bottom: 60px;
 }
 .fv_ttl{
  padding-top: 50px;
  margin-left: auto;
  position: relative;
  z-index: 50;
  text-align: right;
 }
  .fv_ttl2{
  padding-top: 160px;
  margin-bottom: 260px;
  margin-left: auto;
  position: relative;
  z-index: 50;
  text-align: right;
 }
 @media screen and (max-width: 834px) {
  .fv_ttl2{
    margin-bottom: 49px;
    padding-top: 30px;
 }
}
 .fv_ttl img{
  max-width: 520px;
 }
  .fv_ttl2 img{
  max-width: 520px;
 }
 .fv_ring{
  max-width: 695px;
  margin-top: -210px;
  margin-left: 100px;
  position: relative;
  z-index: 10;
 }
 @media (min-width: 465px) and (max-width: 834px){
  .fv_ttl2{
    margin-bottom: 19px;
  }
 }


  /*----   動画丸々はめ込み版  ----*/
.fv_video{
  margin-top: -420px;
  max-width: 100%;
  z-index: 55;
  position: absolute;
  overflow: hidden;
}
@media screen and (max-width: 834px) {
  .fv{
    padding-bottom: 0;
  }
  .fv_video{
    margin-top: -90vw;
  }
  .fv_ttl{
    padding-top: 290px;
  }
}
@media screen and (max-width: 420px) {
  .fv_video{
  margin-top:-75vw;}
}
@media screen and (max-width: 370px) {
  .fv_video{
  margin-top:-70vw;}
}

 /*----   動画自動スクロール  ----*/
 @keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
    to {
    transform: translateX(-100%);
  }
  }
.video_wrap{
  display: flex;
  justify-content: flex-end;
  max-width: 1160px;
  margin: 0 auto;
  overflow: hidden;
  margin-top: -440px;
  text-align: right;
}
.video_item {
  right: 0;
  position: relative;
  z-index: 11;
  border-radius: 10px;
  max-width: 960px;
  width: 96%;
}
@media screen and (max-width: 834px) {
  .video_item {
    border-radius: 10px 0 0 10px;
  } 
}

.video_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 680px;
  overflow: hidden;
}
@media screen and (max-width: 834px) {
.video_bg {
  height: 500px;
}
}
.video_bg video{
  height: auto;
  width: auto;
  min-height: 100%;
  min-width: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  z-index: 10;
}
.video_screen {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0,0,0,0.2);
  z-index: 20;
}

.video{
display: flex;
z-index: 55;
top: 365px;
animation: infinity-scroll-left 23s infinite linear 0.5s both;
}
.video .video_tate{
  height: 420px;
  width: 264px;
  padding: 0 10px;
}
.no_right_space{
  padding-right: 0px !important;
}
.video_yoko{
  padding: 0px;
}
.video_yoko div{
  height: 210px;
  width: 283px;
  padding-bottom: 10px;
}
.video_yoko div:nth-last-of-type(1){
  padding-bottom: 0px;
}
.video video{
  height: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: 10px;
}
@media screen and (max-width: 834px) {
  .fv_ring{
    margin-left: 0;
  }
  .video_wrap{
    margin-top: -84vw;
  }
  .video .video_tate{
    width: 224px;
    height: 336px;
    padding: 0 6px;
  }
}
@media screen and (max-width: 420px) {
  .video_wrap{
  margin-top:-79vw;}
}
@media screen and (max-width: 370px) {
  .video_wrap{
  margin-top:-70vw;}
}


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

トップ  メッセージ

 ***********************************/
.top_message{
  background-color: #F7F7F7;
  padding: 0 0 60px;
}
.top_message ul{
  display: flex;
  justify-content: space-between;
  padding: 80px;
  align-items: center;
}
.top_message li:nth-child(1){
  max-width: 405px;
}
.message_txt{
  line-height: 2.8;
  font-size: 20px;
  padding-bottom: 70px;
}
.oshare_btn{
border-bottom: 1px solid #343534;
padding-bottom: 15px;
color: #343534;
display: flex;
    max-width: 316px;
    align-items: center;
}

.oshare_btn p{
  margin-right: 50px;
  font-size: 18px;
}
.oshare_btn p:hover{
  margin-right: 60px;
  transition: 0.3s;
}
/* .oshare_btn span{
  padding-left: 40px;
  padding-right: 10px;
  } */
/* .oshare_btn a:hover{
  padding-left: 50px;
  padding-right: 0px;
  transition: 0.3s;
}*/
.oshare_btn span img{
  width: 23px;
  margin-bottom: -5px;
}
@media screen and (max-width: 834px) {
.top_message ul{
  display: block;
  padding: 70px 0 10px;
  position: relative;
  z-index: 30;
}
.top_message li:nth-child(1){
  max-width: 262px;
}
.message_txt{
  font-size: 14px;
  padding-top: 30px;
  padding-bottom: 50px;
}
.oshare_btn{
  max-width: 266px;
}
.oshare_btn p{
  font-size: 15px;
}
}
/***********************************

トップ Service

 ***********************************/
 .top_service{
  position: relative;
 }
.service_wrap{
  padding: 140px 0 60px;
}
.top_service_ttl{
  margin-bottom: 60px;
  text-align: center;
}
.top_service_ttl p:nth-child(1){
font-size: 48px;
font-weight: bold;
padding-bottom: 25px;
letter-spacing: 0.4rem;
}
.top_service_ttl p:nth-child(2){
font-size: 18px;
letter-spacing: 0.7rem;
}
.top_service_text{
  text-align: center;
  line-height: 2.8;
  font-size: 14px;
}
.message_ring{
  max-width: 368px;
  position: absolute;
  right: 0;
  top: -180px;
}
@media screen and (max-width: 834px) {
  .message_ring{
    max-width: 140px;
    top: -150px;
  }
  .service_wrap{
    padding-top: 70px;
  }
  .top_service_ttl p:nth-child(1){
    font-size: 24px;
  }
  .top_service_ttl p:nth-child(2){
    font-size: 12px;
  }
}

/*---------   トップservice 項目いちらん   ----------*/
.top_service_list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-bottom: 100px;
  position: relative;
  z-index: 30;
}
.top_service_list li{
width: 23.33%;
 padding-bottom: 40px;
}
.top_service_list li:nth-of-type(2){
  margin-top: 80px;
}
.top_service_list li:nth-of-type(4){
  margin-top: 80px;
}
.top_service_list li:nth-of-type(6){
  margin-top: 80px;
}
.top_service_list li:last-of-type{
  margin-top: 241px;
}

.item_box * {
  box-sizing: border-box;
}
.item_box {
  width: 100%;
  max-width: 270px; /* 幅調整 */
}
.item_box a:hover{
  opacity: 1;
}
.item_link {
  display: block;
}
.item_content {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
}
.item_image img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
.item_mask {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #343533;
  /* mix-blend-mode: multiply; */
  opacity: 0;
}
.item_mask-text {
  width: 100%;
  padding: 0.5em;
  font-size: 0.8em;
  color: #fff;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.item_text {
  margin-top: 10px;
  text-align: center;
}
.item_box .item_link:hover .item_mask {
  opacity:  0.9;
  /* mix-blend-mode: multiply; */
  background-color: #343533;
}
/* -text-from-bottom */
.item_box.-text-from-bottom .item_mask {
  transition: opacity 0.5s ease;
}
.item_box.-text-from-bottom .item_mask-text {
  top: 100%;
  transition: top 0.5s ease;
  border-bottom: 1px solid #fff;
  padding-bottom: 10px;
  width: 120px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.item_box.-text-from-bottom .item_link:hover .item_mask-text {
  top: 50%;
  transform: translateY(-50%);
}
.top_service_name{
  padding-top: 10px;
  line-height: 1.5;
}
.top_service_name p{
font-size: 18px;
}
.top_service_name span{
  font-size: 16px;
}
.oshare_btn_service{
  border-bottom: 1px solid #343534;
  padding-bottom: 15px;
  color: #343534;
  display: flex;
  max-width: 186px;
  align-items: center;
  margin-left: 39px;
  }
  
  .oshare_btn_service p{
    margin-right: 50px;
    font-size: 18px;
  }
  .oshare_btn_service p:hover{
    margin-right: 60px;
    transition: 0.3s;
  }
  .oshare_btn_service span img{
    width: 23px;
    margin-bottom: -5px;
  }

@media screen and (max-width: 834px) {
  .top_service_list{
    padding-bottom: 30px;
  }
  .top_service_list li{
    width: 33.33%;
  }
  .oshare_btn_service{
margin-left: 10px;
  }
  .oshare_btn_service p{
    margin-right: 30px;
    font-size: 15px;
  }
  .top_service_name{
    font-size: 12px;
  }
  .top_service_name span{
    font-size: 12px;
  }
}
@media screen and (max-width: 834px) {
  .top_service_list li{
    width: 49%;
  }
  .top_service_list li:nth-of-type(2){
    margin-top: 0px;
  }
  .top_service_list li:nth-of-type(4){
    margin-top: 0px;
  }
  .top_service_list li:nth-of-type(6){
    margin-top: 0px;
  }
  .item_box{
    max-width: 100%;
  }
  .top_service_list li:last-of-type{
    margin-top: 50px;
  }
}

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

トップ Policy

 ***********************************/
.top_policy{
background-color: #F7F7F7;
}
.top_policy_ring{
  position: absolute;
  max-width: 455px;
  margin-top: -330px;
}

.top_policy_content{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 140px 0 60px;
  position: relative;
}
.top_policy_content li:nth-of-type(1){
  padding-right: 40px;
}
.top_policy_ttl{
  margin-bottom: 60px;
  text-align: left;
}
.top_policy_ttl p:nth-child(1){
font-size: 48px;
font-weight: bold;
padding-bottom: 25px;
letter-spacing: 0.4rem;
}
.top_policy_ttl p:nth-child(2){
font-size: 18px;
letter-spacing: 0.7rem;
}
.top_policy_txt{
  line-height: 2.8;
} 
.top_plicy_three_btn{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 140px;
}
.top_plicy_three_btn a{
  padding: 30px 50px 30px;
  border-right: 1px solid #343533;
  display: flex;
  justify-content: space-between;
  width: 33.33%;
  align-items: center;
  color: #343533;
}
.top_plicy_three_btn p{
  width: 23px;
}
.top_plicy_three_btn a:hover{
padding-right: 40px;
transition: 0.3s;
}

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

.top_policy_content{
  display: block;
  padding: 70px 0 0px;
}
.top_plicy_three_btn{
  display: block;
  padding-bottom: 70px;
}
.top_plicy_three_btn a{
  width: 100%;
  border-right: none;
  border-bottom: 1px solid #343533;
  padding: 30px 20px 30px;
}
.top_policy_content li:nth-of-type(1){
  padding-right: 0;
  padding-bottom: 40px;
}
.top_policy_ttl p:nth-child(1){
  font-size: 24px;
}
.top_policy_ttl p:nth-child(2){
  font-size: 12px;
}
.top_policy_txt{
  font-size: 14px;
}

}
/***********************************

トップ NEWS

 ***********************************/
 .top_news{
background-color:  #EDEEE3;
padding: 140px 0 ;
 }
.top_news_content{
 display: flex;
 justify-content: space-between;
}
.top_news_list ul{
  padding: 40px 0;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #151515;
}
.top_news_list a{
  color: #343533;
}
.top_news_ttl img{
  max-width: 96px;
}
.top_news_date{
font-size: 14px;
margin-right: 40px;
}
.top_news_date span{
  color: #fff;
  font-size: 12px;
  background-color: #343533;
  padding: 10px;
  margin-left: 20px;
}

@media screen and (max-width: 834px) {
  .top_news_content{
    display: block;
  }
  .top_news_list ul{
    display: block;
  }
  .top_news_ttl img{
    max-width: 83px;
  }
  .top_news_ttl{
    max-width: 573px;
    margin: 0 auto;
    padding-bottom: 40px;
  }
  .top_news_date{
    margin-right: 0;
    padding-bottom: 15px;
  }
  .top_news_list ul{
    padding: 20px 0;
  }
  .top_news_date span{
    padding: 6px;
  }
}


 /*----------- たぶ  ------------*/
 .works_wrap{
	padding: 80px 0 0px;
}
.works_ttl{
	font-size: 30px;
	margin-bottom: 35px;
}

/* .category_menu li{
	padding:16px 0px;
	border: #151515 1px solid;
	border-radius: 40px;
	width: 140px;
}
.category_menu a{
	background-color:#fff ;
	color: #151515;
	border-radius: 40px;}

.category_menu a:hover{
	background-color: #151515;
	color: #fff;
	transition: 0.3s;
} */
.category_menu{
	justify-content: space-between;
	max-width: 950px;
	margin: 0 auto;
}
@media screen and (max-width: 834px) {
	.works_wrap{
		padding: 340px 0 0px;
	}
	.category_menu{
		justify-content: flex-start;
		max-width: 573px;
		margin: 0 auto;
		flex-wrap: wrap;
	}
	.category_menu label{
		width: 23%;
		margin-bottom: 10px;
		margin-right: 5px;
	}
  .all_btn_width{
		width: 100% !important; 
	}
  .top_news_text{
    font-size: 14px;
  }
}

@media screen and (max-width: 590px) {
	.category_menu input:hover{
		background-color: #fff;
		color: #151515;
		transition: none;
	}
}
@media screen and (max-width: 540px) {
	.works_wrap{
		padding: 392px 0 0px;
	}
}
@media screen and (max-width: 457px) {
	.works_wrap{
		padding: 410px 0 0px;
	}
	.category_menu{
		max-width: 393px;
        justify-content: center;
	}
	.category_menu label{
		width: 45%;
		margin-bottom: 10px;
	}
	.category_menu input{
		width: 100%;
	}
	.all_btn{
	width: 45%;
    /* margin: 0 60px 10px 60px !important; */
	}
}
@media screen and (max-width: 380px) {
	.works_wrap{
		padding: 437px 0 0px;
	}
}

/*------カテゴリボタン------*/
.category_menu {
    display: flex;
    flex-wrap: wrap;
	justify-content: flex-start;
}

.tab-label {
  text-align: center;
  padding: 12px 0px;
  width: 176px;
  color: #151515;
  order: -1;
  margin-bottom: 10px;
  margin-right: 12px;
}
.tab-label::after{
  background-color: #fff;
  height: 20px;
  margin: 5px auto -23px;
  display: block;
}

.tab-label:hover {
	background-color:#151515 ;
	color: #fff;
	transition: 0.3s;
}
.tab-label:hover::after {
  content: "";
  background-image: url(../img/top/top_news_btn_line.png);
  width: 1px;
}

.tab-content {
    display: none;
    width: 100%;
	text-align: left;
	margin: 30px 0 30px;
}
/* アクティブなタブ */
.tab-switch:checked+.tab-label{
	background-color: #151515;
	color: #fff;
	transition: 0.3s;
}

.tab-switch:checked+.tab-label::after {
  content: "";
  background-image: url(../img/top/top_news_btn_line.png);
  width: 1px;
}
  
.tab-switch:checked+.tab-label+.tab-content {
     display: block;
}
/* ラジオボタン非表示 */
.tab-switch {
    display: none;
}

@media screen and (max-width: 834px) {
.category_menu{
	justify-content: center;
}
.tab-content{
  margin-top: 10px;
}
}
  /*----------- // たぶ  ------------*/
.top_news_oshare_btn_wrap{
 margin-left: 69%;

}
  .top_news_oshare_btn{
    border-bottom: 1px solid #343534;
    padding-bottom: 15px;
    color: #343534;
    display: flex;
        max-width: 306px;
        align-items: center;
        margin-right: 0;
        padding-top: 20px;
    }
    .top_news_oshare_btn p{
      margin-right: 80px;
      font-size: 18px;
    }
    .top_news_oshare_btn p:hover{
      margin-right: 90px;
      transition: 0.3s;
    }
    .top_news_oshare_btn span img{
      width: 23px;
      margin-bottom: -5px;
    }
    @media screen and (max-width: 834px) {
      .top_news{
        padding: 70px 0;
      }
    .top_news_oshare_btn{
      max-width: 266px;
    }
    .top_news_oshare_btn p{
      font-size: 15px;
    }
    .top_news_oshare_btn_wrap{
      margin: 0 auto;
    }
    }

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

footer

 ***********************************/
footer{
  background-color: #202124;
  padding: 60px;
}
 .footer_wrap{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  color: #fff;
 }
 .footer_wrap a{
  color: #fff;
 }
 .footer_wrap li{
  padding-bottom: 20px;
  font-size: 14px;
 }
.footer_company_info li{
  font-size: 12px;
}
.footer_logo{
  width: 142px;
}
.footer_contact_btn{
  width: 130px;
}
.footer_wrap_sp{
  display: none;
}
.copy_right{
  font-size: 11px;
  padding-top: 20px;
  text-align: center;
  margin: 0 auto;
  color: #fff;
}
@media screen and (max-width: 834px) {
  .footer_wrap{
    display: none;
  }
  .footer_wrap_sp{
    display: block;
  }

  footer{
    padding: 40px 25px;
  }
  .footer_logo_sp{
    margin: 0 auto;
    max-width: 100px;
  }
  .footer_wrap_sp ul{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-top: 30px;
    max-width: 380px;
    margin: 0 auto;
  }
  .footer_wrap_sp p{
    padding-bottom: 20px;
  }
  .footer_wrap_sp a{
    color: #fff;
    font-size: 14px;
    padding-bottom: 15px;
  }
}
/***********************************

Sustainability ページ

 ***********************************/
.sustainability_page_title{
  margin: 0 auto;
  padding: 60px 0;
  text-align: center;
}
.sustainability_page_title div{
  font-size: 40px;
  margin-bottom: 15px;
  letter-spacing: 0.2em;
}
.sustainability_page_title p{
  font-size: 18px;
}
.sustainability{
  background-color: #F7F7F7;
}
.sustainability p{
  font-size: 20px;
  text-align: center;
  line-height: 2.8em;
  padding: 60px 0;
}
.graph_ttl{
  font-size: 20px;
  text-align: center;
  padding-bottom: 60px;
}
.graph_img{
  max-width: 1000px;
  padding-bottom: 50px;
  margin: 0 auto;
}
.sustainability_img_txt{
  margin: 0 auto;
  text-align: center;
  padding-bottom: 60px;
}
.sustainability_detail{
  background-color: #EDEEE3;
  padding: 140px 0 100px;
}
.sustainability_detail_wrap{
  background-color: #fff;
  padding: 80px;
  border-radius: 10px;
  margin-bottom: 40px;
}
.sustainability_detail_wrap ul:nth-of-type(2){
  padding-bottom: 0;
}
.sus_detail_ttl {
  font-size: 40px;
  padding-bottom: 60px;
}
.sustainability_content{
  display: flex;
  align-items: flex-start;
  padding-bottom: 60px;
}
.sustainability_content li:nth-of-type(1){
  font-size: 25px;
  padding-right: 60px;
  width: 380px;
}
.sustainability_content li:nth-of-type(1) span{
  font-size: 16px;
}
.sus_content_right{
  padding-left: 60px;
}
.sus_content_right div{
  display: flex;
  align-items: flex-start;
  padding-bottom: 20px;
}
.sus_content_right div:last-child{
  padding-bottom: 0;
}
.sus_content_right img{
   width: 18px;
   margin-right: 20px;
   margin-top: 4px;
}
.sus_content_right p{
  font-size: 18px;
  line-height: 1.3;
}
.sus_content_right span{
  font-size: 16px;
  padding-top: 10px;
}

@media screen and (max-width: 834px) {
  .sustainability_page_title div{
    font-size: 24px;
    margin-bottom: 10px;
    letter-spacing: 0.16em;
  }
  .sustainability_page_title{
    padding: 90px 0 50px;
  }
  .sustainability_page_title p{
    font-size: 12px;
  }
  .sustainability p{
    font-size: 14px;
    padding: 50px 0 ;
  }
  .graph_ttl{
    font-size: 18px;
    padding-bottom: 30px;
  }
  .sustainability_img_txt{
    margin: 0 auto;
    padding-bottom: 40px;
  }
  .sustainability_content{
    display: block;
  }
  .sustainability_detail{
    padding: 30px 0 ;
  }
  .sus_content_right{
    border-left: none;
    padding-left: 0;
  }
  .sustainability_detail_wrap{
    padding: 30px 20px;
  }
  .sus_detail_ttl{
    padding-bottom: 23px;
    font-size: 20px;
  }
  .sustainability_content{
    padding-bottom: 30px;
  }
  .sustainability_content li:nth-of-type(1){
    font-size: 17px;
    padding-right: 0px;
    width: 100%;
    padding-bottom:10px;
    border-bottom: 1px solid #343534;
    margin-bottom: 20px;
  }
  .sustainability_content li:nth-of-type(1) span{
    font-size: 12px;
  }
  .sus_content_right img{
    width: 9px;
  }
  .sus_content_right p{
    font-size: 12px;
  }
  .sus_content_right span{
    font-size: 10px;
  }
}

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

事業一覧 ページ

 ***********************************/
 .service_page_title{
  margin: 0 auto;
  padding: 60px 0;
  text-align: center;
}
.service_page_title div{
  font-size: 40px;
  margin-bottom: 15px;
  letter-spacing: 0.2em;
}
.service_page_title p{
  font-size: 18px;
}
.service{
  background-color: #F7F7F7;
}
.service p{
  font-size: 16px;
  text-align: center;
  line-height: 2.8em;
  padding: 60px 0;
}

/*---------   事業一覧ページ service 項目一覧   ----------*/
.service_service_list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-bottom: 100px;
  position: relative;
  z-index: 30;
  max-width: 950px;
  margin: 0 auto;
  padding-top: 80px;
}
.service_service_list li{
width: 32.33%;
 padding-bottom: 40px;
}

.s_item_box * {
  box-sizing: border-box;
}
.s_item_box {
  width: 100%;
  max-width: 325px; /* 幅調整 */
}
.s_item_box a:hover{
  opacity: 1;
}
.s_item_link {
  display: block;
}
.s_item_content {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
}
.s_item_image img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
.s_item_mask {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #343533;
  /* mix-blend-mode: multiply; */
  opacity: 0;
}
.s_item_mask-text {
  width: 100%;
  padding: 0.5em;
  font-size: 0.8em;
  color: #fff;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.s_item_text {
  margin-top: 10px;
  text-align: center;
}
.s_item_box .s_item_link:hover .s_item_mask {
  opacity:  0.9;
  /* mix-blend-mode: multiply; */
  background-color: #343533;
}
/* -text-from-bottom */
.s_item_box.s_-text-from-bottom .s_item_mask {
  transition: opacity 0.5s ease;
}
.s_item_box.s_-text-from-bottom .s_item_mask-text {
  top: 100%;
  transition: top 0.5s ease;
  border-bottom: 1px solid #fff;
  padding-bottom: 10px;
  width: 120px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.s_item_box.s_-text-from-bottom .s_item_link:hover .s_item_mask-text {
  top: 50%;
  transform: translateY(-50%);
}
.service_service_name{
  padding-top: 10px;
  line-height: 1.5;
  font-size: 16px;
}

.service_service_name span{
  font-size: 14px;
}


@media screen and (max-width: 834px) {
  .service_page_title div{
    font-size: 24px;
  }
  .service_page_title p{
    font-size: 12px;
  }
  .service_page_title{
    padding: 100px 0 50px;
  }
  .service_service_list{
    padding: 50px 0;
    max-width: 95%;
  }
  .service_service_list li{
    width: 28%;
  }
  .service_service_name{
    font-size: 12px;
  }
  .service_service_name span{
    font-size: 12px;
  }
  .service p{
    font-size: 14px;
    padding: 50px 0;
  }
}
@media screen and (max-width: 834px) {
  .service_service_list li{
    width: 49%;
  }
  .s_item_box{
    max-width: 100%;
  }
  .s_item_box .s_item_link:hover .s_item_mask {
    transition: none;
  }
  .s_item_box a:hover{
    transition: none;
  }
}
/*---------   //事業一覧ページ service 項目一覧   ----------*/

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

事業詳細 ページ

 ***********************************/
 .shops{
  padding: 80px 0;
 }
.shops_wrap{
display: flex;
justify-content: center;
padding-bottom: 40px;
}
.shops_wrap li:nth-of-type(2){
  width: 450px;
}
.shop_img{
  max-width: 400px;
  margin-right: 80px;
}
.shop_ttl{
  font-size: 20px;
  padding-bottom: 30px;
}
.shop_content{
  font-size: 14px;
  line-height: 1.6;
  padding-bottom: 40px;
}
.dress_page_title{
  margin: 0 auto;
  padding: 60px 0;
  text-align: center;
}
.dress_page_title div{
  font-size: 40px;
  margin-bottom: 15px;
  letter-spacing: 0.2em;
}
.dress_page_title p{
  font-size: 18px;
}
.dress{
  background-image: url(../img/service/dress_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position-x: center;
}
.dress p{
  font-size: 16px;
  text-align: center;
  line-height: 2.8em;
  padding: 60px 0;
  max-width: 900px;
    margin: 0 auto;
}

.dress_oshare_btn{
  border-bottom: 1px solid #343534;
  padding-bottom: 15px;
  color: #343534;
  display: flex;
      max-width: 226px;
      align-items: center;
      margin-left: auto;
  }
  .dress_oshare_btn p{
    margin-right: 50px;
    font-size: 16px;
    line-height: 1.4;
  }
  .dress_oshare_btn p:hover{
    margin-right: 60px;
    transition: 0.3s;
  }
  .dress_oshare_btn span img{
    width: 23px;
    margin-bottom: -5px;
  }

  .to_service_oshare_btn{
    border-bottom: 1px solid #343534;
    padding-bottom: 15px;
    color: #343534;
    display: flex;
    max-width: 226px;
    align-items: center;
     margin: 0 auto;
     padding-top: 60px;

    }
    .to_service_oshare_btn p{
      margin-right: 50px;
      font-size: 16px;
    }
    .to_service_oshare_btn p:hover{
      margin-right: 60px;
      transition: 0.3s;
    }
    .to_service_oshare_btn span img{
      width: 23px;
      margin-bottom: -5px;
    }

    @media screen and (max-width: 834px) {
      .dress{
        background-image: url(../img/service/sp_dress_bg.jpg);
      }
      .dress_oshare_btn{
        max-width: 216px;
      }
      .dress_oshare_btn p{
        font-size: 15px;
      }
    .to_service_oshare_btn{
      max-width: 196px;
      padding-top: 30px;
    }
    .to_service_oshare_btn p{
      font-size: 15px;
    }
    .dress_page_title div{
      font-size: 24px;
    }
    .dress_page_title p{
      font-size: 12px;
    }
    .dress_page_title{
      padding: 100px 0 50px;
    }
    .dress p{
      padding: 50px 0;
    }
    .shops{
      padding: 50px 0;
    }
    .shops_wrap{
      display: block;
    }
    .shop_img{
      margin-right: 0;
      max-width: 100%;
    }
    .shops_wrap li:nth-of-type(2){
      width: 100%;
    }
    .shop_ttl{
      padding-bottom: 20px;
      padding-top: 20px;
    }
    }
    
/*---------   wedding  ----------*/
.wedding{
    background-image: url(../img/service/wedding_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position-x: center;
  }
  .wedding p{
    font-size: 16px;
    text-align: center;
    line-height: 2.8em;
    padding: 60px 0;
    max-width: 900px;
      margin: 0 auto;
  }
@media screen and (max-width: 834px) {
  .wedding{
    background-image: url(../img/service/sp_wedding_bg.jpg);
  }
}
/*---------   //wedding  ----------*/

/*---------   produce  ----------*/
.produce{
  background-image: url(../img/service/produce_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position-x: center;
}
.produce p{
  font-size: 16px;
  text-align: center;
  line-height: 2.8em;
  padding: 60px 0;
  max-width: 900px;
    margin: 0 auto;
}
@media screen and (max-width: 834px) {
.wedding{
  background-image: url(../img/service/sp_produce_bg.jpg);
}
}
/*---------   //produce  ----------*/

/*---------   photo  ----------*/
.photo{
  background-image: url(../img/service/photo_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position-x: center;
}
.photo p{
  font-size: 16px;
  text-align: center;
  line-height: 2.8em;
  padding: 60px 0;
  max-width: 900px;
    margin: 0 auto;
}
.shops_wrap iframe{
  border: 0;
  border-radius: 10px;
  height: 230px;
  width: 410px;
}
@media screen and (max-width: 834px) {
.photo{
  background-image: url(../img/service/sp_photo_bg.jpg);
}
.shops_wrap iframe{
  width: 100%;
  height:270px;
    }
}
/*---------   //photo  ----------*/

/*---------   flower  ----------*/
.flower{
  background-image: url(../img/service/flower_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position-x: center;
}
.flower p{
  font-size: 16px;
  text-align: center;
  line-height: 2.8em;
  padding: 60px 0;
  max-width: 900px;
    margin: 0 auto;
}
@media screen and (max-width: 834px) {
.flower{
  background-image: url(../img/service/sp_flower_bg.jpg);
}
}
/*---------   //flower  ----------*/

/*---------   restaurant  ----------*/
.restaurant{
  background-image: url(../img/service/restaurant_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position-x: center;
}
.restaurant p{
  font-size: 16px;
  text-align: center;
  line-height: 2.8em;
  padding: 60px 0;
  max-width: 900px;
    margin: 0 auto;
}
.area_ttl{
  max-width: 263px;
  margin: 0 auto;
  padding-bottom: 60px;
  padding-top: 20px;
}
.restaurant_btn_1{
  margin-bottom: 30px;
}
@media screen and (max-width: 834px) {
.restaurant{
  background-image: url(../img/service/sp_restaurant_bg.jpg);
}
.area_ttl{
  max-width: 223px;
  padding-bottom: 20px;
}

}
/*---------   //restaurant  ----------*/

/*---------   merchandise  ----------*/
.merchandise{
  background-image: url(../img/service/merchandise_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position-x: center;
}
.merchandise p{
  font-size: 16px;
  text-align: center;
  line-height: 2.8em;
  padding: 60px 0;
  max-width: 900px;
    margin: 0 auto;
}
@media screen and (max-width: 834px) {
.merchandise{
  background-image: url(../img/service/sp_merchandise_bg.jpg);
}
}
/*---------   //merchandise  ----------*/


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

企業理念 ページ

 ***********************************/
 .philosophy_page_title{
  margin: 0 auto;
  padding: 60px 0;
  text-align: center;
}
.philosophy_page_title div{
  font-size: 40px;
  margin-bottom: 15px;
  letter-spacing: 0.2em;
}
.philosophy_page_title p{
  font-size: 18px;
}
.philosophy{
  background-color: #F7F7F7;
}
.philosophy p{
  font-size: 16px;
  text-align: center;
  line-height: 2.8em;
  padding: 60px 0;
}
.philo_text{
  text-align: center;
  padding: 100px 0 80px;
}
.philo_text div{
  font-size: 28px;
  padding-bottom: 40px;
}
.philo_text p{
  font-size: 14px;
  line-height: 2.4;
}
.logo_ring_img{
  margin: 0 auto;
  max-width: 324px;
  padding-bottom: 60px;
}
.love_one_another ul{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 1000px;
  margin: 0 auto;
  line-height: 2.9;
}
.love_one_another_bg{
  background-image: url(../img/philosophy/ring_bg.png);
  background-repeat: no-repeat;
    background-size: contain;
    background-position-y: 80px;
    background-position-x: center;
    padding-bottom: 80px;
}
.linen{
  background-image: url(../img/philosophy/linen_bg.jpg);
  background-repeat: no-repeat;
    background-size: cover;
    padding: 60px 0;
}
.linen_wrap{
  background-color: #fff;
  padding: 60px;
  border-radius: 10px;
  max-width: 931px;
  margin: 0 auto;
}
.linen_wrap ul{
  display: flex;
  justify-content: center;
  align-items: center;
}
.linen_wrap li:nth-of-type(1){
  font-size: 18px;
  padding-right: 60px;
}
.linen_wrap li:nth-of-type(2){
  font-size: 16px;
  padding-left: 60px;
  border-left: 1px solid #343534;
}
.linen_12 div{
display: flex;
align-items: center;
padding-bottom: 25px;
}
.linen_12 div:last-of-type{
  padding-bottom: 0;
}
.linen_3{
  padding: 80px 0 ;
  max-width: 900px;
  margin: 0 auto;
}
.linen_3_ttl{
  font-size: 22px;
  text-align: center;
  padding-bottom: 40px;
}
.linen_3 ul{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.linen_3 li{
  width: 27.33%;
  text-align: center;
}
.linen_3 p{
  font-size: 16px;
  padding-top: 20px;
}
@media screen and (max-width: 834px) {
  .philosophy_page_title div{
    font-size: 24px;
  }
  .philosophy_page_title p{
    font-size: 12px;
  }
  .philosophy_page_title{
    padding: 100px 0 50px;
  }
  .philosophy p{
    padding: 50px 0;
  }
  .philo_text div{
    font-size: 20px;
  }
  .philo_text{
    padding:50px 0 60px;
    text-align: left;
  }
  .love_one_another_bg{
    background-image: url(../img/philosophy/sp_ring_bg.png);
    background-repeat: no-repeat;
      background-size: cover;
      background-position-y: 0px;
      background-position-x: center;
      padding-bottom: 80px;
      max-width: 100%;
  }
  .love_one_another ul{
    max-width: 95%;
    display: block;
  }
  .love_one_another li{
    padding-bottom: 30px;
  }
  .logo_ring_img{
    max-width: 265px;
    padding-bottom: 40px;
  }
  .linen_wrap{
    padding: 50px 20px;
  }
  .linen_wrap ul{
    display: block;
  }
  .linen{
    background-image: url(../img/philosophy/sp_linen_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 60px 25px;
  }
  .linen_wrap li:nth-of-type(2){
    padding-left: 0;
    border-left: none;
  }
  .linen_wrap li:nth-of-type(1){
    font-size: 20px;
    padding-right: 0px;
    text-align: center;
    padding-bottom: 40px;
  }
  .linen_3 ul{
display: block;
  }
  .linen_3 li{
    max-width: 212px;
    margin: 0 auto;
    width: 100%;
    padding-bottom: 40px;
  }
}

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

会社概要 ページ

 ***********************************/
 .company_inner{
  max-width: 900px;
  margin: 0 auto;
 }
 .company{
  padding: 80px 0;
 }
 .company_page_title{
  margin: 0 auto;
  padding: 60px 0;
  text-align: center;
}

.company_page_title div{
  font-size: 40px;
  margin-bottom: 15px;
  letter-spacing: 0.2em;
}
.company_page_title p{
  font-size: 18px;
}
.company{
  background-color: #F7F7F7;
}
.to_top_oshare_btn{
  border-bottom: 1px solid #343534;
  padding-bottom: 15px;
  color: #343534;
  display: flex;
  max-width: 243px;
  align-items: center;
   margin: 0 auto;
   padding-top: 60px;

  }
  .to_top_oshare_btn p{
    margin-right: 50px;
    font-size: 16px;
  }
  .to_top_oshare_btn p:hover{
    margin-right: 60px;
    transition: 0.3s;
  }
  .to_top_oshare_btn span img{
    width: 23px;
    margin-bottom: -5px;
  }
  .company_info{
    font-size: 16px;
    max-width: 1000px;
    margin: 0 auto;
  }
  .company_info li{
    display: flex;
    align-items: center;
    background-color: #343534;

  }
  .info_content div{
    padding: 20px 0;
  }
  .info_content div:nth-child(1){
  text-align: center;
  background-color: #343534;
  color: #fff;
  width: 180px;
  }
  .info_content div:nth-child(2){
    border-bottom: 1px solid #343534;
    width: 809px;
    background-color: #F7F7F7;
    padding-left: 15px;
    }
    .first_one_line{
      border-top: 1px solid #343534;
    }
  .company_adress{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 60px 0;
  }
  .company_adress iframe{
    border: 0;
    border-radius: 10px;
    height: 380px;
    width: 100%;
  }
  .company_adress li:nth-child(1){
    width: 470px;
  }
  .adress_text{
    padding-left: 40px;
  }
  .adress_text div:nth-of-type(1){
    font-size: 36px;
    padding-bottom: 15px;
  }
  .adress_text p:nth-of-type(1){
    font-size: 16px;
    padding-bottom: 30px;
  }
  .adress_text div:nth-of-type(2){
    font-size: 24px;
    padding-bottom: 20px;
  }
  .adress_text p:nth-of-type(2){
    font-size: 16px;
    line-height: 1.7;
  }
  .company_pic{
    display: flex;
    justify-content: center;
  }
  .company_pic li{
    max-width: 493px;
  }
  .company_pic li:nth-child(1){
    padding-right: 10px;
  }
  
    

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

  .to_top_oshare_btn{
    max-width: 196px;
    padding-top: 30px;
  }
  .to_top_oshare_btn p{
    font-size: 15px;
  }
  .company_page_title div{
    font-size: 24px;
  }
  .company_page_title p{
    font-size: 12px;
  }
  .company_page_title{
    padding: 100px 0 50px;
  }
  .info_content div:nth-child(2){
    width: 100%;
  }
  .company_inner{
    max-width: 95%;
    }
  .company{
    padding: 50px 0 ;
  }
  .company_info{
    font-size:3.24324vw;
  }
  .company_adress{
    display: block;
  }
  .company_adress iframe{
width: 100%;
height:270px;
  }
  .company_adress li:nth-child(1){
    width: 100%;
  }
  .company_adress{
    padding: 40px 0 5px;
  }
  .adress_text div:nth-of-type(1){
    font-size: 20px;
    padding-bottom: 5px;
  }
  .adress_text p:nth-of-type(1){
    font-size: 12px;
    padding-bottom: 30px;
  }
  .adress_text div:nth-of-type(2){
    font-size: 16px;
    padding-bottom: 20px;
  }
  .adress_text p:nth-of-type(2){
    font-size: 13px;
    line-height: 1.7;
  }
  .adress_text{
    padding-left: 0;
    padding-bottom: 20px;
  }
  .company_pic{
    padding-bottom: 20px;
  }
  .to_top_oshare_btn{
    max-width: 226px;
  }

  }

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

募集要項 ページ 閉じすボタンあり

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

 .recruit_contents_wrap{
  max-width: 994px;
  margin: 0 auto;
}

@media screen and (max-width: 834px) {
  .recruit_contents_wrap{
    max-width: 95%;
  }
}

/*====================================================================
.s_05 .accordion_one
====================================================================*/
.s_05 .accordion_one {
	max-width: 1024px;
	margin: 0 auto;
}
.s_05 .accordion_one .accordion_header {
	background-color: #fff;
	color: #343534;
	font-size: 20px;
	padding: 30px 4%;
	position: relative;
	z-index: +1;
	cursor: pointer;
	transition-duration: 0.2s;
  border-radius: 10px;
  margin-top: 10px;
}
.s_05 .accordion_one .accordion_header.open{
  border-radius: 10px 10px 0 0;
}
.s_05 .accordion_one .accordion_header:hover {
	opacity: .8;
}
.s_05 .accordion_one .accordion_header .i_box {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	right: 5%;
	width: 40px;
	height: 40px;
	margin-top: -20px;
	box-sizing: border-box;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transform-origin: center center;
	transition-duration: 0.2s;
}
.s_05 .accordion_one .accordion_header .i_box .one_i {
	display: block;
	width: 18px;
	height: 18px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transform-origin: center center;
	transition-duration: 0.2s;
	position: relative;
}
.s_05 .accordion_one .accordion_header.open .i_box {
	-webkit-transform: rotate(-360deg);
	transform: rotate(-360deg);
}
.s_05 .accordion_one .accordion_header .i_box .one_i:before, .s_05 .accordion_one .accordion_header .i_box .one_i:after {
  display: flex;
      content: '';
      background-image: url(../img/recruit/triangle.png);
      /* border-radius: 10px; */
      width: 22px;
      height: 19px;
      position: absolute;
      top: -4px;
      left: -2px;
      -webkit-transform: rotate(0deg);
      transform: rotate(-90deg);
      transform-origin: center center;
      background-position: center;
      background-size: contain;
}

.s_05 .accordion_one .accordion_header.open .i_box .one_i:before {
	content: none;
}
.s_05 .accordion_one .accordion_header.open .i_box .one_i:after {
	-webkit-transform: rotate(-225deg);
	transform: rotate(-225deg);
}
.s_05 .accordion_one .accordion_inner {
  display: none;
  padding: 0px 40px;
  box-sizing: border-box;
  margin-bottom: 10px;
  border-radius: 0 0 10px 10px;
  background-color: #fff;
}
.s_05 .accordion_one .accordion_inner .box_one {
	padding-bottom: 40px;
}
.s_05 .accordion_one .accordion_inner p.txt_a_ac {
	margin: 0;
}
.s_05 .accordion_one .accordion_inner .closeArea {
	width: 130px;
	margin: 0 auto;
}
.s_05 .accordion_one .accordion_inner .closeArea .close_box a.close_btn {
    text-decoration: none;
    position: relative;
    cursor: pointer;
    transition-duration: 0.2s;
    max-width: 200px;
}

.s_05 .accordion_one .accordion_inner .closeArea .close_box a.close_btn:hover {
	opacity: .8;
}
.s_05 .accordion_one .accordion_inner .closeArea .close_box a.close_btn .i_box .one_i {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 18px;
	height: 18px;
}
.s_05 .accordion_one .accordion_inner .closeArea .close_box a.close_btn .i_box .one_i:before, .s_05 .accordion_one .accordion_inner .closeArea .close_box a.close_btn .i_box .one_i:after {
	content: '';
	background-color: #fff;
	border-radius: 10px;
	width: 18px;
	height: 4px;
	position: absolute;
	top: 7px;
	left: 0;
	-webkit-transform: rotate(-45deg);
	transform: rotate(45deg);
	transform-origin: center center;
}
.s_05 .accordion_one .accordion_inner .closeArea .close_box a.close_btn .i_box .one_i:before {
	width: 4px;
	height: 18px;
	top: 0;
	left: 7px;
}
@media screen and (max-width: 1024px) {
	.s_05 .accordion_one .accordion_header {
		font-size: 18px;
	}
	.s_05 .accordion_one .accordion_header .i_box {
		width: 30px;
		height: 30px;
		margin-top: -15px;
	}
	.s_05 .accordion_one .accordion_inner .closeArea .close_box a.close_btn {
		font-size: 14px;
	}
}
@media screen and (max-width: 767px) {
	.s_05 .accordion_one .accordion_header {
		font-size: 16px;
		text-align: left;
		padding: 15px 60px 15px 15px;
	}
}

/*----------  中身部分  --------------*/


.recruit{
  background-color: #EDEEE3;
  padding: 60px 0 100px;
}
.recruit_content{
  padding-bottom: 19px;
}
.occupation_ttl{
  max-width: 994px;
  margin: 0 auto;
}
.occupation_ttl p:nth-child(1){
  font-size: 35px;
  padding-bottom: 15px;
}
.occupation_ttl p:nth-child(2){
  font-size: 16px;
  padding-bottom: 40px;
}

.recruit_info{
  font-size: 16px;
  max-width: 1000px;
  margin: 0 auto;
}
.recruit_info li{
  display: flex;
  align-items: center;
  background-color: #343534;
  margin-bottom: 1px;
}
.recruit_info_content div{
  padding: 20px;
}
.recruit_info_content div:nth-child(1){
text-align: center;
margin-right: 15px;
color: #fff;
width: 180px;
}
.recruit_info_content div:nth-child(2){
  border-bottom: 1px solid #343534;
  width: 809px;
  background-color: #fff;
  }
  .recuit_line{
    width: 100%;
    border-top: 1.5px solid #343534;
  }
  .accordion_sub_ttl{
    font-size: 16px;
    padding-bottom: 20px;
    padding-top: 30px;
  }
  .accordion_sub_ttl img{
    width: 16px;
    margin-right: 20px;
  }
  .entry_btn{
    max-width: 320px;
    margin: 0 auto;
    padding-top: 30px;
  }
.only_isho{
  padding-bottom: 15px;
}
.close_icho_btn{
  padding-bottom: 40px;
}


@media screen and (max-width: 834px) {
  .occupation_ttl{
    max-width: 95%;
  }
  .occupation_ttl p:nth-child(1){
    font-size: 20px;
  }
  .occupation_ttl p:nth-child(2){
    font-size: 12px;
    padding-bottom: 15px;
  }
  .accordion-008 summary{
    font-size: 14px;
  }
  .close_btn{
    max-width: 196px;
    padding-top: 30px;
  }
  .close_btn p{
    font-size: 15px;
  }
  .recruit{
    padding: 60px 0;
}
  .recruit_info li{
    background-color: #fff;
  }
  .recruit_info_content div:nth-child(1){
    margin-right: 15px;
    color: #fff;
    min-width: 80px;
    background-color: #343534;
    font-size: 14px;
    padding: 10px 0px;
  }
  .recruit_info_content div:nth-child(2){
    width: 809px;
    background-color: #fff;
    font-size: 13px;
  }
  .recruit_info_content div{
    padding: 5px;
  }
  .recruit_info li{
    align-items: flex-start;
  }
  .recruit_content{
    padding: 0px 4px 10px;
  }
  .s_05 .accordion_one .accordion_header .i_box .one_i:before, .s_05 .accordion_one .accordion_header .i_box .one_i:after{
    width: 14px;
    height: 12px;
    top: 0px;
    left: 2px;
  }
  .s_05 .accordion_one .accordion_inner{
    padding: 0 8px;
  }
  .s_05 .accordion_one .accordion_inner .closeArea{
    max-width: 100px;
  }
}

/*----- //アコーディオン ------*/







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

  ニュース 一覧ページ

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

 .news_page_title{
  margin: 0 auto;
  padding: 60px 0;
  text-align: center;
}

.news_page_title div{
  font-size: 40px;
  margin-bottom: 15px;
  letter-spacing: 0.2em;
}
.news_page_title p{
  font-size: 18px;
}
.news{
  background-color: #F7F7F7;
  padding: 80px 0 ;
}


@media screen and (max-width: 834px) {
  .news_page_title div{
    font-size: 24px;
  }
  .news_page_title p{
    font-size: 12px;
  }
  .news_page_title{
    padding: 100px 0 50px;
  }
}


/*-----------   ニュース  リスト  ----------*/


.nl_top_news{
  background-color:  #EDEEE3;
  padding: 140px 0 ;
   }
  .nl_top_news_content{
    max-width: 1000px;
    margin: 0 auto;
   display: flex;
   justify-content: space-between;
  }
  .nl_top_news_list ul{
    padding: 40px 0;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #151515;
  }
  .nl_top_news_list a{
    color: #343533;
  }
  .nl_top_news_ttl img{
    max-width: 96px;
  }
  .nl_top_news_date{
  font-size: 14px;
  margin-right: 40px;
  }
  .nl_top_news_date span{
    color: #fff;
    font-size: 12px;
    background-color: #343533;
    padding: 10px;
    margin-left: 20px;
  }
  
  @media screen and (max-width: 834px) {
    .nl_top_news_content{
      display: block;
      max-width: 95%;
    }
    .nl_top_news_list ul{
      display: block;
    }
    .nl_top_news_ttl img{
      max-width: 83px;
    }
    .nl_top_news_ttl{
      max-width: 573px;
      margin: 0 auto;
      padding-bottom: 40px;
    }
    .nl_top_news_date{
      margin-right: 0;
      padding-bottom: 15px;
    }
    .nl_top_news_list ul{
      padding: 20px 0;
    }
    .nl_top_news_date span{
      padding: 6px;
    }
  }
  
  
   /*----------- たぶ  ------------*/
  .nl_news_category_menu{
    justify-content: space-between;
    max-width: 950px;
    margin: 0 auto;
  }
  @media screen and (max-width: 834px) {
    .nl_category_menu{
      justify-content: flex-start;
      max-width: 573px;
      margin: 0 auto;
      flex-wrap: wrap;
    }
    .nl_category_menu label{
      width: 23%;
      margin-bottom: 10px;
      margin-right: 5px;
    }
    .nl_all_btn_width{
      width: 100% !important; 
    }
    .nl_top_news_text{
      font-size: 14px;
    }
  }
  
  @media screen and (max-width: 590px) {
    .nl_category_menu input:hover{
      background-color: #fff;
      color: #151515;
      transition: none;
    }
  }
  @media screen and (max-width: 540px) {
    .nl_works_wrap{
      padding: 392px 0 0px;
    }
  }
  @media screen and (max-width: 457px) {
    .nl_works_wrap{
      padding: 410px 0 0px;
    }
    .nl_category_menu{
      max-width: 393px;
          justify-content: center;
    }
    .nl_category_menu label{
      width: 45%;
      margin-bottom: 10px;
    }
    .nl_category_menu input{
      width: 100%;
    }
    .nl_all_btn{
    width: 45%;
      /* margin: 0 60px 10px 60px !important; */
    }
  }
  @media screen and (max-width: 380px) {
    .nl_works_wrap{
      padding: 437px 0 0px;
    }
  }
  
  /*------カテゴリボタン------*/
  .nl_category_menu {
      display: flex;
      flex-wrap: wrap;
    justify-content: flex-start;
  }
  
  .nl_tab-label {
    text-align: center;
    padding: 12px 0px;
    width: 176px;
    color: #151515;
    order: -1;
    margin-bottom: 10px;
    margin-right: 12px;
  }
  .nl_tab-label::after{
    background-color: #fff;
    height: 20px;
    margin: 5px auto -23px;
    display: block;
  }
  
  .nl_tab-label:hover {
    background-color:#151515 ;
    color: #fff;
    transition: 0.3s;
  }
  .nl_tab-label:hover::after {
    content: "";
    background-image: url(../img/top/top_news_btn_line.png);
    width: 1px;
  }
  
  .nl_tab-content {
      display: none;
      width: 100%;
    text-align: left;
    margin: 30px 0 30px;
  }
  /* アクティブなタブ */
  .nl_tab-switch:checked+.nl_tab-label{
    background-color: #151515;
    color: #fff;
    transition: 0.3s;
  }
  
  .nl_tab-switch:checked+.nl_tab-label::after {
    content: "";
    background-image: url(../img/top/top_news_btn_line.png);
    width: 1px;
  }
    
  .nl_tab-switch:checked+.nl_tab-label+.nl_tab-content {
       display: block;
  }
  /* ラジオボタン非表示 */
  .nl_tab-switch {
      display: none;
  }
  
  @media screen and (max-width: 834px) {
  .nl_category_menu{
    justify-content: center;
  }
  .nl_tab-content{
    margin-top: 10px;
  }
  }
    /*----------- // たぶ  ------------*/

    /*----------- ページネーション  ------------*/
    .pagination-1 {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 0 8px;
      list-style-type: none;
      padding: 0;
  }
  
  .pagination-1 a {
      box-sizing: border-box;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 2em;
      height: 2em;
      border: 1px solid #202124;
      border-radius: 1px;
      color: #202124;
  }
  
  .pagination-1 a:not(:hover) {
      text-decoration: none;
  }
  
  .pagination-1 .current a {
      background-color: #202124;
      color: #fff;
      pointer-events: none;
  }
  .prev{
    border: none;
    color: #ACACAC;
  }
  .next{
    border: none;
    color: #ACACAC;
  }


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

ニュース 詳細ページ

 ***********************************/
.news_page{
  max-width: 1000px;
  margin: 0 auto;
  padding:140px 0 100px;
}
.news_page_date{
  font-size: 14px;
  padding-bottom: 20px;
}
.news_page_date span{
  padding: 6px;
  background-color: #343534;
  margin-left: 15px;
  color: #fff;
}
.news_page_ttl{
  font-size: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid #343534;
  margin-bottom: 40px;
}
.news_page_text{
line-height: 2;
padding-bottom: 40px;
}
.news_page img{
  max-width: 597px;
  padding-bottom: 40px;
}
.news_page_btn{
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 681px;
  margin: 0 auto;
  padding-top: 40px;
}
.news_page_btn div{
  font-size: 16px;
  padding: 16px 40px;
  border: 1px solid #343534;
  border-radius: 3px;
}
.news_page_btn a{
  color: #343534;
}
.news_page_btn img{
  max-width: 50px;
  padding-bottom: 0;
}
.no_prev_page{
  color: #ACACAC;
  border: #ACACAC;
}

@media screen and (max-width: 834px) {
.news_page{
  max-width: 95%;
}
.news_page_date{
  font-size: 12px;
}
.news_page_date span{
  font-size: 10px;
}
.news_page_ttl{
  font-size: 16px;
  margin-bottom: 20px;
}
.news_page_text{
font-size: 14px;
}
.news_page img{
  padding-bottom: 20px;
}
.news_page_btn{
  max-width: 331px;
}
.news_page_btn div{
  font-size: 12px;
  padding: 16px 15px;
}
.news_page_btn img{
  padding-bottom: 0;
}
}

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

フォーム

 ***********************************/
 .entry_page_title{
  margin: 0 auto;
  padding: 60px 0;
  text-align: center;
}
.entry_page_title div{
  font-size: 40px;
  margin-bottom: 15px;
  letter-spacing: 0.2em;
}
.entry_page_title p{
  font-size: 18px;
}


 .footer_bg{
	background-image: url(img/footer_bg.jpg);
	background-size: cover;
	background-repeat: no-repeat;
 }
.form_wrap{
    margin: 0 auto;
	padding-top: 100px;
}
.form_wrap .title img{
	max-width: 161px;
}
.form_wrap .ttl{
	font-weight: bold;
	letter-spacing: 0.1em;
}
.form_wrap .title p{
	font-weight: bold;
}
.form{
	padding: 20px 0 100px;
	max-width: 625px;
	margin: 0 auto;
}

.form_block{
	padding-bottom: 20px;
}
.form_block li:nth-child(1){
	padding-bottom:10px;
	align-items: center;
}
.name_block input{
  max-width: 303px;
}
.right_space{
  margin-right: 10px;
}
input[type="text"],input[type="email"],input[type="tel"]{
	padding:12px 13px;
	border: none;
	border-radius: 5px;
	width:615px;
	font-size: 14px;
  border: 1px solid #343534;
  color:#343534;
}
textarea[name="その他・ご質問など"] {
	border-radius: 5px;
	border: none;
	width:615px;
	height:108px;
	padding: 12px 13px;
	font-size: 14px;
	color:#343534;
  border: 1px solid #343534;
}
textarea[name="応募理由"] {
	border-radius: 5px;
	border: none;
	width:615px;
	height:108px;
	padding: 12px 13px;
	font-size: 14px;
	color:#343534;
  border: 1px solid #343534;
}

.form_block span{
	    font-size: 12px;
    color: #fff;
    border-radius: 5px;
    padding: 4px 8px;
    margin-right: 10px;
    background-color: #B00005;
}

input[type="submit"]{
  background-image: url(../img/form/entry_btn.png);
  background-size: cover;
  background-repeat: no-repeat;
  width: 185px;
  height: 36px;
  border: none;
  cursor: pointer;
  text-indent: -9999px;
  margin-top: 30px;
}
input[type="submit"]:hover{
opacity:0.7;
transition: 0.3s;
}
.name_block{
  display: flex;
}
.contact_message{
  margin: 0 auto;
    text-align: center;
    padding-bottom: 30px;
    line-height: 1.5;
    font-size: 14px;
    min-width: 95%;
}
textarea[name="お問い合わせ内容"] {
	border-radius: 5px;
	border: none;
	width:615px;
	height:108px;
	padding: 12px 13px;
	font-size: 14px;
	color:#343534;
  border: 1px solid #343534;
}


@media screen and (max-width:834px){
  .entry_page_title div{
    font-size: 24px;
  }
  .entry_page_title p{
    font-size: 12px;
  }
  .entry_page_title{
    padding: 100px 0 50px;
  }
  .name_block{
    display: block;
  }
  .name_block input{
    max-width: 100%;
  }
  .right_space{
    margin-right: 0;
  }
  .form{
    margin: 0 3%;
  }

input[type="text"],input[type="email"],input[type="tel"]{
	width: 100%;
	padding: 10px 15px;
}
select[name="お住まいの都道府県"]{
	width: 100%;		
	}
textarea[name="その他・ご質問など"]{
	width: 100%;		
	}
textarea[name="応募理由"]{
    width: 100%;		
    }
input[value="この内容で送信する"]{
	width: 100%;
	}
select[name="生年月日[][年]"]{
	width: 82.5px;
	}
select[name="生年月日[][月]"] {
	width:68px;
}
select[name="生年月日[][日]"] {
	width:68px;
}
	.select_boxes{
		display: flex;
	}
	.select_boxes p{
		padding: 0 11px 0 4px;
	}
	.form_block span{
		 border-radius: 3px;
		    padding: 4px 8px;
	}
  textarea[name="お問い合わせ内容"]{
    width: 100%;		
    }
}

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

thanksページ

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

.thanks_page_title{
  margin: 0 auto;
  padding: 60px 0;
  text-align: center;
}
.thanks_page_title div{
  font-size: 40px;
  margin-bottom: 15px;
  letter-spacing: 0.2em;
}
.thanks_page_title p{
  font-size: 18px;
}
.thanks_to_top_oshare_btn{
  border-bottom: 1px solid #343534;
  padding-bottom: 15px;
  color: #343534;
  display: flex;
  max-width: 246px;
  align-items: center;
  margin: 0 auto;
  padding-top: 40px;
  margin-bottom: 80px;

  }
  .thanks_to_top_oshare_btn p{
    margin-right: 50px;
    font-size: 16px;
  }
  .thanks_to_top_oshare_btn p:hover{
    margin-right: 60px;
    transition: 0.3s;
  }
  .thanks_to_top_oshare_btn span img{
    width: 23px;
    margin-bottom: -5px;
  }
  .thanks_text{
    text-align: center;
    line-height: 2.3;
    font-size: 14px;
    padding-bottom: 30px;
  }

@media screen and (max-width: 834px) {
.thanks_page_title div{
  font-size: 24px;
}
.thanks_page_title p{
  font-size: 12px;
}
.thanks_page_title{
  padding: 100px 0 50px;
}
.thanks_to_top_oshare_btn{
  max-width: 226px;
  padding-top: 30px;
}
.thanks_to_top_oshare_btn p{
  font-size: 15px;
}
.thanks_text{
  text-align: left;
}
}
/***********************************

thanksページ

 ***********************************/
 .privacy_page_title{
  margin: 0 auto;
  padding: 60px 0;
  text-align: center;
}
.privacy_page_title div{
  font-size: 40px;
  margin-bottom: 15px;
  letter-spacing: 0.2em;
}
.privacy_page_title p{
  font-size: 18px;
}
.privacy_text{
 font-size: 14px;
 background-color: #F7F7F7;
 padding: 80px 0;
}
.privacy_text p{
  max-width: 900px;
  margin: 0 auto;
  line-height: 1.8;
}
@media screen and (max-width: 834px) {
  .privacy_page_title div{
    font-size: 24px;
  }
  .privacy_page_title p{
    font-size: 12px;
  }
  .privacy_page_title{
    padding: 100px 0 50px;
  }
  .privacy_text p{
    max-width: 95%;
  }
  .privacy_text{
    padding: 50px 0;
  }
}

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

社長メッセージ ページ

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

 .message_page_title{
  margin: 0 auto;
  padding: 60px 0;
  text-align: center;
}
.message_page_title div{
  font-size: 40px;
  margin-bottom: 15px;
  letter-spacing: 0.2em;
}
.message_page_title p{
  font-size: 18px;
}
.message_bg{
  background-color: #F7F7F7;
  padding: 100px 0;
}
.message_inner{
  max-width: 1000px;
  margin: 0 auto;
}
.messaage_block{
  padding-bottom:60px;
  font-size: 16px;
  line-height: 2.3;
}
.message_txt{
  font-size: 16px;
  line-height: 2.3;
}
.message_ttl{
  font-size: 24px;
  padding-bottom: 30px;
  display: flex;
  align-items: center;
}
.message_ttl p{
  margin-right: 30px;
  line-height: 1.6;
}
.block1{
  max-width: 225px;
}
.block2{
  max-width: 163px;
}
.block3{
  max-width: 315px;
}
.message_name{
  text-align: right;
  line-height: 2.4;
}


@media screen and (max-width: 834px) {
  .message_page_title div{
    font-size: 24px;
  }
  .message_page_title p{
    font-size: 12px;
  }
  .message_page_title{
    padding: 100px 0 50px;
  }
  .message_inner{max-width: 95%;
  }
  .message_bg{
    padding: 50px 0;
  }
  .message_ttl{
    display: block;
    padding-bottom: 0;
  }
  .message_ttl p{
    margin-right: 30px;
    border-bottom: 1px solid #707070;
    padding-bottom: 25px;
    font-size: 20px;
  }
  .message_ttl img{
    display: none;
  }
}