@charset "UTF-8";

/*======================================================
   Original style
========================================================*/

html {
   font-size: 62.5%;
   scroll-behavior: smooth;
}

body {
   margin: 0;
   padding: 0;
   overflow-x: hidden;
   color: #333;
   font-size: 1.6rem;
   font-weight: 500;
   line-height: 1.9;
   overflow-wrap: anywhere; /* 収まらない場合に折り返す */
   word-break: normal; /* 単語の分割はデフォルトに依存 */
   line-break: strict; /* 禁則処理を厳格に適用 */
   font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", "Meiryo", sans-serif, Arial;
   letter-spacing: .05rem;
   transition: .3s;
   background: #fff;
}

/*scroll bar*/
body::-webkit-scrollbar {
   background: #F1F1F1;
   width: .7em;
   border-radius: 100vh;
}
body::-webkit-scrollbar-thumb {
   background-color: #C1C1C1;
   border-radius: 100vh;
}

main {
   overflow: hidden;
}

img {
   width: 100%;
   vertical-align: bottom;
}

li {
   list-style-type: none;
}

hr {
   display: none;
}

a,
button {
   -webkit-transition: all .3s;
   transition: all .3s;
}

button {
   border: none;
   appearance: none;
}

a {
   display: block;
}

.flex {
   display: flex;
   justify-content: space-between;
   align-items: center;
   flex-wrap: wrap;
   width: 100%;
}

.nowrap {
   white-space: nowrap;
}


/*=========================================================
Common style
=========================================================*/

/*
font
-----------------------------------------------*/

.fc-or {
   color: #F89C40;
}

.ff-alt {
   font-family: "Alata", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", "Meiryo", sans-serif, Arial;
}

.ff-yg {
   font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", "Meiryo", sans-serif;
}


/*
bg
-----------------------------------------------*/

.bg-dot--or {
   background-image: url(../img/bg-parts/dot-or.svg);
   background-size: 30px;
}

.bg-dot--bl {
   background-image: url(../img/bg-parts/dot-bl.svg);
   background-size: 30px;
}

@media screen and (min-width:768px) {
   .bg-dot--or,
   .bg-dot--bl {
      background-size: 40px;
   }
}

/*
parts
-----------------------------------------------*/

/*arrow*/

.arrow {
   position: relative;
   display: inline-block;
}

.arrow::before,
.arrow::after {
   content: "";
   position: absolute;
   border-radius: 9999px;
}

/*entry btn*/

.entry-btn,
.inquiry-btn {
   position: relative;
   margin: 0 auto;
   width: 100%;
   max-width: 430px;
   border-radius: 8px;
}

.entry-btn::before,
.inquiry-btn::before {
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   content: "";
   width: 100%;
   height: 100%;
   -webkit-transition: all 0.3s;
   transition: all 0.3s;
   -webkit-transform: translate3d(0, 0.75rem, -1rem);
   transform: translate3d(0, 0.75rem, -1rem);
   background: #00000029;
   border-radius: 8px;
   z-index: 9;
}

.entry-btn__text,
.inquiry-btn__text {
   position: relative;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-wrap: wrap;
   padding: 1em .8em;
   color: #fff;
   font-size: 2.6rem;
   font-weight: 700;
   letter-spacing: .1rem;
   line-height: 1.3;
   border-radius: inherit;
   -webkit-transition: all 0.3s;
   transition: all 0.3s;
   z-index: 10;
}

/*新卒*/
.ng__entry-btn {
   margin-bottom: 25px;
}
.ng__entry-btn .entry-btn__text,
.inquiry-btn__text {
   background: #F89C40;
}
/*中途*/
.mc__entry-btn .entry-btn__text {
   background: #5594EA;
}

.entry-btn:hover,
.inquiry-btn:hover {
   -webkit-transform: translate(0, 0.5rem);
   transform: translate(0, 0.5rem);
   opacity: .8;
}

.entry-btn:hover::before,
.inquiry-btn:hover::before {
   -webkit-transform: translate3d(0, 0.3rem, -1rem);
   transform: translate3d(0, 0.3rem, -1rem);
}

.entry-btn:active,
.inquiry-btn:active {
   -webkit-transform: translate(0rem, 0.75rem);
   transform: translate(0rem, 0.75rem);
}

