@charset "UTF-8";
/*
Theme Name: MY-THEME
*/
@import "style-visual.css";

/* Webフォント読込サンプル */
/*
@font-face {
  font-family: "Font-Family-NAME";
  src: url(css/fonts/font-file.woff2) format("woff2"),
  url(css/fonts/font-file.woff) format("woff"),
  url(css/fonts/font-file.eot) format("eot");
  font-weight: 400;
  font-style: normal;
}
*/

/* ******************************
   変数設定など
   ****************************** */
:root {

  /* カラー(ボタン背景色など) */
  --main-color: #47916c;
  --sub-color: #fa7ab6;
  --txt-color: #181818;

  /* フォント関連 */
  --font-ja: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  --font-en: "Outfit",'Noto Sans JP', sans-serif;
  /*--font-en: "Oswald", 'Noto Sans JP',sans-serif;*/
  /*--font-en: "Cardo", 'Noto Sans JP', sans-serif;*/
  --font-mincho: 'Noto Serif JP', serif;
}


/* ******************************
   全体設定
   ****************************** */
body{
  font-family:  "Zen Maru Gothic", 'Noto Sans JP', "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--txt-color);
  background: #e7fdf2;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#root{
  overflow: hidden;
}


/* ******************************
   コンテナ設定＋画面端までの距離
   ****************************** */
:root {

  /* 画面端までの距離（通常） */
  --margin-for-device-side: -15px;

  /* 画面端までの距離（ワイド） */
  --margin-for-device-side-w: -15px;

}


.container{
  max-width: 100%;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width:768px){

  /* コンテナサイズ:px */
  .container{
    max-width: 720px;
    padding-left: 15px;
    padding-right: 15px;
  }

  :root {
    --margin-for-device-side: calc(345px - 50vw);
    --margin-for-device-side-w: calc(345px - 50vw);
    --resize-rate: 0.6;
  }
}
@media (min-width:992px){

  /* コンテナサイズ:px */
  .container{
    max-width: 960px;
    padding-left: 15px;
    padding-right: 15px;
  }

  :root {
    --margin-for-device-side: calc(465px - 50vw);
    --margin-for-device-side-w: calc(465px - 50vw);
  }
}
@media (min-width:1200px){

  /* コンテナサイズ:px */
  .container{
    max-width: 1140px;
    padding-left: 15px;
    padding-right: 15px;
  }

  :root {
    --margin-for-device-side: calc(555px - 50vw);
    --margin-for-device-side-w: calc(555px - 50vw);
    --resize-rate: 0.7;
  }
}
@media (min-width:1366px){

  /* コンテナサイズ:1286px */
  /*.container.wide{
    max-width: calc(1286px + 80px);
    padding-left: 40px;
    padding-right: 40px;
  }

  :root {
    --margin-for-device-side-w: calc(643px - 50vw);
  }*/

}
@media (min-width:1470px){

  /* コンテナサイズ:1370px */
  .container.wide{
    max-width: calc(1370px + 100px);
    padding-left: 50px;
    padding-right: 50px;
  }
  :root {
    --margin-for-device-side-w: calc(685px - 50vw);
    --resize-rate: 0.7;
  }

}
@media (min-width:1720px){

  /* コンテナサイズ:1520px */
  .container.wide{
    max-width: calc(1520px + 200px);
    padding-left: 100px;
    padding-right: 100px;
  }
  :root {
    --margin-for-device-side-w: calc(760px - 50vw);
    --resize-rate: 1.0;
  }
}


/* ******************************
   
   ****************************** */

/* 管理画面の余白調整 */
.gjs-dashed #wrapper{
  padding-bottom: 150px;
}

@media (max-width:767px){
  #chatbot-btn {
    bottom: 55px!important;
    z-index: 5;
  }
}

.mincho{
  font-family: 'Noto Serif JP', serif;
}

p,
h1, h2, h3, h4, h5, h6{
  margin: 0;
  letter-spacing: 0.05em;
}
h1, h2, h3, h4, h5, h6{
  line-height: 1.5;
}

a{
  color: inherit;
  transition: 0.3s;
}
a:hover{
  text-decoration: none;
  /*opacity: 0.7;*/
  /*color: inherit;*/
}
img{
  max-width: 100%;
  width: auto;
}

ul, ol, li{
  margin: 0;
  padding: 0;
  list-style: none;
}

.img_fit{
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.img_fit:before{
  content: "";
  display: block;
  padding-top: 100%;
}
.img_fit img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover';
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
}

a.img_fit{
  display: block;
}
a .img.img_fit img{
  transition: 0.2s all;
}
a:hover .img.img_fit img{
  transform: scale(1.05);
}

/* 動画埋め込みのレスポンシブ対応 */
iframe{
  max-width: 100%;
}
.responsive_video {
  position: relative;
}

.responsive_video:before{
  content: "";
  display: block;
  padding-top:56.25%;
}
.responsive_video video,
.responsive_video iframe,
.responsive_video object,
.responsive_video embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.gjs-dashed .responsive_video:before{
  display: none;
}
.gjs-dashed .responsive_video [data-gjs-type="video"]:before{
  content: "";
  display: block;
  padding-top:56.25%;
  pointer-events: none;
}


/* 指定デバイスのみで表示するclass */
@media (min-width:1200px){
  .md:not(.pc){
    display: none!important;
  }
  .tb:not(.pc){
    display: none!important;
  }
  .sp:not(.pc){
    display: none!important;
  }
}
@media (min-width:1024px) and (max-width:1199px){
  .pc:not(.md){
    display: none!important;
  }
  .tb:not(.md){
    display: none!important;
  }
  .sp:not(.md){
    display: none!important;
  }
}
@media (min-width:768px) and (max-width:1023px){
  .pc:not(.tb){
    display: none!important;
  }
  .md:not(.tb){
    display: none!important;
  }
  .sp:not(.tb){
    display: none!important;
  }
}
@media (max-width:767px){
  .pc:not(.sp){
    display: none!important;
  }
  .md:not(.sp){
    display: none!important;
  }
  .tb:not(.sp){
    display: none!important;
  }
}


/* 指定デバイスで改行を消す */
@media (min-width:1720px){
  .fw_nobr br{
    display: none !important;
  }
}
@media (min-width:1520px){
  .lg_nobr br{
    display: none !important;
  }
}
@media (min-width:1200px){
  .pc_nobr br{
    display: none !important;
  }
}

@media (min-width:1024px) and (max-width:1199px){
  .md_nobr br{
    display: none !important;
  }
}
@media (min-width:768px) and (max-width:1023px){
  .tb_nobr br{
    display: none !important;
  }
}
@media (max-width:767px){
  .sp_nobr br{
    display: none !important;
  }
}


/* 指定した行数での切り取り */
.txt_ellipsis_line1,
.txt_ellipsis_line2,
.txt_ellipsis_line3,
.txt_ellipsis_line4,
.txt_ellipsis_line5,
.txt_ellipsis_line6,
.txt_ellipsis_line7,
.txt_ellipsis_line8,
.txt_ellipsis_line9,
.txt_ellipsis_line10{
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
}
.txt_ellipsis_line1{
  -webkit-line-clamp: 1;
}
.txt_ellipsis_line2{
  -webkit-line-clamp: 2;
}
.txt_ellipsis_line3{
  -webkit-line-clamp: 3;
}
.txt_ellipsis_line4{
  -webkit-line-clamp: 4;
}
.txt_ellipsis_line5{
  -webkit-line-clamp: 5;
}



/*******************************
*　ヘッダー
********************************/
.header{
  --logo-height: 30px;
}
.hdr1{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 10px;
}

/* ロゴ */
.hdr_logo{

}
.hdr_logo img{
  display: block;
  width: auto;
  height: var(--logo-height);
  transition: 0.2s all;
}

