@charset "utf-8";/* CSS Document */*, ::before, ::after {  box-sizing: border-box;}html {  font-size: 62.5%;}body {  position: relative;  width: 100%;  margin: 0;  padding: 0;  font-family: 'Zen Kaku Gothic New', YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";  font-style: normal;  font-weight: normal;  font-size: 1.2rem;  color: #333;  -webkit-text-size-adjust: none;  -webkit-font-smoothing: antialiased;  z-index: 0;  font-feature-settings: "pkna"1;  overflow-x: hidden;    letter-spacing: 0.06em;    line-height: 1.6;}a {  text-decoration: none;}h1, h2, h3, h4, h5, h6 {  margin-bottom: 0;  font-weight: 400;  font-size: inherit;  font-feature-settings: "palt";  line-height: 1.65;}p {  margin-bottom: 0;}pre {  margin-bottom: 0;}dl {  margin-bottom: 0;}ul {  margin-bottom: 0;}ol {  margin-bottom: 0;  list-style: decimal;  padding-left: 1em;}img{    max-width: 100%;    height: auto;}.fadeInUpTrigger,.fadeInDownTrigger,.fadeInUpTriggerOnce{    opacity:0;}/*========= アニメーションの指定 ===============*//* アニメーションの回数を決めるCSS*/.count2{    animation-iteration-count: 2;/*この数字を必要回数分に変更*/}/* アニメーションスタートの遅延時間を決めるCSS*/.delay-time{    animation-delay: 0.5s;}/* アニメーション自体が変化する時間を決めるCSS*/.change-time{    animation-duration: 4.5s;/*この数字を変化させたい時間に変更*/}#splash {    /*fixedで全面に固定*/  position: fixed;  width: 100%;  height: 100%;  z-index: 999;  background:#FFFFFF;  text-align:center;  color:#fff;}/* Loading画像中央配置　*/#splash_logo {  position: absolute;  top: 50%;  left: 50%;  transform: translate(-50%, -50%);}/* Loading アイコンの大きさ設定　*/#splash_logo img {  width:81px;}/* fadeUpをするアイコンの動き */.fadeUp{animation-name: fadeUpAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity: 0;}@keyframes fadeUpAnime{  from {    opacity: 0;  transform: translateY(100px);  }  to {    opacity: 1;  transform: translateY(0);  }}/*-----------------------------------------------------------------*/#header{    position: fixed;    top: 0;    left: 0;    width: 100%;    z-index: 100;    height: 100px;    background: #FFFFFF;}.h_inner{    display: flex;    justify-content: space-between;    align-items: center;}.logo{    padding-left: 2rem;}.hr{    display: flex;    justify-content: space-between;    align-items: center;}.gnav ul{    display: flex;    justify-content: space-between;    align-items: center;}.gnav li{    margin-right: 4vw;    padding-bottom: 0.5rem;    text-align: center;    font-size: 1.8rem;    font-weight: 600;}.gnav span{    color: #F80000;    font-weight: 800;    display: block;}main{    padding-top: 100px;}.mv{    position: relative;    margin-bottom: 3%;}.catch{    position: absolute;    top: 80%;    left: 50%;    width: 100%;    text-align: center;    color: #FFFFFF;    transform: translate(-50%,-50%);    font-size: 5rem;    font-weight: 600;    line-height: 1.6;}.greeting{    background: url("images/greeting_bg.jpg")no-repeat top center;    background-size: cover;    padding: 6% 0;}.greeting_box{    margin-left: auto;    padding: 5rem;    color: #FFFFFF;    max-width: 800px;    width: 50%;}.ttl{    font-size: 6rem;    line-height: 0.6;    font-weight: 800;    margin-bottom: 5rem;}.ja{    font-size: 1.6rem;}.sub_ttl{    font-size: 2.4rem;    margin-bottom: 5rem;    font-weight: 600;    line-height: 1.6;}.greeting_box p{    font-size: 1.6rem;    font-weight: 500;}.business{    padding: 8% 0;}.h3_ttl{    text-align: center;    font-size: 6rem;    font-weight: 800;    margin-bottom: 6%;    line-height: 0.6;    position: relative;    padding-bottom: 3rem;}.h3_ttl::before{    content: "";    position: absolute;    bottom: 0;    left: 50%;    transform: translateX(-50%);    height: 5px;    width: 10rem;    background: #DB0000;    border-radius: 5px;}.business_wrap{    position: relative;    height: 730px;}.business_txt{    position: absolute;    top: 0;    left: 0;    padding: 8% 10%;    background: url("images/business_bg.png") no-repeat top center;    background-size: cover;    z-index: 1;    width: 60%;    color: #FFFFFF;    height: 630px;}.business p{    font-size: 1.6rem;    line-height: 1.6;    font-weight: 500;    margin-bottom: 2rem;}.sub_ttl2{    font-size: 2.8rem;    margin-bottom: 5rem;    font-weight: 800;}.btn{    padding: 8% 0;}.btn a{    padding: 1.5rem 8rem 1.8rem 2rem;    position: relative;    font-weight: 600;    font-size: 1.6rem;    border: 1px solid #FFFFFF;}.btn a::before{    content: "";    top: 50%;    right: 0;    height: 1px;    width: 50px;    background: #FFFFFF;    position: absolute;    transform: translateY(-50%);}.btn02{    padding: 8% 0;}.btn02 a{    padding: 1.5rem 8rem 1.8rem 2rem;    position: relative;    font-weight: 600;    font-size: 1.6rem;    border: 1px solid #333333;}.btn02 a::before{    content: "";    top: 50%;    right: 0;    height: 1px;    width: 50px;    background: #333333;    position: absolute;    transform: translateY(-50%);}.business_img{    position: absolute;    top: 6vw;    right: 0;    width: 60%;    max-height: 630px;}.business_img img{    height: 630px;    object-fit: cover;    width: 100%;}.recruit{    padding: 3% 0;}.recruit_wrap{    max-width: calc(1240px + 6%);    margin: 0 auto;    padding: 3%;    text-align: center;}.recruit_wrap .h3_ttl::before{    background: #FFFFFF;}.sub_ttl2{    font-size: 3.8rem;    font-weight: 800;    margin-bottom: 5%;}.tc{    text-align: center;}.recruit p{    font-size: 1.6rem;    font-weight: 500;    margin-bottom: 2rem;}.news{    background: #000000;    padding: 6% 0;}.news_wrap{    max-width: calc(700px + 6%);    margin: 0 auto;    padding: 3%;    color: #FFFFFF;    text-align: center;}.news_wrap .h3_ttl::before{    background: #FFFFFF;}.news_wrap ul{    font-size: 1.6rem;    font-weight: 500;}.news_wrap li{    padding-bottom: 1rem;    margin-bottom: 1rem;    border-bottom: 1px dashed #FFFFFF;}.news_wrap dl{    display: flex;    align-items: center;}.news_wrap dt{    margin-right: 3rem;}.contact{    padding: 6% 0;    background: url("images/contact_bg.jpg")no-repeat top center;    background-size: cover;}.contact_wrap{    max-width: calc(800px + 6%);    margin: 0 auto;    padding: 3%;    color: #FFFFFF;    text-align: center;}.contact_wrap p{    font-size: 1.6rem;    font-weight: 500;    margin-bottom: 5rem;}.flex{    display: flex;    justify-content: space-between;}.f_btn{    width: 48%;}.f_btn a{    padding: 2rem;    text-align: center;    border: 1px solid #FFFFFF;    font-size: 1.6rem;    font-weight: 500;    display: grid;    height: 112px;    align-items: center;}.f_btn span{    font-size: 2.8rem;    font-weight: 800;    display: block;    position: relative;}.f_btn span::before{    content: "";    position: absolute;    top: 50%;    left: 15%;    background: url("images/Icon-phone.png")no-repeat top center;    background-size: cover;    width: 20px;    height: 20px;    transform: translateY(-50%);}.f_btn2{    width: 48%;}.f_btn2 a{    padding: 2rem;    text-align: center;    border: 1px solid #FFFFFF;    font-size: 1.6rem;    font-weight: 500;    display: grid;    align-items: center;    height: 112px;}.f_btn2 span{    font-weight: 800;    display: block;    position: relative;}.f_btn2 span::before{    content: "";    position: absolute;    top: 50%;    left: 15%;    background: url("images/Icon-mail.png")no-repeat top center;    background-size: cover;    width: 26px;    height: 20px;    transform: translateY(-50%);}.f_nav{    padding: 6% 0;}.f_wrap{    max-width: calc(900px + 6%);    margin: 0 auto;    padding: 3%;    text-align: center;}.f_logo{    margin-bottom: 3rem;}.f_tel{    margin-bottom: 3rem;}.f_ad{    margin-bottom: 5rem;    font-size: 1.6rem;    font-weight: 500;}.copy{    background: #BA0404;    text-align: center;    color: #FFFFFF;    font-size: 1.6rem;    padding: 1rem;}#g-nav.panelactive{    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/    position:fixed;    z-index: 999;  top: 0;  width:100%;    height: 100vh;}/*丸の拡大*/.circle-bg{    position: fixed;  z-index:3;    /*丸の形*/    width: 100px;    height: 100px;    border-radius: 50%;    background: #000000;    /*丸のスタート位置と形状*/  transform: scale(0);/*scaleをはじめは0に*/    right:-50px;    top:calc(50% - 50px);/*50%から円の半径を引いた値*/    transition: all .6s;/*0.6秒かけてアニメーション*/}.circle-bg.circleactive{  transform: scale(50);/*クラスが付与されたらscaleを拡大*/}/*ナビゲーションの縦スクロール*/#g-nav-list{    display: none;/*はじめは表示なし*/    /*ナビの数が増えた場合縦スクロール*/    position: fixed;    z-index: 999;     width: 100%;    height: 100vh;    overflow: auto;    -webkit-overflow-scrolling: touch;}#g-nav.panelactive #g-nav-list{     display: block; /*クラスが付与されたら出現*/}/*ナビゲーション*/#g-nav ul {  opacity: 0;/*はじめは透過0*/    /*ナビゲーション天地中央揃え※レイアウトによって調整してください。不必要なら削除*/    position: absolute;    z-index: 999;    top:10%;    left:50%;    transform: translate(-50%,0);    font-size: 1.8rem;}/*背景が出現後にナビゲーションを表示*/#g-nav.panelactive ul {    opacity:1;}/* 背景が出現後にナビゲーション li を表示※レイアウトによって調整してください。不必要なら削除*/#g-nav.panelactive ul li{animation-name:gnaviAnime;animation-duration:1s;animation-delay:.2s;/*0.2 秒遅らせて出現*/animation-fill-mode:forwards;opacity:0;}@keyframes gnaviAnime{0% {opacity: 0;}100% {opacity: 1;}}/*リストのレイアウト設定*/#g-nav li{  text-align: center;   list-style: none;}#g-nav li a{  color: #FFFFFF;  text-decoration: none;  padding:10px;  display: block;  text-transform: uppercase;  letter-spacing: 0.1em;  font-weight: bold;}/*========= ボタンのためのCSS ===============*/.openbtn1{  position:fixed;  top: 25px;  right: 25px;  z-index: 9999;/*ボタンを最前面に*/  cursor: pointer;    width: 50px;    height:50px;}  /*×に変化*/  .openbtn1 span{    display: inline-block;    transition: all .4s;    position: absolute;    left: 14px;    height: 3px;    border-radius: 2px;  background-color: #666666;    width: 45%;  }.openbtn1 span:nth-of-type(1) {  top:15px; }.openbtn1 span:nth-of-type(2) {  top:23px;}.openbtn1 span:nth-of-type(3) {  top:31px;}.openbtn1.active span:nth-of-type(1) {    top: 18px;    left: 18px;    transform: translateY(6px) rotate(-45deg);    width: 30%;}.openbtn1.active span:nth-of-type(2) {  opacity: 0;}.openbtn1.active span:nth-of-type(3){    top: 30px;    left: 18px;    transform: translateY(-6px) rotate(45deg);    width: 30%;}/*--------------------------------------------------------------------------下層ページ--------------------------------------------------------------------------*/.h2_ttl{    padding: 16rem 0 ;    text-align: center;    color: #FFFFFF;    font-size: 6rem;    background: url("images/h2_ttl.png")no-repeat top center;    background-size: cover;    font-weight: 800;    line-height: 0.6;    letter-spacing: 0.06em;    margin-bottom: 8%;}.h2_ttl span{    font-size: 1.8rem;}.h3_ttl2{    text-align: center;    font-size: 4rem;    font-weight: 600;    margin-bottom: 6%;    line-height: 0.6;    position: relative;    padding-bottom: 3rem;}.h3_ttl2::before{    content: "";    position: absolute;    bottom: 0;    left: 50%;    transform: translateX(-50%);    height: 5px;    width: 10rem;    background: #DB0000;    border-radius: 5px;}.container{    max-width: calc(1200px + 6%);    margin: 0 auto;    padding: 3%;}#table01 {    width: 80%;    margin: 0 auto 3rem;    font-size: 1.8rem;}#table01 tr {    border-bottom: 1px solid #b5b1b1;}#table01 th {    width: 30%;    vertical-align: middle;}#table01 th, #table01 td {    padding: 24px 0;    border: none;}.name_ttl{    font-size: 2.8rem;    font-weight: 600;    padding-bottom: 2rem;    margin-bottom: 3rem;    border-bottom: 1px solid #333333;}.txt{    width: 48%;}.img{    width: 48%;}.txt p{    font-size: 1.6rem;    font-weight: 500;}/*--------------------------------------------------------------------------問い合わせフォーム--------------------------------------------------------------------------*/.box_con {    max-width: 900px;    margin: 0 auto;}@media only screen and (max-width: 768px) {    .box_con {        width: 95%;    }}.box_con form {    width: 100%;}.box_con form table {    width: 100%;    font-size: 1.8rem;    padding: 1rem;    margin-top: 5rem;}.box_con form table tr {    position: relative;}.box_con form table tr:after {    content: "";    position: absolute;    width: 100%;    left: 0;    bottom: 0;    height: 1px;    border-bottom: dotted #cdcdcd 1px;}.box_con form table tr th {    width: 30%;    font-weight: normal;    padding: 1em .5em;    -moz-box-sizing: border-box;    -webkit-box-sizing: border-box;    box-sizing: border-box;}@media only screen and (max-width: 768px) {    .box_con form table tr th {        text-align: center;        width: 100%;        display: block;        background: #97ae88;        padding: .8em .2em;        color: #fff;    }}.box_con form table tr th span {    background: #cd6f55;    padding: 0 .3em;    color: #fff;    margin-left: .5em;    -moz-box-sizing: border-box;    -webkit-box-sizing: border-box;    box-sizing: border-box;}.box_con form table tr td {    padding: 1em .5em;    -moz-box-sizing: border-box;    -webkit-box-sizing: border-box;    box-sizing: border-box;}@media only screen and (max-width: 768px) {    .box_con form table tr td {        padding: 1.5em .5em;        display: block;        width: 100%;    }}.box_con form table tr .box_br {    display: block;}.box_con form table tr select {    border: 1px solid #97ae88;}.box_con form table tr label input {    cursor: pointer;    display: none;    vertical-align: middle;}.box_con form table tr .radio02-input + label {    padding-left: 23px;    margin-right: 20px;    position: relative;}.box_con form table tr .radio02-input + label:before {    content: "";    display: block;    position: absolute;    top: 50%;    left: 0;    width: 16px;    height: 16px;    border: 1px solid #999;    border-radius: 50%;    -moz-transform: translateY(-50%);    -ms-transform: translateY(-50%);    -webkit-transform: translateY(-50%);    transform: translateY(-50%);}.box_con form table tr .radio02-input:checked + label:after {    content: "";    display: block;    position: absolute;    top: 50%;    left: 3px;    width: 12px;    height: 12px;    background: #97ae88;    border-radius: 50%;    -moz-transform: translateY(-50%);    -ms-transform: translateY(-50%);    -webkit-transform: translateY(-50%);    transform: translateY(-50%);}.box_con form table tr select, .box_con form table tr input, .box_con form table tr textarea {    width: 100%;    height: 3em;    padding: .5em;    -moz-box-sizing: border-box;    -webkit-box-sizing: border-box;    box-sizing: border-box;    background: #EEEEEE;}.box_con form table tr textarea {    height: 10em;}/*プライバシーのデザインcss↓*/.con_pri {    max-width: 700px;    margin: 0 auto;}@media only screen and (max-width: 768px) {    .con_pri {        width: 95%;    }}.con_pri .box_pri {    height: 300px;    overflow-y: scroll;    border: 1px solid #cdcdcd;    background: #f7f7f7;    -moz-box-sizing: border-box;    -webkit-box-sizing: border-box;    box-sizing: border-box;    margin-top: 20px;    padding: 20px 55px;}@media only screen and (max-width: 768px) {    .con_pri .box_pri {        margin-top: 4%;        padding: 3%;    }}@media only screen and (min-width: 769px) and (max-width: 1024px) {    .con_pri .box_pri {        padding: 4%;    }}.con_pri .box_pri .box_tori {    text-align: left;    margin-top: 40px;}@media only screen and (max-width: 768px) {    .con_pri .box_pri .box_tori {        margin-top: 4%;    }}.con_pri .box_pri .box_tori h4 {    font-weight: 600;    margin-bottom: 1rem;    font-size: 2rem;}@media only screen and (max-width: 768px) {    .con_pri .box_pri .box_tori h4 {        margin-bottom: 4%;    }}.con_pri .box_pri .box_tori .txt {    padding: 0 20px;    width: 100%;    font-size: 1.6rem;}@media only screen and (max-width: 768px) {    .con_pri .box_pri .box_tori .txt {        padding: 0;    }}.con_pri .box_pri .box_num {    margin-top: 30px;}@media only screen and (max-width: 768px) {    .con_pri .box_pri .box_num {        margin-top: 5%;    }}.con_pri .box_pri .box_num h4 {    font-size: 2rem;    font-weight: 600;}.con_pri .box_pri .box_num .txt {    padding: 10px 0 0 20px;}@media only screen and (max-width: 768px) {    .con_pri .box_pri .box_num .txt {        padding: 3% 0 0 3%;    }}.box_num ul li {    font-size: 1.8rem;    line-height: 1.7;    list-style: square outside none;    margin: 0 0 0 4rem;    padding: 0;}.box_check {    text-align: center;    margin: 1em auto;}.box_check label {    display: inline-block;}.box_check label span {    margin-left: .3em;    font-size: 1.8rem;}.btn {    text-align: center;}.btn input {    display: inline-block;    background: #ba0404;    padding: .5em 4em;    color: #FFFFFF;    text-decoration: none;    cursor: pointer;    border: none;    -moz-transition: all 0.4s;    -o-transition: all 0.4s;    -webkit-transition: all 0.4s;    transition: all 0.4s;    font-size: 1.6rem;}.btn input:hover {    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);    opacity: 0.7;}/*--------------------------------------------------------------------------PC--------------------------------------------------------------------------*/@media only screen and (min-width: 846px) {  .sp-only {    display: none !important;  }  .tab-only {    display: none !important;  }    .tab-sp-only    {        display: none!important;    }}/*--------------------------------------------------------------------------tablet--------------------------------------------------------------------------*/@media only screen and (min-width: 560px) and (max-width: 845px) {  .sp-only {    display: none !important;  }  .pc-only {    display: none !important;  }    #header{    position: fixed;    top: 0;    left: 0;    width: 100%;    z-index: 3;    height: 100px;    background: #FFFFFF;}.h_inner{    display: flex;    justify-content: space-between;    align-items: center;}.logo{    padding-left: 2rem;    width: 35%;}.hr{    display: flex;    justify-content: space-between;    align-items: center;}.gnav ul{    display: flex;    justify-content: space-between;    align-items: center;}.gnav li{    margin-right: 4vw;    padding-bottom: 0.5rem;    text-align: center;    font-size: 1.8rem;    font-weight: 600;}.gnav span{    color: #F80000;    font-weight: 800;    display: block;}    .h_btn    {        padding-right: 100px;    }main{    padding-top: 100px;}.mv{    position: relative;    margin-bottom: 6%;}.catch{    position: absolute;    top: 80%;    left: 50%;    width: 100%;    text-align: center;    color: #FFFFFF;    transform: translate(-50%,-50%);    font-size: 4rem;    font-weight: 600;    line-height: 1.6;}.greeting{    background: url("images/greeting_bg.jpg")no-repeat top center;    background-size: cover;    padding: 6% 0;}.greeting_box{    margin-left: auto;    padding: 5rem;    color: #FFFFFF;    max-width: 800px;    width: 50%;}.ttl{    font-size: 6rem;    line-height: 0.6;    font-weight: 800;    margin-bottom: 5rem;}.ja{    font-size: 1.6rem;}.sub_ttl{    font-size: 2.4rem;    margin-bottom: 5rem;    font-weight: 600;    line-height: 1.6;}.greeting_box p{    font-size: 1.6rem;    font-weight: 500;}.business{    padding: 8% 0;}.h3_ttl{    text-align: center;    font-size: 5rem;    font-weight: 800;    margin-bottom: 6%;    line-height: 0.6;    position: relative;    padding-bottom: 3rem;}.h3_ttl::before{    content: "";    position: absolute;    bottom: 0;    left: 50%;    transform: translateX(-50%);    height: 5px;    width: 10rem;    background: #DB0000;    border-radius: 5px;}.business_wrap{    position: relative;    height: 730px;}.business_txt{    position: absolute;    top: 0;    left: 0;    padding: 8% 10%;    background: url("images/business_bg.png") no-repeat top center;    background-size: cover;    z-index: 1;    width: 60%;    color: #FFFFFF;    height: 630px;}.business p{    font-size: 1.6rem;    line-height: 1.6;    font-weight: 500;    margin-bottom: 2rem;}.sub_ttl2{    font-size: 2.8rem;    margin-bottom: 5rem;    font-weight: 800;}.btn{    padding: 8% 0;}.btn a{    padding: 1.5rem 8rem 1.8rem 2rem;    position: relative;    font-weight: 600;    font-size: 1.6rem;    border: 1px solid #FFFFFF;}.btn a::before{    content: "";    top: 50%;    right: 0;    height: 1px;    width: 50px;    background: #FFFFFF;    position: absolute;    transform: translateY(-50%);}.business_img{    position: absolute;    top: 6vw;    right: 0;    width: 60%;    max-height: 630px;}.business_img img{    height: 630px;    object-fit: cover;    width: 100%;}.recruit{    padding: 6% 0;}.recruit_wrap{    max-width: calc(1240px + 6%);    margin: 0 auto;    padding: 3%;    color: #FFFFFF;    text-align: center;}.recruit_wrap .h3_ttl::before{    background: #FFFFFF;}.sub_ttl2{    font-size: 2.8rem;    font-weight: 800;    margin-bottom: 5%;}.recruit p{    font-size: 1.6rem;    font-weight: 500;    margin-bottom: 2rem;}.news{    background: #000000;    padding: 6% 0;}.news_wrap{    max-width: calc(700px + 6%);    margin: 0 auto;    padding: 3%;    color: #FFFFFF;    text-align: center;}.news_wrap .h3_ttl::before{    background: #FFFFFF;}.news_wrap ul{    font-size: 1.6rem;    font-weight: 500;}.news_wrap li{    padding-bottom: 1rem;    margin-bottom: 1rem;    border-bottom: 1px dashed #FFFFFF;}.news_wrap dl{    display: flex;    align-items: center;}.news_wrap dt{    margin-right: 3rem;}.contact{    padding: 6% 0;    background: url("images/contact_bg.jpg")no-repeat top center;    background-size: cover;}.contact_wrap{    max-width: calc(800px + 6%);    margin: 0 auto;    padding: 3%;    color: #FFFFFF;    text-align: center;}.contact_wrap p{    font-size: 1.6rem;    font-weight: 500;    margin-bottom: 5rem;}.flex{    display: flex;    justify-content: space-between;}.f_btn{    width: 48%;}.f_btn a{    padding: 2rem;    text-align: center;    border: 1px solid #FFFFFF;    font-size: 1.6rem;    font-weight: 500;    display: grid;    height: 112px;    align-items: center;}.f_btn span{    font-size: 2.8rem;    font-weight: 800;    display: block;    position: relative;}.f_btn span::before{    content: "";    position: absolute;    top: 50%;    left: 15%;    background: url("images/Icon-phone.png")no-repeat top center;    background-size: cover;    width: 20px;    height: 20px;    transform: translateY(-50%);}.f_btn2{    width: 48%;}.f_btn2 a{    padding: 2rem;    text-align: center;    border: 1px solid #FFFFFF;    font-size: 1.6rem;    font-weight: 500;    display: grid;    align-items: center;    height: 112px;}.f_btn2 span{    font-weight: 800;    display: block;    position: relative;}.f_btn2 span::before{    content: "";    position: absolute;    top: 50%;    left: 15%;    background: url("images/Icon-mail.png")no-repeat top center;    background-size: cover;    width: 26px;    height: 20px;    transform: translateY(-50%);}.f_nav{    padding: 6% 0;}.f_wrap{    max-width: calc(800px + 6%);    margin: 0 auto;    padding: 3%;    text-align: center;}.f_logo{    margin-bottom: 3rem;}.f_tel{    margin-bottom: 3rem;}.f_ad{    margin-bottom: 5rem;    font-size: 1.6rem;    font-weight: 500;}.copy{    background: #BA0404;    text-align: center;    color: #FFFFFF;    font-size: 1.6rem;    padding: 1rem;}/*--------------------------------------------------------------------------下層ページ--------------------------------------------------------------------------*/.h2_ttl{    padding: 16rem 0 ;    text-align: center;    color: #FFFFFF;    font-size: 5rem;    background: url("images/h2_ttl.png")no-repeat top center;    background-size: cover;    font-weight: 800;    line-height: 0.6;    letter-spacing: 0.06em;    margin-bottom: 8%;}.h2_ttl span{    font-size: 1.8rem;}.h3_ttl2{    text-align: center;    font-size: 3rem;    font-weight: 600;    margin-bottom: 6%;    line-height: 0.6;    position: relative;    padding-bottom: 3rem;}.h3_ttl2::before{    content: "";    position: absolute;    bottom: 0;    left: 50%;    transform: translateX(-50%);    height: 5px;    width: 10rem;    background: #DB0000;    border-radius: 5px;}.container{    max-width: calc(1200px + 6%);    margin: 0 auto;    padding: 3%;}#table01 {    width: 80%;    margin: 0 auto 3rem;    font-size: 1.8rem;}#table01 tr {    border-bottom: 1px solid #b5b1b1;}#table01 th {    width: 30%;    vertical-align: middle;}#table01 th, #table01 td {    padding: 24px 0;    border: none;}.name_ttl{    font-size: 2.8rem;    font-weight: 600;    padding-bottom: 2rem;    margin-bottom: 3rem;    border-bottom: 1px solid #333333;}.txt{    width: 48%;}.img{    width: 48%;}.txt p{    font-size: 1.6rem;    font-weight: 500;}}/*--------------------------------------------------------------------------sp--------------------------------------------------------------------------*/@media screen and (max-width: 559px) {    .pc-only {    display: none !important;  }  .pc-tab-only {    display: none !important;  }   .tab-only {    display: none !important;  }     #header{    position: fixed;    top: 0;    left: 0;    width: 100%;    z-index: 3;    height: 70px;    background: #FFFFFF;}.h_inner{    display: flex;    justify-content: space-between;    align-items: center;}.logo{    padding-left: 2rem;    width: 46%;}.hr{    display: flex;    justify-content: space-between;    align-items: center;}.gnav ul{    display: flex;    justify-content: space-between;    align-items: center;}.gnav li{    margin-right: 4vw;    padding-bottom: 0.5rem;    text-align: center;    font-size: 1.8rem;    font-weight: 600;}.gnav span{    color: #F80000;    font-weight: 800;    display: block;}    .h_btn    {        padding-right: 70px;    }    .h_btn img    {        height: 70px;    }main{    padding-top: 70px;}.mv{    position: relative;    margin-bottom: 6%;    height: 40vh;}    .mv img    {        height: 40vh;        object-fit: cover;        object-position: center;    }.catch{    position: absolute;    top: 80%;    left: 50%;    width: 100%;    text-align: center;    color: #FFFFFF;    transform: translate(-50%,-50%);    font-size: 2.4rem;    font-weight: 600;    line-height: 1.6;}.greeting{    background: url("images/greeting_bg.jpg")no-repeat top center;    background-size: cover;    padding: 6% 0;}.greeting_box{    margin-left: auto;    padding: 2rem;    color: #FFFFFF;    max-width: 800px;    width: 100%;}.ttl{    font-size: 5rem;    line-height: 0.6;    font-weight: 800;    margin-bottom: 5rem;}.ja{    font-size: 1.6rem;}.sub_ttl{    font-size: 2.4rem;    margin-bottom: 5rem;    font-weight: 600;    line-height: 1.6;}.greeting_box p{    font-size: 1.6rem;    font-weight: 500;}.business{    padding: 8% 0;}.h3_ttl{    text-align: center;    font-size: 4rem;    font-weight: 800;    margin-bottom: 6%;    line-height: 0.6;    position: relative;    padding-bottom: 3rem;}.h3_ttl::before{    content: "";    position: absolute;    bottom: 0;    left: 50%;    transform: translateX(-50%);    height: 5px;    width: 10rem;    background: #DB0000;    border-radius: 5px;}.business_wrap{    position: relative;    height: 730px;}.business_txt{    position: absolute;    top: 0;    left: 0;    padding: 8% 6%;    background: url("images/business_bg.png") no-repeat top center;    background-size: cover;    z-index: 1;    width: 100%;    color: #FFFFFF;    height: auto;}.business p{    font-size: 1.6rem;    line-height: 1.6;    font-weight: 500;    margin-bottom: 2rem;}.sub_ttl2{    font-size: 2.8rem;    margin-bottom: 5rem;    font-weight: 800;}.btn{    padding: 8% 0;}.btn a{    padding: 1.5rem 8rem 1.8rem 2rem;    position: relative;    font-weight: 600;    font-size: 1.6rem;    border: 1px solid #FFFFFF;}.btn a::before{    content: "";    top: 50%;    right: 0;    height: 1px;    width: 50px;    background: #FFFFFF;    position: absolute;    transform: translateY(-50%);}.business_img{    position: absolute;    top: 32vw;    right: 0;    width: 100%;    max-height: 630px;}.business_img img{    height: 630px;    object-fit: cover;    width: 100%;}.recruit{    padding: 6% 0;}.recruit_wrap{    max-width: calc(1240px + 6%);    margin: 0 auto;    padding: 3%;    text-align: center;}.recruit_wrap .h3_ttl::before{    background: #FFFFFF;}.sub_ttl2{    font-size: 2.2rem;    font-weight: 800;    margin-bottom: 5%;}.recruit p{    font-size: 1.6rem;    font-weight: 500;    margin-bottom: 2rem;}.news{    background: #000000;    padding: 6% 0;}.news_wrap{    max-width: calc(700px + 6%);    margin: 0 auto;    padding: 3%;    color: #FFFFFF;    text-align: center;}.news_wrap .h3_ttl::before{    background: #FFFFFF;}.news_wrap ul{    font-size: 1.6rem;    font-weight: 500;}.news_wrap li{    padding-bottom: 1rem;    margin-bottom: 1rem;    border-bottom: 1px dashed #FFFFFF;}.news_wrap dl{    display: flex;    align-items: flex-start;    flex-direction: column;}.news_wrap dt{    margin-right: 3rem;}.contact{    padding: 6% 0;    background: url("images/contact_bg.jpg")no-repeat top center;    background-size: cover;}.contact_wrap{    max-width: calc(800px + 6%);    margin: 0 auto;    padding: 3%;    color: #FFFFFF;    text-align: center;}.contact_wrap p{    font-size: 1.6rem;    font-weight: 500;    margin-bottom: 5rem;}.flex{    display: flex;    justify-content: space-between;    flex-wrap: wrap;}    .contact .flex    {        flex-wrap: wrap;    }.f_btn{    width: 100%;    margin-bottom: 3rem;}.f_btn a{    padding: 2rem;    text-align: center;    border: 1px solid #FFFFFF;    font-size: 1.6rem;    font-weight: 500;    display: grid;    height: 112px;    align-items: center;}.f_btn span{    font-size: 2.8rem;    font-weight: 800;    display: block;    position: relative;}.f_btn span::before{    content: "";    position: absolute;    top: 50%;    left: 15%;    background: url("images/Icon-phone.png")no-repeat top center;    background-size: cover;    width: 20px;    height: 20px;    transform: translateY(-50%);}.f_btn2{    width: 100%;}.f_btn2 a{    padding: 2rem;    text-align: center;    border: 1px solid #FFFFFF;    font-size: 1.6rem;    font-weight: 500;    display: grid;    align-items: center;    height: 112px;}.f_btn2 span{    font-weight: 800;    display: block;    position: relative;}.f_btn2 span::before{    content: "";    position: absolute;    top: 50%;    left: 15%;    background: url("images/Icon-mail.png")no-repeat top center;    background-size: cover;    width: 26px;    height: 20px;    transform: translateY(-50%);}.f_nav{    padding: 6% 0;}.f_wrap{    max-width: calc(800px + 6%);    margin: 0 auto;    padding: 3%;    text-align: center;}.f_logo{    margin-bottom: 3rem;}.f_tel{    margin-bottom: 3rem;}.f_ad{    margin-bottom: 5rem;    font-size: 1.6rem;    font-weight: 500;}.copy{    background: #BA0404;    text-align: center;    color: #FFFFFF;    font-size: 1.6rem;    padding: 1rem;}    .openbtn1 {  position: fixed;  top: 10px;  right: 10px;  z-index: 9999;  cursor: pointer;  width: 50px;  height: 50px;}/*--------------------------------------------------------------------------下層ページ--------------------------------------------------------------------------*/.h2_ttl{    padding: 12rem 0 ;    text-align: center;    color: #FFFFFF;    font-size: 3rem;    background: url("images/h2_ttl.png")no-repeat top center;    background-size: cover;    font-weight: 800;    line-height: 0.6;    letter-spacing: 0.06em;    margin-bottom: 8%;}.h2_ttl span{    font-size: 1.8rem;}.h3_ttl2{    text-align: center;    font-size: 2.4rem;    font-weight: 600;    margin-bottom: 6%;    line-height: 1;    position: relative;    padding-bottom: 3rem;}.h3_ttl2::before{    content: "";    position: absolute;    bottom: 0;    left: 50%;    transform: translateX(-50%);    height: 5px;    width: 10rem;    background: #DB0000;    border-radius: 5px;}.container{    max-width: calc(1200px + 6%);    margin: 0 auto;    padding: 6% 3%;}#table01 {    width: 90%;    margin: 0 auto 3rem;    font-size: 1.8rem;}#table01 tr {    border-bottom: 1px solid #b5b1b1;    display: flex;    flex-direction: column;    margin-bottom: 2rem;}#table01 th {    width: 30%;    vertical-align: middle;}#table01 th, #table01 td {    padding: 10px 0;    border: none;    width: 100%;}    #table01 td    {        margin-bottom: 1rem;    }.name_ttl{    font-size: 2rem;    font-weight: 600;    padding-bottom: 1rem;    margin-bottom: 1rem;    border-bottom: 1px solid #333333;}.txt{    width: 100%;    margin-bottom: 1rem;}.img{    width: 100%;}.txt p{    font-size: 1.6rem;    font-weight: 500;}}