 /*-----------共通-----------*/

 html {
     font-size: 62.5%;
 }

 html {
     scroll-behavior: smooth;
 }


 .wrapper {
     width: 1200px;
     margin: 0 auto;
     max-width: 80%;
 }

 header {
     display: flex;
     align-items: center;
     justify-content: center;
     text-align: center;
     flex-direction: column;
     padding: 2rem;
 }

 .nav {
     width: 400px;
     margin-top: 2rem;
 }

 .nav_list {
     display: flex;
     justify-content: space-between;
     align-items: center;
 }

 .nav_list li {
     font-size: 1.8rem;
 }

 .nav_list li a {
     text-decoration: none;
     color: #000;
 }



 /* 全体設定 */
 .css-carousel-slider3 {
     width: 100%;
     height: 584px;
     overflow: hidden;
     position: relative;
 }

 .css-carousel-slider3 img {
     width: 100%;
     height: 584px;
     vertical-align: top;
     object-fit: cover;
 }

 /* スライド設定 */
 .css-carousel-slider3 .slide-wrap {
     width: 300%;
     position: absolute;
     display: flex;
     top: 0;
     left: 0;
     z-index: 0;
     animation: css-carousel-slider3 15s infinite;
     animation-delay: 2s;
 }

 .css-carousel-slider3 .slide-wrap-main {
     width: 100%;
     z-index: 1;
     animation: css-carousel-slider-main3 15s infinite;
     animation-delay: 2s;
 }

 .css-carousel-slider3 .slide {
     width: 100%;
 }

 /* スライダーアニメーションの設定 */
 @keyframes css-carousel-slider3 {
     0% {
         transform: translateX(0);
     }

     27.3% {
         transform: translateX(calc(1 / 3 * -100%));
     }

     33.3% {
         transform: translateX(calc(1 / 3 * -100%));
     }

     60.6% {
         transform: translateX(calc(2 / 3 * -100%));
     }

     66.6% {
         transform: translateX(calc(2 / 3 * -100%));
     }

     94% {
         transform: translateX(calc(3 / 3 * -100%));
     }

     100% {
         transform: translateX(calc(3 / 3 * -100%));
     }
 }

 @keyframes css-carousel-slider-main3 {
     0% {
         transform: translateX(100%);
     }

     66.6% {
         transform: translateX(100%);
     }

     94% {
         transform: translateX(0%);
     }
 }

 .slider-txt {
     position: absolute;
     height: 584px;
     width: 100%;
     display: flex;
     justify-content: center;
     align-items: center;
     z-index: 2;
 }

 .slider-txt img {
     width: 784px;
     height: auto;
 }

 .newsbox {
     background-color: #FCF1E4;
     height: 273px;
 }

 .newsbox_inner {
     height: 273px;
     background-image: url(../images/newsbox.png);
     background-repeat: no-repeat;
     background-position: right bottom 45%;
     display: flex;
     align-items: center;
     flex-direction: column;
     padding-top: 4rem;
     box-sizing: border-box;
 }

 .min_head {
     font-family: "Noto Serif JP", serif;
     font-weight: 600;
     font-size: 3.6rem;
     text-align: center;
     margin-bottom: 2rem;
 }

 .newstxtbox {
     width: 40%;
 }

 .newstxt {
     display: flex;
     font-size: 1.8rem;
     line-height: 4rem;
 }



 .newstxt p:first-child {
     margin-right: 2rem;
     min-width: 100px;

 }

 .commitment {
     margin: 8rem 0;
 }

 .flexbox {
     display: flex;
     justify-content: space-between;
     align-items: center;
     align-self: flex-start;
 }

 .flexboxc {
     display: flex;
     justify-content: space-between;
     align-items: center;
     align-self: center;
 }

 .busi_menu {
     align-items: unset;
 }

 .commitmentbox {
     width: calc(92% / 3);
     display: flex;
     justify-content: space-between;
     align-items: center;
     align-self: flex-start;
     flex-wrap: wrap;
     margin-bottom: 8rem;
 }

 .commitmentbox img {
     width: 100%;
 }

 .min_mini_head {
     font-family: "Noto Serif JP", serif;
     font-weight: 600;
     font-size: 2.4rem;
     height: 100px;
     line-height: 3rem;
     display: flex;
     align-items: center;
     text-align: justify;
 }

 .commitmentbox p {
     font-size: 1.8rem;
     text-align: justify;
     line-height: 2.4rem;
 }

 .parallax-bg {
     height: 340px;
     background-image: url('../images/niku.png');
     background-attachment: fixed;
     background-position: center;
     background-size: cover;
     background-repeat: no-repeat;
 }

 .graywrap {
     background-color: #D8D8D8;
     padding: 8rem 0;
 }

 .navibox {
     width: calc(92% / 3);
     background-color: #fff;
     flex-direction: column;
     display: flex;
     -webkit-filter: drop-shadow(0px 3px 10px rgba(0, 0, 0, .2));
     filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, .2));
 }

 .navibox img {
     width: 100%;
 }

 .min_mini_navihead {
     font-family: "Noto Serif JP", serif;
     font-weight: 600;
     font-size: 2.4rem;
     height: 40px;
     line-height: 3rem;
     display: flex;
     margin: 3rem 0 0 0;
     justify-content: center;
 }

 .naviboxtxt {
     font-size: 1.8rem;
     text-align: justify;
     line-height: 2.4rem;
     min-height: 80px;
 }

 .btn {
     font-size: 1.4rem;
     /* display: inline-block; */
     /* border: 1px solid; */
     height: 2rem;
     position: relative;
     background: #fff;
     color: #000;
     border: 2px solid #000;
     padding: 0.5rem 5rem 0rem 2rem;
     transition: all 0.3s;
     display: block;
     width: 60px;
     cursor: pointer;
 }


 .btnlink {
     text-decoration: none;
     color: black;
     display: block;
     margin: 0 auto;
     height: 3rem;

 }

 .btn:after {
     content: "";
     position: absolute;
     display: block;
     transition: all 0.3s;
     width: 7px;
     height: 18px;
     top: 50%;
     right: 2.5rem;
     box-shadow: 2px -2px 0 #fff;
     border-top: solid 2px #000;
     border-right: solid 2px #000;
     transform: translateY(-50%) rotate(45deg) skewX(-45deg);
 }

 .btn:hover:after {
     right: 5px;
     height: 40px;
 }

 .busitopbox {
     margin-bottom: 3rem;
 }

 .navibox_underwrap {
     padding: 2rem;
     display: flex;
     flex-wrap: wrap;
     height: 100%;
     align-content: space-between;
 }


 .footer {
     background-color: #FCF1E4;
     padding-bottom: 2rem;
 }

 .footerwrap {
     padding: 6rem;
     display: flex;
     justify-content: space-between;
     align-items: flex-end;
     max-width: 80%;
 }

 .address {
     font-size: 1.8rem;
     margin-top: 2rem;
     margin-left: 10rem;
     line-height: 2.6rem;
 }

 .footer_nav {
     display: flex;
     font-size: 1.8rem;
 }

 .footer_nav li {
     margin-left: 2rem;
 }

 .footer_nav li a {
     text-decoration: none;
     color: #000;
 }

 .copy {
     text-align: center;
     font-size: 1.8rem;
 }



 /*-----------会社概要-----------*/

 .company_title {
     background-image: url(../images/company.png);
     background-size: cover;
     height: 200px;
     width: 100%;
 }

 .min_title {
     font-family: "Noto Serif JP", serif;
     font-weight: 600;
     font-size: 3.6rem;
     color: #fff;
     line-height: 200px;
     -webkit-filter: drop-shadow(0px 3px 10px rgba(0, 0, 0, .2));
     filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, .2));
 }

 .philosophy {
     width: 830px;
     margin: 0 auto;
     text-align: center;
     font-size: 2.4rem;
     line-height: 4rem;
 }

 .philosophy_wrap {
     margin: 6rem auto;
 }

 .ceo {
     margin: 2rem auto;
 }

 .principles_wrap {
     background-color: #FCF1E4;
     padding: 4rem;
     margin: 8rem auto;
     box-sizing: border-box;
 }

 .jpn {
     font-size: 1.8rem;
     font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
 }

 .company_head {
     display: flex;
     justify-content: space-between;
     align-items: baseline;
     padding-bottom: 1rem;
     margin-bottom: 1rem;
     border-bottom: 1px solid #707070;
     font-size: 3.4rem;
     width: 100%;
     font-family: "Noto Serif JP", serif;
     font-weight: 600;
 }

 .cp_list {
     font-size: 2.4rem;
     line-height: 3rem;
     padding-left: 1.4em;
     text-indent: -1.4em;
     margin-bottom: 2rem;
 }

 .cp_list:last-child {
     margin-bottom: 0rem;
 }

 .caution {
     font-size: 1.6rem;
     line-height: 2rem;
     padding-left: 0em;
     text-indent: 0em;
 }

 .kaisha {
     max-width: 50%;
 }

 .kaisha th,
 .kaisha td {
     padding: 0 0 2rem 0;
     text-align: left;
     font-size: 2.4rem;
 }

 .kaisha td {
     line-height: 4rem;

 }


 .kaisha th {
     width: 28%;

 }

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

     .kaisha,
     .kaisha tr,
     .kaisha td,
     .kaisha th {
         display: block;
     }

     .kaisha th {
         width: auto;
     }
 }

 .kaishawrap {
     display: flex;
     justify-content: space-between;
     margin-bottom: 8rem;
 }

 .top_kaishabox {
     margin-top: 4rem;
     margin-bottom: 8rem;
 }

 .history {
     margin: 4rem 0 8rem 0;
 }

 .history th,
 .history td {
     padding: 0 0 1rem 0;
     text-align: left;
     font-size: 1.8rem;
 }

 .history td {
     line-height: 4rem;

 }


 .history th {
     width: 20%;

 }

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

     .history,
     .history tr,
     .history td,
     .history th {
         display: block;
     }

     .history th {
         width: auto;
     }
 }

 /*-----------事業案内-----------*/

 .business_title {
     background-image: url(../images/business.png);
     background-size: cover;
     width: 100%;
 }

 .business_txt {
     margin: 0 auto;
     font-size: 2.4rem;
     line-height: 4rem;
     text-align: justify;
 }

 .busibox {
     width: calc(92% / 2);
     background-color: #FCF1E4;
     flex-direction: column;
     display: flex;
 }

 .busibox img {
     width: 100%;
 }



 .busiboxtxt {
     font-size: 1.8rem;
     text-align: justify;
     line-height: 2.4rem;
     min-height: 140px;
 }

 .busibox_underwrap {
     padding: 2rem;
     display: flex;
     flex-wrap: wrap;
     align-content: space-between;
     height: 100%;
 }

 .busibox h4 {
     font-family: "Noto Serif JP", serif;
     font-weight: 600;
     font-size: 2rem;
     line-height: 2rem;
     display: flex;
     margin: 0 0 2rem 0;
     justify-content: center;

 }

 .business_list_wrap {
     margin-bottom: 8rem;
 }

 .business_head {
     margin-bottom: 4rem;
     margin-top: 8rem;
     font-size: 3.4rem;
     font-family: "Noto Serif JP", serif;
     font-weight: 600;
 }

 .busi_head {
     font-size: 2.5rem;
     padding: 1rem;
     background-color: #FCF1E4;
     text-align: center;
     font-family: "Noto Serif JP", serif;
     font-weight: 600;
 }

 .busi_list {
     display: flex;
     justify-content: space-between;
     font-size: 1.7rem;
     border-bottom: 1px solid #707070;
     padding: 1rem 0;
 }

 .busi_list p {
     display: flex;
     align-items: center;
     line-height: 3rem;
 }

 .busi_name {
     width: 35%;
 }

 .busi_address {
     width: 55%;
 }

 .busi_num {
     width: 16%;
 }

 .busi_map a {
     color: royalblue;
 }

 .business_list_miniwrap {
     margin-bottom: 6rem;
 }


 /*-----------採用情報-----------*/

 .recruit_title {
     background-image: url(../images/recruit.png);
     background-size: cover;
     height: 200px;
     width: 100%;
 }

 .recwrapper {
     text-align: center;
 }

 .rec_wrap_title {
     font-size: 3.6rem;
     margin-bottom: 2rem;
     font-family: "Noto Serif JP", serif;
     font-weight: 600;
 }

 .rec_wrap_txt {
     font-size: 2.4rem;
     line-height: 3.6rem;
 }

 .rec_wrap_url {
     font-size: 1.6rem;
     color: #2044DB;
     text-decoration: none;
     margin-top: 2rem;
 }

 .rec_wrap_url a {
     text-decoration: none;
 }

 .sp {
     display: none;
 }

 /* トップへ戻るボタン */
 .page_top_btn {
     position: fixed;
     bottom: 10px;
     right: 10px;
     font-weight: bold;
     padding: 0.7em;
     text-align: center;
     background: #19AC67;
     color: #fff;
     transition: 0.3s 0;
 }

 /* マウスオーバー時 */
 .page_top_btn:hover {
     background: rgb(25, 172, 103, 0.8);
     color: rgb(255, 255, 255, 0.8);
 }

 @media screen and (max-width: 767px) {
     .pc {
         display: none !important;
     }

     .sp {
         display: block;
     }

     h1 img {
         width: 60%;

     }


     #nav-drawer {
         position: absolute;
         right: 30px;
     }

     /*チェックボックス等は非表示に*/
     .nav-unshown {
         display: none;
     }

     /*アイコンのスペース*/
     #nav-open {
         display: inline-block;
         width: 30px;
         height: 22px;
         vertical-align: middle;
     }

     /*ハンバーガーの形をCSSで表現*/
     #nav-open span,
     #nav-open span:before,
     #nav-open span:after {
         position: absolute;
         height: 3px;
         /*線の太さ*/
         width: 25px;
         /*長さ*/
         border-radius: 3px;
         background: #555;
         display: block;
         content: '';
         cursor: pointer;
     }

     #nav-open span:before {
         bottom: -8px;
     }

     #nav-open span:after {
         bottom: -16px;
     }

     /*閉じる用の薄黒箇所*/
     #nav-close {
         display: none;
         position: fixed;
         z-index: 99;
         top: 0;
         left: 0;
         width: 100%;
         height: 100%;
         background: black;
         opacity: 0;
         transition: .3s ease-in-out;
     }

     /*メニューの中身*/
     #nav-content {
         overflow: auto;
         position: fixed;
         top: 0;
         right: 0;
         z-index: 9999;
         width: 90%;
         max-width: 330px;
         /*最大幅（お好みで調整を）*/
         height: 100%;
         background: #fff;
         transition: .3s ease-in-out;
         -webkit-transform: translateX(105%);
         transform: translateX(130%);
     }

     /*チェックがついたら表示させる*/
     #nav-input:checked~#nav-close {
         display: block;
         opacity: .5;
     }

     #nav-input:checked~#nav-content {
         -webkit-transform: translateX(0%);
         transform: translateX(0%);
         box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
     }

     .header-logo-menu {
         display: flex;
         display: -moz-flex;
         display: -o-flex;
         display: -webkit-flex;
         display: -ms-flex;
         flex-direction: row;
         -moz-flex-direction: row;
         -o-flex-direction: row;
         -webkit-flex-direction: row;
         -ms-flex-direction: row;
     }


     .wrapper {
         max-width: 90%;
         overflow: hidden;
         box-sizing: border-box;

     }

     header {
         text-align: left;
         align-items: flex-start;
         padding: 2rem 0px;
     }

     .css-carousel-slider3 {
         width: 100%;
         height: 520px;
     }

     .newstxtbox {
         width: 100%;
     }

     .newsbox {
         background-image: url(../images/newsbox.png);
         background-size: 200px;
         background-repeat: no-repeat;
         background-position: right -35% top -25%;
         display: flex;
         align-items: center;
         flex-direction: column;
     }

     .newsbox_inner {
         background-image: none;

     }

     .flexbox {
         display: block;
     }

     .commitmentbox,
     .navibox {
         width: 100%;
     }

     .min_head {
         font-size: 3rem;
         white-space: nowrap;
     }

     .commitment {
         margin: 6rem 0 3rem 0;
     }

     .navibox {
         margin-bottom: 8rem;
     }

     .navibox:last-child {
         margin-bottom: 0rem;
     }

     .footerwrap {
         display: block;
         padding: 2rem 0;
     }

     .address {
         margin: 0;
         font-size: 1.6rem;
     }

     .copy {
         font-size: 1rem;
     }

     .flogo {
         margin: 0 auto 1rem auto;
         width: 60%;
         display: block;
     }

     .nav_list {
         align-items: flex-start;
         flex-flow: column;
         padding: 3rem;
     }

     .nav_list li {
         margin-bottom: 2rem;
         padding-bottom: 2rem;
         border-bottom: 1px solid #777;
         display: block;
         width: 100%;
     }

     .philosophy {
         width: 100%;
         font-size: 1.8rem;
         text-align: left;
     }

     .min_head {
         font-size: 2.8rem;
     }

     .jpn {
         margin-top: 1rem;
     }

     .company_head {
         flex-flow: column;
         white-space: nowrap;
         margin-bottom: 2rem;
     }

     .cp_list {
         text-align: justify;
     }

     .kaisha {
         max-width: 100%;
     }

     .kaisha th {
         color: #2044DB;
     }

     .kaishawrap {
         display: block;
         width: 100%;
     }

     .kaisha th,
     .kaisha td {
         font-size: 2rem;
     }

     .history th,
     .history td {
         font-size: 1.6rem;
     }

     .company_title {
         height: 270px;
         background-image: url(../images/company_sp.png);
         background-size: cover;
         width: 100%;
     }

     .min_title {
         display: flex;
         align-items: center;
         justify-content: center;
         align-content: center;
         line-height: normal;
         height: 270px;
     }

     .slider-txt img {
         width: 100%;
     }

     .business_title {
         height: 270px;
         background-image: url(../images/business_sp.png);
         background-size: cover;
         width: 100%;
     }

     .business_txt {
         font-size: 1.8rem;
     }

     .busibox {
         width: 100%;
     }

     .busi_list {
         display: block;
     }

     .busi_name,
     .busi_address,
     .busi_num,
     .busi_map {
         width: 100%;
         margin-bottom: 0.8rem;
     }

     .busi_list p {
         line-height: 2rem;

     }

     .rec_wrap_txt {
         text-align: justify;
     }

     .recruit_title {
         height: 270px;
         background-image: url(../images/recruit_sp.png);
         background-size: cover;
         width: 100%;
     }

     .busibox {
         margin-bottom: 4rem;
     }

     .parallax-bg {
         background-attachment: unset;
     }

     .min_mini_navihead {
         white-space: nowrap;
     }
 }