/* メニュー全般 */
.hdr_menu{
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* TELボタン */
.hdr_tel{

}
.hdr_tel_txt1{
  font-size: 20px;
  font-weight: 500;
  font-family: "Oswald", sans-serif;
}
.hdr_tel_link{

}
.hdr_tel_link p{

}
.hdr_tel_link p:before{
  display: inline-block;
  content:"\f095";
  font-family: "fontAwesome";
  margin-right: 6px;
  -webkit-transform: rotate(15deg);
  transform: rotate(15deg);
  color: var(--main-color);
}


/* お問い合わせボタン */
.hdr_contact{
  display: flex;
  align-items: center;
  margin-left: 20px;
}
.hdr_contact a{
  background: var(--main-color);
  color: #FFF;
  width: 185px;
  padding: 10px 5px;
  text-align: center;
  transition: 0.2s all;
}
.hdr_contact a.email p:before{
  content:"\f0e0";
  font-family: "fontAwesome";
  margin-right: 10px;
}
.hdr_contact a:hover{
  background: var(--sub-color);
  color: #FFF;
}

/* SNSボタン */
.hdr_sns{
  display: flex;
  align-items: center;
  margin-left: 20px;
}
.hdr_sns a{
  width: 24px;
  transition: 0.2s all;
}
.hdr_sns a:hover{
  filter: brightness(1.1);
}
.hdr_sns a img{
  display: block;
}
.hdr_sns a + a{
  margin-left: 10px;
}


@media (min-width:375px){

}
@media (max-width:767px){

  .hdr1 {
    justify-content: center;
  }

  /* お問い合わせボタン */
  .hdr_contact{
    display: none;
  }
  .hdr_tel{
    display: none;
  }
  /* SNSボタン */
  .hdr_sns{
    margin-left: 20px;
  }
  .hdr_sns a img{
    height: 30px;
  }

}
@media (min-width:768px){

  /* ヘッダー固定 */
  body{
    /* ヘッダーの高さに応じて */
    padding-top: 86px;
  }
  .header{
    --logo-height: 50px;

    position: fixed;
    z-index: 3;
    top: 0;
    left: 0;
    right: 0;
  }

  .hdr1{
    padding: 0 15px 0;
  }

  /* ロゴ */
  .hdr_logo img{
    /*width: 180px;*/
  }

  /* ヘッダースリム */
  .header.slim{
    background: #FFF;
  }
  .header.slim .hdr_logo img{
    height: calc(var(--logo-height) * 0.8);
  }

  /* TELボタン */
  .hdr_tel{

  }
  .hdr_tel_txt1{
    font-size: 24px;
  }
  .hdr_tel_link p:before{
    margin-right: 6px;
  }


}
@media (min-width:1024px){

  .header{
    --logo-height: 50px;
  }

  /* ロゴ */
  .hdr_logo img{
    /*width: 200px;*/
  }

  /* ヘッダースリム */
  .header.slim{

  }
  .header.slim .hdr_logo img{
  }

  /* TELボタン */
  .hdr_tel{

  }
  .hdr_tel_txt1{
    font-size: 26.5px;
  }

}
@media (min-width:1200px){

  .header{
    --logo-height: 75px;
  }
  /* ロゴ */
  .hdr_logo{

  }
  .hdr_logo img{
    /*width: 420px;*/
  }

  /* ヘッダースリム */
  .header.slim{

  }
  .header.slim .hdr_logo img{
  }

}

/*******************************
*　メインビジュアル
********************************/
/* MV */
.mv{
  position: relative;
  z-index: 1;
}
.mv{
  /*margin-right: calc(var(--margin-for-device-side-w) + 70px);*/
}

.mv_img{
  position: relative;
  z-index: 1;
  border-radius: 30px;
}
.mv_img.img_fit:before{
  /*padding-top: 250px;*/
  /* 画面高さ - ヘッダー分 */
  padding-top: calc(100svh - 64px);
  padding-top: 400px;
}

/* MVテキスト */
.mv_txt{
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 30px;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  color: #FFF;
  font-size: 32px;
  font-weight: 700;
}
.mv_txt_p1{

}
.mv_txt_p2{

}

/**/
.mv_wrap{
  position: relative;
  z-index: 1;
}
.mv_box{
  position: absolute;
  z-index: 2;
  left: 15px;
  bottom: 50px;
  /*margin-left: calc(var(--margin-for-device-side-w) + 70px);*/
}

/* MVキャッチ */
.mv_catch{
  
}
.mv_catch_txt1{
  font-size: 26px;
  font-weight: 700;
  line-height: 1.42;
  color: var(--main-color);
  letter-spacing: 0.03em;
}

/* MVお知らせ */
.mv_news{
  width: calc(100vw - 70px);
  margin-top: 20px;
  position: relative;
  z-index: 1;
}
.mv_news_slider{
  
}
.mv_news_slides_inner{
  
}
.mv_news_item{
  display: flex;
  flex-wrap: wrap;
  background: #FFF;
  border-radius: 20px;
  padding: 25px 15px;
  
}
.mv_news_item_date{
  width: 100%;
  font-size: 16px;
  font-weight: 500;
}
.mv_news_item_title{
  width: calc(100% - 90px);
  width: 100%;
  font-size: 16px;
  font-weight: 700;
  color: var(--main-color);
}
.mv_news_item_title a:hover{
  color: var(--sub-color);
}

.mv_news_btn{
  display: flex;
  position: absolute;
  z-index: 2;
  bottom: 0;
  right: -15px;
  -webkit-transform: translate(0, 50%);
  transform: translate(0, 50%);
}
.mv_news_btn a{
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.075em;
  text-align: center;
  background: var(--main-color);
  color: #FFF;
  min-width: 180px;
  padding: 6px 10px 8px;
  border-radius: 15px;
  position: relative;
  z-index: 1;
}
.mv_news_btn a:before{
  content: "\f0a1";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 8px;
  /*position: absolute;*/
  /*top: 50%;*/
  /*left: 10px;*/
  /*-webkit-transform: translate(0, -50%);*/
  /*transform: translate(0, -50%);*/
}
.mv_news_btn a:hover{
  background-color: var(--sub-color);
}

@media (min-width:768px){
  
}
@media (min-width:768px){

  /* MV */
  .mv{
    /*margin-right: calc(var(--margin-for-device-side-w) + 70px);*/
  }
  .mv_img{
    border-radius: 50px;
  }
  .mv_img.img_fit:before{
    padding-top: 400px;
  }

  /**/
  .mv_wrap{
  }
  .mv_box{
    left: 30px;
    bottom: 50px;
    /*margin-left: calc(var(--margin-for-device-side-w) + 70px);*/
  }
  
  /* MVキャッチ */
  .mv_catch{

  }
  .mv_catch_txt1{
    font-size: 40px;
  }

  /* MVお知らせ */
  .mv_news{
    width: 600px;
    margin-top: 40px;
  }
  .mv_news_slider{

  }
  .mv_news_slides_inner{

  }
  .mv_news_item{
    border-radius: 20px;
    padding: 25px 35px;
  }
  .mv_news_item_date{
    width: 90px;
    font-size: 16px;
  }
  .mv_news_item_title{
    width: calc(100% - 90px);
    font-size: 16px;
  }

  .mv_news_btn{
    right: -25px;
  }
  .mv_news_btn a{
    font-size: 16px;
    min-width: 220px;
    /*padding: 12px 10px 14px;*/
    border-radius: 15px;
  }
  .mv_news_btn a:before{
    margin-right: 8px;
  }

}
@media (min-width:1024px){


  /* MV */
  .mv{
    margin-right: calc(var(--margin-for-device-side-w) + 70px);
  }
  .mv_img.img_fit:before{
    padding-top: 500px;
  }
  
  /**/
  .mv_wrap{
  }
  .mv_box{
    left: 0;
    bottom: 45px;
    margin-left: calc(var(--margin-for-device-side-w) + 70px);
  }

  /* MVキャッチ */
  .mv_catch{

  }
  .mv_catch_txt1{
    font-size: 50px;
  }

  /* MVお知らせ */
  .mv_news{
    width: 700px;
    margin-top: 40px;
  }
  .mv_news_slider{

  }
  .mv_news_slides_inner{

  }
  .mv_news_item{
    border-radius: 20px;
    padding: 25px 35px;
  }
  .mv_news_item_date{
    width: 135px;
    font-size: 16px;
  }
  .mv_news_item_title{
    width: calc(100% - 135px);
    font-size: 16px;
  }

  .mv_news_btn{
    right: -25px;
  }
  .mv_news_btn a{
    font-size: 16px;
    min-width: 220px;
    /*padding: 12px 10px 14px;*/
    border-radius: 15px;
  }
  .mv_news_btn a:before{
    margin-right: 8px;
  }

}
@media (min-width:1200px){

  /* MV */
  .mv{
  }
  .mv_img{
    border-radius: 100px;
  }
  .mv_img.img_fit:before{
    padding-top: 820px;
  }


}
@media (min-width:1470px){

  /* MV */
  .mv{
  }
  .mv_img{
    border-radius: 100px;
  }
  .mv_img.img_fit:before{
    padding-top: 820px;
  }
  
  /**/
  .mv_wrap{
  }
  .mv_box{
    left: 0;
    bottom: 125px;
    margin-left: calc(var(--margin-for-device-side-w) + 70px);
  }

  /* MVキャッチ */
  .mv_catch{

  }
  .mv_catch_txt1{
    font-size: 70px;
  }

  /* MVお知らせ */
  .mv_news{
    width: 875px;
    margin-top: 40px;
  }
  .mv_news_slider{

  }
  .mv_news_slides_inner{

  }
  .mv_news_item{
    border-radius: 20px;
    padding: 25px 35px;
  }
  .mv_news_item_date{
    width: 135px;
    font-size: 16px;
  }
  .mv_news_item_title{
    width: calc(100% - 135px);
    font-size: 16px;
  }

  .mv_news_btn{
    right: -25px;
  }
  .mv_news_btn a{
    font-size: 16px;
    min-width: 220px;
    padding: 12px 10px 14px;
    border-radius: 15px;
  }
  .mv_news_btn a:before{
    margin-right: 8px;
  }
  


}
@media (min-width:1720px){

  


}


/*******************************
*　サイドバー
********************************/

/* サイドバー */
.sidebar{
  position: fixed;
  z-index: 2;
  top: 50%;
  right: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

/* バナー */
.sidebar_bn{
  display: flex;
  flex-direction: column;
}
.sidebar_bn a{
  
}
.sidebar_bn a+a{
  margin-top: 10px;
}
.sidebar_bn img{
  width: 40px;
  transition: 0.2s all;
}
.sidebar_bn a:hover{

}
.sidebar_bn a:hover img{
  transform: scale(1.05);
  filter: brightness(1.05);
}


@media (min-width:768px){

  /* サイドバー */
  .sidebar{
    top: 50%;
  }

  /* バナー */
  .sidebar_bn{
  }
  .sidebar_bn img{
    width: 60px;
  }


}
@media (min-width:1024px){

}
@media (min-width:1200px){

  /* バナー */
  .sidebar_bn{
  }
  .sidebar_bn img{
    width: 80px;
  }

}


/*******************************
*　下層ヘッダー
********************************/
.pg_header{
  margin-left: 15px;
  margin-right: 15px;
  margin-bottom: 30px;
  position: relative;
  z-index: 1;
}
.pg_header_mv_img{
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.pg_header_mv_img.img_fit:before{
  padding-top: 150px;
}
.pg_header_mv_img:after{
  /*content: "";
  background: rgba(0,0,0,0.3);
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;*/
}

.pg_header_title{
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 0;
  right: 0;
  text-align: center;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
.pg_header_title_txt{
  font-size: 32px;
  font-weight: 700;
  color: #FFF;
}


.pg_header{
  
}



@media (min-width:768px){
  .pg_header{
    margin-left: 30px;
    margin-right: 30px;
    margin-bottom: 40px;
  }
  .pg_header_mv_img{
    border-radius: 50px;
  }
  .pg_header_mv_img.img_fit:before{
    padding-top: 350px;
  }
  
  .pg_header_title_txt{
    
  }

}
@media (min-width:1024px){
  .pg_header{
    margin-bottom: 70px;
  }
  .pg_header_mv_img.img_fit:before{
    padding-top: 350px;
  }
  
  .pg_header_title_txt{
    
  }

}
@media (min-width:1200px){

  .pg_header{
    margin-left: 50px;
    margin-right: 50px;
    margin-bottom: 70px;
  }
  .pg_header_mv_img{
    border-radius: 75px;
  }
  .pg_header_mv_img.img_fit:before{
    padding-top: 400px;
  }
  
  .pg_header_title_txt{
    
  }

}
@media (min-width:1470px){

  .pg_header{
    margin-left: 75px;
    margin-right: 75px;
    margin-bottom: 70px;
  }
  .pg_header_mv_img{
    /*border-radius: 100px;*/
  }
  .pg_header_mv_img.img_fit:before{
    padding-top: 500px;
  }
  
  .pg_header_title_txt{
    
  }

}
@media (min-width:1536px){

  

}
@media (min-width:1720px){
  
  .pg_header{
    margin-left: 135px;
    margin-right: 135px;
    margin-bottom: 70px;
  }
  .pg_header_mv_img{
    border-radius: 100px;
  }
  .pg_header_mv_img.img_fit:before{
    padding-top: 500px;
  }
  
  .pg_header_title_txt{
    
  }
  
}


/*******************************
*　フッター
********************************/

.footer{
  margin-top: 50px;
  background: var(--main-color);
}

.ftr1{
  padding: 30px 0;
  margin-bottom: 25px;
}

.ftr1>.container{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.ftr1_box1{

}
.ftr1_box2{

}

.ftr_logo{
  margin-bottom: 25px;
}
.ftr_name{
  font-weight: 500;
  letter-spacing: 0.075em;
  margin-bottom: 10px;
}
.ftr_addr{
  margin-bottom: 10px;
}


.ftr_contact{
  display: block;
  background: #ef7f1a;
  border-radius: 10px;
  color: #FFF;
  width: 255px;
  padding: 13px 5px;
  text-align: center;
}

.ftr_contact p:before{
  content:"\f0e0";
  font-family: "FontAwesome";
  margin-right: 10px;
}

.ftr_addr em{
  font-style: normal;
}
.ftr_copy{
  font-size: 14px;
  text-align: center;
}

/* 追尾スマホメニュー */
.footer_fix{
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #7ecef4;
  /*z-index: 1000;*/
  z-index: 5; /* チャットボットがある場合 */
  flex-wrap: wrap;
}
.footer_fix > a{
  font-size: 12px;
  text-align: center;
  display: block;
  padding: 10px 5px 5px;
  background: #cab386;
  text-decoration: none;
  line-height: 1.2;
}
.footer_fix .footer_fix_item_1{
  width: 38%;
  border-right: 1px solid #ef7f1a;
}
.footer_fix .footer_fix_item_1.recruit{
  background: #eeeeee;
  color: #024b93;
}
.footer_fix .footer_fix_item_2{
  width: 24%;
  background: #cab386;
}
.footer_fix > a i{
  font-size: 20px;
  margin-bottom: 8px;
}
.footer_fix .footer_fix_item_1.remorte i{
  margin-bottom: 0;
}

/* ページTOPに戻る */
.pagetop{
  display: none;
  position: fixed;
  z-index: 5;
  right: 10px;
  bottom: 60px;
  z-index: 3;
}
.pagetop a{
  display: block;
  font-size: 0;
  width: 42px;
  height: 42px;
  text-align: center;
  color: #4682b4;
}
.pagetop a i{
  font-size: 40px;
}



@media (min-width:375px){

}
@media (max-width:767px){

  body{
    padding-bottom: 56px;
  }

  .footer_fix{
    display: flex;
  }

  .footer_fix{
    display: flex;
    transform: translateY(100%);
    transition: 0.2s all;
  }
  .footer_fix.show{
    transform: translateY(0);
  }

  #chatbot-btn{
    transform: translateX(100%);
    transition: 0.2s all;
  }
  #chatbot-btn.show{
    transform: translateX(0);
  }
}
@media (min-width:768px){
  .footer{
    margin-top: 100px;
  }
}
@media (min-width:1024px){
  .footer{
    margin-top: 180px;
  }
}
@media (min-width:1200px){

}


/*******************************
*　共通パーツ
********************************/


/* テーブル用 */
.table_rows{
  display: table;
  table-layout: fixed;
  border-collapse: collapse;
  width: 100%;
}
.table_rows_tr{
  display: table-row;
}
.table_rows_th,
.table_rows_td{
  display: table-cell;
  border: 1px solid #dcdcdc;
  vertical-align: middle;
  padding: 10px 15px;
  letter-spacing: 0.075em;
}
.table_rows_th{
  background-color: #eeeeee;
  vertical-align: top;
  border-right: 0;
}
.table_rows_td{
  background-color: #eeeeee;
  vertical-align: top;
  border-left: 0;
}
.table_rows_td_pad0{
  padding: 0 !important;
}

/* テーブル入れ子 */
.table_rows .table_rows{

}
.table_rows .table_rows > .table_rows_tr:first-child .table_rows_th,
.table_rows .table_rows > .table_rows_tr:first-child .table_rows_td{
  border-top:0;
}
.table_rows .table_rows > .table_rows_tr:last-child .table_rows_th,
.table_rows .table_rows > .table_rows_tr:last-child .table_rows_td{
  border-bottom:0;
}
.table_rows .table_rows > .table_rows_tr .table_rows_th:first-child,
.table_rows .table_rows > .table_rows_tr .table_rows_td:first-child{
  border-left:0;
}
.table_rows .table_rows > .table_rows_tr .table_rows_th:last-child,
.table_rows .table_rows > .table_rows_tr .table_rows_td:last-child{
  border-right:0;
}


/* ページネーション */
.webgene-pagination {
  width: 100%;
  margin: 50px 0 0;
  line-height: 1.85;
}
.webgene-pagination ul{
  display: flex;
  justify-content: center;
  align-items: center;
}
.webgene-pagination li{
  padding: 4px 13px;
  margin: 0 4px;
  border: 1px solid #c0c0c0;
  background: #ffffff;
  font-weight: 500;
}
.webgene-pagination li.selected{
  border: 0;
  background: #e5e5e5;
}
.webgene-pagination li.next a:after{
  content: "\f101";
  font-family: 'FontAwesome';
  font-weight: 900;
  display: inline-block;
  margin-left: 10px;
}
.webgene-pagination li.prev a:before{
  content: "\f100";
  font-family: 'FontAwesome';
  font-weight: 900;
  display: inline-block;
  margin-right: 10px;
}

/* アンカー */
.anchor{
  position: relative;
  top: -30px;
}

/* ボタン */
.read_more{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 30px;
  margin-left: -5px;
  margin-right: -5px;
}
.read_more a{
  min-width: 250px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  border: 1px solid currentColor;
  background: var(--main-color);
  /*border-radius: 27px;*/
  color: #FFF;
  padding: 16px 20px;
  margin: 5px 5px;
  position: relative;
  z-index: 1;
  transition: 0.2s all;
}
.read_more a p{
  /*letter-spacing: 0;*/
}
.read_more a:after{
  content: "→";
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 18px;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  transition: 0.2s all;
}
.read_more a:hover{
  color: #FFF;
  background: var(--sub-color);
}
.read_more a:hover:after{
  margin-right: -5px;
}



/* 見出し */
.tt1{
  font-size: 20px;
  text-align: center;
  position: relative;
  z-index: -1;
}
.tt1_en{
  font-size: 6.1333em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.015em;
  color: #cfeedf;
}
.tt1_en:first-letter{
  text-transform: uppercase;
}
.tt1_ja{
  font-size: 1em;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
  color: var(--main-color);
  position: absolute;
  z-index: 1;
  top: 53%;
  left: 0;
  right: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

/* 見出し */
.tt2{
  font-size: 24px;
  text-align: center;
  position: relative;
  z-index: 0;
}
.tt2_en{
  font-size: 4.1666em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.015em;
  letter-spacing: 0;
  color: #cfeedf;
}
.tt2_en:first-letter{
  text-transform: uppercase;
}
.tt2_ja{
  font-size: 1em;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
  color: var(--main-color);
 
}
.tt2_en + .tt2_ja{
  position: absolute;
  z-index: 1;
  top: 57.5%;
  left: 0;
  right: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
.cmn_about_title1 .tt2_en + .tt2_ja{
  top: 49%;
}
.tt2_txt{
  font-size: 14px;
  font-weight: 500;
}

.tt2.large{
  
}
.tt2.large .tt2_en{
  /*font-size: 6.1333em;*/
}
.tt2.large .tt2_ja{
  
}
.tt2.left{
  
}
.tt2.left .tt2_en{
  
}
.tt2.left .tt2_ja{
  /*top: 53%;*/
  /*left: 11.5%;*/
  /*right: auto;*/
}

.tt2_ja.color2{
  color: #47916c;
}

.tt2.hasTxt{
  
}
.tt2.hasTxt .tt2_ja{
  position: static;
}
.tt2.hasTxt .tt2_txt{
  margin-top: -20px;
}

/* セクション */
.section{
  padding-top: 50px;
  padding-bottom: 50px;
  position: relative;
  z-index: 1;
}
.section.sec1{
  padding-top: 0;
}
.section:last-child{
  padding-bottom: 0;
}

.section.beige{
  background-color: #c3b9a9;
}
.section.about_head_bg{
  background-color: #cfeedf;
  margin-top: 50px;
  padding-top: 50px;
}

/* コンテナ */
.container.wide{

}


@media (max-width:374px){

}
@media (min-width:375px){

}
@media (max-width:767px){

  /* スマホ用テーブル */
  .table_rows.resp{

  }
  .table_rows.resp,
  .table_rows.resp .table_rows_tr,
  .table_rows.resp .table_rows_th,
  .table_rows.resp .table_rows_td{
    display: block;
    width: 100%;
    border: 0;
  }

  .table_rows.resp{
    border: 1px solid #dcdcdc;
    border-top: 0;
  }
  .table_rows.resp .table_rows_th,
  .table_rows.resp .table_rows_td{
    border-top: 1px solid #dcdcdc;
  }

}
@media (min-width:768px){

  .anchor{
    top: -100px;
  }

  /* ページネーション */
  .webgene-pagination {
    margin-top: 50px;
  }

  /* ボタン */
  .read_more{
    margin-top: 35px;
  }
  .read_more.center{
    justify-content: center;
  }
  .read_more.left{
    justify-content: flex-start;
  }
  .read_more.right{
    justify-content: flex-end;
  }
  .read_more a{
    min-width: 285px;
    font-size: 16px;
    padding: 16px 20px;
    margin: 5px 5px;
  }
  .read_more a:after{
    content: "→";
    top: 50%;
    right: 18px;
  }
  .read_more a:hover:after{
    margin-right: -5px;
  }
  
  /* 見出し */
  .tt1{
    font-size: 30px;
  }
  .tt1_en{
    font-size: 6.1333em;
  }
  .tt1_ja{
    font-size: 1em;
    top: 53%;
  }

  /* 見出し */
  .tt2{
    font-size: 34px;
    font-size: 28px;
  }
  .tt2_en{
    font-size: 4.1666em;
  }
  .tt2_ja{
    font-size: 1em;
  }
  .tt2_en + .tt2_ja{
    top: 57.5%;
  }
  .cmn_about_title1 .tt2_en + .tt2_ja{
    top: 49%;
  }
  .tt2.large .tt2_en{
    font-size: 6.1333em;
  }
  
  .tt2_txt{
    font-size: 16px;
  }
  
  .tt2.hasTxt{

  }
  .tt2.hasTxt .tt2_ja{
    position: absolute;
    z-index: 1;
    top: 65%; 
  }
  .tt2.hasTxt .tt2_txt{
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    right: 0;
  }
  .section.about_head_bg{
    margin-top: 230px;
    padding-top: 75px;
  }

}
@media (min-width:1024px){

  /* ページネーション */
  .webgene-pagination{
    margin-top: 120px;
  }
  .posts_list .webgene-pagination{
    margin-top: 80px;
  }

  /* 見出し */
  .tt2{
    font-size: 36px;
    font-size: 32px;
  }
  .tt2_en{
    /*font-size: 4.1666em;*/
  }
  .tt2_ja{
    font-size: 1em;
  }
  .tt2_en + .tt2_ja{
    top: 57.5%;
  }
  .cmn_about_title1 .tt2_en + .tt2_ja{
    top: 49%;
  }
  .tt2.large .tt2_en{
    /*font-size: 6.1333em;*/
  }
  
  .tt2.left .tt2_ja{
    top: 53%;
    left: 11.5%;
    right: auto;
  }
  
}
@media (min-width:1200px){

  /* 見出し */
  .tt1{
    font-size: 40px;
  }
  .tt1_en{
    font-size: 6.1333em;
  }
  .tt1_ja{
    font-size: 1em;
  }

}


@media (min-width:1470px){

  /* 見出し */
  .tt1{
    font-size: 50px;
  }
  
  /* 見出し */
  .tt2{
    font-size: 46px;
  }
  .tt2_en{
    /*font-size: 4.1666em;*/
  }
  .tt2_ja{
    /*font-size: 1em;*/
  }
  .tt2.large .tt2_en{
    /*font-size: 6.1333em;*/
  }
  
  .tt2.left .tt2_ja{
    top: 53%;
    left: 11.5%;
    right: auto;
  }
  
  .tt2_txt{
    font-size: 18px;
  }

  .tt2.hasTxt{

  }
  .tt2.hasTxt .tt2_ja{
    top: 65%; 
  }
  .tt2.hasTxt .tt2_txt{
    bottom: 10%;
  }
  
}
@media (min-width:1720px){
  
  /* 見出し */
  .tt1{
    font-size: 60px;
  }
  /* 見出し */
  .tt2{
    font-size: 60px;
  }
}

.swiper-pagination{
  position: static;
  margin-top: 5px;
}
.swiper-pagination-bullet{
  background-color: var(--main-color);
}
.swiper-pagination-bullet-active{
  background-color: var(--sub-color);
}

.main{
  overflow: hidden;
}


/* 共通概要 */
.cmn_about{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  z-index: 1;
}
.cmn_about_box1{
  width: 100%;
  position: relative;
  z-index: 1;
}
.cmn_about_box2{
  width: 100%;
  background: #FFF;
  border-radius: 50px;
  padding: 30px 20px;
  margin-top: 20px;
  position: relative;
  z-index: 2;
}
.cmn_about_box3{
  width: 100%;
  margin-top: 20px;
  position: relative;
  z-index: 1;
}
.cmn_about_title1{
  /*position: absolute;
  z-index: 1;
  top: -5%;
  left: 49.5%;*/
  /*-webkit-transform: translate(0, -88%);*/
  /*transform: translate(0%, 0%);*/
}
.cmn_about_title2{
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5625;
  letter-spacing: 0.075em;
  margin-bottom: 15px;
}
.cmn_about_txt{
  font-size: 16px;
  font-weight: 500;
  line-height: 1.875;
  text-align: justify;
}

.cmn_about_img1{
  
}
.cmn_about_img1.img_fit:before{
  padding-top: 71.795%;
}
.cmn_about_img2{
  
}
.cmn_about_img2.img_fit:before{
  padding-top: 88.496%;
}

.cmn_about.left{
  
}
.cmn_about.left .cmn_about_box1{
  
}
.cmn_about.left .cmn_about_box2{
  
}
.cmn_about.left .cmn_about_box3{
  
}
.cmn_about.left .cmn_about_img1{
  /*margin-right: var(--margin-for-device-side-w);*/
  /*margin-left: -39.639%;*/
  border-radius: 40px;
}
.cmn_about.left .cmn_about_img2{
  /*margin-right: -78.048%;*/
  /*margin-left: var(--margin-for-device-side-w);*/
  border-radius: 40px;
}

.cmn_about.right{
  
}
.cmn_about.right .cmn_about_box1{
  
}
.cmn_about.right .cmn_about_box2{
  
}
.cmn_about.right .cmn_about_box3{
  
}
.cmn_about.right .cmn_about_img1{
  /*margin-left: var(--margin-for-device-side-w);*/
  /*margin-right: -39.639%;*/
  border-radius: 40px;
}
.cmn_about.right .cmn_about_img2{
  /*margin-left: -78.048%;*/
  /*margin-right: var(--margin-for-device-side-w);*/
  border-radius: 40px;
}


@media (max-width:1023px){
  
  .cmn_about_title1{
    order: 1;
    width: 100%;
    margin-bottom: 20px;
  }
  .cmn_about_box1{
    order: 2;
  }
  .cmn_about_box2{
    order: 3;
  }
  .cmn_about_box3{
    display: none;
  }
  
}
@media (max-width:767px){
  
  
  
}
@media (min-width:768px){
  
  
  .cmn_about_box2{
    padding: 50px 50px;
  }
  .cmn_about_title2{
    font-size: 24px;
  }
  
  
}
@media (min-width:1024px){
  
  /* 共通概要 */
  .cmn_about{
    padding-bottom: 200px;
  }
  .cmn_about_box1{
    width: 36.51%;
    width: 15%;
  }
  .cmn_about_box2{
    width: 65%;
    width: 80%;
    border-radius: 50px;
    padding: 50px 50px;
    margin-top: 180px;
  }
  .cmn_about_box3{
    width: 13.48%;
    width: 5%;
    margin-top: auto;
    margin-bottom: -200px;
  }
  .cmn_about_title1{
    position: absolute;
    z-index: 1;
    top: -5%;
    
  }
  .cmn_about_title2{
    font-size: 28px;
    margin-bottom: 30px;
  }
  .cmn_about_txt{
    font-size: 16px;
    /*line-height: 2.1875;*/
  }
  .cmn_about_img1{

  }
  .cmn_about_img2{

  }
  
  .cmn_about.left{

  }
  .cmn_about.left .cmn_about_title1{
    left: -6%;
  }
  .cmn_about.left .cmn_about_box1{

  }
  .cmn_about.left .cmn_about_box2{

  }
  .cmn_about.left .cmn_about_box3{

  }
  .cmn_about.left .cmn_about_img1{
    margin-right: var(--margin-for-device-side-w);
    margin-left: -39.639%;
    margin-left: -200%;
    border-radius: 60px 0 0 60px;
  }
  .cmn_about.left .cmn_about_img2{
    margin-right: -78.048%;
    margin-right: -400%;
    margin-left: var(--margin-for-device-side-w);
    border-radius: 0 60px 60px 0;
  }

  .cmn_about.right{
    
  }
  .cmn_about.right .cmn_about_title1{
    left: 49.5%;
  }
  .cmn_about.right .cmn_about_box1{

  }
  .cmn_about.right .cmn_about_box2{

  }
  .cmn_about.right .cmn_about_box3{

  }
  .cmn_about.right .cmn_about_img1{
    margin-left: var(--margin-for-device-side-w);
    margin-right: -39.639%;
    margin-right: -200%;
    border-radius: 0 60px 60px 0;
  }
  .cmn_about.right .cmn_about_img2{
    margin-left: -78.048%;
    margin-left: -400%;
    margin-right: var(--margin-for-device-side-w);
    border-radius: 60px 0 0 60px;
  }
  
}
@media (min-width:1200px){
  
}
@media (min-width:1470px){
 
  /* 共通概要 */
  .cmn_about{
    padding-bottom: 105px;
  }
  .cmn_about_box1{
    width: 36.51%;
  }
  .cmn_about_box2{
    width: 50%;
    border-radius: 50px;
    padding: 65px 95px;
    margin-top: 270px;
  }
  .cmn_about_box3{
    width: 13.48%;
    /*margin-top: 555px;*/
    margin-bottom: -105px;
  }
  .cmn_about_title1{
    position: absolute;
    z-index: 1;
  }
  .cmn_about_title2{
    font-size: 32px;
    margin-bottom: 30px;
  }
  .cmn_about_txt{
    font-size: 16px;
    line-height: 2.1875;
  }

  .cmn_about_img1{

  }
  
  .cmn_about_img2{

  }
  .cmn_about.left{

  }
  .cmn_about.left .cmn_about_title1{
    left: -14%;
  }
  .cmn_about.left .cmn_about_box1{

  }
  .cmn_about.left .cmn_about_box2{

  }
  .cmn_about.left .cmn_about_box3{

  }
  .cmn_about.left .cmn_about_img1{
    margin-right: var(--margin-for-device-side-w);
    margin-left: -39.639%;
    border-radius: 100px 0 0 100px;
  }
  .cmn_about.left .cmn_about_img2{
    margin-right: -78.048%;
    margin-left: var(--margin-for-device-side-w);
    border-radius: 0 100px 100px 0;
  }

  .cmn_about.right{

  }
  .cmn_about.right .cmn_about_title1{
    left: 49.5%;
  }
  .cmn_about.right .cmn_about_box1{

  }
  .cmn_about.right .cmn_about_box2{

  }
  .cmn_about.right .cmn_about_box3{

  }
  .cmn_about.right .cmn_about_img1{
    margin-left: var(--margin-for-device-side-w);
    margin-right: -39.639%;
    border-radius: 0 100px 100px 0;
  }
  .cmn_about.right .cmn_about_img2{
    margin-left: -78.048%;
    margin-right: var(--margin-for-device-side-w);
    border-radius: 100px 0 0 100px;
  }
}
@media (min-width:1720px){
  
}



/* プロフィール */
.cmn_profile{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
* + .cmn_profile{
  margin-top: 50px;
}
.cmn_profile_box1{
  width: 100%;
}
.cmn_profile_box2{
  width: 100%;
  margin-top: 20px;
}
.cmn_profile_title{
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5625;
  margin-bottom: 10px;
}
.cmn_profile_txt{
  font-size: 16px;
  font-weight: 500;
  line-height: 1.875;
  text-align: justify;
}
.cmn_profile_img{
  border-radius: 40px;
}
.cmn_profile_img.img_fit:before{
  padding-top: 93.682%;
}

@media (min-width:768px){

  /* プロフィール */
  .cmn_profile{
  }
  * + .cmn_profile{
    margin-top: 50px;
  }
  .cmn_profile_box1{
    /*width: 30.26%;*/
    /*margin-top: 10px;*/
  }
  .cmn_profile_box2{
    /*width: 61.51%;*/
    margin-top: 30px;
  }
  .cmn_profile_title{
    font-size: 24px;
    margin-bottom: 20px;
  }
  .cmn_profile_txt{
    font-size: 16px;
    line-height: 2.1875;
  }
  .cmn_profile_img{
    border-radius: 50px;
  }
  
}
@media (min-width:1024px){
 
  /* プロフィール */
  .cmn_profile{
  }
  .cmn_profile_box1{
    width: 30.26%;
    width: 32%;
    margin-top: 10px;
  }
  .cmn_profile_box2{
    width: 61.51%;
    width: 63%;
    margin-top: 0;
  }
  .cmn_profile_title{
    font-size: 32px;
    margin-bottom: 40px;
  }
  .cmn_profile_txt{
  }
  .cmn_profile_img{
    border-radius: 75px;
  }
  
}
@media (min-width:1200px){
  
}
@media (min-width:1470px){
  /* プロフィール */
  .cmn_profile{
  }
  .cmn_profile_box1{
    width: 30.26%;
    margin-top: 10px;
  }
  .cmn_profile_box2{
    width: 61.51%;
  }
  .cmn_profile_title{
    font-size: 32px;
    margin-bottom: 40px;
  }
  .cmn_profile_txt{
  }
  .cmn_profile_img{
    border-radius: 100px;
  }
}
@media (min-width:1720px){
  
}

/*******************************
*　HOME
********************************/
.pg_home{
  overflow: hidden;
}
.pg_home .section.sec1{
  padding-top: 100px;
}
.pg_home .section.sec2{

}
.pg_home .section.sec3{

}
.pg_home .section.sec4{

}
.pg_home .section.sec5{

}
.pg_home .section.sec6{

}
.pg_home .section.sec7{

}
.pg_home .section.sec8{

}

@media (max-width:767px){

}
@media (min-width:768px){

  .pg_home .section.sec1{

  }
  .pg_home .section.sec2{

  }
  .pg_home .section.sec3{

  }
  .pg_home .section.sec4{

  }
  .pg_home .section.sec5{

  }
  .pg_home .section.sec6{

  }
  .pg_home .section.sec7{

  }
  .pg_home .section.sec8{

  }

}
@media (min-width:1024px){


}
@media (min-width:1200px){


}
@media (min-width:1470px){


}
@media (min-width:1720px){


}

/* レッスン */
.home_lesson{
  margin-right: var(--margin-for-device-side-w);
}
* + .home_lesson{
  
}
.home_lesson .swiper-slide{
  width: 300px;
  height: auto;
}
.home_lesson_item{
  height: 100%;
  background-color: var(--main-color);
  color: #FFF;
  border-radius: 50px;
  overflow: hidden;
}
.home_lesson_item_img{
  
}
.home_lesson_item_img.img_fit:before{
  padding-top: 85.714%;
}
.home_lesson_item_img2.img_fit:before{
  padding-top: 60.403%;
}
.home_lesson_item_desc{
  padding: 20px 15px 20px 15px;
}
.home_lesson_item_desc2{
  padding: 20px 15px 20px 15px;
}
.home_lesson_item_num{
  display: flex;
  margin-bottom: 15px;
}
.home_lesson_item_num span{
  background: #FFF;
  border-radius: 5px;
  padding: 5px 12px;
  font-size: 20px;
  font-weight: 600;
  font-family: "Outfit", 'Noto Sans JP', sans-serif;
  line-height: 1;
  letter-spacing: 0.075em;
}
.home_lesson_item_title{
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.075em;
  margin-bottom: 10px;
}
.home_lesson_item_txt{
  font-size: 16px;
  font-weight: 500;
  line-height: 1.875;
  text-align: justify;
}

.home_lesson_item.color1{
  background: #ffa2c9;
}
.home_lesson_item.color2{
  background: #6bbdf1;
}
.home_lesson_item.color3{
  background: #d2b0ef;
}
.home_lesson_item.color4{
  background: #69ca82;
}
.home_lesson_item.color5{
  background: #ff995c;
}

.home_lesson_item.color1 .home_lesson_item_num span{
  color: #ffa2c9;
}
.home_lesson_item.color2 .home_lesson_item_num span{
  color: #6bbdf1;
}
.home_lesson_item.color3 .home_lesson_item_num span{
  color: #d2b0ef;
}
.home_lesson_item.color4 .home_lesson_item_num span{
  color: #69ca82;
}
.home_lesson_item.color5 .home_lesson_item_num span{
  color: #ff995c;
}

/* レッスン(リスト用) */
.home_lesson_list{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
* + .home_lesson_list{
  margin-top: 50px;
}
.home_lesson_list .home_lesson_item{
  width: 100%;
  height: auto;
}
.home_lesson_list .home_lesson_item:nth-child(n+2){
  margin-top: 15px;
}

/* 受講生の声 */
.home_voice{
  width: 1110px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  background: #fefff5;
  border-radius: 50px;
  filter: drop-shadow(0 0 10px #ddd);
  padding: 40px 50px 100px;
  position: relative;
  z-index: 1;
}
.home_voice:after{
  content: "";
  width: 150px;
  aspect-ratio: 150 / 36;
  background: #fefff5;
  clip-path: polygon(31% 0, 1% 100%, 100% 0);
  position: absolute;
  z-index: -1;
  top: 100%;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}
.home_voice_inner{
  width: 790px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.home_voice_title{
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.075em;
  margin-bottom: 15px;
  position: relative;
  z-index: 1;
}
.home_voice_title:before{
  content: "";
  width: 122px;
  width: 3.8125em;
  width: 3em;
  aspect-ratio: 122 / 98;
  background-image: url('/img/home/voice_parts.png');
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  -webkit-transform: translate(-77%, -22%);
  transform: translate(-77%, -22%);
}
.home_voice_txt{
  font-size: 18px;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.075em;
}
.home_voice_illust{
  width: 90px;
  position: absolute;
  z-index: 1;
  bottom: -20px;
  right: 0;
}

/* スタッフ */
.home_staff{
  
}
.home_staff .swiper-slide{
  width: 358px;
}
.home_staff_item{
  
}
.home_staff_item_img{
  border-radius: 50%;
}
.home_staff_item_img.img_fit:before{
  padding-top: 100%;
}
.home_staff_item_name{
  text-align: center;
  margin-top: 20px;
}
.home_staff_item_name_en{
  
}
.home_staff_item_name_ja{
  
}

.home_staff .swiper-slide-active{
  
}
.home_staff .swiper-slide .home_staff_item_img{
  transform: scale(0.8);
}
.home_staff .swiper-slide-active .home_staff_item_img{
  transform: scale(1);
}


@media (max-width:374px){

}
@media (min-width:375px){

}
@media (max-width:767px){

}
@media (min-width:768px){
  
  /* レッスン */
  .home_lesson{

  }
  * + .home_lesson{

  }
  .home_lesson .swiper-slide{
    width: 400px;
  }
  .home_lesson_item{
    border-radius: 50px;
  }
  .home_lesson_item_desc{
    padding: 28px 50px 40px 35px;
  }
  .home_lesson_item_desc2{
    padding: 28px 50px 40px 35px;
  }
  .home_lesson_item_title{
    font-size: 24px;
    margin-bottom: 20px;
  }
  .home_lesson_item_txt{
    font-size: 16px;
    line-height: 1.875;
  }
  
  .home_lesson_item_num{
    margin-bottom: 15px;
  }
  .home_lesson_item_num span{
    padding: 5px 12px;
    font-size: 24px;
  }
  
  /* 受講生の声 */
  .home_voice{
    width: 1110px;
    border-radius: 50px;
    filter: drop-shadow(0 0 10px #ddd);
    padding: 70px 70px;
  }
  .home_voice:after{
    width: 150px;
  }
  .home_voice_inner{
    width: 790px;
  }
  .home_voice_title{
    font-size: 24px;
    margin-bottom: 30px;
  }
  .home_voice_title:before{
    /*width: 3.8125em;*/
    -webkit-transform: translate(-77%, -22%);
    transform: translate(-77%, -22%);
  }
  .home_voice_txt{
    font-size: 18px;
    line-height: 2.222;
  }
  .home_voice_illust{
    width: 90px;
    bottom: -35px;
  }
  
  /* レッスン(リスト用) */
  .home_lesson_list{
  }
  * + .home_lesson_list{
    margin-top: 50px;
  }
  .home_lesson_list .home_lesson_item{
    width: calc(50% - 10px);
  }
  .home_lesson_list .home_lesson_item:nth-child(n+2){
    margin-top: 0;
  }
  .home_lesson_list .home_lesson_item:nth-child(n+3){
    margin-top: 30px;
  }
}
@media (min-width:1024px){


}
@media (min-width:1200px){
  
  /* レッスン */
  .home_lesson{

  }
  * + .home_lesson{

  }
  .home_lesson .swiper-slide{
    width: 400px;
  }

  /* 受講生の声 */
  .home_voice{
    width: 1110px;
    border-radius: 50px;
    filter: drop-shadow(0 0 10px #ddd);
    padding: 70px 50px;
  }
  .home_voice:after{
    width: 150px;
  }
  .home_voice_inner{
    width: 790px;
  }
  .home_voice_title{
    font-size: 32px;
    margin-bottom: 30px;
  }
  .home_voice_title:before{
    width: 122px;
    width: 3.8125em;
    -webkit-transform: translate(-77%, -22%);
    transform: translate(-77%, -22%);
  }
  .home_voice_txt{
    font-size: 18px;
    line-height: 2.222;
  }
  .home_voice_illust{
    width: 158px;
    bottom: -35px;
  }
  
  /* レッスン(リスト用) */
  .home_lesson_list{
  }
  * + .home_lesson_list{
    margin-top: 50px;
  }
  .home_lesson_list .home_lesson_item{
    width: calc(50% - 15px);
  }
  .home_lesson_list .home_lesson_item:nth-child(n+3){
    margin-top: 50px;
  }
  
}
@media (min-width:1470px){

  /* レッスン */
  .home_lesson{

  }
  * + .home_lesson{

  }
  .home_lesson .swiper-slide{
    width: 490px;
  }
  
  .home_lesson_item_num{
    margin-bottom: 15px;
  }
  .home_lesson_item_num span{
    padding: 5px 12px;
    font-size: 32px;
  }
  .home_lesson_item_title{
    font-size: 32px;
    margin-bottom: 20px;
  }

}
@media (min-width:1720px){

  .home_lesson_item_desc2{
    padding: 38px 50px 40px 55px;
  }

}




/*******************************
*　
********************************/

/* セクション設定 */
.pg_voice{

}
.pg_voice .section.sec1{

}
.pg_voice .section.sec2{

}


@media (max-width:374px){

}
@media (min-width:375px){

}
@media (max-width:767px){

}
@media (min-width:768px){

  .pg_voice{

  }
  .pg_voice .section.sec1{

  }
  .pg_voice .section.sec2{

  }

}
@media (min-width:1024px){


}
@media (min-width:1200px){


}
@media (min-width:1470px){


}
@media (min-width:1720px){


}

/* メイン部分 */


/* 一覧 */
.voice_list{
  
}
.voice_list_item{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-radius: 20px;
  overflow: hidden;
  background: #FFF;
  padding: 0 15px 30px;;
}
.voice_list_item + .voice_list_item{
  margin-top: 60px;
}
.voice_list_item_head{
  width: calc(100% + 30px);
  background: var(--main-color);
  color: #FFF;
  padding: 10px 10px;
  margin-left: -15px;
  margin-right: -15px;
  margin-bottom: 20px;
}
.voice_list_item_head_txt{
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}
.voice_list_item_box1{
  width: 100%;
}
.voice_list_item_box2{
  width: 100%;
  margin-top: 20px;
  padding-bottom: 20px;
  transition: 0.2s all;
  overflow: hidden;
}
.voice_list_item_box2:not(.open){
  height: 375px;
}
.voice_list_item_box2.open{
  
}
.voice_list_item_img{
  
}
.voice_list_item_img img{
  width: 100%;
}
.voice_list_qa{
  
}
.voice_list_qa_item{
  background: #fefff5;
  border-radius: 5px;
  padding: 8px 15px 20px;
}
.voice_list_qa_item + .voice_list_qa_item{
  margin-top: 10px;
}
.voice_list_qa_item dt{
  font-size: 16px;
  font-weight: 700;
  padding: 16px 20px ;
  margin-bottom: 10px;
  border-bottom: 1px dotted;
  position: relative;
  z-index: 1;
}
.voice_list_qa_item dt:before{
  content: "";
  width: 8px;
  aspect-ratio: 1 / 1;
  background: #fa7ab6;
  border-radius: 50%;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
.voice_list_qa_item dd{
  font-size: 15px;
  line-height: 1.875;
  padding: 0 10px;
}

.voice_list_item_toggle{
  width: 100%;
  border-top: 1px solid;
  text-align: center;
  padding: 20px 10px;
  cursor: pointer;
}
.voice_list_item_toggle p{
  transition: 0.2s all;
}
.voice_list_item_toggle:hover p{
  transform: scale(1.1);
  color: var(--sub-color);
}
.voice_list_item_toggle .fas{
  color: var(--sub-color);
  margin-left: 10px;
}
.voice_list_item_toggle .open{
  
}
.voice_list_item_toggle .close{
  display: none;
}
.voice_list_item_toggle.on .open{
  display: none;
}
.voice_list_item_toggle.on .close{
  display: block;
}

@media (max-width:767px){

}
@media (min-width:768px){


  /* 一覧 */
  .voice_list{

  }
  .voice_list_item{
    border-radius: 20px;
    padding: 0 30px 30px;
  }
  .voice_list_item + .voice_list_item{
    margin-top: 30px;
  }
  .voice_list_item_head{
    width: calc(100% + 60px);
    padding: 16px 10px;
    margin-left: -30px;
    margin-right: -30px;
    margin-bottom: 30px;
  }
  .voice_list_item_head_txt{
    font-size: 20px;
  }
  .voice_list_item_box1{
    width: 170px;
  }
  .voice_list_item_box2{
    width: calc(100% - 170px - 20px);
    margin-top: 0;
    padding-bottom: 20px;
  }
  .voice_list_qa{
    
  }
  .voice_list_qa_item{
    padding: 8px 20px 20px;
  }
  .voice_list_qa_item + .voice_list_qa_item{
    margin-top: 10px;
  }
  .voice_list_qa_item dt{
    font-size: 18px;
    padding: 16px 20px ;
    margin-bottom: 10px;
  }
  .voice_list_qa_item dt:before{
    width: 8px;
    top: 50%;
  }
  .voice_list_qa_item dd{
    font-size: 16px;
    /*line-height: 2.25;*/
    padding: 0 20px;
  }
  
}
@media (min-width:1024px){

  /* 一覧 */
  .voice_list{

  }
  .voice_list_item{
    padding: 0 60px 30px;
  }
  .voice_list_item + .voice_list_item{
    margin-top: 60px;
  }
  .voice_list_item_head{
    width: calc(100% + 120px);
    padding: 16px 10px;
    margin-left: -60px;
    margin-right: -60px;
    margin-bottom: 60px;
  }
  .voice_list_item_head_txt{
    font-size: 24px;
  }
  .voice_list_item_box1{
    width: 210px;
  }
  .voice_list_item_box2{
    width: calc(100% - 210px - 40px);
    padding-bottom: 40px;
  }
  .voice_list_qa{

  }
  .voice_list_qa_item{
    padding: 8px 30px 20px;
  }
  .voice_list_qa_item dd{
    font-size: 16px;
    line-height: 2.25;
  }

}
@media (min-width:1200px){


}
@media (min-width:1470px){


}
@media (min-width:1720px){


}



/*******************************
*　
********************************/

/* セクション設定 */
.pg_faq{

}
.pg_faq .section.sec1{

}
.pg_faq .section.sec2{

}


@media (max-width:374px){

}
@media (min-width:375px){

}
@media (max-width:767px){

}
@media (min-width:768px){

  .pg_faq{

  }
  .pg_faq .section.sec1{

  }
  .pg_faq .section.sec2{

  }

}
@media (min-width:1024px){


}
@media (min-width:1200px){


}
@media (min-width:1470px){


}
@media (min-width:1720px){


}

/* メイン部分 */

/* 一覧 */
.faq_list{
  
}
.faq_list_item{
  
}
.faq_list_item + .faq_list_item{
  margin-top: 30px;
}
.faq_list_item dt{
  background: #FFF;
  border-radius: 15px;
  padding: 15px 15px 15px 60px;
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.075em;
  position: relative;
  z-index: 1;
}
.faq_list_item dt:before{
  content: "";
  width: 30px;
  aspect-ratio: 1 / 1;
  background-image: url('/img/faq/faq_q.png');
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  z-index: 1;
  top: 14px;
  left: 15px;
}
.faq_list_item dd{
  font-size: 16px;
  /*line-height: 2.222;*/
  line-height: 1.875;
  letter-spacing: 0.075em;
  padding-left: 60px;
}

/* 開閉式ver */
.faq_list_item.toggle{
  
}
.faq_list_item.toggle dt{
  cursor: pointer;
  padding-right: 50px;
}
.faq_list_item.toggle dt:after{
  content: "＋";
  font-size: 1.666em;
  font-size: 1.5em;
  font-weight: 900;
  color: #b1b1b1;
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 10px;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
.faq_list_item.toggle dt.on:after{
  content: "－";
}
.faq_list_item.toggle dd{
  display: none;
}

@media (max-width:767px){

}
@media (min-width:768px){
  
  /* 一覧 */
  .faq_list{

  }
  .faq_list_item{

  }
  .faq_list_item + .faq_list_item{
    margin-top: 45px;
  }
  .faq_list_item dt{
    border-radius: 20px;
    padding: 20px 15px 20px 80px;
    margin-bottom: 15px;
    font-size: 22px;
  }
  .faq_list_item dt:before{
    width: 40px;
    top: 17px;
    left: 20px;
  }
  .faq_list_item dd{
    font-size: 18px;
    line-height: 2.222;
    padding-left: 80px;
  }
  

  /* 開閉式ver */
  .faq_list_item.toggle dt{
    padding-right: 60px;
  }
  .faq_list_item.toggle dt:after{
    font-size: 1.666em;
    right: 15px;
  }
}
@media (min-width:1024px){

  

}
@media (min-width:1200px){

  /* 一覧 */
  .faq_list{

  }
  .faq_list_item{

  }
  .faq_list_item + .faq_list_item{
    margin-top: 68px;
  }
  .faq_list_item dt{
    border-radius: 30px;
    padding: 27px 15px 28px 125px;
    margin-bottom: 25px;
    font-size: 30px;
  }
  .faq_list_item dt:before{
    width: 53px;
    top: 27px;
    left: 42px;
  }
  .faq_list_item dd{
    font-size: 18px;
    /*line-height: 2.222;*/
    padding-left: 125px;
  }
  
  /* 開閉式ver */
  .faq_list_item.toggle dt{
    padding-right: 60px;
  }
  .faq_list_item.toggle dt:after{
    right: 35px;
  }

}
@media (min-width:1470px){


}
@media (min-width:1720px){


}







/*******************************
*　
********************************/

/* セクション設定 */
.pg_about{

}
.pg_about .section.sec1{

}
.pg_about .section.sec2{
  background: #cfeedf;
  padding-top: 50px;
  padding-bottom: 50px;
  margin-top: 50px;
  position: relative;
  z-index: 1;
}
.pg_about .section.sec3{

}


.about_head_en{
  position: absolute;
  z-index: 1;
  bottom: 100%;
  right: 0;
  -webkit-transform: translate(4%, 11%);
  transform: translate(4%, 11%);
}
.about_head_en.center{
  left: 50%;
  right: auto;
  text-align: center;
  white-space: nowrap;
  -webkit-transform: translate(-50%, 11%);
  transform: translate(-50%, 11%);
}

@media (max-width:374px){

}
@media (min-width:375px){

}
@media (max-width:767px){

}
@media (min-width:768px){

  .pg_about{

  }
  .pg_about .section.sec1{

  }
  .pg_about .section.sec2{
    padding-top: 80px;
    padding-bottom: 145px;
    margin-top: 230px;
  }
  .pg_about .section.sec3{

  }

}
@media (min-width:1024px){


}
@media (min-width:1200px){


}
@media (min-width:1470px){


}
@media (min-width:1720px){


}

/* メイン部分 */

/* 代表の想い */
.about_omoi{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
* + .about_omoi{
  margin-top: 20px;
}
.about_omoi_box1{
  width: 100%;
}
.about_omoi_box2{
  width: 100%;
  margin-top: 30px;
}

.about_omoi_img{
  border-radius: 50px;
}
.about_omoi_img.img_fit:before{
  padding-top: 105.719%;
}
.about_omoi_img.small.img_fit:before{
  padding-top: 72.643%;
}
.about_omoi_title{
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5625;
  margin-bottom: 15px;
}
.about_omoi_txt{
  font-size: 16px;
  font-weight: 500;
  line-height: 1.875;
  text-align: justify;
}

/**/
.about_feature_msg{
  font-size: 18px;
  font-weight: 500;
  line-height: 2.222;
  letter-spacing: 0.075em;
  text-align: center;
  margin-top: 50px;
}
.about_feature_msg strong{
  color: #ff0000;
  font-weight: 500;
}
.about_feature_msg + .cmn_cat_nav{
  margin-top: 25px;
}

@media (max-width:767px){

}
@media (min-width:768px){
  

  /* 代表の想い */
  .about_omoi{
  }
  * + .about_omoi{
    margin-top: 50px;
  }
  .about_omoi_box1{
    /*width: 42.56%;*/
    /*margin-top: 10px;*/
  }
  .about_omoi_box2{
    /*width: 50.98%;*/
    /*margin-top: 0;*/
  }

  .about_omoi_img{
    border-radius: 75px;
  }
  .about_omoi_title{
    font-size: 28px;
    margin-bottom: 20px;
  }
  .about_omoi_txt{
    font-size: 16px;
  }
  
}
@media (min-width:1024px){

  /* 代表の想い */
  .about_omoi{
  }
  * + .about_omoi{
    margin-top: 50px;
  }
  .about_omoi_box1{
    width: 42.56%;
    margin-top: 10px;
  }
  .about_omoi_box2{
    width: 50.98%;
    margin-top: 0;
  }

  .about_omoi_img{
    border-radius: 100px;
  }
  .about_omoi_title{
    font-size: 32px;
    margin-bottom: 42px;
  }
  .about_omoi_txt{
    font-size: 16px;
    line-height: 2.1875;
  }
}
@media (min-width:1200px){


}
@media (min-width:1470px){


}
@media (min-width:1720px){


}




/*******************************
*　
********************************/

/* セクション設定 */
.pg_xxx{

}
.pg_xxx .section.sec1{

}
.pg_xxx .section.sec2{

}


@media (max-width:374px){

}
@media (min-width:375px){

}
@media (max-width:767px){

}
@media (min-width:768px){

  .pg_xxx{

  }
  .pg_xxx .section.sec1{

  }
  .pg_xxx .section.sec2{

  }

}
@media (min-width:1024px){


}
@media (min-width:1200px){


}
@media (min-width:1470px){


}
@media (min-width:1720px){


}

/* メイン部分 */

/* 見出し */
.lesson_tt1{
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-align: center;
  color: var(--main-color);
  margin-bottom: 30px;
}


/* スケジュール */
.lesson_sche_tbl{
  table-layout: fixed;
  width: 100%;
  background: #FFF;
}
.js-scrollable .lesson_sche_tbl{
  min-width: 750px;
}
.lesson_sche_tbl th,
.lesson_sche_tbl td{
  font-size: 15px;
  font-weight: 500;
  line-height: 1.111;
  text-align: center;
  border: 1px solid #1a1a1a;
  padding: 14px 10px 15px;
}
.lesson_sche_tbl th{
  background: #cfeedf;
}
.lesson_sche_tbl td{
  padding: 10px 10px;
}
.lesson_sche_tbl .txt{
  
}

.lesson_sche_tbl .th0{
  width: 60px;
}

/* クラス */
:root{
  --lesson-color1: #ffa2c9;
  --lesson-bgcolor1: #f9d2e2;
  --lesson-color2: #6bbdf1;
  --lesson-bgcolor2: #c8e9fe;
  --lesson-color3: #d2b0ef;
  --lesson-bgcolor3: #e5d6f2;
  --lesson-color4: #69ca82;
  --lesson-bgcolor4: #caebd2;
  --lesson-color5: #ff995c;
  --lesson-bgcolor5: #fae1d2;
  --lesson-color6: #ff0000;
  --lesson-bgcolor6: #fad9d9;
  --lesson-color7: #4f4ccd;
  --lesson-bgcolor7: #d5d5f2;
  --lesson-color8: #61e25e;
  --lesson-bgcolor8: #b2f2b1;
  --lesson-color9: #fa65e0;
  --lesson-bgcolor9: #fceaf9;
}

.lesson_class{
  
}
.lesson_class_row{
  
}
.lesson_class_row + .lesson_class_row{
  margin-top: 50px;
}
.lesson_class_head{
  font-size: 24px;
  font-weight: 900;
  color: #47916c;
  border-bottom: 1px solid;
  padding-bottom: 10px;
  margin-bottom: 35px;
}
.lesson_class_item{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background: #FFF;
  border-radius: 0 30px 30px 0;
  padding: 18px 15px 20px 15px;
  border-left: 10px solid #000;
}
.lesson_class_item + .lesson_class_item{
  margin-top: 30px;
}
.lesson_class_item_box1{
  width: 100%;
}
.lesson_class_item_box2{
  width: 100%;
  margin-top: 20px;
}
.lesson_class_item_title{
  margin-bottom: 10px;
}
.lesson_class_item_title_en{
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 0.03em;
  line-height: 1.1;
  margin-bottom: 10px;
}
.lesson_class_item_title_en span{
  font-size: 0.6em;
}
.lesson_class_item_title_ja{
  font-size: 17px;
  font-weight: 900;
  letter-spacing: 0.075em;
  line-height: 1.6525;
}
.lesson_class_item_txt{
  font-size: 15px;
  font-weight: 500;
  line-height: 1.875;
  text-align: justify;
}
.lesson_class_item_tbl{
  width: 100%;
  table-layout: fixed;
  background: #FFF;
}
* + .lesson_class_item_tbl{
  margin-top: 30px;
}
.tt2 + .lesson_class_item_tbl{
  margin-top: 0;
}
.lesson_class_item_tbl th,
.lesson_class_item_tbl td{
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.075em;
  border: 1px solid #9b9b9b;
  text-align: center;
  padding: 7px 5px;
  color: #1a1a1a;
}
.lesson_class_item_tbl th{
  width: 70px;
}
.lesson_class_item_tbl td{
  
}

/* 大きいサイズ */
.lesson_class_item_tbl.large{
  width: 1110px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.lesson_class_item_tbl.large th,
.lesson_class_item_tbl.large td{
  /*line-height: 1.875;*/
}
.lesson_class_item_tbl.large th{
  width: 125px;
}
.lesson_class_item_tbl.large td{
  padding-left: 15px;
  text-align: left;
}
.lesson_class_item_tbl .lh_s{
  line-height: 1.25;
}
.lesson_class_item_tbl .lh_m{
  line-height: 1.875;
}

.lesson_class_item.color1{
  border-color: var(--lesson-color1);
}
.lesson_class_item.color2{
  border-color: var(--lesson-color2);
}
.lesson_class_item.color3{
  border-color: var(--lesson-color3);
}
.lesson_class_item.color4{
  border-color: var(--lesson-color4);
}
.lesson_class_item.color5{
  border-color: var(--lesson-color5);
}
.lesson_class_item.color6{
  border-color: var(--lesson-color6);
}
.lesson_class_item.color7{
  border-color: var(--lesson-color7);
}
.lesson_class_item.color8{
  border-color: var(--lesson-color8);
}
.lesson_class_item.color9{
  border-color: var(--lesson-color9);
}

.lesson_class_item.color1 .lesson_class_item_title_en{
  color: var(--lesson-color1);
}
.lesson_class_item.color2 .lesson_class_item_title_en{
  color: var(--lesson-color2);
}
.lesson_class_item.color3 .lesson_class_item_title_en{
  color: var(--lesson-color3);
}
.lesson_class_item.color4 .lesson_class_item_title_en{
  color: var(--lesson-color4);
}
.lesson_class_item.color5 .lesson_class_item_title_en{
  color: var(--lesson-color5);
}
.lesson_class_item.color6 .lesson_class_item_title_en{
  color: var(--lesson-color6);
}
.lesson_class_item.color7 .lesson_class_item_title_en{
  color: var(--lesson-color7);
}
.lesson_class_item.color8 .lesson_class_item_title_en{
  color: var(--lesson-color8);
}
.lesson_class_item.color9 .lesson_class_item_title_en{
  color: var(--lesson-color9);
}

.lesson_class_item.color1 .lesson_class_item_tbl th{
  background-color: var(--lesson-bgcolor1);
}
.lesson_class_item.color2 .lesson_class_item_tbl th{
  background-color: var(--lesson-bgcolor2);
}
.lesson_class_item.color3 .lesson_class_item_tbl th{
  background-color: var(--lesson-bgcolor3);
}
.lesson_class_item.color4 .lesson_class_item_tbl th{
  background-color: var(--lesson-bgcolor4);
}
.lesson_class_item.color5 .lesson_class_item_tbl th{
  background-color: var(--lesson-bgcolor5);
}
.lesson_class_item.color6 .lesson_class_item_tbl th{
  background-color: var(--lesson-bgcolor6);
}
.lesson_class_item.color7 .lesson_class_item_tbl th{
  background-color: var(--lesson-bgcolor7);
}
.lesson_class_item.color8 .lesson_class_item_tbl th{
  background-color: var(--lesson-bgcolor8);
}
.lesson_class_item.color9 .lesson_class_item_tbl th{
  background-color: var(--lesson-bgcolor9);
}

.lesson_class_item_tbl.color1 th{
  background-color: var(--lesson-bgcolor1);
}

@media (max-width:767px){

}
@media (min-width:768px){


  /* 見出し */
  .lesson_tt1{
    font-size: 32px;
    margin-bottom: 30px;
  }
  
  /* スケジュール */
  .lesson_sche_tbl{
  }
  .js-scrollable .lesson_sche_tbl{
    min-width: 100%;
  }
  .lesson_sche_tbl th,
  .lesson_sche_tbl td{
    font-size: 15px;
    padding: 14px 10px 15px;
  }
  .lesson_sche_tbl th{
  }
  .lesson_sche_tbl td{
    padding: 10px 10px;
  }
  .lesson_sche_tbl .txt{

  }
  .lesson_sche_tbl .th0{
    width: 80px;
  }

  /* クラス */
  .lesson_class{

  }
  .lesson_class_row{

  }
  .lesson_class_row + .lesson_class_row{
    margin-top: 80px;
  }
  .lesson_class_head{
    font-size: 36px;
    padding-bottom: 10px;
    margin-bottom: 35px;
  }
  .lesson_class_item{
    border-radius: 0 50px 50px 0;
    padding: 18px 30px 30px 30px;
    border-left: 20px solid #000;
  }
  .lesson_class_item + .lesson_class_item{
    margin-top: 50px;
  }
  .lesson_class_item_box1{
    /*width: 50%;*/
  }
  .lesson_class_item_box2{
    /*width: 45.58%;*/
  }
  .lesson_class_item_title{
    /*margin-bottom: 20px;*/
  }
  .lesson_class_item_title_en{
    font-size: 36px;
    /*margin-bottom: 5px;*/
  }
  .lesson_class_item_title_en span{
    font-size: 0.6em;
  }
  .lesson_class_item_title_ja{
    font-size: 24px;
  }
  .lesson_class_item_txt{
    font-size: 16px;
  }
  .lesson_class_item_tbl{
  }
  .lesson_class_item_tbl th,
  .lesson_class_item_tbl td{
    font-size: 16px;
    padding: 7px 10px;
  }
  .lesson_class_item_tbl th{
    width: 190px;
  }
  .lesson_class_item_tbl td{

  }
  
  /* 大きいサイズ */
  .lesson_class_item_tbl.large{
  }
  .lesson_class_item_tbl.large th,
  .lesson_class_item_tbl.large td{
  }
  .lesson_class_item_tbl.large th{
    width: 200px;
  }
  .lesson_class_item_tbl.large td{
    padding-left: 30px;
  }
  
}
@media (min-width:1024px){

  /* 見出し */
  .lesson_tt1{
    font-size: 32px;
    margin-bottom: 30px;
  }
  
  /* スケジュール */
  .lesson_sche_tbl{
  }
  .js-scrollable .lesson_sche_tbl{
    /*min-width: 1110px;*/
  }
  .lesson_sche_tbl th,
  .lesson_sche_tbl td{
    font-size: 16px;
  }
  .lesson_sche_tbl .th0{
    width: 120px;
  }
  
  /* クラス */
  .lesson_class{

  }
  .lesson_class_row{

  }
  .lesson_class_row + .lesson_class_row{
    margin-top: 80px;
  }
  .lesson_class_head{
    font-size: 32px;
    padding-bottom: 10px;
    margin-bottom: 35px;
  }
  .lesson_class_item{
    align-items: flex-end;
    border-radius: 0 50px 50px 0;
    padding: 25px 30px 30px 30px;
    border-left: 20px solid #000;
  }
  .lesson_class_item + .lesson_class_item{
    margin-top: 50px;
  }
  .lesson_class_item_box1{
    width: 50%;
  }
  .lesson_class_item_box2{
    width: 45.58%;
    margin-top: 0;
  }
  .lesson_class_item_title{
    margin-bottom: 20px;
  }
  .lesson_class_item_title_en{
    font-size: 28px;
    margin-bottom: 16px;
  }
  .lesson_class_item_title_ja{
    font-size: 20px;
  }
  .lesson_class_item_txt{
  }
  .lesson_class_item_tbl{
  }
  .lesson_class_item_tbl th,
  .lesson_class_item_tbl td{
  }
  .lesson_class_item_tbl th{
    width: 120px;
  }
  .lesson_class_item_tbl td{

  }

  /* 大きいサイズ */
  .lesson_class_item_tbl.large{
  }
  .lesson_class_item_tbl.large th,
  .lesson_class_item_tbl.large td{
  }
  .lesson_class_item_tbl.large th{
    width: 275px;
  }
  .lesson_class_item_tbl.large td{
    padding-left: 30px;
  }
  
}
@media (min-width:1200px){


}
@media (min-width:1470px){
  
  /* 見出し */
  .lesson_tt1{
    font-size: 50px;
    margin-bottom: 50px;
  }
  
  /* スケジュール */
  .lesson_sche_tbl{
  }
  .js-scrollable .lesson_sche_tbl{
    /*min-width: 1110px;*/
  }
  .lesson_sche_tbl th,
  .lesson_sche_tbl td{
    font-size: 18px;
  }
  .lesson_sche_tbl .th0{
    width: 155px;
  }
  
  /* クラス */
  .lesson_class{

  }
  .lesson_class_row{

  }
  .lesson_class_row + .lesson_class_row{
    margin-top: 80px;
  }
  .lesson_class_head{
    font-size: 50px;
    padding-bottom: 10px;
    margin-bottom: 35px;
  }
  .lesson_class_item{
    border-radius: 0 50px 50px 0;
    padding: 25px 30px 40px 30px;
    border-left: 20px solid #000;
  }
  .lesson_class_item + .lesson_class_item{
    margin-top: 50px;
  }
  .lesson_class_item_box1{
    width: 50%;
  }
  .lesson_class_item_box2{
    width: 45.58%;
    margin-top: 0;
  }
  .lesson_class_item_title{
    margin-bottom: 20px;
  }
  .lesson_class_item_title_en{
    font-size: 40px;
    white-space: nowrap;
    margin-bottom: 16px;
  }
  .lesson_class_item_title_ja{
    font-size: 28px;
  }
  .lesson_class_item_txt{
    font-size: 16px;
  }
  .lesson_class_item_tbl{
  }
  .lesson_class_item_tbl th,
  .lesson_class_item_tbl td{
    font-size: 16px;
  }
  .lesson_class_item_tbl th{
    width: 190px;
  }
  .lesson_class_item_tbl td{

  }
  
  /* 大きいサイズ */
  .lesson_class_item_tbl.large{
  }
  .lesson_class_item_tbl.large th,
  .lesson_class_item_tbl.large td{
  }
  .lesson_class_item_tbl.large th{
    width: 275px;
  }
  .lesson_class_item_tbl.large td{
    padding-left: 30px;
  }

}
@media (min-width:1720px){

  /* クラス */
  .lesson_class{

  }
  .lesson_class_row{

  }
  .lesson_class_row + .lesson_class_row{
    margin-top: 80px;
  }
  .lesson_class_head{
    font-size: 50px;
    padding-bottom: 10px;
    margin-bottom: 35px;
  }
  .lesson_class_item{
    padding: 25px 60px 50px 80px;
    border-left: 20px solid #000;
  }
  .lesson_class_item_title{
    margin-bottom: 20px;
  }
  .lesson_class_item_title_en{
    font-size: 50px;
    white-space: nowrap;
    margin-bottom: 16px;
  }
  .lesson_class_item_title_ja{
    font-size: 32px;
  }
}


/*******************************
*　
********************************/

/* セクション設定 */
.pg_company{

}
.pg_company .section.sec1{

}
.pg_company .section.sec2{

}


@media (max-width:374px){

}
@media (min-width:375px){

}
@media (max-width:767px){

}
@media (min-width:768px){

  .pg_company{

  }
  .pg_company .section.sec1{

  }
  .pg_company .section.sec2{

  }

}
@media (min-width:1024px){


}
@media (min-width:1200px){


}
@media (min-width:1470px){


}
@media (min-width:1720px){


}


/* メイン部分 */


/* 会社概要 */
.company_tbl{

}
.company_tbl .table_rows_th,
.company_tbl .table_rows_td{
  color: #000;
  border-color: #808080;
  padding: 10px 10px;
}
.company_tbl .table_rows_th{
  background: #e6e6e6;
  font-weight: 500;
}
.company_tbl .table_rows_td{
  background: #FFF;
}

/* マップ */
.company_map{

}
* + .company_map{
  margin-top: 50px;
}
.company_map iframe{
  border: 0;
  width: 100%;
  height: 250px;
}

/* ギャラリー */
.company_gallery_items{
  display: flex;
  flex-wrap: wrap;
  margin-left: -5px;
  margin-right: -5px;
}
* + .company_gallery_items{
  margin-top: 30px;
}
.company_gallery_item{
  width: 50%;
  padding: 0 5px;
}
.company_gallery_item:nth-child(n+3){
  margin-top: 10px;
}
.company_gallery_item_img{

}
.company_gallery_item_img.img_fit:before{
  padding-top: 71.400%;
}

@media (max-width:767px){

}
@media (min-width:768px){

  /* 会社概要 */
  .company_tbl{

  }
  .company_tbl .table_rows_th,
  .company_tbl .table_rows_td{
    padding: 17px 30px 18px;
  }
  .company_tbl .table_rows_th{
    width: 200px;
  }
  .company_tbl .table_rows_td{
  }

  /* マップ */
  .company_map{

  }
  * + .company_map{
    margin-top: 50px;
  }
  .company_map iframe{
    height: 400px;
  }


  /* ギャラリー */
  .company_gallery_items{
    margin-left: -10px;
    margin-right: -10px;
  }
  * + .company_gallery_items{
    margin-top: 40px;
  }
  .company_gallery_item{
    width: 33.333%;
    padding: 0 10px;
  }
  .company_gallery_item:nth-child(n+3){
    margin-top: 0;
  }
  .company_gallery_item:nth-child(n+4){
    margin-top: 20px;
  }

}
@media (min-width:1024px){


}
@media (min-width:1200px){

  /* 会社概要 */
  .company_tbl{

  }
  .company_tbl .table_rows_th,
  .company_tbl .table_rows_td{
    padding: 17px 30px 18px;
  }
  .company_tbl .table_rows_th{
    width: 300px;
  }
  .company_tbl .table_rows_td{
  }

  /* ギャラリー */
  .company_gallery_items{
    margin-left: -15px;
    margin-right: -15px;
  }
  * + .company_gallery_items{
    margin-top: 60px;
  }
  .company_gallery_item{
    width: 33.333%;
    padding: 0 15px;
  }
  .company_gallery_item:nth-child(n+3){
    margin-top: 0;
  }
  .company_gallery_item:nth-child(n+4){
    margin-top: 30px;
  }

}
@media (min-width:1470px){


}
@media (min-width:1720px){


}

.cmn_banner{
  
}
.cmn_banner + .cmn_banner{
  margin-top: 30px;
}
.cmn_banner img{
  border-radius: 30px;
  transition: 0.2s all;
}
.cmn_banner a:hover img{
  transform: scale(1.02);
  filter: brightness(1.1);
}
@media (min-width:1024px){

  .cmn_banner img{
    border-radius: 50px;
  }
}

/* カテゴリNav */
.cmn_cat_nav{
  display: flex;
  flex-wrap: wrap;
  margin-left: -5px;
  margin-right: -5px;
}

.cmn_cat_nav.center{
  justify-content: center;
}
.cmn_cat_nav li{
  width: 50%;
  padding: 0 5px;
  margin: 5px 0;
  font-size: 12px;
  line-height: 1.4285;
}
.cmn_cat_nav li a{
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  min-height: 50px;
  padding: 1px 10px 4px;
  font-family: var(--font-gothic);
  font-weight: 700;
  letter-spacing: 0.075em;
  color: #FFF;
  border: 1px solid var(--main-color);
  border-radius: 15px;
  background: var(--main-color);
  position: relative;
  z-index: 1;
  transition: 0.2s all;
}

.cmn_cat_nav li a:after{
  content: "\f054";
  /*content: "\f105";*/
  font-size: 10px;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 10px;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  transition: 0.2s all;
}
.cmn_cat_nav li.on a,
.cmn_cat_nav li a:hover{
  background: var(--main-color);
  color: #FFF;
}
.cmn_cat_nav li a:hover:after{
  margin-right: -2px;
}

.cmn_cat_nav.color2 li a{
  background: #b8d200;
  border-color: #b8d200;
  color: #FFF;
}
.cmn_cat_nav.color2 li a:hover{
  background: var(--main-color);
  border-color: var(--main-color);
}
.cmn_cat_nav.color2 li a:before{
  content: "";
  position: absolute;
  z-index: 1;
  border: 2px solid #FFF;
  inset: 0;
}

@media (max-width:767px){

  .cmn_cat_nav.col1_sp li{
    width: 100%;
  }
  .cmn_cat_nav.col2_sp li{
    width: 50%;
  }
  .cmn_cat_nav.col3_sp li{
    width: 33.333%;
  }
  .cmn_cat_nav.col4_sp li{
    width: 25%;
  }

  .cmn_cat_nav.txt_sm_sp li{
    font-size: 10px;
  }

}
@media (min-width:768px){

  .cmn_cat_nav{
    margin-left: -15px;
    margin-right: -15px;
  }
  .cmn_cat_nav li{
    width: 50%;
    padding: 0 15px;
    margin: 12.5px 0;
    font-size: 14px;
  }
  .cmn_cat_nav li a{

  }

  .cmn_cat_nav li a:after{
    font-size: 14px;
    right: 10px;
  }
  .cmn_cat_nav li a:hover:after{
    margin-right: -5px;
  }
}
@media (min-width:1024px){

}
@media (min-width:1200px){

  .cmn_cat_nav{
    margin-left: -15px;
    margin-right: -15px;
  }
  .cmn_cat_nav li{
    padding: 0 15px;
    margin: 12.5px 0;
    font-size: 14px;
  }
  .cmn_cat_nav li a{

  }

  .cmn_cat_nav.col2 li{
    width: 50%;
  }
  .cmn_cat_nav.col3 li{
    width: 33.333%;
  }
  .cmn_cat_nav.col4 li{
    width: 25%;
  }
  .cmn_cat_nav.col5 li{
    width: 20%;
  }

}

@media (min-width:1470px){
  .cmn_cat_nav li{
    font-size: 16px;
  }
  .cmn_cat_nav li a:after{
    font-size: 16px;
  }
}
@media (min-width:1720px){
  
}


/*******************************
*　記事一覧
********************************/

/* 一覧（サムネあり） */
.news_list_thumb{

}
* + .news_list_thumb{
  margin-top: 20px;
}
.tt2 + .news_list_thumb{
  margin-top: 0;
}
.posts_category_sp + .news_list_thumb{
  margin-top: 0;
}
.news_list_thumb .webgene-blog{
  display: flex;
  flex-wrap: wrap;
  margin-left: -5px;
  margin-right: -5px;
}
.news_list_thumb .webgene-item{
  width: 50%;
  padding: 0 5px;
}
.news_list_thumb .webgene-item:nth-child(n+3){
  margin-top: 30px;
}
.news_list_thumb .webgene-item{

}
.news_list_thumb .webgene-item .inner{
  display: block;
  position: relative;
  z-index: 1;
  color: #000;
  background: #e6e6e6;
}
.news_list_thumb .webgene-item .box1{

}
.news_list_thumb .webgene-item .box2{
}
.news_list_thumb .webgene-item .img{
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.news_list_thumb .webgene-item .img.img_fit:before{
  /*padding-top: 75%;*/
  padding-top: 70.58%;
}
.news_list_thumb .webgene-item .meta{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 5px;
}
.news_list_thumb .webgene-item .meta .category{
  font-size: 12px;
  font-weight: 500;
  background: #ffb445;
  color: #FFF;
  padding: 3px 8px;
  margin: 5px 0;
  /*margin-right: 10px;*/
}
.news_list_thumb .webgene-item .meta .date{
  font-size: 15px;
  font-weight: 700;
  font-family: var(--font-en);
  margin: 5px 0;
  margin-right: 10px;
}
.news_list_thumb .webgene-item .title{
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
}


.news_list_thumb.col3{

}
.news_list_thumb.col4{

}


@media (max-width:767px){

  .news_list_thumb .webgene-item .meta .date{
    width: 100%;
  }
  
}
@media (min-width:768px){

  /* 一覧（サムネあり） */
  .news_list_thumb{

  }
  * + .news_list_thumb{
    margin-top: 50px;
  }
  .news_list_thumb .webgene-blog{
    margin-left: -7.5px;
    margin-right: -7.5px;
  }
  .news_list_thumb .webgene-item{
    width: 50%;
    padding: 0 7.5px;
  }
  .news_list_thumb .webgene-item:nth-child(n+3){
    margin-top: 15px;
  }
  .news_list_thumb .webgene-item{

  }
  .news_list_thumb .webgene-item .inner{
  }
  .news_list_thumb .webgene-item .box1{

  }
  .news_list_thumb .webgene-item .box2{
  }
  .news_list_thumb .webgene-item .meta{
    margin-bottom: 5px;
  }
  .news_list_thumb .webgene-item .meta .category{
    font-size: 13px;
    /*margin-left: 10px;*/
  }
  .news_list_thumb .webgene-item .meta .date{
    font-size: 15px;
    margin-right: 10px;
  }
  .news_list_thumb .webgene-item .title{

  }

}
@media (min-width:1024px){

  /* 一覧（サムネあり） */


  /* 3カラム */
  .news_list_thumb.col3 .webgene-item{
    width: 33.333%;
  }
  .news_list_thumb.col3 .webgene-item:nth-child(n+3){
    margin-top: 0;
  }
  .news_list_thumb.col3 .webgene-item:nth-child(n+4){
    margin-top: 40px;
  }

  /* 4カラム */
  .news_list_thumb.col4 .webgene-item{
    width: 25%;
  }
  .news_list_thumb.col4 .webgene-item:nth-child(n+3){
    margin-top: 0;
  }
  .news_list_thumb.col4 .webgene-item:nth-child(n+5){
    margin-top: 40px;
  }

}
@media (min-width:1200px){

  /* 一覧（サムネあり） */
  .news_list_thumb{

  }
  * + .news_list_thumb{
    margin-top: 50px;
  }
  .news_list_thumb .webgene-blog{
    margin-left: -15px;
    margin-right: -15px;
  }
  .news_list_thumb .webgene-item{
    padding: 0 15px;
  }
  .news_list_thumb .webgene-item .box1{

  }
  .news_list_thumb .webgene-item .box2{
  }

  .news_list_thumb .webgene-item .title{
    font-size: 16px;
    line-height: 1.875;
  }
  .news_list_thumb .webgene-item .meta .date{
    margin-right: 25px;
  }
  .news_list_thumb .webgene-item .meta .category{
  }



}
@media (min-width:1470px){


}
@media (min-width:1720px){


}


/*******************************
*　記事一覧(2カラム)
********************************/
.pg_news{
}
.posts_layout{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;

}
.posts_layout_box1{
  width: 100%;
}
.posts_layout_box2{
  width: 100%;
  margin-top: 50px;
}

.select_wrap{
  position: relative;
  z-index: 1;
}
/*.select_wrap:after{
  content: "\f078";
  content: "\f107";
  font-family: "FontAwesome";
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}*/
.select_wrap select{
  width: 100%;
  padding: 10px 10px;
  /*height: 40px;*/
  /*-moz-appearance: none;*/
/*  -webkit-appearance: none;*/
  /*appearance: none;*/
}
.posts_category_sp{
  margin-bottom: 30px;
}

/* リスト */
.posts_list{

}
.posts_list .webgene-item{
  display: flex;
  align-items: center;
  border-bottom: 1px dotted;
  padding-bottom: 10px;
}
.posts_list .webgene-item + .webgene-item{
  margin-top: 10px;
}
.posts_list .webgene-item .date{
  width: 95px;
  letter-spacing: 0.1em;
}
.posts_list .webgene-item .category{
  width: auto;
  font-size: 0.75em;
}
.posts_list .webgene-item .category span{
  display: block;
  background: #0069ba;
  color: #FFF;
  padding: 3px 5px;
  text-align: center;
}
.posts_list .webgene-item .title{
  width: 100%;
  letter-spacing: 0.075em;
}
.posts_list .webgene-item .title a{

}


/* サイド */
.posts_side_wrap{

}
.posts_side_wrap + .posts_side_wrap{
  margin-top: 30px;
}
.posts_side_title {
  background: var(--main-color);
  color: #FFF;
  padding: 10px 10px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 20px;
}

.posts_cat_item{
  padding-left: 8px;
}
.posts_cat_item + .posts_cat_item{
  margin-top: 18px;
}
.posts_cat_item a{
  display: block;
  position: relative;
  padding-left: 20px;
  line-height: 1.5;
}
.posts_cat_item a:before{
  content: "■";
  position: absolute;
  left: 0;
  color: var(--sub-color);
}

/* 詳細 */
.posts_detail{
  border-bottom: 1px solid #bfbfbf;
}
.posts_detail .webgene-item{

}
.posts_detail .meta{
  display: flex;
  flex-wrap: wrap;
  
  padding-bottom: 10px;
  border-bottom: 1px solid #bfbfbf;
  margin-bottom: 15px;
}
.posts_detail .meta .category{
  margin-bottom: 2px;
}
.posts_detail .meta .category span{
  display: inline-block;
  background: #ffb445;
  border-radius: 5px;
  color: #FFF;
  min-width: 150px;
  font-size: 13px;
  font-weight: 500;
  text-align: center;
  padding: 2px 5px;
  line-height: 1.2;
}
.posts_detail .meta .date{
  font-size: 15px;
  font-family: "Outfit", 'Noto Sans JP', sans-serif;
}
.posts_detail .meta .title{
  width: 100%;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.065em;
  margin-top: 5px;
}
.posts_detail .post_content{
  line-height: 1.875;
  letter-spacing: 0.065em;
  text-align: justify;
  word-break: break-all;
}
.posts_detail .thumb{
  margin-bottom: 10px;
}

.posts_back_list{

}
.posts_back_list a{
  display: block;
  width: 255px;
  max-width: 100%;
  margin: 30px auto 0;
  background: #f3f2f2;
  padding: 4px;
  border-radius: 10px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
}
.posts_back_list a p{
  border: 2px dashed #0069b6;
  border-radius: 10px;
  padding: 10px 6px;
}
.posts_back_list a p:after{
  content: "\f105";
  font-family: "FontAwesome";
  margin-left: 18px;
}

/* PDFリンク */
.post_pdf{
  text-align: left;
}
.post_pdf a{
  display: inline-block;
  margin-top: 30px;
  border-bottom: 1px solid;
  transition: 0.2s all;
}
.post_pdf a[href=""]{
  display: none;
}
.post_pdf a:hover{
  border-bottom: 0;
}
.post_pdf a:before{
  /*
  * f054 > (大)
  * f105 > (小)
  */
  content: "\f105";
  font-family: "FontAwesome";
  margin-right: 5px;
}


/* 動画 */
.post_video{

}
.post_video .responsive_video{
  margin-top: 15px;
}
.post_video .responsive_video:empty{
  display: none;
}



/* ページ送り(一覧) */
.pagination{
  text-align: center;
  margin-top: 30px;
}
.pagination .nav-links{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  
}
.pagination .page-numbers{
  min-width: 40px;
  height: 40px;
  align-self: stretch;
  border: 1px solid var(--sub-color);;
  background: #FFF;
  padding: 5px 10px;
  margin: 4px 4px;
  color: #1e1e1e;
  text-decoration: none;
  border-radius: 50%;
}
.pagination .page-numbers.current,
.pagination .page-numbers:hover{
  background: var(--sub-color);
  color: #FFF;
}

.pagination .page-numbers.prev,
.pagination .page-numbers.next{
  background: none;
  border: 0;
  border-radius: 0;
}
.pagination .page-numbers.prev{
  
}
.pagination .page-numbers.next{
  
}
.pagination .page-numbers.prev:hover,
.pagination .page-numbers.next:hover{
  color: var(--sub-color);
}
.pagination .page-numbers.next:after{
  content: "\f101";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-left: 10px;
}
.pagination .page-numbers.prev:before{
  content: "\f100";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 10px;
}

.pagination .page-numbers.dots{
  background: none;
  border: 0;
  border-radius: 0;
  color: #181818;
}

/* ページ送り(詳細) */
.pagination .nav-posts{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pagination .nav-posts .page-next,
.pagination .nav-posts .page-prev{
  min-width: 200px;
}
.pagination .nav-posts .page-next a,
.pagination .nav-posts .page-prev a{
  display: block;
  border: 1px solid #c0c0c0;
  padding: 10px 50px;
  position: relative;
}
.pagination .nav-posts .page-next a:before,
.pagination .nav-posts .page-prev a:after{
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.pagination .nav-posts .page-next a:before{
  content: "\f053";
  left: 10px;
}
.pagination .nav-posts .page-prev a:after{
  content: "\f054";
  right: 10px;
}
.pagination .nav-posts .page-archive a{
  display: block;
  background: #bcbcbc;
  color: #ffffff;
  padding: 10px 100px;
}


/* コピー用 */
@media (max-width:374px){

}
@media (min-width:375px){

}
@media (max-width:767px){
  .posts_list .webgene-item{
    flex-wrap: wrap;
  }
  .posts_list .webgene-item .title{
    margin-top: 5px;
  }
  .posts_list .webgene-item .category{
    max-width: calc(100% - 95px);
    line-height: 1.2;
  }
  
  .pagination .page-numbers{
    min-width: 30px;
    height: 30px;
    padding: 0;
  }
  .pagination .page-numbers.prev,
  .pagination .page-numbers.next{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    font-size: 12px;
    height: auto;
  }
  .pagination .page-numbers.dots{
    display: flex;
    align-items: flex-end;
    justify-content: center;
    font-size: 10px;
    min-width: 20px;
  }
}
@media (min-width:768px){

  .pg_news{
  }
  .posts_layout_box1{
    width: 74.32%;
  }
  .posts_layout_box2{
    width: 22.97%;
    margin-top: 0;
  }

  .posts_category_sp{
    display: none;
  }

  /* リスト */
  .posts_list{

  }
  .posts_list .webgene-item{
    padding-bottom: 20px;
  }
  .posts_list .webgene-item + .webgene-item{
    margin-top: 20px;
  }
  .posts_list .webgene-item .date{
    width: 90px;
    font-size: 14px;
    letter-spacing: 0.075em;
  }
  .posts_list .webgene-item .category{
    width: 160px;
  }
  .posts_list .webgene-item .category span{
  }
  .posts_list .webgene-item .title{
    width: calc(100% - 100px - 150px - 15px);
    margin-left: 15px;
  }
  .posts_list .webgene-item .title a{

  }

  .posts_side_wrap + .posts_side_wrap{
    margin-top: 55px;
  }

  /* 詳細 */
  .posts_detail{
  }
  .posts_detail .webgene-item{

  }
  .posts_detail .meta{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 25px;
  }
  .posts_detail .meta .category{
  }
  .posts_detail .meta .category span{
    font-size: 13px;
    padding: 2px 5px;
  }
  .posts_detail .meta .date{
    width: 105px;
  }
  .posts_detail .meta .title{
    width: calc(100% - 105px);
    font-size: 20px;
  }
  .posts_detail .post_content{
  }
  .posts_detail .thumb{
    margin-bottom: 20px;
  }

  .pagination{
    margin-top: 65px;
  }
}
@media (min-width:1024px){

  .posts_layout_box1{
    width: calc(100% - 255px - 30px);
  }
  .posts_layout_box2{
    width: 255px;
    margin-top: 0;
  }
  
  /* リスト */
  .posts_list{

  }
  .posts_list .webgene-item{
  }
  .posts_list .webgene-item + .webgene-item{
  }
  .posts_list .webgene-item .date{
    width: 120px;
    font-size: 16px;
  }
  .posts_list .webgene-item .category{
    width: 160px;
  }
  .posts_list .webgene-item .category span{
  }
  .posts_list .webgene-item .title{
    width: calc(100% - 120px - 160px - 25px);
    margin-left: 25px;
  }
  .posts_list .webgene-item .title a{

  }

}
@media (min-width:1200px){

  .pg_news{
  }

}



/*******************************
*　ギャラリー（サムネ横ver）
********************************/
.pg_xxx{

}
.pg_xxx .section.sec1{
  padding-top: 0;
  padding-bottom: 0;
}

/* スライド */
.gallery_wrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}
.gallery_box1{
  width: 100%;
}
.gallery_box2{
  width: 100%;
  margin-top: 15px;
}

/* メイン */
.gallery_main{

}
.gallery_main .img{
  background: #EEE;
}
.gallery_main .img.img_fit:before{
  padding-top: 75.34%;
}
.gallery_main .img.img_fit img{
  object-fit: contain;
  object-position: center;
}
/* サムネ */
.gallery_thumb{

}
.gallery_thumb .img{
  width: 100%;
  background: #EEE;
  overflow: hidden;
}
.gallery_thumb .img.img_fit:before{
  padding-top: 76.47%;
}
.gallery_thumb .img.img_fit img{

}


/* 詳細 */
.gallery_detail{

}
.gallery_detail .meta{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-bottom: 1px solid #e5e5e5;
  margin-top: 20px;
  margin-bottom: 15px;
  padding-bottom: 10px;

}
.gallery_detail .meta .title{
  font-size: 18px;
  line-height: 1.5;
}
.gallery_detail .meta .price{
  font-size: 18px;
  line-height: 1.5;
  margin-left: auto;
}
.gallery_detail .post_content{
  font-size: 16px;
  line-height: 2;
  text-align: justify;
  word-break: break-all;
}
.gallery_detail .read_more{
  margin-top: 50px;
}


/* コピー用 */
@media (max-width:374px){

}
@media (min-width:375px){

}
@media (max-width:767px){

}
@media (min-width:768px){
  .pg_xxx{

  }
  

  /* 詳細 */
  .gallery_wrap{
  }
  .gallery_box1{
    width: 65.76%;
  }
  .gallery_box2{
    width: 31.53%;
    margin-top: 0;

    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    right: 0;
    overflow: hidden;
  }

  /* サムネ */
  .gallery_thumb{
    width: 100%;
    height: 100%;
  }
  .gallery_thumb .swiper-slide {
    overflow: hidden;
  }
  .gallery_thumb .img{
    height: 100%;
  }
  .gallery_thumb .img.img_fit:before{

  }

  /* 詳細 */
  .gallery_detail{
    width: 65.76%;
    margin-top: 30px;
  }
  .gallery_detail .meta{
    margin-top: 10px;
    margin-bottom: 15px;
    padding-bottom: 10px;
  }
  .gallery_detail .meta .title{
    font-size: 18px;
  }
  .gallery_detail .meta .price{
    font-size: 18px;
  }
  .gallery_detail .post_content{
    font-size: 16px;
    line-height: 2;
  }
  .gallery_detail .read_more{
    margin-top: 50px;
  }
}
@media (min-width:1024px){

  /* 詳細 */
  .gallery_detail{
    width: 65.76%;
    margin-top: 30px;
  }
  .gallery_detail .meta{
    margin-top: 10px;
    margin-bottom: 15px;
    padding-bottom: 10px;
  }
  .gallery_detail .meta .title{
    font-size: 20px;
  }
  .gallery_detail .meta .price{
    font-size: 20px;
  }
  .gallery_detail .post_content{
    font-size: 16px;
    line-height: 2;
  }
  .gallery_detail .read_more{
    margin-top: 50px;
  }

}
@media (min-width:1200px){


}



/* **********************************
 *  お問い合わせ
 * ********************************* */
.pg_contact{
  
}
.pg_contact .section#sec1{
  
}
.pg_contact .section#sec2{
  
}
.pg_contact .section#sec3{
  
}

.contact_tt{
  text-align: center;
  font-weight: bold;
  font-size: 23px;
  letter-spacing: 0.2em;
  margin-bottom: 30px;
}



/* 連絡先 */
.contact_info{
  background: #ff2700;
  text-align: center;
  padding: 28px 20px 25px;
  margin-bottom: 65px;
}
.contact_info .box1{
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 0.14em;
  color: #FFF;
}
.contact_info .box2{
  margin-top: 20px;
  background: #FFFFFF;
  padding: 22px 5px;
  line-height: 1;
}
.contact_info .box2 .icon{
  display: inline-block;
  font-size: 25px;
  font-weight: bolder;
  background: #ff2700;
  color: #FFFFFF;
  padding: 5px 18px;
  margin-right: 10px;
  vertical-align: middle;
  border-radius: 5px;
  letter-spacing: 0.08em;
}
.contact_info .box2 .tel{
  display: inline-block;
  font-size: 44px;
  font-weight: 500;
  vertical-align: middle;
  font-weight: bold;
}
.contact_info .box2 .tel a{
  display: block;
  letter-spacing: 0.02em;
}
.contact_info .box2 .txt{
  display: inline-block;
  vertical-align: bottom;
  font-weight: 700;
  letter-spacing: 0.16em;
}

/* コンタクトフォーム */
.contact_form{
  width: 100%;
  border: 1px solid #b2b2b2;
  background: #FFF;
}
.contact_form tr{
  border-bottom: 1px solid #b2b2b2;
}
.contact_form th,
.contact_form td{
  padding: 10px 15px 10px 20px;
  font-weight: normal;
  text-align: left;
}
.contact_form th{
  background: #f0f0f0;
  width: 310px;
  letter-spacing: 0.08em;
}
.contact_form td{
  font-size: 15px;
  letter-spacing: 0.16em;
}
.contact_form th.vtop{
  vertical-align: top;
}
.contact_form th .require{
  display: inline-block;
  padding: 2px 12px;
  color: #FFF;
  background: #b80000;
  font-size: 14px;
  font-weight: normal;
  float: right;
}

/* MW WP Formの規定クラス */
/* checkbox, radio */
.mwform_check_box_wrap{
  padding: 6px 0;
}
.mw_wp_form .mwform-radio-field.horizontal-item,
.mw_wp_form .mwform-checkbox-field.horizontal-item{
  display: inline-block;
  margin-left: 0;
  margin-right: 10px;
}

/**/
.mw_wp_form_confirm .addr_auto{
  display: none;
}
.mw_wp_form_confirm .addr_auto_box .zipcode i{
  background: none;
  padding: 0;
  font-size: inherit;
}

.contact_form dl{
  width: 100%;
  display: flex;
  align-items: center;
}
.contact_form dl + dl{
  margin-top: 10px;
}
.contact_form dl dt,
.contact_form dl dd{
  
}
.contact_form dl + p{
  margin-top: 5px;
  margin-bottom: 5px;
}

.contact_form dl.addr dt{
  width: 90px;
}
.contact_form dl.addr dd{
  width: calc(100% - 90px);
  
}
.contact_form dl.date {
  align-items: flex-start;
}
.contact_form dl.date dt{
  width: 90px;
}
.contact_form dl.date dt + dt{
  margin-left: 5px;
}
.contact_form dl.date dt select{
  width: 100%;
}
.contact_form dl.date dt.wide{
  width: 200px;
}
.contact_form dl.date dt.m,
.contact_form dl.date dt.d{
  width: 120px;
}
.contact_form dl.date dt.m select,
.contact_form dl.date dt.d select{
  width: calc(100% - 2em);
}
.contact_form dl.date dt.t{
  width: 150px;
}
.contact_form dl.date dt.t select{
  width: calc(100% - 5em);
}


.contact_form dl.addr dd{
  
}


.contact_form_addr{
  display: flex;
  align-items: center;
  margin: 0;
}
.contact_form_addr + .contact_form_addr{
  margin-top: 8px;
}
.contact_form_addr dt,
.contact_form_addr dd{
  margin: 0;
}
.contact_form_addr dt{
  width: 80px;
}
.contact_form_addr dd{
  width: calc(100% - 80px);
}

.contact_form_addr dd [name$="zipcode"]{
  width: 210px;
}
.contact_form_addr dd [name$="addr1"]{
  width: 210px;
}




.addr_auto_box{
  display: flex;
  align-items: center;
}
.addr_auto_box .zipcode{
  display: flex;
  flex-wrap: wrap;
}
.addr_auto_box .zipcode i{
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  background: #cccccc;
  padding: 0 5px;
}
.addr_auto_box .zipcode input{
  
}

.addr_auto_box button{
  margin-left: 20px;
}


.contact_form td input ,
.contact_form td textarea ,
.contact_form td select {
  padding: 7px 10px;
  max-width: 100%;
  border: 1px solid #d6d8d8;
  border-radius: 0;
}
.contact_form td textarea{
  height: 280px;
}
.contact_form td [name$="_zipcode"],
.contact_form td [name="zipcode"],
.contact_form td [name="addr1"]{
  width: 160px;
}
.contact_form td [name="addr1"]{
  width: 220px;
}
.contact_form td [name="addr2"]{
}


.contact_form td .addr_auto{
  background: #f0f0f0;
  border: 1px solid #d6d8d8;
  margin-left: 10px;
  padding: 5px 5px;
}


.contact_form_msg{
  margin-top: 10px;
  margin-bottom: 10px;
}

/* 確認画面用 */



.contact_form_acceptance{
  font-size: 17px;
  letter-spacing: 0.08em;
  text-align: center;
  margin-top: 40px;
}
.contact_form_acceptance a{
  color: #1a3e9b;
}
.contact_form_acceptance .mwform-checkbox-field.horizontal-item{
  margin-right: 0;
}


/* コンタクトフォーム - ボタン */
.contact_form_btns{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
  padding: 35px 0;
}
.contact_form_btns input[type="submit"],
.contact_form_btns input[type="button"],
.contact_form_btns button{
  background: #b80000;
  color: #FFF;
  border: 0;
  padding: 12px 10px;
  width: 315px;
  margin: 0 10px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.contact_form_btns input[type="submit"][disabled],
.contact_form_btns input[type="button"][disabled]{
  background: #CCC;
}
.contact_form_btns button[type="reset"]{
  background: #CCC;
}
.contact_form_btns .ajax-loader{
  order: 10;
  width: 100% !important;
  margin-top: 10px !important;
  background-repeat: no-repeat;
  background-position: center;
}


/* **********************************
 *  プライバシーポリシー
 * ********************************* */
.pg_contact .privacy{
  margin-top: 105px;
}

.privacy_tt{
  text-align: center;
  margin-bottom: 55px;
}
.privacy_tt h3{
  font-size: 23px;
  font-weight: 700;
  letter-spacing: 0.2em;
}
.privacy_tt br{
  display: none;
}
.privacy_tt .dots{
  display: flex;
  justify-content: center;
  margin-top: 10px;
}
.privacy_tt .dots i{
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #c1c1c1;
  margin: 0 8px;
}

.privacy_items{
  
}
.privacy_items .item{
  line-height: 1.6;
  letter-spacing: 0.04em;
}
.privacy_items .item + .item{
  margin-top: 40px;
}
.privacy_items .item h4{
  font-size: 18px;
  font-weight: 500;
  border-left: 6px solid #f0f0f0;
  padding-left: 20px;
  margin-bottom: 10px;
  line-height: 2.33;
}
.privacy_items .item .txt{
  line-height: 1.875;
}
.privacy_items .item ul{
  list-style: disc;
  margin-left: 2em;
  margin-top: 10px;
}
.privacy_items .item ul.latin{
  list-style: lower-latin;
}

.privacy_items .item ul li{
  
}
.privacy_items .item ol{
  margin-left: 2em;
  margin-top: 10px;
}



.privacy_item_box {
  padding: 30px 43px 30px 24px;
  height: 397px;
  overflow: auto;
  background: #fff;
  border: 1px solid #808080;
  margin-top: 0;
  color: #000000;
  margin-top: 100px;
  margin-bottom: 20px;
}


/* プライバシー */
.pg_contact .section.sec2{
  padding: 150px 0 20px;
}
.pg_contact .section.sec2 .contact_tt{
  margin-bottom: 60px;
  padding-left: 10px;
}
.privacy_item {
  margin-top: 28px;
}
.privacy_ttl {
  font-size: 18px;
  font-weight: 400;
  padding: 8px 15px;
  margin-bottom: 12px;
  letter-spacing: 0.05em;
  border-left: 6px solid #000;
}
.privacy_txt{
  letter-spacing: 0.04em;
  line-height: 1.875;
  text-align: justify;
}

.privacy_txt_type1{
  text-indent: -1.5em;
  padding-left: 1.5em;
}
.privacy_txt_type1_b{
  text-indent: -1em;
  padding-left: 1em;
}
.privacy_txt_type1_c{
  text-indent: -3em;
  padding-left: 3em;
}
.privacy_txt_type2{

}
.privacy_txt_type2 p{
  text-indent: -1em;
  padding-left: 1em;
}

.privacy_txt ol li{
  padding-left: 1.6em;
  text-indent: -1.6em;
}
.privacy_txt ul li{
  padding-left: 1em;
  text-indent: -1em;
}


@media only screen and (max-width:1023px){
  
  /* **********************************
   *  
   * ********************************* */
  
  
  /* **********************************
   *  お問い合わせ
   * ********************************* */
  .contact_form th {
    width: 250px;
  }
  .contact_form td .wpcf7-text{
    width: 100%;
  }
  .contact_form td [name="zipcode"]{
    width: 90px;
  }
}

@media only screen and (max-width:767px){
  
 
  
  
  
  
  /* **********************************
   *  お問い合わせ
   * ********************************* */
  .contact_info{
    padding: 10px;
  }
  .contact_info .box1{
    font-size: 13px;
  }
  .contact_info .box2{
    margin-top: 10px;
  }
  .contact_info .box2 .icon{
    font-size: 15px;
  }
  .contact_info .box2 .tel{
    font-size: 24px;
  }
  .contact_info .box2 .txt{
    width: 100%;
    margin: 10px 0 0 0;
  }
  
  .contact_form th,
  .contact_form td{
    display: block;
    width: 100%;
    padding: 10px 10px;
  }
  .contact_form th{
  }
  .contact_form td{
  }
  .contact_form td [name="zipcode"]{
    width: 100px;
  }
  .contact_form dl.date dt{
    width: 100%;
  }
  .contact_form dl.date dt.wide{
    width: 100%;
  }
  
  .contact_form dl.date dt.m,
  .contact_form dl.date dt.d{
    width: 90px;
  }
  .contact_form dl.date dt.m select,
  .contact_form dl.date dt.d select{
    width: calc(100% - 2em);
  }
  .contact_form dl.date dt.t{
    width: calc(100% - 180px - 10px);
  }
  .contact_form dl.date dt.t select{
    width: calc(100% - 3.5em);
  }
  
  .contact_form_btns input[type="submit"], 
  .contact_form_btns input[type="button"],
  .contact_form_btns button  {
    width: 48%;
    margin: 0 1%;
    font-size: 12px;
  }
  .contact_form_btns input[type="submit"]{
    
  }
  .contact_form_btns button {
    width: 30%;
  }
  
  
  .privacy_item_box{
    margin-top: 50px;
    padding: 30px 10px;
  }
  
  /* **********************************
   *  プライバシーポリシー
   * ********************************* */
  .privacy_tt{
    font-size: 18px;
  }
  .privacy_tt br{
    display: inline;
  }
  .privacy_items .item h4{
    font-size: 15px;
  }
  
  
  /* クッキー同意 */
  #cookie-notice{
    min-width: 0;
    top: 50%;
    bottom: auto;
    transform: translate(0, -50%);
    left: 10px;
    right: 10px;
  }
  #cookie-notice:before{
    content: "";
    position: absolute;
    width: 100vw;
    height: 100vh;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-color: rgba(0,0,0,0.9);
    z-index: -1;
  }
  #cn-close-notice{
    top: 5px;
    right: 5px;
    margin-top: 0;
  }
  #cn-notice-text{
    text-align: justify;
  }
  
  .cookie-notice-container{
    padding: 50px 20px 50px;
    background: rgba(50,50,58,1);
  }
  .cn-text-container{
    margin-bottom: 10px;
  }
  .cookie-notice-hidden{
    display: none;
  }
}


/*******************************
*　お問い合わせ送信完了
********************************/
.pg_thanks .link_3{
  margin-top: 50px;
}
.thanks_text{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

@media only screen and (max-width: 767px){
  .thanks_text{
    /*display: block;*/
    letter-spacing: -0.08em;
  }
}


/*******************************
*　
********************************/
.pg_xxx{

}
.pg_xxx .section.sec1{

}
.pg_xxx .section.sec2{

}
.pg_xxx .section.sec3{

}
.pg_xxx .section.sec4{

}
.pg_xxx .section.sec5{

}


@media (max-width:374px){

}
@media (min-width:375px){

}
@media (max-width:767px){

}
@media (min-width:768px){
  .pg_xxx{

  }
  .pg_xxx .section.sec1{

  }
  .pg_xxx .section.sec2{

  }
  .pg_xxx .section.sec3{

  }
  .pg_xxx .section.sec4{

  }
  .pg_xxx .section.sec5{

  }


}
@media (min-width:1024px){


}
@media (min-width:1200px){


}
