/*
Theme Name: 多業種対応HPシステム(CMSテーマ)【Hide Professional Theme】ITツールNo:TL29-0042726
Theme URI:     https://yamato.studio/package/
Author: 株式会社大和(Yamato)
Author URI: https://yamato.studio/
Description: CMS(Wordpress)のスクラッチテーマです。 CMSホームページ導入により売上アップおよび業務効率化が可能です。（既存顧客の維持、新規顧客獲得、エンドユーザー様の利便性の向上、売上向上、顧客管理）ブログやホームページ内の更新はもちろん、メールフォームの追加や編集、予約機能の切り替え、受発注処理を行うことのできるパッケージテーマです。 お客様のビジョンを明確にし、目標設定、ブランディングからペルソナデザインまで行い、お客様にとっての最良のホームページという24時間不眠不休で働く営業マンを作成いたします。 それによりPRやお問合せ受付、社内でのお知らせによる情報共有、予約スケジュール、顧客管理と生産性を向上させます。 下記内容がサーバーにアップしテーマを有効化した状態で行いますので、すぐに運用を開始できます。 ・ブログの更新、お知らせの更新、ページ内の更新は、プログラムの言語が分からなくても直感的に行えます。 ・情報をカテゴリーごとに分けユーザーがほしい情報にたどりつきやすくなっております。 ・管理画面内で使用、不使用を選択できるので今後の展開も視野に入れてお使いいただけます。 ・メール機能も簡単にカスタマイズできるのでお問合せ以外に受注発注の処理も一貫して行うことができます。 ・メールにて収集したメールアドレスを管理することも可能です。 ・お客様の声など、現場の声をより簡単に更新が行えます ・タイムスケジュール、カレンダーの同期も行えます。
Version: 1.0.2
*/ :root {
  --main: #000;
  --sub: #2CA639;
  --gray: #686869;
  --gray2: #F2F2F2;
  --gray3: #7A7B7F;
  --gray4: #F0F0F0;
  --gray5: #ebebeb;
  --gray6: #C9C9C9;
  --bgw: #FFFFFF;
  --bg_main: #fff;
  --fcw: #FFFFFF;
  --color01: #2CA639;
  --color02: #F8DF06;
  --color03: #667F62;
  --color04: #A8B6A5;
  --color05: #8BAE85;
  --color06: #20391C;
  --gradation: linear-gradient(to right, #FACB05, #FF7600);
  --shadow: 0 3px 10px rgba(0, 0, 0, .16);
  --shadow2: 0px 5px 11px rgba(0, 0, 0, .16);
  --shadow2: 0px 3px 6px rgba(0, 0, 0, .16);
  --noto: "Noto Sans JP", "小塚ゴシック Pro", "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  --serif: "Noto Serif JP","Noto Sans JP", "小塚ゴシック Pro", "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  --poppins: "Poppins", "Noto Sans JP", "小塚ゴシック Pro", "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  --fz0: 1.2rem;
  --fz1: 1.4rem;
  --fz2: 1.6rem;
  --fz3: 1.8rem;
  --fz4: 2.4rem;
  --fz5: 3.6rem;
  --fz6: 20.0rem;
  --green01: #6CB45B;
  --green02: #C7E8BF;
	--blue: #0061A2;
}
body {
  background: var(--bg_main);
  color: var(--main);
  font-family: var(--noto);
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.05em;
  -webkit-text-size-adjust: 100%;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.6rem;
  }
}
.os {
  font-family: var(--os);
}
.msd {
  font-family: var(--msd);
}
/* 背景色 */
.bg_gray {
  background-color:#EAEAEA !important;
}
.ft_bg_gray {
  background-color:#333 !important;
}
.bg_gray02 {
  background: var(--gray2)
}
.bg_w {
  background-color: var(--bgw);
}
.color_01 {
  color: var(--color01) !important;
}
.color_02 {
  color: var(--color02) !important;
}
.f_white {
  color: var(--fcw) !important;
}
.f_gray {
  color: var(--gray) !important;
}
.hidden {
  overflow: hidden;
}
.z_2 {
  z-index: 2;
}
/* アコーディオン */
.acMenu > dd {
  display: none;
}
.fw_500 {
  font-weight: 500;
}
.fw_n {
  font-weight: normal;
}
.dib {
  display: inline-block;
}
/* ------------------------------------------------------------------------- *
 *  WordPressのネイティブcss
/* ------------------------------------------------------------------------- */
.blog_article_area p {
  display: block;
  margin: 1em 0;
}
.blog_article_area h1, h2, h3, h4, h5, h6, ul, li, img, table, tr, th, td, dl, dt, dd {
  font-weight: normal;
  margin: 0px;
  padding: 0px;
  border: none;
  list-style-type: none;
}
.blog_article_area strong {
  font-weight: bold;
}
.blog_article_area em {
  font-style: italic;
}
.blog_article_area blockquote {
  display: block;
  -webkit-margin-before: 1em;
  -webkit-margin-after: 1em;
  -webkit-margin-start: 40px;
  -webkit-margin-end: 40px;
}
/*  base : img
/* ------------------------------------ */
.blog_article_area .aligncenter {
  display: block;
  margin: 0 auto;
}
.blog_article_area .alignright {
  float: right;
}
.blog_article_area .alignleft {
  float: left;
}
img[class*="wp-image-"], .blog_article_area img[class*="attachment-"] {
  max-width: 100%;
  height: auto;
}
.breadcrumb {
  white-space: nowrap;
  overflow: hidden;
}
/* ------------------------------------------------------------------------- *
 *  WP-PageNavi
/* ------------------------------------------------------------------------- */
.wp-pagenavi {
  display: flex;
  justify-content: center;gap:15px;align-items: center;
}
.wp-pagenavi span, .wp-pagenavi a {
  display: inline-block;
  min-width: 40px;
  padding: 0 0px;
  text-align: center;
  font-size: 1.6rem;
  line-height: 40px;border: none;
}
.wp-pagenavi .pages {
  padding: 0 10px;display: none;
}
.wp-pagenavi .current {
  font-weight: bold;
	border: 1px solid var(--sub);
  background-color: var(--bgw);
	color: var(--sub);border-radius: 50%;
}

.wp-pagenavi a:hover, .wp-pagenavi span.current{
	    border-color: var(--sub);
	
}

.wp-pagenavi .previouspostslink,.wp-pagenavi .nextpostslink{position: relative;}
.wp-pagenavi .nextpostslink::after{content: ""; width: 15px;height: 15px;transition: 0.2s; transform :rotate(45deg);border-top: 2px solid #000;border-right: 2px solid #000; position: absolute;right: -25px;top: 12px;font-size: 2.0rem;}

.wp-pagenavi .nextpostslink:hover:after{right: -30px;}

.wp-pagenavi .previouspostslink::after{content: ""; width: 15px;height: 15px;transition: 0.2s; transform :rotate(225deg);border-top: 2px solid #000;border-right: 2px solid #000; position: absolute;left: -25px;top: 12px;font-size: 2.0rem;}

.wp-pagenavi .previouspostslink:hover:after{left: -30px;}

/* CSS Document */
.site_wrapper {
  width: 1080px;
  margin: 0 auto;
  text-align: left;
  position: relative;
}
@media screen and (max-width: 767px) {
  .site_wrapper {
    width: 100%;
    box-sizing: border-box;
  }
}
.indent_content {
  padding: 150px 0;
	margin-bottom: 250px;
  position: relative;
}

.indent_content_02 {
  margin: 150px 40px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .indent_content {
    padding: 80px 20px;
	  margin-bottom: 260px;
  }
  .indent_content_02 {
    margin: 80px 20px;
  }
	
}
.sp_indent15_lr {}
.sp_indent20_lr {}
@media screen and (max-width : 767px) {
  .sp_indent15_lr {
    padding: 0 15px;
  }
  .sp_indent20_lr {
    padding: 0 20px;
  }
}
#wrapper_all {
  text-align: center;
  min-width: 1120px;
  position: relative;
  z-index: 1;
}
#top {
/*  overflow-x: hidden;
  overflow-y: auto;*/
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  #wrapper_all {
    min-width: 100%;
  }
}
.ma {
  margin: auto;
}
@media(min-width: 767px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
/* hd_nav　ヘッダー
-------------------------------------------------------------------*/


header.header {
position: fixed;
  z-index: 999;  /*  */
  width: 100%;top: 0;left: 0;
  background-color: transparent;
  transition: background-color .4s, box-shadow .4s, height .4s;
}
@media screen and (max-width: 767px) {
	header.header {
	margin-bottom: 0;
	}
	header.is-scroll#headWrap{top: 0;}
}
header .header_h1_bg {background: var(--main);  max-height: 35px; transition: .4s;}

header.is-scroll .header_h1_bg {
  overflow: hidden;
  max-height: 0;
}



.header_h1_bg h1{/*width: 1080px;*/max-width: 100%;margin: auto;padding: 5px 40px;
	font-size: 1.2rem;
	color: var(--fcw);
	font-weight: 500;
	text-align: left;
}
@media screen and (max-width: 1400px) {
.header_h1_bg h1{
	font-size: 1.2rem;padding: 5px;
}
}
@media screen and (max-width: 767px) {
.header_h1_bg h1{
	font-size: 0.8rem;
}
}

.header_in {
  position: relative;
}





.area_hd01 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--bg_main);
  padding: 20px 40px;
}
@media screen and (max-width: 1300px) {
  .area_hd01 {
    padding: 20px;
  }
}
@media screen and (max-width: 767px) {
  .area_hd01 {
  }
}
.area_hd01 .left_area {
	width: 350px;
	display: flex;
	align-items: center;
}
@media screen and (max-width: 1300px) {
.area_hd01 .left_area {
	width: 230px;
}	
}
@media screen and (max-width: 900px) {
.area_hd01 .left_area,.area_hd01 .left_area p a{
	display: block;
	width: 180px;
}
}




.area_hd01 .right_area {}
@media screen and (max-width: 1200px) {
  .area_hd01 .right_area {}
}
.btn_head_contact {
  display: flex;
  gap: 20px;
  justify-content: flex-end;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .btn_head_contact {
    gap: 15px;
    justify-content: flex-end;
    margin-bottom: 0;
    align-items: center;
  }
}
.btn_head_contact > li:nth-child(1) a {
  display: flex;
  gap: 10px;
  align-items: center;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .btn_head_contact > li:nth-child(1) a {
    gap: 5px;
  }
}
.btn_head_contact > li:nth-child(1) a svg {
  width: 40px;
}
@media screen and (max-width: 767px) {
  .btn_head_contact > li:nth-child(1) a svg {
    width: 25px;
    height: 28px;
  }
}
.btn_head_contact > li:nth-child(1) a div p:first-child {
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.2;
	color: var(--sub);
}
@media screen and (max-width: 767px) {
  .btn_head_contact > li:nth-child(1) a div p:first-child {
    font-size: 1.9rem;
    letter-spacing: 0;
  }
}
.btn_head_contact > li:nth-child(1) a div p:last-child {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .btn_head_contact > li:nth-child(1) a div p:last-child {
    font-size: 1.0rem;
  }
}
.btn_head_contact > li:nth-child(1) a svg path {
  fill: var(--sub);
}
.btn_head_contact > li:nth-child(2) a {
  background: var(--sub);
  padding: 17px 15px 0px;
  display: block;
  border-radius: 5px;
  width: 65px;
  height: 65px;
}
@media screen and (max-width: 767px) {
  .btn_head_contact > li:nth-child(2) a {
    padding: 7px 6px 0px;
    width: 40px;
    height: 40px;
  }
}
.btn_head_contact > li:nth-child(2) a svg {
  width: 35px;
}
@media screen and (max-width: 767px) {
  .btn_head_contact > li:nth-child(2) a svg {
    width: 22px;
    height: 17px;
  }
}
.btn_head_contact > li:nth-child(3) {
  display: none;
}
@media screen and (max-width: 767px) {
  .btn_head_contact > li:nth-child(3) {
    display: block;
  }
}
.btn_head_contact > li a:hover {
  opacity: 1;
}
.g_nav > ul::after{display: none;}
.g_nav > ul {
  display: flex;
  justify-content: flex-end;
gap: 15px;
	padding: 0 ;
}
.g_nav > ul > li {
}
.g_nav > ul > li > a{
  display: block;
  position: relative;
  font-weight: 500;
  font-size: 1.6rem;
  text-align: center;
  line-height: 50px;
  cursor: pointer;
  padding:0 10px;
}
.g_nav > ul > li > a:hover{
color:var(--sub);
	opacity: 1;
	transition: 0.3s;
}
.g_nav > li a:hover, .g_nav > li.current a {
  color: #ccc;
}

.g_nav > ul > li.head_rec a{background: var(--main);color: var(--fcw);border-radius: 50px;width: 160px;margin-left: 10px;}
.g_nav > ul > li.head_con a{background: var(--sub);color: var(--fcw);border-radius: 50px;width: 160px;}

.g_nav > ul > li.head_rec a:hover{border-radius: 15px;letter-spacing: 0.2em;}
.g_nav > ul > li.head_con a:hover{border-radius: 15px;letter-spacing: 0.2em;}

@media screen and (max-width: 1300px) {

	.g_nav > ul > li > a{font-size: 1.4rem;padding: 0;line-height: 40px;}
.g_nav > ul > li.head_rec a{border-radius: 40px;width: 100px;margin-left: 0px;}
.g_nav > ul > li.head_con a{border-radius: 40px;width: 110px;}
}
@media screen and (max-width: 900px) {
    .g_nav > ul {gap:10px;}
	.g_nav > ul > li > a{font-size: 1.2rem;}
}

