@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap");
/* -----------------------------------------------------------
 =reset and default css
----------------------------------------------------------- */
*, *::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, address, code, del, em, img, q, small, strong, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, caption, tbody, tfoot, thead, article, aside, figcaption, figure, footer, header, menu, nav, section, summary, time, mark, a, input, textarea {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans CJK JP", "Noto Sans JP";
  font-weight: 400;
  font-size: 15px;
  line-height: 1;
  color: #222;
}

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section {
  display: block;
}

button, input, select, textarea {
  font-family: inherit;
  font-size: inherit;
  /* line-height: inherit;
  letter-spacing: inherit; */
}

/* link ------------------------------- */
a {
  color: var(--black);
  text-decoration: none;
}

a:hover {
  color: var(--linkblue);
}

a:hover img {
  opacity: 0.7;
  cursor: pointer;
}

a:visited {
  text-decoration: none;
}

a[href^="tel:"] {
  display: inline-block;
  pointer-events: none;
  color: #FFF;
}

.u_line {
  text-decoration: underline !important;
}

.pointer {
  cursor: pointer;
}

/* form ------------------------------- */
input:focus, textarea:focus {
  outline: none;
}

/* table ------------------------------- */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* list ------------------------------- */
ul {
  list-style: none;
}

/* alignment ------------------------------- */
.tCenter {
  text-align: center;
}

.tLeft {
  text-align: left;
}

.tRight {
  text-align: right;
}

.vTop {
  vertical-align: top;
}

.vMid {
  vertical-align: middle;
}

.vBtm {
  vertical-align: bottom;
}

.mgCenter {
  margin-left: auto;
  margin-right: auto;
}

.fx_left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.fx_center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.fx_right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.fx_top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.fx_middle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.fx_bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.fx_column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

/* image ------------------------------- */
img {
  max-width: 100%;
  vertical-align: middle;
}

/* margin -------------------------------- */
.mg_0 {
  margin: 0 !important;
}

.mgT0 {
  margin-top: 0 !important;
}

.mgB0 {
  margin-bottom: 0 !important;
}

.mgR0 {
  margin-right: 0 !important;
}

.mgL0 {
  margin-left: 0 !important;
}

/* padding -------------------------------- */
.pd_0 {
  padding: 0 !important;
}

.pdT0 {
  padding-top: 0 !important;
}

.pdB0 {
  padding-bottom: 0 !important;
}

.pdR0 {
  padding-right: 0 !important;
}

.pdL0 {
  padding-left: 0 !important;
}

.pdLR_5vw {
  padding-left: 5.33vw;
  padding-right: 5.33vw;
}

/* Font ---------------------------------*/
.font_bold {
  font-weight: 700;
}

.font_semibold {
  font-weight: 600;
}

.font_medium {
  font-weight: 500;
}

/* text indent ---------------------------------*/
.pdL_1em_ti-1em {
  padding-left: 1em;
  text-indent: -1.05em;
}

/* width ------------------------------- */
.w_50 {
  width: 50%;
}

.w_100 {
  width: 100%;
}

/* display -------------------------------- */
.none {
  display: none;
}

.block {
  display: block;
}

.inline_block {
  display: inline-block;
}

.shrink_0 {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.z_index_1 {
  z-index: 1;
}

.nopc_w1700,
.nopc_w1550,
.nopc_w1500,
.nopc_w1200,
.nopc_w1100,
.nopc_w1000,
.nopc_w900,
.nopc_w768,
.nopc_w600,
.nopc_w500,
.nopc_w400 {
  display: none;
}

@media print, screen and (max-width: 1700px) {
  .nopc_w1700 {
    display: block !important;
  }
}
@media (max-width: 1550px) {
  .nopc_w1550 {
    display: block !important;
  }
  .nosp_w1550 {
    display: none !important;
  }
}
@media print, screen and (max-width: 1500px) {
  .nopc_w1500 {
    display: block !important;
  }
  .nosp_w1500 {
    display: none !important;
  }
}
@media print, screen and (max-width: 1200px) {
  .nopc_w1200 {
    display: block !important;
  }
  .nosp_w1200 {
    display: none !important;
  }
}
@media print, screen and (max-width: 1100px) {
  .nopc_w1100 {
    display: block !important;
  }
  .nosp_w1100 {
    display: none !important;
  }
}
@media print, screen and (max-width: 1000px) {
  .nopc_w1000 {
    display: block !important;
  }
  .nosp_w1000 {
    display: none !important;
  }
}
@media print, screen and (max-width: 900px) {
  .nopc_w900 {
    display: block !important;
  }
  .nosp_w900 {
    display: none !important;
  }
}
@media print, screen and (max-width: 768px) {
  .nopc_w768 {
    display: block !important;
  }
  .nosp_w768 {
    display: none !important;
  }
}
@media print, screen and (max-width: 600px) {
  .nopc_w600 {
    display: block !important;
  }
  .nosp_w600 {
    display: none !important;
  }
}
@media print, screen and (max-width: 500px) {
  .nopc_w500 {
    display: block !important;
  }
  .nosp_w500 {
    display: none !important;
  }
}
@media print, screen and (max-width: 400px) {
  .nopc_w400 {
    display: block !important;
  }
  .nosp_w400 {
    display: none !important;
  }
}
/* ページ内リンク調整用 ---------------------------*/
a.anchor {
  display: block;
  padding-top: 85px;
  margin-top: -85px;
}

@media (max-width: 900px) {
  a.anchor {
    padding-top: 55px;
    margin-top: -55px;
  }
}
/* custom property ---------------------*/
:root {
  --black: #222;
  --linkblue: #004eff;
}

/* Color ---------------------------------*/
.font_white {
  color: #fff;
}

.font_black {
  color: var(--black);
}

.bg_white {
  background-color: #fff;
}

.bg_black {
  background-color: var(--black);
}

/* その他 ---------------------------------*/
/* 中のspanを太字に */
.span_bold span {
  font-weight: 700;
}

/* 中のpを2行目から1字落とし */
.p_pdL_1_ti_-1 p {
  padding-left: 1em;
  text-indent: -1em;
}

/* 2行目から1字落とし */
.pdL_1_ti_-1 {
  padding-left: 1em;
  text-indent: -1em;
}

/* 共通スタイル ヘッダー ---------------------------*/
main {
  padding-top: 100px;
}
@media screen and (max-width: 768px) {
  main {
    padding-top: 55px;
  }
}

header {
  position: fixed;
  z-index: 100;
  background-color: #fff;
  width: 100%;
  height: 100px;
  border-bottom: solid 1px #E1E3EB;
  text-align: left;
}
@media screen and (max-width: 768px) {
  header {
    height: 55px;
  }
}

header > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}

