@charset "utf-8";
/*==================================================
$common
==================================================*/
html {
  font-size: 62.5%;
}

body {
  margin: 0 auto;
  padding: 0;
  font-size: 1.4rem;
  line-height: 1.7;
  letter-spacing: 0.08em;
  background: #fff;
  position: relative;
  color: #333;
  font-family: 'Noto Sans JP', "Meiryo UI", "メイリオ", Meiryo, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  text-align: left;
}

a {
  color: inherit;
  text-decoration: none;
  transition: .3s;
}

a:hover {
  opacity: .7;
  transition: .3s;
}

a[href^="tel:"] {
  pointer-events: none;
}

.nopc {
  display: none !important;
}

img {
  max-width: 100%;
}

/*==================================================
$fade in
==================================================*/
.fadein,
.fade {
  position: relative;
  /* top: 50px; */
  /* opacity: 0; */
  transition: .3s;
}

.fadein.on,
.fade.on {
  top: 0;
  opacity: 1;
}

/*==================================================
$共通
==================================================*/
.page_wrap section {
  margin-bottom: 80px;
}

.inner {
  width: 1000px;
  margin: auto;
}

.d-none {
  display: none !important;
}

/*タイトル*/
.page_top_area {}

.page_top_ttl {
  font-size: 4.0rem;
  position: relative;
  padding: 50px 0 20px;
  margin-bottom: 60px;
  letter-spacing: 0.1em;
  font-weight: 400;
}

