@charset "utf-8";

/*メディアクエリー
PC
@media (min-width: 768px) {}
タブレット
@media (min-width: 768px) and (max-width: 1024px) {}
*/

body { font-family: 'Noto Sans CJK JP', 'Yu Gothic', 'Meiryo', sans-serif; font-weight: 400; font-style: normal; font-size:16px; line-height:28px; overflow-x: hidden;}


/*PCスマホ表示切り替え用*/
.br_pc {display: none !important;}
.pc {display: none;}
.sp {display: block;}
.inline_sp { display:inline; }
.inline_pc { display:none; }
@media screen and (min-width: 768px) {
    .sp {display: none !important;}
    .pc {display: block;}
    .br_sp {display: none !important;}
    .br_pc {display: inline !important;}
    .inline_sp { display:none; }
    .inline_pc { display:inline; }
}


/*ページ*/
.contents_wrap { width:100%; }
.contents { width:90%; margin:0 auto; padding:48px 0;}
.contents.nopadding { width:90%; margin:0 auto; padding:0;}

@media screen and (min-width: 768px) {
  .contents_wrap { padding-bottom:100px;}
  .contents_wrap.nopadding { padding-bottom:0px;}
  .contents { width:90%; padding:80px 0 0;}

}
@media screen and (min-width:1280px) {
  .contents { width:1036px;  }
  .contents.nopadding { width:1036px; }
  main { margin-top:80px; }
}



/*フォント*/
/*p,strong,span,small { display:inline-block; }*/
.bold { font-weight:700; }
.contents p { text-align: justify;}
@media screen and (max-width: 768px) {
  p { line-height:1.7em; }
}
p { line-height:2em; letter-spacing:0.05;}

