@charset 'UTF-8';
/*************
/* LP用
*************/
/* 基本設定 */
#lp-main {
  width: 100%;
}
#lp-main img {
  max-width: 100%;
  height: auto;
}
#lp-main a img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#lp-main a:hover img {
  opacity: 0.6;
}
.lp_pan {
  padding-top: 80px; /* headerの高さ分padding */
}
@media screen and (min-width: 1001px) {
  .lp_pan {
    padding-top: 100px; /* headerの高さ分padding */
  }
}
/* header */
.lp_head {
  background-image: url("../images/page/lp_headsp.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: 100%;
  min-height: 300px;
  margin-bottom: 5.6rem;
}
@media screen and (min-width: 992px) {
  .lp_head {
    background-image: url("../images/page/lp_headpc.jpg");
    margin-bottom: 11.2rem;
  }
}
/* LP基本フォント */
h1.lp_h1 {
  font-size: 1.96rem;
  text-align: center;
  position: relative;
  margin-bottom: 5.6rem;
  clear: both;
}
h1.lp_h1:after {
  content: "";
  width: 120px;
  height: 2px;
  background-color: #8ec31f;
  display: block;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  margin-top: 1.4rem;
}
h2.lp_h2 {
  font-size: 1.82rem;
  position: relative;
  margin-bottom: 3.5rem;
  clear: both;
  border-left: 5px solid #8ec31f;
  background-color: #1a1a1a;
  padding: 1.12rem;
  font-weight: bold;
  color: #fff;
}
h3.lp_h3 {
  position: relative;
  margin: 0 0 2.1rem;
  padding: 1.12rem 1.68rem;
  background: #1a1a1a;
  color: #fff;
  font-size: 1.68rem;
  font-weight: bold;
}
h3.lp_h3:after {
  position: absolute;
  bottom: -15px;
  left: 10%;
  z-index: 90;
  margin-left: -15px;
  border-top: 15px solid #1a1a1a;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-bottom: 0;
  content: "";
}
h4.lp_h4 {
  font-size: 1.68rem;
  margin-bottom: 20px;
  clear: both;
  font-weight: bold;
  border-bottom: solid 3px #1a1a1a;
  padding: 1.12rem 1.68rem;
  position: relative;
}
h4.lp_h4::after {
  content: " ";
  display: block;
  position: absolute;
  left: 0;
  bottom: -3px;
  background-color: #8ec31f;
  width: 80px;
  height: 3px;
}
@media screen and (min-width: 1200px) {
  h1.lp_h1 {
    font-size: 2.24rem;
  }
}
/*************
/* 100%表示用
*************/
/* 基本設定 */
#page-main {
  width: 100%;
}
#page-main img {
  max-width: 100%;
  height: auto;
}
#page-main a img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#page-main a:hover img {
  opacity: 0.6;
}
#page-main .wp_social_bookmarking_light {
  max-width: 1170px;
  padding: 0 15px !important;
  margin: 0 auto !important;
}
/* 基本フォント */
#page-main h1 {
  font-size: 2.24rem;
  text-align: center;
  position: relative;
  margin-bottom: 5.6rem;
  clear: both;
}
#page-main h1:after {
  content: "";
  width: 120px;
  height: 2px;
  background-color: #8ec31f;
  display: block;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  margin-top: 1.4rem;
}
#page-main h2 {
  font-size: 1.82rem;
  position: relative;
  margin-bottom: 3.5rem;
  clear: both;
  border-left: 5px solid #8ec31f;
  background-color: #1a1a1a;
  padding: 1.12rem;
  font-weight: bold;
  color: #fff;
}
#page-main h3 {
  position: relative;
  margin: 0 0 2.1rem;
  padding: 1.12rem 1.68rem;
  background: #1a1a1a;
  color: #fff;
  font-size: 1.68rem;
  font-weight: bold;
}
#page-main h3:after {
  position: absolute;
  bottom: -15px;
  left: 10%;
  z-index: 90;
  margin-left: -15px;
  border-top: 15px solid #1a1a1a;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-bottom: 0;
  content: "";
}
#page-main h4 {
  font-size: 1.68rem;
  margin-bottom: 20px;
  clear: both;
  font-weight: bold;
  border-bottom: solid 3px #1a1a1a;
  padding: 1.12rem 1.68rem;
  position: relative;
}
#page-main h4::after {
  content: " ";
  display: block;
  position: absolute;
  left: 0;
  bottom: -3px;
  background-color: #8ec31f;
  width: 80px;
  height: 3px;
}
/* クラス */
.page-bgimg {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding: 60px 0 50px;
}
.page-bgimg-w {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding: 60px 0 50px;
  color: #fff;
}
.page-bgimg-pc {
  position: relative;
  width: 100%;
}
.bg-pc {
  width: 100%;
  position: absolute;
  height: 100%;
}
.bg-pc img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#page-main .bg-pc img {
  height: 100%;
}
.bg-pc-text {
  position: relative;
  padding: 60px 0 50px;
}
.bg-pc-text-w {
  position: relative;
  padding: 60px 0 50px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .bg-pc {
    position: relative;
    height: auto;
  }
  #page-main .bg-pc img {
    height: auto;
  }
  .bg-pc-text {
    position: relative;
    padding: 30px 0 0px;
  }
  .bg-pc-text-w {
    color: #222;
    padding: 30px 0 0px;
  }
}
/*******************************
/* 画像をずらす
*******************************/
.img_position {
  background-color: #333;
  margin-bottom: 1.4rem;
}
.img_position img {
  position: relative;
  bottom: -1.12rem;
  left: -1.12rem;
}
@media screen and (min-width: 768px) {
  .img_position img {
    bottom: -1.4rem;
    left: -1.4rem;
  }
}
/*******************************
/* 背景色
*******************************/
.bg_color_w {
  background-color: #fff;
  padding: 5%;
}
.bg_color_g {
  background-color: #ccc;
  padding: 5%;
}
.bg_color_b {
  background-color: #000;
  padding: 5%;
}
/****** 透過 ******/
.bg_color_w_rgba {
  background-color: rgba(255, 255, 255, 0.8);
  padding: 5%;
}
.bg_color_g_rgba {
  background-color: rgba(204, 204, 204, 0.8);
  padding: 5%;
}
.bg_color_b_rgba {
  background-color: rgba(0, 0, 0, 0.8);
  padding: 5%;
}
/*******************************
/* 背景画像
*******************************/
/****** 背景画像上に白い背景色テキスト ******/
.bg_box_on {
  background-image: url("../images/page/bg_box_onsp.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: 100%;
  padding-top: 5.6rem;
  padding-bottom: 5.6rem;
}
@media screen and (min-width: 992px) {
  .bg_box_on {
    background-image: url("../images/page/bg_box_onpc.jpg");
    padding-top: 8.4rem;
    padding-bottom: 8.4rem;
  }
}
/****** 背景画像に被った白い背景色テキスト ******/
.bg_wear {
  position: relative;
  width: 100%;
  padding-top: 120px;
}
.bg_wear::before {
  content: " ";
  background-image: url("../images/page/bg_box_onsp.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: 100%;
  min-height: 200px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
h2.bg_wear_h2 {
  padding-top: 40px;
  padding-bottom: 40px;
  text-align: center;
  margin-bottom: 0;
  font-weight: bold;
  letter-spacing: 0.21rem;
  -webkit-filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.6));
  filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.6));
  font-size: 2.24rem;
}
h2.bg_wear_h2_w {
  color: #fff;
  padding-top: 40px;
  padding-bottom: 40px;
  text-align: center;
  margin-bottom: 0;
  font-weight: bold;
  letter-spacing: 0.21rem;
  -webkit-filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.6));
  filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.6));
  font-size: 2.24rem;
}
@media screen and (min-width: 992px) {
  .bg_wear {
    padding-top: 200px;
  }
  .bg_wear::before {
    background-image: url("../images/page/bg_box_onpc.jpg");
    min-height: 300px;
  }
  h2.bg_wear_h2, h2.bg_wear_h2_w {
    padding-top: 80px;
    padding-bottom: 80px;
    font-size: 2.8rem;
  }
}
/****** 画像とテキスト半々 ******/
.swap_continuous {
  width: 100%;
}
.swap_continuous .scl_box1 {
  width: 100%;
  min-height: 200px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("../images/page/bg_scl01.jpg");
}
.swap_continuous .scl_box2 {
  padding: 5% 5% 8%;
}
@media screen and (min-width: 768px) {
  .swap_continuous {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .swap_continuous .scl_box1 {
    width: 50%;
  }
  .swap_continuous .scl_box2 {
    width: 50%;
    padding: 5%;
  }
}
/****** 画像とテキスト半々順番変更 ******/
.swap_continuous_order {
  width: 100%;
}
.swap_continuous_order .scl_box1 {
  width: 100%;
  min-height: 200px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("../images/page/bg_scl02.jpg");
}
.swap_continuous_order .scl_box2 {
  padding: 5% 5% 8%;
}
@media screen and (min-width: 768px) {
  .swap_continuous_order {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .swap_continuous_order .scl_box1 {
    width: 50%;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
  .swap_continuous_order .scl_box2 {
    width: 50%;
    padding: 5%;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}
/****** 画像とテキスト半々画像 ******/
.swap_continuous_img {
  width: 100%;
}
.swap_continuous_img .scl_box1 {
  width: 100%;
}
.swap_continuous_img .scl_box1 img {
  max-width: 100%;
  height: auto;
}
.swap_continuous_img .scl_box2 {
  padding: 5% 5% 8%;
}
@media screen and (min-width: 768px) {
  .swap_continuous_img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .swap_continuous_img .scl_box1 {
    width: 50%;
  }
  .swap_continuous_img .scl_box2 {
    width: 50%;
    padding: 5%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
/****** 画像とテキスト半々画像 順番変更 ******/
.swap_continuous_img_order {
  width: 100%;
}
.swap_continuous_img_order .scl_box1 {
  width: 100%;
}
.swap_continuous_img_order .scl_box1 img {
  max-width: 100%;
  height: auto;
}
.swap_continuous_img_order .scl_box2 {
  padding: 5% 5% 8%;
}
@media screen and (min-width: 768px) {
  .swap_continuous_img_order {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .swap_continuous_img_order .scl_box1 {
    width: 50%;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
  .swap_continuous_img_order .scl_box2 {
    width: 50%;
    padding: 5%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}
/****** 画像とテキストを順番を入れ替えながら連続 ******/
.swap_continuous_li {
  width: 100%;
}
.swap_continuous_li {
  list-style: none;
}
.swap_continuous_li .scl_box1 {
  width: 100%;
  min-height: 200px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.swap_continuous_li li:first-child .scl_box1 {
  background-image: url("../images/page/bg_scl01.jpg");
}
.swap_continuous_li li:nth-child(2) .scl_box1 {
  background-image: url("../images/page/bg_scl02.jpg");
}
.swap_continuous_li li:nth-child(3) .scl_box1 {
  background-image: url("../images/page/bg_scl03.jpg");
}
.swap_continuous_li .scl_box2 {
  padding: 5% 5% 8%;
}
@media screen and (min-width: 768px) {
  .swap_continuous_li li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .swap_continuous_li .scl_box1 {
    width: 50%;
  }
  .swap_continuous_li .scl_box2 {
    width: 50%;
    padding: 5%;
  }
  .swap_continuous_li li:nth-child(even) .scl_box1 {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
  .swap_continuous_li li:nth-child(even) .scl_box2 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}
/****** 画像とテキストを順番を入れ替えながら連続 背景画像にしない ******/
.swap_continuous_li_img {
  width: 100%;
}
.swap_continuous_li_img {
  list-style: none;
}
.swap_continuous_li_img .scl_box1 {
  width: 100%;
}
.swap_continuous_li_img .scl_box1 img {
  max-width: 100%;
  height: auto;
}
.swap_continuous_li_img .scl_box2 {
  padding: 5% 5% 8%;
}
@media screen and (min-width: 768px) {
  .swap_continuous_li_img li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .swap_continuous_li_img .scl_box1 {
    width: 50%;
  }
  .swap_continuous_li_img .scl_box2 {
    width: 50%;
    padding: 5%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .swap_continuous_li_img.scl_box2 > div {
    width: 100%;
  }
  .swap_continuous_li_img li:nth-child(even) .scl_box1 {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
  .swap_continuous_li_img li:nth-child(even) .scl_box2 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}
/****** .swap_continuous テキスト背景色 ******/
.sc_bg_color_b .scl_box2 {
  background-color: #000;
  color: #fff;
}
.sc_bg_color_g .scl_box2 {
  background-color: #ccc;
}
.sc_bg_color_w .scl_box2 {
  background-color: #fff;
}
/****** 画像にテキストが被る ******/
.txt_on_img {
  position: relative;
  width: 100%;
  padding-top: 4.2rem;
  padding-bottom: 2.8rem;
  z-index: 1;
}
.toi_bg {
  position: absolute;
  top: 0;
  right: 0;
  width: 65%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("../images/page/bg_scl03.jpg");
  z-index: -1;
}
.txt_on_img h2 {
  font-size: 2.24rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 2.1rem;
}
.txt_on_img p {
  line-height: 2;
}
@media screen and (min-width: 1200px) {
  .txt_on_img {
    padding-left: 3%;
    padding-top: 5.6rem;
    padding-bottom: 4.2rem;
  }
  .toi_bg {
    width: 68%;
  }
  .txt_on_img h2 {
    font-size: 2.8rem;
    letter-spacing: 0.21rem;
  }
}
/* 画像右 */
.txt_on_img_right {
  position: relative;
  width: 100%;
  padding-top: 4.2rem;
  padding-bottom: 2.8rem;
  z-index: 1;
}
.toi_bg_right {
  position: absolute;
  top: 0;
  left: 0;
  width: 65%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("../images/page/bg_scl03.jpg");
  z-index: -1;
}
.txt_on_img_right h2 {
  font-size: 2.24rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 2.1rem;
}
.txt_on_img_right p {
  line-height: 2;
}
@media screen and (min-width: 1200px) {
  .txt_on_img_right {
    padding-top: 5.6rem;
    padding-bottom: 4.2rem;
  }
  .toi_bg_right {
    width: 68%;
  }
  .txt_on_img_right h2 {
    font-size: 2.8rem;
    letter-spacing: 0.21rem;
  }
}
/****** 画像にテキストが被る スマホでは被らない ******/
.txt_on_img_pc {
  position: relative;
  width: 100%;
  padding-top: 220px;
}
.toi_bg_pc {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  min-height: 200px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("../images/page/bg_scl03.jpg");
}
.txt_on_img_pc h2 {
  font-size: 2.24rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 2.1rem;
}
@media screen and (min-width: 768px) {
  .txt_on_img_pc {
    padding-top: 4.2rem;
    padding-bottom: 2.8rem;
    z-index: 1;
  }
  .toi_bg_pc {
    width: 65%;
    height: 100%;
    z-index: -1;
  }
  .txt_on_img_pc p {
    line-height: 2;
  }
}
@media screen and (min-width: 1200px) {
  .txt_on_img_pc {
    padding-left: 3%;
    padding-top: 5.6rem;
    padding-bottom: 4.2rem;
  }
  .toi_bg_pc {
    width: 68%;
    min-height: 1px;
  }
  .txt_on_img_pc h2 {
    font-size: 2.8rem;
    letter-spacing: 0.21rem;
  }
}
/* 画像右 */
.txt_on_img_right_pc {
  position: relative;
  width: 100%;
  padding-top: 220px;
}
.toi_bg_right_pc {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 200px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("../images/page/bg_scl03.jpg");
}
.txt_on_img_right_pc h2 {
  font-size: 2.24rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 2.1rem;
}
@media screen and (min-width: 768px) {
  .txt_on_img_right_pc {
    padding-top: 4.2rem;
    padding-bottom: 2.8rem;
    z-index: 1;
  }
  .toi_bg_right_pc {
    width: 65%;
    height: 100%;
    z-index: -1;
  }
  .txt_on_img_right_pc p {
    line-height: 2;
  }
}
@media screen and (min-width: 1200px) {
  .txt_on_img_right_pc {
    padding-top: 5.6rem;
    padding-bottom: 4.2rem;
  }
  .toi_bg_right_pc {
    width: 68%;
    min-height: 1px;
    z-index: -1;
    height: 100%;
  }
  .txt_on_img_right_pc h2 {
    font-size: 2.8rem;
    letter-spacing: 0.21rem;
  }
}
/*******************************
/* フォント・テキスト関連
*******************************/
/****** 縦文字 ******/
.font_vertical {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.font_orientation {
  text-combine-upright: all;
}
/****** 英語フォント ******/
.efont {
  font-family: "Roboto", sans-serif; /* テーマの英語フォントに合わせる */
}
/****** 色 ******/
.font_color_w {
  color: #fff;
}
@media screen and (min-width: 992px) {
  .pc-center {
    text-align: center;
  }
}
/**************************
流れ系
**************************/
/****** 普段のタイムライン ******/
.timeline {
  list-style: none;
  padding: 20px 0 20px;
  position: relative;
}
.timeline:before {
  top: 0;
  bottom: 0;
  position: absolute;
  content: " ";
  width: 3px;
  background-color: #eeeeee;
  left: 50%;
  margin-left: -1.5px;
}
.timeline > li {
  margin-bottom: 20px;
  position: relative;
}
.timeline > li:before, .timeline > li:after {
  content: " ";
  display: table;
}
.timeline > li:after {
  clear: both;
}
.timeline > li:before, .timeline > li:after {
  content: " ";
  display: table;
}
.timeline > li:after {
  clear: both;
}
.timeline > li > .timeline-panel {
  width: 46%;
  float: left;
  border: 1px solid #d4d4d4;
  border-radius: 2px;
  padding: 20px;
  position: relative;
  -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
}
.timeline > li > .timeline-panel:before {
  position: absolute;
  top: 26px;
  right: -15px;
  display: inline-block;
  border-top: 15px solid transparent;
  border-left: 15px solid #ccc;
  border-right: 0 solid #ccc;
  border-bottom: 15px solid transparent;
  content: " ";
}
.timeline > li > .timeline-panel:after {
  position: absolute;
  top: 27px;
  right: -14px;
  display: inline-block;
  border-top: 14px solid transparent;
  border-left: 14px solid #fff;
  border-right: 0 solid #fff;
  border-bottom: 14px solid transparent;
  content: " ";
}
.timeline > li > .timeline-badge {
  color: #fff;
  width: 50px;
  height: 50px;
  line-height: 50px;
  font-size: 1.96em;
  text-align: center;
  position: absolute;
  top: 16px;
  left: 50%;
  margin-left: -25px;
  background-color: #999999;
  z-index: 100;
  border-top-right-radius: 50%;
  border-top-left-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
}
.timeline > li.timeline-inverted > .timeline-panel {
  float: right;
}
.timeline > li.timeline-inverted > .timeline-panel:before {
  border-left-width: 0;
  border-right-width: 15px;
  left: -15px;
  right: auto;
}
.timeline > li.timeline-inverted > .timeline-panel:after {
  border-left-width: 0;
  border-right-width: 14px;
  left: -14px;
  right: auto;
}
.timeline-badge.primary {
  background-color: #1a1a1a !important;
}
.timeline-badge.success {
  background-color: #4a4a4a !important;
}
.timeline-badge.warning {
  background-color: #7a7a7a !important;
}
.timeline-badge.danger {
  background-color: #aaa !important;
}
.timeline-badge.info {
  background-color: #8ec31f !important;
}
.timeline-title {
  margin-top: 0;
  color: inherit;
}
.timeline-body > p, .timeline-body > ul {
  margin-bottom: 0;
}
.timeline-body > p + p {
  margin-top: 5px;
}
@media (max-width: 767px) {
  ul.timeline:before {
    left: 40px;
  }
  ul.timeline > li > .timeline-panel {
    width: calc(100% - 90px);
    width: -webkit-calc(100% - 90px);
  }
  ul.timeline > li > .timeline-badge {
    left: 15px;
    margin-left: 0;
    top: 16px;
  }
  ul.timeline > li > .timeline-panel {
    float: right;
  }
  ul.timeline > li > .timeline-panel:before {
    border-left-width: 0;
    border-right-width: 15px;
    left: -15px;
    right: auto;
  }
  ul.timeline > li > .timeline-panel:after {
    border-left-width: 0;
    border-right-width: 14px;
    left: -14px;
    right: auto;
  }
}
.timeline {
  list-style: none;
}
.timeline > li {
  margin-bottom: 60px;
}
/* for Desktop */
.center-none .timeline:before {
  display: none;
}
@media (min-width: 640px) {
  .timeline > li {
    overflow: hidden;
    margin: 0;
    position: relative;
  }
  .timeline-date {
    width: 110px;
    float: left;
    margin-top: 20px;
  }
  .timeline-content {
    width: 75%;
    float: left;
    padding-left: 30px;
    border-left-width: 3px;
    border-left-style: solid;
    border-left-color: #f1f1f1;
  }
  .timeline-content:before {
    content: "";
    width: 12px;
    height: 12px;
    background: #8ec31f;
    position: absolute;
    left: 106px;
    top: 24px;
    border-radius: 100%;
  }
}
@media screen and (max-width: 639px) {
  .center-none .timeline {
    border-left: 3px solid #eee;
  }
  .timeline > li {
    padding-left: 20px;
  }
  .center-none .timeline > li:before {
    content: "";
    width: 12px;
    height: 12px;
    background: #8ec31f;
    position: absolute;
    left: -7px;
    top: 50%;
    border-radius: 100%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}
/****** 普段のタイムライン改修 ******/
.time-Edit-line {
  list-style: none;
  padding: 0;
  position: relative;
}
.time-Edit-line:before {
  top: 0;
  bottom: 0;
  position: absolute;
  content: " ";
  width: 2px;
  background-color: #777;
  left: 50%;
  margin-left: -1.5px;
}
.center-none .time-Edit-line:before {
  display: none;
}
.time-Edit-line > li {
  margin-bottom: 20px;
  position: relative;
}
.page_time-Edit-line .time-Edit-line > li {
  padding-left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.time-Edit-line > li:before, .time-Edit-line > li:after {
  content: " ";
  display: table;
}
.time-Edit-line > li:after {
  clear: both;
}
.time-Edit-line > li:before, .time-Edit-line > li:after {
  content: " ";
  display: table;
}
.time-Edit-line > li:after {
  clear: both;
}
.time-Edit-line > li > .time-Edit-line-panel {
  width: 46%;
  border-radius: 2px;
  padding: 20px;
  position: relative;
  background-color: #fff;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin-left: 2.1rem;
}
.time-Edit-line > li:nth-child(even) > .time-Edit-line-panel {
  background-color: #eaeaea;
}
.time-Edit-line > li > .time-Edit-line-panel:after {
  position: absolute;
  top: 12px;
  right: -14px;
  display: inline-block;
  border-top: 14px solid transparent;
  border-left: 14px solid #fff;
  border-right: 0 solid #fff;
  border-bottom: 14px solid transparent;
  content: " ";
}
.time-Edit-line > li:nth-child(even) > .time-Edit-line-panel:after {
  border-left: 0 solid #eaeaea;
  border-right: 14px solid #eaeaea;
}
.time-Edit-line > li > .time-Edit-line-badge {
  color: #565656;
  width: 50px;
  height: 50px;
  line-height: 50px;
  font-size: 2.24rem;
  text-align: center;
  position: relative;
  background-color: #fff;
  z-index: 100;
  border-top-right-radius: 50%;
  border-top-left-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  font-family: "Roboto", sans-serif; /* テーマの英語フォントに合わせる */
  border: 2px #565656 solid;
  font-weight: 700;
}
.time-Edit-line > li.time-Edit-line-inverted > .time-Edit-line-panel:before {
  border-left-width: 0;
  border-right-width: 15px;
  left: -15px;
  right: auto;
}
.time-Edit-line > li.time-Edit-line-inverted > .time-Edit-line-panel:after {
  border-left-width: 0;
  border-right-width: 14px;
  left: -14px;
  right: auto;
}
.time-Edit-line-badge.primary {
  background-color: #444 !important;
}
.time-Edit-line-badge.success {
  background-color: #666 !important;
}
.time-Edit-line-badge.warning {
  background-color: #888 !important;
}
.time-Edit-line-badge.danger {
  background-color: #aaa !important;
}
.time-Edit-line-badge.info {
  background-color: #222 !important;
}
#main h4.time-Edit-line-title {
  padding-left: 0;
  padding-right: 0;
}
.time-Edit-line-title {
  margin-top: 0;
  color: inherit;
}
.time-Edit-line-body > p, .time-Edit-line-body > ul {
  margin-bottom: 0;
}
.time-Edit-line-body > p + p {
  margin-top: 5px;
}
ul.time-Edit-line:before {
  left: 25px;
}
ul.time-Edit-line > li > .time-Edit-line-panel:before {
  border-left-width: 0;
  border-right-width: 15px;
  left: -15px;
  right: auto;
}
ul.time-Edit-line > li > .time-Edit-line-panel:after {
  border-left-width: 0;
  border-right-width: 14px;
  left: -14px;
  right: auto;
}
.time-Edit-line {
  list-style: none;
}
.time-Edit-line > li {
  margin-bottom: 60px;
}
.page_time-Edit-line .time-Edit-line > li {
  margin-bottom: 0;
}
.time {
  font-size: 1.96rem;
  font-weight: bold;
}
.time-Edit-line-heading h3 {
  font-weight: 700;
  font-size: 1.68rem;
  color: #000;
  letter-spacing: 0.14rem;
  margin-bottom: 1.4rem;
}
@media screen and (min-width: 1200px) {
  .page_time-Edit-line {
    padding-top: 2.8rem;
  }
  ul.time-Edit-line:before {
    left: 31px;
  }
  .time-Edit-line > li > .time-Edit-line-badge {
    width: 60px;
    height: 60px;
    line-height: 60px;
    font-size: 2.8rem;
  }
  .time-Edit-line > li > .time-Edit-line-panel {
    padding: 30px;
  }
  .time-Edit-line-heading h3 {
    font-size: 1.96rem;
  }
  .time-Edit-line-body > p {
    font-size: 1.54rem;
  }
}
/* for Desktop */
@media (min-width: 640px) {
  .time-Edit-line > li {
    overflow: hidden;
    margin: 0;
    position: relative;
  }
}
@media screen and (max-width: 639px) {
  .time-Edit-line > li {
    padding-left: 20px;
  }
}
/****** 上下左右中央にアイコンとテキスト ******/
.sun_like_flow {
  background-color: #fff;
  border: 2px #000 solid;
  padding: 0 5% 5% 5%;
  width: 100%;
}
.slh1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 100px;
}
.slf_icon {
  width: 55px;
  height: 55px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 2.52rem;
  background-color: #000;
  color: #fff;
  border-radius: 50%;
  font-weight: bold;
}
.slh_h2 {
  width: 100%;
}
h2.slh_h2 {
  font-size: 1.68rem;
  font-weight: bold;
  margin-bottom: 1.68rem;
}
@media screen and (min-width: 768px) {
  .sun_like_flow {
    padding: 5% 5% 5% 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .slh1 {
    min-width: 150px;
    min-height: auto;
  }
  .slf_icon {
    width: 70px;
    height: 70px;
    font-size: 3.36rem;
  }
  .slh_h2 {
    width: auto;
  }
  .slh2 p:last-child {
    margin-bottom: 0;
  }
  h2.slh_h2 {
    font-size: 1.96rem;
    font-weight: bold;
  }
}
@media screen and (min-width: 1200px) {
  .sun_like_flow {
    padding: 2.8rem 5% 2.8rem 0;
  }
}
/****** 左側アイコンが被るリスト ******/
.List_covered_icon {
  width: 100%;
}
.List_covered_icon li {
  list-style: none;
  margin-bottom: 1.4rem;
  position: relative;
  background-color: #f7f7f7;
  border: 2px #000 solid;
  display: block;
  padding: 2.8rem 2.1rem 1.4rem 40px;
  width: calc(100% - 30px);
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .List_covered_icon li {
    padding: 2.8rem 2.1rem 1.4rem 50px;
  }
}
/* icon */
.el_icon {
  width: 60px;
  height: 60px;
  background-color: #ffd52b;
  border: 2px #000 solid;
  position: absolute;
  left: -30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  text-align: center;
  border-radius: 50%;
}
.el_icon > span {
  line-height: 58px;
  font-size: 2.24rem;
  font-weight: bold;
}
.el_icon img {
  max-width: 100%;
}
/* text */
.List_covered_icon li h3 {
  font-weight: 700;
  font-size: 1.68rem;
  margin-bottom: 1.4rem;
}
.List_covered_icon li p {
  font-size: 1.26rem;
  letter-spacing: 0.07rem;
}
@media screen and (min-width: 768px) {
  .List_covered_icon li p {
    font-size: 1.4rem;
  }
}
/*+++++++++++++++++
ボタン
******************/
/****** 上下左右中央にアイコンとテキストボタン ******/
.sun_like_btn {
  width: 100%;
}
.sun_like_btn a {
  background-color: #fff;
  border: 2px #000 solid;
  padding: 0 5% 5% 5%;
  width: 100%;
  color: #000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.sun_like_btn a:hover {
  text-decoration: none;
  background-color: #000;
  color: #fff;
}
.slh1_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 100px;
  width: 100%;
}
.slf_btn_icon {
  width: 55px;
  height: 55px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 2.52rem;
  background-color: #000;
  color: #fff;
  border-radius: 50%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.sun_like_btn a:hover .slf_btn_icon {
  background-color: #fff;
  color: #000;
}
.slh2_btn {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
}
h2.slh_h2_btn {
  font-size: 1.68rem;
  font-weight: bold;
  margin-bottom: 1.68rem;
}
.slf_btn_txt {
  padding-top: 1.4rem;
  margin-top: 1.4rem;
  border-top: 1px #aaa solid;
  text-align: right;
  font-weight: bold;
}
.slf_btn_txt i {
  padding-right: 0.5rem;
}
@media screen and (min-width: 768px) {
  .sun_like_btn a {
    padding: 5% 5% 5% 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .slh1_btn {
    width: auto;
    min-width: 150px;
    min-height: auto;
  }
  .slf_btn_icon {
    width: 70px;
    height: 70px;
    font-size: 3.36rem;
  }
  .slh2_btn {
    width: auto;
  }
  .slh2_btn p:last-child {
    margin-bottom: 0;
  }
  h2.slh_h_btn2 {
    font-size: 2.24rem;
    font-weight: bold;
  }
}
@media screen and (min-width: 1200px) {
  .sun_like_btn a {
    padding: 2.8rem 5% 2.8rem 0;
  }
}
/****** sun_list ******/
.sun_list {
  width: 90%;
  margin-right: auto;
  margin-left: auto;
  display: block;
}
.sun_list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.sun_list li {
  list-style: none;
  width: 49%;
  margin: 1% 0;
}
@media screen and (min-width: 1200px) {
  .sun_list {
    width: 80%;
  }
  .sun_list li {
    width: 32.333%;
  }
}
/* no */
.sunli_no {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  -webkit-box-flex: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
}
.sunli_no div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.sunli_no div > span {
  color: #fff;
  font-family: "Roboto", sans-serif; /* テーマの英語フォントに合わせる */
  letter-spacing: 0.35rem;
  font-size: 1.54rem;
  text-align: center;
  display: block;
  line-height: 1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.sunli_no div > span > span {
  color: #949495;
  font-size: 0.84rem;
  display: block;
  line-height: 1;
  letter-spacing: 0.07rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .sunli_no {
    width: 200px;
  }
}
@media screen and (min-width: 992px) {
  .sunli_no div {
    width: 65px;
    height: 65px;
  }
  .sunli_no div > span {
    letter-spacing: 0.28rem;
    font-size: 2.1rem;
  }
  .sunli_no div > span > span {
    font-size: 0.98rem;
  }
}
/* con */
.sunli_con {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.sunli_con > div:first-child {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}
.sunli_con h3 {
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.6;
  margin-top: 1.4rem;
  width: 100%;
}
.sunli_con h3 span {
  font-family: "Roboto", sans-serif; /* テーマの英語フォントに合わせる */
  color: #efb507;
  font-size: 0.98rem;
  display: block;
  letter-spacing: 0.392rem;
  margin-left: -5px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.sunli_con p {
  font-size: 1.12rem;
  width: 100%;
}
.bt_li_con {
  text-decoration: none;
  display: block;
  text-align: right;
  font-family: "Roboto", sans-serif; /* テーマの英語フォントに合わせる */
  position: relative;
  font-size: 0.98rem;
  letter-spacing: 0.042rem;
  width: 100%;
  padding-top: 1.4rem;
  border-top: 1px solid #aaa;
  -webkit-box-flex: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
}
.bt_li_con i {
  padding-right: 0.98rem;
}
@media screen and (min-width: 992px) {
  .sunli_con h3 {
    font-size: 1.68rem;
  }
  .sunli_con h3 span {
    font-size: 1.12rem;
    letter-spacing: 0.07rem;
    margin-left: -7px;
  }
  .sunli_con p {
    font-size: 1.4rem;
    margin-bottom: 2.1rem;
  }
  .bt_li_con {
    padding-top: 2.1rem;
    font-size: 1.26rem;
    letter-spacing: 0.168rem;
  }
}
/* a */
.sun_list li a {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1.4rem;
  text-decoration: none;
  color: #000;
  border: 4px solid #000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 100%;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.sun_list li a:hover {
  text-decoration: none;
  background-color: #000;
  color: #fff;
}
.sun_list li a:hover .sunli_no div {
  background-color: #fff;
}
.sun_list li a:hover .sunli_no div > span {
  color: #000;
}
.sun_list li a:hover .sunli_no div > span > span {
  color: #c9caca;
}
.sun_list li a:hover .sunli_con h3 span {
  color: #c9caca;
}
@media screen and (min-width: 768px) {
  .sun_list li a {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    padding: 1.4rem 7% 2.1rem 1%;
  }
}
/*+++++++++++++++++
Q&A 
******************/
.cp_qa *, .cp_qa *:after, .cp_qa *:before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.cp_qa {
  overflow-x: hidden;
  margin: 0 auto;
  background-color: #ebebec;
  padding: 1.68rem 1.68rem 0.28rem;
  margin-bottom: 7rem;
}
.cp_qa .cp_actab {
  padding: 0 0 1.4rem;
}
.cp_qa .cp_actab p {
  margin-bottom: 0;
}
.cp_qa label {
  font-size: 1.54rem;
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 20px 50px 20px 50px;
  cursor: pointer;
  background-color: #fff;
  color: #000;
  position: relative;
}
.cp_qa .cp_actab-content {
  font-size: 1.4em;
  position: relative;
  overflow: hidden;
  height: 0;
  padding: 0 54px;
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
  opacity: 0;
}
.cp_qa .cp_actab input[type="checkbox"]:checked ~ .cp_actab-content {
  height: auto;
  padding: 24px 54px;
  opacity: 1;
  background-color: #fff;
}
.cp_qa .cp_plus {
  font-size: 2.66rem;
  line-height: 100%;
  position: absolute;
  z-index: 5;
  margin: 20px 0 0 15px;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  color: #000;
  top: 0;
  left: 0;
}
.cp_qa .cp_actab input[type="checkbox"] {
  display: none;
}
/* faqtgl */
.faqTgl {
  position: absolute;
  display: block;
  width: 50px;
  height: 66px;
  top: 0;
  right: 0;
}
.faqTgl span {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  left: 30%;
  width: 40%;
  border-bottom: 1px solid #777;
  transition: -webkit-transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.faqTgl::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  left: 32%;
  width: 40%;
  border-bottom: 1px solid #777;
  transition: -webkit-transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
.faqTgl_wrap:checked + label .faqTgl span {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.faqTgl_wrap:checked + label .faqTgl::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
/*+++++++++++++++++
枠付きリスト
******************/
.waku_list {
  display: block;
  border: 4px #222 solid;
  padding: 2.1rem 5% 1.4rem;
  background-color: #fbfbfb;
  margin-bottom: 5.6rem;
}
.waku_list li {
  list-style: none;
  padding-left: 1.68rem;
  position: relative;
  margin-bottom: 0.7rem;
  line-height: 1.5;
  font-weight: bold;
}
.waku_list li::before {
  content: "\f111";
  font-family: "Font Awesome 5 free";
  font-size: 0.98rem;
  position: absolute;
  top: 0.42rem;
  left: 0;
}
@media screen and (min-width: 768px) {
  .waku_list {
    padding: 4.2rem 5% 3.5rem;
  }
}
/* =============================================== */
/* PAGE COMPANY  */
.p-company__bottom {
  padding: 134px 0;
}
.p-company__bottom-item + .p-company__bottom-item {
  margin-top: 130px;
}
@media screen and (max-width: 991px) {
  .p-company__bottom {
    padding-bottom: 0;
  }
  /* COMPANY ACCESS */
  .p-company__access {
    width: 100vw;
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 767px) {
  .p-company__bottom {
    padding-top: 60px;
  }
  .p-company__bottom-item + .p-company__bottom-item {
    margin-top: 50px;
  }
}
/* =============================================== */
/* PAGE SECTION 1 */
.p-section1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-section1 img.map-img {
  display: block;
  width: 700px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-bottom: 12px;
}
.p-section1 .c-section-info {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-left: 4.8%;
}
.p-section1 .c-section-info .c-title1 {
  margin-bottom: 58px;
}
.p-section1 .c-section-info .c-text--big {
  margin-bottom: 34px;
}
.p-section1 .c-section-info .c-text {
  max-width: 650px;
}
.p-section1 .c-section-info .c-text + .c-text {
  margin-top: 30px;
}
.p-section1 .c-section-info img.c-text-author {
  display: block;
  width: 233px;
  margin-top: 44px;
  margin-left: 2px;
}
@media screen and (max-width: 1300px) {
  .p-section1 img.map-img {
    width: 500px;
  }
  .p-section1 .c-section-info {
    padding-left: 5%;
  }
}
@media screen and (max-width: 991px) {
  .p-section1 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .p-section1 img.map-img {
    margin: 50px auto 0;
    width: 100%;
    max-width: 800px;
  }
  .p-section1 .c-section-info {
    width: 100%;
    text-align: center;
    padding-left: 0;
  }
  .p-section1 .c-section-info .c-title1 {
    margin-bottom: 25px;
  }
  .p-section1 .c-section-info .c-text, .p-section1 .c-section-info img.c-text-author {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-section1 .c-section-info .c-title1, .p-section1 .c-section-info .c-text--big {
    margin-bottom: 15px;
  }
  .p-section1 .c-section-info .c-text + .c-text {
    margin-top: 15px;
  }
  .p-section1 .c-section-info img.c-text-author {
    width: 200px;
    margin-top: 15px;
  }
  .p-section1 img.map-img {
    margin-top: 30px;
  }
}
/* =============================================== */
/* PAGE SECTION 2 */
.p-section2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.p-section2 .p-section2__fixed {
  min-width: 340px;
  width: 31%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding-right: 5%;
}
.p-section2 .p-section2__expand {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.p-section2 .bottom-text {
  margin-top: 30px;
  margin-bottom: 0;
}
@media screen and (max-width: 991px) {
  .p-section2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .p-section2 .p-section2__fixed {
    min-width: unset;
    width: 100%;
    padding-right: 0;
    text-align: center;
    margin-bottom: 30px;
  }
  .p-section2 .p-section2__expand {
    width: 100%;
  }
  .p-section2 .bottom-text {
    margin-top: 10px;
  }
}
/* =============================================== */
/* BUSINESS */
.p-business__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-top: -30px;
}
.p-business__wrapper .c-infor-nav {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-right: 6%;
  position: sticky;
  top: 100px;
  padding-left: 15px;
  padding-top: 30px;
}
.p-business__content .p-section3 {
  padding-top: 30px;
}
.p-business__content .p-section3 + .p-section3 {
  margin-top: 80px;
}
.p-business .c-text--bg {
  margin-top: 105px;
}
@media screen and (max-width: 991px) {
  .p-business__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    margin-top: 0;
  }
  .p-business__wrapper .c-infor-nav {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .p-business__wrapper .c-infor-nav {
    margin-bottom: 30px;
  }
  .p-business__content .p-section3 {
    padding-top: 0;
  }
  .p-business__content .p-section3 + .p-section3 {
    margin-top: 40px;
  }
  .p-business .c-text--bg {
    margin-top: 50px;
  }
}
/* =============================================== */
/* PAGE SECTION 3 */
.p-section3__content {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.p-section3__content-img {
  display: block;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 44%;
  height: 400px;
  margin-right: 6.8%;
}
.p-section3__content-text {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.p-section3 .c-title2 {
  margin-bottom: 30px;
}
.p-section3__content .c-text {
  max-width: 615px;
  margin-bottom: 26px;
}
.p-section3__content .c-link1 {
  width: 100%;
  max-width: 300px;
}
@media screen and (max-width: 767px) {
  .p-section3__content {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .p-section3__content-img {
    width: 100%;
    height: 300px;
    margin-right: 0;
    margin-bottom: 20px;
  }
  .p-section3__content-text {
    width: 100%;
  }
  .p-section3 .c-title2 {
    margin-bottom: 20px;
  }
  .p-section3__content .c-text {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 576px) {
  .p-section3__content-img {
    height: 230px;
  }
  .p-section3__content .c-link1 {
    max-width: unset;
  }
}
/* =============================================== */
/* RECRUIT */
.p-recruit {
  overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  .p-recruit .c-title1 .f-eng {
    margin-bottom: 5px;
  }
}
.p-recruit__message, .p-recruit__recruitment {
  color: #fff;
}
.p-recruit__message {
  position: relative;
}
.p-recruit__message-logo {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: auto;
  height: 106%;
  z-index: -1;
}
.p-recruit__message .c-title1 {
  margin-bottom: 60px;
}
.p-recruit__message .c-text--big {
  margin-bottom: 0px;
}
.p-recruit__message .c-text--eng {
  margin-bottom: 42px;
}
.p-recruit__message .c-text + .c-text {
  margin-top: 30px;
}
.p-recruit__message .c-btn2 {
  margin-top: 58px;
}
/* RECRUITMENT */
.p-recruit__recruitment {
  padding-bottom: 188px;
}
.p-recruit__recruitment .c-title1 {
  margin-bottom: 70px;
}
.p-recruit__recruitment .c-list1 li {
  padding: 27px 0;
}
/* ENTRY */
.p-recruit__entry {
  background-color: #fff;
  padding-bottom: 118px;
}
.p-recruit__entry .c-title1 {
  margin-bottom: 50px;
}
.p-recruit__entry .p-recruit__form {
  margin-top: 65px;
}
@media screen and (max-width: 767px) {
  .p-recruit__message-logo {
    width: 120vw;
    height: auto;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
  }
  .p-recruit__message .c-title1 {
    margin-bottom: 15px;
  }
  .p-recruit__message .c-text--eng {
    margin-bottom: 25px;
  }
  .p-recruit__message .c-text + .c-text {
    margin-top: 0;
  }
  .p-recruit__message .c-btn2 {
    margin-top: 30px;
  }
  /* RECRUITMENT */
  .p-recruit__recruitment {
    padding-bottom: 70px;
  }
  .p-recruit__recruitment .c-title1 {
    margin-bottom: 30px;
  }
  .p-recruit__recruitment .c-list1 li {
    padding: 20px 0;
  }
  /* ENTRY */
  .p-recruit__entry {
    padding-bottom: 60px;
  }
  .p-recruit__entry .c-title1 {
    margin-bottom: 30px;
  }
}
/* =============================================== */
/* =============================================== */
/*+++++++++++++++++
プライバシーポリシー
******************/
.privacy-area {
  margin-bottom: 7rem;
}
@media screen and (min-width: 768px) {
  .privacy-area {
    margin-bottom: 10rem;
  }
}
#main h2.privacy-main-txt {
  background: none;
  padding: 0;
  border-left: none;
  text-align: center;
  margin-bottom: 25px;
  line-height: normal;
}
#main h2.privacy-main-txt span.f-eng {
  display: block;
  font-size: 7rem;
  margin-bottom: 8px;
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  letter-spacing: 0.035em;
  color: #000;
  text-transform: uppercase;
}
#main h2.privacy-main-txt span.small-txt {
  color: #808080;
  line-height: normal;
  letter-spacing: 0.086em;
  font-size: 1rem;
}
.privacy-main-txt2 {
  margin-bottom: 50px;
}
#main h3.privacy_h3 {
  background: none;
  padding: 0;
  margin-bottom: 20px;
  color: #000;
  font-weight: 700;
  border-bottom: 1px solid #bfbfbf;
  padding-bottom: 10px;
  font-size: 1.8rem;
  letter-spacing: 0.02em;
}
#main h3.privacy_h3::after {
  display: none;
}
.privacy-con {
  margin-bottom: 50px;
}
.privacy-con-inner {
  margin-bottom: 20px;
}
.privacy-list {
  margin-left: 20px;
  margin-bottom: 15px
}
.privacy-list li {
  margin-left: 20px;
  list-style: disc;
}
.privacy-list li:first-child {
  list-style: none;
  margin-left: 0;
}
@media screen and (min-width: 992px) {
  #main h2.privacy-main-txt {
    margin-bottom: 54px;
  }
  .privacy-main-txt2 {
    margin-bottom: 80px;
  }
  .privacy-con {
    margin-bottom: 60px;
  }
}
.indices {
  margin-left: 20px;
}
.indices li {
  list-style: none;
  padding-left: 1.3em;
  text-indent: -1.3em;
  margin-bottom: 10px;
}
.indices li.annotation {
  padding-left: 2.9em;
  text-indent: -2.9em;
  margin-bottom: 5px;
}
.indices li:last-child {
  margin-bottom: 0;
}
/************************
/*FORM(お問い合わせフォーム)
************************/
.contact_container {
  width: 92%;
  max-width: 800px;
  margin: 0 auto 6rem;
}
@media screen and (min-width: 1200px) {
  .contact_container {
    margin-bottom: 12rem;
  }
}
/* ========================================================== */
input[type="button"], input[type="text"], input[type="submit"], input[type="image"], textarea {
  -webkit-appearance: none;
  border-radius: 0;
}
/* FORM MODEL */ ::-webkit-input-placeholder {
  /* WebKit, Blink, Edge */
  color: #919191;
  letter-spacing: 0.1em;
  font-family: inherit;
}
:-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  color: #919191;
  letter-spacing: 0.1em;
  opacity: 1;
  font-family: inherit;
}
::-moz-placeholder {
  /* Mozilla Firefox 19+ */
  color: #919191;
  letter-spacing: 0.1em;
  opacity: 1;
  font-family: inherit;
}
:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: #919191;
  letter-spacing: 0.1em;
  font-family: inherit;
}
::-ms-input-placeholder {
  /* Microsoft Edge */
  color: #919191;
  letter-spacing: 0.1em;
  font-family: inherit;
}
::placeholder {
  /* Most modern browsers support this now. */
  color: #919191;
  letter-spacing: 0.1em;
  font-family: inherit;
}
.form-wrapper {
  max-width: 800px;
  width: 100%;
  margin: 100px auto;
}
#form-contact_normal .form-group_namebox {
  display: flex;
  justify-content: space-between;
}
#form-contact_normal .form-group_namebox .form-group {
  width: 48%;
}
#form-contact_normal .form-group {
  margin-bottom: 33px;
}
#form-contact_normal .form-group--break {
  margin-bottom: 62px;
}
#form-contact_normal .form-group--last {
  margin-bottom: 0;
}
#form-contact_normal .form-item {
  display: inline-block;
  margin-right: 48px;
}
#form-contact_normal .form-item:last-child {
  margin-right: 0;
}
#form-contact_normal input, #form-contact_normal textarea, #form-contact_normal select, #form-contact_normal .form-label {
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 23px;
  color: #000000;
}
#form-contact_normal .form-label, #form-contact_normal .form-label {
  margin-bottom: 14px;
}
#form-contact_normal .form-item .form-label {
  margin-bottom: 0;
}
#form-contact_normal input, #form-contact_normal textarea, #form-contact_normal select {
  display: block;
  width: 100%;
  border: none;
  outline: none;
  resize: none;
  margin: 0;
  padding: 34px 30px;
  background-color: #f4f4f4;
}
#form-contact_normal textarea {
  padding-bottom: 16px;
}
#form-contact_normal input[type="checkbox"], #form-contact_normal input[type="radio"] {
  width: auto;
  display: inline-block;
}
#form-contact_normal .wpcf7-form-control-wrap {
  display: block;
}
#form-contact_normal .wpcf7-form-control-wrap + .wpcf7-form-control-wrap {
  margin-top: 10px;
}
#form-contact_normal input[type="submit"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 250px;
  height: 70px;
  margin-left: auto;
  margin-right: auto;
  letter-spacing: 0.1em;
  font-weight: 700;
  background-color: #a9d11e;
  color: #fff;
  border-radius: 35px;
  padding: 0;
  margin-top: 63px;
}
#form-contact_normal input.form-input--half {
  max-width: 430px;
}
#form-contact_normal .form-imp__icon {
  color: #c50000;
  margin-left: 6px;
}
#form-contact_normal .form-p {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 28px;
}
/* CUSTOM CHECKBOX */
#form-contact_normal .form-input__checkbox {
  margin-bottom: 0;
}
#form-contact_normal .form-input__checkbox label {
  cursor: pointer;
}
#form-contact_normal .form-input__checkbox input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
/* Create a custom checkbox */
#form-contact_normal .form-input__checkbox .wpcf7-list-item.first, #form-contact_normal .form-input__checkbox .wpcf7-list-item.last {
  margin-left: 0;
}
#form-contact_normal .form-input__checkbox .wpcf7-list-item.first {
  margin-right: 52px;
}
#form-contact_normal .form-input__checkbox .wpcf7-list-item.last {
  margin-left: 52px;
}
#form-contact_normal .form-input__checkbox .wpcf7-list-item-label {
  position: relative;
  padding-left: 56px;
  line-height: 40px;
  padding-top: 0;
}
#form-contact_normal .form-input__checkbox--round .wpcf7-list-item-label {
  border-radius: 50%;
  padding-left: 53px;
  line-height: 35px;
  padding-top: 0;
}
#form-contact_normal .form-input__checkbox .wpcf7-list-item-label::before, #form-contact_normal .form-input__checkbox .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  border-radius: inherit;
  transition: 0.2s;
}
#form-contact_normal .form-input__checkbox .wpcf7-list-item-label::before {
  top: -9px;
  left: 0;
  display: block;
  height: 40px;
  width: 40px;
  background-color: #f5f5f5;
}
#form-contact_normal .form-input__checkbox--round .wpcf7-list-item-label::before {
  width: 35px;
  height: 35px;
  top: 50%;
  left: 0;
  transform: translate(0%, -50%);
}
#form-contact_normal .form-input__checkbox .wpcf7-list-item-label::after {
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  opacity: 0;
  background-color: #000;
}
#form-contact_normal .form-input__checkbox--round .wpcf7-list-item-label::after {
  left: 12.5px;
  top: 50%;
}
#form-contact_normal .form-input__checkbox input:checked ~ .wpcf7-list-item-label::after {
  opacity: 1;
}
@media screen and (max-width: 576px) {
  #form-contact_normal input, #form-contact_normal textarea, #form-contact_normal select, #form-contact_normal .form-label {
    font-size: 1.3rem;
  }
  #form-contact_normal input, #form-contact_normal textarea, #form-contact_normal select {
    padding: 25px;
  }
  #form-contact_normal input[type="submit"] {
    max-width: unset;
    padding-top: 18.5px;
    padding-bottom: 18.5px;
    font-size: 1.2rem;
  }
  #form-contact_normal .form-group {
    margin-bottom: 25px;
  }
  #form-contact_normal .form-group--break {
    margin-bottom: 38px;
  }
  #form-contact_normal .form-group--last {
    margin-bottom: 0;
  }
  #form-contact_normal input + input {
    margin-top: 5px;
  }
  #form-contact_normal textarea {
    padding-bottom: 8px;
  }
  #form-contact_normal .form-label {
    margin-bottom: 5px;
  }
  #form-contact_normal .form-item:last-child {
    margin-top: 4px;
  }
  /* CUSTOM CHECKBOX */
  #form-contact_normal .form-input__checkbox .wpcf7-list-item-label {
    line-height: 30px;
    padding-left: 40px;
    padding-top: 0;
  }
  #form-contact_normal .form-input__checkbox .wpcf7-list-item-label::before {
    width: 30px;
    height: 30px;
    top: 50%;
    left: 0;
    transform: translate(0%, -50%);
  }
  #form-contact_normal .form-input__checkbox .wpcf7-list-item-label::after {
    left: 10px;
    width: 8px;
    height: 8px;
  }
  #form-contact_normal .form-input__checkbox--round .wpcf7-list-item-label {
    padding-top: 0;
  }
  #form-contact_normal .form-input__checkbox--round .wpcf7-list-item-label::after {
    left: 11px;
  }
  #form-contact_normal .form-input__checkbox .wpcf7-list-item.first {
    margin-bottom: 5px;
  }
  #form-contact_normal .form-input__checkbox .wpcf7-list-item.first.last {
    margin-left: auto;
    margin-right: auto;
  }
  .wpcf7-list-item {
    margin: 5px 0 0 0 !important;
  }
  #form-contact_normal .form-input__checkbox .wpcf7-list-item.last {
    margin-left: 20px !important;
  }
  #form-contact_normal .form-label--mb1 {
    margin-bottom: 15px;
  }
  #form-contact_normal .form-p {
    font-size: 1.3rem;
  }
} /***************************
/* 無料相談
***************************/
.pg_s_block {
  width: 84%;
  margin: 0 auto 4rem;
}
.pg_s_unit01 {
  margin-bottom: 6rem;
}
.pg_s_title {
  margin-bottom: 3rem;
  font-size: 1.5rem;
}
.pg_s_title span {
  display: block;
  font-weight: 400;
  font-size: 4.5rem;
  letter-spacing: 0.05em;
}
.pg_s_txt1 {
  font-size: 1.3rem;
  line-height: 25px;
  font-weight: 700;
  margin-bottom: 7rem;
  text-align: justify;
  margin-top: 3rem;
}
.pg_s_txt_outer {
  position: relative;
  padding: 5rem 0 2rem;
  border: 1px solid #C7C7C7;
}
.pg_s_txt2 {
  display: inline-block;
  background-color: #fff;
  width: 70%;
  letter-spacing: 0.1em;
  margin-bottom: 1rem;
  font-weight: 600;
  color: #323232;
  text-align: center;
  font-size: 2rem;
  line-height: 1.4;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
.pg_s_txt3_box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.pg_s_txt3_box ul {
  display: inline-block;
}
.pg_s_txt3_box ul li {
  border-bottom: solid 1px #C7C7C7;
  margin-bottom: 1rem;
  position: relative;
  padding-left: 10px;
  font-weight: 500;
}
.pg_s_txt3_box ul li::before {
  content: "■";
  font-size: 6px;
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(-50%, -50%);
}
.pg_s_unit02 {
  height: 200px;
  margin-bottom: 3rem;
}
.pg_s_unit02 img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}
.pg_soudan_block02 {
  width: 84%;
  margin: 0 auto 4rem;
  max-width: 800px;
}
.pg_soudan_block02_form {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .pg_s_block {
    margin: 8rem auto;
  }
  .pg_s_title {
    font-size: 2.2rem;
  }
  .pg_s_title span {
    font-size: 8rem;
  }
  .pg_s_txt1 {
    font-size: 1.6rem;
    line-height: 36px;
    margin-bottom: 7rem;
  }
  .pg_s_txt2 {
    font-size: 3rem;
    width: 85%;
  }
  .pg_s_txt3_box ul li {
    font-size: 1.6rem;
  }
  .pg_s_unit02 {
    height: 350px;
  }
  .pg_soudan_block02 {
    margin-bottom: 8rem;
  }
}
@media screen and (min-width: 992px) {
  .pg_s_block {
    display: flex;
    width: 90%;
    max-width: 1460px;
  }
  .pg_s_unit01 {
    width: 50%;
    order: 2;
  }
  .pg_s_txt2 {
    font-size: 2rem;
  }
  .pg_s_unit02 {
    width: 40%;
    order: 1;
    margin-right: 5%;
    height: auto;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1200px) {
  .pg_s_block {
    margin: 0 auto 10rem;
  }
  .pg_s_unit01 {
    width: 45%;
    margin-left: 5%;
    order: 2;
  }
  .pg_s_title {
    margin-bottom: 6rem;
  }
  .pg_s_title span {
    font-size: 10rem;
  }
  .pg_s_txt1 {
    margin-top: 5rem;
    margin-bottom: 7rem;
    letter-spacing: 0.1em;
    font-size: 1.8rem;
    line-height: 1.6;
  }
  .pg_s_txt_outer {
    width: 85%;
  }
  .pg_s_txt3_box ul li {
    margin-bottom: 1.5rem;
  }
  .pg_s_unit02 {
    width: 45%;
  }
  .pg_soudan_block02 {
    margin-bottom: 12rem;
  }
}