@charset "UTF-8";

/*----------------------------------------------
	l_header
---------------------------------------------*/
.l_header {
  position: fixed;
  width: 100%;
  padding: 20px 20px 0 20px;
  border-top: 5px solid #006C3A;
  box-shadow: 0px 3px 6px hsla(0,0%,20%,0.16);
  background: #fff;
  z-index: 999;
}
.l_header a{
  text-decoration: none!important;
}
/*----------------------------------------------
	l_logo_and_btn
---------------------------------------------*/
.l_logo_and_btn {
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
}

/*----------------------------------------------
	l_btn_header_box
---------------------------------------------*/
.l_btn_header_box {
  display: flex;
  gap: 20px;
}

/*----------------------------------------------
	l_nav
---------------------------------------------*/
.l_nav {
  display: flex;
  justify-content: center;
  margin: 0 -20px 0 -20px;
  font-size: 18px;
  font-weight: bold;
}

/*----------------------------------------------
	l_mv
---------------------------------------------*/
.l_mv {
  position: relative;

  display: flex;
  justify-content: center;

  width: 100%;

  /*
   * 左右に余白が出た場合の背景色
   */
  background: #e5e5e5;

  /*
   * 固定高さは使わない
   */
  height: auto;

  /*
   * fixedヘッダー分
   */
  padding-top: 140px;

  overflow: hidden;

  box-sizing: border-box;
}


/*----------------------------------------------
	l_mv_inner
---------------------------------------------*/
.l_mv_inner {
  margin-bottom: 50px;
  padding: 140px 0 0;

  background: #f4f4f0;

  border-bottom: 2px solid #00804a;
}


/*----------------------------------------------
	l_mv_slider
---------------------------------------------*/
.l_mv_slider {
  position: relative;

  width: min(
    100vw,
    calc((100vh - 140px) * 2)
  );

  aspect-ratio: 2 / 1;

  flex-shrink: 0;
  overflow: hidden;
}


/*----------------------------------------------
	slick内部
---------------------------------------------*/
.l_mv_slider .slick-list,
.l_mv_slider .slick-track,
.l_mv_slider .slick-slide,
.l_mv_slider .slick-slide > div {
  height: 100%;
}


/*----------------------------------------------
	MV画像
---------------------------------------------*/
.l_mv_slider .is_mv_slide {
  width: 100%;
  height: 100%;

  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}


.l_mv_slider .is_mv_slide01 {
  background-image: url("../images/mv_bg01.jpg");
}

.l_mv_slider .is_mv_slide02 {
  background-image: url("../images/mv_bg02.png");
}

.l_mv_slider .is_mv_slide03 {
  background-image: url("../images/mv_bg03.jpg");
}

.l_mv_slider .is_mv_slide04 {
  background-image: url("../images/mv_bg04.jpg");
}


/*----------------------------------------------
  文字・ロゴ
---------------------------------------------*/
.l_mv .is_mv_content {
  position: absolute;
  z-index: 2;

  top: 140px;
  left: 50%;

  transform: translateX(-50%);

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: min(
    100vw,
    calc((100vh - 140px) * 2)
  );

  aspect-ratio: 2 / 1;

  padding: 3% 4%;
  box-sizing: border-box;
  pointer-events: none;
}


/*----------------------------------------------
  MVロゴ
---------------------------------------------*/
.l_mv .is_mv_logo {
  position: static;

  display: block;

  /*
   * MVサイズに合わせて可変
   */
  width: 44%;

  /*
   * ロゴの縦横比を維持
   */
  height: auto;

  max-width: none;

  margin: 0 auto 5%;
}


/*----------------------------------------------
  日付・会場
---------------------------------------------*/
.l_mv .is_mv_data {
  position: static;

  display: block;

  /*
   * MVサイズに合わせて可変
   */
  width: 50%;

  /*
   * 縦横比を維持
   */
  height: auto;

  max-width: none;

  margin: 0 auto;
}

/*----------------------------------------------
	l_about
---------------------------------------------*/
.l_about {
  padding: 100px 0 1px;
  background: #f2f2f2;
}