/*色_フォント*/
.color_w { color:#fff; }
.color_b { color:#000; }
.color_darkblue { color: #006CCE; }
.color_red { color: #BA2032; }
.color_darkgreen { color: #007254; }
.color_orange { color:#EFA734; }
.color_blue { color:#AECFED; }
.color_pink { color:#F19CA6; }
.color_green { color:#A4D3AC; }
.color_lightorange { color:rgba(239, 167, 52, 0.5); }



/*色_背景*/
.back_white { background:#FFFFFF; }
.back_gray { background:#EAE8E8; }
.back_orange { background:#EFA734; }
.back_lightorange { background:#F7D499; }
.back_yellow { background:#F3CF5E; }
.back_lightyellow { background:#F8E5A6; }
.back_blue { background:#AECFED; }
.back_lightblue { background:#D6E7F7; }
.back_pink { background:#F19CA6; }
.back_lightpink { background:#F8C8CE; }
.back_green { background:#A4D3AC; }
.back_lightgreen { background:#D2E9D6; }


/*ボーダー*/
.border_black { border: 2px solid #000; }
.border_radius_s { border-radius: 8px; }
.border_radius_m { border-radius: 16px; }
.border_radius_l { border-radius: 24px; }
.border_radius_xl { border-radius: 40px; }
.border_radius_MAX { border-radius: 9999px; }
@media screen and (min-width: 768px) {
  .border_radius_s { border-radius: 12px; }
  .border_radius_m { border-radius: 24px; }
  .border_radius_l { border-radius: 36px; }
  .border_radius_xl { border-radius: 60px; }
}

/*フォント_位置*/
.text_center { width:100%; text-align:center; display:inline-block; }
.text_left { width:100%; text-align:left; display:inline-block; }
.text_right { width:100%; text-align:right; display:inline-block; }

/*フォント_サイズ*/
h1 { font-size: 45px; line-height: 1.5em; }
.text-xxl {font-size:32px; line-height:48px; } /*一番大きい見出し1*/
.text-xl {font-size:26px; line-height:39px; } /*見出し2*/
.text-l { font-size:22px; line-height:33px; } /*キャッチコピー*/ 
.text-m { font-size:16px; line-height:28px; } /*ボディコピー*/ 
.text-normal { font-size:14px; line-height:24.5px; } /*本文*/ 
@media screen and (min-width: 768px) {
  h1 { font-size: 64px; line-height: 1.5em;; }
  .text-xxl {font-size:36px; line-height:48px; } /*1番めに大きい見出し*/
  .text-xl {font-size:28px; line-height:42px; } /*2番めに大きい見出し*/
  .text-l { font-size:24px; line-height:36px; } /*キャッチコピー*/ 
  .text-m { font-size:18px; line-height:31.5px; } /*ボディコピー*/ 
  .text-normal { font-size:16px; line-height:28px; } /*本文*/ 
  .text-s { font-size:14px; line-height:1.7em; }
  .text-xs { font-size: 12px; }
}
/*名前*/
.name { font-size: 30px; line-height: 62px; font-weight: 700; }
.join { font-size: 14px; line-height: 24.5px; font-weight: normal; }
.dept { font-size: 18px; line-height: 27px; font-weight: normal; }
@media screen and (min-width: 768px) {
  .name { font-size: 32px; line-height: 48px; font-weight: 700; }
  .join { font-size: 16px; line-height: 28px; font-weight: normal; }
  .dept { font-size: 20px; line-height: 30px; font-weight: normal; }
}

/*マージン*/
.margin-bottom32 { margin-bottom:32px; }
.margin-bottom40 { margin-bottom:40px; }

/*チェック模様*/
.plaid {
  background-color: #ffffff;
  background-image: linear-gradient(90deg, #F3CF5E60 1px, transparent 1px), linear-gradient(#F3CF5E60 1px, transparent 1px); /* 透明度を0.6に設定 */
  background-position: 0px 0px;
  background-size: 16px 16px;
  background-repeat: repeat;
}
.plaid_pink {
  background-color: #ffffff;
  background-image: linear-gradient(90deg, #F19CA660 1px, transparent 1px), linear-gradient(#F19CA660 1px, transparent 1px); /* 透明度を0.6に設定 */
  background-position: 0px 0px;
  background-size: 16px 16px;
  background-repeat: repeat;
}

/*下層ページのタイトルまわり*/
.lowerpage_title_wrap { background: linear-gradient(to bottom,rgba(239, 167, 52, 0.5) 0%,rgba(239, 167, 52, 0.5) 60%,#FFFFFF 60%,#FFFFFF 100%); }
.lowerpage_title_wrap .contents h1 { width:100%; height:42px; display:flex; align-items:center;}
.lowerpage_title_wrap .contents .titleimage_frame { width:100%; height: 220px; overflow: hidden; border-radius:24px; border:2px solid #000; background-color: #FFF; }
.lowerpage_title_wrap .contents .titleimage_frame .titleimage { width: 100%; height: 100%; object-fit: cover; }
.lowerpage_title_wrap .lowerpage_title { display:flex; flex-wrap:wrap; margin-bottom:40px;}
.lowerpage_title_wrap .lowerpage_title div { width:100%; margin-bottom:20px; }
.lowerpage_title_wrap .lowerpage_title div:nth-child(2) { margin: 0 0 0 0; }
@media screen and (min-width: 768px) {
  .lowerpage_title_wrap .contents .titleimage_frame { height: 440px; border-radius:36px; }
  .lowerpage_title_wrap .lowerpage_title { margin-bottom:80px; }
  .lowerpage_title_wrap .lowerpage_title div { margin-bottom:40px; }
  .lowerpage_title_wrap .lowerpage_title div:nth-child(2) { margin: 20px 0 0 40px; }
}
@media screen and (min-width:1280px) {
  .lowerpage_title_wrap .lowerpage_title div { width:fit-content; margin-bottom:initial; }
  .lowerpage_title_wrap .lowerpage_title div:nth-child(2) { margin: 0 0 0 60px; transform: translateY(-6px); }
}

/*会社概要ページなどの表組み*/
.infolist { width:100%; display:flex; justify-content:space-between; flex-wrap:wrap; }
.infolist dt { width:100%; line-height:40px; padding: 0 20px; margin-bottom:10px; border-radius:8px; background:#EFA734;  }
.infolist dd { width:100%; line-height:1.75; padding: 0 20px; margin-bottom:25px;}
@media screen and (min-width: 768px) {
  .infolist { margin: 48px 0; }
  .infolist dt { width:20%; height: auto; line-height:1.75; margin-bottom:3px; padding: 20px 40px; }
  .infolist dd { width:78%; height: fit-content; line-height:1.75; margin-bottom:3px; padding: 20px 32px; border-bottom:1px solid #BFBFBF; align-self: start; }
  .infolist dd:nth-child(2) { border-top:1px solid #BFBFBF; }
}
.infolist dd .icon_newsarrow { width:25px; margin-left:10px; }
.news dd .icon_newsarrow { width:25px; margin-left:10px; }

/*矢印ボタン*/
.button_arrow { width: 52px; height: 28px; display: inline-block; transform: translate(-2px, 0px); background: #fff; border: 1px solid #000; border-radius: 9999px; box-shadow: 2px 2px; transition: all 0.1s; }
.button_arrow.long { width: 160px; height:28px; display: flex; align-items: center; justify-content: center; padding-left: 20px; margin: 0;transform: translate(-2px, 0px); background: #fff; border: 1px solid #000; border-radius: 9999px; box-shadow: 2px 2px; transition: all 0.1s; }
.arrow { display: block; width: 32px; margin: 5px auto; }
.button_arrow:hover { transform: translate(2px, 2px); box-shadow: none; }
.button_arrow.long:hover { transform: translate(2px, 2px); box-shadow: none; }

.hov_buttonback_orange:hover .button_arrow { background:#EFA734; }
.hov_buttonback_yellow:hover .button_arrow  { background:#F3CF5E; }
.hov_buttonback_lightyellow:hover .button_arrow  { background:#F8E5A6; }
.hov_buttonback_blue:hover .button_arrow  { background:#AECFED; }
.hov_buttonback_pink:hover .button_arrow  { background:#F19CA6; }
.hov_buttonback_green:hover .button_arrow  { background:#A4D3AC; }

/*リンク付き画像ホバーでズーム*/
/*画像外側にサイズとボーダーを指定する（サイズが幅相対ならaspect-ratioが便利？）*/
.hov_zoom .hov_img_frame { width: 100%; height: 100%; transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); will-change: transform; }
.hov_zoom:hover .hov_img_frame { transform: scale(1.15); }

/*h1*/
h1 img { height: 51px; transform: translateY(4px); }
h1::before { display: inline-block; width: 16px; height: 16px; margin: 0 6px 0 0; content: ''; border-radius: 100%;  background:#EFA734;}
@media screen and (min-width: 768px) {
  h1 img { height: 75px; transform: translateY(6px); }
  h1::before { width: 24px; height: 24px; margin: 0 16px 0 0; }
}


/*透け英語*/
.tra_english { font-weight:700; font-size: 52px; opacity: 0.5; }
.slideInRight { animation: slideInRight 1s cubic-bezier(0.25, 1, 0.5, 1) forwards; }
@keyframes slideInRight {
  0% { transform: translateX(160px); opacity: 0; }
  100% { transform: translateX(0); }
  40%,100% { opacity: 0.5;}
}
.slideInLeft { animation: slideInLeft 1s cubic-bezier(0.25, 1, 0.5, 1) forwards; }
@keyframes slideInLeft {
  0% { transform: translateX(-160px); opacity: 0; }
  100% { transform: translateX(0); }
  40%,100% { opacity: 0.5; }
}
@media screen and (min-width: 768px) {
  .tra_english { font-size: 100px; }
  @keyframes slideInRight {
    0% { transform: translateX(400px); opacity: 0; }
    100% { transform: translateX(0); }
    40%,100% { opacity: 0.5;}
  }
  @keyframes slideInLeft {
    0% { transform: translateX(-400px); opacity: 0; }
    100% { transform: translateX(0); }
    40%,100% { opacity: 0.5; }
  }
}


/*スライド*/
.slide_wrapper {width:100%; margin-left: auto;margin-right: auto; }
.slide_wrapper .swiper {width:100%; margin-inline: auto;}
.slide_wrapper .swiper .swiper-wrapper { transition-timing-function: linear;}
.slide_wrapper .swiper .swiper-wrapper .swiper-slide { width:320px; height:auto; position:relative; /* margin: 0 36px; */}
.slide_wrapper .swiper .swiper-wrapper .swiper-slide div { width:320px; height:390px; margin-bottom:24px; /*border-radius:60px; */overflow:hidden;   -webkit-mask-image: -webkit-radial-gradient(white, black); /* Safari対策 */
  backface-visibility: hidden; /* GPUレンダリングの改善 */}
.slide_wrapper .swiper .swiper-wrapper .swiper-slide:nth-child(even) > div {margin-top:60px;}
.slide_wrapper .swiper .swiper-wrapper .swiper-slide img {width:100%;height:100%; object-fit:cover; display: block; border-radius: inherit;}
.slide_wrapper .swiper .swiper-wrapper .swiper-slide div.staff_info { height:auto; border-radius:initial; border:0; margin-top:0; }
.slide_wrapper .swiper .swiper-wrapper .swiper-slide div.staff_info strong { width:100%; font-size:24px; font-weight:700;display:inline-block; line-height:1.33em; margin-bottom:8px; }
.slide_wrapper .swiper .swiper-wrapper .swiper-slide div.staff_info em { font-size:24px; font-weight:700; font-weight:400; }
.slide_wrapper .swiper .swiper-wrapper .swiper-slide div.staff_info small { width:100%; font-size:15px; display:inline-block; }
.slide_wrapper .swiper .swiper-wrapper .swiper-slide div.staff_info span { font-size:15px; }
.slide_wrapper .swiper .swiper-wrapper .swiper-slide div.staff_info .button_wrap { display:flex; align-items:center; }
.slide_wrapper .swiper .swiper-wrapper .swiper-slide div.staff_info .button_wrap li { margin-right:10px; }
.slide_wrapper .swiper .swiper-wrapper .swiper-slide img.arrow  { width:32px; height:initial; object-fit:initial;}
@media screen and (max-width: 1000px) {
  .slide_wrapper .swiper { padding: 0 4.375%;}
  .slide_wrapper .swiper .swiper-wrapper .swiper-slide div.staff_info strong { font-size:20px; display:inline-block; margin:10px 0;}
  .slide_wrapper .swiper .swiper-wrapper .swiper-slide div.staff_info em { font-size:20px; }
  .slide_wrapper .swiper .swiper-wrapper .swiper-slide div.staff_info small { font-size:15px; }
  .slide_wrapper .swiper .swiper-wrapper .swiper-slide div.staff_info span { font-size:15px; }
  .slide_wrapper .swiper .swiper-wrapper .swiper-slide { width: 60vw;}
  .slide_wrapper .swiper .swiper-wrapper .swiper-slide div {width: 100%; height:initial; margin-bottom:0; aspect-ratio: 4.8 / 5;overflow:hidden;}
}

.hov_img_frame_wrap { overflow:hidden; border:2px solid #000; border-radius:60px; }
.swiper--three .swiper-slide,
.swiper--four .swiper-slide {
  width: 320px;   /* 必要に応じてサイズ調整 */
  display: block; /* aタグなら必須 */
}



/* デフォルトは有効（スマホ想定） */
@media (min-width: 768px) {
  .tel-link {
    pointer-events: none;  /* クリック無効化 */
    color: inherit;        /* リンク色を通常の文字と同じにする（お好みで） */
    text-decoration: none; /* 下線も消す（お好みで） */
    cursor: default;       /* マウスカーソルもリンク風にしない */
  }
}

