/*
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: #333333;
  --sub: #000;
  --gray: #707070;
  --gray2: #F8F8F8;
  --gray3: #333333;
  --gray4: #F0F0F0;
  --gray5: #ebebeb;
  --bgw: #FFFFFF;
  --bg_main: #fff;
  --fcw: #FFFFFF;
  --color01: #24491F;
  --color02: #AD8425;
  --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: "Poppins","Noto Sans JP", "小塚ゴシック Pro", "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  --min: "Noto Serif JP", serif;
  --os: "Oswald", "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  --msd: 'Mrs Saint Delafield', cursive, "游ゴシック", "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;
  --orange01: #F8B62C;
  --orange02: #F8D586;
  --orange03: #FAE3AB;
  --orange04: #FBF0CF;
  --orange05: #ED6C0E;
  --green01: #6CB45B;
  --green02: #C7E8BF;
	--green03:#2f5d50;
}
body {
  background: var(--bg_main);
  color: var(--main);
  font-family: var(--noto);
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.05em;
  -webkit-text-size-adjust: 100%;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.4rem;
  line-height: 2;
  }
}
.f_min{
  font-family: var(--min);	
}
.os {
  font-family: var(--os);
}
.msd {
  font-family: var(--msd);
}
.hidden{
	overflow:hidden;
}
/* 背景色 */
.bg_gray {
  background-color:#EAEAEA !important;
}
.ft_bg_gray {
  background-color:#333 !important;
}
.bg_gray02 {
  background-color:#000;
}
.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;
}
.f_50 {
  font-size: 5rem;
}
@media screen and (max-width: 767px) {
.f_50 {
  font-size: 2.6rem;
}
}
.sp_center{}
@media screen and (max-width: 767px) {
.sp_center{
	text-align: center;
	}
}
.line_ye{
	background:#FFF56B;
}
.line_wh{
	background:#fff;
}
/* ------------------------------------------------------------------------- *
 *  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;flex-wrap: wrap;
  justify-content: center;
}
.wp-pagenavi span, .wp-pagenavi a {
  display: inline-block;
  min-width: 28px;
  padding: 5px 0;
  margin: 0 6px;
  text-align: center;
  border: none;
}
.wp-pagenavi .pages {
  padding: 0 10px;
}
.wp-pagenavi .current {
	border: #333 1px solid;
	border-radius: 50%;
	width: 40px ;
	height: 40px;
	font-weight: normal;
	padding: 5px 0;
}
/* CSS Document */
.site_wrapper {
  width: 1200px;
  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: 100px 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .indent_content {
    padding: 50px 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: 1240px;
  position: relative;
  z-index: 1;
}
#top {
  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　ヘッダー
-------------------------------------------------------------------*/

.bg_f1 {
  background-color: var(--main);
  padding: 20px 0;
  color: var(--bgw);
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
.bg_f1 {
    padding: 5px 15px;
    font-size: 1.0rem;
  }
}

header.header {
  position: fixed;
  z-index: 999;
  width: 100%;
	background: #fff;
	  padding: 20px 40px;
box-sizing: border-box;
	
}
@media screen and (max-width: 767px) {
	header.header {
	  padding: 15px;
	}
}
header.is-scroll .bg_h1 {
  overflow: hidden;
  height: 0;
  display: none;
}
header.is-scroll, header.header_height_on {
  /*  box-shadow: 0 4px 20px rgba(0, 0, 0, .1);
  background-color: var(--bgw) !important;*/
}
.header_in {
  position: relative;
}

.area_hd01 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 1200px) {

}
@media screen and (max-width: 767px) {
  .area_hd01 {
  flex-wrap: wrap;
	  gap:5px;
	  padding-top: 20px;
  }
}
.area_hd01 .left_area {
	display: flex;
	gap: 20px;
	align-items: center;
}
@media screen and (max-width: 1200px) {
.area_hd01 .left_area {
	width: 45%;
}	
}
@media screen and (max-width: 767px) {
.area_hd01 .left_area {
	width: 50%;
	gap: 15px;
	}
}
.area_hd01 .left_area p a{
	width: 169px;
	display: block;
}
@media screen and (max-width: 1200px) {
.area_hd01 .left_area p a{
	width: 130px;
}
}
@media screen and (max-width: 767px) {
.area_hd01 .left_area p a{
	width: 80px;
}
}
.area_hd01 .left_area h1{
	font-size: 1.4rem;
	text-align: left;
}
@media screen and (max-width: 1400px) {
.area_hd01 .left_area h1{
	font-size: 1.2rem;
}
}
@media screen and (max-width: 767px) {
.area_hd01 .left_area h1{
	font-size: 0.8rem;
	position: absolute;
	top: 0;
	left: 0;
}
}


.area_hd01 .right_area {}
@media screen and (max-width: 767px) {
  .area_hd01 .right_area {
	  width: 30%;
	}
}
.btn_head_contact {
  display: flex;
  gap: 20px;
  justify-content: flex-end;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .btn_head_contact {
    gap: 10px;
    justify-content: flex-end;
    align-items: center;
  }
}

.btn_head_contact.inner{
	margin-top: 30px;
}


.btn_head_contact > li:nth-child(1) a {
  display: flex;
  gap: 15px;
  align-items: center;
  text-align: left;
background: #FFAA00;
background: linear-gradient(180deg, rgba(255, 170, 0, 1) 0%, rgba(255, 102, 0, 1) 100%);
	color: #fff;
	padding: 10px 30px 10px 10px;
	box-sizing: border-box;
	font-size: 1.4rem;
	border-radius: 50px;
	box-shadow: 0px 0px 10px -5px rgba(68,27,0,0.8);
}
@media screen and (max-width: 767px) {
  .btn_head_contact > li:nth-child(1) a {
  gap: 10px;
	padding: 8px 25px 8px 8px;
	font-size: 1.4rem;
	}
}
  .btn_head_contact.inner > li:nth-child(1) a {
	padding: 11px;
 text-align: center;
	  display: block;
	}	
@media screen and (max-width: 767px) {
  .btn_head_contact.inner > li:nth-child(1) a {
	font-size: 1.4rem;
	}	
}


.btn_head_contact > li:nth-child(1) a p:first-child {
  font-size: 1.0rem;
  line-height: 1.1;
	color: #FF6600;
background: #fff;
	border-radius: 50%;
	text-align: center;
	padding: 5px;
	box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .btn_head_contact > li:nth-child(1) a p:first-child {
  }
}


.btn_head_contact > li:nth-child(2) a {
  color: #006837;
	border: #006837 1px solid;
  padding:10px 30px;
  display: block;
	box-sizing: border-box;
  border-radius: 50px;
	font-size: 1.4rem;
}
@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.inner > li:nth-child(2) a {
    padding: 10px;
    width: auto;
    height: auto;
	  display: block;
	  text-align: center;
  }	

@media screen and (max-width: 767px) {
}

.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(1),
.btn_head_contact > li:nth-child(2){
}

@media screen and (max-width: 767px) {
.btn_head_contact > li:nth-child(1),
.btn_head_contact > li:nth-child(2){
}
}


.btn_head_contact > li:nth-child(3) {
}
@media screen and (max-width: 767px) {
  .btn_head_contact > li:nth-child(3) {
  }
}
.btn_head_contact > li a:hover {
  opacity: 1;
}
.btn_head_contact.inner > li{
	border-bottom: none;
}



.nav_bb{
	border-bottom:#BABABA 1px solid;
}
.g_nav > ul {
  display: flex;
  justify-content: space-between;
	padding:30px 0;
}
.g_nav > ul > li {
}
.g_nav > ul > li > a{
  display: block;
  position: relative;
  font-weight: 500;
  font-size: 1.4rem;
  text-align: center;
  line-height: 1.2;
  cursor: pointer;
}

.g_nav > ul > li > a:hover{
color:#4A9161;
	opacity: 1;
	transition: 0.3s;
}
.g_nav > li a:hover, .g_nav > li.current a {
  color: #ccc;
}
/*ナビのスタイル*/
nav.NavMenu {
  position: fixed;
  z-index: 12;
  top: 0;
  left: 0;
  background: rgba(255, 255, 255, .95);
  text-align: left;
  width: 100%;
  height: 100%;
  display: none;
  padding: 40px 20px;
  box-sizing: border-box;
}