.header_logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  height: 100%;
  min-width: 297px;
}
@media print, screen and (max-width: 880px) {
  .header_logo {
    min-width: 270px;
  }
}
@media print, screen and (max-width: 768px) {
  .header_logo {
    min-width: 106px;
  }
}
@media screen and (max-width: 768px) {
  .header_logo span {
    display: none;
  }
}

.en .header_logo span {
  max-width: 160px;
}

.header_logo > a {
  background-color: var(--blue1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 176px;
  height: 100%;
  margin-right: 1.5625vw;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media print, screen and (max-width: 880px) {
  .header_logo > a {
    width: 150px;
  }
}
@media print, screen and (max-width: 768px) {
  .header_logo > a {
    width: 96px;
  }
}
@media print, screen and (max-width: 768px) {
  .header_logo > a img {
    width: 65px;
  }
}

.header_pc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.1em;
  height: 100%;
  padding-right: 2.6vw;
}
@media print, screen and (max-width: 1550px) {
  .header_pc {
    font-size: 16px;
  }
}
@media print, screen and (max-width: 1220px) {
  .header_pc {
    width: 100%;
  }
}
@media print, screen and (max-width: 880px) {
  .header_pc {
    font-size: 15px;
  }
}
@media print, screen and (max-width: 768px) {
  .header_pc {
    -webkit-box-pack: right;
        -ms-flex-pack: right;
            justify-content: right;
    padding-right: 60px !important;
  }
}

.header_pc ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px 2.6vw;
  padding: 0 2.6vw;
}
@media print, screen and (max-width: 1220px) {
  .header_pc ul {
    max-width: 410px;
    margin: 0 auto;
  }
}
@media print, screen and (max-width: 768px) {
  .header_pc ul {
    display: none;
  }
}

@media print, screen and (max-width: 1220px) {
  .en .header_pc ul {
    max-width: unset;
  }
}

.header_pc ul li a {
  position: relative;
  color: var(--black);
  text-decoration: none;
}