/*----------------------------------------------
	l_news
---------------------------------------------*/
.l_news {
  padding: 100px 0;
  background: #fff;
}
.l_news_wrap {
  display: flex;
  justify-content: space-between;
}
/*----------------------------------------------
	l_news_main
---------------------------------------------*/
.l_news_main {
  margin-right: 70px;
  background: #f2f2f2;
  width: 405px;
  border: 1px solid #ddd;
}
.l_news_main > a {
  transition: .2s;
}
.l_news_main > a:hover {
  opacity: .7;
  transition: .2s;
}
.l_news_main .is_news_date,
.l_news_main .is_news_txt {
  padding: 0 25px;
}
.l_news_main .is_news_date {
  margin-top: 20px;
  color: #808080;
  font-size: 16px;
}
.l_news_main .is_news_txt {
  margin-bottom: 20px;
  color: #333;
  font-size: 24px;
}
/*----------------------------------------------
	l_news_list
---------------------------------------------*/
.l_news_list {
  flex: 2;
}
.l_news_list > ul > li {
  margin-bottom: 20px;
  border-bottom: 2px dotted #ccc;
}
.l_news_list > ul > li > a {
  display: flex;
  color: #333;
  transition: .2s;
}
.l_news_list > ul > li > a:hover {
  opacity: .7;
  transition: .2s;
}
.l_news_list .is_news_date {
  margin-right: 20px;
  color: #808080;
  font-size: 16px;
  word-break: auto-phrase;
}
.l_news_list .is_news_txt {
  margin-bottom: 20px;
}

/*----------------------------------------------
	l_history
---------------------------------------------*/
.l_history {
  padding: 100px 0;
  background: #f2f2f2;
}

/*----------------------------------------------
	l_history_list
---------------------------------------------*/
.l_history_list {
  position: relative;
  margin-left: 8px;
  padding-left: 24px;
  border-left: 2px solid #AEAEAE;
}

.l_history_list > li {
  position: relative;
}

.l_history_list > li::before {
  content: "";
  position: absolute;
  top: 12px;
  left: -33px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
}
.l_history_list > li.is_bangkok::before {
  background: #C54780;
}
.l_history_list > li.is_hangzhou::before {
  background: #5B8F3D;
}
.l_history_list > li.is_hanoi::before {
  background: #D6A21D;
}
.l_history_list > li.is_jakarta::before {
  background: #D95B43;
}
.l_history_list > li.is_penang::before {
  background: #19A6A6;
}
.l_history_list > li.is_suwon::before {
  background: #7955A3;
}
.l_history_list > li.is_yokohama::before {
  background: #357ABD;
}

.l_history_list .is_history_box {
  margin-bottom: 30px;
  padding: 20px 25px;
  background: #fff;
  border-radius: 5px;
}

/*----------------------------------------------
	l_partners
---------------------------------------------*/
.l_partners {
  padding: 100px 0;
}

/*----------------------------------------------
	l_partners_list
---------------------------------------------*/
.l_partners_list {
  display: flex;
  flex-wrap: wrap;
}
.l_partners_list > li {
  margin-bottom: 35px;
}
.l_partners_list .is_partner_box {
  display: flex;
}
.l_partners_list .is_partner_box img {
  max-width: 410px;
  width: 100%;
  margin-right: 30px;
  border: 1px solid #ddd;
}
.l_partners_list a .is_partner_box img:hover {
  opacity: .7;
}

/*----------------------------------------------
	l_footer
---------------------------------------------*/
.l_footer {
  position: relative;
  padding: 70px 0 0 0;
  background: #f2f2f2;
}

/*----------------------------------------------
	l_bnr_list
---------------------------------------------*/
.l_bnr_list {
  display: flex;
  margin-bottom: 50px;
  gap: 20px;
}
.l_bnr_list img {
  max-width: 200px;
  width: 100%;
}

/*----------------------------------------------
	l_address
---------------------------------------------*/
.l_address {
  margin-bottom: 70px;
}
.l_address a {
  text-decoration: underline;
}

/*----------------------------------------------
	l_sns_list
---------------------------------------------*/
.l_sns_list {
  display: flex;
  gap: 20px;
  margin-bottom: 50px;
}
.l_sns_list img {
  width: 60px;
}
.l_sns_list img:hover {
  opacity: .7;
}

/*----------------------------------------------
	l_copyright
---------------------------------------------*/
.l_copyright {
  padding: 10px 0;
  text-align: center;
  font-size: 14px;
  color: #fff;
  background: #00824b;
}

/*----------------------------------------------
  .l_pagetop
---------------------------------------------*/
.l_pagetop {
  position: fixed;
  width: 65px;
  right: 25px;
  bottom: 50px;
	z-index: 99;
}
.l_pagetop a{
	line-height: 0;
	display: block;
}
.l_pagetop img:hover {
	opacity: 0.9;
}
.l_pagetop.attached {
  position: absolute;
  bottom:225px;
}
/*画面幅が1250pxを下回るとボタンが隠れるため*/
/*
@media only screen and (max-width: 1250px) {
  .l_pagetop {
    left: auto;
    right: 25px;
  }
  .l_pagetop.attached {
    position: fixed;
    bottom: 240px;
    right: 25px;
  }
}
*/