nav.NavMenu > ul > li {
  font-size: 1.4rem;
  text-align: left;
  list-style-type: none;
  border-bottom: 1px solid #BABABA;
  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: 500;
  font-size: 15px;
  color: #006837;
}
.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: 50px;
  height: 23px;
}
.Toggle {
  position: relative;
  width: 50px;
  height: 23px;
  cursor: pointer;
  z-index: 13;
  display: block;
  margin: 0 auto;
}
.Toggle.active {
  position: fixed;
  top: 40px;
  right: 20px;
}
.Toggle span {
  display: block;
  position: absolute;
  width: 50px;
  border-bottom: solid 1px #006837;
  -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(-30deg);
  -moz-transform: rotate(-30deg);
  transform: rotate(-30deg);
}
.Toggle.active span:nth-child(2){
  top: 8px;
  -webkit-transform: rotate(30deg);
  -moz-transform: rotate(30deg);
  transform: rotate(30deg);
}
 .Toggle.active span:nth-child(3) {
display: none;
}
.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;
	gap:30px;
}
.col_3 > li {
  width: calc(33.333% - 20px);
}
@media screen and (max-width: 767px) {
  .col_3 {
	  gap:20px;
  }
  .col_3 > li {
    width: 100%;
  }
}
/* 共通 */
.ttl_01{
	font-size:5rem;
	text-align: center;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
.ttl_01{
	font-size:3.2rem;
	margin-bottom: 50px;
}
}
.ttl_01 span{
	font-size:2.4rem;
	font-weight: 500;
}
@media screen and (max-width: 767px) {
.ttl_01 span{
	font-size:1.8rem;
}
}
.ttl_02 {
  font-size:5rem;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 80px;
	text-align: center;
}
@media screen and (max-width: 767px) {
  .ttl_02 {
    font-size: 2rem;
    margin-bottom: 40px;
  }
	.ttl_02 svg{
		height: 30px;
		width: 15px;
	}
}
.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;
  }
}
/* パンくずリスト
-------------------------------*/
nav#breadcrumbs {
  padding: 10px 0 100px;
}
@media screen and (max-width: 767px) {
  nav#breadcrumbs {
    padding: 10px 20px 30px;
  }
}
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;
}
nav#breadcrumbs ol li br {
    display: none;
  }


.tel_ft a {
  display: flex;
  padding: 15px 30px;
  box-sizing: border-box;
  justify-content: center;
  align-items: center;
  color: #fff;
  background: #C5C0AA;
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .tel_ft a {
    padding: 10px;
  }
}
.tel_ft a svg {
  width: 25px;
  margin-right: 10px;
}
@media screen and (max-width: 767px) {
  .tel_ft a svg {
    width: 20px;
    margin-right: 10px;
  }
}
.ft_nav_box{
	padding-top: 80px;
}
@media screen and (max-width: 767px) {
.ft_nav_box{
	padding: 40px 20px 0;
}
}
.ft_nav_box02{
	padding: 50px 0 80px;
}
@media screen and (max-width: 767px) {
.ft_nav_box02{
	padding: 30px 20px 40px;
}
}

.ft_nav{
	display:flex;
	flex-wrap: wrap;
	gap:20px;
}
.ft_nav > li{
  font-weight: 500;
  font-size: 1.6rem;
  margin-bottom: 30px;
	width: calc(25% - 15px);
}
@media screen and (max-width: 767px) {
  .ft_nav > li {
    font-size: 1.4rem;
    margin-bottom: 15px;
	  width: calc(50% - 20px);
  }
}

.ft_nav > li > a{
border-bottom: #333 1px solid;
padding-bottom: 5px;
position:relative;
}
.ft_nav > li > a::before{
content:"";
	background: url("img/common/arrow_s.svg");
	width: 20px;
	height: 20px;
	position: absolute;
	top: 5px;
	left: 0;
}
@media screen and (max-width: 767px) {
.ft_nav > li > a::before{
	background: url("img/common/arrow_s.svg");
	background-size: 16px;
	width: 16px;
	height: 16px;
	top: 5px;
}
}
.ft_nav > li a,.ft_nav_s > li a{
	color: #333;
	display: block;
	padding-left: 30px;
}
@media screen and (max-width: 767px) {
.ft_nav > li a,.ft_nav_s > li a{
	padding-left: 25px;
}
}

.address{
	display:flex;
	gap: 15px;
	flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
.address{
	gap: 0;margin-bottom: 10px;
}
}
.address p:last-child{
	text-decoration: underline;
}
.sns{
	display:flex;
	gap:20px;
}
.sns_insta a{
	position:relative;
	text-decoration: underline;
	color: #4A9161;
	padding-left: 30px;
}
.sns_insta a::before{
	content: "";
	background: url("img/common/instagram.svg") left center no-repeat;
	width: 20px;
	height: 20px;
	position: absolute;
	top: 0;
	left: 0;
}

.sns_youtube a{
	position:relative;
	text-decoration: underline;
	color: #4A9161;
	padding-left: 30px;
}
.sns_youtube a::before{
	content: "";
	background: url("img/common/youtube.webp") left center no-repeat;
	width: 20px;
	height: 14px;
	position: absolute;
	top: 3px;
	left: 0;
	background-size: 20px;
}


.ft_bnr{
	display:flex;
	justify-content: space-between;
	padding: 50px 0 20px;
	width: 85%;
	margin: 0 auto;
}
.ft_cmic_bnr{}
.ft_cmic_bnr img{border-radius: 5px;}
@media screen and (max-width: 767px) {
.ft_bnr{
	padding: 50px 20px 20px;
	width: 100%;
	flex-wrap: wrap;
	gap: 15px;
}
}
.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.4rem;
  letter-spacing: 0;
	border-top: #bababa 1px solid;
	padding: 20px;
}
@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: 20px;
  right: 10px;
  z-index: 10;
  /*デフォルトで非表示にする*/
/*  opacity: 0;
  visibility: hidden;
  transition: .3s;
*/}
@media screen and (max-width: 767px) {
  .btn_top {
    width: 50px;
    bottom: 60px;
    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_float02{
	display: none;
}
@media screen and (max-width: 767px) {
.ft_float02{
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	display:flex;
	align-items: flex-end;
}
	footer{
		padding-bottom: 40px;
		
	}
}





/* スライドの動き等速 */
.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 {
  padding: 250px 0 150px;
  box-sizing: border-box;
  position: relative;
  color: #fff;
  background-image: url("img/trainer/bg_ttl.webp");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page_tit {
    padding: 200px 20px 40px;
  background-image: url("img/trainer/sp_bg_ttl.webp");
  }
}
.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_voice{
  background-image: url("img/voice/bg_ttl.webp");
}
.bg_ttl_flow{
  background-image: url("img/flow/bg_ttl.webp");
}
.bg_ttl_worries{
  background-image: url("img/worries/bg_ttl.webp");
}
.bg_ttl_concept{
  background-image: url("img/concept/bg_ttl.webp");
}
.bg_ttl_price{
  background-image: url("img/price/bg_ttl.webp");
}
.bg_ttl_trainer{
  background-image: url("img/trainer/bg_ttl.webp");
	background-position: 5% top;
}
.bg_ttl_privacy{
  background-image: url("img/privacy/bg_ttl.webp");
}
.bg_ttl_column{
  background-image: url("img/column/bg_ttl.webp");
}
@media screen and (max-width: 767px) {
.bg_ttl_voice{
  background-image: url("img/voice/sp_bg_ttl.webp");
}
.bg_ttl_flow{
  background-image: url("img/flow/sp_bg_ttl.webp");
}
.bg_ttl_worries{
  background-image: url("img/worries/sp_bg_ttl.webp");
}
.bg_ttl_concept{
  background-image: url("img/concept/sp_bg_ttl.webp");
}
.bg_ttl_price{
  background-image: url("img/price/sp_bg_ttl.webp");
}
.bg_ttl_trainer{
  background-image: url("img/trainer/sp_bg_ttl.webp");
	background-position: center top;
}
.bg_ttl_column{
  background-image: url("img/column/sp_bg_ttl.webp");
	padding:180px 20px 10px ;
	background-position: center center;
}
	
}


.page_tit .ja {
  font-size: 6rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .page_tit .ja {
    font-size: 3.0rem;
  }
}
.page_tit .en {
  font-size: 3rem;
}
@media screen and (max-width: 767px) {
  .page_tit .en {
    font-size: 1.6rem;
  }
}


.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%;
  }
}
/*　ブログ　*/

.column_top li {
  margin-bottom: 20px;
}
.column_top li:last-child {
  margin-bottom: 0;
}
.news_list{
	display: flex;
	justify-content: space-between;
	flex-wrap:wrap;
}
@media screen and (max-width: 767px) {
.news_list{
flex-wrap: wrap;
	}
}
.news_list > li:nth-child(1),.news_list > li:nth-child(2){
	border-top: #ccc 1px solid;
}
.news_list > li{
	width: calc(50% - 20px);
}
@media screen and (max-width: 767px) {
.news_list > li{
	width: 100%;
	border-top: #ccc 1px solid;
}	
}


.news_list > li > a{
	display: flex;
	gap:20px;
	padding:30px 0; 
}
.news_list > li > a > figure{
width:calc(40% - 10px);
}

.news_list > li > a > div{
	border-bottom:#ccc 1px solid;
width:calc(60% - 10px);
}
@media screen and (max-width: 767px) {
.news_list > li > a > div{
	border-bottom:none;
}
	
}
.date{
	
}