@media screen and (min-width:900px) {

   .entry-btn__wrap {
      display: flex;
      max-width: 970px;
   }

   .entry-btn {
      width: 46%;
   }

   .ng__entry-btn {
      margin-bottom: 0;
   }
}

/*
heading
-----------------------------------------------*/

h1 {
   line-height: 1;
}

h2,
h3,
h4 {
   font-weight: 700;
   letter-spacing: .1rem;
}


/*=========================================================
   Break Point
==========================================================*/

/* spでは非表示 */
.tab-pc {
   display: none !important;
}
.pc {
   display: none !important;
}
.pc_only {
   display: none !important;
}
.tab_only {
   display: none !important;
}

/* spで表示 */
.sp {
   display: block !important;
}
.sp_only {
   display: block !important;
}
.sp-tab {
   display: block !important;
}

@media only screen and (min-width: 601px) {
   /* 601px～では非表示 */
   .sp_only {
      display: none !important;
   }
   /* 601px～で表示 */
   .tab-pc {
      display: block !important;
   }
   .tab_only {
      display: block !important;
   }
}

@media only screen and (min-width: 768px) {
   /* 768px～では非表示 */
   .sp {
      display: none !important;
   }
   /* 768px～で表示 */
   .pc {
      display: block !important;
   }
}

@media only screen and (min-width: 900px) {
   /* 900px～では非表示 */
   .sp-tab {
      display: none !important;
   }
   /* 900px～で表示 */
   .pc_only {
      display: block !important;
   }
   .tab_only {
      display: none !important;
   }
}


/*==========================================================
header
==========================================================*/

header {
   position: absolute;
   width: 100%;
   z-index: 1;
}

.header-wrap {
   margin-left: 3%;
}

@media screen and (min-width:900px) {
   .header-wrap {
      margin-left: 20px;
   }
}

.header-wrap h1.flex {
   justify-content: flex-start;
}

.header-logo {
   width: 40%;
   max-width: 240px;
}

.header-wrap span {
   display: inline-block;
   margin-left: 1.5em;
   font-size: clamp(1.3rem,3.222vw,1.6rem);
   font-weight: 700;
}

h1:hover {
   opacity: .6;
}



/*==========================================================
footer
==========================================================*/

.footer {
   text-align: center;
}

.footer .announce {
   margin-bottom: .3em;
   font-size: clamp(1.8rem,2.2vw,2.4rem);
   font-weight: 700;
}

.footer .phone-num {
   color: #F89C40;
   font-size: clamp(5.2rem,8.8vw,7.8rem);
   font-weight: 700;
   line-height: 1.3;
   letter-spacing: 0;
}

@media screen and (max-width:390px) {
   .footer .phone-num {
      font-size: clamp(3rem,12.5vw,5rem);
   }
}

.footer .phone-num .reception {
   display: block;
   font-size: 37%;
   font-weight: 500;
}

.footer address {
   margin: 30px auto;
   font-weight: 400;
   letter-spacing: .05em;
}

.footer-logo {
   margin: 0 auto;
   width: 90%;
   max-width: 360px;
}

.footer-logo:hover {
   opacity: .6;
}

.footer .privacy {
   display: inline-block;
   margin: 30px auto 20px;
   font-size: 1.4rem;
   font-weight: 400;
}

.footer .privacy::before {
   content: "▶";
}

.copyright {
   padding: .3em;
   font-size: 1.4rem;
   font-weight: 400;
   background-image: linear-gradient(90deg, rgba(242, 234, 69, 1), rgba(234, 190, 98, 1) 70%, rgba(233, 185, 101, 1));
}

/*----------------------------------------------------------
   TABLET（画面幅768px以上で読み込む）
-----------------------------------------------------------*/
@media screen and (min-width:768px) {

   .footer .phone-num {
      letter-spacing: .03em;
   }
}



/*==========================================================
   adjust
===========================================================*/

.inner {
   margin: auto;
   width: 92%;
   max-width: 600px;
}

/*---------------margin top-----------------*/