/*ナビのスタイル*/
nav.NavMenu {
  position: fixed;
  z-index: 12;
  top: 0;
  left: 0;
  background: rgba(44, 167, 57, .95);
  text-align: left;
  width: 100%;
  height: 100%;
  display: none;
  padding: 40px 20px;
  box-sizing: border-box;
}
nav.NavMenu > ul {
  /*  width: 100%;
  height: 80%;
  margin: 0 auto;
  padding: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
*/
}
nav.NavMenu > ul > li {
  font-size: 1.6rem;
  text-align: left;
  list-style-type: none;
  border-bottom: 1px solid var(--bgw);
  width: 100%;
  padding-bottom: 0px;
}
nav.NavMenu > ul > li:last-child {
  padding-bottom: 0;
}
nav.NavMenu > ul > li > a, nav.NavMenu > ul > li > p {
  display: block;
  padding: 15px;
  font-weight: bold;
  font-size: 15px;
  color: var(--bgw);
}
.acMenu2 {
  color: #fff;
  position: relative;
}
.in_menu {
  display: none;
  background: var(--bgw);
  padding: 0 20px 20px 20px;
  margin: 0 20px 20px 20px;
}
.in_menu > li {}
.in_menu > li > a {
  display: block;
  padding: 15px 0;
  font-size: 1.4rem;
  position: relative;
  border-bottom: 1px solid var(--gray4);
}
.in_menu > li > a figure {
  display: flex;
  grid-gap: 0 10px;
  align-items: center;
}
.in_menu > li > a figure img {
  width: 85px;
  display: block;
}
.g_nav_ex .in_menu > li > a {
  color: #F8B62C;
}
.g_nav_sole .in_menu > li > a {
  color: var(--color02);
}
.g_nav_ex .in_menu > li a::before {
  content: "";
  width: 20px;
  position: absolute;
  left: 0;
  bottom: -1px;
  border-bottom: 1px solid #F8B62C;
  z-index: 2;
}
.g_nav_sole .in_menu > li > a::before {
  content: "";
  width: 20px;
  position: absolute;
  left: 0;
  bottom: -1px;
  background: var(--color02);
  z-index: 2;
}
.acMenu2:after {
  border-right: solid 2px #fff;
  border-top: solid 2px #fff;
  content: "";
  display: block;
  height: 10px;
  position: absolute;
  right: 20px;
  top: 20px;
  transform: rotate(135deg);
  transition: transform .3s ease-in-out, top .3s ease-in-out;
  width: 10px;
}
nav.NavMenu > ul > li p.active:after {
  top: 25px;
  transform: rotate(-45deg);
}
/*ボタンのスタイル*/
.tog_box {
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.Toggle {
  position: relative;
  width: 30px;
  height: 25px;
  cursor: pointer;
  z-index: 13;
  display: block;
  margin: 0 auto;
	transition: .35s;
	top: auto;right: auto;
}
.Toggle.active {
  position: fixed;
  top: 40px;
  right: 20px;
}
.Toggle span {
  display: block;
  position: absolute;
  width: 30px;
  border-bottom: solid 2px var(--sub);
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
  left: 0;
}
.Toggle span:nth-child(1) {
  top: 0px;
}
.Toggle span:nth-child(2) {
  top: 10px;
}
.Toggle span:nth-child(3) {
  top: 21px;
}
.Toggle.active span:nth-child(1) {
  top: 8px;
  left: 0;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
  border-bottom: solid 2px var(--fcw);
}
.Toggle.active span:nth-child(2), .Toggle.active span:nth-child(3) {
  top: 8px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
  border-bottom: solid 2px var(--fcw);
}
.sp_con_btn {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp_con_btn {
    display: block;
    position: absolute;
    right: 60px;
    top: 0;
    width: 60px;
  }
  .sp_con_btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    background: var(--color01);
  }
}
.tit_cat {
  background-color: var(--main);
  text-align: center;
  padding: 10px 20px;
  font-weight: bold;
  font-size: 2.0rem;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .tit_cat {
    font-size: 1.4rem;
  }
}

.col_1_1 {
  width: 100%;
  text-align: left;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.col_1_1 > li {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .col_1_1 > li {
    width: 100%;
  }
}
.col_1_2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.col_1_2 > .left_area {
  width: 36%;
}
.col_1_2 > .right_area {
  width: 60%;
}
@media screen and (max-width: 767px) {
  .col_1_2 {
    display: block;
  }
  .col_1_2 > .left_area {
    width: 100%;
    margin-bottom: 10px;
  }
  .col_1_2 > .right_area {
    width: 100%;
  }
}
.col_2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.col_2 > li, .col_2 > .left_area, .col_2 > .right_area {
  width: 48%;
}
@media screen and (max-width: 767px) {
  .col_2 {
    justify-content: center;
  }
  .col_2 > li {
    width: 100%;
    margin-bottom: 60px;
    overflow: hidden;
  }
  .col_2 > .left_area, .col_2 > .right_area {
    width: 100%;
  }
}
.col_3 {
  display: flex;
  flex-wrap: wrap;
}
.col_3 > li {
  width: 31.333%;
  margin-right: 3%;
}
.col_3 > li:nth-child(3n) {
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .col_3 {
    justify-content: center;
  }
  .col_3 > li {
    width: 100%;
    margin-bottom: 60px;
    overflow: hidden;
  }
}
/* トップページメインイメージ */
.ttl_01 {
  margin-bottom: 40px;
	text-align: left;
	line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .ttl_01 {
    margin-bottom: 30px;
  }
}
.ttl_01 p{
	font-family: var(--poppins);
	font-size: 8rem;letter-spacing: 0.05em;font-weight: 600;
}
@media screen and (max-width: 767px) {
.ttl_01 p{
	font-size: 4rem;
}
}
.ttl_01 h2{
	font-size: 2.2rem;
	font-weight: bold;letter-spacing: 0.1em;
	color: var(--sub);
}
@media screen and (max-width: 767px) {
.ttl_01 h2{
	font-size: 1.4rem;
}
}

.ttl_01.white p{
	color: #fff;
}
.ttl_01 svg{
	margin-right: 10px;
}
.ttl_01.white h2{
	color: #fff;
}

.ttl_02 {
  position: relative;
  font-size: 2.6rem;
  font-weight: 500;
  padding-left: 40px;
  line-height: 1;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .ttl_02 {
    font-size: 2rem;
    padding-left: 25px;
    margin-bottom: 15px;
  }
}
.ttl_02::before {
  content: "";
  background-image: url("img/common/circle_ye.svg");
  width: 25px;
  height: 25px;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .ttl_02::before {
    background-size: 15px;
    width: 15px;
    height: 15px;
    top: 2px;
  }
}
.ttl_03 {
  position: relative;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1;
  padding-bottom: 15px;
  margin-bottom: 30px;
  border-bottom: 1px solid var(--main);
  color: var(--orange01);
}
@media screen and (max-width: 767px) {
  .ttl_03 {
    font-size: 1.8rem;
    margin-bottom: 15px;
  }
}

.ttl_04 {margin-bottom: 70px;}
.ttl_04 h4{color: var(--sub);}
.ttl_04 .en{font-family: var(--poppins);color: var(--fcw);font-style: italic;font-weight: 300; font-size: 5.0rem;letter-spacing: 0.1em;line-height: 1;}
@media screen and (max-width: 767px) {
.ttl_04 {margin-bottom: 40px;}
	.ttl_04 .en{font-size: 3.0rem;}
}

/* パンくずリスト
-------------------------------*/
nav#breadcrumbs {
  padding: 10px 0 0px;
}
@media screen and (max-width: 767px) {
  nav#breadcrumbs {
    padding: 10px 20px 0px;
  }
}
nav#breadcrumbs ol {}
nav#breadcrumbs ol li {
  display: inline;
  list-style-type: none;
  font-size: 1.2rem;
}
nav#breadcrumbs ol li:before {
  content: " / ";
}
nav#breadcrumbs ol li:first-child:before {
  content: "";
}
nav#breadcrumbs ol li svg {
  width: 15px;
}
.footer {position: relative;
/*	padding-top: 400px;*/
}
.footer_in{padding: 300px 0 80px;}
@media screen and (max-width: 767px) {
  .footer {padding-top: 0px;
  }
	.footer_in{padding: 300px 0 30px;}
}
.contact_box_outer{position: absolute;/*top: 150px;*/top: -250px;left: auto;right: auto;width: 100%;}
.contact_box{background: var(--sub);color: var(--fcw);width: 1080px;max-width: 100%;margin:0 auto;border-radius: 10px;padding: 60px 80px;}