.tit_bg_green{background: var(--green03);color: var(--fcw);padding: 10px 20px;}


#wysi {}
#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;
  margin-top: 0;
  color: #333333;
}
#wysi h1 a, #wysi h2 a, #wysi h3 a, #wysi h4 a, #wysi h5 a, #wysi h6 a {
  color: #333333;
  text-decoration: none;
}
#wysi h1 {
  line-height: 1.3;
  font-size: 30rem;
}
@media screen and (max-width: 767px) {
  #wysi h1 {
    font-size: 4.0rem;
  }
}
#wysi h1 span {
  font-weight: bold;
}
#wysi h2 {
	/*background: #4A9161;
  line-height: 1.2;
  font-size: 2.6rem;*/
	margin-bottom: 30px;
	margin-top: 60px;
	/*position: relative;
	padding: 15px;
	color: #fff;*/
}
@media screen and (max-width: 767px) {
  #wysi h2 {
    /*font-size: 2rem;*/
	margin-bottom: 20px;
	margin-top: 40px;
  }
}


#wysi h3 {
	/*position: relative;
  font-size: 2.0rem;
  font-weight: 500;
	padding-left: 15px;*/
	margin-bottom: 30px;
	margin-top: 60px;
	/*line-height: 1.3;
	border-left: #4A9161 5px solid;
	    color: #4A9161 !important;
    background: none !important;
    padding: 0 0 0 15px !important;*/
}
@media screen and (max-width: 767px) {
#wysi h3 {
/*  font-size: 1.6rem;
	padding-left: 15px;*/
	margin-top: 40px;
}
}


#wysi h4 {
  font-size: 18px;
  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 a{
	color: #4A9161;
	text-decoration: underline;
}


#wysi figure {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  #wysi figure {
    margin-bottom: 20px;
  }
#wysi a{
	overflow-wrap: break-word;
}

	
}
#wysi img {
  display: block;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  #wysi img {
    display: block;
    margin-bottom: 20px;
  }
}
#toc_container a{
}
#toc_container a span{
	color: #4A9161;
}
#wysi ul, #wysi ol {
     padding-left: 0 !important;
}
#toc_container {
    padding: 20px;
}
/*------------------------------
	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 {
  margin-bottom: 15px;
  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;
}
/*　お問い合わせ　*/
.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: #0061A2;
  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%;
	background: #f2f2f2;
	padding: 60px;
	box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .contact_form {
    display: block;
	padding: 15px;
  }
}
.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: none;
}
.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;
}
@media screen and (max-width: 767px) {
  .contact_form input[type=text], .contact_form input[type=email] {
    font-size: 1.6rem;
  }
  .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: 0 20px 100px;
}
.btn_submit input {
  background: #0061A2;
	border: #0061A2 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) {
	.btn_submit input {
  font-size: 1.6rem;
	}
}
.btn_submit input:hover {
background: #ffff;
	color: #0061A2;
}
.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_02 > a svg {
  margin-left: 80px;
}
.btn_02 > a svg circle {
  fill: #6CB45B;
}
.btn_02 > a svg path {
  stroke: #fff;
}
.btn_02 > a:hover svg circle {
  fill: #fff;
}
.btn_02 > a:hover svg path {
  stroke: #6CB45B;
}
.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;
}

/*-----------------------------------------*/

.swiper {
  overflow: hidden;
}
/* 前へ次への矢印カスタマイズ */
.swiper-button-prev::after, .swiper-button-next::after, .swiper-rtl .swiper-button-next: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_next_pre {
  display: flex;
	border-top: #ccc 1px solid;
	padding-top: 30px;
}
@media screen and (max-width: 767px) {
  .content_next_pre {}
}

.content_next_pre > li {
  box-sizing: border-box;
	width: 33.333%;
}
.content_next_pre > li:nth-child(2) {
text-align:center;
}
.content_next_pre > li:nth-child(3) {
text-align:right;
}

.content_next_pre > li a {
text-decoration: underline;
}

.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.6rem;
}
@media screen and (max-width: 767px) {
  .content_next_pre > li a div h4 {
    font-size: 1.4rem;
    line-height: 1.3;
  }
}




.ft_float {
  position: fixed;
  bottom: 10px;
  right: 10px;
	z-index: 10;
}
@media screen and (max-width: 767px) {
  .ft_float {
	  width: 60%;
	  right: 5px;
	  bottom: 5px;
  }
}
.js_close {
  display: none;
}
.flt_close {
  width: 30px;
  height: 30px;
  position: absolute;
  right: 5px;
  top: -20px;
  cursor: pointer;
  background: #4A9161;
  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: 15px;
  right: 6px;
  width: 18px;
  height: 1px;
  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: 6px;
  right: 15px;
  width: 1px;
  height: 18px;
  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
---------------------------------------------------------*/

/* よくある質問 */
.faq_list {
  letter-spacing: 0.1em;
}
.faq_list > dl {
  border-bottom: 2px solid #DDDDDD;
  padding: 40px 0;
}
.faq_list > dl > dt {
  font-weight: bold;
  background: url("img/common/ico_faq_q.webp")no-repeat left top;
  padding: 5px 0 15px 60px;
}
.faq_list > dl > dd {
  padding: 0 0 0 60px;
}
@media screen and (max-width: 767px) {
  .faq_list > dl {
    padding: 30px 0;
  }
  .faq_list > dl > dt {
    background-size: 30px 30px;
    padding: 0 0 10px 40px;
  }
  .faq_list > dl > dd {
    padding: 0 0 0 40px;
    font-size: 1.4rem;
  }
}
.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;
}

/*共通
-----------------------------------*/
.f_green{
	color:#006837;
}
.btn_01 {
  width: 100%;
  max-width: 390px;
  text-align: center;
}
.btn_01.center {
	margin: 0 auto;
}
.btn_01 a {
background: #fff;
	border: #006837 1px solid;
color: #006837;
width: 100%;
  padding: 15px;
  position: relative;
  display: block;
  border-radius: 50px;
  line-height: 1;
	font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
	.btn_01 a {
	font-size: 1.5rem;
}
}
.btn_01 a svg{
	position: absolute;
	width: 16px;
	height: 13px;
right:20px;
	top: 40%;
  transition: all 0.2s;	
}

.btn_01 a:hover svg{
right:15px;
}



.btn_01.orange a {
background: #FFAA00;
background: linear-gradient(180deg, rgba(255, 170, 0, 1) 0%, rgba(255, 102, 0, 1) 100%);
color: #fff;
	border: none;
}


.btn_01.blue a {
	border: #4093B8 1px solid;
	color: #4093B8;
}

.btn_01 a:hover {
  opacity: 1;
}
#contact{
	position: relative;
	color: #fff;
	margin-top: 100px;
}
@media screen and (max-width: 767px) {
#contact{
	margin-top: 50px;
}
}
#contact h2{
text-align: left;
margin-left: 5%;
}
@media screen and (max-width: 767px) {
#contact h2{
	width: 50%;
margin-left: 5%;
}
}
.bg_contact{
	background:url("img/common/bg_contact.webp") center top no-repeat;
	background-size: cover !important;
	padding: 100px 0;
}
@media screen and (max-width: 767px) {
.bg_contact{
	background:url("img/common/sp_bg_contact.webp") center top no-repeat;
	padding: 50px 20px;
}
}
.contact_area{
	display: flex;
	gap: 30px;
	justify-content: space-between;
}
.bg_contact .contact_area a{color: #fff;}
@media screen and (max-width: 767px) {
.contact_area{
flex-wrap: wrap;
gap: 20px;
}
}
.contact_area > div:last-child{
width:50%;
}
@media screen and (max-width: 767px) {
.contact_area > div:last-child{
width:100%;
}
}
.contact_area dl{
	display:flex;
	gap:30px;
	margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
.contact_area dl{
	gap:15px;
	margin-bottom:5px;
}
}
.contact_area dl dt{
	width: 15%;
	font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
.contact_area dl dt{
	width: 25%;
	font-size: 1.6rem;
}
}

.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:calc(50% - 15px);
}
@media screen and (max-width: 767px) {
.contact_btn > li{
	width:100%;
}
}
.contact_btn > li > a{
background: #fff;
display: block;
border: #006837 1px solid;
padding: 15px;
width: 100%;
box-sizing: border-box;
text-align: center;
	border-radius: 150px;
}
.contact_btn > li:first-child > a{
padding:30px 15px;
}
@media screen and (max-width: 767px) {
.contact_btn > li:first-child > a{
padding:15px;
}	
}
.contact_btn > li:last-child > a{
background: #FFAA00;
    background: linear-gradient(180deg, rgba(255, 170, 0, 1) 0%, rgba(255, 102, 0, 1) 100%);
	border: none;color: #fff;
}
@media screen and (max-width: 767px) {
.contact_btn > li:last-child > a{
padding:8px 15px;
}	
}
.contact_btn > li > a p:first-child{
	color: #006837;
font-size: 3.6rem;
font-weight: 500;
	line-height: 1.2;
	    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px
}
@media screen and (max-width: 767px) {
.contact_btn > li > a p:first-child svg{
	width: 20px;
}
.contact_btn > li > a p:last-child{
font-size: 1.2rem;
	line-height: 1;
}	

.contact_btn > li > a p:first-child{
font-size: 2.4rem;
}
}
.contact_btn > li:last-child > a p:first-child{
	color: #fff;
}