.header_pc ul li a::after,
.header_pc ul li a:hover::after {
  position: absolute;
  content: "";
  left: 50%;
  bottom: -12px;
  -webkit-transform: translate(-50%);
          transform: translate(-50%);
  width: 25px;
  height: 0px;
  background-color: var(--blue1);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media print, screen and (max-width: 1550px) {
  .header_pc ul li a::after,
  .header_pc ul li a:hover::after {
    bottom: -7px;
  }
}

.header_pc ul li a:hover::after,
body.message .header_pc ul li a.message::after,
body.company:not(.message) .header_pc ul li a.company:not(.message)::after,
body.ir .header_pc ul li a.ir::after,
body.product .header_pc ul li a.product::after,
body.technology .header_pc ul li a.technology::after,
body.recruit .header_pc ul li a.recruit::after {
  height: 4px;
}

.header_pc > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 100%;
  gap: 10px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media print, screen and (max-width: 1550px) {
  .header_pc > div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

a.button_language,
a.button_contact {
  letter-spacing: 0;
  border-radius: 30px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  height: 50px;
  padding: 0 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media print, screen and (max-width: 1550px) {
  a.button_language,
  a.button_contact {
    height: 35px;
    font-size: 15px;
  }
}
@media print, screen and (max-width: 880px) {
  a.button_language,
  a.button_contact {
    padding: 0 15px;
    font-size: 12px;
  }
}
@media print, screen and (max-width: 768px) {
  a.button_language,
  a.button_contact {
    padding: 0 20px;
  }
}

a.button_language {
  color: var(--gray1);
  border: 2px solid var(--gray1);
}

a:hover.button_language {
  background-color: var(--gray2);
}

a.button_language img {
  vertical-align: -40%;
  margin-right: 8px;
}
@media print, screen and (max-width: 1550px) {
  a.button_language img {
    height: 20px;
  }
}
@media print, screen and (max-width: 768px) {
  a.button_language img {
    height: 15px;
  }
}

a:hover.button_language img,
a:hover.button_contact img {
  opacity: 1;
}

a.button_contact {
  color: #fff;
  background-color: var(--blue1);
}
.header_logo > a:hover,
a:hover.button_contact {
  background-color: var(--blue5);
}

a.button_contact img {
  vertical-align: -20%;
  margin-right: 8px;
}
@media print, screen and (max-width: 1550px) {
  a.button_contact img {
    height: 15px;
  }
}

@media print, screen and (max-width: 768px) {
  .header_pc a.button_contact {
    display: none;
  }
}

/* ハンバーガーメニュー 開始 ----------------------*/
body {
  overflow-x: hidden;
}
body.years_history {
  overflow-x: unset;
}

.hamburger {
  display: none;
}
@media print, screen and (max-width: 768px) {
  .hamburger {
    display: block;
  }
}
.hamburger ._nav {
  position: fixed;
  right: 0;
  top: 0;
  z-index: 99;
  width: 100%;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  padding: 115px 30px 0;
  background-color: rgb(255, 255, 255);
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
  overflow-y: auto;
  visibility: hidden;
  opacity: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 35px;
}
.hamburger ._nav ._item {
  width: 100%;
  font-weight: 700;
  font-size: 18px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  padding-right: 50px;
  text-align: left;
}
.hamburger ._nav ._item img {
  width: 42px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.hamburger ._nav ._item ._text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  letter-spacing: 0.1em;
  gap: 5px;
}
.hamburger ._nav ._item ._text ._eng {
  font-weight: normal;
  font-size: 12px;
}
.hamburger ._nav ._item::before {
  content: "";
  position: absolute;
  top: calc(50% - 15px);
  right: 0;
  width: 30px;
  height: 30px;
  border-radius: 30px;
  background-color: #E9E9F4;
  border: solid 2px #E9E9F4;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.hamburger ._nav ._item::after {
  content: "";
  position: absolute;
  top: calc(50% - 6px);
  right: 9px;
  width: 12px;
  height: 12px;
  background-image: url("../images/menu_icon_arrow.svg");
  background-size: contain;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.hamburger ._nav ._item:hover {
  color: var(--black);
}
.hamburger ._nav ._item:hover::before {
  background-color: #fff;
  border: solid 2px #0232A0;
}
.hamburger ._nav ._item:hover img {
  opacity: 1;
}
.hamburger ._nav ._item.button_contact {
  height: 50px;
  margin-top: 20px;
  gap: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.hamburger ._nav ._item.button_contact::before, .hamburger ._nav ._item.button_contact::after {
  display: none;
}
.hamburger ._nav ._item.button_contact img {
  height: 19px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.hamburger ._line {
  position: fixed;
  right: 15px;
  margin-top: 16px;
  width: 30px;
  height: 22px;
  cursor: pointer;
  z-index: 100;
}
.hamburger ._line ._item {
  position: absolute;
  left: 0;
  width: 30px;
  height: 2px;
  background-color: #032165;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}
.hamburger ._line ._item--1 {
  top: 0;
}
.hamburger ._line ._item--2 {
  top: 10px;
}
.hamburger ._line ._item--3 {
  top: 20px;
}
.hamburger ._line:hover ._item--1 {
  top: 2px;
}
.hamburger ._line:hover ._item--3 {
  top: 18px;
}

/* 表示された時用のCSS */
.is-open ._nav {
  opacity: 1;
  visibility: visible;
}
.is-open ._item--1 {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 10px !important;
}
.is-open ._item--2 {
  opacity: 0;
  transform: translateX(30px);
  -webkit-transform: translateX(30px);
}
.is-open ._item--3 {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 10px !important;
}

/* ハンバーガーメニュー 終了 ----------------------*/
/* アコーディオンメニュー 開始 ----------------------*/
/*アコーディオン全体*/
.aco_menu input {
  display: none; /*チェックボックスを隠す*/
}

/*バー部分*/
.aco_menu label {
  cursor: pointer;
  display: block;
  text-decoration: none;
  font-weight: 700;
  color: var(--black);
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.05em;
  position: relative;
  padding: 23px 0;
  background-color: var(--pink2);
}

/*開いたときに表示される部分*/
.aco_menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-bottom: 1px;
}

.aco_menu li {
  height: 0;
  color: var(--black);
  font-size: 15px;
  line-height: 1.2;
  overflow-y: hidden;
  transition: padding-bottom 0.5s, padding-top 0.5s; /*閉じるときのアニメーション*/
  -webkit-transition: padding-bottom 0.5s, padding-top 0.5s;
  -moz-transition: padding-bottom 0.5s, padding-top 0.5s;
  -ms-transition: padding-bottom 0.5s, padding-top 0.5s;
  -o-transition: padding-bottom 0.5s, padding-top 0.5s;
}

#aco_menu_bar01:checked ~ #links01 li,
#aco_menu_bar02:checked ~ #links02 li,
#aco_menu_bar03:checked ~ #links03 li {
  height: auto; /*開いたときに表示されるliの高さ*/
  opacity: 1;
  background: var(--pink2);
  padding: 4px 0px 8px 40px;
}

/*開いたときの下の余白*/
#aco_menu_bar01:checked ~ #links01 li:last-child,
#aco_menu_bar02:checked ~ #links02 li:last-child,
#aco_menu_bar03:checked ~ #links03 li:last-child {
  margin-bottom: 40px;
}

/*閉じた状態の矢印描画*/
.aco_menu label::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-top: var(--red1) 2px solid;
  border-right: var(--red1) 2px solid;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  right: 2%;
  top: 0;
  bottom: 15%;
  margin: auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

/*開いた状態の矢印描画*/
.aco_menu input[type=checkbox]:checked + label::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-top: var(--red1) 2px solid;
  border-right: var(--red1) 2px solid;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: absolute;
  right: 2%;
  top: 7%;
  bottom: 0;
  margin: auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.aco_menu .no_arrow {
  margin-bottom: 40px;
}

.aco_menu .no_arrow::after {
  display: none;
}

/* 追加 */
.aco_menu li a {
  position: relative;
  color: var(--black);
  font-weight: 500;
}

.aco_menu li a::before {
  position: absolute;
  content: "→";
  top: 5px;
  left: -18px;
  color: var(--red1);
  font-size: 12px;
  font-weight: 700;
}

.aco_menu li p {
  font-size: 12px;
}

/* アコーディオンメニュー 終了 ----------------------*/
/* フッター （PC）--------------------------------*/
@media (min-width: 769px) {
  .footer {
    padding: 0 70px 32px;
    letter-spacing: 0.1em;
    text-align: left;
  }
}

@media (min-width: 769px) {
  .footer_link_1,
  .footer_link_2_wrapper,
  .copyright {
    max-width: 1430px;
    margin: 0 auto;
  }
}

@media (min-width: 769px) {
  .footer_link_1 a,
  .footer_link_2 a {
    display: block;
    text-decoration: none;
  }
}

@media (min-width: 769px) {
  .footer_link_1 > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 4em 2em;
    line-height: 1.15;
    margin: 70px 0;
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .footer_link_1 > ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.footer_link_1 > ul > li {
  font-weight: 700;
}

@media (min-width: 769px) {
  .footer_link_1 > ul > li > a {
    margin-bottom: 1.7em;
  }
}

@media (min-width: 769px) {
  .footer_link_1 ul ul {
    font-weight: 400;
    font-size: 13px;
    letter-spacing: 0.1em;
  }
}

@media (min-width: 769px) {
  .footer_link_1 ul ul li {
    position: relative;
    margin: 1.15em 0 0 0.9em;
  }
}

/* リスト左の罫 */
@media (min-width: 769px) {
  .footer_link_1 ul ul li::before {
    position: absolute;
    content: "";
    top: 0.53em;
    left: -0.75em;
    width: 0.3em;
    height: 0.08em;
    background-color: var(--black);
  }
}

@media (min-width: 769px) {
  .footer_link_2_wrapper {
    border-top: var(--black) solid 1px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 30px;
    padding-top: 27px;
  }
}

@media (min-width: 769px) {
  .footer_link_2_wrapper > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 18px;
    margin-top: 5px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .footer_link_2_wrapper > div {
    max-width: 415px;
  }
}

@media (min-width: 769px) {
  .footer_link_2 ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.3em 2em;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.1em;
    margin-bottom: 33px;
  }
}

@media (min-width: 769px) {
  .footer_logo {
    display: block;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-top: 3px;
  }
}

@media (min-width: 769px) {
  .footer_address {
    font-size: 15px;
    letter-spacing: 0.05em;
  }
}

@media (min-width: 769px) {
  .footer_address > p {
    font-weight: 700;
    font-size: 20px;
    letter-spacing: 0;
  }
}

@media (min-width: 769px) {
  .footer_address > p > span {
    display: inline-block;
    font-size: 15px;
    letter-spacing: 0.05em;
  }
}

@media (min-width: 769px) {
  .footer_address > div {
    margin: 8px 0 0 -0.35em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    line-height: 1.33;
  }
}

@media (min-width: 769px) {
  .footer_address > div > p:first-child {
    font-weight: 600;
  }
}

@media (min-width: 769px) {
  .copyright {
    font-size: 12px;
    letter-spacing: 0.1em;
  }
}

/* フッター （SP）--------------------------------*/
@media (max-width: 768px) {
  .footer {
    padding: 60px 20px 20px;
    letter-spacing: 0.1em;
    text-align: left;
  }
}

@media (max-width: 768px) {
  .footer_link_1 {
    padding-bottom: 50px;
  }
}

@media (max-width: 768px) {
  .footer_link_1 a,
  .footer_link_2 a {
    display: block;
    text-decoration: none;
  }
}

@media (max-width: 768px) {
  .footer_link_1 > ul {
    border-top: solid 1px #E1E3EB;
  }
}

@media (max-width: 768px) {
  .footer_link_1 > ul > li > a {
    font-weight: 700;
    padding: 20px 20px 20px 30px;
    border-bottom: solid 1px #E1E3EB;
    position: relative;
  }
}
@media (max-width: 768px) {
  .footer_link_1 > ul > li > a::before {
    content: "";
    position: absolute;
    top: calc(50% - 15px);
    right: 20px;
    width: 30px;
    height: 30px;
    border-radius: 30px;
    background-color: #E9E9F4;
    border: solid 2px #E9E9F4;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
}
@media (max-width: 768px) {
  .footer_link_1 > ul > li > a::after {
    content: "";
    position: absolute;
    top: calc(50% - 6px);
    right: 29px;
    width: 12px;
    height: 12px;
    background-image: url("../images/menu_icon_arrow.svg");
    background-size: contain;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
}
.footer_link_1 > ul > li > a:hover {
  color: var(--black);
}
@media (max-width: 768px) {
  .footer_link_1 > ul > li > a:hover::before {
    background-color: #fff;
    border: solid 2px #0232A0;
  }
}

@media (max-width: 768px) {
  .footer_link_1 ul ul {
    display: none;
  }
}

@media (max-width: 768px) {
  .footer_link_2_wrapper > div {
    border-top: var(--black) solid 1px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 47px;
  }
}

@media (max-width: 768px) {
  .footer_link_2 ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2em;
    margin-bottom: 107px;
  }
}

@media (max-width: 768px) {
  .footer_logo {
    display: block;
    width: 150px;
  }
}

@media (max-width: 768px) {
  .footer_logo img {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .footer_address {
    font-size: 15px;
    letter-spacing: 0.05em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media (max-width: 768px) {
  .footer_address > p {
    font-weight: 700;
    font-size: 20px;
    letter-spacing: 0;
    margin-top: 26px;
    width: 194px;
  }
}

@media (max-width: 768px) {
  .footer_address > p > span {
    display: inline-block;
    font-size: 15px;
    letter-spacing: 0.05em;
  }
}

@media (max-width: 768px) {
  .footer_address > div > p {
    line-height: 1.33;
    text-align: center;
  }
}

@media (max-width: 768px) {
  .footer_address > div > p:first-child {
    font-weight: 600;
    margin-top: 10px;
  }
}

@media (max-width: 768px) {
  .copyright {
    font-size: 12px;
    letter-spacing: 0.1em;
    padding: 40px 0 20px;
    text-align: center;
  }
}/*# sourceMappingURL=common.css.map */
@charset "UTF-8";

/* -----------------------------------------------------------
 AuBEX TOP CSS
----------------------------------------------------------- */

/* custom property ---------------------*/
:root {
  --gray1: #969696;
  --gray2: #f4f4f6;
  --blue1: #032165;
  --blue2: #12359A;
  --blue3: #0232A0;
  --blue4: #E9E9F4;
  --blue5: #73B7FA;
  --blue6: #DEE8FF;
}

/* Color ---------------------------------*/
.font_gray1 { color: var(--gray1) !important; }
.font_gray2 { color: var(--gray2); }
.font_blue1 { color: var(--blue1); }
.font_blue2 { color: var(--blue2); }
.font_blue3 { color: var(--blue3); }
.font_blue4 { color: var(--blue4); }
.font_blue5 { color: var(--blue5); }
.font_blue6 { color: var(--blue6); }

.bg_gray1 { background-color: var(--gray1); }
.bg_gray2 { background-color: var(--gray2); }
.bg_blue1 { background-color: var(--blue1); }
.bg_blue2 { background-color: var(--blue2); }
.bg_blue3 { background-color: var(--blue3); }
.bg_blue4 { background-color: var(--blue4); }
.bg_blue5 { background-color: var(--blue5); }
.bg_blue6 { background-color: var(--blue6); }


body {
  background-color: var(--gray2);
}



/* サムネイル型スライダー -------------------*/
/* スライダー全体を囲うラッパー要素 */
.splide-wrapper {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}

.main-carousel {
/* メイン画像と画像リストの間の余白 */
    margin-bottom: 0.87vw;
}
.main-carousel .splide__slide img {
  width: 100%;
}

/* ホバー・表示中のサムネイル画像を変更 */
.splide__slide.is-active.thum_00 { content: url(../images/mv_slide_00_thum_on.jpg); }
.splide__slide.is-active.thum_01 { content: url(../images/mv_slide_01_thum_on.jpg); }
.splide__slide.is-active.thum_02 { content: url(../images/mv_slide_02_thum_on.jpg); }
.splide__slide.is-active.thum_03 { content: url(../images/mv_slide_03_thum_on.jpg); }
.splide__slide.is-active.thum_04 { content: url(../images/mv_slide_04_thum_on.jpg); }
.splide__slide.is-active.thum_05 { content: url(../images/mv_slide_05_thum_on.jpg); }
.splide__slide.is-active.thum_06 { content: url(../images/mv_slide_06_thum_on.jpg); }

/* サムネイル画像の大きさ */
.thum_list .splide__slide img {
  width: 265px;
}
/* 画像リスト全体の幅 */
.thum_list {
  max-width: 1692px;
  margin: 0 auto !important;
}
/* 画像リストの左右に余白 */
.pdlr_6 { 
  padding-left: 6.38vw; 
  padding-right: 6.38vw;
}

.splide__track--nav>.splide__list>.splide__slide.is-active {
  /* border: none !important; */
  border: 3px solid transparent !important;
}

#loop-slider-sp1, 
#loop-slider-sp2, 
#loop-slider-sp3 { 
  display: none; 
}

@media (max-width: 768px) {
/* 日本語 */
.mv_slide_00 { content: url(../images/mv_slide_00_sp.png); }
.mv_slide_01 { content: url(../images/mv_slide_01_sp.png); }
.mv_slide_02 { content: url(../images/mv_slide_02_sp.png); }
.mv_slide_03 { content: url(../images/mv_slide_03_sp.png); }
.mv_slide_04 { content: url(../images/mv_slide_04_sp.png); }
.mv_slide_05 { content: url(../images/mv_slide_05_sp.png); }
.mv_slide_06 { content: url(../images/mv_slide_06_sp.png); }
/* 英語 */
.en .mv_slide_00 { content: url(../images/mv_slide_00_sp_en.png); }
.en .mv_slide_01 { content: url(../images/mv_slide_01_sp_en.png); }
.en .mv_slide_02 { content: url(../images/mv_slide_02_sp_en.png); }
.en .mv_slide_03 { content: url(../images/mv_slide_03_sp_en.png); }
.en .mv_slide_04 { content: url(../images/mv_slide_04_sp_en.png); }
.en .mv_slide_05 { content: url(../images/mv_slide_05_sp_en.png); }
.en .mv_slide_06 { content: url(../images/mv_slide_06_sp_en.png); }

.main-carousel {
  margin-bottom: 12px;
}
  /* サムネイルの幅を調整 */
.splide__track--nav > .splide__list > .splide__slide {
  width: 100% !important;
}
.splide__track--nav > .splide__list > .splide__slide.is-active {
  width: 100% !important;
}
/* サムネイルをグリッド表示 */
#thumbnail-carousel .splide__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
}
.pdlr_6 { 
  padding-left: 4vw; 
  padding-right: 4vw;
}

#loop-slider { 
  display: none; 
}
#loop-slider-sp1, 
#loop-slider-sp2, 
#loop-slider-sp3 { 
  display: block; 
}
}

@media (max-width: 500px) {
  #thumbnail-carousel .splide__list {
    grid-template-columns: repeat(2, 1fr);
  }
}  


/* PICK UP CONTENTS -------------------*/
.pickup {
  background-image: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,0) 100px, var(--blue1) 100px, var(--blue1) 100%);
  margin-top: 45px;
  padding-bottom: 100px;
}

.pickup_menu {
  background-image: url(../images/gold_circle_pickup.svg);
  background-position: top center;
  background-repeat: no-repeat;
  max-width: 1676px;
  margin: 0 auto;
  padding-top: 220px;
}

.pickup_menu { transform-origin: top center; }
@media (max-width: 1715px) {
    .pickup_menu { scale: 95%;} .pickup { height: 784px;}}
@media (max-width: 1635px) {
    .pickup_menu { scale: 90%;} .pickup { height: 748px;}}
@media (max-width: 1550px) {
    .pickup_menu { scale: 85%;} .pickup { height: 712px;}}
@media (max-width: 1465px) {
    .pickup_menu { scale: 80%;} .pickup { height: 676px;}}
@media (max-width: 1380px) {
    .pickup_menu { scale: 75%;} .pickup { height: 640px;}}
@media (max-width: 1300px) {
    .pickup_menu { scale: 70%;} .pickup { height: 604px;}}
@media (max-width: 1215px) {
    .pickup_menu { scale: 65%;} .pickup { height: 568px;}}
@media (max-width: 1130px) {
    .pickup_menu { scale: 60%;} .pickup { height: 532px;}}

.pickup_bg_1 { background: url(../images/pickup_contents_01.jpg); }
.pickup_bg_2 { background: url(../images/pickup_contents_02.jpg); }
.pickup_bg_3 { background: url(../images/pickup_contents_03.jpg); }
.pickup_bg_4 { background: url(../images/pickup_contents_04.jpg); }

.pickup_menu > div {
    display: flex;
    justify-content: center;
    gap: 0.625vw;
    filter: drop-shadow(0px 70px 70px rgba(0,22,75,0.7));
}

.pickup_menu a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  flex-shrink: 0;
  background-position: center;
  max-width: 410px;
  width: 100%;
  aspect-ratio: 41 / 50;
  padding: 35px 35px 75px;
  border-radius: 20px;
  color: #fff;
  border: rgba(255,255,255,0.0) solid 10px;
  transition: all .3s;
  /* filter: drop-shadow(0px 70px 70px rgba(0,22,75,0.7)); */
}
.pickup_menu a:hover {
  background-color:rgba(255,255,255,0.4);
  background-blend-mode:lighten;
  border: rgba(255,255,255,0.4) solid 10px;
}