.contact_box_in{display: flex;flex-wrap: wrap;border-right: 1px solid #fff; }
.contact_box_in > div{width: 50%; border-left: 1px solid #fff;padding: 0 50px;line-height: 1.5;}


.contact_box_btn_01 a{display: block;color: var(--fcw);font-weight: bold;padding: 25px;border-radius: 5px;text-align: center;background:url( "img/common/arrow_13.png") no-repeat right 20px center/25px 25px var(--main);}

.contact_box_l .txt{margin-bottom: 30px;}
.contact_box_r .txt{margin-bottom: 32px;}
.contact_box_r .mini{font-size: 1.4rem;}

.contact_box_btn_02 a{display: block;color: var(--sub);font-family: var(--poppins); padding:10px 25px;border-radius: 5px;text-align: center;background:var(--bgw);font-size: 3.6rem;font-weight: 600;font-style: italic;}
.contact_box_btn_02 a img{vertical-align: middle;margin-right: 5px;}


@media screen and (max-width: 767px) {
.contact_box_outer{top: -260px;padding: 0 20px;}
.contact_box{padding: 20px;}
	.contact_box_in{border: none;}
	.contact_box_in > div.contact_box_l{width: 100%;border-left: none; border-bottom: 1px solid #fff;padding: 0px 0 30px 0;margin-bottom: 30px;}
	.contact_box_in > div.contact_box_r{padding: 0;width: 100%;border-left: none;}
	
	.contact_box_btn_02 a{font-size: 2.4rem;padding: 20px;}
	
}


.ttl_con{margin-bottom: 60px;}

.ttl_con p{
	font-family: var(--poppins);
	font-size: 8rem;letter-spacing: 0.05em;font-weight: 600;line-height: 1.1;
}
@media screen and (max-width: 767px) {
	.ttl_con{margin-bottom: 20px;}
.ttl_con p{
	font-size: 4rem;
}
}
.ttl_con h2{
	font-size: 2.2rem;
	font-weight: bold;letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
.ttl_con h2{
	font-size: 1.4rem;
}
}


.footer_info{text-align: center;margin-bottom: 50px;padding: 0 20px;}

ul.ft_nav::after{display: none;}
.ft_nav {display: flex;flex-wrap: wrap;gap:15px 0 ;justify-content: center;}
.ft_nav > li{
  font-size: 1.4rem;
	padding: 0 20px;line-height: 1.2;
	border-right: 1px solid #000;
}
.ft_nav > li:nth-child(1){border-left: 1px solid #000;}

@media screen and (max-width: 767px) {
	.ft_nav {border-right:none;padding: 0 0 0 30px;justify-content: flex-start;width: 340px;}
	.ft_nav > li {text-align: left;padding: 0;
		border: none !important;
	}
	.ft_nav > li:nth-child(odd){width: 120px;}
	.ft_nav > li:nth-child(even){width: 150px;}
	

}


.ft_bnr > li{
	width: 49%;
}
.ft_cmic_bnr{max-width: 48%;}
@media screen and (max-width: 767px) {
.ft_bnr > li{
	width: 100%;
}
}

.border_wh{
	border-bottom:#fff 1px solid;
}
.copy {
  font-size: 1.2rem;
  letter-spacing: 0;
	border-top: #000 1px solid;
	background: var(--gray2);
	padding: 15px;text-align: center;
}
@media screen and (max-width: 767px) {
  .copy {
    font-size: 1.0rem;
  }
}
.ft_logo {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .ft_logo {
    margin-top: 40px;
  }
}
.btn_top {
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 10;
  /*デフォルトで非表示にする*/
  opacity: 0;
  visibility: hidden;
  transition: .3s;
}
@media screen and (max-width: 767px) {
  .btn_top {
    width: 50px;
    bottom: 5px;
    right: 5px;
  }
}
.btn_top.active {
  opacity: 1;
  visibility: visible;
}
.footer.mb_none .btn_top {
  bottom: 5%;
}
@media screen and (max-width: 767px) {
  .footer.mb_none .btn_top {
    bottom: 15px;
    right: 15px;
  }
}
/* スライドの動き等速 */
.ft_logo .swiper-wrapper {
  transition-timing-function: linear;
}
/* 画像のサイズ調整 */
.ft_logo .swiper-slide img {
  height: auto;
  width: 100%;
}
/*　内部ページ　*/
.page_main_img {
  margin: auto;
  width: 88%;
}
@media screen and (max-width: 767px) {
  .page_main_img {
    width: 100% !important;
    position: relative;
    overflow: hidden;
    padding-top: 180px;
  }
  .page_main_img > img {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    display: block;
    height: 100%;
    width: 100%;
    object-fit: cover;
    z-index: 2;
  }
}
.page_tit {
	margin-top: 124px;
  padding: 145px 0;
  box-sizing: border-box;
  position: relative;
  color: #fff;
  background-image: url("img/news/bg_ttl.webp");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page_tit {
	  margin-top: 98px;
    padding: 60px 20px;
  }
}
.page_tit::before{
	position: absolute;
	bottom: 0;
	right: 0;
	font-size: 15rem;
	font-weight: 200;
	mix-blend-mode: overlay;
	color: rgba(0,0,0,0.3);
font-family: var(--poppins);
	line-height: 0.7;	
	letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
	.page_tit::before{
	font-size: 5rem;
}
}
.bg_ttl_company{
  background-image: url("img/company/bg_ttl.webp");
}
.bg_ttl_company::before{
	content: "COMPANY";
}
.bg_ttl_business{
  background-image: url("img/business/bg_ttl.webp");
}
.bg_ttl_business::before{
	content: "BUSINESS";
}
.bg_ttl_products{
  background-image: url("img/products/bg_ttl.webp");
}
.bg_ttl_products::before{
	content: "PRODUCTS";
}
.bg_ttl_privacy{
  background-image: url("img/privacy/bg_ttl.webp");
}
.bg_ttl_privacy::before{
	content: "PRIVACY POLICY";
}
.bg_ttl_recruit{
  background-image: url("img/recruit/bg_ttl.webp");
}
.bg_ttl_recruit::before{
	content: "RECRUIT";
}
.bg_ttl_contact{
  background-image: url("img/contact/bg_ttl.webp");
}
.bg_ttl_contact::before{
	content: "CONTACT";
}
.bg_ttl_entry{
  background-image: url("img/entry/bg_ttl.webp");
}
.bg_ttl_entry::before{
	content: "ENTRY";
}
.bg_ttl_news{
  background-image: url("img/news/bg_ttl.webp");
}
.bg_ttl_news::before{
	content: "NEWS";
}

.page_tit .ja {
  font-size: 2rem;
  font-weight: 600;letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .page_tit .ja {
    font-size: 1.6rem;
  }
}
.page_tit .en {
  text-transform: uppercase;
  font-size: 5rem;letter-spacing: 0.05em;font-weight: 600;
	font-family: var(--poppins);
}
@media screen and (max-width: 767px) {
  .page_tit .en {
    font-size: 2.4rem;
  }
}


.in_copy {
  font-size: var(--fz5);
  font-weight: bold;
}
/*　会社概要　*/
.com_dl {
  width: 100%;
}
.com_dl tr th {
  width: 20%;
  border-bottom: 1px solid var(--gray3);
  padding: 25px 0;
  font-weight: bold;
}
.com_dl tr td {
  width: 80%;
  border-bottom: 1px solid var(--gray3);
  padding: 25px;
}
@media screen and (max-width: 767px) {
  .com_dl {
    display: block;
  }
  .com_dl tbody {
    display: block;
    width: 100%;
  }
  .com_dl tr {
    display: block;
    width: 100%;
  }
  .com_dl tr th {
    width: 100%;
    display: block;
    padding: 15px;
  }
  .com_dl tr td {
    width: 100%;
    display: block;
    padding: 15px;
  }
}
.con_address {
  margin-bottom: 10px;
}
.con_address br {
  display: block !important;
}
/* アクセス */
.google_add a {
  color: var(--main);
  border-bottom: 1px dashed var(--main);
}
.access_tel {
  margin-bottom: 30px;
  font-size: 3.0rem;
  font-weight: bold;
}
.access_tel svg {
  width: 25px;
  margin-right: 5px;
  vertical-align: sub;
  fill: var(--sub);
}
.access_gal {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.access_gal li {
  width: 25%;
}
@media screen and (max-width: 767px) {
  .access_gal li {
    width: 50%;
  }
  .access_gal li img {
    width: 100%;
  }
}

/*　お問い合わせ　*/
.box_tel {
  color: var(--sub);
  line-height: 1.4;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .box_tel {
    text-align: left;
  }
}
.contact_tel a {
  display: block;
}
.contact_tel {
  border: var(--gray3) 1px solid;
  text-align: center;
  padding: 20px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .contact_tel {
    border: var(--gray3) 1px solid;
    text-align: center;
    padding: 15px;
    margin-bottom: 20px;
  }
}
.txt_00 {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .txt_00 {
    font-size: 1.4rem;
    text-align: left;
  }
}
.box_tel_contact {
  background: #fff;
  padding: 30px;
  text-align: center;
  border: #6CB45B 2px solid;
  border-radius: 10px;
  margin-bottom: 150px;
}
@media screen and (max-width: 767px) {
  .box_tel_contact {
    padding: 20px;
    margin-bottom: 40px;
  }
}
.box_tel_contact > p {
  font-size: 2.4rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .box_tel_contact > p {
    font-size: 1.6rem;
  }
}
.box_tel_contact .tel_text {
  margin-top: 0;
}
.contact_list_txt {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .contact_list_txt {
    margin-bottom: 50px;
  }
}
.contact_list_txt > li {
  text-indent: -1em;
  padding-left: 2em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .contact_list_txt > li {
    font-size: 1.4rem;
    margin-bottom: 10px;
  }
}
.contact_list_txt > li::before {
  content: "●";
  color: var(--sub);
  padding-right: 10px;
}
.ico_required {
  color: #fff;
  font-size: 1.2rem;
  background: #DE1E1E;
  line-height: 1;
  padding: 2px 10px;
  margin-left: 15px;
}
.contact_form {
  width: 100%;
	box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .contact_form {
    display: block;
  }
}
.contact_form dl {
  display: flex;
  justify-content:flex-end;
  margin-bottom: 30px;
	gap:2%;
}
@media screen and (max-width: 767px) {
  .contact_form dl {
    flex-wrap: wrap;
    gap: 10px;
  }
}
.contact_form dt {
  width: 30%;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .contact_form dt {
    width: 100%;
  }
}
.contact_form dd {
  width: 68%;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .contact_form dd {
    width: 100%;
  }
}
.contact_form input, .contact_form textarea {
  box-sizing: border-box;
  padding: 15px;
  border: 1px solid var(--gray6);
}
.contact_form input[type=text], .contact_form input[type=email], .contact_form input[type=tel] {
  width: 100%;
  font-size: 1.6rem;
}
.contact_form input.zip{
	width: 20%;
}
.contact_form input.zip02{
	width: 30%;
}
.contact_form textarea {
  width: 100%;
  height: 250px;
  line-height: 1.6;
}
.contact_form select {
  width: 100%;
  padding: 15px;
  border: none;
}

.contact_form input[type=submit] {
    background: url("img/contact/btn_ico.png")no-repeat right 20px center var(--main);
    width: 300px;
    max-width: 100%;
    font-size: 1.6rem;
    color: #fff;
    font-weight: 700;
    display: block;
    text-align: center;
    padding: 25px 30px;
    border-radius: 50px;
    margin:100px auto 0;
    line-height: 1;
    border: 0;
    letter-spacing: .1em;
    transition: .5s all;
    -webkit-transition: .5s all;
    -moz-transition: .5s all;
    -o-transition: .5s all;
    -ms-transition: .5s all;
    -webkit-appearance: none;
	cursor: pointer;}
.contact_form input[type=submit]:hover{border-radius: 0;}

@media screen and (max-width: 767px) {
  .contact_form input[type=text], .contact_form input[type=email] {
    font-size: 1.6rem;
  }
.contact_form input[type=submit] {margin: 60px auto 0;}
	
  .contact_form input, .contact_form textarea, .contact_form select {
    font-size: 1.6rem;
    margin: 4px 0;
    padding: 10px;
  }
  .contact_form textarea {
    height: 150px;
  }
}
select.time, select.lesson {
  padding: 10px;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  select.time, select.lesson {
    width: 100%;
  }
}
.contact_form select option {
  line-height: 2 !important;
  font-size: 1.6rem;
}
#contact_form {
  padding: 150px 20px 350px;
}
.btn_submit input {
  background: var(--blue);
	border: var(--blue) 2px solid;
  padding: 15px 100px;
  border-radius: 50px;
  color: #fff;
  font-size: 2rem;
  font-weight: 500;
  margin: 0 auto;
  display: block;
  font-family: var(--poppins);
}
@media screen and (max-width: 767px) {
	#contact_form {padding: 60px 20px 360px;}
	.btn_submit input {
  font-size: 1.6rem;
	}
}
.btn_submit input:hover {
background: #ffff;
	color: var(--blue);
}
.btn_02 > a {
  background: #fff;
  color: #6CB45B;
  padding: 15px 30px;
  width: 265px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  border-radius: 50px;
  border: #fff 1px solid;
}
.btn_02 > a:hover {
  background-color: #6CB45B;
  color: #fff;
  opacity: 1;
}

.btn_03 {
  width: 100%;
  max-width: 200px;
  text-align: center;
}
.btn_03 a {
  background: url("img/common/arrow_13.png") no-repeat right 20px center /20px auto var(--main);
  width: 100%;
  padding: 16px ;
  position: relative;letter-spacing: 0.1em;
  display: block;font-weight: bold;
  border-radius: 50px;color: var(--fcw);
/*  border: 2px solid var(--gray);*/
  line-height: 1;
}


.btn_black_02 {
  width: 300px;
  margin: auto;
  max-width: 100%;
}
.btn_black_02 a, .btn_black_02 input {
  background: var(--color01);
  font-size: 1.6rem;
  color: #fff;
  display: block;
  text-align: center;
  padding: 20px 30px;
  border-radius: 50px;
  line-height: 1;
  border: 0;
  letter-spacing: 0.1em;
  transition: 0.5s all;
  -webkit-transition: 0.5s all;
  -moz-transition: 0.5s all;
  -o-transition: 0.5s all;
  -ms-transition: 0.5s all;
  width: 100%;
  -webkit-appearance: none;
  cursor: pointer;
}
.btn_black_02 input:hover {
  cursor: pointer;
  border-radius: 0;
}
/*ggmap
--------------------------------*/
.ggmap iframe {
  border: none;
}
@media screen and (max-width: 767px) {
  .ggmap {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
  }
  .ggmap iframe, .ggmap object, .ggmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
/*-----------------------------------------*/

.swiper {
  overflow: hidden;
}
/* 前へ次への矢印カスタマイズ */
.swiper-button-prev::after, .swiper-button-next::after, .swiper-rtl .swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
  bottom: 0;
  content: "";
  height: 0;
  margin: auto;
  position: absolute;
  top: 0;
  width: 0;
}



/* 画像サイズ調整
.swiper-slide img {
  height: auto;
  width: 100%;
}
 */

.com_dl {
  display: flex;
  border-bottom: #ccc 1px solid;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .com_dl {
    margin-bottom: 20px;
  }
}
.com_dl dt {
  width: 30%;
  padding: 15px 0;
  box-sizing: border-box;
  font-size: 2rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .com_dl dt {
    width: 100%;
    font-size: 1.6rem;
    padding: 0;
  }
}
.com_dl dd {
  width: 70%;
  padding: 15px 0;
  box-sizing: border-box;
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .com_dl dd {
    width: 100%;
    font-size: 1.4rem;
    padding: 10px 0;
  }
}
.d_none {
  display: none;
}
.pc_none {
  display: none;
}
.sp_none {
  display: block;
}
@media screen and (max-width: 767px) {
  .pc_none {
    display: block;
  }
  .sp_none {
    display: none;
  }
}


/*　ブログ　*/
.content_area {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.content_area .main_area {
  width: 68%;
}
.content_area .side_area {
  width: 20%;
}
.column_top li {
  margin-bottom: 20px;
}
.column_top li:last-child {
  margin-bottom: 0;
}

#news{position: relative;padding: 100px 0;}

#news .btn_more02 {display: flex;justify-content: flex-end; width: 100%;margin-top: 80px;}
#news .btn_more02 a{
    background: url(img/common/arrow_13.png) no-repeat right 20px center / 20px 20px var(--main);
    width: 260px;
    padding: 20px;
    position: relative;
    letter-spacing: 0.1em;
    display: block;
    font-weight: bold;
    border-radius: 50px;text-align: center;
    color: var(--fcw);
    border: 1px solid var(--main);
    line-height: 1;
}
@media screen and (max-width: 767px) {
	#news .btn_more02{justify-content: center;margin-top: 40px;}
}

.news_area{display: flex;flex-wrap: wrap;gap:0px 80px;}

.news_fl{width: 250px;}

.news_area .news_list{width: calc(100% - 330px);display: grid;gap:20px;}

.news_list li {border: 1px solid var(--gray3);position: relative;}

.news_list li a{display: block;padding: 20px 50px 20px 20px;background: url("img/common/arrow_02.webp")no-repeat right 20px center/28px auto;}

@media screen and (max-width: 767px) {
	
	
	#news{padding: 50px 20px;}
	
.news_fl{width: 100%;}

.news_area .news_list{width: 100%;}.news_list_tit{width: 100%;}
	.news_list li a{font-size: 1.2rem;padding: 10px 50px 10px 10px;background-position: right 10px center;}
}


.news_list .cat a {
  background-color: var(--sub);
  color: var(--fcw);
  padding: 3px 10px;
  font-size: 1.4rem;font-weight: 500;
  border-radius: 15px;line-height: 1;white-space: nowrap;
}
.news_list .caption .date{color: var(--gray);}


.news_ac_list .caption{font-size: 1.4rem; color: var(--gray);}
.news_ac_list .caption .date{padding-right: 15px;}
.news_list_tit {line-height: 1.5;width: 100%;z-index: 2;}
.news_list_tit a{padding-top: 10px;font-weight: 500;font-size: 1.6rem;line-height: 1.8;letter-spacing: 0.05em;display: block;width: 100%;}



ul.news_ac_list{display: flex;gap:30px 2%;flex-wrap: wrap;}
ul.news_ac_list > li{width: 32%;background: var(--bgw);box-shadow: var(--shadow);}
ul.news_ac_list::after{display: none;}

.news_ac_list > li .caption{padding: 20px;}


@media screen and (max-width: 767px) {
	ul.news_ac_list > li{width: 100%;}
	
}
.side_waku {border-top: 2px solid var(--sub);border-left: 1px solid var(--sub);border-right: 1px solid var(--sub);border-bottom: 1px solid var(--sub);padding: 20px 30px;}

.side_ttl {
  color: var(--sub);
  padding: 0px 0px 20px;margin-bottom: 20px;text-align: center;font-size: 2.2rem;font-weight: bold;letter-spacing: 0.05em;border-bottom: 1px solid var(--sub);
}
.side_txt_area a{border-bottom: 1px solid var(--main);position: relative;margin-left: 25px;}
.side_txt_area a::before{content: "＞";position: absolute;left: -25px;top: 0;line-height: 1.6;}


#blog{padding: 150px 0 250px;}
@media (max-width: 767px) {
#blog{padding: 40px 20px 260px;}
}
.list_blog01{color: var(--sub);font-size: 1.6rem;letter-spacing: 0.05em;}

.ttl_blog{font-size: 2.6rem;font-weight: bold;letter-spacing: 0.05em;padding: 30px 0 50px;border-bottom: 1px solid var(--main);margin-bottom: 50px;}

.blog_area{display: flex;justify-content: space-between;flex-wrap: wrap;}

.blog_area > .main_area{width: calc(75% - 50px);}

.blog_area > .sub_area{width: 25%;}
@media (max-width: 767px) {
	.ttl_blog{font-size: 2.0rem;line-height: 1.5;padding: 20px 0 30px; margin-bottom: 30px;}

.blog_area{padding: 0 0px 0px;}
	
.blog_area > .main_area{width: 100%;margin-bottom: 50px;}

.blog_area > .sub_area{width: 100%;}
}

#wysi {}
#wysi img{max-width: 100%;height: auto;}
#wysi h1, #wysi h2, #wysi h3, #wysi h4, #wysi h5, #wysi h6 {
  clear: both;
  font-family: "Raleway", Helvetica, Arial, sans-serif;
  font-weight: 600;
  margin-bottom: 15px;letter-spacing: 0.1em;
  margin:30px 0;
  color: var(--sub);
}
#wysi h1 a, #wysi h2 a, #wysi h3 a, #wysi h4 a, #wysi h5 a, #wysi h6 a {
  color: var(--sub);
  text-decoration: none;
}
#wysi h1 {
  line-height: 1.3;
  font-size: 3rem;
}
@media (min-width: 768px) {
  #wysi h1 {
    font-size: 4.0rem;
  }
}
#wysi h1 span {
  font-weight: bold;
}
#wysi h2 {
  line-height: 1.2;
  font-size: 2.4rem;
}
@media (min-width: 768px) {
  #wysi h2 {
    font-size: 3.2rem;
  }
}
#wysi h3 {
  font-size: 2.0rem;
  font-weight: 600;background: var(--gray2);padding: 10px 20px;
}
#wysi h4 {
  font-size: 1.8rem;
  margin-bottom: 12px;
}
#wysi h5 {
  text-transform: uppercase;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
}
#wysi h6 {
  font-weight: 700;
  text-transform: uppercase;
  font-size: 12px;
  font-size: 1.2rem;
  letter-spacing: 1px;
}
#wysi figure {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  #wysi figure {
    margin-bottom: 20px;
  }
}
#wysi img {
  display: block;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  #wysi img {
    display: block;
    margin-bottom: 20px;
  }
	
	#wysi iframe{max-width: 100%;}
}