/*ggmap
--------------------------------*/
.ggmap iframe {
  border: none;
}
  .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%;
  }

.bg_seo{
	background:url("img/top/bg_seo.webp") center top no-repeat;
	padding: 150px 0;
	font-size: 1.4rem;
	background-size: cover;
}
@media screen and (max-width: 767px) {
.bg_seo{
	padding: 60px 20px;
	font-size: 1.0rem;
}
}

/*トップページ
-----------------------------------*/

.mv{
	overflow: hidden;
	position: relative;
}
@media screen and (max-width: 767px) {
.mv{
padding-top: 60px;
	}
}
.mv img{
object-fit: cover;	
	height: calc(100vh);
	width: 100%;
}
@media screen and (max-width: 767px) {
.mv img{
object-fit: cover;	
	width: 100%;
	height: auto;
}
}


#content_01{
	padding: 100px 0 0;
	background:#DADDD7;
}
@media screen and (max-width: 767px) {
#content_01{
	padding: 60px 0 0;
}
}
.content_area_01{
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.content_area_01 > div:first-child{
	width:16%;
}
@media screen and (max-width: 767px) {
.content_area_01 > div:first-child{
display: none;
	}
}
.content_area_01 > div:last-child{
	width:75%;
}
@media screen and (max-width: 767px) {
.content_area_01 > div:last-child{
	width:100%;
}
}
.white_line{
	background: #fff;
}

#content_02{
	position: relative;
	padding: 100px 0;
}
@media screen and (max-width: 767px) {
#content_02{
	padding: 50px 20px;
}
}
.list_01{
	display: flex;
	gap:30px;
}
@media screen and (max-width: 767px) {
.list_01{
flex-wrap: wrap;
gap:10px;
justify-content: center;
}
}
.list_01 > li{
	width: calc(33.333% - 20px);
}
@media screen and (max-width: 767px) {
.list_01 > li:first-child{
	width: 52%;
}
.list_01 > li:nth-child(2),
.list_01 > li:nth-child(3){
	width: calc(50% - 5px);
}
}

.list_staff{
	display: flex;
	gap:20px;
	margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
.list_staff{
	margin-bottom: 60px;
	flex-wrap: wrap;
	gap: 50px;
}
}
.list_staff > li{
	width: calc(25% - 15px);
	position: relative;
}
@media screen and (max-width: 767px) {
.list_staff > li{
	width: 100%;
}
}
.list_staff > li a{
	opacity: 1;
}
.interview_photo {
  position: relative;
  height: 400px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
.interview_photo {
  height: 240px;
}
}
.interview_photo img {
  position: static;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition-duration: 0.5s;
object-position: 30% 50%;
}
.interview_photo img:hover {
  transform: scale(1.25, 1.25);
  filter: brightness(70%);
}

.name_box{
	background:var(--bgw);
	padding: 20px;
	position: absolute;
	left: 0;
	bottom:-50px;
}
.yakusyoku{
	position: relative;
	color: #0061A2;
	font-size: 1.4rem;
	padding-left: 15px;
}
.yakusyoku::before{
	content: "";
	background: #0061A2;
	width: 10px;
	height: 1px;
	position: absolute;
	top: 50%;
	left: 0;
}
.name_box h3{
	font-weight: bold;
	font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
.name_box h3{
	font-size: 2rem;
}	
}
#content_04{
	position: relative;
	display: flex;
	padding: 0 40px;
	margin: 100px 0;
	gap:100px;
	width: calc(100vw - 10vw);
	margin-right: auto; 
	flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
#content_04{
	padding: 0;
	margin: 50px 20px;
	gap:40px;
	width: calc(100vw - 10vw);
	flex-wrap: wrap;
}	
}
#content_04 figure{
	width: 45%;
}
@media screen and (max-width: 767px) {
#content_04 figure{
	width: 100%;
}
}

#content_04 div{
text-align: left;
}
@media screen and (max-width: 767px) {
#content_04 div{
width: 100%;
	}
	
}
#content_04 h2{
	background: #E89BAD;
	color: #fff;
	padding: 8px;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1;
	display: inline-block;
	margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
#content_04 h2{
	font-size: 1.4rem;
	margin-bottom: 15px;
	padding: 5px;
}
}
#content_04 h3{
	font-size: 4rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
#content_04 h3{
	font-size: 2rem;
	margin-bottom: 30px;
}	
}
#content_04 h3 span{
	color: #E89BAD;
}
#content_04 h3 svg{
	height: 40px;
}
@media screen and (max-width: 767px) {
#content_04 h3 svg{
    height: 24px;
    width: 15px;
}
}
#content_05{
	position: relative;
	width: calc(100vw - 10vw);
	margin-left: auto;
	text-align: left;
}
@media screen and (max-width: 767px) {
#content_05{
	width: 100%;
	padding: 0 20px;
}
}
#content_05 h2{
	background: #4093B8;
	color: #fff;
	padding: 5px;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1;
	display: inline-block;
	margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
	#content_05 h2{
	padding: 5px;
	font-size: 1.4rem;
	margin-bottom: 15px;
}
}
#content_05 h3{
	font-size: 4rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
#content_05 h3{
	font-size: 2rem;
	margin-bottom: 40px;
}	
}
#content_05 h3 span{
	color: #4093B8;
}

.bg_area{
	padding: 80px 80px 100px;
	box-sizing: border-box;
	background-size: cover !important;
	color: #4093B8;
}
@media screen and (max-width: 767px) {
.bg_area{
	padding: 35% 0px 50px 20px;
	background-size: 95% !important;
}
	
}
.bg_area > div{
	background: #fff;
	border: #4093B8 1px solid;
	padding: 40px 30px;
	width: 415px;
}
@media screen and (max-width: 767px) {
.bg_area > div{
	padding:20px;
	width: 100%;
}
}
.bg_area > div > h4 {
	line-height:1.6;
	margin-bottom: 20px;
}
.bg_area > div > h4 > span{
	border-bottom: #4093B8 1px solid;
}
.bg_area > div > h4 > span:first-child{
	font-size: 2rem;
	font-weight: 500;
}
@media screen and (max-width: 767px) {
.bg_area > div > h4 > span:first-child{
	font-size: 1.2rem;
}
}
.bg_area > div > h4 > span:last-child{
	font-size: 3.8rem;
	font-weight: bold;	
}
@media screen and (max-width: 767px) {
.bg_area > div > h4 > span:last-child{
	font-size: 2rem;
}
}
.bg_01{
	background: url("img/top/img_02.webp") right center no-repeat;
}
@media screen and (max-width: 767px) {
.bg_01{
	background: url("img/top/sp_img_02.webp") left top no-repeat;
}
}
.bg_02{
	background: url("img/top/img_03.webp") right center no-repeat;
}
@media screen and (max-width: 767px) {
.bg_02{
	background: url("img/top/sp_img_03.webp") left top no-repeat;
}	
}
#content_06{
	background:#F5F5F5;
	padding: 270px 0 100px;
	margin-top: -150px;
}
@media screen and (max-width: 767px) {
#content_06{
	padding: 150px 20px 50px;
}
}
#content_06 h2{
	background: #4A9161;
	color: #fff;
	padding: 5px;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1;
	display: inline-block;
	margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
#content_06 h2{
	padding: 5px;
	font-size: 1.4rem;
	margin-bottom: 15px;
}	
}
#content_06 h3{
	font-size: 4rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
#content_06 h3{
	font-size: 3rem;
	margin-bottom: 40px;
}	
}

#content_06 h3 span{
	color: #4A9161;
}
#content_06 .relative{
	display: inline-block;
}
.icon_voice{
	position:absolute;
	top: -45px;
	left: -200px;
}
@media screen and (max-width: 767px) {
.icon_voice{
    top: -60px;
    left: -60px;
    width: 100px;
}	
}
.top_voice{
	display:flex;
	gap:30px;
	text-align: left;
	margin-bottom: 100px;
	flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
.top_voice{
	gap:15px;
	margin-bottom: 50px;
	flex-wrap: wrap;
}
}
.top_voice > li{
width: calc(50% - 15px);
	background: #fff;
	border: #4A9161 1px solid;
	padding:60px 30px 30px;
	box-sizing: border-box;
display:flex;/*子要素に追加*/
  flex-direction:column;/*子要素に追加*/
}
@media screen and (max-width: 767px) {
.top_voice > li{
width: 100%;
	padding:40px 15px 15px;
}
}
.top_voice > li > a h4{
	font-size: 2.4rem;
	text-align: left;
	margin-bottom: 15px;
	line-height: 24px;
}
@media screen and (max-width: 767px) {
.top_voice > li > a > h4{
	font-size: 1.6rem;
	margin-bottom: 15px;
	line-height: 16px;
}
}
.top_voice > li > a > h4 > span{
	border: #333 1px solid;
	padding: 5px;
	line-height: 44px;
}
@media screen and (max-width: 767px) {
.top_voice > li > a > h4 > span{
	line-height: 34px;
}
}