.pickup_menu h3:first-child {
  font-weight: 400;
  font-size: 25px;
  letter-spacing: 0.15em;
}

.pickup_menu h3:nth-child(2) {
  display: block;
  font-weight: 700;
  font-size: 27px;
  letter-spacing: 0.1em;
  margin-top: 13px;
}
/* 矢印の丸 白 */
.arrow_pickup_wh a::before {
  position: absolute;
  content: "";
  bottom: 74px;
  right: 35px;
  width: 65px;
  height: 65px;
  border-radius: 50%;
  border: rgba(255, 255, 255, 0) solid 3px;
  background-color: rgba(255, 255, 255, 0.3);
  background-image: url(../images/arrow_pickup.svg);
  background-position: center;
  background-repeat: no-repeat;
  z-index: 1;
}
/* hover 矢印の丸の白線 */
.arrow_pickup_wh a:hover::before {
  border: rgba(255, 255, 255, 1) solid 3px;
  background-color: transparent;
}

@media (max-width: 1045px) {
.pickup { 
  height: initial; 
  background-image: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,0) 35px, var(--blue1) 35px, var(--blue1) 100%);
}
.pickup_menu { 
  scale: initial; 
  background-size: 250px;
  padding-top: 136px;
} 
.pickup_menu > div {
  flex-wrap: wrap;
  gap: 30px 12px;
  padding: 0 15px;
}
.pickup_menu a {
  max-width: 345px;
  aspect-ratio: 23 / 28;
  padding: 30px 30px 61px;
  background-size: 345px;
  border: rgba(255,255,255,0.0) solid 8px;
}
.pickup_menu a:hover {
  border: rgba(255,255,255,0.4) solid 8px;
}
.pickup_menu h3:first-child {
  font-size: 19px;
  letter-spacing: 0.15em;
}
.pickup_menu h3:nth-child(2) {
  font-size: 22px;
  letter-spacing: 0.1em;
  margin-top: 8px;
}
/* 矢印の丸 白 */
.arrow_pickup_wh a::before {
  bottom: 57px;
  right: 32px;
  width: 55px;
  height: 55px;
  background-size: 20px;
}
}