#toc_container{padding:30px;margin-bottom:60px;}
#toc_container a{color: var(--main);}
@media screen and (max-width: 767px) {
#toc_container{padding:30px 10px 15px 0;margin-bottom:40px;}
}


/*------------------------------
	2.4 Base
------------------------------*/
#wysi ul, #wysi ol, #wysi dl, #wysi p, #wysi details, #wysi address, #wysi .vcard, #wysi figure, #wysi pre, #wysi fieldset, #wysi table, #wysi dt, #wysi dd, #wysi hr ,#wysi iframe{
  margin-bottom: 20px;
  margin-top: 0;
}
#wysi b, #wysi strong {
  font-weight: bold;
}
#wysi blockquote {
  clear: both;
  margin: 20px 0;
}
#wysi blockquote p {
  font-style: italic;
}
#wysi blockquote cite {
  font-style: normal;
  margin-bottom: 20px;
  font-size: 13px;
}
#wysi dfn, #wysi cite, #wysi em, i {
  font-style: italic;
}
#wysi figure {
  margin: 0;
}
#wysi address {
  margin: 20px 0;
}
#wysi hr {
  border: 0;
  border-top: 1px solid #e9e9e9;
  height: 1px;
  margin-bottom: 20px;
}
#wysi tt, #wysi kbd, #wysi pre, #wysi code, #wysi samp, #wysi var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  background-color: #e9e9e9;
  padding: 5px 7px;
  border-radius: 2px;
}
#wysi pre {
  overflow: auto;
  white-space: pre-wrap;
  max-width: 100%;
  line-height: 1.7;
  margin: 20px 0;
  padding: 20px;
}
#wysi details summary {
  font-weight: bold;
  margin-bottom: 20px;
}
#wysi details :focus {
  outline: none;
}
#wysi abbr, #wysi acronym, #wysi dfn {
  cursor: help;
  font-size: .95em;
  text-transform: uppercase;
  border-bottom: 1px dotted #e9e9e9;
  letter-spacing: 1px;
}
#wysi mark {
  background-color: #fff9c0;
  text-decoration: none;
}
#wysi small {
  font-size: 82%;
}
#wysi big {
  font-size: 125%;
}
#wysi ul, #wysi ol {
  padding-left: 20px;
}
#wysi ul {
  list-style: disc;
}
#wysi ol {
  list-style: decimal;
}
#wysi ul li, #wysi ol li {
  margin: 8px 0;
}
#wysi dt {
  font-weight: bold;
}
#wysi dd {
  margin: 0 20px 20px;
}


.blog_pn{color: var(--sub);font-size: 1.6rem;font-weight: 500;letter-spacing: 0.1em;}

.content_next_pre {
  display: flex;
  justify-content: space-between;
  position: relative;margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .content_next_pre {margin-bottom: 50px;}
}
.content_next_pre::before {
  content: "";
  background: #ccc;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.content_next_pre > li {
  box-sizing: border-box;
  display: flex;
}
@media screen and (max-width: 767px) {
  .content_next_pre > li {
    width: calc(50% - 20px);
  }
}
.content_next_pre > li a {
  display: flex;
  align-items: center;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .content_next_pre > li a {
    gap: 10px;
  }
}
.content_next_pre > li a.nextPost {
  flex-direction: row-reverse;
}
.content_next_pre > li a div p {
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .content_next_pre > li a div p {
    font-size: 1.5rem;
    margin-bottom: 5px;
  }
}
.content_next_pre > li a div h4 {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .content_next_pre > li a div h4 {
    font-size: 1.4rem;
    line-height: 1.3;
  }
}



#contact {
  background: url("img/common/bg_contact.webp") center top no-repeat;
  padding: 100px 0;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  #contact {
    padding: 60px 20px;
  }
}
#contact .txt_contact {
  font-size: 2rem;
  color: #3A833D;
  font-weight: 500;
  text-align: center;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  #contact .txt_contact {
    font-size: 1.6rem;
    margin-bottom: 40px;
    text-align: left;
  }
}
#contact div.box_white {
  background: #fff;
  padding: 30px 60px;
  border-radius: 15px;
  position: relative;
}
@media screen and (max-width: 767px) {
  #contact div.box_white {
    padding: 20px;
    border-radius: 10px;
  }
  #contact div.box_white .f_24 {
    font-size: 1.6rem !important;
  }
}
#contact .contact_btn {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  #contact .contact_btn {
    flex-wrap: wrap;
    gap: 20px;
  }
}
#contact .contact_btn > li {
  width: calc(50% - 10px);
}
@media screen and (max-width: 767px) {
  #contact .contact_btn > li {
    width: 100%;
  }
}
#contact .contact_btn > li a {
  display: flex;
  padding: 20px;
  width: 100%;
  align-items: center;
  justify-content: center;
  background: #6CB45B;
  border-radius: 10px;
  color: #fff;
  font-size: 3rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  #contact .contact_btn > li a {
    padding: 15px;
    border-radius: 10px;
    font-size: 2.0rem;
  }
}
#contact .contact_btn > li:nth-child(2) a {
  background: #F8B62C;
}
#contact .contact_btn > li a svg {
  margin-right: 20px;
  height: 40px;
}
@media screen and (max-width: 767px) {
  #contact .contact_btn > li a svg {
    margin-right: 10px;
    height: 25px;
  }
}
.btn_mail a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border: #F8B62C 1px solid;
  color: #F8B62C;
  font-size: 3rem;
  font-weight: 500;
  width: 100%;
  padding: 25px;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .btn_mail a {
    font-size: 1.6rem;
    padding: 15px;
    line-height: 1.3;
  }
}
.btn_mail a svg {
  margin-right: 20px;
}
@media screen and (max-width: 767px) {
  .btn_mail a svg {
    margin-right: 10px;
    height: 20px;
  }
}
.btn_mail a svg path {
  fill: #F8B62C;
}
.tel_text {
  color: #6CB45B;
  text-align: center;
  margin-top: 30px;
}
.tel_text p:first-child {
  font-size: 6rem;
  font-weight: 500;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .tel_text p:first-child {
    font-size: 3.2rem;
  }
}
.tel_text a {
  color: #6CB45B;
}
.img_contact01 {
  position: absolute;
  top: -10px;
  left: -150px;
}
.img_contact02 {
  position: absolute;
  top: -10px;
  right: -150px;
}
@media screen and (max-width: 767px) {
  .img_contact01, .img_contact02 {
    display: none;
  }
}
.ft_float {
  position: fixed;
  bottom: 10px;
  right: 10px;
	z-index: 10;
}
@media screen and (max-width: 767px) {
  .ft_float {
	  width: 160px;
	  right: 5px;
	  bottom: 5px;
  }
}
.js_close {
  display: none;
}
.flt_close {
  width: 40px;
  height: 40px;
  position: absolute;
  right: 5px;
  top: -20px;
  cursor: pointer;
  background: #42A995;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .flt_close {
    width: 25px;
    height: 25px;
    right: 5px;
    top: -15px;
  }
}
.flt_close span:nth-of-type(1) {
  position: absolute;
  top: 18.5px;
  right: 5px;
  width: 30px;
  height: 3px;
  background-color: #fff;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
.flt_close span:nth-of-type(1) {
  position: absolute;
  top: 12.5px;
  right: 5px;
  width: 15px;
  height: 1px;
  background-color: #fff;
  transform: rotate(45deg);
}
}
.flt_close span:nth-of-type(2) {
  position: absolute;
  top: 5px;
  right: 18.5px;
  width: 3px;
  height: 30px;
  background-color: #fff;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
.flt_close span:nth-of-type(2) {
  position: absolute;
  top: 5px;
  right: 12.5px;
  width: 1px;
  height: 15px;
  background-color: #fff;
  transform: rotate(45deg);
}
}
.txt_01{
	position:relative;
	padding-bottom: 15px;
	margin-bottom: 10px;
}
.txt_01::before{
content: "";
position: absolute;
background: #fff;
width: 25px;
height: 1px;
bottom: 10px;
left: 0;
}
/*下層css
---------------------------------------------------------*/

