@charset "utf-8";
/* --------------------------------------------------
custom properties
-------------------------------------------------- */
:root {
  --font_mincyo: "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  --font_gothic: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Hiragino Sans", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  --font_en: 'Tiro Tamil', "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  --bg_dark_color: #1D7E23;
  --bg_light_color: #F7F5F4;
  --main_dark_color: #2F2F38;
}
/* --------------------------------------------------
 contents
-------------------------------------------------- */
.contents_wrap{
  padding-left: 20px;
  padding-right: 20px;
}
.contents_inner{
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}
.box_bg_gray{
  background: var(--bg_light_color);
}
.box_boreder_gray{
  border: 1px solid #ccc;
}
.section_wrap:last-child{
  margin-bottom: 0;
}
@media print, screen and (min-width:768px){
  #contents{
    padding-bottom: 140px;
  }
  .contents_block{
    padding-left: 60px;
  }
  .main_contents{
    padding-top: 60px;
    background: url(/corporate/common/images/bg_h1_pc.png) top left no-repeat;
  }
  .section_wrap{
    margin-bottom: 60px;
  }
  .box_bg_gray{
    padding: 40px;
  }
  .box_boreder_gray{
    padding: 30px;
  }
}
@media screen and (max-width:767px){
  #contents{
    padding-bottom: 100px;
  }
  .main_contents{
    padding-top: 50px;
    background: url(/corporate/common/images/bg_h1_sp.png) top right no-repeat;
  }
  .section_wrap{
    margin-bottom: 50px;
  }
  .box_bg_gray,
  .box_boreder_gray{
    padding: 20px;
  }
}