.ba_photo{
	display:flex;
}
.ba_photo > div{
}
.ba_photo > div > p{
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
	.ba_photo > div > p{
	font-size: 1rem;
}
}
.ba_photo > div:last-child > p{
	color: #4A9161;
}
.ba_photo > div > figure{
	overflow: hidden;
	margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
.ba_photo > div > figure{
}
}
.voice_info{
	display:flex;
	gap:10px;
	align-items: center;
	margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
.voice_info{
	margin-bottom: 50px;
}
}
.voice_info > p{
	background: #4A9161;
	border-radius: 50px;
	color: #fff;
	font-size: 2rem;
	text-align: center;
	padding: 8px;
	width: 40px;
	height: 40px;
	box-sizing: border-box;
	line-height: 1.2;
}
@media screen and (max-width: 767px) {
.voice_info > p{
	font-size: 1.6rem;
	padding: 5px;
	width: 25px;
	height: 25px;
}	
}
.voice_info > div{
display: flex;
	position: relative;
	padding: 10px 0;
}
.voice_info > div::before{
	content: "";
	background: url("img/top/border_bottom.svg") left top no-repeat;
	width: 239px;
	height: 22px;
	position: absolute;
	top: -22px;
	left: 0;
}
@media screen and (max-width: 767px) {
	.voice_info > div::before{
	width: 200px;
	height: 20px;
	top: -15px;
	background-size: 200px;
}
}
.voice_info > div::after{
	content: "";
	background: url("img/top/border_top.svg") left top no-repeat;
	width: 239px;
	height: 22px;
	position: absolute;
	bottom: -22px;
	left: 0;
}
@media screen and (max-width: 767px) {
.voice_info > div::after{
	width: 200px;
	height: 20px;
	bottom: -15px;
	background-size: 200px;

}	
}

.voice_info > div::after{
}
.voice_info > div > p{
	line-height: 1;
}
@media screen and (max-width: 767px) {
.voice_info > div > p{
font-size: 1.3rem;}
}



#content_07{
	padding: 100px 0;
}
@media screen and (max-width: 767px) {
#content_07{
	padding: 50px 20px;
}
}
.bnr_col_02{
	display: flex;
	gap:20px;
	margin-top: 20px;
	margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
.bnr_col_02{
	flex-wrap: wrap;
	gap:10px;
	margin-top: 10px;
	margin-bottom: 50px;
}
}
.plan_list{
	display:flex;
	gap:10px;
	align-items: center;
	margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
.plan_list{
flex-wrap: wrap;
	}
}
.plan_list > li{
	padding: 20px;
	box-sizing: border-box;
	position:relative;
	flex-grow:0.8 ;
}
@media screen and (max-width: 767px) {
.plan_list > li{
	padding: 20px;
	flex-grow:1;
}
}
.plan_list > li:nth-child(1){
background: #FFF4CF;
}
.plan_list > li:nth-child(2){
	flex-grow:1.2 ;
	background: #F9C5BF;
}
@media screen and (max-width: 767px) {
.plan_list > li:nth-child(2){
	flex-grow:1;
}
}
.plan_list > li:nth-child(3){
background: #F1DDE6;
}
.plan_list > li h3{
text-align: center;
}
.plan_list > li > div{
	display: flex;
	justify-content: space-between;
	border-bottom: #303030 1px solid;
	padding-bottom: 20px;
	margin-bottom: 20px;
}
.plan_list > li > div > div:first-child{
	text-align: center;
	line-height: 1.4;
}
.plan_list > li > div > div:first-child > p:first-child{
	font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
.plan_list > li > div > div:first-child > p:first-child{
text-align: left;
	}
}
.plan_list > li > div > div:first-child > p:last-child{
	font-size: 4rem;
	font-family: var(--min);
	font-weight: bold;
}
@media screen and (max-width: 767px) {
.plan_list > li > div > div:first-child > p:last-child{
	font-size: 3.4rem;
}	
}
.plan_list > li > div > div:first-child > p:last-child span{
	font-size: 1.4rem;
	font-family: var(--noto);
}
.plan_list > li:nth-child(2) > div > div:first-child > p:first-child{
	font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
.plan_list > li:nth-child(2) > div > div:first-child > p:first-child{
	font-size: 1.4rem;
	text-align: left;
}
}
.plan_list > li:nth-child(2) > div > div:first-child > p:last-child{
	font-size: 5rem;
}
@media screen and (max-width: 767px) {
.plan_list > li:nth-child(2) > div > div:first-child > p:last-child{
	font-size: 3.4rem;
}
}
.plan_list > li:nth-child(2) > div > div:first-child > p:last-child span{
	font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
.plan_list > li:nth-child(2) > div > div:first-child > p:last-child span{
	font-size: 1.2rem;
}
}
.plan_list > li > div > div:last-child{
	text-align: center;
	line-height: 1.4;
	background: #fff;
	padding:23px 5px;
	border-radius:50%;
	box-sizing: border-box;
	width: 90px;
	height: 90px;
	font-weight: 500;
}
@media screen and (max-width: 767px) {
	.plan_list > li > div > div:last-child{
	line-height: 1.4;
	padding:23px 0px;
	width: 75px;
	height: 75px;
		font-size: 1.2rem;
}
}
.plan_list > li:nth-child(1) > div > div:last-child{
	border: #D2A200 1px solid;
	color: #D2A200;
}
.plan_list > li:nth-child(2) > div > div:last-child{
	border: #E1003D 1px solid;
	color: #E1003D;
	width: 100px;
	height: 100px;
	padding: 30px 10px;
}
@media screen and (max-width: 767px) {
.plan_list > li:nth-child(2) > div > div:last-child{
	width: 75px;
	height: 75px;
	padding: 23px 0px;
}	
}
.plan_list > li:nth-child(3) > div > div:last-child{
	border: #A47289 1px solid;
	color: #A47289;
}
.ribbon {  
  display: inline-block;
  position: absolute;
  top: 0;
  left: 10px;
  margin: 0;
  padding: 15px 0;
  z-index: 2;
  width: 66px;
  text-align: center;
  font-size: 1.2rem;
  color: #fff;
	line-height: 1.2;
}
.ribbon::after {
  content: '';
  position: absolute;
  left: 0;
  top: 100%;
  height: 0;
  width: 0;
  border-bottom: 10px solid transparent;
}
.ribbon.r_01{
  background: #D2A200;	
}
.ribbon.r_01::after{
  border-left:33px solid #D2A200;
  border-right:33px solid #D2A200;
}
.ribbon.r_02{
  background: #E1003D;
	font-size: 2.4rem;
  width: 100px;
  padding: 20px 0;
}
@media screen and (max-width: 767px) {
	.ribbon.r_02{
 	font-size: 1.2rem;
  width: 66px;
  padding: 15px 0;
}
}
.ribbon.r_02::after{
  border-left: 50px solid #E1003D;
  border-right: 50px solid #E1003D;
}
@media screen and (max-width: 767px) {
.ribbon.r_02::after{
  border-left: 33px solid #E1003D;
  border-right: 33px solid #E1003D;
}
}
.ribbon.r_03{
  background: #A47289;	
}
.ribbon.r_03::after{
  border-left: 33px solid #A47289;
  border-right:33px solid #A47289;
}

.area_money{
	display:flex;
	gap:60px;
	margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
.area_money{
flex-wrap: wrap;
gap:20px;
margin-bottom: 50px;
}
}
.area_money > ul > li{
	
}
#content_08{}
@media screen and (max-width: 767px) {
#content_08{
	padding: 0 20px;
	}	
}
.staff_list{
	display: flex;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}
@media screen and (max-width: 767px) {
.staff_list{
flex-wrap: wrap;
gap:10px;
	}
}

.staff_list > li{
/*width: 33.333%;*/
width: 50%;	
}
@media screen and (max-width: 767px) {
.staff_list > li{
width: 100%;
}
}
.staff_list > li a{
	display: block;
	position: relative;
}

.staff_list > li a:hover,.staff_list > li a:hover p{
opacity: 1 !important;}


