/* iOSでのデフォルトスタイルをリセット */
   textarea {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -webkit-appearance: none;
     -webkit-border-radius : 0;
     border-radius: 0;
  }
  input[type=text]    {
    -webkit-appearance : none;
    -webkit-tap-highlight-color : rgba(0,0,0,0);
}
  input[type="submit"],
    input[type="reset"],
input[type="button"] {
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="reset"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="reset"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
  /* iOSでのデフォルトスタイルをリセットーーーーここまで *//*-----------------------------------------------
__Default Clear
-----------------------------------------------*/
.smf-nav{
  display: block;
}
.is-active {
    background: #2bb673!important;
    color: #fff!important;
}
.pc_none{
    display: block!important;
}
/*-----------------------------------------------
__a
-----------------------------------------------*/
/*__btn
-----------------------------------------------*/
.btn::before, .btn03 a::before {
    top: 0!important;
    bottom: 0;
    margin: auto;
}

/*-----------------------------------------------
__header
-----------------------------------------------*/
#header{
  padding: 15px;
  position: fixed;
  top: -1px;
  left: 0;
  z-index: 999;
width: 100vw;
}
.navi_logo{
  margin-left: 0;
}
#header .navi{
  display: none;
}
.main_header .mh_img {
    width: calc(100% - 80px);
}
.pc_break{
    display: inline!important;
}
/*__smf_nav
-----------------------------------------------*/
.menu{
  width: 60.5px;
  height: 60.5px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  z-index: 999;
  background: linear-gradient(90deg, #2ab674, #0ca9b3);
  padding: 15px;
  box-sizing: border-box;
}
.menu__line{
  background: #fff;
  display: block;
  width: 30px;
  height: 2px;
  border-radius: 5px;
  position: absolute;
  transition: transform .3s;
}
.menu__line--top{
  top: 20px;
}
.menu__line--center{
  top: 50%;
  transform: translateY(-50%);
}
.menu__line--bottom{
  bottom: 20px;
}
.menu__line--top.active{
  top: 29px;
  transform: rotate(45deg);
}
.menu__line--center.active{
  transform: scaleX(0);
}
.menu__line--bottom.active{
  bottom: 29px;
  transform: rotate(135deg);
}
/*__gnav(フルスクリーン)
-----------------------------------------------*/
.gnav{
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  margin: 0;
  padding-top: 100px;
  box-sizing: border-box;
  /*background: linear-gradient(90deg, #2ab674, #0ca9b3);*/
  background: #f2f3f4;
  z-index: 997;
}
.gnav::before{
  content: '';
  display: inline-block;
  width: 74px;
  height: 667px;
  background-image: url("../images/bg_mitsuboshi_smf.png");
  background-size: contain;
  position: absolute;
  top: 0;
  left: -8px;
  z-index: 3;
}
.gnav li a{
  display: block;
  margin: 15px auto;
  padding: 13px 20px;
  text-align: left;
  color: #2bb673;
  background: #fff;
  border-radius: 3px;
  font-weight: bold;
  position: relative;
  z-index: 4;
}
.gnav li a::after{
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  border: 2px solid;
  border-color: #2bb673 #2bb673 transparent transparent;
  transform: rotate(45deg);
  position: absolute;
  top: 20px;
  right: 20px;
}
/*__main_header
-----------------------------------------------*/
#main{
        width: 100vw;
    overflow: hidden;
}
.main_header {
  display: flex;
  height: 100vh;
}
/*__mh_text
-----------------------------------------------*/
.mh_text {
  padding: 70px 30px;
}
.mh_text .bg_f {
  font-size: 180%;
}
/*__top_content
-----------------------------------------------*/
.content_inner {
  margin: 0 auto;
  width: 93%;
}
/*__bg_mituboshi
-----------------------------------------------*/
.bg_mituboshi {
  padding: 25px 0 50px;
}
.bg_mituboshi::before {
  opacity: inherit;
}
.tc_title {
  margin: 13% 10% 10%;
}
.tc_text {
  font-size: 130%;
  line-height: 2em;
  margin: 0 10%;
}
.tc_left .btn02, .tc_right .btn02 {
  position: relative;
  bottom: auto;
  right: auto;
  margin-left: auto;
}
.tc_text .smf_none{
  display: none !important;
}

.tc_recruit {
  margin-top: 250px;
  position: relative;
  z-index: 4;
}
.tc_center{
  padding: 0 5%;
}
.tc_center .btn02 {
  position: relative;
  bottom: auto;
  right: auto;
  margin-left: auto;
}
/*-----------------------------------------------
__footer_contact
-----------------------------------------------*/
.contact_flex {
  padding: 90px 0 13%;
}
.footer_contact{
  margin-bottom: 20%;
}
.contact_flex p{
  font-size: 190%;
}
.contact_flex ul li {
  font-size: 105%;
}
/*__btn01
-----------------------------------------------*/
.footer_contact .btn01 {
  width: 93%;
  max-width: 700px;
  padding: 3% 9% 3% 8%;
  bottom: -45%;
}
.footer_contact h1{
  margin: 6% 0;
}
.footer_contact .btn01::after{
  right: 10%;
}
.footer_contact .btn01::before{
  top: 46%;
  right: 10%;
}
/*-----------------------------------------------
__footer_contact
-----------------------------------------------*/
address {
    margin-top: 350px;
}
.footer_contact .btn01 h1 span {
    display: block;
}
/*---------------------------------------------*/

/*下層_共通*/
.lower_notes {
    width: 90%;
}
.l_header {
    height: 450px;
}
.l_header p.bg_ttl {
    font-size: 150px;
}
.ChangeElem_Btn_Content {
    top: 470px;
}
.notes h2.sub_ttl {
    margin: 100px auto 20px auto;
}
/*下層_会社概要*/
.overview .table01 tr td ul li {
    width: calc( 100% - 9em );
    padding-left: 20px;
}
.history dl dt {
 padding-left:0;
}
.related ul {
    flex-wrap: wrap;
}
.related ul li {
    width: 100%;
    margin: 5% auto;
}
.related ul li::before {
    width: 100px;
}
.related ul li h3 {
    margin: 0 auto 30px auto;
}
.related ul li dl{
margin: 0 5%;
}
.related_small,
.related_small02{
    font-size: 1.2rem;
}
/*下層_整備情報*/
.l_facilities ul.flex_box li {
    width: 33.3%;
    height: 350px;
}
.l_facilities .table02 th {
    width: 170px;
}
.l_facilities .f_table{
    width: 100%!important;
}
.l_facilities .f_table th{
    width: auto!important;
}
/*下層_お問い合わせ*/
.remodal{
        margin-top: 0!important;
}
.tel_fax {
    margin: 60px auto;
}
.light_hd h2 {
    color: #fff;
}
.light_hd .breadcrubs li {
    color: #fff;
}
.contact_tbl {
    padding: 0;
}
.contact_tbl th {
    width: 150px;
}
.checkbox-field {
    width: 40%;
}
.submit_btn {
    margin: 20px 10px;
}
/*下層_採用情報*/
.recruit_text .mh_text .bg_f {
    font-size: 1.5em;
    line-height: 3em;
}
.l_facilities .r_table {
    margin: 20% auto;
}