.page_top_ttl::before {
  content: '';
  border-bottom: solid 1px #DDDDDD;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

.page_top_ttl::after {
  content: '';
  border-bottom: solid 1px #DF3030;
  width: 200px;
  position: absolute;
  bottom: 0;
  left: 0;
}

.page_top_subttl {
  color: #DF3030;
  display: block;
  font-size: 1.3rem;
  margin-bottom: 20px;
  letter-spacing: 0.16em;
}

.tile_ttl {
  position: relative;
  font-size: 3.0rem;
  padding-left: 30px;
  margin-bottom: 20px;
  font-weight: 400;
}

.tile_ttl::after {
  content: '';
  background-image: url(../img/icon_tile.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 17px;
  height: 17px;
  position: absolute;
  top: .6em;
  left: 0;
}

.tile_ttl small {
  font-size: 2.0rem;
}

.lb_ttl {
  display: flex;
  align-items: center;
  font-size: 2.2rem;
  margin-bottom: 20px;
}

.lb_ttl::before {
  content: '';
  background-color: #DF3030;
  width: 5px;
  height: 25px;
  margin-right: 15px;
}

.red_ttl {
  font-size: 2.2rem;
  color: #DF3030;
  margin-bottom: 15px;
}

/*ボタン*/
.btn01 {
  color: #DF3030;
  max-width: 240px;
  width: 90%;
  height: 50px;
  border: solid 1px #DF3030;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  position: relative;
  transition: .3s;
  background-color: #fff;
}

.btn01::after {
  content: '';
  background-image: url(../img/arrow_r.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 6px;
  height: 9px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 30px;
}

.btn01:hover, .btn_vision:hover {
  color: #fff;
  background-color: #DF3030;
  opacity: 1;
  box-shadow: none;
}

.btn01:hover::after, .btn_vision:hover::after {
  background-image: url(../img/arrow_w.svg);
}

.btn_pdf {
  background-color: #FDF3F3;
  width: 100%;
  max-width: 400px;
  height: 50px;
  justify-content: center;
  color: #DF3030;
  display: flex;
  align-items: center;
  text-decoration: underline;
  padding: 0 15px;
}

.btn_pdf::before {
  content: '';
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 5px;
  background-image: url(../img/icon_pdf_r.svg);
  width: 17px;
  height: 19px;
  transition: .3s;
}

.btn_pdf:hover {
  background-color: #DF3030;
  color: #fff;
  opacity: 1;
}

.btn_pdf:hover::before {
  background-image: url(../img/icon_pdf_w.svg);
}

.btn_vision {
  background-color: #fff;
  box-shadow: 3px 3px 11px rgba(0, 0, 0, 0.15);
  width: 450px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 45px;
  font-size: 1.6rem;
  position: relative;
}

.btn_vision:hover {}

.btn_vision::after {
  content: '';
  background-image: url(../img/arrow_g.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 6px;
  height: 9px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 30px;
}

.btnbtm {
  position: absolute !important;
  bottom: 20px;
  right: 0;
  left: 0;
  margin: auto;
}

/*サムネイル一覧　3つ並び*/
.f_container {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.f_contents3 {
  width: 32%;
  margin-bottom: 35px;
  margin-right: 2%;
  position: relative;
}

.f_contents3:nth-child(3n) {
  margin-right: 0;
}

.f_contents3 a {
  box-shadow: 4px 7px 16px rgba(0, 0, 0, 0.16);
  display: block;
  height: 100%;
}

.f_contents3 a:hover {
  box-shadow: none;
  opacity: 1;
}

.f_container div img {
  width: 100%;
}

.f_txt_wrap {
  width: 90%;
  margin: auto;
  padding-top: 15px;
  padding-bottom: 70px;
}

.f_ttl {
  font-size: 1.8rem;
  border-bottom: solid 1px #DDDDDD;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

.f_txt {
  margin-bottom: 20px;
}

.f_txt>div {
  display: contents;
  text-decoration: underline;
}

.f_img {
  overflow: hidden;
  margin: 0 auto;
  max-width: 320px;
  height: 213px;
  display: flex;
  align-items: center;
}

.f_img.kanjani_img {
  align-items: baseline;
}

.f_img img {
  transition: 1s all;
}

.f_container a:hover .f_img img {
  transform: scale(1.2, 1.2);
}

.f_container a:hover .btn01 {
  color: #fff;
  background-color: #DF3030;
}

.f_container a:hover .btn01::after {
  background-image: url(../img/arrow_w.svg);
}

/*サムネイル一覧　4つ並び*/
.f_contents4 {
  width: 23.5%;
  margin-bottom: 35px;
  margin-right: 2%;
}

.f_contents4:nth-child(4n) {
  margin-right: 0;
}

/*リスト*/
.rdot_list {}

.rdot_list li {
  list-style-type: none;
  position: relative;
  padding-left: 1em;
  margin-bottom: 10px;
}

.rdot_list li::before {
  border-radius: 50%;
  width: 5px;
  height: 5px;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  background: #DF3030;
}

.num_list {
  padding-left: 2em;
}

.num_list li {
  list-style-type: decimal;
}

.rdot_list li a, .num_list li a {
  text-decoration: underline;
}

.rdot_list li a:hover, .num_list li a:hover {
  opacity: 1;
  color: #DF3030;
}

/*アイコン*/
.icon_pdf, .icon_excel {
  position: relative;
  display: flex;
  align-items: center;
  text-decoration: underline;
  width: max-content;
}

.icon_pdf::before, .icon_excel::before {
  content: '';
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 5px;
  width: 17px;
  height: 19px;
  display: block;
}

.icon_pdf::before {
  background-image: url(../img/icon_pdf_r.svg);
}

.icon_excel::before {
  background-image: url(../img/icon_excel_g.svg);
}

.icon_pdf:hover {
  color: #DF3030;
}

.icon_link {
  position: relative;
}

.icon_link::after {
  content: '';
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../img/icon_link_r.svg);
  width: 11px;
  height: 11px;
}

/*本文*/
.r_txt {
  text-align: right;
}

/*パンくず*/
.pankuzu {
  display: flex;
  justify-content: flex-end;
  margin-top: 15px;
  font-size: 1.1rem;
}

.pankuzu li:not(:last-child)::after {
  content: '>';
  margin: 0 10px;
}

/*==================================================
$index トップページ
==================================================*/
.index_top_news {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #343434;
  color: #fff;
  z-index: 15;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.index_top_news a {
  display: block;
  width: 80%;
  text-align: center;
}

.close_btn {
  position: absolute;
  right: 30px;
  cursor: pointer;
}

/*mv メインビジュアル*/
.mv {
  position: relative;
}

.slider_mv li {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 670px;
}

.slider_mv li a {
  display: block;
  height: 100%;
}

.slider_mv li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*
.slider_mv li.main01 {
  background-image: url(../img/index/mv01.png);
}

.slider_mv li.main02 {
  background-image: url(../img/index/mv02.png);
}

.slider_mv li.main03 {
  background-image: url(../img/index/mv03.png);
}

.slider_mv li.main04 {
  background-image: url(../img/index/mv04.png);
}

.slider_mv li.main05 {
  background-image: url(../img/index/mv05.png);
}
.slider_mv li.main06 {
  background-image: url(../img/index/mv06.png);
}
.slider_mv li.main07 {
  background-image: url(../img/index/mv07.png);
  background-position: bottom -50px center;
}
*/
/*
.mv::before {
  content: '';
  background-color: #000;
  width: 100%;
  height: 670px;
  opacity: 0.14;
  display: block;
  position: absolute;
  z-index: 1;
}
*/
.mv_txt_wrap {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  /* Safari用 */
  transform: translateY(-50%);
  text-shadow: 0px 0px 14px rgb(0 0 0 / 40%);
  color: #fff;
  z-index: 2;
  pointer-events: none;
}

.mv_ttl {
  font-size: 4.0rem;
  letter-spacing: 0.12em;
  line-height: 1.55em;
  margin-bottom: 30px;
}

.mv_subttl {
  font-size: 2.0rem;
  letter-spacing: 0.21em;
  line-height: 1em;
  font-family: futura-pt, sans-serif;
  font-weight: 600;
}

/*セクションタイトル*/
.index_sec_ttl {
  font-family: futura-pt, sans-serif;
  font-weight: 300;
  font-style: italic;
  font-size: 9.5rem;
  color: #DF3030;
  line-height: 1em;
}

.index_sec_subttl {
  font-size: 3.0rem;
  font-weight: bold;
  margin-bottom: 70px;
  display: block;
}

.index_sec_summary {
  line-height: 2.17em;
  font-size: 1.7rem;
  margin-bottom: 30px;
  position: relative;
}

/*index news*/
.sec_index_news {
  width: 990px;
  margin: -74px auto 0;
  background-color: #fff;
  box-shadow: 4px 7px 16px rgb(0 0 0 / 16%);
  z-index: 2;
}

/* @media (max-width: 768px) and (min-width: 601px) {
  .sec_index_news {
    width: 90% !important;
  }
} */
.sec_index_news .inner {
  width: 90%;
}

.tab-area {
  display: flex;
  justify-content: space-between;
  cursor: pointer;
}

.tab {
  line-height: 30px;
  color: #000;
  width: 100%;
  padding: 15px;
  background: #FCEAEA;
  font-size: 1.7rem;
  transition: .3s;
  border: solid 1px #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.tab:hover {
  color: #fff;
  background-color: #DF3030;
  border: none;
}

.tab.active {
  background-color: #fff;
  border: none;
  border-top: solid 3px #DF3030;
  color: #000 !important;
}

.content-area {
  padding-bottom: 55px;
}

.content {
  display: none;
}

.content.show {
  margin-top: 50px;
  display: block;
}

.index_news_list {
  margin-bottom: 23px;
}

.index_news_list li {
  position: relative;
  border-bottom: solid 1px #EEEEEE;
}

.index_news_list li::after {
  content: '';
  background-image: url(../img/arrow_g.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 7px;
  display: block;
  height: 9px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 10px;
}

.index_news_list.release_news_list li::after {
  content: none;
}

.index_news_list li a,
.index_news_list li .no-link {
  text-align: left;
  position: relative;
  display: block;
  padding: 20px 30px;
}

.contents.news_member .index_news_list li a {}

.index_news_list li:not(:last-child) a {
  /* border-bottom: solid 1px #EEEEEE; */
}

.index_news_list li span.news_date {
  font-size: 1.2rem;
  color: #DF3030;
  min-width: 105px;
}

.index_news_list li p {
  /* font-size: 1.5rem; */
}

/*index about*/
.sec_index_about {
  background-image: url(../img/index/about_bg.png);
  padding-top: 12%;
  padding-bottom: 5%;
  background-repeat: no-repeat;
  background-size: cover;
  margin-bottom: 100px;
}

.sec_index_about a {
  opacity: 1;
}

.sec_index_about .inner {}

.index_about_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.index_about_list li {
  width: 23%;
  margin-bottom: 45px;
  margin-right: 26px;
}

.index_about_list li:nth-child(4n){
  margin-right: 0px;
}

.index_about_list li a {}

.index_about_img {
  overflow: hidden;
  margin: 0 auto;
}

.index_about_img img {
  transition: 1s all;
}

.index_about_list a:hover .index_about_img img, .index_ambassador a:hover .index_about_img img {
  transform: scale(1.2, 1.2);
}

.index_about_txt {
  background-color: #fff;
  border-bottom: solid 1px #DF3030;
  width: 88%;
  height: 126px;
  margin: -75px auto 0;
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 30px 0;
  transition: .3s;
  box-shadow: 4px 7px 16px rgb(0 0 0 / 6%);
}

.index_about_list a:hover .index_about_txt, .index_ambassador a:hover .index_about_txt {
  background-color: #DF3030;
  color: #fff;
  box-shadow: none;
}

.index_about_icon {
  padding: 20px;
  background-repeat: no-repeat;
  background-position: center;
  margin-bottom: 10px;
  background-size: contain;
  transition: .3s;
}

.about_icon01 {
  background-image: url(../img/index/about01_r.svg);
}

.about_icon02 {
  background-image: url(../img/index/about02_r.svg);
}

.about_icon03 {
  background-image: url(../img/index/about03_r.svg);
}

.about_icon04 {
  background-image: url(../img/index/about04_r.svg);
}

.about_icon05 {
  background-image: url(../img/index/about05_r.svg);
}

.about_icon06 {
  background-image: url(../img/index/about06_r.svg);
}

.about_icon07 {
  background-image: url(../img/index/about07_r.svg);
}

.about_icon08 {
  background-image: url(../img/index/about08_r.svg);
}

.about_icon09 {
  background-image: url(../img/index/about09_r.svg);
}

.about_icon10 {
  background-image: url(../img/index/about10_r.svg);
}

.about_icon11 {
  background-image: url(../img/index/about11_r.svg);
}

.about_icon12 {
  background-image: url(../img/index/about12_r.svg);
}

.about_icon_ambassador {
  background-image: url(../img/index/ambassador_r.svg);
}

.index_about_contents:hover .about_icon01 {
  background-image: url(../img/index/about01_w.svg?2);
}

.index_about_contents:hover .about_icon02 {
  background-image: url(../img/index/about02_w.svg);
}

.index_about_contents:hover .about_icon03 {
  background-image: url(../img/index/about03_w.svg);
}

.index_about_contents:hover .about_icon04 {
  background-image: url(../img/index/about04_w.svg);
}

.index_about_contents:hover .about_icon05 {
  background-image: url(../img/index/about05_w.svg);
}

.index_about_contents:hover .about_icon06 {
  background-image: url(../img/index/about06_w.svg);
}

.index_about_contents:hover .about_icon07 {
  background-image: url(../img/index/about07_w.svg);
}

.index_about_contents:hover .about_icon08 {
  background-image: url(../img/index/about08_w.svg);
}

.index_about_contents:hover .about_icon09 {
  background-image: url(../img/index/about09_w.svg);
}

.index_about_contents:hover .about_icon10 {
  background-image: url(../img/index/about10_w.svg);
}

.index_about_contents:hover .about_icon11 {
  background-image: url(../img/index/about11_w.svg);
}

.index_about_contents:hover .about_icon12 {
  background-image: url(../img/index/about12_w.svg);
}

.index_ambassador:hover .about_icon_ambassador {
  background-image: url(../img/index/ambassador_w.svg);
}

.index_about_icon+p {
  width: 100%;
}

.index_ambassador {
  position: relative;
}

.index_ambassador .index_about_img {
  width: 90%;
  margin-right: 0;
}

.index_ambassador .index_about_img img {
  height: 225px;
  width: 100%;
}

.index_ambassador .index_about_txt {
  position: absolute;
  display: flex;
  max-width: 550px;
  justify-content: space-evenly;
  align-items: center;
  padding: 30px;
  margin: -40px auto 0;
}

.index_ambassador .index_about_icon {
  margin-bottom: 0;
}

.index_ambassador .index_about_icon+p {
  text-align: left;
  width: auto;
}

.index_business_btn {
  position: absolute;
  bottom: 0;
  right: 0;
  padding-right: 15px;
  line-height: 1em;
}

.index_business_btn::after {
  content: '';
  background-image: url(../img/arrow_r.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 6px;
  height: 9px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
}

/*index member*/
.sec_index_member {
  background-image: url(../img/index/member_bg.png);
  padding: 5% 0;
  background-repeat: no-repeat;
  background-size: cover;
}

.sec_index_member .inner {
  position: relative;
}

.index_member_btn_wrap {
  position: absolute;
  top: 0;
  right: 0;
}

.index_member_btn_wrap a {
  width: 340px;
  display: flex;
  align-items: center;
  box-shadow: 4px 7px 16px rgb(0 0 0 / 6%);
  position: relative;
  font-size: 1.7rem;
  padding: 0 30px;
  height: 70px;
  background-color: #fff;
  border: solid 1px #DF3030;
  color: #DF3030;
  margin-bottom: 15px;
}

.index_member_btn_wrap a:hover {
  background-color: #DF3030;
  color: #fff;
  opacity: 1;
}

.index_member_btn_wrap a::before {
  content: '';
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 15px;
}

.index_member_btn_wrap a:first-of-type::before {
  background-image: url(../img/icon_about_r.svg);
  width: 20px;
  height: 18px;
}

.index_member_btn_wrap a:first-of-type:hover::before {
  background-image: url(../img/icon_about_w.svg);
}

.index_member_btn_wrap a:nth-of-type(2)::before {
  background-image: url(../img/icon_list_r.svg);
  width: 22px;
  height: 18px;
}

.index_member_btn_wrap a:nth-of-type(2):hover::before {
  background-image: url(../img/icon_list_w.svg);
}

.index_member_btn_wrap a:nth-of-type(3)::before {
  background-image: url(../img/icon_login_r.svg);
  width: 22px;
  height: 18px;
}

.index_member_btn_wrap a:nth-of-type(3):hover::before {
  background-image: url(../img/icon_login_w.svg);
}

.index_member_btn_wrap a::after {
  content: '';
  background-image: url(../img/arrow_r.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 6px;
  height: 9px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 30px;
}

.index_member_btn_wrap a:hover::after {
  background-image: url(../img/arrow_w.svg);
}

/*index related*/
.sec_index_related {
  background-color: rgba(201, 168, 168, 0.24);
  padding: 50px 0 70px;
}

.index_related_list {}

.index_related_list li {
  margin: 15px;
  box-shadow: 4px 7px 16px rgba(0, 0, 0, 0.06);
  transition: .3s;
}

.index_related_list li:hover {
  box-shadow: none;
}

.index_related_list li a {}

.index_related_list li a img {
  width: 100%;
}

.index_related_list li a p {
  background-color: #fff;
  padding: 15px;
  line-height: 1.38em;
  height: 70px;
}

.index_related_ttl {
  text-align: center;
  margin-bottom: 20px;
  font-size: 3.0rem;
  font-weight: bold;
  display: block;
}

.slick-next {
  right: -2%;
  z-index: 1;
}

.slick-prev {
  left: -2%;
  z-index: 1;
}

/*partner パートナー*/
.partner_area {
  padding: 40px 0;
}

.partner_area ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  max-width: 1000px;
  margin: auto;
}

.partner_area ul li {
  width: 20%;
  margin-bottom: 30px;
}

.partner_area ul li:nth-child(n+2):nth-child(-n+3) {
    margin-left: 15px;
}

.partner_area ul li:nth-child(7) {
    margin-left: 15px;
}

.partner_area ul li:nth-child(8) {
    margin-left: 25px;
}

.partner_area ul li a {
  width: 85%;
  height: 100%;
  position: relative;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.partner_area ul li a img {
  max-width: 200px;
  max-height: 55px;
  transition: .5s;
  opacity: 1;
  object-fit: contain;
}

.partner_area .index_sec_ttl,
.partner_area .index_sec_subttl {
  text-align: center;
}

/*==================================================
$組織概要　Organization Overview
==================================================*/
.business_main {
  margin-bottom: 100px;
}

.business_article {
  margin-bottom: 50px;
}

.business_article a {
  text-decoration: underline;
}

.business_article a:hover {
  color: #DF3030;
  opacity: 1;
}

.organ_list li {
  margin-bottom: 25px;
}

.rdot_list.organ_list li::before {
  top: 1em;
  bottom: inherit;
}

.organ_list li p {
  font-size: 1.8rem;
}

.organization_img {
  margin: auto;
  display: block;
}

/*==================================================
$理事長挨拶　Greeting
==================================================*/
.greeting_wrap {
  justify-content: space-between;
}

.greeting_txt_wrap {
  width: 58%;
}

.greeting_img_wrap {
  width: 40%;
}

.greeting_txt {
  margin-bottom: 90px;
  line-height: 2.076;
}

.greeting_txt+.r_txt span {
  font-size: 1.8rem;
}

.fb-page {
  text-align: center;
  display: block !important;
}

/*==================================================
$ロゴマーク　Logomark
==================================================*/
.logomark_img {
  display: block;
  margin: auto;
}

.logomark_btn_wrap a {
  margin-right: 15px;
}

/*==================================================
$賛助会員　Membership
==================================================*/
.member_intro {
  font-size: 2.6rem;
  text-align: center;
  line-height: 2.115;
  margin-bottom: 30px;
}

.member_brochure_wrap {
  display: flex;
  justify-content: space-evenly;
}

.member_brochure_contents {}

.member_brochure_contents img {
  box-shadow: 2px 3px 10px rgba(0, 0, 0, 0.16);
  margin-bottom: 40px;
}

.member_brochure_contents a {}

/*検索*/
.msearch_form {
  border: solid 1px #DDDDDD;
  padding: 32px 75px;
}

.msearch_keyword {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}

.msearch_keyword input {
  border: solid 1px #B1B1B1;
  border-radius: 5px;
  padding: 15px;
  width: 75%;
}

.msearch_catg_wrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}

.msearch_catg_contents {
  width: 49%;
}

.msearch_catg_contents p {
  margin-bottom: 5px;
}

.msearch_catg_contents select {
  border: solid 1px #B1B1B1;
  padding: 15px;
  border-radius: 5px;
  width: 100%;
}

.msearch_history {
  font-size: 1.3rem;
  color: #707070;
  margin-bottom: 15px;
}

.msearch_result {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.msearch_result li {
  width: 48%;
  border-bottom: solid 1px #DDDDDD;
  padding: 15px 30px;
  position: relative;
}

.msearch_result li:nth-child(-n+2) {
  border-top: solid 1px #DDDDDD;
}

.msearch_result li::after {
  content: '';
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../img/icon_link_r.svg);
  width: 11px;
  height: 11px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
}

.msearch_result_name {
  font-size: 1.5rem;
  margin-bottom: 12px;
}

.msearch_result_catg {
  display: flex;
}

.msearch_result li a div.msearch_result_catg span {
  font-size: 1.2rem;
  background-color: #EEEEEE;
  padding: 2px 8px;
  margin-right: 10px;
}

.msearch_result li a div.msearch_result_catg p {
  font-size: 1.3rem;
  color: #707070;
}




/*==================================================
$diversity   Relocation-2924
==================================================*/

div.diversity section.case_sec{
  margin-bottom: 0;
}

.toppage {}

.toppage main {}

.top_bg {
  background-image: url(../img/toppage/bg.png);
  z-index: -10;
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  position: none;
}

::-webkit-full-page-media, :future, :root .class_name {
  background-size: contain;
}

.top_mv {
  padding-top: 200px;
  margin-bottom: 50px;
}

.top_mv .inner {}

.top_mv_ttl {
  line-height: 1em;
  text-align: center;
  margin: 0 auto 25px;
  display: flex;
  justify-content: center;
  mix-blend-mode: darken;
  color: #FF412D;
}

@media screen and (min-width:1271px) {
  .top_mv_ttl {
    font-size: 270px;
  }
}

@media screen and (max-width:1270px) and (min-width:901px) {
  .top_mv_ttl {
    font-size: 21vw;
  }
}

@media screen and (max-width:900px) {
  .top_mv_ttl {
    font-size: 185px;
  }
}

.top_mv_ttl span:first-of-type {
  animation: 4s linear infinite anim1;
}

@keyframes anim1 {
  0% {
    color: #FFDD00;
  }

  25% {
    color: #FF412D;
  }

  50% {
    color: #FF412D;
  }

  75% {
    color: #FF412D;
  }

  100% {
    color: #FFDD00;
  }
}

.top_mv_ttl span:nth-of-type(2) {
  animation: 4s linear infinite anim2;
}

@keyframes anim2 {
  0% {
    color: #FF412D;
  }

  25% {
    color: #FFDD00;
  }

  50% {
    color: #FF412D;
  }

  75% {
    color: #FF412D;
  }

  100% {
    color: #FF412D;
  }
}

.top_mv_ttl span:nth-of-type(3) {
  animation: 4s linear infinite anim3;
}

@keyframes anim3 {
  0% {
    color: #FF412D;
  }

  25% {
    color: #FF412D;
  }

  50% {
    color: #FFDD00;
  }

  75% {
    color: #FF412D;
  }

  100% {
    color: #FF412D;
  }
}

.top_mv_ttl span:nth-of-type(4) {
  animation: 4s linear infinite anim4;
}

@keyframes anim4 {
  0% {
    color: #FF412D;
  }

  25% {
    color: #FF412D;
  }

  50% {
    color: #FF412D;
  }

  75% {
    color: #FFDD00;
  }

  100% {
    color: #FF412D;
  }
}

.top_mv_txt {
  color: #0F00FF;
  font-weight: 900;
  font-size: 2.2rem;
}

.top_mv_txt span {
  color: #FF412D;
}

.top_mv_heart {
  display: block;
  margin: auto;
}

.top_intro_sec {
  position: relative;
  overflow: hidden;
  margin-bottom: 100px;
}

.top_intro_sec .inner {}

.top_intro_ttl {
  mix-blend-mode: darken;
  width: 90%;
  margin: auto;
  display: block;
  z-index: 2;
  position: relative;
}

.top_intro_img01 {
  position: absolute;
  left: 0;
  top: 420px;
  z-index: 1;
}

.top_intro_img02 {
  position: absolute;
  right: 0;
  top: 460px;
  z-index: 1;
}

.top_message_box {
  background-color: #fff;
  padding: 50px;
  z-index: 2;
  position: relative;
}

.top_message_box img {}

.top_tokusyu_sec {
  margin-bottom: 100px;
}

.top_tokusyu_sec .inner {}

.top_sec_ttl {
  text-align: center;
  margin-bottom: 50px;
  font-size: 100px;
  line-height: 1em;
  color: #FF412D;
  letter-spacing: -0.01em;
}

.top_partner_sec .top_sec_ttl, .top_organizer_sec .top_sec_ttl {
  font-size: 70px;
}

.top_sec_ttl span {
  color: #0F00FF;
}

.top_sec_ttl img {
  mix-blend-mode: darken;
}

.top_tokusyu_cond {
  position: relative;
  min-height: 553px;
  background-size: contain;
  width: 100%;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  background-position: center;
  transition: .3s;
}

.top_tokusyu_cond:not(:last-of-type) {
  margin-bottom: 60px;
}

.top_tokusyu_cond:hover {
  opacity: .7;
}

.tokusyu_thumb {
  width: 80%;
  position: relative;
}

.tokusyu_thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tokusyu_circle {
  position: absolute;
  bottom: 30px;
  right: 22px;
  width: 180px;
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tokusyu_circle::before {
  content: '';
  background-size: contain;
  background-repeat: no-repeat;
  width: 180px;
  height: 180px;
  position: absolute;
  z-index: 0;
  background-position: center;
  animation: 15s linear infinite rotation;
  background-image: url(../img/toppage/tokusyu_circle.svg);
}

@keyframes rotation {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

.tokusyu_circle_arrow {}

.tokusyu03_point {
  position: absolute;
  bottom: 25px;
  left: 100px;
}

.top_tokusyu_whitetxt {
  font-family: 'fot-tsukuardgothic-std';
  font-size: 2.9rem;
  font-weight: bold;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: absolute;
  top: 45px;
  right: 180px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.top_tokusyu_whitetxt span {
  background-color: #fff;
  padding: 15px 5px;
  display: block;
  border-radius: 10px;
}

.top_tokusyu_whitetxt span:not(:last-of-type) {
  margin-left: 12px;
}

.top_tokusyu_whitetxt span:nth-of-type(2) {
  margin-top: 35px;
}

.top_tokusyu_bluetxt, .top_tokusyu_redtxt {
  font-size: 3.7rem;
  font-weight: bold;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: absolute;
  top: 82px;
  left: 25px;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.top_tokusyu_food .top_tokusyu_bluetxt {
  left: 0;
}

.top_tokusyu_bluetxt span {
  background-color: #0F00FF;
  padding: 10px 5px;
}

.top_tokusyu_bluetxt span:not(:last-of-type) {
  margin-left: 12px;
}

.top_tokusyu_redtxt span {
  background-color: #FF412D;
  padding: 20px 5px;
}

.top_tokusyu_redtxt span:not(:last-of-type) {
  margin-left: 12px;
}

.top_tokusyu_simpletxt {
  position: absolute;
  bottom: 100px;
  left: 200px;
  color: #fff;
  font-size: 3.8rem;
  font-weight: bold;
}

.top_tokusyu_simpletxt span {
  display: block;
}

.top_tokusyu_hocance {
  background-image: url(../img/toppage/tokusyu01_bg.png);
}

.top_tokusyu_food {
  background-image: url(../img/toppage/tokusyu02_bg.png);
}

.top_tokusyu_diversity {
  background-image: url(../img/toppage/tokusyu03_bg.png);
}

.top_campaign_sec {}

.top_campaign_sec .inner {}

.top_campaign_bg {
  background-color: #FFECFB;
  padding: 50px 5% 80px;
}

.top_campaign_subttl {
  text-align: center;
  font-weight: 900;
  font-size: 4.2rem;
  margin-bottom: 20px;
}

.top_campaign_subttl span {
  position: relative;
}

.top_campaign_subttl span::before, .top_campaign_subttl span::after {
  content: '';
  background-image: url(../img/toppage/ttl_fukidashi.svg);
  width: 38px;
  height: 50px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: -48px;
}

.top_campaign_subttl span::after {
  transform: scale(-1, 1);
  right: -48px;
  left: auto;
}

.campaign_main {
  display: block;
  margin: 0 auto 50px;
}

.top_campaign_btn {
  background-color: #FF412D;
  color: #fff;
  font-weight: 900;
  font-size: 3.0rem;
  width: 436px;
  height: 86px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 40px;
  margin: auto;
  position: relative;
}

.top_campaign_btn::after {
  content: '';
  right: 40px;
  width: 10px;
  height: 10px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
}

.top_campaign_btn::before {
  background-color: #C11000;
}

.organizer_wrap {
  display: flex;
  gap: 25px;
  align-items: center;
  justify-content: center;
  flex-wrap:wrap;
}

.organizer_wrap>* {
  width: calc((100% - 25px*3)/4);
  text-align: center;
}

.organizer_wrap img {
  object-fit: contain;
  height: 90px;
}

.top_organizer_sec .organizer_wrap img {
height: 75px;
}
.top_organizer_sec .top_sec_ttl {
font-size: 55px;
}

.top_partner_sec .organizer_wrap>* {
  border: solid 1px #ccc;
  padding: 0 10px;
  width: calc((100% - 25px*2)/3);
}

.top_tokusyu_comingsoon {
  pointer-events: none;
}

.top_tokusyu_comingsoon .tokusyu_thumb::before {
  content: 'coming soon';
  font-size: 5.0rem;
  color: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "mobo";
}

.menu_comingsoon {
  position: relative;
  pointer-events: none;
}

.menu_comingsoon::before {
  content: 'coming soon';
  font-size: 1.6rem;
  color: #fff;
  width: 100%;
  height: 50px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  background-color: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "mobo";
}

/* opening */
#opening {
  position: fixed;
  z-index: 9999;
  /* top: 15px;
    left: 15px; */
  width: calc(100%);
  height: calc(100vh);
  background: #FFF;
}

#opening::before,
#opening::after {
  content: '';
  position: absolute;
  width: calc(100% + 15px);
  height: 100vh;
}

#opening::before {
  top: -15px;
  right: -15px;
  border-top: 15px solid #FFF;
  border-right: 15px solid #FFF;
}

#opening.in::before {
  animation: op_border_tr .1s forwards linear, op_border_rb .1s forwards .1s linear;
}

#opening::after {
  bottom: -15px;
  left: -15px;
  border-bottom: 15px solid #FFF;
  border-left: 15px solid #FFF;
}

#opening.in::after {
  animation: op_border_bl .1s forwards .2s linear, op_border_lt .1s forwards .4s linear;
}

#opening.fadeout {
  animation: mv_fadeout 1s linear forwards;
}

@keyframes op_border_tr {
  0% {
    width: calc(100% + 15px);
  }

  100% {
    width: 0%;
  }
}

@keyframes op_border_rb {
  0% {
    top: 0;
  }

  100% {
    top: 100vh;
  }
}

@keyframes op_border_bl {
  0% {
    width: calc(100% + 15px);
  }

  100% {
    width: 0%;
  }
}

@keyframes op_border_lt {
  0% {
    bottom: 0;
  }

  100% {
    bottom: 100vh;
  }
}

@keyframes mv_fadeout {
  0% {
    opacity: 1;
    display: block;
  }

  100% {
    opacity: 0;
    display: none;
  }
}

#opening .op_logo {
  position: absolute;
  top: calc(50% - 150px);
  left: calc(50% - 255px);
  margin: 0 auto;
  width: 510px;
  opacity: 0;
}

#opening .op_logo.in {
  animation: logo_bound .7s ease-out forwards;
}

#opening .op_logo.in_second {
  animation: logo_slide .2s ease-out forwards;
}

@keyframes logo_bound {
  0% {
    opacity: 0;
    transform: scale(0);
  }

  70% {
    opacity: 1;
    transform: scale(1);
  }

  80% {
    opacity: 1;
    transform: scale(.9);
  }

  90% {
    opacity: 1;
    transform: scale(1.1);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes logo_slide {
  0% {
    opacity: 1;
    top: calc(50% - 85px);
    left: calc(50% - 255px);
  }

  100% {
    opacity: 1;
    top: 40px;
    left: 20px;
    transform: rotate(-5deg);
  }
}


.diversity {
  font-family: 'fot-tsukuardgothic-std', "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.mv {
  width: 100%;
  background-size: cover;
  position: relative;
  padding: 70px 20px 0;
  height: calc((100vw + 46px*2) / 1366 * 496);
  min-height: 640px;
}

.hocance .mv .top_tokusyu_whitetxt {
  bottom: 10px;
  right: 25%;
  white-space: nowrap;
  top: auto;
}

.diversity .mv .top_tokusyu_whitetxt {
  top: 93px;
  white-space: nowrap;
  right: 80px;
  z-index: 1;
  font-size: 1.8vw;
}

.diversity .mv .top_tokusyu_redtxt {
  top: 100px;
  font-family: "mobo";
  font-size: 5rem;
  /*letter-spacing: -0.4em;*/
  line-height: 1.5em;
  white-space: nowrap;
}

.diversity .mv .top_tokusyu_redtxt span {
  padding: 5px 0 30px;
}

.mv_slider_item {
  background-size: cover;
}

.mv01 {
  background-image: url(../img/hocance/mv_pc.png);
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv01 {
    background-image: url(../img/hocance/mv_pc@2x.png);
  }
}

.mv_slider img:not(.mv_slider_item) {}

.mv_slider_item {
  height: calc(100vw / 1366 * 496) !important;
}

.slide-animation {
  animation: fadezoom 12s 0s infinite;
}

@keyframes fadezoom {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1.1);
  }
}

.mv_bg {
  width: 100%;
  border-radius: 30px;
  height: 100%;
  object-fit: cover;
}

.mv_ttl {
  position: absolute;
  top: 87px;
  bottom: 0;
  margin: auto;
  left: 20%;
  height: calc(((100vw - 46px*2) / 1366 * 496)*0.6);
}

.hocance .intro_sec {
  background-image: url(../img/hocance/intro_bg.png);
  background-size: 100%;
  background-repeat: no-repeat;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .hocance .intro_sec {
    background-image: url(../img/hocance/intro_bg@2x.png);
  }
}

.intro_ttl {
  font-family: ab-mayuminwalk;
  font-size: 8.4rem;
  line-height: 1.15;
  color: #F26B5B;
  text-shadow: 2px 3px 0 rgb(242, 109, 91, 0.27);
  margin-bottom: 35px;
  width: 50%;
}

.intro_ttl span {
  font-family: serif;
  text-shadow: none;
  font-size: 7.0rem;
}

.intro_txt {
  font-size: 2.0rem;
  font-weight: bold;
  line-height: 1.9;
  width: 50%;
}

.intro_img {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  z-index: -1;
  width: 50%;
}

.sec_ttl {
  font-family: ab-mayuminwalk;
  text-align: center;
  position: relative;
  margin-bottom: 35px;
}

.sec_ttl p {
  font-size: 6.0rem;
  line-height: 1.2;
  display: inline-block;
  position: relative;
}

.sec_ttl span {
  font-size: 1.5rem;
  display: block;
}

.sec_ttl p::before, .sec_ttl p::after {
  position: absolute;
  content: '';
  background-image: url(../img/hocance/sec_ttl.svg);
  height: 41px;
  width: 31px;
  left: -45px;
  top: 40px;
  bottom: 0;
  margin: auto;
}

.sec_ttl p::after {
  transform: scale(-1, 1);
  left: auto;
  right: -45px;
}

.white_box {
  background-color: #fff;
  box-shadow: 9px 11px 0 rgba(0, 0, 0, 0.05);
  border-radius: 20px;
  padding: 90px 5%;
  font-weight: bold;
}

.campaign_sec {
  margin: 100px 0 50px;
}

.campaign_border {
  border-top: solid 3px #F26B5B;
  border-bottom: solid 3px #F26B5B;
  max-width: 770px;
  margin: 0 auto 40px;
  padding: 40px;
  position: relative;
}

.campaign_border::before, .campaign_border::after {
  content: '';
  background-color: #F26B5B;
  height: 1px;
  width: 100%;
  position: absolute;
  top: 5px;
  left: 0;
}

.campaign_border::after {
  top: auto;
  bottom: 5px;
}

.campaign_ttl {
  font-size: 3.5rem;
  letter-spacing: -0.05em;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 10px;
}

.campaign_ttl b {
  font-size: 4.7rem;
}

.campaign_ttl b span {
  color: #F26B5B;
}

.campaign_subttl {
  font-size: 2.8rem;
  text-align: center;
}

.campaign_term {
  color: #F26B5B;
  font-size: 2.0rem;
  letter-spacing: -0.05em;
}

.campaign_term b {
  font-size: 3.0rem;
}

.campaign_img_wrap {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 20px;
  margin-bottom: 40px;
}

.campaign_img_wrap img {
  border-radius: 5px;
  margin: 0 10px;
}

.campaign_present_txt {
  font-size: 2.0rem;
  text-align: center;
  margin-bottom: 20px;
}

.red_btn {
  background-color: #F26B5B;
  color: #fff;
  font-size: 2.0rem;
  margin: auto;
  width: 356px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
}

.red_btn::before {
  background-color: #D42411;
}

.instagenic_sec {
  padding: 0;
}

.sec_subttl {
  text-align: center;
  font-weight: bold;
  margin-bottom: 30px;
}

.sec_subttl p {
  font-family: ab-mayuminwalk;
  color: #F26B5B;
  font-size: 1.7rem;
}

.sec_subttl span {
  font-size: 3.0rem;
  position: relative;
}

.sec_subttl span::before, .sec_subttl span::after {
  content: '';
  background-image: url(../img/hocance/sec_subttl.svg);
  width: 15px;
  height: 15px;
  position: absolute;
}

.sec_subttl span::before {
  left: -18px;
  top: 0;
}

.sec_subttl span::after {
  transform: scale(-1, -1);
  right: -20px;
  bottom: -8px;
}

.flex-3 {
  display: flex;
  flex-wrap: wrap;
  gap: 60px 30px;
}

.flex-3>* {
  width: calc((100% - 30px*2)/3);
}

.flex-2 {
  display: flex;
  flex-wrap: wrap;
  gap: 50px 40px;
}

.flex-2>* {
  width: calc((100% - 40px)/2);
}

.item_slider {
  margin-bottom: 15px;
  height: 230px;
}

.item_slider img {
  height: 230px;
  object-fit: cover;
  object-position: top;
}

.hocance .slick-list {
  border-radius: 5px;
}

.flex-2 .item_slider img {
  height: 304px;
}

.item_txt {
  color: #F26B5B;
  font-size: 1.4rem;
  font-weight: bold;
}

.item_ttl {
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.5;
}

.item_slider .slick-prev, .item_slider .slick-next {
  transform: none;
  width: 27px;
  height: 50px;
  background-color: rgba(0, 0, 0, 0.4);
  border: none;
}

.item_slider .slick-prev {
  left: 0;
}

.item_slider .slick-next {
  right: 0;
}

.item_slider .slick-prev::before, .item_slider .slick-next::before {
  content: '';
  position: absolute;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  right: 10px;
}

.item_slider .slick-prev::before {
  transform: rotate(225deg);
  left: 10px;
}

.item_slider .slick-next::before {}

.bg_grad {
  background: rgb(242, 107, 91);
  background: linear-gradient(0deg, rgba(131, 230, 238, 0.1) 0%, rgba(242, 107, 91, 0.1) 100%);
  position: relative;
}

.bg_grad::before, .bg_grad::after {
  content: '';
  background-size: cover;
  width: 100%;
  height: 120px;
  position: absolute;
}

.bg_grad::before {
  background-image: url(../img/hocance/bg_grad_top.svg);
  top: -120px;
  left: 0;
}

.bg_grad::after {
  background-image: url(../img/hocance/bg_grad_bottom.svg);
  bottom: -120px;
  left: 0;
}

/* TOP Contents  */
.page_wrap section.case_sec{
  margin-bottom: 60px;
}

.case_sec {
  background-color: #F6F6F6;
  margin-top: 220px;
  padding: 100px 0 0;
}

.case_sec .inner {
  max-width: 1120px;
  width: 90%;
  margin-top: -200px;
}

.case_top {
  position: relative;
  margin-bottom: 180px;
}

.case_top img {
  width: 85%;
  margin-left: 15%;
}

.case_outline {
  position: absolute;
  bottom: -124px;
  left: 50px;
  max-width: 370px;
  box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.25);
}

.case_top_number {
  font-family: alternate-gothic-atf, sans-serif;
  font-size: 2.2rem;
  color: #FF412D;
  line-height: 1em;
  margin-bottom: 15px;
  position: relative;
  padding: 20px 0 0 30px;
  font-weight: 500;
}

.case_top_number::before {
  content: '';
  background-image: url(../../img/diversity/case_top_heart.png);
  height: 126px;
  width: 107px;
  position: absolute;
  top: 0;
  left: 100px;
  background-size: cover;
}

.case_top_number::after {
  content: '';
  background-image: url(../../../common/img/diversity/case_top_thunder.svg);
  height: 143px;
  width: 13px;
  position: absolute;
  bottom: -8px;
  left: 5px;
  background-size: cover;
}

.case_top_number span {
  font-size: 3.4rem;
  margin-left: 10px;
}

.case_top_detail {
  background-color: #fff;
  padding: 20px;
}

.case_top_name {
  margin-bottom: 5px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

.case_top_name h2 {
  font-size: 2.6rem;
  font-weight: bold;
  margin-bottom: 0;
}

.case_top_name span::before {
  content: '';
  background-image: url(../img/diversity/pin.svg);
  width: 11px;
  height: 15px;
}

.case_top_txt {
  font-size: 1.6rem;
}

.challenger {
  position: relative;
  padding-left: 70px;
  padding-bottom: 60px;
}

.index .challenger::before {
  content: '';
  position: absolute;
  left: 0;
  top: -85%;
  width: 24px;
  height: 185%;
  background-color: #FF412D;
}

.challenger_main {
  margin-bottom: 65px;
}

.challenger_main_wrap {
  display: flex;
  justify-content: space-between;
}

.challenger_main_img {
  width: 55%;
  position: relative;
}

.challenger_main_number {
  position: relative;
  width: 60%;
  margin-bottom: 25px;
  z-index: 1;
  font-family: alternate-gothic-atf, sans-serif;
  font-size: 2.2rem;
  line-height: 1.0em;
  color: #FF412D;
  left: 0;
  text-align: left;
  font-weight: 500;
  top: 0;
}

.challenger_main_number::after {
  content: '';
  background-color: #FF412D;
  height: 1px;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: -8px;
}

.challenger_main_number span {
  font-size: 3.4rem;
  margin-left: 10px;
}

.case_sec .item_slider {
  height: 410px;
}

.case_sec .item_slider img {
  height: 410px;
}

.challenger_main_detail {
  position: relative;
  width: 35%;
}

.challenger_main_name {
  font-size: 3.0rem;
  font-weight: bold;
  line-height: 1.2em;
  margin-bottom: 20px;
  position: relative;
}

.challenger_main_name::before {
  content: '';
  background-image: url(../img/diversity/challenger_thumder.svg);
  width: 13px;
  height: 72px;
  position: absolute;
  left: -30px;
}

.challenger_main_name span {
  margin-left: 10px;
  font-size: 2.0rem;
}

.challenger_detail_main .challenger_main_name span {
  margin-left: 0;
}

.challenger_main_lead {
  font-size: 2.0rem;
  color: #FF412D;
  font-weight: bold;
  margin-bottom: 20px;
}

.challenger_detail_btn {
  margin: 20px auto 0;
  font-size: 1.8rem;
  color: #FF412D;
  font-weight: bold;
  border: solid 1px #FF412D;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  position: relative;
  width: 380px;
  max-width: 100%;
}

.challenger_detail_btn::after {
  content: '';
  right: 30px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #FF412D;
  border-right: 2px solid #FF412D;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  transition: .3s;
}

.challenger_detail_btn:hover::after {
  right: 20px;
}

.challenger_main_txt {
  font-size: 1.6rem;
}

.challenger_sub {}

.challenger_sub_wrap {
  display: flex;
  gap: 45px;
}

.challenger_sub_contents {
  width: calc((100% - 45px*2)/3);
  position: relative;
  cursor: pointer;
}

.challenger_sub_contents::before {
  content: 'CHALLENGER';
  font-family: alternate-gothic-atf, sans-serif;
  color: #FF412D;
  position: absolute;
  z-index: 1;
  right: -20px;
  top: 15px;
  font-size: 1.8rem;
  font-weight: 500;
}

.challenger_sub_contents::after {
  content: '';
  background-color: #FF412D;
  height: 1px;
  width: 85px;
  position: absolute;
  top: 44px;
  right: -26px;
}

.challenger_sub_img {
  position: relative;
}

.challenger_sub_img::before {
  content: '';
  background-image: url(../img/diversity/plue_glass.svg);
  width: 25px;
  height: 25px;
  position: absolute;
  bottom: 20px;
  right: 20px;
  background-repeat: no-repeat;
  background-size: contain;
}

.challenger_sub_img img {}

.challenger_sub_name {
  font-size: 1.5rem;
  color: #FF412D;
  font-weight: bold;
  background-color: #fff;
  padding: 5px 20px;
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 0;
}

.challenger_sub_txt {
  background-color: #fff;
  padding: 10px 20px;
}

/*モーダル*/
.challenger_sub_pop {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
  z-index: 100;
  transition: .5s;
}

.pop_bg {
  background-color: rgba(0, 0, 0, 0.9);
  position: absolute;
  width: 100%;
  height: 100%;
}

.challenger_sub_pop.on {
  opacity: 1;
  pointer-events: auto;
}

.challenger_sub_popinner {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 1120px;
  background-color: #fff;
  padding: 35px 60px 35px 35px;
  border-radius: 35px;
}

.challenger_sub_popinner .challenger_main_img {
  max-width: 560px;
}

.challenger_sub_popinner .item_slider {
  height: 364px;
}

.challenger_sub_popinner .item_slider img {
  height: 364px;
}

.challenger_sub_popinner .challenger_main_detail {
  margin-top: 50px;
}

.challenger_sub_popinner .challenger_main_number {
  top: 30px;
  font-size: 3.3rem;
}

.pop_close {
  position: absolute;
  background-color: #fff;
  color: red;
  font-size: 4.5rem;
  border-radius: 100px;
  line-height: 1em;
  font-weight: bold;
  font-family: 'mobo';
  box-shadow: 3px 3px 20px rgb(0 0 0 / 26%);
  top: -15px;
  right: -15px;
  height: 65px;
  width: 65px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

/*スライダー*/
.slick-initialized {}

.thumbnail .slick-track {
  transform: unset !important;
  display: flex;
  flex-wrap: nowrap;
  gap: 15px;
  width: 100% !important;
}

.thumbnail-img {
  opacity: 0.3;
  transition: opacity .3s linear;
}

.thumbnail .slick-current {
  opacity: 1;
}

.thumbnail .slick-track:before, .thumbnail .slick-track:after {
  content: none;
}

/*チャレンジャー詳細*/
.challenger_column {
  margin-bottom: 80px;
}
.challenger_column .inner {
}
.challenger_column_block {margin-bottom: 50px;}
.challenger_pocky {
  position: relative;
  margin-bottom: 20px;
  font-size: 2.5rem;
  font-weight: bold;
  padding-bottom: 5px;
  /* display: inline-block; */
}
.challenger_pocky::before , .challenger_pocky::after {
  content: '';
  position: absolute;
  height: 2px;
  width: 100%;
  background-color: #ccc;
  bottom: 0;
  left: 0;
}
.challenger_pocky::after {
background-color: #FF412D;
width: 60px;
}

.challenger_column_wrap {display: flex;flex-wrap: nowrap;gap: 30px;}

.challenger_column_wrap>* {
  width: 100%;
}

.challenger_column_img {
  border-radius: 10px;
}

.challenger_column_txt {
  line-height: 2em;
  font-size: 1.6rem;
}

.challenger_detail_main {
  background-color: #F6F6F6;
  padding: 0 0;
} 

.challenger_detail_main .item_slider img {
  height: 353px;
  width: 100%;
  object-position: center;
}

.diversity.detail .challenger_main_number {
  right: auto;
  left: 0;
  text-align: left;
}

.diversity.detail .challenger_detail_main {
  margin: -50px auto 100px;
  padding: 60px 0;
}

.diversity.detail .challenger_main_img {
  margin-top: 0;
  margin-left: 5%;
}


 /* Edit　20240320  END  */



/*==================================================
$ビジョン　vision
==================================================*/
.mission_wrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.mission_contents {
  width: 32%;
  text-align: center;
  position: relative;
  padding: 65px 0;
  box-shadow: 6px 6px 19px rgba(0, 0, 0, 0.1);
}

.mission_contents_num {
  opacity: 0.3;
  font-size: 6.9rem;
  font-weight: 600;
  position: absolute;
  top: -55px;
  right: 0;
  left: 0;
  font-family: 'Roboto', sans-serif;
  letter-spacing: .1em;
  opacity: 1;
}

.mission_contents:first-of-type .mission_contents_num {
  color: #C5AE25;
}

.mission_contents:nth-of-type(2) .mission_contents_num {
  color: #6FBDD4;
}

.mission_contents:nth-of-type(3) .mission_contents_num {
  color: #6FC57C;
}

.mission_contents p.mission_ttl {
  font-size: 2.2rem;
  margin-bottom: 20px;
  font-weight: bold;
}

.mission_contents p.mission_txt {}

.mission_arrow {
  display: block;
  margin: auto;
  margin-bottom: 20px;
}

.mission_result {
  font-size: 3.0rem;
  text-align: center;
  margin: auto;
}

.vision_reb_border {
  border-bottom: solid 2px #DF3030;
  padding-bottom: 5px;
}

.concept_wrap {
  /* background-image: url(../img/concept_bg.png); */
  /* background-repeat: no-repeat; */
  /* background-size: contain; */
  /* width: 593px; */
  /* height: 519px; */
  /* margin: 0 auto 70px; */
  /* position: relative; */
  display: flex;
  justify-content: center;
}

.concept_contents {
  /* position: absolute; */
  /* width: 50%; */
  /* text-align: center; */
  width: 400px;
  box-shadow: 6px 6px 19px rgb(0 0 0 / 10%);
  padding: 30px 25px;
  margin: 15px;
  min-height: 270px;
  background-color: #fff;
}

.concept01 .concept_ttl, .concept01 .concept_txt {
  color: #C5AE25;
}

.concept02 .concept_ttl, .concept02 .concept_txt {
  color: #6FBDD4;
}

.concept03 .concept_ttl, .concept03 .concept_txt {
  color: #6FC57C;
}

.concept_ttl {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}

.concept_txt {
  text-align: center;
  margin-bottom: 20px;
}

.roadmap_area {}

.roadmap_ttl {
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 25px;
}

/*210928追加*/
.sec_vision01 h2, .sec_vision04 h2 {
  margin-bottom: 100px;
}

.sec_vision02 h2 {
  margin-bottom: 50px;
}

.sec_vision01 .vision_subttl {
  margin-bottom: 10px;
}

.sec_vision02, .sec_vision04 {
  background-color: #F9F8F8;
  padding: 120px 0 90px;
}

.sec_vision02 .vision_ttl {
  margin-bottom: 75px;
  font-size: 4.0rem;
}

.vision_subttl {
  text-align: center;
  font-size: 2.2rem;
}

.vision_ttl {
  color: #DF3030;
  font-size: 5.0rem;
  text-align: center;
  line-height: 1.3em;
  margin-bottom: 20px;
}

.vision_cityimg {
  width: 100%;
  margin-bottom: 70px;
}

.vision_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.vision_contents {
  width: 49%;
  background-color: #F9F8F8;
  position: relative;
  padding: 65px 20px 35px;
  margin-bottom: 50px;
}

.vision_circle {
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  top: -33px;
  font-size: 3.0rem;
  background-color: #DF3030;
  width: 66px;
  height: 66px;
  color: #fff;
  border-radius: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.vision_contents_ttl {
  color: #DF3030;
  font-size: 2.2rem;
  text-align: center;
  margin-bottom: 20px;
  font-weight: bold;
}

.vision_list {
  width: 96%;
  margin: auto;
}

.vision_list li {
  position: relative;
  padding-left: 1.5em;
}

.vision_list li::before {
  position: absolute;
  content: '●';
  left: 0;
}

.vision_txt {
  text-align: center;
}

.concept_detail {}

.roadmap_new {}

.sec_vision04 .vision_contents {
  background-color: #fff;
}

.sec_vision03 {
  background-image: url(../img/vision_ring.svg);
  background-repeat: no-repeat;
  background-size: auto;
  background-position: center;
}

/*==================================================
$事業概要　business
==================================================*/
.sidenav {
  max-width: 280px;
  width: 25%;
  float: left;
  margin-bottom: 100px;
}

.sidenav ul {
  border-bottom: dotted 1px #DDDDDD;
}

.sidenav ul li {}

.sidenav ul li a {
  border-top: dotted 1px #DDDDDD;
  display: block;
  padding: 15px 20px;
  position: relative;
}

.sidenav ul li a::after {
  content: '';
  background-image: url(../img/arrow_g.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 7px;
  height: 9px;
  position: absolute;
  right: 5px;
  top: 0;
  bottom: 0;
  margin: auto;
}

.sidenav ul li a:hover {
  background-color: #FDF3F3;
  opacity: 1;
}

.business_main {
  float: right;
  width: 70%;
}

.business_article p {
  margin-bottom: 25px;
}

.business_main img {
  margin-bottom: 25px;
}

.business_list_wrap {
  margin-bottom: 50px;
}

.business_list_wrap ul li {
  margin-bottom: 10px;
}

.business_list_wrap ul li span {
  display: block;
}

.business_list li span {
  display: block;
}

.business_lgbtq_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.business_lgbtq_img {
  width: 15%;
}

.business_lgbtq_txt {
  width: 80%;
}

.business_lgbtq_txt h3 {
  font-size: 2.0rem;
}

.rdot_list.business_list li::before {
  top: 9px;
  bottom: inherit;
}

.business_ichiran .f_container div img {
  height: 100%;
  width: auto;
  margin: auto;
  object-fit: contain;
}

/*==================================================
$sdgs sdgs
==================================================*/
.sdgs_icon_wrap {
  display: flex;
  flex-wrap: wrap;
  width: auto;
}

.sdgs_icon_wrap img {
  margin-right: 1%;
  margin-bottom: 1% !important;
  width: 58px;
  height: 58px !important;
}

.sdgs_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.sdgs_contents {
  width: 32%;
  margin-bottom: 35px;
  margin-right: 2%;
  position: relative;
  padding-bottom: 65px;
}

.sdgs_contents:nth-child(3n) {
  margin-right: 0;
}

.sdgs_wrap .sdgs_contents2>img {
  margin: 0 auto 10px;
  height: 230px;
  display: block;
}

.sdgs_contents_ttl {
  font-size: 1.8rem;
}

.sdgs_partner {
  border-bottom: solid 1px #DDDDDD;
  padding-bottom: 10px;
  margin-bottom: 10px;
  color: #707070;
  font-size: 1.1rem;
}

.sdgs_contents_txt {
  margin-bottom: 20px;
}

.sdgs_contents>.btn01 {
  height: 40px;
}

/*サムネイル一覧　4つ並び*/
.sdgs_contents2 {
  width: 23.5%;
  margin-bottom: 35px;
  margin-right: 2%;
  position: relative;
}

.sdgs_contents2:nth-child(4n) {
  margin-right: 0;
}

/*==================================================
$news　お知らせ
==================================================*/
.contents.news .news_list_wrap {
  width: 70%;
  float: right;
}

.contents.news .index_news_list {
  margin-bottom: 40px;
  border-bottom: solid 1px #EEEEEE;
}

.contents.news .index_news_list li a {
  display: block;
}

.contents.news.press_release .index_news_list li a::before {
  content: '・'
}

.news_main {
  width: 70%;
  float: right;
  margin-bottom: 100px;
}

.news_article {
  margin-bottom: 50px;
}

.news_article a:hover {
  color: #DF3030;
  opacity: 1;
}

.news_ttl_area {
  border-bottom: solid 1px #EEEEEE;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.newspage_date {
  color: #DF3030;
}

.newspage_ttl {
  font-weight: bold;
  font-size: 1.8rem;
}

.newspage_txt, .news_movie_wrap, .news_img_single, .news_img_wrap, .tbl01_wrap {
  margin-bottom: 40px;
}

.newspage_txt a {
  text-decoration: underline;
  word-break: break-all;
}

.newspage_mtxt {
  font-size: 2.2rem;
  margin-bottom: 10px;
}

.news_movie {
  width: 100%;
  min-height: 380px;
}

.news_movie_ttl {
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 1.5rem;
}

.news_img_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.news_img_contents {
  width: 49%;
  margin-bottom: 2%;
}

.archive_btn {
  text-align: center;
  font-size: 1.2rem;
}

.archive_btn img {
  margin-bottom: 5px;
}

.newspage_poster {
  color: #929292;
  font-size: 1.3rem !important;
}

.news_attachments_ttl {
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 1.5rem;
}

.index_news_list li p.newspage_summary {
  font-size: 1.3rem;
  border-left: solid 2px #929292;
  padding-left: 10px;
  margin-top: 10px;
}

.tbl01 {
  width: 100%;
}

.tbl01 th, .tbl01 td {
  border: solid 1px #999999;
  padding: 5px 10px;
}

.pager {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 50px;
}

.pager li.current a {
  background-color: #707070;
  color: #fff;
}

.pager li a {
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 1px #DDDDDD;
  margin: 0 2px;
  padding: 5px 12px;
}

.pager li:last-of-type a {}

.news_ctg_list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto 100px;
  max-width: 700px;
}

.news_ctg_list li {}

.news_ctg_list li a {
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 1px #DF3030;
  height: 50px;
  margin: 0 2px;
  position: relative;
  color: #DF3030;
  padding: 0 35px;
}

.news_ctg_list li a::after {
  content: '';
  background-image: url(../img/arrow_r.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 6px;
  height: 9px;
  position: absolute;
  right: 10px;
}

.news_ctg_list li a:hover, .news_ctg_list li.current a {
  background-color: #DF3030;
  color: #fff;
  opacity: 1;
}

.news_ctg_list li a:hover::after, .news_ctg_list li.current a::after {
  background-image: url(../img/arrow_w.svg);
}

/*==================================================
$download　各種資料ダウンロード・請求
==================================================*/
.download_wrap {
  margin-bottom: 60px;
}

.download_contents {
  margin-bottom: 20px;
}

.download_contents p {
  margin-bottom: 15px;
}

.download_subttl {
  font-size: 2.2rem;
  margin-bottom: 10px;
  font-weight: 400;
}

.download_btn_wrap {
  display: flex;
  margin-bottom: 15px;
}

.download_btn_wrap a {
  width: auto;
  text-align: center;
  margin-right: 2%;
}

.download_btn_wrap a img {
  box-shadow: 2px 3px 10px rgba(0, 0, 0, 0.16);
  margin-bottom: 15px;
}

.download_app {
  border: solid 1px #DDDDDD;
  padding: 40px;
  margin-bottom: 60px;
}

.download_app_ttl {
  font-size: 2.2rem;
  margin-bottom: 20px;
}

.download_app_txt {
  margin-bottom: 15px;
}

.download_app_caution {
  color: #DF3030;
  font-weight: bold;
  margin-bottom: 15px;
}

.download_border {
  border: solid 1px #DDDDDD;
  padding: 25px 40px;
}

.download_border a {
  text-decoration: underline;
}

.btn_jp, .btn_en, .btn_tw, .btn_cn, .btn_ko {
  color: #fff;
  margin-right: 1%;
  width: 100%;
  padding: 0 20px;
  min-width: 160px;
  height: 50px;
  justify-content: center;
  display: flex;
  align-items: center;
  text-decoration: underline;
}

.btn_jp::before, .btn_en::before, .btn_tw::before, .btn_cn::before, .btn_ko::before {
  background-image: url(../img/icon_pdf_w.svg);
  content: '';
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 5px;
  width: 17px;
  height: 19px;
  transition: .3s;
}

.btn_jp {
  background-color: #E38190;
}

.btn_en {
  background-color: #72B978;
}

.btn_tw {
  background-color: #E26C3B;
}

.btn_cn {
  background-color: #A53C8E;
}

.btn_ko {
  background-color: #2F78BA;
}

/*==================================================
$privacypolicy　プライバシーポリシー
==================================================*/
.privacy_item {
  margin-bottom: 30px;
}

.privacy_item_ttl {
  font-size: 2.2rem;
  font-weight: 400;
  text-indent: -2.5em;
  padding-left: 2.5em;
  margin-bottom: 10px;
}

.privacy_item_txt {
  margin-bottom: 10px;
}

/*==================================================
$ambassador　大阪観光シンボルキャラクター
==================================================*/
.ambassador_w {
  width: 100%;
}

.ambassador_w a {
  display: flex;
}

.ambassador_w .f_img {
  width: 55%;
}

.ambassador_w .f_txt_wrap {
  width: 45%;
  text-align: center;
}

.ambassador .f_txt {
  font-size: 1.8rem;
  text-align: center;
  line-height: 1.4em;
}

.kanjani {
  display: flex;
  flex-wrap: wrap;
}

.kanjani li {
  display: flex;
  align-items: center;
  width: 50%;
  margin-bottom: 10px;
}

.kanjani_color {
  width: 15px;
  height: 15px;
  margin-right: 10px;
}

.kanjani li:first-of-type .kanjani_color {
  background-color: #333333;
}

.kanjani li:nth-of-type(2) .kanjani_color {
  background-color: #800080;
}

.kanjani li:nth-of-type(3) .kanjani_color {
  background-color: #FFA500;
}

.kanjani li:nth-of-type(4) .kanjani_color {
  background-color: #0000FF;
}

.kanjani li:nth-of-type(5) .kanjani_color {
  background-color: #008000;
}

.ambassador .news_article img {
  max-height: 500px;
}

/*==================================================
$recruit　採用情報
==================================================*/
.recruit_tbl {
  max-width: 800px;
  margin: auto;
}

.recruit_tbl th, .recruit_tbl td {
  border: solid 1px #ccc;
  word-break: break-all;
  padding: 20px;
}

.recruit_tbl th {
  background-color: #FADEDE;
  width: 20%;
}

/*==================================================
$login　ログイン
==================================================*/
.login_bx {
  max-width: 525px;
  width: 90%;
  margin: 50px auto 100px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
  padding: 65px 75px;
}

.login_ttl {
  font-size: 2.0rem;
  margin-bottom: 25px;
  text-align: center;
}

.login_input_wrap {
  margin-bottom: 18px;
}

.login_input_contents {}

.login_input_contents input {
  width: 100%;
  height: 42px;
  border: solid 1px #B7B7B7;
  margin-bottom: 12px;
  padding: 5px 10px;
}

.login_input_ttl {
  color: #707070;
}

.login_btn.btn01 {
  margin-bottom: 10px;
  color: #fff;
  border: solid 1px #fff;
  background-color: #DF3030;
  cursor: pointer;
}

.login_forget {
  display: flex;
  color: #DF3030;
  justify-content: center;
  align-items: center;
}

.login_forget::before {
  content: '';
  background-image: url(../img/question.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 14px;
  height: 14px;
  transition: .3s;
  display: block;
  margin-right: 10px;
}

/*==================================================
$entrance　賛助会員　ようこそ
==================================================*/
.member_welcom {
  margin-bottom: 45px;
}

.member_welcom_name {
  font-size: 1.5rem;
  margin: 0 8px 0px 15px;
}

.entrance_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 882px;
  margin: auto;
}

.entrance_conetents {
  width: 49%;
  border: solid 1px #CBCBCB;
  height: 90px;
  margin-bottom: 20px;
}

.entrance_conetents a::after {
  content: '';
  background-image: url(../img/arrow_r.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 8px;
  height: 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 25px;
  margin: auto;
}

.entrance_conetents a {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 15px 30px;
  position: relative;
}

.entrance_conetents_img {
  margin-right: 25px;
}

.entrance_conetents_ttl {
  font-size: 1.8rem;
}

/*==================================================
$Learning Trip to Japan<　訪日教育旅行をお考えの皆様へ
==================================================*/
.j_trip_ttl {
  font-size: 2.0rem;
  margin-bottom: 10px;
}

.j_trip_movie {
  width: 700px;
  min-height: 380px;
}

.j_trip_wrap {
  display: flex;
  justify-content: space-between;
}

.j_trip_contents {
  width: 48%;
  margin-bottom: 30px;
}

.j_trip_list {
  padding-left: 2em;
  margin-bottom: 15px;
}

.j_trip_list li {
  list-style: auto;
}

.j_trip_imgwrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}

.j_trip_imgwrap div {
  width: 33%;
}

.study_osaka {
  display: block;
  margin-bottom: 30px;
}

/*==================================================
$contacat　お問合せ
==================================================*/
.contact_wrap {
  background-color: #F9F8F8;
  padding: 80px 70px;
  margin-bottom: 35px;
}

.contact_tbl {}

.contact_tbl {
  width: 100%;
}

.contact_tbl tr {
  margin-bottom: 20px;
  display: flex;
}

.contact_tbl tr:last-of-type {
  margin-bottom: 0;
}

.contact_tbl tr th {
  vertical-align: middle;
  width: 40%;
}

.contact_tbl tr td {
  width: 60%;
}

.contact_tbl tr td input, .contact_tbl tr td select, .contact_tbl tr td textarea {
  border: solid 1px #DDDDDD;
  padding: 10px;
}

.contact_tbl tr td input {
  width: 90%;
}

.contact_tbl tr td select {
  width: 316px;
}

.contact_tbl tr td select option {}

.contact_tbl tr td textarea {
  min-height: 170px;
  width: 90%;
}

.contact_privacy {
  border: solid 1px #DDDDDD;
  padding: 35px 45px;
  margin-bottom: 50px;
}

.contact_provacy_ttl {
  color: #DB0000;
  font-size: 1.5rem;
  margin-bottom: 10px;
}

.contact_privacy p {}

.contact_btn_wrap {
  text-align: center;
  display: flex;
  justify-content: center;
}

.contact_btn_wrap button {
  width: 340px;
  height: 60px;
  border: none;
  color: #fff;
  cursor: pointer;
  margin: 0 1%;
  transition: .3s;
}

.contact_btn_wrap button:hover {
  opacity: .7;
}

.contact_reset {
  background-color: #A0A0A0;
}

.contact_confirm {
  background-color: #DF3030;
}

.require {
  color: #DF3030;
}

/*==================================================
$タブレット調整
==================================================*/


@media (max-width: 768px) and (min-width: 601px) {
  .sec_index_news .inner {
    width: 100% !important;
  }

  .index_member_btn_wrap {
    position: relative;
  }

  .sec_index_news {
    width: 700px !important;
  }
}

/*211006*/
.news.press_release .index_news_list.release_news_list li {
  padding: 20px 30px 10px;
}

.news.press_release .index_news_list.release_news_list li span {
  display: block;
}

.news.press_release .index_news_list.release_news_list li a {
  padding: 8px 0 !important;
}

/*211020*/
.greeting_thumb_wrap {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}

.greeting_thumb_wrap>div {
  width: 48%;
}

.treasure_hunter img {
  margin-bottom: 15px;
}

.treasure_hunter_ttl {
  margin-bottom: 5px;
  font-weight: bold;
  font-size: 16px;
}

.organ_map {
  width: 100%;
  height: 350px;
  margin-bottom: 20px;
}

/*211025*/
.sdgs_wrap_partner .sdgs_contents2>img {
  max-height: 160px;
}

/*211101*/
.msearch_check_wrap {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: 20px;
}

.msearch_check_wrap div {
  margin-right: 20px;
  margin-bottom: 10px;
  width: 22%;
}

.msearch_check_wrap div input, .msearch_check_wrap div label {
  cursor: pointer;
}

.msearch_check_wrap div label {
  font-size: 15px;
}

/*MT*/
.newspage_txt h1, .newspage_txt h2, .newspage_txt h3, .newspage_txt h4, .newspage_txt h5, .newspage_txt h6, .newspage_txt strong, .newspage_txt b {
  font-size: revert;
  font-weight: revert;
}

.business_article_txt h1, .business_article_txt h2, .business_article_txt h3, .business_article_txt h4, .business_article_txt h5, .business_article_txt h6, .business_article_txt strong, .business_article_txt b {
  font-size: revert;
  font-weight: revert;
}

/*担当者紹介*/
.manager_ttl {
  font-size: 18px;
  font-weight: bold;
  padding: 10px 20px;
  border-left: 3px solid #BBB;
  background: #F8F7F6;
  display: block;
  width: 100%;
  margin-bottom: 20px;
}

.manager_area {
  margin-bottom: 50px;
}

.manager_wrap {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.manager_img {
  width: 37%;
}

.manager_img img {}

.manager_txt {
  width: 60%;
}

.manager_name {
  font-weight: bold;
  font-size: 2.0rem;
}

.manager_department {
  margin-bottom: 10px;
  color: #929292;
  font-weight: bold;
}

/* 220425 add */
.partner_area ul li.s_img {
  width: 15%;
}

.partner_area ul li.b_img {
  width: 35%;
}

.partner_area ul li.b_img img {
  max-width: 100%;
  max-height: 100%;
}


/*コンベンションカレンダー*/
.elme_tbl {
  width: 100%;
}

.elme_tbl tr {}

.elme_tbl th, .elme_tbl td {
  border: solid 1px #ccc;
  padding: 20px;
}

.elme_tbl th {
  background-color: #FADEDE;
}

.elme_tbl td {}

/*賛助会員ページ改修*/
.sanjop_mv {
  margin-bottom: 30px;
}

.sanjop_intro_ttl {
  font-size: 4.0rem;
  font-weight: bold;
  line-height: 1.5em;
  margin-bottom: 30px;
  letter-spacing: 0.1em;
}

.sanjop_intro_txt {
  line-height: 1.92em;
}

.sanjop_bx {
  text-align: center;
  margin-bottom: 20px;
}

.sanjop_irassyai_sec {
  background-color: rgba(32, 188, 176, 0.1);
  padding: 80px 0;
}

.sanjop_bx .btn01 {
  width: revert;
  max-width: revert;
  display: inline-flex;
  padding: 0px 35px 0 20px;
}

.sanjop_bx .btn01::after {
  right: 16px;
}

.sanjop_irassyai_sec .sanjop_bx .btn01 {
  color: #20BCB0;
  border: solid 1px #20BCB0;
}

.sanjop_irassyai_sec .sanjop_bx .btn01:hover {
  background-color: #20BCB0;
  color: #fff;
}

.sanjop_irassyai_sec .sanjop_bx .btn01::after {
  width: 4px;
  height: 4px;
  border-top: 2px solid #20BCB0;
  border-right: 2px solid #20BCB0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  background-image: none;
}

.sanjop_irassyai_sec .sanjop_bx .btn01:hover::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.sanjop_subttl {
  font-size: 1.8rem;
  font-weight: bold;
  border-bottom: dotted 2px #E13803;
  display: inline-block;
  margin-bottom: 10px;
}

.sanjop_irassyai_sec .sanjop_subttl {
  border-bottom: dotted 2px #20BCB0;
}

.sanjop_ttl {
  font-size: 2.0rem;
  font-weight: bold;
  margin-bottom: 20px;
}

.sanjop_ttl span {
  font-size: 3.0rem;
  color: #E13803;
}

.sanjop_irassyai_sec .sanjop_ttl span {
  color: #20BCB0;
}

.sanajo_irassyai_txt {
  margin-bottom: 45px;
}

.sanjop_wrap02 {
  display: flex;
  justify-content: space-between;
}

.sanjop_wrap03 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.sanjop_wrap02 .sanjop_contents {
  width: 47%;
}

.sanjop_wrap03 .sanjop_contents {
  width: 31%;
}

.sanjop_wrap03 .sanjop_contents:not(:nth-child(3n)) {
  margin-right: 3%;
}

.sanjop_contents {
  position: relative;
  margin-bottom: 35px;
  padding-bottom: 60px;
}

.sanjop_fukidashi {
  position: absolute;
  top: -30px;
  right: 8px;
  background-image: url(/common/img/sanjo/fukidashi.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 127px;
  height: 127px;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.25em;
}

.sanjop_img {
  position: relative;
  margin-bottom: 15px;
  background-color: #fff;
}

.sanjop_wrap02 .sanjop_contents.sanjop_img {
  box-shadow: 3px 3px 11px rgb(0 0 0 / 10%);
}

.sanjop_img img {}

.sanjop_contents_ttl {
  font-size: 1.8rem;
  margin-bottom: 10px;
  line-height: 1.277em;
}

.sanjop_wrap03 .sanjop_contents .sanjop_contents_txt {
  text-align: left;
}

.sanjop_number {
  counter-reset: number 0;
}

.sanjop_number .sanjop_img:before {
  counter-increment: number 1;
  content: counter(number) " ";
  background-color: #E13803;
  color: #fff;
  width: 38px;
  height: 38px;
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
}

.sanjop_contents .btn01 {
  margin-top: 10px;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

.sanjop_nagare li {
  margin-bottom: 25px;
  font-weight: bold;
}

.sanjop_nagare li span {
  display: block;
  font-size: 1.6rem;
  margin-bottom: 5px;
}

.sanjop_nagare li p {
  font-weight: 400;
}

.sanjop_kikangeitei {
  display: block;
  font-size: 1.8rem;
  color: #20BCB0;
  font-weight: bold;
  text-align: center;
  line-height: 1em;
  margin: 10px 0 0;
}

.sanjop_kikangeitei span {
  position: relative;
}

.sanjop_kikangeitei span::before, .sanjop_kikangeitei span::after {
  content: '';
  width: 25px;
  height: 2px;
  position: absolute;
  background-color: #20BCB0;
  top: 0;
  bottom: 0;
  margin: auto;
}

.sanjop_kikangeitei span::before {
  left: -35px;
}

.sanjop_kikangeitei span::after {
  right: -35px;
}

/* 220601 パートナーバナーサイズ */
.partner_area ul li:nth-child(8) a img{
  max-width: 200px;
}

/* 220607 LGBT */
.pressrelease_box {
  margin-bottom: 45px;
}

.pressrelease_box h4 {
  font-size: 18px;
  margin-bottom: 7px;
}

.pressrelease_box ul li a.press_release{
  text-decoration: none;
  position: relative;
  padding-left: 20px;
  display: block;
}

.pressrelease_box ul li a.press_release:hover {
  text-decoration: underline;
}

.pressrelease_box ul li a.press_release::before {
  content: "●";
  font-size: 14px;
  position: absolute;
  top: -1px;
  left: 0;
}

/* 220803 */
.partner_area ul li:nth-child(11) a img {
  max-width: 160px;
}

/* 220809 LGBT */
.pressrelease_box {
  margin-bottom: 45px;
}

.pressrelease_box h4 {
  font-size: 18px;
  margin-bottom: 7px;
}

/* honnbannnituiki */

.pressrelease_box h4.mb_title {
  margin-bottom: 25px;
}

.pressrelease_box ol li{
  text-decoration: none;
  position: relative;
  padding-left: 20px;
  display: block;
}

.pressrelease_box ol li::before {
  font-size: 14px;
  position: absolute;
  top: -1px;
  left: 0;
}

.pressrelease_box ol li:nth-child(1)::before {
	content: "1";
}
.pressrelease_box ol li:nth-child(2)::before {
	content: "2";
}
.pressrelease_box ol li:nth-child(3)::before {
	content: "3";
}
.pressrelease_box ol li:nth-child(4)::before {
	content: "4";
}
.pressrelease_box ol li:nth-child(5)::before {
	content: "5";
}

/* 230915追加 */

.inner2 {
  width: 1250px !important;
  margin: auto;
}

/* 231115 */
.partner_area ul li:nth-child(6) a img {
  max-width: 240px;
}

/* 231201 */
.contents.recruit .inner strong{
  font-weight: bold;
  font-size: 1.6rem;
}

/* 240311 採用情報 */
.contents.recruit a{
	color: #236fa1;
  text-decoration: underline;
}
/* 240311 お知らせ */
.news_article a{
  color: #236fa1;
  text-decoration: underline;
}