.mt10 {
   margin-top: 10px;
}
.mt15 {
   margin-top: 15px;
}
.mt20 {
   margin-top: 20px;
}
.mt25 {
   margin-top: 25px;
}
.mt30 {
   margin-top: 30px;
}
.mt35 {
   margin-top: 35px;
}
.mt40 {
   margin-top: 40px;
}
.mt45 {
   margin-top: 45px;
}
.mt50 {
   margin-top: 50px;
}
.mt55 {
   margin-top: 55px;
}
.mt60 {
   margin-top: 60px;
}
.mt65 {
   margin-top: 65px;
}
.mt70 {
   margin-top: 70px;
}
.mt75 {
   margin-top: 75px;
}
.mt80 {
   margin-top: 80px;
}
.mt85 {
   margin-top: 85px;
}
.mt90 {
   margin-top: 90px;
}
.mt95 {
   margin-top: 95px;
}
.mt100 {
   margin-top: 100px;
}

/*---------------margin bottom-----------------*/

.mb10 {
   margin-bottom: 10px;
}
.mb15 {
   margin-bottom: 15px;
}
.mb20 {
   margin-bottom: 20px;
}
.mb25 {
   margin-bottom: 25px;
}
.mb30 {
   margin-bottom: 30px;
}
.mb35 {
   margin-bottom: 35px;
}
.mb40 {
   margin-bottom: 40px;
}
.mb45 {
   margin-bottom: 45px;
}
.mb50 {
   margin-bottom: 50px;
}
.mb55 {
   margin-bottom: 55px;
}
.mb60 {
   margin-bottom: 60px;
}
.mb65 {
   margin-bottom: 65px;
}
.mb70 {
   margin-bottom: 70px;
}
.mb75 {
   margin-bottom: 75px;
}
.mb80 {
   margin-bottom: 80px;
}
.mb85 {
   margin-bottom: 85px;
}
.mb90 {
   margin-bottom: 90px;
}
.mb95 {
   margin-bottom: 95px;
}
.mb100 {
   margin-bottom: 100px;
}

/*---------------padding top-----------------*/
.pt10 {
   padding-top: 10px;
}
.pt15 {
   padding-top: 15px;
}
.pt20 {
   padding-top: 20px;
}
.pt25 {
   padding-top: 25px;
}
.pt30 {
   padding-top: 30px;
}
.pt35 {
   padding-top: 35px;
}
.pt40 {
   padding-top:40px;
}
.pt45 {
   padding-top: 45px;
}
.pt50 {
   padding-top: 50px;
}
.pt55 {
   padding-top: 55px;
}
.pt60 {
   padding-top: 60px;
}
.pt65 {
   padding-top: 65px;
}
.pt70 {
   padding-top: 70px;
}
.pt75 {
   padding-top: 75px;
}
.pt80 {
   padding-top: 80px;
}
.pt85 {
   padding-top: 85px;
}
.pt90 {
   padding-top: 90px;
}
.pt95 {
   padding-top: 95px;
}
.pt100 {
   padding-top: 100px;
}

/*---------------padding bottom-----------------*/
.pb10 {
   padding-bottom: 10px;
}
.pb15 {
   padding-bottom: 15px;
}
.pb20 {
   padding-bottom: 20px;
}
.pb25 {
   padding-bottom: 25px;
}
.pb30 {
   padding-bottom: 30px;
}
.pb35 {
   padding-bottom: 35px;
}
.pb40 {
   padding-bottom:40px;
}
.pb45 {
   padding-bottom: 45px;
}
.pb50 {
   padding-bottom: 50px;
}
.pb55 {
   padding-bottom: 55px;
}
.pb60 {
   padding-bottom: 60px;
}
.pb65 {
   padding-bottom: 65px;
}
.pb70 {
   padding-bottom: 70px;
}
.pb75 {
   padding-bottom: 75px;
}
.pb80 {
   padding-bottom: 80px;
}
.pb85 {
   padding-bottom: 85px;
}
.pb90 {
   padding-bottom: 90px;
}
.pb95 {
   padding-bottom: 95px;
}
.pb100 {
   padding-bottom: 100px;
}