/* IR情報・お知らせ ----------------------*/
.ir_topics_box_2_part {
  background-color: var(--blue1);
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px 22px;
  padding-bottom: 95px;
}

.news_box {
  background-color: #fff;
  max-width: clamp(600px, -110px + 50vw, 704px);
  width: 100%;
  border-radius: 20px;
  padding: 68px 72px 45px 62px;
  font-size: 15px;
  letter-spacing: 0.05em;
  z-index: 1;
}
@media (max-width: 1400px) {
    .news_box { max-width: 704px; }
}
.news_box h2 {
  position: relative;
  display: block;
  margin-bottom: 28px;
}
.news_box h2 a {
  font-weight: 700;
  color: var(--blue2);
  font-size: 15px;
  letter-spacing: 0.1em;
}
.news_box h2 a img {
  vertical-align: -45%;
  padding-right: 16px;
  opacity: 1;
}
.news_box h2 p {
  display: inline;
}

.arrow_blue a {
  display: block;
}

/* 矢印の丸 青 IR用 */
.arrow_blue a::before {
  position: absolute;
  content: "";
  bottom: -8px;
  right: 0px;
  width: 65px;
  height: 65px;
  border-radius: 50%;
  border: var(--blue4) solid 3px;
  background-color: var(--blue4);
  background-image: url(../images/arrow_blue3.svg);
  background-position: center;
  background-repeat: no-repeat;
  transition: all .3s;
  z-index: 1;
}
/* hover 矢印の丸の青線 */
.arrow_blue a:hover::before {
  background-color: #fff;
  border: var(--blue3) solid 3px;
}
/* 矢印の丸 青 content用 */
.arrow_blue.content_list a::before {
  top: 50%;
  translate: 0 -50%;
  right: 45px;
}