.staff_list > li a .logo{
	position: absolute;
	top: 40px;
	left: 40px;
	z-index: 2;
}
@media screen and (max-width: 767px) {
.staff_list > li a .logo{
	top: 20px;
	left: 20px;
	width: 65px;
}
}
.item_mask {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.8);
  opacity: 0;
}
.staff_list > li a .name{
  width: 85%;
	position: absolute;
	bottom: 40px;
	left: 40px;
	color: #fff;
	text-align: left;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
.staff_list > li a .name{
	bottom: 20px;
	left: 20px;
}	
}
.staff_list > li a .name p:last-child{
	letter-spacing: 0.3em;
	font-weight: normal;
}

.staff_list > li a:hover .item_mask {
  opacity: 1;
}
/* -fade-in */
.item_box.-fade-in .item_mask {
  transition: opacity 1.0s ease;
}

.img_area{
	display:flex;
	gap:5px;
	width: 95%;
	margin: 0 auto;
	margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
.img_area{
	margin-bottom: 50px;
	flex-wrap: wrap;
}
}
#content_09{
	background: #F3F0EE;
	padding: 100px 0;
}
@media screen and (max-width: 767px) {
#content_09{
	padding: 50px 20px;
}
	
}
.fap_sub_title{
	font-size:2.4rem;
	font-weight: 500;
	display: flex;
	gap:10px;
	align-items: center;
	margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
.fap_sub_title{
	font-size:1.8rem;
	margin-bottom: 15px;
}
}
.fap_sub_title figure{
	line-height: 1;
}
@media screen and (max-width: 767px) {
.fap_sub_title figure{
width: 25px;
	}
}
/*アコーディオン全体*/
.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;
	color: #E1003D;
	font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
.title {
	font-size: 1.5rem;
	background-size: 15px;
	padding-left: 25px;
	padding-right: 35px;
}
}
/*アイコンの＋と×*/
.title::before{
	content: "";
	background-image: url("img/top/open.svg");
    transform: rotate(0deg);
	width: 20px;
	height: 20px;
    position: absolute;  
	right: 30px;
	top: 10px;
}
@media screen and (max-width: 767px) {
.title::before{
	right: 0px;
	top: 40%;
  transform: translateY(-40%);}
}

/*　closeというクラスがついたら形状変化　*/
.title.close::before{
	background-image: url("img/top/close.svg");
	height: 1px;
		top: 40%;
  transform: translateY(-40%);
}


/*アコーディオンで現れるエリア*/
.box {
    display: none;/*はじめは非表示*/
	margin-top:30px;
}


/* VOICE
----------------------------------------------------------------*/
.voice_box{
	background: #F5F5F5;
	padding: 60px;
}
@media screen and (max-width: 767px) {
.voice_box{
	padding: 20px;
}
}
.voice_000{
	background: url("img/voice/icon.webp") left top no-repeat;
	padding-left: 170px;
}
@media screen and (max-width: 767px) {
.voice_000{
background: url("img/voice/icon.webp") center top no-repeat;
background-size: 70px;
padding-left: 0;
	padding-top: 90px;
}
}
.voice_000 h3{
	font-size: 2.2rem;
	font-weight: 500;
}
@media screen and (max-width: 767px) {
.voice_000 h3{
	font-size: 1.8rem;
}
}
.voice_001{
	background: #fff;
	padding:40px;
	margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
.voice_001{
	padding:15px;
	margin-bottom: 30px;
}
.voice_001 p:first-child img{
	width: 80%;
	margin: 0 auto;
	}
}


/* concept
----------------------------------------------------------------*/
.ttl_001{
	border-bottom:#303030 1px solid;
	margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
.ttl_001{
	margin-bottom: 40px;
}
}
.ttl_001 p{
	color: #4A9161;
	font-size: 1.8rem;
	font-weight: 500;
}
@media screen and (max-width: 767px) {
.ttl_001 p{
	font-size: 1.2rem;
}
}
.ttl_001 h3{
	font-size: 4rem;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
.ttl_001 h3{
	font-size: 2.0rem;
}
}
.beginner_area_box01{
	position: relative;
	margin-bottom: 150px;
}
@media screen and (max-width: 767px) {
.beginner_area_box01{
	margin-bottom: 60px;
}
}
.beginner_area_box01::before{
	content: "";
	background-image: url("img/concept/img_01.webp");
	width: 50%;
	height: 472px;
	position: absolute;
	top: 0;
	right: 40px;
}
@media screen and (max-width: 767px) {
.beginner_area_box01::before{
	content: none;
}
}
.beginner_area01{
	display:flex;
	width: 1200px;
	margin: 0 auto;
}
@media screen and (max-width: 767px) {
.beginner_area01{
	display:block;
	width: 100%;
	margin: 0 auto;
}
}
.beginner_area01 > div{
	text-align: left;
	font-size: 2rem;
}
@media screen and (max-width: 767px) {
.beginner_area01 > div{
	font-size: 1.4rem;
	margin-bottom: 30px;
}
}

.beginner_area_box02{
	position: relative;	
}
.beginner_area_box02::before{
	content: "";
	background-image: url("img/concept/img_03.webp");
	width: 50%;
	height: 638px;
	position: absolute;
	top: 0;
	left: 40px;
	background-size: cover !important;
	background-position: center;
}
@media screen and (max-width: 767px) {
	.beginner_area_box02::before{
		content: none;
	}
}
.beginner_area02{
	display:flex;
	width: 1200px;
	margin: 0 auto;justify-content: flex-end;
	height: 638px;
    align-items: center;
}
@media screen and (max-width: 767px) {
.beginner_area02{
	display:block;
	width: 100%;
	height: auto;
}
}
.beginner_area02 > div{
	text-align: left;
	width: calc(50% - 100px);
}
@media screen and (max-width: 767px) {
.beginner_area02 > div{
	width: 100%;
}	
}

.bg_concept{
	position: relative;
	padding: 30px 0 150px;
	box-sizing: border-box;
}
@media screen and (max-width: 767px) {
.bg_concept{
	position: relative;
	padding: 180px 0 0;
	box-sizing: border-box;
}
}
.bg_concept::before{
	content: "";
	position: absolute;
	top: 0;
	width: 70%;
	height: 500px;
	z-index: -1;
	background-size: cover!important;
}
@media screen and (max-width: 767px) {
.bg_concept::before{
	top: 0;
	width: 100%;
	height: 200px;
	background-size: cover !important;
}	
}
.concept_01::before{
	left: 0;
	background-image: url("img/concept/img_04.webp");
}
.box_concept{
	background: #fff;
	padding: 40px;
	box-shadow: 0px 0px 15px -5px #777777;
	width: 500px;
	margin-left: auto;
}
@media screen and (max-width: 767px) {
.box_concept{
	padding: 10px;
	width: 90%;
}
}
.concept_01 .box_concept{
	border-left: #4093B8 3px solid;
}
.number{
	font-size:2rem;
	color: #fff;
	line-height: 1;
	width: 40px;
	height: 40px;
	text-align: center;
	padding: 10px;
	box-sizing: border-box;
}
@media screen and (max-width: 767px) {
.number{
	font-size:1.6rem;
	width: 30px;
	height: 30px;
	padding: 10px;
}
}
.concept_01 .box_concept .number{
	background: #4093B8;
}
.box_concept h4{
	font-size: 2.6rem;
	font-weight: 500;
	line-height: 1.4;
}
@media screen and (max-width: 767px) {
.box_concept h4{
	font-size: 2.0rem;
}
}
.concept_01 .box_concept h4{
	color: #4093B8;
}

.concept_02::before{
	right: 0;
	background-image: url("img/concept/img_05.webp");
}


.concept_02 .box_concept{
	border-left: #42A995 3px solid;
	margin-left: inherit;	
}
@media screen and (max-width: 767px) {
.concept_02 .box_concept{
	margin-left: auto;	
}
}
.concept_02 .box_concept .number{
	background: #42A995;
}
.concept_02 .box_concept h4{
	color: #42A995;
}

.concept_03::before{
	left: 0;
	background-image: url("img/concept/img_06.webp");
}

.concept_03 .box_concept{
	border-left: #F6A003 3px solid;
}
.concept_03 .box_concept .number{
	background: #F6A003;
}
.concept_03 .box_concept h4{
	color: #F6A003;
}

.concept_04::before{
	right: 0;
	background-image: url("img/concept/img_07.webp");
}