.page_ttl {
  font-size: 3.0rem;
  font-weight: bold;
  color: #6CB45B;
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .page_ttl {
    font-size: 2.0rem;
    font-weight: bold;
    color: #6CB45B;
    text-align: left;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .sp_indent_lr20 {
    padding: 0 20px;
  }
}
a.t_under {
  text-decoration: underline !important;
}


/* 20240724
-----------------------------------*/

.btn_01 {
  width: 100%;
  max-width: 200px;
  text-align: center;
}
.btn_01 a {
  background: url("img/common/arrow_11.png") no-repeat right 20px center /20px auto var(--bgw);
  width: 100%;
  padding: 16px ;
  position: relative;letter-spacing: 0.1em;
  display: block;font-weight: bold;
  border-radius: 50px;color: var(--main);
/*  border: 2px solid var(--gray);*/
  line-height: 1;
}
.btn_01 a ._icn {
  background: #fff url("img/common/btn_arow.svg") no-repeat center right 14px/19px;
  width: 46px;
  height: calc(100% - 8px);
  position: absolute;
  left: 4px;
  top: 4px;
  border-radius: 200px;
  text-align: center;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (max-width: 767px) {
	.btn_01 a ._icn {
  width: 42px;
	}
}
.btn_01 a ._txt {
  position: relative;
  z-index: 1;
  display: block;
  line-height: 1;
  font-weight: 500;
  font-size: 2rem;
  color: #fff;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (max-width: 767px) {
.btn_01 a ._txt {
   font-size: 1.6rem;
 }}
.btn_01 a:hover {
  opacity: 1;
}
.btn_01 a:hover ._txt {
  color: var(--blue);
}
.btn_01 a:hover ._icn {
  width: calc(100% - 8px);
}

.mv{
	overflow: hidden;padding:124px 40px 0;height: 854px;
/*	position: relative;
	padding: 270px 0;*/
}
.mv_swiper .slide-media,.mv_swiper .slide-media img{height: 730px;}
/*

.mv_swiper{position: absolute;top: 0;left: 0;height: 100%;}
*/
.slide-media img{
position: absolute;
    top: 0;
    left: 0;
    width: auto;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}
/**/
video.top_movie{position: relative;z-index: 1;width: 100%;height: 100%;object-fit: cover;}
.mv_swiper{display: none;}
.mv_sp_bg{display: none;}
@media screen and (max-width: 767px) {/**/
.mv{height: 80vh;}
video.top_movie{display: none;}
.mv_swiper{display: block;}
.mv_swiper .slide-media,.mv_swiper .slide-media img{/*height: 300px;*/height:80vh;}
.mv_sp_bg{display: block;background: url(./img/top/main_00_sp.webp)no-repeat center center / cover; height: 80vh;}

}
.swiper-container-fade {
  &.swiper-container-free-mode {
    .swiper-slide {
      transition-timing-function: ease-out;
    }
  }
  .swiper-slide {
    pointer-events: none;
    transition-property: opacity;
    .swiper-slide {
      pointer-events: none;
    }
  }
  .swiper-slide-active {
    &,
    & .swiper-slide-active {
      pointer-events: auto;
    }
  }
}
/*
.mv img{
object-fit: cover;	
	height: calc(100vh - 131px);
	width: 100%;
}
@media screen and (max-width: 767px) {
.mv img{
	height: calc(100vh - 160px);
}
}
*/
.mv_txt{
	width: 100%;max-width: 100%;margin: auto;text-align: left;
	color: var(--fcw);position: absolute;left: 0;z-index: 2;top: 400px;
	
}
.mv_txt_in{width: 1080px;max-width: 100%;margin: auto;}

@media screen and (max-width: 1300px) {
	.mv{padding: 110px 20px 0;}
	.mv_txt_in{padding:0 20px;}
}

@media screen and (max-width: 767px) {
		.mv{padding: 100px 15px 0;}
.mv_txt{
/*top: 200px;*/
top:40vh;
left: 0px;
}
		.mv_txt_in{padding:0 0 0 40px;}
}
.mv_txt p{
	font-size: 2.0rem;
	font-family: var(--poppins);
	font-style: italic;letter-spacing: 0.05em;
}
.mv_txt p:first-child{
	font-size: 5rem;
	line-height: 1.5;
	font-weight: bold;font-style: normal;
	letter-spacing: 0.1em;font-family: var(--serif);
}
.mv_txt p:first-child .mini{
	font-size: 4.4rem;
}

@media screen and (max-width: 767px) {
	.mv_txt p{font-size: 1.2rem;}
.mv_txt p:first-child{
	font-size: 2.4rem;
}
	.mv_txt p:first-child .mini{
	font-size: 1.8rem;
}
}

#content_01{
	padding: 150px 0;
}
@media screen and (max-width: 767px) {
#content_01{
	padding: 60px 0;
}
}

.content_01_in{display: flex;flex-wrap: wrap;flex-direction: row-reverse;}
.content_01_in > div{width: 50%;}
.ttl_00{text-align: right;}
.ttl_00 p{color: var(--sub);font-weight: 600;font-family: var(--poppins);font-size: 14rem;letter-spacing: 0.05em;line-height: 1;}
.ttl_00 h2{font-size: 3.0rem;font-weight: bold;letter-spacing: 0.1em;}
.content_01_in_box .sub{font-size: 3.0rem;margin-bottom: 40px;}
.content_01_in_box .txt_box{margin-bottom: 80px;width: 500px;max-width: 100%;}
@media screen and (max-width: 767px) {
	.content_01_in > div{width: 100%;}.ttl_00{margin-bottom: 40px;}
	.ttl_00 p{font-size: 6rem;}.ttl_00 h2{font-size: 1.8rem;}
	.content_01_in_box .sub{font-size: 1.8rem;margin-bottom: 40px;}
.content_01_in_box .txt_box{margin-bottom: 60px;}
}



ul.content_01_btn::after{display: none;}
.content_01_btn{display: flex;flex-wrap: wrap;gap:20px;justify-content: flex-start;}
.content_01_btn > li {
  width: 200px;max-width: 46%;
  text-align: center;
}
a.con_btn_01{
  background: url("img/common/arrow_13.png") no-repeat right 20px center /20px 20px var(--main);
  width: 100%;
  padding: 20px ;
  position: relative;letter-spacing: 0.1em;
  display: block;font-weight: bold;
  border-radius: 50px;color: var(--fcw);
  border: 1px solid var(--main);
  line-height: 1;
}
a.con_btn_02{
  background: url("img/common/arrow_11.png") no-repeat right 20px center /20px 20px var(--bgw);
  width: 100%;
  padding: 20px ;
  position: relative;letter-spacing: 0.1em;
  display: block;font-weight: bold;
  border-radius: 50px;color: var(--main);
  border: 1px solid var(--main);
  line-height: 1;
}

@media screen and (max-width: 767px) {
	.content_01_btn{justify-content: center;}
}

@media screen and (max-width: 400px) {
	.content_01_btn > li a{
	background-size: 15px 15px;background-position: right 15px center;}
}

#content_02{
	position: relative;
	padding:0 0 150px 0;
}
@media screen and (max-width: 767px) {
#content_02{
	padding:0 0 60px 0;
}
}



#content_03{
	padding: 100px 0 0 0;
	position: relative;
	background: url("img/top/bg_01.webp")no-repeat right -150px bottom -180px var(--gray);
	color: var(--fcw);
}

.top_products{display: flex;flex-wrap: wrap;flex-direction: row-reverse; justify-content: space-between;}
.top_products > div{width: 50%;}
.top_products .left_area figure{height: 100%;border-radius:0 50px 0 0;overflow: hidden;}
.top_products .left_area figure img{width: 100%;height: 100%;object-fit: cover;}
.top_products .right_area{padding: 80px 0 80px 80px;text-align: left;}
.top_products .right_area .btn_01{margin: 0;}

@media screen and (max-width: 767px) {
	#content_03{padding: 0px 0 0 0;background-image: none;}
	.top_products > div{width: 100%;}
	.top_products .right_area{padding: 40px 20px;
background: url("img/top/bg_01.webp")no-repeat right -30px bottom -30px /300px auto var(--gray);
}
	.top_products .right_area .btn_01{margin: auto;}
	.top_products .left_area figure{border-radius: 0 ;}
}





#content_04{background: url("img/top/img_02.webp")no-repeat center top /cover;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 400px;
}
#content_04 .left_area{width: 50%;background: transparent;padding: 100px 0;display: flex;justify-content: flex-end;}
#content_04 .left_area .content_04_in{width: 540px;max-width: 100%;text-align: left;}
#content_04 .left_area .txt{margin-bottom: 80px;}

#content_04 .right_area{/*background: url("img/top/img_02.webp")no-repeat left top /cover;*/
	width: 50%;
}
@media screen and (max-width: 767px) {
	#content_04{flex-direction: column-reverse;	margin-bottom: 320px;background-position: left top;}
	#content_04 .left_area{width: 100%;padding: 40px 20px;}
	#content_04 .right_area{width: 100%;height: 240px;display: none;}
	#content_04 .left_area .txt{margin-bottom: 40px;}
	#content_04 .left_area .btn_03{margin: auto;}
}

.btn_more a{
	text-align: left;
	position: relative;
	display: block;
	border-bottom: #ccc 1px solid;
	padding-bottom: 10px;
}
.btn_more a:hover{
	opacity: 1;
}
.btn_more a::before{
content: "";
  vertical-align: middle;
  color: #333;
  line-height: 1;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  border-width: 4px 10px;
  border-left-color: currentColor;
  border-right: 0;
	position: absolute;
	top: 13px;
	right: 5px;
	transition: 0.2s;
}
.btn_more a::after{
	content: "";
	background: var(--blue);
	width: 15%;
	height: 1px;
	position: absolute;
	bottom: -1px;
	right: 0;
	transition: 0.5s;
}

.btn_more a:hover::before{
	right: 0;
}
.btn_more a:hover::after{
	width: 100%;
}


#content_06{
	background:#EAEAEA; 
}
/* スライドの動き等速 */
.photo_list .swiper-wrapper,.news_ticker .swiper-wrapper {
  transition-timing-function: linear;
}
/* 画像のサイズ調整 */
.photo_list .swiper-slide img {
  height: auto;
  width: 100%;
}


/* お困りごと解決リスト */

.bg_okomari{background-color: var(--main);
	background-image: url( "img/business/komari_bg_01.webp"),url( "img/business/komari_bg_02.webp");
	background-repeat: no-repeat,no-repeat;
	background-position: right -100px top 100px ,left -100px bottom 100px;
	padding-bottom: 380px;
}

.okomari_h2{text-align: center;padding: 100px 0;}

.okomari_badge{background: var(--main);width: 360px;height: 360px;padding-top: 80px;border-radius: 50%;border: 10px solid var(--fcw);text-align: center;color: var(--fcw);position: absolute;
left: -160px;top: -120px;line-height: 1;}
.okomari_badge .torihiki{display: block;font-weight: 500;font-size: 3.0rem;}
.okomari_badge .sha{color: var(--color02);font-family: var(--poppins); display: block;font-weight: 900;font-size: 5.0rem;letter-spacing: 0.05em;}
.okomari_badge .sha .num{font-size: 12.0rem;font-style: italic;padding-right: 10px; letter-spacing: -0.05em;}
.okomari_badge .ijo{font-size: 4.0rem;letter-spacing: 0.05em;font-weight: 900;}
@media screen and (max-width: 1360px) {
.okomari_badge{width: 180px;height: 180px;overflow: hidden;left: 0;top: -40px;border: 2px solid var(--fcw);padding-top: 45px;}
	.okomari_badge .torihiki{font-size: 1.8rem;padding-bottom: 5px;}
	.okomari_badge .sha{font-size: 2.8rem;}
	.okomari_badge .sha .num{font-size: 4.6rem;letter-spacing: 0;padding: 0;}
	.okomari_badge .ijo{font-size: 2.4rem;}
}
@media screen and (max-width: 767px) {
	.bg_okomari{
	background-position: right 0px top 50px ,left 0px bottom 250px;

		background-size: 50% auto,50% auto;
	}
	
.okomari_h2{text-align: center;padding: 100px 20px;}
	.okomari_badge{width: 120px;height: 120px;overflow: hidden;left: 0;top: -40px;border: 2px solid var(--fcw);padding-top: 25px;}
	.okomari_badge .torihiki{font-size: 1.2rem;padding-bottom: 5px;}
	.okomari_badge .sha{font-size: 2.0rem;}
	.okomari_badge .sha .num{font-size: 3.6rem;letter-spacing: 0;padding: 0;}
	.okomari_badge .ijo{font-size: 1.4rem;}
}


.okomari_list{display: flex;flex-wrap: wrap;gap:70px 4%;}
.okomari_list > dl{width: 48%;height: 385px;background: url("img/business/komari_masu.webp")no-repeat right bottom var(--bgw);padding: 30px;position: relative;}
.okomari_list > dl dt{height: 190px;border-bottom: 1px solid var(--main);}
.okomari_list > dl dt span{background: var(--gray);color: var(--fcw);font-size: 2.0rem;padding: 2px 8px;font-weight: bold;}
.okomari_list > dl dd{padding-top: 30px;font-size: 1.8rem;font-weight: 500;letter-spacing: 0.05em;line-height: 1.4;}
.okomari_list > dl dd .case{position: absolute;left: 0;top: -40px;width: 140px;height: 40px;padding: 5px 0 0 0px;text-align: center;background: var(--sub);color: var(--fcw);font-size: 1.6rem;font-style: italic;font-family: var(--poppins);}
.okomari_list > dl dd .case .num{font-size: 2.4rem;}
.okomari_list > dl dd figure{width: 120px;position: absolute;right: 30px;top: 60px;}
@media screen and (max-width: 767px) {
	.okomari_list{padding: 0 20px;}
	.okomari_list > dl{width: 100%;padding: 15px;height: 270px;}
	.okomari_list > dl dt{height: 120px;line-height: 1.5;}
	.okomari_list > dl dt span{font-size: 1.4rem;padding:0 8px;}
	.okomari_list > dl dd figure{width: 80px;top: 30px;right: 15px;}
	.okomari_list > dl dd{font-size: 1.4rem;}
}

/**/


/* 事業内容 */

.business_indent{margin: 150px 40px;position: relative;}
.business_img{position: absolute;left: 0;top: 0;max-width: 40%;}
.business_works{width: 590px;margin-left: calc(100% - 590px);margin-bottom: 200px;}

.business_works .works_list{padding: 20px 0 0 0;}
.business_works .works_list > li{padding: 30px 0;border-bottom: 1px solid var(--main);font-size: 2.4rem;font-weight: bold;letter-spacing: 0.05em;}
.business_works .works_list > li:nth-child(1){border-top: 1px solid var(--main);}

.business_works .works_list > li img{vertical-align: middle;margin-right: 20px;}

.maker_bnr_box{background-image: url( "img/business/copy_02.webp"),url( "img/business/bg_01.webp");
background-repeat: no-repeat,no-repeat;
background-position: right bottom,center center;
background-size: auto,cover;
	display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;padding: 80px 0;
	
}
.maker_bnr_box .left_area{width: 50%;}
.maker_bnr_box .right_area{width: 50%;}
.maker_bnr_box .right_area .maker_bnr_btn{width: 280px;max-width: 100%;margin: auto;text-align: center;}