.news_list {
  margin-left: 10px;
  /* 破線（太さ1px 線分2px 間隔2px） */
  background-image : linear-gradient(to right, var(--gray1), var(--gray1) 2px, transparent 2px, transparent 4px); 
  background-size: 4px 1px;
  background-position: left bottom;
  background-repeat: repeat-x;
}

.news_list li {
  padding: 20px 0 10px;
  /* 破線（太さ1px 線分2px 間隔2px） */
  background-image : linear-gradient(to right, var(--gray1), var(--gray1) 2px, transparent 2px, transparent 4px); 
  background-size: 4px 1px;
  background-position: left top;
  background-repeat: repeat-x;
}

.news_list_tag {
  position: relative;
}
/* タグ共通 */
.news_list_tag::after,
.topics .news_list_tag::after {
  position: absolute;
  top: -2px;
  right: -124px;
  font-weight: 700;
  text-align: center;
  border-radius: 15px;
  width: 104px;
  padding: 5px 0 6px;
}
/* IRタグ */
.news_list_tag::after {
  content: "IR";
  color: #fff;
  background-color: var(--blue2);
}
/* Topicsタグ */
.topics .news_list_tag::after {
  color: var(--blue2);
  background-color: #fff;
  border: var(--blue2) solid 1px;
}
.topics .news_list_tag.--topics::after {
  content: "Topics";
}
.topics .news_list_tag.--report::after {
  content: "社会貢献";
}
.news_list a:hover span::after,
.topics .news_list a:hover span::after {
    opacity: .7;
}

