@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: "Noto Sans JP", 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: .06em;}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%;}/*-----------------------------------------------------------------ハンバーガーメニュー-----------------------------------------------------------------*/#g-nav {  /*position:fixed;にし、z-indexの数値を大きくして前面へ*/  position: fixed;  z-index: 999;  /*ナビのスタート位置と形状*/  top: 0;  right: -120%;  width: 100%;  height: 100vh; /*ナビの高さ*/  background: #FFF022;  /*動き*/  transition: all 0.6s;}/*アクティブクラスがついたら位置を0に*/#g-nav.panelactive {  right: 0;}/*ナビゲーションの縦スクロール*/#g-nav.panelactive #g-nav-list {  /*ナビの数が増えた場合縦スクロール*/  position: fixed;  z-index: 999;  width: 100%;  height: 100vh; /*表示する高さ*/  overflow: auto;  -webkit-overflow-scrolling: touch;}/*ナビゲーション*/#g-nav ul {  /*ナビゲーション天地中央揃え*/  position: absolute;  z-index: 999;  top: 50%;  left: 50%;  transform: translate(-50%, -50%);}/*リストのレイアウト設定*/#g-nav li {  list-style: none;  text-align: center;}#g-nav li a {  color: #333333;  text-decoration: none;  padding: 10px;  display: block;  text-transform: uppercase;  letter-spacing: 0.1em;  font-weight: bold;  font-size: 1.6rem;}.en {  font-family: "Roboto", sans-serif;}/*========= ボタンのためのCSS ===============*/.openbtn1 {  position: fixed;  z-index: 9999; /*ボタンを最前面に*/  top: 29px;  right: 23px;  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: #666;  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%;}/*--------------------------------------------------------------------------*/header {  position: fixed;  padding: 2rem 1.5rem;  top: 0;  left: 0;  width: 100%;  z-index: 99;}.header_inner {  background: #FFFFFF;  display: flex;  justify-content: space-between;  align-items: center;  box-shadow: 0px 5px 15px -5px #777777;}.logo {  margin-left: 1rem;  padding: 1rem;  max-width: 30%;}.hr {  display: flex;}.head_nav {  display: flex;  flex-direction: column;  padding: 1rem;  gap: 1rem;  justify-content: center;}.h_tel {  text-align: right;}.h_tel a {  font-size: max(1.6vw, 2rem);  position: relative;  padding-left: 3rem;  font-weight: 600;}.h_tel a::before {  content: "";  background: url("images/tel_icon.png")no-repeat center / contain;  position: absolute;  left: 0;  top: 50%;  transform: translateY(-50%);  width: 22px;  height: 22px;}.gnav ul {  display: flex;  justify-content: space-between;  gap: 2vw;}.gnav ul li {  text-align: center;  font-size: max(0.9vw, 1.6rem);  line-height: 1;}.gnav ul li span {  display: block;  font-size: max(0.8vw, 1.4rem);  color: #9BD5E5;}.h_contact {  background: #FFFFFF;  padding: 2.5rem;  position: relative;  z-index: 1;  display: inline-block;}.h_contact::after {  content: "";  position: absolute;  top: 0;  right: 0;  bottom: 0;  left: 0;  z-index: -1;  background: #F3E95C;  transform: scaleY(1.27) perspective(3.6em) rotateX(5deg);  transform-origin: bottom right;}.h_contact a {  display: flex;  flex-direction: column;  justify-content: center;  align-items: center;  gap: 1rem;  font-size: max(0.9vw, 1.6rem);  text-align: center;  line-height: 1.6;  font-weight: 600;}.h_contact a span {  font-size: max(0.8vw, 1.4rem);  display: block;}.mv {  height: 48vw;  position: relative;}/*==================================================スライダーのためのcss===================================*/.slider {  position:relative;	z-index: 0;	/*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/	height: 48vw;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/}/*　背景画像設定　*/.slider-item01 {    background:url("images/mv01.png");}.slider-item02 {    background:url("images/mv02.png");}.slider-item {    width: 100%;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/    height:48vw;/*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/    background-repeat: no-repeat;/*背景画像をリピートしない*/    background-position: center;/*背景画像の位置を中央に*/    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/}/*矢印の設定*/.slick-prev, .slick-next {    display: none!important;    position: absolute;	z-index: 3;    top: 42%;    cursor: pointer;/*マウスカーソルを指マークに*/    outline: none;/*クリックをしたら出てくる枠線を消す*/    border-top: 2px solid #fff;/*矢印の色*/    border-right: 2px solid #fff;/*矢印の色*/    height: 25px;    width: 25px;}.slick-prev {/*戻る矢印の位置と形状*/    left:2.5%;    transform: rotate(-135deg);}.slick-next {/*次へ矢印の位置と形状*/    right:2.5%;    transform: rotate(45deg);}/*ドットナビゲーションの設定*/.slick-dots {    display: none!important;	position: relative;	z-index: 3;    text-align:center;	margin:-50px 0 0 0;/*ドットの位置*/}.slick-dots li {    display:inline-block;	margin:0 5px;}.slick-dots button {    color: transparent;    outline: none;    width:8px;/*ドットボタンのサイズ*/    height:8px;/*ドットボタンのサイズ*/    display:block;    border-radius:50%;    background:#fff;/*ドットボタンの色*/}.slick-dots .slick-active button{    background:#333;/*ドットボタンの現在地表示の色*/}.catch {  position: absolute;  left: 10vw;  bottom: 10vw;  font-size: max(3vw, 3rem);  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.6);  color: #FFFFFF;  font-weight: 800;  background: url("images/logomark.png") no-repeat center / contain;  background-position: right bottom;}.catch span {  font-size: max(2vw, 2rem);  text-shadow: none;}.recruit{    position: relative;}.recruit_img {  position: relative;}.image {  position: relative;    display: inline-block;}.image::before {  content: "";  background: repeating-linear-gradient(45deg, #00AAD9, #00AAD9 3px, rgba(0,0,0,0.00) 0, rgba(0,0,0,0.00) 6px);  position: absolute;  bottom: -20px;  right: -20px;  width: 100%;  height: 100%;    z-index: -1;}.recruit{    padding: 3% 0;    margin-bottom: 8%;}.recruit_txt{    position: absolute;    right: 0;    bottom: 0;    padding: 3vw;    background: #FFFFFF;    border: 1px solid #7ACDE4;    max-width: 55%;    width: 100%;}.h3_ttl{    font-size: 1.6rem;    margin-bottom: 3%;    position: relative;    padding: 1rem 0;}.h3_ttl span{    position: relative;    font-size: max(2.8vw , 2.8rem);    margin-right: 2rem;    z-index: 1;    font-weight: 600;    color: #00AAD9;}.h3_ttl::before{    content: "";    background: url("images/ttl_logo.png")no-repeat center / contain;    position: absolute;    left: 0;    top: 0;    width: 16rem;  height: 100%;}.h3_ttl_r{    font-size: 1.6rem;    margin-bottom: 3%;    position: relative;    padding: 1rem 0;    text-align: right;}.h3_ttl_r span{    position: relative;    font-size: max(2.8vw , 2.8rem);    margin-left: 2rem;    z-index: 1;    font-weight: 600;    color: #00AAD9;}.h3_ttl_r::before{    content: "";    background: url("images/ttl_logo_white.png")no-repeat center / contain;    position: absolute;    right: 5vw;    top: 0;    width: 10vw;  height: 100%;}.h3_ttl_c{    font-size: 1.6rem;    margin-bottom: 3%;    position: relative;    padding: 1rem 0;    text-align: center;}.h3_ttl_c span{    position: relative;    font-size: max(2.8vw , 2.8rem);    z-index: 1;    font-weight: 600;    color: #00AAD9;}.h3_ttl_c::before{    content: "";    background: url("images/ttl_logo.png")no-repeat center / contain;    position: absolute;    left: 50%;    top: 0;    width: 16rem;  height: 100%;    transform: translateX(-50%);    z-index: -1;}.sub_txt{    font-size: max(1.2vw , 1.8rem);    font-weight: 600;    margin-bottom: 3%;}.t16{   font-size:  max(0.9vw, 1.6rem);    line-height: 1.6;}.blue{    color: #00AAD9;}.t_bold{    font-weight: 600;}.t18{    font-size: max(1vw , 1.8rem);}.btn{    margin-top: 10%;    text-align: center;    }.btn a{    padding: 1.5rem 8rem 1.5rem 2rem;    font-size: max(1vw , 1.8rem);    position: relative;    background: #FFF022;    border-radius: 30px;}.btn a::before{    content: "";    position: absolute;    top: 50%;    right: 2rem;    transform: translateY(-50%);    background: url("images/arrow.png")no-repeat center / contain;    width: 30px;    height: 5px;}.message{    background: #FFF022;    position: relative;    margin: 3% 0 0;}.message_bgtop{    position: absolute;    top: 0;    left: 0;}.message_bgbottm{    position: absolute;    bottom: 0;    left: 0;}.message_inner{    padding: 3vw 0;}.inner1000{    padding: 0 3%;    max-width: calc(1000px + 6%);    position: relative;    margin: 0 auto;}.message .inner1000{    padding: 1% 3% 5%;}.mt5{    margin-top: 5%;}.message .h3_ttl{    margin-left: 10vw;}.news{    padding: 3% 0;    background: #EBEBEB;}.news_inner{    max-width: calc(1200px + 6%);    padding: 3vw 3%;    margin: 0 auto;    background: #FFFFFF;    }.flex{    display: flex;    justify-content: space-between;    flex-wrap: wrap;}.flex-3{    width: 32%;}.flex-2{    max-width: 48%;    width: 100%;}.news_date{    font-size: max(1vw , 1.8rem);    font-weight: 600;    margin: 1rem 0 3rem 0;}.news .flex-3{    position: relative;    min-height: 200px;    width: 30%;}.category{    position: absolute;    top: 0;    right: 2rem;    padding: 1rem;    border: 1px solid #00AAD9;    color: #00AAD9;    font-size: 1.4rem;}.news_title{    font-size: max(0.9vw , 1.6rem);    margin-bottom: 5%}.news_arrow{    position: absolute;    bottom: 1%;    right: 3%;}.business{    background: #EBEBEB;    padding: 3% 0 5%;    position: relative;}.business::before{    content: "";    position: absolute;    right: 0;    top: 10rem;    width: 80%;    height: 35vw;    background: #FFF022;}.inner1600{    max-width: calc(1600px + 6%);    width: 100%;    padding: 0 3%;    margin: 0 auto;}.business .inner1600{    position: relative;}.business .inner1600 p{    max-width: 1000px;    margin-left: auto;}.business_box{    padding: 2vw;    background: #FFFFFF;    text-align: center;    position: relative;}.business_box::before{    content: "";    position: absolute;    right: 1rem;    bottom: 1rem;    background: #00AAD9;  height: calc(tan(60deg) * 60px / 2);  width: 60px;  clip-path: polygon(50% 0, 100% 100%, 0 100%);}.box_ttl{    font-weight: 600;    font-size: max(1.2vw , 2rem);    padding: 1rem 0;}.mb3{    margin-bottom: 3%;}.company{    padding: 3% 0;    background: #EBEBEB;}.company_inner{    max-width: 90%;    background: #FFFFFF;    padding: 3vw 3vw 3vw 0;    margin-right: auto;}.company_ttl{    padding-left: 10vw;}.info_list{    display: flex;    flex-wrap: wrap;}.info_list dt{    width: 25%;    padding: 1rem;    margin-bottom: 1rem;    border-bottom: 1px solid #333333;}.info_list dd{    width: 75%;    padding: 1rem;    margin-bottom: 1rem;    border-bottom: 1px solid #333333;}.alc{    align-items: center;}.company_img{    width: 58%;}.company_txt{    width: 40%;}.contact{    padding: 3% 0;}.contact_inner{    position: relative;}.contact_bg{    position: absolute;    top: 0;    left: 0;    z-index: -1;}.tc{    text-align: center;}.blue_btn a{    padding: 1.5rem 2rem 1.5rem 6rem;    background: #00AAD9!important;    color: #FFFFFF;    font-weight: 600;}.tel_btn a{    font-size: max(1.4vw , 2rem);    min-width: 280px;  display: block;}.tel_btn a::before{    content: "";    position: absolute;    left: 2rem;    top: 50%;    transform: translateY(-50%);    background: url("images/tel_icon_white.png") no-repeat center / contain;    width: 20px;    height: 20px;}.mail_btn a{    font-size: max(1.2vw , 2rem);    min-width: 300px;  display: block;}.mail_btn a::before{    content: "";    position: absolute;    left: 2rem;    top: 50%;    transform: translateY(-50%);    background: url("images/mail_icon_white.png") no-repeat center / contain;    width: 20px;    height: 20px;}.btn_wrap{    display: flex;    gap:5vw;    justify-content: center;    margin: 0 auto;    flex-wrap: wrap;    margin-bottom: 3%;}.map{    max-width: calc(1600px + 6%);    margin: 0 auto;    padding: 3%;}.footer_inner{    padding: 5% 3%;}.gap3{    gap: 3rem;}.f_logo{    max-width: 40%;}.f_gap{    gap: 10vw;}.jcs{    justify-content: flex-start;}.copy{    padding: 2rem 0;    text-align: center;    font-size: 1.4rem;    background: #FFF022;}#page-top a{	display: flex;	justify-content:center;	align-items:center;	border-radius: 5px;	width: 60px;	height: 60px;	text-align: center;	text-transform: uppercase; 	text-decoration: none;	transition:all 0.3s;}/*リンクを右下に固定*/#page-top {	position: fixed;	right: 10px;	bottom:10px;	z-index: 2;    /*はじめは非表示*/	opacity: 0;	transform: translateX(100px);}/*　左の動き　*/#page-top.LeftMove{	animation: LeftAnime 0.5s forwards;}@keyframes LeftAnime{  from {    opacity: 0;	transform: translateX(100px);  }  to {    opacity: 1;	transform: translateX(0);  }}/*　右の動き　*/#page-top.RightMove{	animation: RightAnime 0.5s forwards;}@keyframes RightAnime{  from {  	opacity: 1;	transform: translateX(0);  }  to {  	opacity: 1;	transform: translateX(100px);  }}/*-------------------------下層ページ-------------------------*/.h2_title{    background: url("images/h2_ttl.png") no-repeat center / cover;    height: max(30vw , 400px);    display: flex;    align-items: center;    justify-content: center;    font-size: max(4vw , 4rem);    text-align: center;    position: relative;    color: #FFFFFF;    font-weight: 600;    line-height: 1;    flex-direction: column;    z-index: -1;    padding-top: 10vw;}.h2_title span{    font-size: max(1vw , 1.8rem);    color: #9bd5e5;}.h2_ttl{    line-height: 1;}.h2_title::after{    content: "";  background: url("images/ttl_logo.png")no-repeat center / contain;  position: absolute;  left: 45%;  top: 0;  width: max(16vw , 100px);  height: 100%;  transform: translateX(-50%);    z-index: -1;}.sec{    padding: 3% 0;}.u_h3_ttl {  position: relative;  font-size: max(2.8vw , 2.8rem);  z-index: 1;  font-weight: 600;text-align: center;    padding-top: 5rem;    margin-bottom: 5%;}.u_h3_ttl::before {  content: "";  background: url("images/ttl_logo.png")no-repeat center / contain;  position: absolute;  left: 50%;  top: -2rem;  width: 16rem;  height: 100%;  transform: translateX(-50%);  z-index: -1;}.inner1200{    max-width: calc(1200px + 6%);    padding: 0 3%;    margin: 0 auto;}/* table01 */#table01{    width: 80%;    margin: 0 auto 3rem;    font-size: 1.8rem;}#table01 tr {  border-bottom: 1px solid #b5b1b1;}#table01 th,#table01 td {  padding: 24px 0;  border: none;}#table01 th {  width: 30%;    vertical-align: middle;}/* sp */@media only screen and (max-width: 480px) {  #table01 th,  #table01 td {    width: 100%;    display: block;  }  #table01 th {    width: 100%;  }  #table01 td {    padding-top: 0;  }    }.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: #fee443;    padding: .8em .2em;  }}.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;}@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: #eee;  padding: .5em 4em;  color: #000;  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.8rem;}.btn input:hover {  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);  opacity: 0.7;}.h4_ttl{    font-size: max(1.2vw , 2rem);    font-weight: 600;    padding-bottom: 1rem;    margin-bottom: 1rem;    margin-top: 2rem;    border-bottom: 1px solid #333;}.list_disc{    list-style: disc;    font-size: max(1vw , 1.6rem);}.list_disc li{    margin-bottom: 1rem;    padding-left: 1rem;    margin-left: 3rem;}/*--------------------------------------------------------------------------PC--------------------------------------------------------------------------*/@media only screen and (min-width: 1025px) {  .sp-only {    display: none !important;  }  .tab-only {    display: none !important;  }}/*--------------------------------------------------------------------------tablet--------------------------------------------------------------------------*/@media only screen and (min-width: 768px) and (max-width: 1024px) {  .sp-only {    display: none !important;  }  .pc-only {    display: none !important;  }    .business::before { top: 6rem;}    .company_inner {  max-width: 95%;}    .info_list dt {  width: 30%;}    .info_list dd {  width: 70%;}    }/*--------------------------------------------------------------------------sp--------------------------------------------------------------------------*/@media screen and (max-width: 767px) {  .pc-only {    display: none !important;  }  .pc-tab-only {    display: none !important;  }  .tab-only {    display: none !important;  }    .logo {  max-width: 200px;}    .mv {  height: 50vh;}    .slider {	height: 50vh;}.slider-item {    height:50vh;}    .recruit_img {  position: relative;        max-width: 90%;        margin: 0 auto;}    .recruit_txt {  position: relative;  max-width: 85%;  width: 100%;        margin: 3rem auto 0;}    .news .flex-3 {  width: 100%;        padding-bottom: 5%;        margin-bottom: 5%;        border-bottom: 1px dashed #333333;}    .news_arrow {  position: absolute;  bottom: 10%;  right: 3%;}    .business::before {  content: "";  position: absolute;  right: 0;  top: 5rem;  width: 100%;  height: 80%;  background: #FFF022;}    .btn {  margin: 10% 0;}    .h3_ttl_r::before {  width: 30vw;}    .flex-3 {  width: 100%;  margin-bottom: 2rem;}    .company_img {  width: 100%;}    .company_txt {  width: 100%;}    .company_inner {  max-width: 100%;  background: #FFFFFF;  padding: 3vw;  margin-right: auto;}    .btn_wrap .btn {    margin: 3% 0;  }    .contact_bg {  position: absolute;  top: 0;  left: 0;  z-index: -1;  height: 56%;}    .contact_bg img {  height: 100%;  object-fit: cover;}    .f_logo {  max-width: 80%;        margin: 0 auto;}    .footer_inner .gnav ul {  display: flex;  justify-content: center;  gap: 12vw;  flex-wrap: wrap;}}/*==================================================フェードイン===================================*/.fadeIn {  animation-name: fadeInAnime;  animation-duration: 1s;  animation-fill-mode: forwards;  opacity: 0;}@keyframes fadeInAnime {  from {    opacity: 0;  }  to {    opacity: 1;  }}/* 下から */.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);  }}/* 上から */.fadeDown {  animation-name: fadeDownAnime;  animation-duration: 0.5s;  animation-fill-mode: forwards;  opacity: 0;}@keyframes fadeDownAnime {  from {    opacity: 0;    transform: translateY(-100px);  }  to {    opacity: 1;    transform: translateY(0);  }}/* 左から */.fadeLeft {  animation-name: fadeLeftAnime;  animation-duration: 0.5s;  animation-fill-mode: forwards;  opacity: 0;}@keyframes fadeLeftAnime {  from {    opacity: 0;    transform: translateX(-100px);  }  to {    opacity: 1;    transform: translateX(0);  }}/* 右から */.fadeRight {  animation-name: fadeRightAnime;  animation-duration: 0.5s;  animation-fill-mode: forwards;  opacity: 0;}@keyframes fadeRightAnime {  from {    opacity: 0;    transform: translateX(100px);  }  to {    opacity: 1;    transform: translateX(0);  }}/* スクロールをしたら出現する要素にはじめに透過0を指定　*/.fadeInTrigger, .fadeUpTrigger, .fadeDownTrigger, .fadeLeftTrigger, .fadeRightTrigger {  opacity: 0;}