@charset "UTF-8";
html {
  line-height: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  color: #000;
  word-wrap: break-word;
  font-weight: 300;
}

html * {
  box-sizing: border-box;
}

a {
  outline: none;
  color: inherit;
}

a * {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

a:focus, *:focus {
  outline: none;
}

img {
  width: 100%;
  height: auto;
}

img[src$=".svg"] {
  max-width: 100%;
}

i {
  font-style: italic;
}

sub {
  font-size: 70%;
}

.fw_light {
  font-weight: 300;
}

.fw_normal {
  font-weight: 400;
}

.fw_medium {
  font-weight: 500;
}

.fw_bold {
  font-weight: 700;
}

.fw_semibold {
  font-weight: 600;
}

.fw_black {
  font-weight: 900;
}

.fs_italic {
  font-style: italic;
}

.flex_box {
  display: flex;
  flex-wrap: wrap;
}

.ryumin {
  font-family: "リュウミン H-KL", "Ryumin Heavy KL", "游明朝体", "Yu Mincho", "游明朝", YuMincho, "HG明朝E", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.din {
  font-family: "DINNextLTPro-Medium", "Noto Sans JP", sans-serif;
}

.u-link {
  text-decoration: underline;
}
@media only screen and (min-width: 768px) {
  .u-link:hover {
    text-decoration: none;
  }
}

/*PC 共通
-----------------------------------------------------------------------------*/
@media print, screen and (min-width: 768px) {
  html {
    font-size: 18px;
  }
  .sp {
    display: none;
  }
  .flex_box_pc {
    display: flex;
    flex-wrap: wrap;
  }
  .inner {
    width: 94.4444444444%;
    margin: auto;
  }
  .hv_img {
    transition: all 0.2s ease-in-out 0s;
  }
  a.line_link {
    display: inline-block;
    position: relative;
  }
  a.line_link::after {
    transition: all 0.2s ease-in-out 0s;
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #000;
    transform: scale(0, 1);
    transform-origin: 0 50%;
    position: absolute;
    left: 0;
    top: 100%;
  }
  a:hover .hv_img {
    transform: scale(1.05, 1.05);
  }
  a:hover.line_link::after {
    transform: scale(1, 1);
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1360px) {
  html {
    font-size: 1.3235294118vw;
  }
}
/*--------------------------endPC--------------------------------*/
/*SP共通
-----------------------------------------------------------------------------*/
@media only screen and (max-width: 767px) {
  html {
    font-size: 3.4666666667vw;
  }
  .pc {
    display: none;
  }
  .flex_box_sp {
    display: flex;
    flex-wrap: wrap;
  }
}
/*--------------------------endSP--------------------------------*/
/*btn
-----------------------------------------------------------*/
.btn {
  display: block;
  color: #fff;
  text-align: center;
  z-index: 0;
  overflow: hidden;
}
.btn:visited {
  color: #fff;
}

@media print, screen and (min-width: 768px) {
  .btn {
    position: relative;
    font-size: 0.6666666667rem;
  }
  .btn::before {
    transition: all 0.2s ease-in-out 0s;
    content: "";
    display: block;
    width: 200%;
    height: 100%;
    background: linear-gradient(90deg, #000 0%, #000 50%, #A0ABB1 50%, #A0ABB1 100%);
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
  }
  .btn:hover::before {
    transform: translate(50%, 0);
  }
}
@media only screen and (max-width: 767px) {
  .btn {
    background: #A0ABB1;
    font-size: 1rem;
  }
}
/*page_list
-----------------------------------------------------------*/
.page_list {
  display: flex;
  flex-wrap: wrap;
}

.page_list a {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}

.page_list a.active .on {
  transform: translate(0, 0) rotate(0deg) scale(1, 1) skew(0deg, 0deg);
}
.page_list a.active .off {
  transform: translate(0, 0) rotate(-90deg) scale(0, 0) skew(0deg, 0deg);
}

.page_list .icon {
  position: relative;
}

.page_list .icon .off {
  transition: all 0.2s ease-in-out 0s;
  transform: translate(0, 0) rotate(0deg) scale(1, 1) skew(0deg, 0deg);
}

.page_list .icon .on {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  transition: all 0.2s ease-in-out 0s;
  transform: translate(0, 0) rotate(90deg) scale(0, 0) skew(0deg, 0deg);
}

@media print, screen and (min-width: 768px) {
  .page_list a:hover .off {
    transform: translate(0, 0) rotate(-90deg) scale(0, 0) skew(0deg, 0deg);
  }
  .page_list a:hover .on {
    transform: translate(0, 0) rotate(0deg) scale(1, 1) skew(0deg, 0deg);
  }
  .page_list.cont01_in {
    width: 91.5%;
  }
  .page_list.cont01_in li {
    width: 32.0218579235%;
  }
  .page_list.cont01_in li:not(:nth-child(3n)) {
    margin-right: 1.9672131148%;
  }
  .page_list.cont01_in li:not(:nth-child(-n+3)) {
    margin-top: 2.2222222222rem;
  }
  .page_list.cont01_in li .icon {
    width: 40.9556313993%;
    margin-right: 6.8259385666%;
  }
  .page_list.cont01_in li .pagename {
    font-size: 0.8888888889rem;
    line-height: 1.25;
    margin-top: calc(0px - 0.125em);
    margin-bottom: calc(0px - 0.125em);
  }
}
@media only screen and (max-width: 767px) {
  .page_list {
    width: 78.6666666667vw;
    justify-content: space-between;
  }
  .page_list li {
    width: 50%;
    font-size: 0.9230769231rem;
    line-height: 1.25;
    margin-top: calc(0px - 0.125em);
    margin-bottom: calc(0px - 0.125em);
  }
  .page_list li .pagename {
    white-space: nowrap;
    margin-right: -2em;
  }
  .page_list li:not(:nth-child(-n+2)) {
    margin-top: 5.3333333333vw;
  }
  .page_list li .icon {
    width: 16vw;
    margin-right: 2.6666666667vw;
  }
}
/*breadcrumb_list_wrap
-----------------------------------------------------------*/
.breadcrumb_list_wrap {
  background: #000000;
  color: #fff;
  letter-spacing: 0.1em;
}

.breadcrumb_list_wrap .breadcrumb_list {
  display: flex;
  flex-wrap: wrap;
  margin: auto;
}

.breadcrumb_list_wrap .breadcrumb_list li:not(:last-child)::after {
  content: "＞";
  display: inline-block;
  margin: 0 0.5em;
}

@media print, screen and (min-width: 768px) {
  .breadcrumb_list_wrap {
    font-size: 0.6666666667rem;
  }
  .breadcrumb_list_wrap .breadcrumb_list {
    width: 69.4444444444%;
    padding: 0.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .breadcrumb_list_wrap {
    font-size: 0.4615384615rem;
  }
  .breadcrumb_list_wrap .breadcrumb_list {
    width: 89.3333333333vw;
    padding: 1.2vw;
  }
}
/*sec_tit_box
-----------------------------------------------------------*/
.sec_tit_box {
  font-weight: bold;
}

.sec_tit_box .sec_tit {
  font-family: "DINNextLTPro-Medium", "Noto Sans JP", sans-serif;
  font-weight: 500;
}

@media print, screen and (min-width: 768px) {
  .sec_tit_box {
    margin-bottom: 1.6111111111rem;
  }
  .sec_tit_box .sec_tit {
    font-size: 2.7777777778rem;
    margin-bottom: 0.6666666667rem;
  }
  .sec_tit_box .sec_sub_tit {
    font-size: 0.8888888889rem;
    font-weight: 500;
  }
}
@media only screen and (max-width: 767px) {
  .sec_tit_box {
    margin-bottom: 6.5333333333vw;
    margin-left: 5.3333333333vw;
  }
  .sec_tit_box .sec_tit {
    font-size: 1.9230769231rem;
    margin-bottom: 1.6vw;
  }
  .sec_tit_box .sec_sub_tit {
    font-size: 0.6153846154rem;
  }
}
/*cont01
-----------------------------------------------------------*/
.cont01 {
  margin-left: auto;
}

@media print, screen and (min-width: 768px) {
  .cont01 {
    width: 80.5555555556%;
  }
  .cont01 .cont01_in {
    width: 89.6551724138%;
    padding-left: 3.4482758621%;
  }
}
@media only screen and (max-width: 767px) {
  .cont01 {
    width: 94.6666666667vw;
  }
  .cont01 .cont01_in {
    width: 84vw;
    margin-left: 5.3333333333vw;
  }
}
/*news_cont_wrap
-----------------------------------------------------------*/
.news_cont_wrap .news_cat_list {
  display: flex;
  flex-wrap: wrap;
}

.news_cont_wrap .news_list:not(.active) {
  display: none;
}

.news_cont_wrap .news_list.visible li {
  transition: all 0.2s ease-in-out 1s;
  opacity: 1;
  transform: translate(0, 0);
}

.news_cont_wrap .news_list.visible li:nth-child(1) {
  transition: all 0.2s ease-in-out 0.1s;
}

.news_cont_wrap .news_list.visible li:nth-child(2) {
  transition: all 0.2s ease-in-out 0.2s;
}

.news_cont_wrap .news_list.visible li:nth-child(3) {
  transition: all 0.2s ease-in-out 0.3s;
}

.news_cont_wrap .news_list.visible li:nth-child(4) {
  transition: all 0.2s ease-in-out 0.4s;
}

.news_cont_wrap .news_list.visible li:nth-child(5) {
  transition: all 0.2s ease-in-out 0.5s;
}

.news_cont_wrap .news_list.visible li:nth-child(6) {
  transition: all 0.2s ease-in-out 0.6s;
}

.news_cont_wrap .news_list.visible li:nth-child(7) {
  transition: all 0.2s ease-in-out 0.7s;
}

.news_cont_wrap .news_list.visible li:nth-child(8) {
  transition: all 0.2s ease-in-out 0.8s;
}

.news_cont_wrap .news_list.visible li:nth-child(9) {
  transition: all 0.2s ease-in-out 0.9s;
}

.news_cont_wrap .news_list.visible li:nth-child(10) {
  transition: all 0.2s ease-in-out 1s;
}

.news_cont_wrap .news_list li {
  opacity: 0;
  transform: translate(0, 20%);
}

.news_cont_wrap .news_list li:not(:last-child) {
  border-bottom: 1px solid #AFB9BE;
}

.news_cont_wrap .news_list a {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}

.news_cont_wrap .news_list .date {
  font-family: "DINNextLTPro-Medium", "Noto Sans JP", sans-serif;
  font-weight: 500;
  text-align: center;
}
.news_cont_wrap .news_list .date dt {
  width: 6em;
}

.news_cont_wrap .news_list .cat_jp {
  color: #000;
  background: #AFB9BE;
  border-radius: 50%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.news_cont_wrap .news_list .cat_jp.newsrelease {
  background: #e9defa;
  background: linear-gradient(135deg, #e9defa 0%, #fbfcdb 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#e9defa", endColorstr="#fbfcdb",GradientType=1 );
}

.news_cont_wrap .news_list .cat_jp.info {
  background: #a8edea;
  background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#a8edea", endColorstr="#fed6e3",GradientType=1 );
}

.news_cont_wrap .news_list .cat_jp.sustainability {
  background: #fddb92;
  background: linear-gradient(135deg, #fddb92 0%, #d1fdff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#fddb92", endColorstr="#d1fdff",GradientType=1 );
}

.news_cont_wrap .news_list .cat_jp.other {
  background: #d299c2;
  background: linear-gradient(135deg, #d299c2 0%, #fef9d7 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#d299c2", endColorstr="#fef9d7",GradientType=1 );
}

.news_cont_wrap .news_list .post_tit {
  word-break: break-all;
  margin-left: auto;
  align-self: center;
}

.news_cont_wrap .news_list .post_tit span {
  display: block;
  color: #AFB9BE;
  margin-bottom: 0.5em;
  font-weight: 500;
}

@media print, screen and (min-width: 768px) {
  .news_cont_wrap .news_nav {
    padding-left: 0;
    margin-bottom: 0.5555555556rem;
    align-items: center;
  }
  .news_cont_wrap .news_cat_list {
    font-size: 0.7777777778rem;
  }
  .news_cont_wrap .news_cat_list li:not(:last-child) {
    margin-right: 3.3333333333rem;
  }
  .news_cont_wrap .news_cat_list li:not(.active) {
    opacity: 0.5;
  }
  .news_cont_wrap .news_list_wrap {
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
  }
  .news_cont_wrap .news_list .date {
    margin-right: 1.1111111111rem;
  }
  .news_cont_wrap .news_list .date dt {
    font-size: 0.7777777778rem;
    margin-bottom: 0.2777777778rem;
  }
  .news_cont_wrap .news_list .date dd {
    font-size: 2.5rem;
    font-weight: bold;
  }
  .news_cont_wrap .news_list .cat_jp {
    margin-right: 3.3333333333rem;
    width: 4.4444444444rem;
    height: 4.4444444444rem;
    font-size: 0.777rem;
    line-height: 1.33;
  }
  .news_cont_wrap .news_list .post_tit {
    width: calc(100% - 13.3333333333rem);
    font-size: 1rem;
    line-height: 1.7222222222;
    margin-top: calc(0px - 0.3611111111em);
    margin-bottom: calc(0px - 0.3611111111em);
  }
  .news_cont_wrap .news_list .post_tit span {
    font-size: 0.777rem;
  }
  .news_cont_wrap .news_list a {
    padding: 1.1111111111rem 0;
    transition: all 0.2s ease-in-out 0s;
    position: relative;
    z-index: 0;
    overflow: hidden;
  }
  .news_cont_wrap .news_list a::before {
    transition: all 0.2s ease-in-out 0s;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: #eff1f2;
    position: absolute;
    top: 0;
    right: 100%;
    z-index: -1;
  }
  .news_cont_wrap .news_list a:hover::before {
    transform: translate(100%, 0);
  }
}
@media only screen and (max-width: 767px) {
  .news_cont_wrap .news_nav {
    width: 89.3333333333vw;
    margin-left: 0;
    margin-bottom: 5.3333333333vw;
  }
  .news_cont_wrap .news_cat_list {
    font-size: 1rem;
    flex-direction: column;
  }
  .news_cont_wrap .news_cat_list li:not(.active) {
    order: 1;
    display: none;
    border-bottom: 1px solid #A0ABB1;
  }
  .news_cont_wrap .news_cat_list li a {
    display: block;
    width: 100%;
    padding: 3.6vw 0 3.6vw 5.3333333333vw;
  }
  .news_cont_wrap .news_cat_list li.active {
    border: 1px solid #A0ABB1;
  }
  .news_cont_wrap .news_cat_list li.active a {
    position: relative;
  }
  .news_cont_wrap .news_cat_list li.active a::after {
    font-size: 0.7692307692rem;
    content: "▼";
    font-weight: bold;
    position: absolute;
    top: 50%;
    z-index: 1;
    transform: translate(0, -50%);
    right: 2.6666666667vw;
  }
  .news_cont_wrap .news_list_wrap {
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
  }
  .news_cont_wrap .news_list li {
    padding: 5.3333333333vw 0;
  }
  .news_cont_wrap .news_list .date {
    margin-right: 2.6666666667vw;
  }
  .news_cont_wrap .news_list .date dt {
    font-size: 0.5384615385rem;
    margin-bottom: 0.84vw;
  }
  .news_cont_wrap .news_list .date dd {
    font-size: 1.7307692308rem;
    font-weight: bold;
  }
  .news_cont_wrap .news_list .cat_jp {
    margin-right: 5.3333333333vw;
    width: 13.3333333333vw;
    height: 13.3333333333vw;
    font-size: 0.6153846154rem;
    line-height: 1.25;
  }
  .news_cont_wrap .news_list .post_tit {
    width: 54.6666666667vw;
    font-size: 1rem;
    line-height: 1.5384615385;
    margin-top: calc(0px - 0.2692307693em);
    margin-bottom: calc(0px - 0.2692307693em);
  }
  .news_cont_wrap .news_list .post_tit span {
    font-size: 0.769rem;
  }
}
/*jsSelect_sp
-----------------------------------------------------------*/
@media only screen and (max-width: 767px) {
  .jsSelect_sp a {
    pointer-events: none;
  }
  .jsSelect_sp.active li {
    display: block;
  }
  .jsSelect_sp.active a {
    pointer-events: auto;
  }
}
/*header
-----------------------------------------------------------*/
header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  background: #fff;
}

header .inner {
  height: 100%;
  align-items: center;
  justify-content: space-between;
}

header .mega_cont {
  display: none;
  background: #EFF1F2;
}

header .nav_tit:not(.contact_btn) {
  font-weight: bold;
}

header .lang_list {
  display: flex;
  vertical-align: middle;
}

header .lang_list > li {
  font-weight: bold;
}
header .lang_list > li:first-child {
  position: relative;
}
header .lang_list > li:first-child::before {
  content: "";
  width: 1px;
  height: 100%;
  background-color: #A0ABB1;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
header .lang_list > li:not(.active) {
  color: #A0ABB1;
}
header .lang_list > li.active .item {
  pointer-events: none;
}

@media print, screen and (min-width: 768px) {
  header {
    height: 6.6666666667rem;
  }
  header .h_logo {
    width: 12rem;
  }
  header .hnav {
    height: 100%;
    width: calc(100% - 16.6666666667rem);
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
  }
  header .hnav > *:not(:last-child) {
    margin-right: 6%;
  }
  header .hnav > *:nth-last-child(2) {
    margin-right: 4.5%;
  }
  header .h_nav_item {
    height: 100%;
  }
  header .mega_cont {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    padding: 2.2222222222rem 0;
  }
  header .news_cont {
    width: 11.11rem !important;
    left: inherit !important;
    right: 17% !important;
    padding: 0 !important;
  }
  header .news_cont_en {
    right: 5.5% !important;
  }
  header .mega_cont .news_list li {
    border-bottom: solid 1px #A0ABB1;
  }
  header .mega_cont .news_list li a {
    display: block;
    width: 100%;
    padding: 0.83rem 1.11rem;
    background: #EFF1F2;
    font-size: 0.77rem;
    letter-spacing: 0.05em;
  }
  header .mega_cont .news_list li a:hover {
    background: #A0ABB1;
    color: #fff;
  }
  header .nav_tit:not(.contact_btn) {
    height: 100%;
    font-size: 0.7777777778rem;
  }
  header .nav_tit:not(.contact_btn) a, header .nav_tit:not(.contact_btn) span {
    cursor: pointer;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    position: relative;
  }
  header .nav_tit:not(.contact_btn) a::after, header .nav_tit:not(.contact_btn) span::after {
    content: "";
    display: block;
    width: 100%;
    height: 4px;
    background-color: #A0ABB1;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: all 0.2s ease-in-out 0s;
    transform: scale(0, 1);
  }
  header .nav_tit:not(.contact_btn) a:hover::after, header .nav_tit:not(.contact_btn) span:hover::after {
    transform: scale(1, 1);
  }
  header .nav_tit.news {
    position: relative;
  }
  header .nav_tit.news .sub_menu {
    display: none;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
  header .nav_tit.news .sub_menu li {
    width: 11.11rem;
    border-bottom: solid 1px #707070;
  }
  header .nav_tit.news .sub_menu li a {
    display: block;
    width: 100%;
    padding: 0.83rem 1.11rem;
    font-size: 0.77rem;
    letter-spacing: 0.05em;
    font-weight: 500;
  }
  header .nav_tit.news .sub_menu li a::after {
    display: none;
  }
  header .nav_tit.news .sub_menu li a:hover {
    background: #A0ABB1;
  }
  header .nav_tit.contact_btn {
    align-self: center;
  }
  header .nav_tit.contact_btn .btn {
    padding: 0.7777777778rem 0;
    width: 6.6666666667rem;
  }
  header .nav_tit.contact_btn .btn:hover, header .nav_tit.contact_btn .btn:active, header .nav_tit.contact_btn .btn:focus {
    color: #fff;
  }
  header .lang_list {
    font-size: 0.6666666667rem;
  }
  header .lang_list > li .item {
    padding: 0.1666666667rem 0.5555555556rem;
    cursor: pointer;
    transition: all 0.2s ease-in-out 0s;
  }
  header .lang_list > li .item:hover {
    opacity: 0.7;
  }
  header .page_list {
    width: 76.3888888889%;
    margin: auto;
  }
  header .page_list li {
    font-size: 0.7777777778rem;
    width: 22.7272727273%;
  }
  header .page_list li:not(:nth-child(4n)) {
    margin-right: 3.0303030303%;
  }
  header .page_list li:not(:nth-child(-n+4)) {
    margin-top: 2.2222222222rem;
  }
  header .page_list li .icon {
    width: 40%;
    margin-right: 6.4%;
  }
  header .business_list li:first-child {
    margin-left: auto;
  }
}
@media only screen and (max-width: 767px) {
  header {
    height: 16vw;
  }
  header .h_logo {
    width: 36vw;
    margin-left: 5.3333333333vw;
  }
  header .h_nav_btn {
    margin-right: 5.3333333333vw;
    width: 8vw;
    height: 4.2666666667vw;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: space-between;
  }
  header .h_nav_btn span {
    display: block;
    height: 2px;
    background: #000;
  }
  header .h_nav_btn span:not(:nth-child(2)) {
    width: 5.3333333333vw;
    margin: 0 auto;
    transition: all 0.2s ease-in-out 0s;
  }
  header .h_nav_btn span:nth-child(2) {
    width: 100%;
  }
  header .h_nav_btn.active span:not(:nth-child(2)) {
    transform: scale(0, 1);
  }
  header .hnav {
    width: 100%;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    /*padding-bottom: 5.3333333333vw;*/
    border-top: 1px solid #000;
    overflow-y: auto;
    transform: translate(100%, 0);
    transition: all 0.2s ease-in-out 0s;
  }
  header .hnav > .nav_tit, header .hnav > .h_nav_item {
    border-bottom: 1px solid #000;
  }
  header .hnav.active {
    transform: translate(0, 0);
  }
  header .nav_tit {
    font-size: 1.1538461538rem;
    font-weight: bold;
  }
  header .nav_tit a, header .nav_tit span {
    display: block;
    padding: 6vw 5.3333333333vw;
  }
  header .btn {
    text-align: left;
    font-size: 1.1538461538rem;
  }
  header .lang_list {
    font-size: 1rem;
    justify-content: center;
    padding: 1.9230769231rem;
  }
  header .lang_list > li .item {
    padding: 0.1923076923rem 3.8461538462rem;
  }
  header .mega_btn .nav_tit a, header .mega_btn .nav_tit span {
    cursor: pointer;
    position: relative;
  }
  header .mega_btn .nav_tit a::after, header .mega_btn .nav_tit a::before, header .mega_btn .nav_tit span::after, header .mega_btn .nav_tit span::before {
    content: "";
    display: block;
    width: 4vw;
    height: 0.5333333333vw;
    background-color: #000;
  }
  header .mega_btn .nav_tit a::before, header .mega_btn .nav_tit span::before {
    transition: all 0.2s ease-in-out 0s;
    position: absolute;
    top: 50%;
    right: 7.3333333333vw;
    z-index: 1;
    transform: translate(0, -50%) rotate(90deg) scale(1, 1) skew(0deg, 0deg);
  }
  header .mega_btn .nav_tit a::after, header .mega_btn .nav_tit span::after {
    position: absolute;
    top: 50%;
    right: 7.3333333333vw;
    z-index: 1;
    transform: translate(0, -50%);
  }
  header .mega_btn .nav_tit a.active::before, header .mega_btn .nav_tit span.active::before {
    position: absolute;
    top: 50%;
    right: 7.3333333333vw;
    z-index: 1;
    transform: translate(0, -50%) rotate(0deg) scale(1, 1) skew(0deg, 0deg);
  }
  header .mega_cont {
    padding: 8vw 0;
  }
  header .news_cont {
    padding: 0 1.53rem !important;
  }
  header .mega_cont .news_list li:not(:last-child) {
    border-bottom: solid 1px #A0ABB1;
  }
  header .mega_cont .news_list li a {
    display: block;
    width: 100%;
    padding: 1.42rem 0;
    font-size: 1.15rem;
    letter-spacing: 0.05em;
    font-weight: 500;
  }
  header .page_list {
    margin: auto;
  }
}
/*main
-----------------------------------------------------------*/
@media print, screen and (min-width: 768px) {
  #main {
    margin-top: 6.6666666667rem;
  }
}
@media only screen and (max-width: 767px) {
  #main {
    margin-top: 16vw;
  }
}
/*
add　2021/12/01
--------------------------------------*/
@media print, screen and (min-width: 768px) {
  .g_bnr_list a {
    transition: all 0.2s ease-in-out 0s;
    display: block;
  }
  .g_bnr_list a:hover {
    opacity: 0.6;
  }
}

/*bottom_link_area
-----------------------------------------------------------*/
@media print, screen and (min-width: 768px) {
  #bottom_link_area {
    border-top: 2px solid #000;
    padding: 2.2222222222rem 0 3.3333333333rem;
  }
}
@media only screen and (max-width: 767px) {
  #bottom_link_area {
    border-top: 1px solid #000;
    padding: 8vw 0;
  }
}
/*footer
-----------------------------------------------------------*/
footer .bottom_cont {
  background: #000;
  color: #fff;
  font-family: "Arial";
}

@media print, screen and (min-width: 768px) {
  footer .nav_cont {
    border-top: 2px solid #000;
    padding: 4.4444444444rem 0 3.5555555556rem;
  }
  footer .bottom_cont .bottom_links .bottom_link {
    margin-left: 2rem;
  }
  footer .nav_cont .inner {
    justify-content: space-between;
    align-items: flex-end;
  }
  footer .nav_cont .info_area {
    width: 22.0588235294%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
  }
  footer .nav_cont .f_logo {
    width: 98%;
    margin-bottom: 1.5rem;
  }
  footer .nav_cont address {
    font-size: 0.6666666667rem;
    line-height: 1.6666666667;
    margin-top: calc(0px - 0.3333333333em);
    margin-bottom: calc(1.6666666667rem - 0.3333333333em);
  }
  footer .nav_cont .btn {
    width: 6.6666666667rem;
    padding: 0.7777777778rem;
  }
  footer .nav_cont .btn:hover, footer .nav_cont .btn:active, footer .nav_cont .btn:focus {
    color: #fff;
  }
  footer .nav_cont .fnav {
    width: 47.9411764706%;
    justify-content: space-between;
    max-width: 24.4444444444rem;
  }
  footer .nav_cont .nav_tit {
    font-size: 0.7777777778rem;
    font-weight: bold;
    margin-bottom: 2.2222222222rem;
  }
  footer .nav_cont .fnav_inlist {
    font-size: 0.6666666667rem;
  }
  footer .nav_cont .fnav_inlist li:not(:last-child) {
    margin-bottom: 1.1111111111rem;
  }
  footer .bottom_cont {
    font-size: 0.5555555556rem;
  }
  footer .bottom_cont .inner {
    padding: 1.9444444444rem 0;
    justify-content: space-between;
  }
  footer .bottom_cont .line_link::after {
    background: #fff;
  }
}
@media only screen and (max-width: 767px) {
  footer {
    text-align: center;
  }
  footer .nav_cont {
    border-top: 1px solid #000;
    padding: 11.3333333333vw 0;
  }
  footer .f_logo {
    width: 62vw;
    margin: auto;
  }
  footer .btn {
    display: none;
  }
  footer .bottom_cont {
    font-size: 0.7692307692rem;
  }
  footer .bottom_cont .inner {
    display: flex;
    flex-direction: column-reverse;
    justify-content: center;
    align-items: center;
    padding: 10vw 0 8vw;
  }
  footer .bottom_cont .inner .bottom_links {
    justify-content: space-between;
    width: 80%;
    margin-bottom: 2rem;
  }
  footer .bottom_cont .inner .copyright {
    font-size: 0.6153846154rem;
  }
}
/* 英語サイト
---------------------------------------------*/
@media only screen and (max-width: 767px) {
  footer.footerEn .bottom_cont .inner .bottom_links {
    width: 50%;
    font-size: 0.9230769231rem;
  }
}
/*js action
-----------------------------------------------------------*/
.tran {
  transition: all 0.2s ease-in-out 0s;
}

.fadein {
  opacity: 0;
}

.fadein.scrollActive {
  opacity: 1;
}

.fadeout {
  opacity: 1;
}

.fadeout.scrollActive {
  opacity: 0;
}

.fadeTop {
  transform: translate(0, 50px);
}

.fadeTop.scrollActive {
  transform: translate(0, 0);
}

.fadeBottom {
  transform: translate(0, -50px);
}

.fadeBottom.scrollActive {
  transform: translate(0, 0);
}

.fadeRight {
  transform: translate(-50px, 0);
}

.fadeRight.scrollActive {
  transform: translate(0, 0);
}

.fadeLeft {
  transform: translate(50px, 0);
}

.fadeLeft.scrollActive {
  transform: translate(0, 0);
}

.scaleUp {
  transform: scale(0.97, 0.97);
}

.scaleUp.scrollActive {
  transform: scale(1, 1);
}

.scaleUp02 {
  transform: scale(0.8, 0.8);
}

.scaleUp02.scrollActive {
  transform: scale(1, 1);
}

@media only screen and (max-width: 767px) {
  .news_cont_wrap .news_list a {
    flex-wrap: wrap;
  }
}
.news_cont_wrap .news_list .date dt {
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .news_cont_wrap .news_list .post_tit {
    margin: 1rem 0 0 0;
    width: 100%;
  }
}
.news_cont_wrap .news_list .post_tit .company {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin-bottom: 0.5rem;
}
.news_cont_wrap .news_list .post_tit .company span {
  margin: 0;
  font-size: 0.6666666667rem;
  padding: 0.1rem 0.5rem;
  border: 1px solid #AFB9BE;
  border-radius: 0.2rem;
  line-height: 1.4;
  color: #AFB9BE;
  font-weight: normal;
}
@media only screen and (max-width: 767px) {
  .news_cont_wrap .news_list .post_tit .company span {
    font-size: 0.7rem;
  }
}

#news .btn_wrap .btn:hover, #news .btn_wrap .btn:active, #news .btn_wrap .btn:focus {
  color: #fff;
}

.not-found .content {
  text-align: center;
  padding: 5.55rem 0;
}
.not-found .content__title .img {
  margin: auto;
  display: block;
  max-width: 11.6rem;
}
.not-found .content__title .text {
  font-size: 1.44rem;
  font-weight: bold;
  margin-top: 1.11rem;
  display: block;
  color: #000;
}
@media only screen and (max-width: 767px) {
  .not-found .content__title .text {
    font-size: 1.25rem;
    line-height: 2;
    margin-top: 1.4rem;
  }
}
.not-found .content__lead {
  font-size: 0.88rem;
  margin: 2rem 0 1.5rem;
  line-height: 2;
}
.not-found .content__caption {
  font-size: 0.66rem;
  line-height: 2;
}
.not-found .content__btn {
  margin-top: 4.44rem;
}
.not-found .content__btn a {
  color: #000;
  font-weight: bold;
  display: inline-block;
  background-color: #AFB9BE;
  border-radius: 4px;
  padding: 1rem 2rem 1rem 1.5rem;
  min-width: 16.6rem;
  margin: auto;
  position: relative;
}
.not-found .content__btn a::after {
  content: "";
  display: block;
  width: 0.66rem;
  height: 0.66rem;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  position: absolute;
  top: 50%;
  right: 1.44rem;
  transform: rotate(45deg) translateY(-50%);
}