@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
@font-face {
  font-family: 'GeorgiaCustom';
  src: url('./fonts/georgia.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'GeorgiaCustom';
  src: url('./fonts/georgiab.ttf') format('truetype');
  font-weight: bold;
  font-style: normal;
}
.l-header__logo,.l-fixHeader__logo{
    font-family: 'GeorgiaCustom';
}
.heading16 {
	position: relative;
	padding-bottom: 20px;
	font-size: 36px;
	text-align: center;
}

.heading16::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 6px 0 6px;
	border-color: #b99a00 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);
}
.font-size-custom{
    font-size: 48px;
}

@media screen and (max-width: 768px) {
  .heading16 {
    font-size: 26px;
  }

  .font-size-custom {
    font-size: 30px;
  }
}
/*test*/
.ban{
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
	overflow: hidden;
    /*ボタンの形状*/
	text-decoration: none;
	display: inline-block;
  text-align: center;
    outline: none;
    /*アニメーションの指定*/   
    transition: ease .2s;
}

/*ボタン内spanの形状*/
.ban span {
	position: relative;
	z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
	color:#333;
}

.ban:hover span{
	color:#fff;
}

/*== 背景が流れる（下から上） */
.bgbottom:before {
 	content: '';
    /*絶対配置で位置を指定*/
 	position: absolute;
 	bottom:0;
 	left: 0;
 	z-index: 2;
    /*色や形状*/
 	background:  #2D82B7;/*背景色*/
 	width: 100%;
	height: 0;
    /*アニメーション*/
 	transition:.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}

/*hoverした際の形状*/
.bgbottom:hover:before{
	 height: 100%;	
 	 background-color: #2D82B7;
}
/*compname*/
/* 色指定 */
  .bpl-b { color: #0070f3; }  /* Blue */
  .bpl-p { color: #ff7a00; }  /* Orange */
  .bpl-l { color: #10b981; }  /* Green  */

  /* ベース（スマホ）: 30px */
  .bpl-marquee {
    font-family: 'GeorgiaCustom';
    font-size: 30px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    display: block;
    position: relative;
  }

  /* スクロールする中身 */
  .bpl-text {
    display: inline-block;
    padding-left: 100%;
    will-change: transform;
    animation: bpl-scroll 10s linear infinite;
  }

  /* 右→左に流れるアニメーション */
  @keyframes bpl-scroll {
    from { transform: translateX(100%); }
    to   { transform: translateX(-100%); }
  }

  /* ホバーで一時停止（任意） */
  .bpl-marquee:hover .bpl-text { animation-play-state: paused; }

  /* ユーザーが簡易表示を選んでいる場合は停止 */
  @media (prefers-reduced-motion: reduce) {
    .bpl-text { animation: none; transform: translateX(0); }
  }

  /* PCサイズで60pxに */
  @media (min-width: 768px) {
    .bpl-marquee { font-size: 120px; }
  }

/*req-form*/
/* =========================================================
   企業情報入力フォーム（特定技能） - Request Form CSS
   ========================================================= */

/* Wrapper */
.form-container {
  max-width: 750px;
  margin: auto;
  padding: 25px;
  font-family: "Noto Sans JP", sans-serif;
}

/* タイトル部分 */
.form-title {
  text-align: center;
  font-size: 1.9rem;
  font-weight: 700;
  margin-bottom: 5px;
}

.form-lead {
  text-align: center;
  margin-bottom: 25px;
  color: #444;
}

/* ブロック構造 */
.form-block {
  margin-bottom: 35px;
  padding-bottom: 20px;
  border-bottom: 1px solid #ddd;
}

.form-block h3 {
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 15px;
}

/* ラベル */
.field-label {
  font-weight: 600;
  margin-bottom: 6px;
}

/* =========================================================
   入力フィールド
   ========================================================= */
input,
select,
textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 1rem;
  margin-bottom: 15px;
  transition: 0.25s;
  background: #fff;
}

input:focus,
select:focus,
textarea:focus {
  border-color: #0078ff;
  background: #f5faff;
}

/* =========================================================
   ラジオボタン（カード型カスタム）
   ========================================================= */

.radio-group {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

/* label をボタン風に */
.radio-group label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border: 1.5px solid #ccc;
  border-radius: 6px;
  cursor: pointer;
  background: #fafafa;
  transition: 0.25s;
  font-size: 1rem;
}

/* ラジオ本体をカスタム */
.radio-group input[type="radio"] {
  appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid #999;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  margin: 0;
}

/* 選択されたとき外枠色変更 */
.radio-group input[type="radio"]:checked {
  border-color: #0078ff;
}

/* 選択時の青丸 */
.radio-group input[type="radio"]:checked::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 10px;
  height: 10px;
  background: #0078ff;
  border-radius: 50%;
}

/* hover */
.radio-group label:hover {
  background: #f5faff;
  border-color: #0078ff;
}

/* 選択された label の文字強調 */
.radio-group input[type="radio"]:checked + span {
  font-weight: 600;
}
/* =========================================================
   チェックボックス（カード型カスタム）
   ========================================================= */

.checkbox-group {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

/* label をカード風に */
.checkbox-group label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border: 1.5px solid #ccc;
  border-radius: 6px;
  cursor: pointer;
  background: #fafafa;
  transition: 0.25s;
  font-size: 1rem;
}

/* チェックボックス本体をカスタム */
.checkbox-group input[type="checkbox"] {
  appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid #999;
  border-radius: 4px;
  display: inline-block;
  position: relative;
  margin: 0;
}

/* 選択時：枠線カラー */
.checkbox-group input[type="checkbox"]:checked {
  border-color: #0078ff;
  background: #0078ff20;
}

/* チェックマーク（疑似要素で描画） */
.checkbox-group input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 12px;
  border-right: 3px solid #0078ff;
  border-bottom: 3px solid #0078ff;
  transform: rotate(45deg);
  top: 0px;
  left: 5px;
}

/* hover */
.checkbox-group label:hover {
  background: #f5faff;
  border-color: #0078ff;
}

/* 選択された label の文字強調 */
.checkbox-group input[type="checkbox"]:checked + span {
  font-weight: 600;
}

/* =========================================================
   ファイルアップロード案内
   ========================================================= */

.upload-note {
  background: #fff3cd;
  border: 1px solid #ffe08a;
  padding: 14px 18px;
  border-radius: 6px;
  font-size: 1rem;
  line-height: 1.55;
  text-align: center;
  margin: 0 auto 24px;
  width: 100%;
}

/* =========================================================
   送信ボタン
   ========================================================= */

.submit-area input[type="submit"] {
  width: 100%;
  background: #0078ff;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 15px;
  font-size: 1.2rem;
  font-weight: bold;
  cursor: pointer;
  transition: 0.25s;
}

.submit-area input[type="submit"]:hover {
  background: #005fcc;
}

/* =========================================================
   レスポンシブ対応
   ========================================================= */

@media (max-width: 600px) {
  .form-title {
    font-size: 1.6rem;
  }
  .radio-group {
    flex-wrap: wrap;
    gap: 10px;
  }
  .submit-area input[type="submit"] {
    font-size: 1.05rem;
    padding: 13px;
  }
}