.maker_bnr_btn a {
  background: url("img/common/arrow_11.png") no-repeat right 20px center /20px auto var(--bgw);
  width: 100%;
  padding: 20px 0;
  position: relative;letter-spacing: 0.1em;
  display: block;font-weight: bold;
  border-radius: 50px;color: var(--main);
/*  border: 2px solid var(--gray);*/
  line-height: 1;
}

@media screen and (max-width: 767px) {
	.business_indent{margin: 20px 20px 80px;}
	.business_img{position: relative;max-width: 100%;margin-bottom: 20px;}
	.business_works{width: 100%;margin-left: 0;margin-bottom: 60px;}
	.business_works .works_list > li{padding: 15px 0;font-size: 1.4rem;}
	.business_works .works_list > li img{width: 30px;margin-right: 10px;}
	
	.maker_bnr_box{padding: 30px 0;gap:30px 0;justify-content: center;background-size: 60% auto,cover;}
.maker_bnr_box .left_area{width: 100%;}
.maker_bnr_box .right_area{width: 100%;}
}


/* 会社概要 */

.company_indent{margin: 150px 0px 400px;position: relative;}
.company_concept{position: relative;}
.company_img{position: absolute;right: 0;top: 0;max-width: 40%;}
.company_img figure{position: relative;}
.company_img .sumi{position: absolute;left: 0;top: 0;}
.company_info{width: 600px;max-width: 100%;margin-bottom: 150px;}
.company_info h3{font-size: 3.0rem;font-weight: bold;margin-bottom: 50px;}
.company_info .txt{display: flex;flex-wrap: wrap;gap:20px 0;}
.company_info .txt p{width: 100%;}

.company_list{margin-bottom: 150px;}
.company_list dl{border-bottom: 1px solid var(--main);display: flex;flex-wrap: wrap;width: 100%;padding: 30px 0;font-size: 1.8rem;}
.company_list dl dt{width: 20%;font-weight: bold;}
.company_list dl dd{width: 80%;}
.company_list dl dd a{border-bottom: 1px solid var(--main);}
.map_link a{color: #229BD8;text-decoration:underline;}

@media screen and (max-width: 767px) {
.company_info h3{font-size: 2.4rem;margin-bottom: 30px;}
	.company_info{margin-bottom: 60px;}
	.company_img{position: relative;max-width: 100%;margin-bottom: 60px;}
	.company_img .sumi{width: 40px;height: auto;}
	.company_indent{margin: 80px 20px 300px;}
.company_list{margin-bottom: 60px;}	
	.company_list dl {padding: 20px 0;}
	.company_list dl dt{width: 100%;margin-bottom: 10px;}
.company_list dl dd{width: 100%;font-size: 1.6rem;}
	.company_list dl dd a{border-bottom: 1px solid var(--main);}
	
}

/* 製品情報 */

.products_page_bg{background: url("img/products/bg_01.webp")no-repeat center center/cover;text-align: center;color: var(--fcw);padding: 150px 0;width: 100%;margin: 150px 0;}
.products_page_bg h3{font-weight: bold;font-size: 3.0rem;letter-spacing: 0.05em;margin-bottom: 50px;}
.products_page_bg p{font-size: 1.8rem;font-weight: 500;letter-spacing: 0.1em;margin-bottom: 20px;}


@media screen and (max-width: 767px) {
	.products_page_bg{padding: 80px 20px;margin: 80px 0;}
	.products_page_bg h3{font-size: 1.8rem;margin-bottom: 30px;}
	.products_page_bg p{font-size: 1.4rem;margin-bottom: 15px;}
}

/*タブのスタイル*/

.products_area{padding:0 0  150px;}


.tab-container {width: 100%;
  display: flex;
  flex-wrap: wrap;
	justify-content: center;
gap:15px 60px;border-bottom: 1px solid var(--gray6);
    margin: 0 0 100px;
}

.products_area .tab {
  font-weight: 700;
  text-align:center;
  width: auto;
  padding: 10px 0;
  cursor: pointer;
	border-bottom: 2px solid transparent;
}

.products_area .tab.active {
	color:var(--sub);
	border-bottom: 2px solid var(--sub);
}
.products_area .content-container{width: 100%;}
.products_area .content {
  display: none; /*必須*/
}
.products_area .content.show {
  display: block; /*必須*/
}

.products_list{display: flex;flex-wrap: wrap;justify-content: flex-start;grid-gap: 30px calc(4%/3);width: 100%; }
.products_list li{width: 24%;}
.products_list li figure{border: 1px solid var(--gray6);}

.products_area h3{background: url("img/products/ico_products.webp")no-repeat left center/auto 20px;font-weight: bold;font-size: 3.0rem;letter-spacing: 0.1em;border-bottom: 2px solid var(--sub);margin-bottom: 50px;padding:10px 0 10px 40px;}
.products_area h3 span{font-size: 1.6rem;}

@media screen and (max-width: 767px) {
	.products_area{padding:0 20px 80px;}
	.tab-container {gap: 15px 15px;}
	.products_area .tab {font-size: 1.4rem;}
	.products_list{grid-gap: 20px 4%;}
	.products_list li{width: 48%;}
	.products_area h3{font-size: 1.8rem;}
	.products_area h3 span{font-size: 1.2rem;}
	.products_list li{font-size: 1.4rem;}
}

/*==================================================
アコーディオンのためのcss
===================================*/

/*アコーディオン全体*/
.accordion-area{
    list-style: none;
    width: 100%;
    margin:0 auto 50px;
}
@media screen and (max-width: 767px) {
.accordion-area{
    margin:0 auto 30px;
}
}
.accordion-area li{
    margin: 10px 0;
}

.accordion-area section {
	background: #fff;
	padding: 30px;
}
@media screen and (max-width: 767px) {
.accordion-area section {
	padding: 15px;
}
}
/*アコーディオンタイトル*/
.title {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-weight: bold;
    transition: all .5s ease;
	background: url("img/top/txt_q.svg") left center no-repeat;
	padding-left: 45px;
}
@media screen and (max-width: 767px) {
.title {
	background-size: 25px;
	padding-left: 35px;
	padding-right: 40px;
}
}
/*アイコンの＋と×*/
.title::before{
	content: "";
	background-image: url("img/top/plus.svg");
    transform: rotate(0deg);
	width: 30px;
	height: 30px;
    position: absolute;  
	right: 30px;
}
@media screen and (max-width: 767px) {
.title::before{
	right: 0px;
}
}

/*　closeというクラスがついたら形状変化　*/
.title.close::before{
	background-image: url("img/top/close.svg");
}


/*アコーディオンで現れるエリア*/
.box {
    display: none;/*はじめは非表示*/
	margin-top:30px;
}

/* recruit 求人・採用情報*/

.recruit_page_bg{background: url("img/recruit/bg_01.webp")no-repeat center center / cover;padding: 100px 0;margin-top: 150px;}

.recruit_page_bg .ttl_01,.recruit_page_bg .ttl_01 h2{color: var(--fcw);}

.rec_key_list{display: flex;flex-wrap: wrap;justify-content: space-between;gap:24px 24px;}
.rec_key_list > dl:nth-child(-n+2){width: calc(50% - 12px);}
.rec_key_list > dl:nth-child(n+3){width: calc((100% - 48px)/3);}
.rec_key_list > dl{background: var(--bgw);padding: 20px;}
.rec_key_list > dl > dt{font-weight: bold;font-size: 2.0rem;letter-spacing: 0.05em;line-height: 1.5;display: flex;align-items: center;gap:10px 10px;margin-bottom: 10px;}
.rec_key_list > dl > dt .num{color: var(--fcw);font-size: 2.6rem;font-family:var(--poppins); display: flex;align-items: center;justify-content: center;
	background: url("img/recruit/num_bg.webp")no-repeat center center;width: 60px;height: 60px;}
.rec_key_list > dl > dd p{font-size: 1.6rem;line-height: 1.4;letter-spacing: 0.05em;}

@media screen and (max-width: 767px) {
	.recruit_page_bg{padding: 60px 20px;margin-top: 60px;}
	.rec_key_list{gap:20px 20px;}
.rec_key_list > dl:nth-child(-n+2){width: 100% ;}
.rec_key_list > dl:nth-child(n+3){width: 100% ;}
	.rec_key_list > dl{padding: 15px;}
	.rec_key_list > dl > dt{font-size: 1.4rem;}
	.rec_key_list > dl > dt .num{width: 40px;height: 40px;font-size: 2.0rem;}
	.rec_key_list > dl > dd p{font-size: 1.4rem;}
}

.recruit_bk{background: #000;padding: 100px 0;}
.recruit_bk .ttl_01{color: var(--fcw);}

.recruit_bk .txt_area{width:calc(46% - 80px);color: var(--fcw);display: flex;}
.recruit_bk .txt_area .txt_box{width: 400px;text-align: left;letter-spacing: 0.05em;}

.recruit_bk .txt_box h3{font-size: 6.0rem;}
.recruit_bk .txt_box h3 .en{display: block;font-size: 2.0rem;letter-spacing: 0.1em;color: var(--sub);font-family: var(--poppins);font-style: italic;}
.recruit_bk .txt_box .sub{font-size: 1.4rem;padding-top: 20px;}
.recruit_bk .txt_box .in_box{padding: 80px 0 80px 40px;font-size: 1.8rem;}

.recruit_int_flex_01{display: flex; gap:40px 80px;flex-wrap: wrap;flex-direction: row-reverse;margin-bottom: 100px;}
.recruit_int_flex_01 .txt_area{justify-content: flex-end;}

.recruit_int_flex_02{display: flex;gap:40px 80px;flex-wrap: wrap;flex-direction: row;margin-bottom: 100px;}
.recruit_int_flex_02 .txt_area{justify-content: flex-start;}

.recruit_bk .int_r_box{display: flex;flex-wrap: wrap;justify-content: flex-end;}

.recruit_bk .img_cover {width: 54%;position: relative;}
  .img_cover img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }


@media screen and (max-width: 767px) {
	.recruit_bk{padding: 60px 20px;}
	.recruit_bk .txt_area{width: 100%;}
	.recruit_bk .txt_area .txt_box{width: 100%;}
	.recruit_bk .txt_box h3{font-size: 3.0rem;}
	.recruit_bk .txt_box h3 .en{font-size: 1.4rem;}
	.recruit_bk .txt_box .in_box{padding: 40px 0;font-size: 1.6rem;}
	.recruit_bk .img_cover {width: 100%;height: 200px;}
	.recruit_int_flex_01,.recruit_int_flex_02{margin-bottom: 0;}
	.recruit_bk .int_r_box{justify-content: flex-start;}
}

.rec_int_list > dl{background: var(--bgw);color: var(--main);position: relative;margin-bottom: 30px;}
.rec_int_list > dl dt {border-bottom: 1px solid var(--gray);margin:0 0 0 120px;font-size: 2.6rem;letter-spacing: 0.05em;font-weight: bold;height: 80px;padding-top: 12px;}
.rec_int_list > dl dt .num{color: var(--fcw);font-style: italic;font-size: 3.0rem;font-family:var(--poppins); display: flex;align-items: center;justify-content: center;
	background: url("img/recruit/num_bg_02.webp")no-repeat center center;width: 80px;height: 80px;position: absolute;left: 0;top: 0;}
.rec_int_list > dl dd{padding: 40px;font-size: 1.6rem;letter-spacing: 0.05em;} 

@media screen and (max-width: 767px) {
	.rec_int_list > dl dt {margin: 0 0 0 100px;font-size: 1.8rem;padding: 10px 20px 10px 0;height: auto;min-height: 80px;display: flex;align-items: center;border-bottom: none;line-height: 1.5;}
	.rec_int_list > dl dd{padding: 20px;}
}

.recruit_table{
	width: 100%;
	border-top: #ccc 1px solid;
	border-right: #ccc 1px solid;	
}
.recruit_table th{
	width: 30%;
	padding: 15px;
	font-weight: bold;
	border-bottom: #ccc 1px solid;
	border-left: #ccc 1px solid;
	box-sizing: border-box;
	background: rgba(0,97,162,0.05);
}
@media screen and (max-width: 767px) {
.recruit_table th{
	width: 100%;
	padding: 10px;
	font-weight: bold;
	display: block;
}
}
.recruit_table td{
	width: 70%;
	padding: 15px;
	border-bottom: #ccc 1px solid;
	border-left: #ccc 1px solid;
	box-sizing: border-box;	
}
@media screen and (max-width: 767px) {
	.recruit_table td{
	width: 100%;
	padding: 10px;
display: block;
	}
}

.recruit_indent{padding: 150px 0;}
.rec_com{font-size: 1.8rem;font-weight: 500;letter-spacing: 0.05em;}
@media screen and (max-width: 767px) {
.recruit_indent{padding: 80px 20px;}
	.rec_com{font-size: 1.4rem;}
}



  .l-inner {
    position: relative;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 0;
  }

  .l-section .l-inner {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
/*
  [class*=swiper]:focus {
    outline: none;
  }
*/
  .rec_slide .slide-media,
  .rec_slide .thumb-media {
    position: relative;
    overflow: hidden;
  }
  .rec_slide .slide-media img,
  .rec_slide .thumb-media img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }


   .rec_slide .swiper-button-prev,.rec_slide  .swiper-button-next {
    display: grid;
    place-content: center;
    width: 85px;
    height: 85px;
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
   .rec_slide .swiper-button-prev svg,.rec_slide  .swiper-button-next svg{
	   display: none;
}
  .rec_slide .swiper-button-prev::before,.rec_slide  .swiper-button-next::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
  }
  .rec_slide .swiper-button-prev::after,.rec_slide  .swiper-button-next::after {
    width: 85px;
    height: 85px;z-index: 1;
    content: "";/*
    border: solid var(--gray);
    border-width: 3px 3px 0 0;*/
  }
   .rec_slide  .swiper-button-prev::after {
    background: url("img/recruit/sld_l.webp")no-repeat center center/85px auto;
  }
  .rec_slide   .swiper-button-next::after {
    background: url("img/recruit/sld_r.webp")no-repeat center center/85px auto;
  }

@media only screen and (max-width: 767px) {
	.rec_slide .swiper-button-prev,.rec_slide  .swiper-button-next {width: 40px;height: 40px;}
	.rec_slide  .swiper-button-prev::after ,.rec_slide .swiper-button-next::after {
		width: 40px;height: 40px;
		background-size: 40px 40px !important;
	}
}

   .rec_slide  .swiper-button-disabled {
    pointer-events: none;
    opacity: 0;
  }

  .rec_slide {
    overflow: hidden;
  }
  .rec_slide .swiper {
    overflow: visible;
  }
  .rec_slide .swiper-controller {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 30px;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: 3.2rem;
  }
  .rec_slide .swiper-pagination {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 1.2rem 0;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0 auto 0 0;
    text-align: center;position: relative;
  }
  .rec_slide .swiper-pagination-bullet {
    width: 140px;
    height: 3px;
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    vertical-align: top;border-radius: 0;
    background-color: var(--gray);
  }
  .rec_slide .swiper-pagination-bullet-active {
    width: 140px;
    background-color: var(--sub);
  }
  .rec_slide .swiper-button-prev, .rec_slide .swiper-button-next {
    position: relative;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    margin: 0;
  }
  .rec_slide .swiper-button-disabled {
    pointer-events: none;
    opacity: 0.5;
  }
@media only screen and (max-width: 767px) {
	.rec_slide .swiper-controller {flex-wrap: wrap;}
	.rec_slide .swiper-pagination-bullet {width: calc((100vw - 40px)/6);}
	.rec_slide .swiper-pagination-bullet-active {width:  calc((100vw - 40px)/6);}
}




  .rec_slide .swiper-slide {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
  .rec_slide .slide {
    overflow: hidden;
    width: 550px;
	  position: relative;
  }
  .rec_slide .slide-media {
    padding-top: 62.5%;
  }
  .rec_slide .slide-media img {
  }
  .rec_slide .slide-content {padding: 20px 30px;
	  background: var(--bgw);margin: -40px 0 0 40px;
text-align: left;font-size: 1.6rem;letter-spacing: 0.05em;position: relative;z-index: 2;
  }
  .rec_slide .slide-title {
font-size: 2.6rem;font-weight: bold;
  }
@media only screen and (max-width: 767px) {
	.rec_slide .slide {width: calc(100vw - 40px);max-width: 100%;}
	.rec_slide .slide-content {font-size: 1.4rem;padding: 10px 0px;margin: 0;}
	.rec_slide .slide-title {font-size: 2.0rem;}
}





  @media only screen and (min-width: 1025px) {
    .tab-sp {
      display: none !important;
    }
    .swiper-button-prev::before, .swiper-button-next::before {
      -webkit-transition:0.3s;
      transition:0.3s;
    }
    .swiper-button-prev:hover::before, .swiper-button-next:hover::before {
      -webkit-transform: scale(1.2);
              transform: scale(1.2);
    }

  }
 @media only screen and (max-width: 767px) {
	 .l-inner{padding: 0;} 
}

/* よくある質問 FAQ */
.faq_indent{padding: 150px 0 380px;}

.faq_list {
  letter-spacing: 0.1em;margin-bottom: 150px;
}
.faq_list > dl {
background: url( "img/recruit/faq_q.webp")no-repeat left 30px top 30px /26px auto var(--gray2);margin-bottom: 30px;
	padding: 30px;
}
.faq_list > dl > dt {background: url("img/recruit/ac_btn_01.webp")no-repeat right  top /40px auto ;
  font-weight: bold;
  padding: 5px 0 5px 50px;transition: 0.5;
}
.faq_list > dl > dt:hover{cursor: pointer;}
.faq_list > dl dt.active{background:url("img/recruit/ac_btn_02.webp")no-repeat right  top /40px auto ;}


.faq_list > dl > dd {
  padding: 30px 0 0 0px;
}
@media screen and (max-width: 767px) {
	.faq_indent{padding: 80px 20px 340px;}
	.faq_list {margin-bottom: 80px;}
  .faq_list > dl {
    padding: 20px;background-position: left 20px top 20px;
    background-size: 15px auto;
  }
  .faq_list > dl > dt ,.faq_list > dl dt.active{
    background-size: 20px 20px;
    padding: 0 30px 0px 40px;line-height: 1.4;
  }
  .faq_list > dl > dd {
    padding: 20px 0 0 0;
    font-size: 1.4rem;
  }
}


.flow_list{
	display: flex;
	justify-content: space-between;
	padding-bottom: 60px;
}
.flow_list > p{
	width: 100px;
	font-size: 1.8rem;
	font-weight: 600;
}
@media screen and (max-width: 767px) {
.flow_list > p{
	width: 65px;
	font-size: 1.4rem;
}
}
.flow_list > p span{
	font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
.flow_list > p span{
	font-size: 2.0rem;
}
}
.flow_list > div{
	width: 80%;
}
@media screen and (max-width: 767px) {
.flow_list > div{
	width: calc(100% - 120px);
}	
}
.flow_list > div p:first-child{
color:var(--blue);
font-size: 2rem;
font-weight: 600;
	margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
.flow_list > div p:first-child{
font-size: 1.8rem;
	line-height: 1.4;
}
}
.flow_list > span{
	position: relative;
	width: 20px;
}
.flow_list > span::before{
	content: "";
	background: #ccc;
	width: 1px;
	height: calc(100% + 60px);
	position: absolute;
	top:10px ;
	left: 50%;
	z-index: -1;
}
.flow_list.last > span::before{
	content: none;

}
.flow_list.last{
	padding-bottom: 0;
}
#entry{
	position:relative;
}
#entry h2{
	color: var(--blue);
	font-size:12rem;
	font-weight: 500;
	line-height: 1;
	position: absolute;
	top: -100px;
	left: 15%;
}
@media screen and (max-width: 767px) {
#entry h2{
	font-size:6rem;
	top: -50px;
	left: 10%;
}
}
.bg_contact{
	background: var(--blue);
	border-radius: 200px 0 0 0;
	padding: 100px 0;
	color: #fff;
}
@media screen and (max-width: 767px) {
.bg_contact{
	border-radius: 50px 0 0 0;
	padding: 50px 20px;
}
}
.tel{
	position: relative;
	padding-left: 100px;
	text-align: left;
	display: inline-block;
	font-weight: 500;
	margin: 10px 0 50px;
}
@media screen and (max-width: 767px) {
.tel{
	padding-left: 50px;
	margin: 20px 0 30px;
}
}
.tel::before{
	content: "";
	position: absolute;
	background-image: url("img/common/ft_tel.svg");
	width: 72px;
	height: 72px;
	background-repeat: no-repeat;
	top: 25%;
	left: 0;
	
}
@media screen and (max-width: 767px) {
.tel::before{
	width: 36px;
	height: 36px;
	background-size:cover;
}	
}
.tel p:first-child{
font-size: 8rem;
	line-height: 1.2;
}
@media screen and (max-width: 767px) {
.tel p:first-child{
font-size: 3.2rem;
}
}
.tel p:last-child{
font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
.tel p:last-child{
font-size: 1.4rem;
}
}
.contact_btn{
	display:flex;
	justify-content: space-between;
}
@media screen and (max-width: 767px) {
.contact_btn{
	flex-wrap: wrap;
	gap:10px;
}
}
.contact_btn > li{
	width: 48.5%;
}
@media screen and (max-width: 767px) {
.contact_btn > li{
	width: 100%;
}
}
.contact_btn > li a{
	width: 100%;
	display: flex;
	color: var(--blue);
	font-size: 4.2rem;
	font-weight:500;
	background: #fff;
	border-radius: 100px;
	position: relative;
	text-align: center;
    justify-content: center;
	padding: 35px;
	border: var(--blue) 2px solid;
}
@media screen and (max-width: 767px) {
.contact_btn > li a{
	width: 100%;
	font-size: 2.6rem;
	border-radius: 50px;
	padding: 15px;
}	
}
.contact_btn > li a svg{
	width: 85px;
	padding-right: 20px;
}
@media screen and (max-width: 767px) {
.contact_btn > li a svg{
	width: 50px;
	padding-right: 15px;
}
}