.concept_04 .box_concept{
	border-left: #E89BAD 3px solid;
	margin-left: inherit;	
}
@media screen and (max-width: 767px) {
.concept_04 .box_concept{
	margin-left: auto;	
}	
}
.concept_04 .box_concept .number{
	background: #E89BAD;
}
.concept_04 .box_concept h4{
	color: #E89BAD;
}
.contact_box{
	border: #006837 2px solid;
	position: relative;
	padding: 50px;
}
@media screen and (max-width: 767px) {
.contact_box{
	padding: 30px;
}
}
.contact_box::before{
	content: "";
	background: #006837;
	width: 100%;
	height: 2px;
	position: absolute;
	top:10px;
	left: 0;
}
.contact_box::after{
	content: "";
	background: #006837;
	width: 100%;
	height: 2px;
	position: absolute;
	bottom:10px;
	left: 0;
}
.contact_box > div::before{
	content: "";
	background: #006837;
	height: 100%;
	width: 2px;
	position: absolute;
	left:10px;
	top:0;
}
.contact_box > div::after{
	content: "";
	background: #006837;
	height: 100%;
	width: 2px;
	position: absolute;
	right:10px;
	top:0;
}
.ng_list{
	border:#816EAC 3px solid;
	padding: 40px;
	background: #FBFBFB;
	margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
	.ng_list{
	padding: 15px;
	margin-bottom: 40px;
}
}
.ng_list > li{
	position: relative;
	font-size: 2.2rem;
	font-weight: 500;
	display: flex;
	align-items: center;
	gap:10px;
	margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
.ng_list > li{
	font-size: 1.5rem;
	line-height: 1.4;
}	
.ng_list > li > p:first-child{
	width: 30px;
}	
.ng_list > li > p:last-child{
	width: calc(100% - 40px);
}
	
}
.ng_list > li > p > span{
	color: #816EAC;
	background:linear-gradient(transparent 60%, #FFEE00 60%);
}
.ng_list > li:last-child{
	margin-bottom: 0;
}

.check_list{
	border:#E1003D 3px solid;
	padding: 40px;
	background: #FBFBFB;
	margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
	.check_list{
	padding: 15px;
	margin-bottom: 40px;
}
}
.check_list > li{
	position: relative;
	font-size: 2.2rem;
	font-weight: 500;
	display: flex;
	align-items: center;
	gap:10px;
	margin-bottom: 15px;
}
.check_list > li:last-child{
	margin-bottom: 0;
}
.check_list > li > p:first-child{
	width: 40px;
}
@media screen and (max-width: 767px) {
.check_list > li{
	font-size: 1.6rem;
	line-height: 1.4;
}	
.check_list > li > p:first-child{
	width: 30px;
}	
.check_list > li > p:last-child{
	width: calc(100% - 40px);
}	
}
.check_list > li > p > span{
	color:#E1003D;
}
.f_pink_22{
	color:#E1003D;
	font-size: 2.2rem;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
.f_pink_22{
	color:#E1003D;
	font-size: 1.6rem;
	font-weight: bold;
}
}
.bg_gray{
	background: #F5F5F5;
	padding: 100px 0;
}
@media screen and (max-width: 767px) {
.bg_gray{
	padding: 50px 20px;
}
}
.concept_txt01{
	text-align:center;
	font-size: 2rem;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
.concept_txt01{
	font-size: 1.6rem;
}
}
.concept_txt01 span{
background:linear-gradient(transparent 60%, #FFEE00 60%);	
}
.concept_txt02{
	text-align:center;
}

.concept_txt02 > p:first-child{
	color: #E1003D;
	font-size:5rem;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
.concept_txt02 > p:first-child{
	font-size:3.5rem;
}
}

.concept_box01{
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap:30px;
}
.m_auto{
	margin: 0 auto;
}

.ba_photo00{
	display:flex;
}
.ba_photo00 > div{
	position: relative;
}
.ba_photo00 > div > p{
	/*position: absolute;
	bottom: 0;
	left: 0;
	background: url("img/voice/bg.png") center top no-repeat;
	background-size: cover;
	padding: 10px;*/
	text-align: center;
	width: 100%;
	font-weight: bold;
	letter-spacing: 0.1em;
	font-size: 2.4rem;
}

.ba_photo00 > div > p.single_weight{font-size: 2.0rem;}
@media screen and (max-width: 767px) {
.ba_photo00 > div > p{
	font-size: 1.6rem;
}	
.ba_photo00 > div > p.single_weight{font-size: 1.4rem;}

}
.ba_photo00 > div:last-child > p{
	color: #E1003D;
}
.voice_faq{
	margin-bottom: 30px;
}
.voice_faq dt{
	color: #4A9161;
	margin-bottom: 15px;
	font-weight: 500;
	text-indent: -1.5em;
	padding-left: 1.5em;
}
.voice_faq dd{
	position: relative;
	padding-left: 25px;
}
.voice_faq dd::before{
content: "A";
	position: absolute;
	top: 0;
	left: 0;
}

.btn_more a{
	text-align: left;
	position: relative;
	display: block;
	border-bottom: #ccc 1px solid;
	padding-bottom: 10px;
}



/*column
---------------------------------------------*/
#column{
	
}
@media screen and (max-width: 767px) {
#column{
padding: 0 20px;	
}
}
.column_list{}
.column_list > li:nth-child(even){
	background: #F8F6F5;
}
.column_list > li:nth-child(odd){}

.column_list > li > a{
	width: 1200px;
	margin: 0 auto;
	text-align: left;
	display: flex;
	padding: 60px 0;
	box-sizing: border-box;
	gap:60px;overflow: hidden;
}
@media screen and (max-width: 767px) {
.column_list > li > a{
	width: 100%;
	padding: 40px 20px;
	gap:20px;
	flex-wrap: wrap;
}
}
.column_list > li > a figure{
	width:260px;
	height:260px;
}
@media screen and (max-width: 767px) {
.column_list > li > a figure{
	width:100%;
	height:200px;
}
}
.column_list > li > a div{
	width:calc(100% - 320px);
}
@media screen and (max-width: 767px) {
.column_list > li > a div{
	width:100%;
}
}
.column_list > li > a figure img{
object-fit: cover;
	height: 100%;
	width: 100%;
	border-radius: 10px;
}
.btn_column{
	color: #4A9161;
	background: url("img/column/arrow.svg") right center no-repeat;
	padding:10px 60px 10px 0;
	display: inline-block;
}
@media screen and (max-width: 767px) {
.btn_column{
	background-size: 35px;
	padding:10px 45px 10px 0;
}}
.ttl_column{
	font-size: 3rem;
	font-weight: 500;
	border-bottom: #BABABA 1px solid;
	padding-bottom: 40px;
	margin-bottom: 60px;	
}
@media screen and (max-width: 767px) {
.ttl_column{
	font-size: 2rem;
	padding-bottom: 20px;
	margin-bottom: 30px;	
}
}

/*flow
------------------------------------------------*/
.com_content{
	display:flex;
	gap:100px;
	align-items: flex-start;
	width: calc(100% - 100px);
}
@media screen and (max-width: 767px) {
.com_content{
flex-wrap: wrap;
gap:50px;
width: 100%;
}
}
#flow{
	padding: 100px 0;
	position: relative;
}
@media screen and (max-width: 767px) {
#flow{
	padding: 50px 20px;
	}
}
#flow .left{
  /*左固定記述*/
    position: -webkit-sticky;/*Safari用*/
    position: sticky;
  top:200px;
  /*横半分50%　縦を100vhにする*/
  width: 45%;
}
@media screen and (max-width: 767px) {
#flow .left{
  /*左固定記述*/
    position: relative;
  width: 100%;
	top:0;
}
}

#flow .right{
  /*横半分50%にする*/
  width:50%;
	box-sizing: border-box;
	text-align: left;
}
@media screen and (max-width: 767px) {
#flow .right{
  /*横半分50%にする*/
  width:100%;
	padding-top: 0;
}
}
.list_indent > li{
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom: 5px;
	
}
p.list_indent{
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom: 5px;
}

.scroll_list02 > li{
	border-bottom: #4A9161 1px solid;
	margin-bottom: 80px;
	padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
.scroll_list02 > li{
	margin-bottom: 40px;
	padding-bottom: 40px;
}
span.list_indent{
	display: block;
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom: 5px;
}
}
.scroll_list02 > li:last-child{
	margin-bottom: 0;
}
.scroll_list02 > li .ttl{
	color: #4A9161;
	margin-bottom: 40px;
}
.scroll_list02 > li .ttl p:first-child{
	font-size: 2rem;
	font-weight: 500;
}
@media screen and (max-width: 767px) {
.scroll_list02 > li .ttl p:first-child{
	font-size: 1.4rem;
}
}
.scroll_list02 > li .ttl p:last-child{
	font-size: 2.6rem;
	font-weight: 500;
}
@media screen and (max-width: 767px) {
.scroll_list02 > li .ttl p:last-child{
	font-size: 2rem;
}
}
.scroll_list02 > li .ttl p:last-child span{
	font-size: 2rem;
}
@media screen and (max-width: 767px) {
.scroll_list02 > li .ttl p:last-child span{
	font-size: 1.2rem;
}
}

/* worries
----------------------------------*/
.worries_01{
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width: 767px) {
.worries_01{
	flex-wrap: wrap;
	gap: 30px;
}
}
.worries_01 > div:first-child{
width: 55%;
}
@media screen and (max-width: 767px) {
.worries_01 > div:first-child{
width: 100%;
}	
}
.worries_01 > div:last-child{
width: calc(45% - 100px);
}
@media screen and (max-width: 767px) {
.worries_01 > div:last-child{
width: 100%;
}	
}