.news_list a {
  color: var(--black);
}
.news_list a:hover {
  /* opacity: 0.7; */
  color: var(--linkblue);
}

.news_list p {
  font-weight: 700;
  margin-top: 12px;
  line-height: 1.8;
}
.news_list p span { display: inline-block; }
.news_list p.line_1 { margin-bottom: 1.8em; }

@media (max-width: 768px) {
.ir_topics_box_2_part.pdLR_5vw {
  padding: 0 0 90px;
}
.news_box {
  padding: 45px 35px 50px 25px;
}
.ir_info { width: 219px; }
.topics_w { width: 100px; }
.news_box h2 {
  margin-bottom: 24px;
}
.news_box h2 a img {
  padding: 0 0 8px;
}
.news_box h2 p {
  display: block;
  padding-left: 10px;
}
.news_box p span { display: inline; }
.news_box p.line_1 { margin-bottom: 0; }
.arrow_blue a::before {
  bottom: 7px;
  width: 55px;
  height: 55px;
  background-size: 20px;
}
.arrow_blue.content_list a::before {
  right: 25px;
}
}



/* オーベクスの取り組みについて -----------------*/
.content {
  background: var(--blue1);
  padding-bottom: 100px;
}

.content h2 {
  display: block;
  background: url(../images/gold_circle_contents.svg) top center no-repeat;
  text-align: center;
  color: #fff;
  font-weight: 700;
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: 0.1em;
  padding: 90px 0 68px 63px;
  margin-right: 63px;
}