.contact_btn > li a div{
line-height: 1.5;
text-align: left;
}




.contact_btn > li a:hover{
	color: #fff;
	background: var(--blue);
	border: #fff 2px solid;
	opacity: 1;
}
.contact_btn > li a:hover p{
	opacity: 1;
}
.contact_btn > li a:hover svg circle{
	fill:#fff;
}
.contact_btn > li a:hover svg path{
	fill:var(--blue);
}


/*company
------------------------------------*/

#company01{
  position: relative;/*position stickyの基点にするため relativeをかける*/
	margin-bottom: 200px;
}
@media screen and (max-width: 767px) {
#company01{
	margin-bottom: 50px;
}
}

.com_content{
	display:flex;
	gap:100px;
	align-items: flex-start
}
@media screen and (max-width: 767px) {
.com_content{
flex-wrap: wrap;
gap:50px;
}
}

#company01 .left{
  /*左固定記述*/
    position: -webkit-sticky;/*Safari用*/
    position: sticky;
  top:0;
  /*横半分50%　縦を100vhにする*/
  width: 45%;
}
@media screen and (max-width: 767px) {
#company01 .left{
  /*左固定記述*/
    position: relative;
  width: 100%;
}
}

#company01 .right{
  /*横半分50%にする*/
  width:40%;
	box-sizing: border-box;
	text-align: left;
	padding-top: 8%;
}
@media screen and (max-width: 767px) {
#company01 .right{
  /*横半分50%にする*/
  width:100%;
	padding-top: 0;
	padding: 0 20px;
}
}

#company01 .left .ttl_01{
	padding-left: 20%;
}
@media screen and (max-width: 767px) {
#company01 .left .ttl_01{
	padding-left: 20px;
}
}
.scroll_list > li{
	border-bottom: #CCCCCC 1px solid;
	padding-bottom: 80px;
	margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
.scroll_list > li{
	padding-bottom: 40px;
	margin-bottom: 40px;
}
}
.taisetu .number{
	color: var(--blue);
	font-size: 1.2rem;
	position: relative;
	padding-bottom: 5px;
	margin-bottom: 10px;
	font-family: var(--poppins);
}
.taisetu .number::before{
	content: "";
	background: var(--blue);
	width: 10px;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
}
.taisetu .en{
	font-size: 2.6rem;
	font-weight: bold;
font-family: var(--poppins);
}
.taisetu .ja{
	font-size: 2rem;
}

.loop-wrap {
  display: flex;
  align-items: center;
  overflow: hidden;
	position: absolute;
	bottom: -50px;
	width:222%;
	min-width: 1200px;
}
@media screen and (max-width: 767px) {
.loop-wrap {
 	width:100%;
	min-width: 100%;
	bottom: -30px;
}}
.loop-area {
  display: flex;
  animation: loop-slide 400s infinite linear 1s both;
  list-style: none;
  margin: 0;
  padding: 0;
}
.loop-area .content {
	font-size: 10rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(0,0,0,0.08);
	line-height: 1;
  font-family: var(--poppins);
font-weight: 200;	
}
@media screen and (max-width: 767px) {
.loop-area .content {
	font-size: 6rem;
}
}
@keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
#company02{
	background: var(--blue);
	padding: 100px 0;
	border-radius: 0 0 0 100px;
	color: #fff;
}
@media screen and (max-width: 767px) {
#company02{
	padding: 50px 20px;
	border-radius: 0 0 0 50px;
}
}
#company02 > div{
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width: 767px) {
#company02 > div{
flex-wrap: wrap;
	gap:30px;
	}
}
#company02 > div > div:first-child{
	width:50%;
}
@media screen and (max-width: 767px) {
#company02 > div > div:first-child{
	width:100%;
}
}
#company02 > div > div:last-child{
	width:45%;
	margin-top: 20%;
}
@media screen and (max-width: 767px) {
#company02 > div > div:last-child{
	width:100%;
	margin-top: 0;
}
}
/*========= バー表示のためのCSS ===============*/