.worries_02{
	display:flex;
}
@media screen and (max-width: 767px) {
.worries_02{
flex-wrap: wrap;
	line-height: 1.6;
	}
}
.worries_02 > figure{
width: 40%;
}
@media screen and (max-width: 767px) {
.worries_02 > figure{
width: 100%;
}
}
.worries_02 > figure img{
	height: 100%;
	object-fit: cover;
border-radius: 20px 0 0 20px;
}
@media screen and (max-width: 767px) {
.worries_02 > figure img{
border-radius:10px 10px 0 0;
	height: auto;
	width: 100%;
}
}
.worries_02 > div:last-child{
width: 60%;
background: #F1DDE6;
border-radius: 0 20px 20px 0;
	padding: 60px;
	box-sizing: border-box;
}
@media screen and (max-width: 767px) {
.worries_02 > div:last-child{
width: 100%;
border-radius: 0 0 20px 20px;
padding: 15px;
}
}
.worries_02 > div:last-child p:nth-child(1){
	color: #A47289;
	font-size: 2rem;
}
@media screen and (max-width: 767px) {
.worries_02 > div:last-child p:nth-child(1){
	font-size: 1.6rem;
}
}
.worries_02 > div:last-child h4{
	color: #A47289;
	font-size: 2.6rem;
	font-weight: 500;
}
@media screen and (max-width: 767px) {
.worries_02 > div:last-child h4{
	font-size: 2.2rem;
}
}
.worries_02.blue > div:last-child{
background: #DAF9F2;
}
.worries_02.pink > div:last-child{
background: #FEEAE8;
}
.worries_02.yellow > div:last-child{
background: #FFF4CF;
}
.worries_02.blue > div:last-child p:nth-child(1){
	color: #4093B8;
}
.worries_02.blue > div:last-child h4{
	color: #4093B8;
}
.worries_02.pink > div:last-child p:nth-child(1){
	color: #E1003D;
}
.worries_02.pink > div:last-child h4{
	color: #E1003D;
}
.worries_02.yellow > div:last-child p:nth-child(1){
	color: #D2A200;
}
.worries_02.yellow > div:last-child h4{
	color: #D2A200;
}



.f_purple{
	color:#A47289;
}
.f_blue{
	color:#4093B8;
}
.f_pink{
	color:#E1003D;
}
.f_yellow{
	color:#D2A200;
}
.worries_list{
	display:flex;
	gap:15px;
}
@media screen and (max-width: 767px) {
.worries_list{
flex-wrap: wrap;
	}
}
.worries_list > li{
	width: calc(33.333% - 10px);
	border: #A47289 1px solid;
	position: relative;
}
@media screen and (max-width: 767px) {
.worries_list > li{
	width:100%;
}
}
.worries_list > li > p{
	padding: 25px;
}
@media screen and (max-width: 767px) {
.worries_list > li > p{
	font-size: 1.2rem;line-height: 1.6;
	padding: 20px;
}
}
.worries_list > li .icon_step{
	position: absolute;
	top: -10px;
	left: 10px;
}
@media screen and (max-width: 767px) {
.worries_list > li .icon_step{
width: 70px;
height: 70px;
}
}
.worries_list.blue > li{
	border: #4093B8 1px solid;
}
.worries_list.pink > li{
	border: #E1003D 1px solid;
}
.worries_list.yellow > li{
	border: #D2A200 1px solid;
}
.worries_03{
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
.worries_03{
	flex-wrap: wrap;
	gap: 30px;
}
}
.worries_03 > div:first-child{
width: 55%;
}
@media screen and (max-width: 767px) {
.worries_03 > div:first-child{
width: 100%;
}	
}
.worries_03 > div:last-child{
width: calc(45% - 100px);
}
@media screen and (max-width: 767px) {
.worries_03 > div:last-child{
width: 100%;
}	
}

/*トレーナー紹介
----------------------------------*/
#trainer .trainer_img{
	width: 80%;
}
@media screen and (max-width: 767px) {
#trainer .trainer_img{
	width: 100%;
}	
}
.name_area{
	background:#fff;
	padding: 40px 60px;
	position: absolute;
	right: 0;
	bottom: -50px;
}
@media screen and (max-width: 767px) {
.name_area{
	width: 90%;
	padding: 20px;
	bottom: -80px;
}	
}
.name_area .name{
	display: flex;
	align-items: center;
	gap:15px;
}
.name_area p:first-child{
	color: #888888;
	margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
.name_area p:first-child{
	margin-bottom: 10px;
	font-size: 1.2rem;
}
}
.name_area .name h3{
	font-size: 4rem;
	font-weight: 500;
}
@media screen and (max-width: 767px) {
.name_area .name h3{
	font-size: 2rem;
}
}
.name_area .name p{
	font-size: 2rem;
}
@media screen and (max-width: 767px) {
.name_area .name p{
	font-size: 1.2rem;
}
}
.trainer_box{
	display: flex;
	gap:60px;
	margin-top: 100px;
}
@media screen and (max-width: 767px) {
.trainer_box{
	flex-wrap: wrap;
	gap:30px;
}
}
.trainer_box > div:first-child{
	width: 50%;
}
@media screen and (max-width: 767px) {
.trainer_box > div:first-child{
	width: 100%;
}	
}
.trainer_box > div:last-child{
	width: calc(50% - 60px);
}
@media screen and (max-width: 767px) {
.trainer_box > div:last-child{
	width: 100%;
}
}
/*アコーディオン*/

#trainer .accordion-area > li{
    margin: 0 0 60px;
}
@media screen and (max-width: 767px) {
#trainer .accordion-area > li{
    margin: 0 0 30px;
}
}

/*アコーディオンタイトル*/
#trainer .title {
    font-weight: bold;
	color: #4A9161;
	border-bottom: #4A9161 1px solid;
	font-size: 2.2rem;
	padding-bottom: 20px;
	background: none;
	padding-left: 0;
}
@media screen and (max-width: 767px) {
#trainer .title {
	font-size: 1.6rem;
}
}
#trainer .title span{
	background: url("img/trainer/q.svg") left center no-repeat;
	    padding: 5px 0 5px 55px;
	display: block;
}
@media screen and (max-width: 767px) {
#trainer .title span{
	background-size: 25px;
	    padding: 5px 0 5px 40px;
}
}
#trainer .accordion-area {
    margin: 0 auto 100px;
}
@media screen and (max-width: 767px) {
#trainer .accordion-area {
    margin: 0 auto 50px;
}	
}

.btn_col_2{
	display:flex;
	gap:30px;
	justify-content: center;
}
@media screen and (max-width: 767px) {
.btn_col_2{
	flex-wrap: wrap;
	gap:20px;
}
}

.message{
	background:#F5F5F5;
	padding: 40px;
}
@media screen and (max-width: 767px) {
.message{
	padding: 20px;
}
}
.message h3{
	color: #006837;
	font-size: 2.2rem;
	font-weight: bold;
	position: relative;
	padding-left: 75px;
}
@media screen and (max-width: 767px) {
	.message h3{
	font-size: 1.8rem;
	padding-left: 60px;
}
	.message p{
	font-size: 1.2rem;
}	
}
.message h3::before{
	content: "";
	background-image: url("img/trainer/icon_message.webp");
	width: 60px;
	height: 60px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
.message h3::before{
	background-size: 45px;
	width: 45px;
	height: 45px;
}	
}














/*company
------------------------------------*/

#company01{
  position: relative;/*position stickyの基点にするため relativeをかける*/
	margin-bottom: 200px;
}
@media screen and (max-width: 767px) {
#company01{
	margin-bottom: 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: #0061A2;
	font-size: 1.2rem;
	position: relative;
	padding-bottom: 5px;
	margin-bottom: 10px;
	font-family: var(--poppins);
}
.taisetu .number::before{
	content: "";
	background: #0061A2;
	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: #0061A2;
	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;
}
}




.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:#0061A2;
	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: #0061A2;
	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: #0061A2;
	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: #0061A2;
	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: #0061A2;
	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: #0061A2;
	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;
}





.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: #0061A2;
	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%;
}


.btn_area{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
.btn_area{
	margin-bottom: 60px;
}
	
}


.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;
	}
}

.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:#0061A2;
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: #0061A2;
	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%;
}
}

/* YouTube埋め込み */
.voice_youtube_area{margin:0 auto 60px;width: 640px;max-width: 100%;}
.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    margin-bottom: 30px
}

.youtube>iframe,.youtube>figure,.youtube>lite-youtube {
    width: 100%;max-width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0
}

.youtube>figure {
    overflow: hidden
}

.youtube>figure a {
    display: block;
    position: relative;
    height: 100%
}

.youtube>figure img {
    display: block;
    height: 100%;
    width: 100%;
    object-fit: cover
}

@media screen and (max-width: 767px) {
    .youtube {
        margin-bottom:10px
    }

    .li_link_bnr img {
        width: 100%
    }
}