.content_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 40px;
  margin: 0 auto;
  padding: 0 40px;
  max-width: 1510px;
}

.content_list a {
  position: relative;
  background: #fff;
  border: #fff solid 5px;
  max-width: 450px;
  width: 100%;
  border-radius: 120px;
  padding: 45px;
  display: flex;
  align-items: center;
  gap: 5px;
  line-height: 1.25;
  color: var(--black);
  filter: drop-shadow(0px 10px 10px rgba(0, 0, 0, 0.2));
  transition: all .3s;
}
.content_list a:hover {
  background: var(--blue6);
}

.content_list a:hover img {
  opacity: 1;
}

.content_list h3:first-child {
  font-weight: 400;
  font-size: 18px;
  letter-spacing: 0.1em;
  padding-bottom: 5px;
}

.content_list h3:last-child {
  font-size: 20px;
  letter-spacing: 0.05em;
}

@media (max-width: 1045px) {
  .content {
    padding-bottom: 45px;
  }
  .content h2 {
    background: url(../images/gold_circle_contents_sp.svg) top center no-repeat;
    font-size: 25px;
    letter-spacing: 0.1em;
    padding: 55px 0 20px 0;
    margin: 0 0 25px;
  }
  .content_list {
    gap: 15px;
    padding: 0 15px;
  }  
  .content_list a {
    max-width: 345px;
    padding: 25px 25px 25px 30px;
    line-height: 1.25;
  }
  .content_ir_a {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
  .content_list a img {
    width: 60px;
  } 
  .content_list h3:first-child {
    font-size: 15px;
    letter-spacing: 0.1em;
    line-height: 1;
    padding-bottom: 3px;
  }
  .content_list h3:last-child {
    font-size: 18px;
    letter-spacing: 0.05em;
  }
}



/* オーベクスについて --------------------*/
.about {
  padding: 273px clamp(255px, -235px + 33.33vw, 405px) 100px 0; /* w1470-1920 */
}
.about_box {
  display: flex;
  justify-content: space-between;
  background-color: #fff;
  border-radius: 0 20px 20px 0;
}
.about_text {
  padding: 73px 0 66px clamp(46px, -444px + 33.33vw, 196px);
  letter-spacing: 0.05em;
  line-height: 1.8;
}

.about_text h2 {
  width: 603px;
  height: 146px;
  background: url(../images/gold_circle_about.svg) no-repeat;
  text-align: center;
  color: var(--blue1);
  font-weight: 700;
  font-size: 30px;
  letter-spacing: 0.1em;
  padding: 76px 0 0 56px;
  margin: -183px 0 71px;
}

.about_text p {
  padding-left: 49px;
  width: clamp(550px, -440px + 90vw, 730px);
}

.about_text p:first-of-type {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-bottom: 0.8em;
}

.about_link {
  font-weight: 700;
  margin: 25px 0 0 49px;
  padding-top: 15px;
  /* 破線（太さ1px 線分2px 間隔2px） */
  background-image : linear-gradient(to right, var(--gray1), var(--gray1) 2px, transparent 2px, transparent 4px); 
  background-size: 4px 1px;
  background-position: left top;
  background-repeat: repeat-x;
}

.about_link a i {
  margin-right: 10px;
}

.about_image {
  margin: -130px -80px 0 0;
}

.about_image img {
  border-radius: 20px;
  box-shadow: 80px -73px 0 var(--blue1);
}

.about_image p {
  margin-top: 11px;
}

@media (max-width: 1300px) {
.about {
  padding: 173px 150px 180px 0;
}
.about_box {
flex-direction: column;
}
.about_text {
  padding-right: 4em;
}
.nosp_w1300 {
  display: none;
}
.about_link {
  width: clamp(550px, -440px + 90vw, 730px);
}
.about_image {
  margin: -300px 0 -100px 15px;
  text-align: right;
}
.about_image img {
  width: 315px;
  box-shadow: 50px -50px 0 var(--blue1);
}
}

@media (max-width: 1100px) {
.about {
  padding: 173px 100px 310px 0;
}
.about_text {
  padding: 59px 30px 0 15px;
}
.about_text p {
  width: initial;
}
.about_link {
  width: initial;
}
.about_image {
  margin: 80px 0 -250px 15px;
}
}

@media (max-width: 768px) {
.about {
  padding: 155px 15px 300px 0;
}
.about_text h2 {
  width: initial;
  background: url(../images/gold_circle_about_sp.svg) no-repeat;
  background-position: center top;
  background-size: min(314px, 100%);
  font-size: 25px;
  padding: 40px 0 0 30px;
  margin: -122px 0 -10px 0;
}
.about_text p:first-of-type {
  font-size: 20px;
  letter-spacing: 0.1em;
}
.about_text {
  padding: 59px 30px 0 15px;
}
.about_text p {
  padding-left: 30px;
}
.about_link {
  margin-left: 30px;
}
.about_image {
  margin: 90px 30px -219px 15px;
}
.about_image img {
  width: 315px;
  box-shadow: 45px -45px 0 var(--blue1);
}

}