/*タイムライン全体の設定*/
.timeline{
  width:100%;
  margin:50px auto;
	position: relative;
}
.timeline::before{
	content: "";
	background: #ddd;
	width: 1px;
	height: 100%;
	position: absolute;
	top: 10px;
  left:calc(120px + 0.2em);
}
@media screen and (max-width: 767px) {
.timeline::before{
 left:calc(80px + 0.25em);
}	
}
.timeline li{
    /*線の起点とするためrelativeを設定*/
    position: relative;
  list-style: none;
  padding:0 0 60px 0;
}
.timeline li:last-child{
  padding:0;
}
.timeline dl{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.timeline dl dt{
width: 10%;
	color: var(--blue);
	font-size: 3.2rem;
	font-weight: 500;
	line-height: 1;
  font-family: var(--poppins);
}
@media screen and (max-width: 767px) {
	.timeline dl dt{
width: 80px;
	font-size: 2.0rem;
	line-height: 1.6;
}
}
.timeline dl dd{
width: calc(100% - 200px);
	font-weight: 50;
	font-size: 2rem;
	display: flex;
	gap:20px;
}
@media screen and (max-width: 767px) {
.timeline dl dd{
width: calc(100% - 115px);
	font-size: 1.6rem;
	display: block;
}
}

/*絶対配置で線を設定*/
.border-line {
    /*線の位置*/
  position: absolute;
  left:calc(120px + 0.2em);
  top:10px;
  width:2px;/*線の太さ*/
  height:0;/*はじめは高さを0に*/
  background: var(--blue);
}
@media screen and (max-width: 767px) {
.border-line {
    /*線の位置*/
  left:calc(80px + 0.25em);
}
}

/*タイムラインの見出し横の丸の位置と形状*/
.timeline li::after{
  content:'';
  position: absolute;
  top:10px;
  left:120px;
  width:10px;
  height: 10px;
  background:var(--blue);
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
	.timeline li::after{
  top:10px;
  left:80px;
}
}
.timeline li::before{
  content:"";
  position: absolute;
  top:14px;
  left:100px;
  width:50px;
  height: 1px;
  background:var(--blue);
}
@media screen and (max-width: 767px) {
.timeline li::before{
   top:14px;
  left:70px;
  width:30px;
}	
}
.interview_ttl{
	display: flex;
	position: relative;
	justify-content: flex-end;
	margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
.interview_ttl{
	margin-bottom: 50px;
}
}
.interview_ttl figure{
	width: 70%;
	height: 600px;
}
@media screen and (max-width: 767px) {
.interview_ttl figure{
	width: 90%;
	height: 400px;
}
}
.interview_ttl figure img{
	height: 600px;
	object-fit: cover;
}
@media screen and (max-width: 767px) {
.interview_ttl figure img{
	height: 400px;
	object-position: 30% 50%;
}
}
.interview_ttl div{
	position:absolute;
	background: #fff;
	padding: 40px 80px;
	bottom: 0;
	left: 0;
	width: 40%;
	z-index: 2;
	border-left: var(--blue) 3px solid;
	box-sizing: border-box;
}
@media screen and (max-width: 767px) {
	.interview_ttl div{
	padding: 20px 40px;
	width: 80%;
}
}
.interview_ttl div .name{
	font-size: 4.6rem;
	font-weight: 500;
}
@media screen and (max-width: 767px) {
.interview_ttl div .name{
	font-size:2.6rem;
}
}
.in_qa{
	border-bottom: #ccc 1px solid;
	padding-bottom: 60px;margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
.in_qa{
	padding-bottom: 30px;margin-bottom: 30px;
}
}
.in_qa dt{
	display: flex;
	gap:30px;
	align-items: center;
	margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
.in_qa dt{
	gap:15px;
}
}
.in_qa dt p:first-child{
	color: #fff;
	background: var(--blue);
	border-radius: 30px;
	font-size: 2.4rem;
	padding: 5px 30px;
  font-family: var(--poppins);
	font-weight: 500;
	line-height: 1.4;
}
@media screen and (max-width: 767px) {
.in_qa dt p:first-child{
	font-size: 1.8rem;
	padding: 5px 10px;
}	
}
.in_qa dt p:last-child{
	font-size: 2.4rem;
	color: var(--blue);
	font-weight: 500;

}
@media screen and (max-width: 767px) {
.in_qa dt p:last-child{
	font-size: 1.8rem;
}
}
.bg_blue{
	background:var(--blue);
	border-radius: 0 0 0 100px;
}
@media screen and (max-width: 767px) {
.bg_blue{
	border-radius: 0 0 0 50px;
}
}
#home01{
	background: #fff;
	border-radius: 0 0 100px 0;
	padding:0 0 100px 0;
}
@media screen and (max-width: 767px) {
#home01{
	border-radius: 0 0 50px 0;
	padding:0 20px 50px;
}
}
.greeting{
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width: 767px) {
.greeting{
flex-wrap: wrap;
	}
}
.greeting > div:first-child{
width:50%;
}
@media screen and (max-width: 767px) {
.greeting > div:first-child{
width:100%;
}
}
.greeting > div:last-child{
width:45%;
	margin-top: 50px;
}
@media screen and (max-width: 767px) {
.greeting > div:last-child{
width:100%;
	margin-top: 20px;
}
}

#home02{
	padding: 100px 0;
	position: relative;
}
@media screen and (max-width: 767px) {
#home02{
	padding: 50px 20px;
	}
}
#home02 .left{
  /*左固定記述*/
    position: -webkit-sticky;/*Safari用*/
    position: sticky;
  top:0;
  /*横半分50%　縦を100vhにする*/
  width: 50%;
}
@media screen and (max-width: 767px) {
#home02 .left{
  /*左固定記述*/
    position: relative;
  width: 100%;
}
}

#home02 .right{
  /*横半分50%にする*/
  width:45%;
	box-sizing: border-box;
	text-align: left;
}
@media screen and (max-width: 767px) {
#home02 .right{
  /*横半分50%にする*/
  width:100%;
	padding-top: 0;
}
}
#home03{
	padding: 100px 0;
}
@media screen and (max-width: 767px) {
#home03{
	padding: 50px 20px;
}
}
.scroll_list02 > li{
	background: #fff;
	padding: 40px;
	margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
.scroll_list02 > li{
	padding: 20px;
	margin-bottom: 20px;
}
}
.scroll_list02 > li:last-child{
	margin-bottom: 0;
}
.scroll_list02 > li .ttl{
	display: flex;
	gap:15px;
	align-items: center;
	margin: 10px 0;
}
@media screen and (max-width: 767px) {
.scroll_list02 > li .ttl{
	margin: 20px 0 15px;
}
}
.scroll_list02 > li .ttl p:first-child{
	color:var(--blue);
	font-size: 6rem;
	font-weight: 500;
}
@media screen and (max-width: 767px) {
.scroll_list02 > li .ttl p:first-child{
	font-size: 3rem;
}
}
.scroll_list02 > li .ttl p:last-child{
	font-size: 2.4rem;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
.scroll_list02 > li .ttl p:last-child{
	font-size: 1.8rem;
}
}
.txt_indent > li{
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom: 5px;
font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
.txt_indent > li{
font-size: 1.6rem;
}
}
#home04{
	background:#EAEAEA;
	padding: 100px 0;
}
@media screen and (max-width: 767px) {
#home04{
	background:#EAEAEA;
	padding: 50px 20px;
}
}
#home04 .box_white{
background:#fff;
padding: 80px;
}
@media screen and (max-width: 767px) {
#home04 .box_white{
padding: 20px;
}
}
#home04 .box_white ul.main_list{
	display: flex;
	border-bottom: #ccc 1px solid;
	padding-bottom: 30px;
	margin-bottom: 30px;
	flex-wrap: wrap;
	gap:30px;
}
@media screen and (max-width: 767px) {
#home04 .box_white ul.main_list{
	padding-bottom: 20px;
	margin-bottom: 20px;
	gap:15px;
}	
}
#home04 .box_white ul.main_list > li{
	width: calc(33.333% - 20px);
font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
#home04 .box_white ul.main_list > li{
width:100%;
font-size: 1.6rem;
}
}

#home04 .box_white ul > li figure{
	margin-bottom: 10px;
}

#home04 .box_white ul.sub_list{
	gap:30px;
	display: flex;
	flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
#home04 .box_white ul.sub_list{
	gap:15px;
}
}

#home04 .box_white ul.sub_list > li{
font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
#home04 .box_white ul.sub_list > li{
font-size: 1.6rem;
}
}
#home05{
	padding: 100px 0;
}
@media screen and (max-width: 767px) {
#home05{
	padding: 50px 20px;
}
}

#home05 .flow_list {
    padding-bottom: 30px;
}
#home05 .flow_list > div p:first-child {
    color: #333;
}
@media screen and (max-width: 767px) {
#home05 .flow_list > div p:first-child {
font-size: 1.4rem;
	}
}
#home05 .flow_list > div {
    width: 60%;
}
@media screen and (max-width: 767px) {
#home05 .flow_list > div {
    width: 50%;
}
}
#home05 .flow_list > p {
      width: 120px;
    }
@media screen and (max-width: 767px) {
#home05 .flow_list > p {
      width: 100px;
    }
}
.flow_day{
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width: 767px) {
.flow_day{
flex-wrap: wrap;
	}
}
.flow_day > div{
width:50%;
}
@media screen and (max-width: 767px) {
.flow_day > div{
width:100%;
}
}
.flow_day > figure{
width:40%;
}
@media screen and (max-width: 767px) {
.flow_day > figure{
width:100%;
}
}
#home06{
	background:var(--blue);
	padding: 100px 0;
}
@media screen and (max-width: 767px) {
#home06{
	padding: 50px 20px;
}
}
.gh_voice{
	display: flex;
	justify-content: space-between;
	margin-top: 120px;
}
@media screen and (max-width: 767px) {
.gh_voice{
flex-wrap: wrap;
margin-top: 120px;
	gap:60px;
}
}
.gh_voice > div{
background:#fff;
	border-radius: 10px;
	padding: 80px 50px 50px;
	width: 48%;
	box-sizing: border-box;
	position: relative;
}
@media screen and (max-width: 767px) {
.gh_voice > div{
	padding: 50px 20px 20px;
	width: 100%;
}
}
.gh_voice > div figure img{
	position: absolute;
	top: -70px;
	left: 0;
	right: 0;
	margin: 0 auto;
}
@media screen and (max-width: 767px) {
.gh_voice > div figure img{
	top: -40px;
	width: 80px;
}
}
.gh_voice > div dl{
}
.gh_voice > div dl dt{
	display: flex;
	margin-bottom: 10px;
	align-items: center;
	justify-content: space-between;
}
.gh_voice > div dl dt p:first-child{
	background: var(--blue);
	color: #fff;
	font-size: 2.4rem;
	width: 35px;
	height: 35px;
	line-height: 1.4;
	text-align: center;
	border-radius: 50%;
  font-family: var(--poppins);
}
.gh_voice > div dl dt p:last-child{
	font-size: 1.8rem;
font-weight: 500;
	width:  calc(100% - 50px);
}
.gh_voice > div dl dd{
	font-size: 1.6rem;
}
#home07{
	padding: 100px 0;
}
@media screen and (max-width: 767px) {
#home07{
	padding: 50px 20px;
}
}
#access{
	background: #EAEAEA;
	padding: 100px 0 200px;
}
@media screen and (max-width: 767px) {
#access{
	padding:50px 20px 100px;
}
}
.root_box{
	background: var(--blue);
	padding: 60px;
	border-radius: 20px;
}
@media screen and (max-width: 767px) {
.root_box{
	padding: 20px;
	border-radius: 10px;
}
}
.root_box .ttl{
	font-size: 2.4rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
	margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
.root_box .ttl{
	font-size: 2rem;
}
}
.gg_form{
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width: 767px) {
.gg_form{
flex-wrap: wrap;
	gap:5px;
	}
}
.gg_form > div{
	width: 48.5%;
	background: #fff;
	padding: 5px;
	display: flex;
	gap:20px; 
}
@media screen and (max-width: 767px) {
.gg_form > div{
	width: 100%;
	gap:10px; 
}
}
.gg_form > div > p{
	background: #CCDFEC;
	color: var(--blue);
	text-align: center;
	padding: 10px;
	width: 20%;
	box-sizing: border-box;
}
@media screen and (max-width: 767px) {
.gg_form > div > p{
	padding: 5px;
	width: 25%;
	font-size: 1.4rem;
}	
}
.gg_form > div > input,.gg_form > div > textarea{
	width: calc(80% - 20px);
	padding: 15px;
	box-sizing: border-box;
	border: none;
}
@media screen and (max-width: 767px) {
.gg_form > div > input,.gg_form > div > textarea{
	width: calc(75% - 10px);
	padding: 10px;
}
}
.btn{
	text-align: center;
	margin-top: 30px;
}
.btn input{
	background: #fff;
	color: var(--blue);
	border: #fff 2px solid;
	text-align: center;
	padding: 20px;
	font-weight: 500;
	width: 100%;
	max-width: 390px;
	margin: 0 auto;
	font-size: 2rem;
	border-radius: 50px;
}
@media screen and (max-width: 767px) {
.btn input{
	padding: 10px;
	font-size: 1.6rem;
}	
}
.btn input:hover{
	background: var(--blue);
	color: #fff;
	
}
.anchor_list{
	background: #434343;
	color: #fff;
	padding: 30px;
	position: fixed;
	z-index: 10;
	top: 20%;
	right: 0;
	text-align: left;
	border-radius: 10px 0 0 10px;
}
@media screen and (max-width: 767px) {
.anchor_list{
display: none;
	}
}
.anchor_list ul li{
	position: relative;
	padding-left: 20px;
	font-size: 1.2rem;
	margin-bottom: 5px;
}
.anchor_list ul li::before{
	content: "";
	position: absolute;
	background: #fff;
	width: 15px;
	height: 1px;
	top: 49%;
	left: 0;
}

.anchor_list ul li a{
	color: #fff;
}


/* リキャプチャ非表示　フォーム下にテキストで注釈表記する事 */
.grecaptcha-badge { visibility: hidden; }

.recaptcha_chu{margin: 30px 0;font-size: 1.2rem;}
.recaptcha_chu a{border-bottom: 1px solid #000;}