/* --------------------------------------------------
 ttl
-------------------------------------------------- */
.ttl_01 .ttl{
  position: relative;
  font-family: var(--font_mincyo);
  line-height: 1.35;
}
.ttl_01 .sub{
  font-family: var(--font_en);
  line-height: 1.125;
  letter-spacing: 0.05em;
}
.ttl_01 .ttl::before,
.ttl_01 .ttl::after{
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 34px;
  height: 1px;
  background-color: var(--bg_dark_color);
}
.ttl_01 .ttl::after{
  top: 4px;
}
.ttl_02 .ttl{
  position: relative;
  font-family: var(--font_mincyo);
}
.ttl_02 .ttl::before{
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 1px;
  background-color: var(--bg_dark_color);
}
.ttl_01_block .ttl_01,
.ttl_02_block .ttl_02{
  margin-bottom: 0;
}
.ttl_01_block .lead{
  letter-spacing: 0.1em;
}
.ttl_solid_green,
.ttl_top_line,
.ttl_btm_line,
.ttl_drk_green{
  font-family: var(--font_mincyo);
}
.ttl_solid_green{
  background: url(/corporate/common/images/bg_green_title.png) right center/ contain no-repeat var(--bg_dark_color) ;
  color: #fff;
  line-height: 1.4;
}
.ttl_top_line{
  position: relative;
}
.ttl_top_line::before{
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 1px;
  background-color: var(--bg_dark_color);
}
.ttl_btm_line{
  border-bottom: 1px solid #014844;
  margin-bottom: 30px;
}
.ttl_drk_green{
  color: var(--bg_dark_color);
}
.ttl_dot_front{
  font-weight: bold;
  font-size: 1.4rem;
  padding-left: 21px;
  text-indent: -21px;
}
.ttl_dot_front::before{
  content: "●";
  color: var(--bg_dark_color);
  padding-right: 5px;
}
@media print, screen and (min-width:768px){
  .ttl_01{
    margin-bottom: 60px;
  }
  .ttl_01 .ttl{
    padding-top: 25px;
    font-size: 4.4rem;
  }
  .ttl_01 .sub{
    padding-bottom: 14px;
    font-size: 2rem;
  }
  .ttl_02 .ttl{
    padding-top: 15px;
    font-size: 2.4rem;
  }
  .ttl_01_block{
    margin-bottom: 60px;
  }
  .ttl_01_block .lead{
    margin-top: 0.5em;
    line-height: 2.125;
  }
  .ttl_solid_green{
    font-size: 2.8rem;
    padding: 30px;
    margin-bottom: 50px;
  }
  .ttl_top_line{
    font-size: 2.4rem;
    padding-top: 15px;
    margin-bottom: 40px;
  }
  .ttl_btm_line{
    line-height: 1.9;
    font-size: 2.2rem;
    padding-bottom: 20px;
  }
  .ttl_drk_green{
    font-size: 2.0rem;
    margin-bottom: 30px;
  }
}
@media screen and (max-width:767px){
  .ttl_01{
    margin-bottom: 30px;
  }
  .ttl_01 .ttl{
    padding-top: 15px;
    font-size: 3.4rem;
  }
  .ttl_01 .sub{
    padding-bottom: 7px;
    font-size: 1.6rem;
  }
  .ttl_02 .ttl{
    padding-top: 10px ;
    font-size: 1.8rem;
  }

  .ttl_01_block{
    margin-bottom: 40px;
  }
  .ttl_01_block .lead{
    margin-top: 10px;
    font-size: 1.6rem;
    line-height: 1.875;
  }
  .ttl_solid_green{
    font-size: 2.0rem;
    padding: 20px 20px;
    margin-bottom: 30px;
  }
  .ttl_top_line{
    font-size: 1.8rem;
    padding-top: 10px;
    margin-bottom: 25px;
  }
  .ttl_btm_line{
    line-height: 1.6;
    font-size: 1.8rem;
    padding-bottom: 15px;
  }
  .ttl_drk_green{
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
}
/* --------------------------------------------------
 links
-------------------------------------------------- */
.btn_line,
.btn_solid {
  position: relative;
  text-align: center;
  font-family: var(--font_mincyo);
  transition: box-shadow 0.45s ease-in-out, color 0.3s ease-in-out;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn_line:before,
.btn_line:after {
  position: absolute;
  content: '';
  transition: all .3s;
  width: 100%;
  height: 70%;
}
.btn_line:before {
  left: 0px;
  top: 0px;
  border-top: 1px solid var(--bg_dark_color);
  border-left: 1px solid var(--bg_dark_color);
}
.btn_line:after {
  right: 0px;
  bottom: 0px;
  border-right: 1px solid var(--bg_dark_color);
  border-bottom: 1px solid var(--bg_dark_color);
}
.btn_line:hover:after,
.btn_line:hover:before {
  height: 100%;
}
.btn_solid{
  color: #fff;
  background: var(--bg_dark_color);
}
.icon_arrow:after,
.icon_target:after,
.icon_download:after,
.icon_arrow_back:after{
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  position: absolute;
}
.btn_line .icon_arrow:after,
.btn_line .icon_target:after,
.btn_line .icon_download:after,
.btn_solid .icon_arrow:after,
.btn_solid .icon_target:after{
  top: 50%;
  bottom: 50%;
  transform: translate(0, -50%);
  right: 25px;
}
.btn_line .icon_arrow_back:after{
  top: 50%;
  bottom: 50%;
  transform: translate(0, -50%);
  left: 25px;
}
.icon_arrow:after{
  background: url(/corporate/common/images/icon_round_arrow_02.svg) center / contain no-repeat;
}
.icon_target:after{
  background: url(/corporate/common/images/icon_round_blank_02.svg) center / contain no-repeat;
}
.icon_download:after{
  background: url(/corporate/common/images/icon_round_download_02.svg) center / contain no-repeat;
}
.icon_arrow_back:after{
  background: url(/corporate/common/images/icon_round_back_02.svg) center / contain no-repeat;
}
.btn_solid .icon_arrow:after{
  background: url(/corporate/common/images/icon_round_arrow_wh_02.svg) center / contain no-repeat;
}
.btn_solid .icon_target:after{
  background: url(/corporate/common/images/icon_round_blank_wh_02.svg) center / contain no-repeat;
}

.btn_type01,
.btn_type02,
.btn_type03,
.btn_center{
  display: flex;
  justify-content: center;
}
.btn_left{
  display: flex;
  justify-content: flex-start;
}
.btn_type01 .btn_line,
.btn_type01 .btn_solid,
.btn_type02 .btn_line,
.btn_type02 .btn_solid,
.btn_type03 .btn_line,
.btn_type03 .btn_solid,
.btn_center .btn_line,
.btn_center .btn_solid{
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn_type03 .btn_line,
.btn_type03 .btn_solid{
  justify-content: flex-start;
  text-align: left;
}

@media print, screen and (min-width:768px){
  .btn_line,
  .btn_solid {
    padding: 10px 70px 10px 35px;
    font-size: 1.8rem;
    min-width: 400px;
    min-height: 75px;
  }
  .btn_line.icon_left{
    padding-right: 35px;
    padding-left: 70px;
  }
  .btn_line:hover{
    box-shadow: 0 0 40px 40px var(--bg_dark_color) inset;
    color: #fff;
    opacity: 1;
  }
  .btn_solid:hover{
    box-shadow: 0 0 40px 40px #fff inset;
    color: var(--bg_dark_color);
    opacity: 1;
  }
  .btn_solid:hover:before,
  .btn_solid:hover:after {
    position: absolute;
    content: '';
    transition: all .3s;
    width: 100%;
    height: 70%;
  }
  .btn_solid:hover:before {
    left: 0px;
    top: 0px;
    border-top: 1px solid var(--bg_dark_color);
    border-left: 1px solid var(--bg_dark_color);
  }
  .btn_solid:hover:after {
    right: 0px;
    bottom: 0px;
    border-right: 1px solid var(--bg_dark_color);
    border-bottom: 1px solid var(--bg_dark_color);
  }
  .btn_line:hover .icon_arrow:after{background: url(/corporate/common/images/icon_round_arrow_wh_02.svg) center / contain no-repeat;}
  .btn_line:hover .icon_target:after{background: url(/corporate/common/images/icon_round_blank_wh_02.svg) center / contain no-repeat;}
  .btn_line:hover .icon_arrow_back:after{background: url(/corporate/common/images/icon_round_back_wh.svg) center / contain no-repeat;}
  .btn_solid:hover .icon_arrow:after{background: url(/corporate/common/images/icon_round_arrow_02.svg) center / contain no-repeat;}
  .btn_solid:hover .icon_target:after{background: url(/corporate/common/images/icon_round_blank_02.svg) center / contain no-repeat;}
  .icon_arrow:after,
  .icon_target:after,
  .icon_download:after{
    width: 35px;
    height: 35px;
  }
  .btn_type01 .btn_line,
  .btn_type01 .btn_solid{
    min-width: 300px;
    min-height: 60px;
  }
  .btn_type02 .btn_line,
  .btn_type02 .btn_solid{ 
    min-width: 490px;
    min-height: 70px;
  }
  .btn_type03 .btn_line,
  .btn_type03 .btn_solid{ 
    min-width: 790px;
    min-height: 75px;
    padding-left: 100px;
    padding-right: 100px;
    font-size: 2rem;
  }
  .btn_type03 .icon_arrow:after,
  .btn_type03 .icon_target:after{
    right: 45px;
  }
}
@media screen and (max-width: 767px) {
  .btn_line,
  .btn_solid {
    display: block;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 10px 53px 10px 25px;
    font-size: 1.6rem;
  }
  .btn_line.icon_left{
    padding-right: 25px;
    padding-left: 53px;
  }
  .btn_line .icon_arrow:after,
  .btn_line .icon_target:after,
  .btn_solid .icon_arrow:after,
  .btn_solid .icon_target:after{
    right: 25px;
  }

  .btn_type01 .btn_line,
  .btn_type01 .btn_solid{ 
    width: 100%;
    min-height: 60px;
  }
  .btn_type02 .btn_line,
  .btn_type02 .btn_solid{ 
    width: 88%;
    min-height: 60px;
  }
  .btn_type03 .btn_line,
  .btn_type03 .btn_solid{ 
    width: 88%;
    min-height: 80px;
  }
  .btn_sp_88 .btn_line,
  .btn_sp_88 .btn_solid {
    width: 88%;
    min-height: 60px;
  }
}
/* --------------------------------------------------
 column
-------------------------------------------------- */
.flex_wrap.clm2,
.flex_wrap.clm3{
  justify-content: flex-start;
  flex-wrap: wrap;
}
.flex_wrap.clm2 .block{
  width: 47.5%;
  margin-right: 5%;
}
.flex_wrap.clm3 .block{
  width: 30.5%;
  margin-right:4.25%;
}
.flex_wrap.clm2 .block:nth-child(2n),
.flex_wrap.clm3 .block:nth-child(3n){
  margin-right: 0;
}
@media print, screen and (min-width:768px){
  .flex_wrap.clm2 .block,
  .flex_wrap.clm3 .block{
    margin-bottom:40px;
  }
  .flex_wrap.clm2 .block:nth-last-child(-n+2),
  .flex_wrap.clm3 .block:nth-last-child(-n+3){
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .flex_wrap.clm2 .block,
  .flex_wrap.sp_clm2 .block,
  .flex_wrap.clm3 .block{
    margin-bottom:20px;
  }
  .flex_wrap.clm2:not(.sp_clm1) .block:nth-last-child(-n+2),
  .flex_wrap.sp_clm2 .block:nth-last-child(-n+2),
  .flex_wrap.clm3:not(.sp_clm2):not(.sp_clm1) .block:nth-last-child(-n+3){
    margin-bottom: 0;
  }
  .flex_wrap.sp_clm2 .block:nth-child(2n){
    margin-right: 0
  }
  .flex_wrap.sp_clm2 .block,
  .flex_wrap.sp_clm2 .block:nth-child(2n-1){
    width: 47.5%;
    margin-right: 5%;
  }
  .flex_wrap.sp_clm1 .block{
    width: 100%;
    margin-right: 0;
  }
  .flex_wrap.sp_clm1 .block:last-child{
    margin-bottom: 0;
  }
}
/* --------------------------------------------------
parts
-------------------------------------------------- */

.txt_min_l{
  font-family: var(--font_mincyo);
}
.txt_m{
  line-height: 1.8;
}
.txt_green{
  color: var(--bg_dark_color);
}
.txt_red{
  color: #E20012;
}
.annotation{
  font-size: 1.2rem;
  line-height: 1.6;
}
.indent1{
  padding-left: 1em;
  text-indent: -1em;
}
@media print, screen and (min-width:768px){
  .txt_min_l{
    font-size: 2.6rem;
  }
  .txt_l{
    font-size: 1.8rem;
    line-height: 1.6;
  }
  .txt_s{
    font-size: 1.4rem;
    line-height: 1.8;
  }
}
@media screen and (max-width: 767px) {
  .txt_min_l{
    font-size: 2.2rem;
  }
  .txt_s{
    font-size: 1.2rem;
  }
}

.video_wrap{
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  height: 0;
}
.video_wrap iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* --------------------------------------------------
list
-------------------------------------------------- */
.order_list > li{
  padding-left: 1.2em;
  text-indent: -1.2em;
}
.order_list2 > li{
  padding-left: 1.5em;
  text-indent: -1.5em;
}

/* --------------------------------------------------
definition list
-------------------------------------------------- */
.def_list .def_wrap{
  border-bottom: 1px solid rgba(41, 75, 58, 0.2);
  padding: 15px 10px;
}
.def_list_simple .def_wrap{
  padding: 5px 0;
}
.def_list .def_ttl,
.def_list_simple .def_ttl{
  font-weight: bold;
}
@media print, screen and (min-width:768px){
  .def_list,
  .def_list_simple{
    font-family: 1.8rem;
  }
  .def_list .def_wrap,
  .def_list_simple .def_wrap{
    display: flex;
    flex-wrap: nowrap;
  }
  .def_list .def_ttl,
  .def_list_simple .def_ttl{
    padding-right: 40px;
  }
}
@media screen and (max-width: 767px) {
  .def_list .def_ttl{
    margin-bottom: 10px;
  }
}