/*----------------------------------------------------------
   TABLET（画面幅768px以上で読み込む）
-----------------------------------------------------------*/
@media screen and (min-width:768px) {

   .inner {
      width: 90%;
      max-width: 850px;
   }

   /*---------------margin top-----------------*/

   .mt20 {
      margin-top: 25px;
   }
   .mt25 {
      margin-top: 30px;
   }
   .mt30 {
      margin-top: 40px;
   }
   .mt35 {
      margin-top: 45px;
   }
   .mt40 {
      margin-top: 55px;
   }
   .mt45 {
      margin-top: 60px;
   }
   .mt50 {
      margin-top: 70px;
   }
   .mt55 {
      margin-top: 80px;
   }
   .mt60 {
      margin-top: 90px;
   }
   .mt65 {
      margin-top: 100px;
   }
   .mt70 {
      margin-top: 110px;
   }
   .mt75 {
      margin-top: 120px;
   }
   .mt80 {
      margin-top: 125px;
   }
   .mt85 {
      margin-top: 130px;
   }
   .mt90 {
      margin-top: 135px;
   }
   .mt95 {
      margin-top: 140px;
   }
   .mt100 {
      margin-top: 145px;
   }

   /*---------------margin bottom-----------------*/

   .mb20 {
      margin-bottom: 25px;
   }
   .mb25 {
      margin-bottom: 30px;
   }
   .mb30 {
      margin-bottom: 40px;
   }
   .mb35 {
      margin-bottom: 45px;
   }
   .mb40 {
      margin-bottom: 55px;
   }
   .mb45 {
      margin-bottom: 60px;
   }
   .mb50 {
      margin-bottom: 70px;
   }
   .mb55 {
      margin-bottom: 80px;
   }
   .mb60 {
      margin-bottom: 90px;
   }
   .mb65 {
      margin-bottom: 100px;
   }
   .mb70 {
      margin-bottom: 110px;
   }
   .mb75 {
      margin-bottom: 120px;
   }
   .mb80 {
      margin-bottom: 125px;
   }
   .mb85 {
      margin-bottom: 130px;
   }
   .mb90 {
      margin-bottom: 135px;
   }
   .mb95 {
      margin-bottom: 140px;
   }
   .mb100 {
      margin-bottom: 145px;
   }

   /*---------------padding top-----------------*/

   .pt20 {
      padding-top: 25px;
   }
   .pt25 {
      padding-top: 30px;
   }
   .pt30 {
      padding-top: 40px;
   }
   .pt35 {
      padding-top: 45px;
   }
   .pt40 {
      padding-top: 55px;
   }
   .pt45 {
      padding-top: 60px;
   }
   .pt50 {
      padding-top: 70px;
   }
   .pt55 {
      padding-top: 80px;
   }
   .pt60 {
      padding-top: 90px;
   }
   .pt65 {
      padding-top: 100px;
   }
   .pt70 {
      padding-top: 110px;
   }
   .pt75 {
      padding-top: 120px;
   }
   .pt80 {
      padding-top: 125px;
   }
   .pt85 {
      padding-top: 130px;
   }
   .pt90 {
      padding-top: 135px;
   }
   .pt95 {
      padding-top: 140px;
   }
   .pt100 {
      padding-top: 145px;
   }

   /*---------------padding bottom-----------------*/

   .pb20 {
      padding-bottom: 25px;
   }
   .pb25 {
      padding-bottom: 30px;
   }
   .pb30 {
      padding-bottom: 40px;
   }
   .pb35 {
      padding-bottom: 45px;
   }
   .pb40 {
      padding-bottom: 55px;
   }
   .pb45 {
      padding-bottom: 60px;
   }
   .pb50 {
      padding-bottom: 70px;
   }
   .pb55 {
      padding-bottom: 80px;
   }
   .pb60 {
      padding-bottom: 90px;
   }
   .pb65 {
      padding-bottom: 100px;
   }
   .pb70 {
      padding-bottom: 110px;
   }
   .pb75 {
      padding-bottom: 120px;
   }
   .pb80 {
      padding-bottom: 125px;
   }
   .pb85 {
      padding-bottom: 130px;
   }
   .pb90 {
      padding-bottom: 135px;
   }
   .pb95 {
      padding-bottom: 140px;
   }
   .pb100 {
      padding-bottom: 145px;
   }
}


/*----------------------------------------------------------
   PC（画面幅1080px以上で読み込む）
-----------------------------------------------------------*/

@media screen and (min-width:1080px) {

   .inner {
      max-width: 1000px;
   }


}
