@charset "utf-8";

:root {
  
  --color_b: #006AB8;
  --color_n: #004074;
  --color_w: #F5F5F5;
  
  --grad_common: linear-gradient(135deg,  #006ab7 0%,#7db9e8 100%); 
  --grad_common2: linear-gradient(to right, #006ab7 0%, #00A9AC 100%); 

  
}



/* -----------------------------------------------------------
　common
----------------------------------------------------------- */

* {box-sizing: border-box;}
img {max-width: 100%;}
.fwbold {font-weight: bold;}
.center ,
.aligncenter {text-align: center;}
.alignright {text-align: right;}
.alignleft {text-align: left;}
.clear {clear: both;}
figure img {display: block;}
figure.wp-block-image {display: flex;}
figure.wp-block-image.aligncenter {display: table;margin-right: auto;margin-left: auto;}
figure.wp-block-image.alignleft {display: table;margin-right: auto;}
figure.wp-block-image.alignright {display: table;margin-left: auto;}
body figure {margin-bottom: 0;}
a {
  color: inherit;
  text-decoration: none;
}

body {
  font-family: "Noto Sans JP","ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  line-height: 1.875;
  color: #000000;
}
body.nav-open,body.header-open {overflow: hidden;}
input,button ,select,option,textarea {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: inherit;
}
button {cursor: pointer;}
input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
  -webkit-text-fill-color: #000;
}

@media screen and (min-width: 768px) {
  
  .sp_cont {display: none !important;}
  
}
a:hover {
  text-decoration: underline;
  color: inherit;
}

/* -----------------------------------------------------------
  template
----------------------------------------------------------- */

/* :::::::::: header :::::::::: */

header {
  position: fixed;
  z-index: 10;
  inset: 0 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 120px;
}
header::after {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: calc(100% - 240px);
  height: 100%;
  background: rgba(0,106,183,0.95);
  inset: 0 0 0 auto;
  border-radius: 10px 0 0 0;
  opacity: 0;
  transition: 0.5s;
}
.nav-open header::after,.header-open header::after {opacity: 1;}
header .logo {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 240px;
  height: 120px;
  background: #FFFFFF;
  border-radius: 0 0 10px 0;
}
header .logo::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0,106,183,0.95);
  inset: 0;
  transition: 0.5s;
  opacity: 0;
}
.nav-open header .logo::after,.header-open header .logo::after {opacity: 1;}
header .logo a {transition: 0.5s;}
header .logo a:hover {opacity: 0.5;}
header .logo img {
  display: block;
  width: 156px;
}
header .header_menu {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0 0 0 10px;
  padding: 30px 20px;
  background: rgba(255,255,255,0.5);
  backdrop-filter: blur(10px);
  border-radius: 10px;
}
header .header_menu > li {margin: 0 0 0 20px;}
header .header_menu > li > a ,
header .header_menu > li > span {
  position: relative;
  z-index: 0;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
}
header .header_menu > li > a:hover ,
header .header_menu > li > span:hover {opacity: 0.5;} 
header .header_menu > li > span::after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  width: 1px;
  height: 20px;
  background: #FFFFFF;
  inset: auto 0 30px;
  margin: auto;
  opacity: 0;
  transition: 0.5s;
}
header .header_menu > li > a[target="_blank"]::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1.2em;
  height: 1.2em;
  background: #000000;
  mask: url("../img/common/ico_blank.svg") no-repeat center / contain;
  margin: 0 0 0.25em 0.15em;
}
header .header_btn {
  position: absolute;
  z-index: 1;
  height: 70px;
  inset: 0 110px 0 auto;
  margin: auto;
}
header .header_btn li {
  width: 110px;
  height: 30px;
  line-height: 30px;
  font-size: 12px;
  font-weight: 500;
  text-align: center;
}
header .header_btn li:nth-of-type(1) {margin: 0 0 10px;}
header .header_btn li a {
  display: block;
  height: 100%;
  color: #FFFFFF;
  border-radius: 3px;
  text-decoration: none;
  transition: 0.5s;
}
header .header_btn li a:hover {opacity: 0.5;}
header .header_btn li:nth-child(1) a {background: #00A9AC;}
header .header_btn li:nth-child(2) a {background: var(--color_b);}
header .header_btn li a::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1.25em;
  height: 1.25em;
  margin: 0 0 0.25em 0.25em;
}
header .header_btn li:nth-child(1) a::after {background: url("../img/common/ico_contact.svg") no-repeat center / contain;}
header .header_btn li:nth-child(2) a::after {background: url("../img/common/ico_en.svg") no-repeat center / contain;margin: 0 0 0.5em 0.25em;}
.header-open header .header_menu ,
.nav-open header .header_menu {background: none;backdrop-filter: blur(0);}
.header-open header .header_menu > li > span {color: #FFFFFF;} 
.header-open header .header_menu > li > span::after {opacity: 1;}

.menu_box {
  position: fixed;
  z-index: 20;
  inset: 120px 0 auto 0;
  width: 100vw;
  max-height: calc(100dvh - 120px);
  background: rgba(0,106,183,0.95);
  border-radius: 10px 0 0 0;
  overflow-y: auto;
  opacity: 0;
  transition: 0.5s;
  visibility: hidden;
}
.menu_box > div {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 1400px;
  padding: 50px 75px;
  margin: 0 auto;
}
.menu_box > div > p {
  width: 250px;
  font-size: 40px;
  font-weight: 900;
  line-height: 1.2;
  color: #FFFFFF;
}
.menu_box > div > p::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 20px;
  height: 2px;
  background: #FFFFFF;
  margin: 0 0 5px 15px;
}
.menu_box > div > p a {
  text-decoration: none;
  transition: 0.5s;
}
.menu_box > div > p a:hover {opacity: 0.5;}
.menu_box > div > div {width: calc(100% - 250px);}
.menu_box > div > div .btn_menu {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 30px 5%;
  margin: 0 0 30px;
}
.menu_box > div > div .btn_menu > li {width: 30%;}
.menu_box > div > div .btn_menu > li a {
  position: relative;
  z-index: 0;
  display: block;
  color: #FFFFFF;
  font-weight: 700;
  line-height: 1.25;
  padding: 1.25em 3em 1.25em 1.5em;
  border: solid 1px #FFFFFF;
  border-radius: 5px;
  text-decoration: none;
}
.menu_box > div > div .btn_menu > li a::after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  width: 1.375em;
  height: 0.5em;
  mask: url("../img/common/ico_link_ar.svg") no-repeat center / contain;
  background: #FFFFFF;
  inset: 0 20px 0 auto;
  margin: auto;
  transition: 0.5s;
}
.menu_box > div > div .btn_menu > li a:hover::after {transform: translateX(10px);}
.menu_box > div > div .txt_menu {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
.menu_box > div > div .txt_menu li {
  display: inline-block;
  margin: 0 2em 0 0;
}
.menu_box > div > div .txt_menu li a {
  font-size: 14px;
  color: #FFFFFF;
  font-weight: 500;
}
.menu_box .header_btn {display: none;}

.menu_box.active {
  opacity: 1;
  visibility: visible;
}

/* :::::::::: nav :::::::::: */

nav {
  position: fixed;
  inset: 120px 0 auto;
  margin: 0 auto;
  z-index: 11;
}
nav .menu {
  position: absolute;
  z-index: 1;
  width: 70px;
  height: 70px;
  padding: 45px 0 0;
  background: #FFFFFF;
  border-radius: 5px;
  inset: -95px 25px auto auto;
  font-size: 10px;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
}
nav .menu span {font-size: 0;}
.nav-open nav .menu {font-size: 0;}
.nav-open nav .menu span {font-size: 10px;}

nav .menu::before ,
nav .menu::after {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: 30px;
  height: 3px;
  background: #000000;
  margin: auto;
  transition: 0.5s;
}
nav .menu::before {
  inset: 20px 0 auto;
  box-shadow: 0 10px 0 0 #000000;
}
nav .menu::after {inset: 40px 0 auto;}

.nav-open nav .menu::before {
  box-shadow: none;
  inset: 30px 0 auto;
}
.nav-open nav .menu::after {inset: 30px 0 auto;}
.nav-open nav .menu_box {
  opacity: 1;
  visibility: visible;
}
nav .menu_box > div {padding-bottom: 30px;}
nav .menu_box > .search_box {padding: 0 75px 50px;}
nav .menu_box > .search_box > div {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 30px 0 0;
  border-top: solid 1px #FFFFFF;
}
nav .menu_box > .search_box > div p {
  color: #FFFFFF;
  font-size: 20px;
  font-weight: 500;
  margin: 0 30px 0 0;
}
nav .menu_box > .search_box > div form {
  display: flex;
  justify-content: space-between;
  width: 500px;
  height: 60px;
  background: #FFFFFF;
  border-radius: 6px;
}
nav .menu_box > .search_box > div form input[type="text"] {
  width: calc(100% - 60px);
  height: 60px;
  line-height: 60px;
  padding: 0 1em;
  border-radius: 6px 0 0 6px;
}
nav .menu_box > .search_box > div form input[type="submit"] {
  width: 60px;
  height: 100%;
  background: url(../img/common/ico_search.svg) no-repeat center / 30px;
  cursor: pointer;
  font-size: 0;
}
nav .menu_box > .search_box > div form input::placeholder {color: transparent;}

/* :::::::::: main :::::::::: */

main {
  display: block;
  margin: 120px 0 80px;
}
main article {overflow: hidden;}
.box {
  max-width: 1400px;
  padding: 0 75px;
  margin: 0 auto;
}
.flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pnkz {
  color: #FFFFFF;
  background: var(--grad_common2);
  border-radius: 10px 0 0 0;
}
.pnkz .pnkz_inner {
  max-width: 1400px;
  padding: 0 75px;
  margin: 0 auto;
}
.pnkz .pnkz_inner ul {padding: 10px 0;}
.pnkz .pnkz_inner ul li {
  display: inline;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
}
.pnkz .pnkz_inner ul li::after {
  content: ">";
  margin: 0 0.5em;
}
.pnkz .pnkz_inner ul li:nth-last-child(1)::after {
  content: none;
  margin: 0;
}

/* :::::::::: aside :::::::::: */

aside .box_menu {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 30px;
}
aside .box_menu > li {
  position: relative;
  z-index: 0;
  width: calc((100% - 60px) / 3);
  padding: 30px;
  background: var(--grad_common);
  border-radius: 6px;
}
aside .box_menu > li::after ,
aside .box_menu > .box_menu_children p::after {
  position: absolute;
  z-index: 0;
  inset: 0;
  margin: auto;
  display: block;
  content: "";
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  background: #FFFFFF;
  border-radius: 4px;
}
aside .box_menu > li p {
  position: relative;
  z-index: 1;
  font-size: 20px;
  color: var(--color_b);
  font-weight: 700;
  margin: 0 0 20px;
}
aside .box_menu > li p a {
  text-decoration: none;
  transition: 0.5s;
}
aside .box_menu > li p a:hover {opacity: 0.5;}
aside .box_menu > li ul {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  font-size: 16px;
  font-weight: 700;
}
aside .box_menu > li ul li {
  position: relative;
  z-index: 0;
  margin: 0 0.75em 0 0;
  padding: 0 0.75em 0 0;
}
aside .box_menu > li ul li::after {
  position: absolute;
  z-index: 0;
  inset: 0 0 0 auto;
  margin: auto;
  display: block;
  content: "";
  width: 1px;
  height: 1em;
  background: #000000;
}
aside .box_menu > li ul li:nth-last-child(1)::after {content: none;}
aside .box_menu > li ul li a {text-decoration: underline;}
aside .box_menu > li ul li a:hover {opacity: 0.5;}
aside .box_menu > li ul li a[target="_blank"]::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1.5em;
  height: 1.5em;
  background: var(--color_b);
  mask: url("../img/common/ico_target.svg") no-repeat center / contain;
  margin: 0 0 0.25em 0.15em;
}
aside .box_menu > .box_menu_children {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0;
  background: none;
}
aside .box_menu > .box_menu_children::after {content: none;}
aside .box_menu > .box_menu_children p {
  width: 100%;
  margin: 0;
  background: var(--grad_common);
  border-radius: 6px;
}
aside .box_menu > .box_menu_children p a {
  position: relative;
  z-index: 1;
  display: block;
  height: 100%;
  padding: 12px 30px;
}

aside .txt_menu {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: 20px 0 60px;
}
aside .txt_menu li {
  position: relative;
  z-index: 0;
  font-size: 16px;
  margin: 0 1.5em 0 0;
  padding: 0 1.5em 0 0;
}
aside .txt_menu li::after {
  position: absolute;
  z-index: 0;
  inset: 0 0 0 auto;
  margin: auto;
  display: block;
  content: "";
  width: 1px;
  height: 1em;
  background: #000000;
}
aside .txt_menu li:nth-last-child(1)::after {content: none;}
aside .txt_menu li a {text-decoration: underline;}
aside .txt_menu li a:hover {opacity: 0.5;}

/* :::::::::: footer :::::::::: */

.pagetop {
  position: fixed;
  z-index: 9;
  inset: auto 20px 20px auto;
  aspect-ratio: 158 / 244;
  width: 60px;
  font-size: 0;
  background: url("../img/common/btn_pagetop.png") no-repeat top center / cover;
  cursor: pointer;
}
.pagetop:hover {background: url("../img/common/btn_pagetop.png") no-repeat bottom center / cover;}

footer {background: var(--color_w);}
footer .address {
  background: var(--color_n);
  padding: 25px 0;
  color: #FFFFFF;
  line-height: 1.78;
  font-size: 14px;
  font-weight: 500;
}
footer > .box {padding: 30px 75px;}
footer > .box > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
footer > .box > div > p {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  line-height: 1.78;
  font-size: 14px;
}
footer > .box > div > p img {
  display: block;
  width: 50px;
  margin: 0 20px 0 0;
}
footer > .box > div > ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
footer > .box > div > ul .youtube {width: 40px;margin: 0 5px 0 0;}
footer > .box > div > ul .note {width: 44px;}
footer > .box > div > ul li a {transition: 0.5s;}
footer > .box > div > ul li a:hover {opacity: 0.5;}
footer > .box > div + div {padding: 30px 0 0;}
footer > .box > div + div ul {
  flex-wrap: wrap;
  width: 560px;
}
footer > .box > div + div ul li {
  font-size: 14px;
  margin: 0 30px 0 0;
}
footer > .box > div + div > div {
  display: flex;
  align-items: flex-end;
  font-size: 12px;
}
footer > .box > div + div > div img {
  display: block;
  width: 110px;
  margin: 0 0 0 20px;
}

@media screen and (max-width: 1200px) {

  /* :::::::::: header :::::::::: */

  .menu_box > div > p {
    width: 200px;
    font-size: 36px;
  }
  .menu_box > div > div {width: calc(100% - 200px);}
  .menu_box > div > div .btn_menu {gap: 30px 8%;}
  .menu_box > div > div .btn_menu > li {width: 46%;}

  /* :::::::::: aside :::::::::: */

  aside .box_menu {gap: 20px;}
  aside .box_menu > li {
    width: calc((100% - 40px) / 3);
    padding: 0;
  }
  aside .box_menu > li p {
    font-size: 16px;
    margin: 0;
  }
  aside .box_menu > li p a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.75em 1.5em;
  }
  aside .box_menu > li ul {display: none;}
  aside .box_menu > .box_menu_children {display: contents;}
  aside .box_menu > .box_menu_children p {width: calc((100% - 40px) / 3);}
  aside .box_menu > .box_menu_children p a {padding: 0.75em 1.5em;}
  aside .txt_menu {margin: 20px 0 50px;}
  aside .txt_menu li {
    font-size: 16px;
    margin: 0 0.75em 0 0;
    padding: 0 0.75em 0 0;
  }

  /* :::::::::: footer :::::::::: */

  footer .address {padding: 15px 0;}
  footer > .box > div + div > div {
    width: 100%;
    justify-content: flex-end;
  }
}

/* -----------------------------------------------------------
 subpage
----------------------------------------------------------- */

.news_title {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 90px 0 0;
}
.news_title > div {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0 0 50px;
}
.news_title > div time {
  font-weight: 500;
  margin: 0 10px 0 0;
}
.news_title > div .ir_cat {
  width: 100px;
  height: 30px;
  line-height: 28px;
  text-align: center;
  color: var(--color_b);
  border: solid 1px var(--color_b);
  margin: 0 60px 0 0;
}
.news_title > div a img {
  display: block;
  width: 2em;
  margin: 0 0 0 10px;
}
.news_title > div .share_copy a img {width: 1.6em;}

.news_title > div a {transition: 0.5s;}
.news_title > div a:hover {opacity: 0.5;} 
.news_title h1 {
  width: 100%;
  line-height: 1.4;
  font-size: 36px;
  font-weight: 900;
}
.ir_news_bottom {
  margin: 70px 0 0;
  padding: 20px 0 0;
  border-top: solid 3px #00A9AC;
}
.ir_news_bottom .btn_text a {
  display: flex;
  flex-direction: row-reverse;
}
.ir_news_bottom .btn_text a::after {
  margin: 0.5em 1em 0 0;
  transform: rotateY(180deg);
}
.ir_news_bottom .btn_text a:hover::after {transform: rotateY(180deg);}
.title_h2 {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 20px;
}
.title_h3 {
  font-size: 20px;
  font-weight: 700;
}
.p_title {
  font-size: 50px;
  font-weight: 700;
  line-height: 1.3;
  margin: 60px 0 40px;
}
.editor_contents {font-size: 16px;}
.h2_commmon,
.editor_contents h2 {
  color: var(--color_b);
  font-size: 30px;
  line-height: 1.5;
  margin: 60px 0 30px;
}
.h3_commmon,
.editor_contents h3 {
  position: relative;
  z-index: 0;
  font-size: 26px;
  line-height: 1.5;
  margin: 60px 0 25px;
  padding: 0 0 0 1em;
}
.h3_commmon::before,
.editor_contents h3::before {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: 4px;
  height: 100%;
  background: var(--color_b);
  inset: 0 auto 0 0;
}
.h4_commmon,
.editor_contents h4 {
  font-size: 22px;
  line-height: 1.5;
  margin: 40px 0 20px;
}
.editor_contents p {
  font-weight: 500;
  margin: 0 0 30px;
}
.editor_contents table {
  width: auto;
  margin: 10px 0;
  max-width: 100%;
  clear: both;
}
.editor_contents table th,
.editor_contents table td {
  line-height: 1.5;
  padding: 1em 1.5em;
  border: solid 1px #BEBEBE;
}
.editor_contents table th,
.editor_contents table td:nth-child(1) {
  background: #F5F5F5;
  font-weight: 700;
  text-align: left;
}
.editor_contents ul {
  font-weight: 500;
  margin: 30px 0;
}
.editor_contents ul li {
  position: relative;
  z-index: 0;
  padding: 0 0 0 1.5em;
}
.editor_contents ul li::before {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: 6px;
  height: 6px;
  background: var(--color_b);
  border-radius: 50%;
  inset: 0.85em auto auto 0.25em;  
}
.editor_contents ol {
  position: relative;
  z-index: 0;
  font-weight: 500;
  margin: 30px 0 30px 1.5em;
  list-style-type: decimal;
}
.editor_contents .border_box ,
.editor_contents .bg_box {
  padding: 50px;
  margin: 40px 0;
  border-radius: 10px;
}
.editor_contents .border_box > div > *:nth-child(1) ,
.editor_contents .bg_box > div > *:nth-child(1) {margin-top: 0!important;}
.editor_contents .border_box > div > *:nth-last-child(1) ,
.editor_contents .bg_box > div > *:nth-last-child(1) {margin-bottom: 0!important;}
.editor_contents .border_box {border: solid 1px #727272;}
.editor_contents .bg_box {background: #F5F5F5;}

.editor_contents .border_box a,
.editor_contents .bg_box a {
  color: var(--color_b);
  text-decoration: underline;
}
.editor_contents .border_box a:hover,
.editor_contents .bg_box a:hover {text-decoration: none;}

.btn_link {
  width: fit-content;
  min-width: 260px;
  margin: 20px 20px 20px 0!important;
}
.flex .btn_link {margin: 0!important;}
.btn_link a {
  position: relative;
  z-index: 0;
  display: block;
  height: 100%;
  line-height: 1.5;
  padding: 0.75em 3em 0.75em 1em;
  border: solid 1px #727272;
  border-radius: 5px;
  transition: 0.5s;
  font-size: 16px;
}
.btn_link a:hover {
  opacity: 0.5;
  text-decoration: none;
}
.btn_link a::after {
  position: absolute;
  z-index: 0;
  inset: 0 1em 0 auto;
  margin: auto;
  display: block;
  content: "";
  width: 1.25em;
  height: 1.5em;
  background: var(--color_b);
  mask: url("../img/common/ico_link_ar.svg") no-repeat center / contain;
}
.btn_link a[target="_blank"]::after {mask: url("../img/common/ico_target.svg") no-repeat center / contain;}
.btn_link a[href*=".pdf"]::after {mask: url("../img/common/ico_pdf.svg") no-repeat center / contain;}
.btn_link a[download]::after {mask: url("../img/common/ico_dl.svg") no-repeat center / contain;} 

.btn_text {
  width: fit-content;
  margin: 0!important;
}
.btn_text a {
  font-size: 16px;
  line-height: 1.5;
  text-decoration: none;
  font-weight: 700;
}
.btn_text a::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1.25em;
  height: 0.5em;
  background: var(--color_b);
  mask: url("../img/common/ico_link_ar.svg") no-repeat center / contain;
  margin: 0 0 0.5em 1em;
  transition: 0.5s;
}
.btn_text a:hover::after {transform: translateX(10px);}
.btn_jump {
  width: fit-content;
  margin: 0!important;
}
.btn_jump a {
  position: relative;
  z-index: 0;
  display: block;
  height: 100%;
  font-size: 16px;
  line-height: 1.5;
  padding: 0.75em 4em 0.75em 1em;
  border: solid 1px #727272;
  border-radius: 5px;
  transition: 0.5s;
}
.btn_jump a:hover {
  opacity: 0.5;
  text-decoration: none;
}
.btn_jump a::after {
  position: absolute;
  z-index: 0;
  inset: 0 1em 0 auto;
  margin: auto;
  display: block;
  content: "";
  width: 1.25em;
  height: 1.25em;
  background: var(--color_b);
  mask: url("../img/common/ico_link_at.svg") no-repeat center / contain;
}

@media screen and (max-width: 1200px) {

  .p_title {font-size: 45px;}
  .editor_contents .w_table {overflow-x: auto;max-width: none;}
  .editor_contents .w_table table {margin: 0 0 20px;}

}

/* -----------------------------------------------------------
 IRParts
----------------------------------------------------------- */

.newsIndexList_inner,
.ir_newslist {margin: 0 0 50px;}
.newsIndexList_inner a,
.ir_newslist li {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 20px 0;
  font-weight: 500;
  border-bottom: solid 1px #727272;
  font-size: 16px;
}
.newsIndexList_inner a:hover {
  text-decoration: none;
  opacity: 0.5;
}

.newsIndexList_inner a .newsIndexList_day,
.ir_newslist li time {width: 100px;}
.newsIndexList_inner a .newsIndexList_cat ,
.ir_newslist li .ir_cat {
  width: 130px;
  height: 30px;
  text-align: center;
  font-size: 14px;
  color: var(--color_b);
  border: solid 1px var(--color_b);
  margin: 0 20px 0 0;
}
.newsIndexList_inner a:hover {text-decoration: none;}
.newsIndexList_inner a .newsIndexList_title,
.ir_newslist li .ir_title {
  width: calc(100% - 250px);
  color: var(--color_b);
}
.newsIndexList_inner [href*=".pdf"] .newsIndexList_title::before {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1.2em;
  height: 1.2em;
  margin: 0 0.25em 0.25em 0;
  mask: url("../img/common/ico_pdf.svg") no-repeat center / contain;
  background: var(--color_b);
}

.ir_newslist li .ir_title a {
  color: var(--color_b);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
.ir_news_title {
  display: flex;
  justify-content: space-between;
  border-bottom: solid 1px #727272;
  padding: 0 0 10px;
}
.ir_news_title h2 {
  font-size: 24px;
  font-weight: 500;
  margin: 0;
}
.ir_pagenation {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.ir_pagenation a,
.ir_pagenation span {
  font-weight: 500;
  margin: 0 5px;
}
.ir_pagenation a {color: var(--color_b);}
.ir_pagenation a.prev::before,
.ir_pagenation a.next::before {
  width: 0.35em;
  height: 0.35em;
  display: inline-block;
  vertical-align: middle;
  content: "";
  border-top: solid 1px var(--color_b);
  border-right: solid 1px var(--color_b);
  margin: 0 5px 3px;
}
.ir_pagenation a.prev::before {transform:rotate(-135deg);}
.ir_pagenation a.next::before {transform:rotate(45deg);}

.ir_select {margin: 0 0 70px;}
.ir_select > div {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.select_box {
  position: relative;
  z-index: 0;
  width: 290px;
  height: 50px;
  border-radius: 5px;
  margin: 0 30px 0 0;
  background: #E4E4E4;
}
.select_box::before ,
.select_box::after {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  margin: auto;
  display: block;
  content: "";
}
.select_box::before {
  inset: 0 0 0 auto;
  width: 50px;
  height: 50px;
  border-radius: 0 5px 5px 0;
  background: var(--color_b);
}
.select_box::after {
  inset: 0 18px 0 auto;
  width: 14px;
  height: 12px;
  background: #FFFFFF;
  clip-path: polygon(0 0,100% 0, 50% 100%);
}
.select_box select {
  width: 100%;
  height: 100%;
  padding: 0 20px;
  cursor: pointer;
}

.sub_link {
  background: #F5F5F5;
  margin: 20px 0;
  padding: 20px 40px;
  border-radius: 10px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  font-size: 16px;
}
.sub_link li {
  position: relative;
  z-index: 0;
  margin: 10px 1.5em 10px 0;
  padding: 0 1.5em 0 0!important;
}
.sub_link li::before {content: none!important;}
.sub_link li::after {
  position: absolute;
  z-index: 0;
  inset: 0 0 0 auto;
  margin: auto;
  display: block;
  content: "";
  width: 2px;
  height: 1em;
  background: #CFCFCF;
}
.sub_link li:nth-last-child(1)::after {content: none;}
.sub_link li a {
  position: relative;
  z-index: 0;
  text-decoration: none;
  transition: 0.5s;
}
.sub_link li a.current,
.sub_link li a:hover {color: var(--color_b);}
.sub_link li a::before {
  position: absolute;
  display: block;
  content: "";
  margin: auto;
  inset: auto 0 -5px;
  width: 100%;
  height: 3px;
  background: var(--color_b);
  opacity: 0;
  transition: 0.5s;
}
.sub_link li a.current::before,
.sub_link li a:hover::before {opacity: 1;}
.sub_link li a[target="_blank"]::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1.5em;
  height: 1.5em;
  background: var(--color_b);
  mask: url("../img/common/ico_target.svg") no-repeat center / contain;
  margin: 0 0 0.25em 0.15em;
}


.sibling_list {
  margin: 20px 0;
  padding: 20px 40px;
  border-radius: 10px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  font-size: 16px;
  border: solid 1px #CFCFCF;
}
.sibling_list li {
  position: relative;
  z-index: 0;
  margin: 10px 1.5em 10px 0;
  padding: 0 1.5em 0 0!important;
}
.sibling_list li::before {content: none!important;}
.sibling_list li::after {
  position: absolute;
  z-index: 0;
  inset: 0 0 0 auto;
  margin: auto;
  display: block;
  content: "";
  width: 2px;
  height: 1em;
  background: #CFCFCF;
}
.sibling_list li:nth-last-child(1)::after {content: none;}
.sibling_list li a {
  position: relative;
  z-index: 0;
  color: var(--color_b);
  text-decoration: none;
  transition: 0.5s;
}
.sibling_list li a.current,
.sibling_list li a:hover {color: #000;}

.editor_contents .ac {
  position: relative;
  z-index: 0;
  color: #FFFFFF;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.5;
  padding: 0.75em 2.5em 0.75em 1em;
  background: var(--color_b);
  border-radius: 5px;
  cursor: pointer;
  margin: 30px 0 0;
}
.editor_contents .ac::before ,
.editor_contents .ac::after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  background: #FFFFFF;
  margin: auto;
  top: 0;
  bottom: 0;
  left: auto;
}
.editor_contents .ac::before {width: 27px;height: 1px;right: 20px;}
.editor_contents .ac::after {width: 1px;height: 27px;right: 33px;}
.editor_contents .ac.open {background: #00A9AC;}
.editor_contents .ac.open::after {content: none;}
.editor_contents .ac + div {
  display: none;
  font-size: 14px;
  font-weight: 500;
  margin: 20px auto;
}
.editor_contents .ac + div > *:nth-child(1) {margin-top: 0!important;}
.editor_contents .ac + div > *:nth-last-child(1) {margin-bottom: 0!important;}


.ir_library h2 {margin: 0 0 30px;}
.ir_library h3 {margin: 0 0 20px;}
.ir_library .btn_link a::after {background: #707070;}
.document_list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 790px;
  gap: 10px 20px;
  flex-wrap: wrap;
}
.document_list li {
  width: 250px;
  padding: 0!important;
}
.document_list li::before {content: none!important;}
.document_list li a {
  color: var(--color_b);
  font-weight: 700;
}
.document_list li a::before {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1.2em;
  height: 1.2em;
  background: #000000;
  margin: 0 0.25em 0.25em 0;
}
.document_list li a[target="_blank"]::before {mask: url("../img/common/ico_blank.svg") no-repeat center / contain;}
.document_list li a[href*=".pdf"]::before {mask: url("../img/common/ico_pdf.svg") no-repeat center / contain;}
.document_list li a[download]::before {mask: url("../img/common/ico_dl.svg") no-repeat center / contain;} 
.document_list li:has(a.no_link),.document_list li:has(a.no_link_pdf) {display: none;}
.document_list li a.no_link,.document_list li a.no_link_pdf {pointer-events: none;color: #707070;display: none;}
.document_list li a.no_link::before {mask: url("../img/common/ico_blank.svg") no-repeat center / contain;}
.document_list li a.no_link_pdf::before {mask: url("../img/common/ico_pdf.svg") no-repeat center / contain;}
.portal_link {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 0 4%;
  margin: 0 0 70px!important;
}
.portal_link > li {
  width: 48%;
  padding: 0!important;
  border-bottom: solid 1px #00A9AC;
}
.portal_link > li::before {content: none!important;}
.portal_link > li:nth-child(1) ,
.portal_link > li:nth-child(2) {border-top: solid 1px #00A9AC;}
.portal_link > li > a {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 30px 15px;
  text-decoration: none;
}
.portal_link > li a figure {
  width: 46%;
  height: auto;
  aspect-ratio: 1 / 1;
  border: solid 1px #E4E4E4;
  border-radius: 10px;
  overflow: hidden;
}
.portal_link > li a figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.5s;
}
.portal_link > li a:hover figure img {transform: scale(1.1);}
.portal_link > li a dl {
  width: 46%;
  padding: 45px 0 20px;
  line-height: 1.5;
  transition: 0.5s;
}
.portal_link > li a:hover dl {opacity: 0.5;}
.portal_link > li a dl::after {
  position: absolute;
  z-index: 1;
  inset: auto 0 32px auto;
  display: block;
  content: "";
  width: 36px;
  height: 16px;
  background: url("../img/common/ico_link_ar.svg") no-repeat center / contain;
}
.portal_link > li a dl dt {
  font-size: 28px;
  font-weight: 700;
  color: var(--color_b);
  margin: 0 0 20px;
}
.portal_link > li a[target="_blank"] dl dt::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 0.8em;
  height: 0.8em;
  background: var(--color_b);
  margin: 0 0 0.25em 0.25em;
  mask: url("../img/common/ico_blank.svg") no-repeat center / contain;
}
.portal_link.portal_link_w > li {
  width: 100%;
  padding: 30px 15px!important;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
} 
.portal_link.portal_link_w > li > figure {
  width: 21.5%;
  height: auto;
  aspect-ratio: 1 / 1;
  border: solid 1px #E4E4E4;
  border-radius: 10px;
  overflow: hidden;
}
.portal_link.portal_link_w > li > figure a {
  display: block;
  height: 100%;
}
.portal_link.portal_link_w > li > figure a img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.5s;
}
.portal_link.portal_link_w > li > figure a:hover img {transform: scale(1.1);}
.portal_link.portal_link_w > li dl dt {
  font-size: 28px;
  font-weight: 700;
  color: var(--color_b);
  margin: 0 0 20px;
}
.portal_link.portal_link_w > li dl dt a[target="_blank"]::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 0.8em;
  height: 0.8em;
  background: var(--color_b);
  margin: 0 0 0.25em 0.25em;
  mask: url("../img/common/ico_blank.svg") no-repeat center / contain;
}
.portal_link.portal_link_w > li > dl {width: 74.5%;}
.portal_link.portal_link_w > li > dl dd ul {
  list-style-type: disc;
  margin: 20px 0 0 1.5em;
}
.portal_link.portal_link_w > li > dl dd ul li {
  color: var(--color_b);
  font-size: 20px;
  font-weight: 700;
  padding: 0!important;
}
.portal_link.portal_link_w > li > dl dd ul li::before {content: none!important;}
.portal_archive {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 0 4%;
  margin: 0 0 70px!important;
}
.portal_archive > li {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  padding: 30px 15px!important;
  text-decoration: none;
  width: 48%;
  border-bottom: solid 1px #00A9AC;
}
.portal_archive > li:nth-child(1) ,
.portal_archive > li:nth-child(2) {border-top: solid 1px #00A9AC;}
.portal_archive > li::before {content: none!important;}
.portal_archive > li figure {
  width: 46%;
  height: auto;
  aspect-ratio: 1 / 1;
  border: solid 1px #E4E4E4;
  border-radius: 10px;
  overflow: hidden;
}
.portal_archive > li figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.portal_archive > li dl {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  width: 46%;
  line-height: 1.5;
}
.portal_archive > li dl dt {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 50%;
  font-size: 28px;
  font-weight: 700;
  color: var(--color_b);
}
.portal_archive > li dl dd .btn_link {
  width: 100%!important;
  min-width: 100%!important;
  margin: 10px 0 0!important;
}
.portal_archive > li dl dd .btn_link a::after {background: var(--color_b);}
.portal_archive > li dl dd .btn_link a[target="_blank"]::after {mask: url("../img/common/ico_link_ar.svg") no-repeat center / contain;}
.portal_archive > li dl dd .btn_link a[href*=".pdf"]::after {mask: url("../img/common/ico_pdf.svg") no-repeat center / contain;}

.ir_top .box .flex {align-items: stretch;}
.ir_top .box .flex section:nth-of-type(1) {width: calc(100% - 410px);}
.ir_top .box .flex .ir_top_document {
  width: 360px;
  margin: 0 0 50px 50px;
  padding: 30px;
  background: #F5F5F5;
  border-radius: 10px;
}
.ir_top .ir_news_title  {border: none;}
.ir_top .ir_news_title .title_h2 {margin: 0!important;}
.ir_top .ir_news_title .btn_jump {margin: 0 0 0 20px!important;}
.ir_top .ir_news_title .btn_jump a {font-weight: 700;}
.ir_top .box .flex .ir_top_document .title_h2 {
  font-size: 21px;
  margin: 0;
} 
.ir_top .box .flex .ir_top_document .title_h3 {
  margin: 0 0 10px;
} 
.ir_top .box .flex .ir_top_document .flex {
  align-items: center;
  padding: 0 0 10px;
  margin: 0 0 20px;
  border-bottom: solid 1px #000000;
}
.ir_top .box .flex .ir_top_document .btn_text {
  color: var(--color_b);
  font-weight: 700;
}
.ir_top .box .flex .ir_top_document .btn_link {
  width: 100%!important;
  background: #FFFFFF;
  margin: 10px 0 20px!important;
  font-weight: 700;
}
.ir_top .ir_link_box {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 0 5%;
  margin: 0 auto 80px;
}
.ir_top .ir_link_box li {width: 30%;}
.ir_top .ir_link_box li a {text-decoration: none;}
.ir_top .ir_link_box li a figure {
  aspect-ratio: 380 / 200;
  border-radius: 5px;
  overflow: hidden;
  margin: 0 0 10px;
}
.ir_top .ir_link_box li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.5s;
}
.ir_top .ir_link_box li a:hover figure img {transform: scale(1.1);}
.ir_top .ir_link_box li a p {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--color_b);
  font-size: 20px;
  font-weight: 700;
}
.ir_top .ir_link_box li a p::after {
  display: block;
  content: "";
  width: 1em;
  height: 0.5em;
  background: url("../img/common/ico_link_ar.svg") no-repeat center / contain;
  transition: 0.5s;
}
.ir_top .ir_link_box li a:hover p::after {transform: translateX(10px);}

.ir_top .pickup_list {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 0 5%;
  margin: 0 auto;
}
.ir_top .pickup_list > li {width: 21.25%;}
.ir_top .pickup_list > li a {
  position: relative;
  z-index: 0;
  text-decoration: none;
}
.ir_top .pickup_list > li a::after {
  position: absolute;
  z-index: 1;
  inset: 0 0 auto auto;
  display: block;
  content: "";
  width: 1.2em;
  height: 1.2em;
  background: var(--color_b);
  mask: url("../img/common/ico_blank.svg") no-repeat center / contain;
}

.ir_top .pickup_list > li a figure {
  aspect-ratio: 250 / 120;
  overflow: hidden;
  margin: 0 0 10px;
}
.ir_top .pickup_list > li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.5s;
}
.ir_top .pickup_list > li a:hover figure img {transform: scale(1.1);}
.ir_top .pickup_list > li a p {
  font-size: 15px;
  line-height: 1.6;
  transition: 0.5s;
}
.ir_top .pickup_list > li a:hover p {opacity: 0.5;}

.ir_top .ir_top_calendar {
  position: relative;
  z-index: 0;
  margin: 0 auto 80px;
}
.ir_top .ir_top_calendar .btn_text {
  position: absolute;
  z-index: 0;
  inset: 1em 0 auto auto;
  color: var(--color_b);
}

table.ir_archive {
  width: 100%;
  table-layout: fixed;
  margin: 0;
  font-size: 16px;
  font-weight: 700;
}
table.ir_archive tr:nth-child(1) th,
table.ir_archive tr:nth-child(1) td {text-align: center;}
table.ir_archive a {color: var(--color_b);}
table.ir_archive a::before {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1.2em;
  height: 1.2em;
  background: #000000;
  margin: 0 0.25em 0.25em 0;
}
table.ir_archive a[target="_blank"]::before {mask: url("../img/common/ico_blank.svg") no-repeat center / contain;}
table.ir_archive a[href*=".pdf"]::before {mask: url("../img/common/ico_pdf.svg") no-repeat center / contain;}
table.ir_archive a[download]::before {mask: url("../img/common/ico_dl.svg") no-repeat center / contain;} 
table.ir_archive a span {display: inline-block;}
.business_list {margin: 50px 0 0;}
.business_list > li {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 70px 0 0!important;
  padding: 0!important;
}
.business_list > li::before {content: none!important;}
.business_list > li figure {
  width: 400px;
  aspect-ratio: 400 / 265;
  overflow: hidden;
  border-radius: 10px;
}
.business_list > li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.business_list > li > div {width: calc(100% - 440px);}
.business_list > li > div h3 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 28px;
  font-weight: 700;
  padding: 0 0 10px;
  margin: 0 0 20px;
  border-bottom: solid 1px var(--color_b);
}
.business_list > li > div h3 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  color: var(--color_b);
  width: 100%;
  text-decoration: none;
}
.business_list > li > div h3 a {font-size: 0.6em;margin-left: auto;}
.business_list > li > div h3 a::after {
  display: inline-block;
  content: "";
  width: 1em;
  height: 0.5em;
  mask: url("../img/common/ico_link_ar.svg") no-repeat center / contain;
  background: var(--color_b);
  transition: 0.5s;
  margin: 0 0 0.25em 0.5em;
}
.business_list > li:nth-child(1) > div h3 a::after {background: #0085a4;}
.business_list > li:nth-child(2) > div h3 a::after {background: #009f50;}
.business_list > li:nth-child(3) > div h3 a::after {background: #9cc829;}

.business_list > li > div h3 a:hover::after {transform: translateX(10px);}
.business_list > li > div h3::before {content: none;}
.business_list > li:nth-child(1) > div h3 {border-bottom: solid 1px #0085a4;color: #0085a4;}
.business_list > li:nth-child(2) > div h3 {border-bottom: solid 1px #009f50;color: #009f50;}
.business_list > li:nth-child(3) > div h3 {border-bottom: solid 1px #9cc829;color: #9cc829;}
.business_list > li:nth-child(1) > div h3 span::before ,
.business_list > li:nth-child(2) > div h3 span::before ,
.business_list > li:nth-child(3) > div h3 span::before {
  position: static;
  display: inline-block;
  content: "";
  margin: 0 0.5em 0 0;
  vertical-align: middle;
  width: 1.75em;
  height: 1.75em;
}
.business_list > li:nth-child(1) > div h3 span::before {background: url("../img/common/ico_business01.png") no-repeat center / contain;}
.business_list > li:nth-child(2) > div h3 span::before {background: url("../img/common/ico_business02.png") no-repeat center / contain;}
.business_list > li:nth-child(3) > div h3 span::before {background: url("../img/common/ico_business03.png") no-repeat center / contain;}

.business_list > li > div dl dt {
  font-size: 20px;
  font-weight: 700;
}
.business_list > li > div dl dd p {
  font-weight: 400;
  margin: 0 0 20px;
}
.business_list > li > div dl dd ul {
  width: 600px;
  margin: 0;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.business_list > li > div dl dd ul li {margin: 0 30px 0 0;}
.business_list > li > div dl dd ul li a {color: var(--color_b);text-decoration: underline;}
.business_list > li > div dl dd ul li a:hover {text-decoration: none;}
.business_list > li > div dl dd ul li a[target="_blank"]::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1.5em;
  height: 1.5em;
  background: var(--color_b);
  mask: url("../img/common/ico_target.svg") no-repeat center / contain;
  margin: 0 0 0.25em 0.15em;
}

.general_meeting .editor_contents a[href*=".pdf"]::before {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1.2em;
  height: 1.2em;
  margin: 0 0.25em 0.25em 0;
  mask: url("../img/common/ico_pdf.svg") no-repeat center / contain;
  background: #000000;
}
.epn .xj_title a[href*=".pdf"]::before {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1.2em;
  height: 1.2em;
  margin: 0 0.25em 0.25em 0;
  mask: url("../img/common/ico_pdf.svg") no-repeat center / contain;
  background: var(--color_b);
}
.ir-faq .editor_contents a[target="_blank"]:after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1.2em;
  height: 1.2em;
  margin: 0 0 0.25em 0.25em;
  mask: url("../img/common/ico_target.svg") no-repeat center / contain;
  background: var(--color_b);
}


@media screen and (max-width: 1200px) {

  .newsIndexList_inner a,
  .ir_newslist li {flex-wrap: wrap;}
  .newsIndexList_inner a .newsIndexList_title,
  .ir_newslist li .ir_title {
    width: 100%;
    margin: 10px 0 0;
  }

  .ir_select {
    display: block;
    margin: 0 0 55px;
  }
  .ir_select > div {margin: 0 0 35px;}
  .select_box {
    width: 280px;
    margin: 0 20px 0 0;
  }
  .document_list li {
    display: inline-block;
    width: auto;
    min-width: 200px;
  }

  .portal_link {gap: 0 20px;}
  .portal_link > li {width: calc(50% - 10px);}
  .portal_link > li > figure a {padding: 30px 10px;}
  .portal_link > li > dl {padding: 15px 0 20px;}
  .portal_link > li > dl dt {
    font-size: 26px;
    line-height: 1.3;
    margin: 0 0 10px;
  }
  .portal_link.portal_link_w > li > figure a {padding: 0;}

  .ir_top .box .flex {flex-wrap: wrap;}
  .ir_top .box .flex section:nth-of-type(1) {
    width: 100%;
    margin: 0;
  }
  .ir_top .box .flex .ir_top_document {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 0 50px;
  }
  .ir_top .box .flex .ir_top_document .flex {width: 100%;}
  .ir_top .box .flex .ir_top_document .flex + div {width: 260px;}
  .ir_top .box .flex .ir_top_document .btn_link {width: 260px!important;}
  .ir_top .box .flex .ir_top_document .document_list {width: calc(100% - 300px);}
  .ir_top .box .flex .ir_top_document .document_list li {width: 45%;}
  .ir_top .ir_link_box {gap: 0 2%;}
  .ir_top .ir_link_box li {width: 32%;}
  .ir_top .pickup_list {gap: 0 2%;}
  .ir_top .pickup_list > li {width: 23.5%;}
}

.ir_numbers h2 {
  color: #00A9AC;
  font-size: 40px;
  font-weight: 700;
  padding: 40px 0 0;
  margin: 60px 0 30px;
  border-top: solid 3px #00A9AC;
}
.ir_numbers h3 {
  margin: 40px 0 20px;
  font-size: 30px;
  font-weight:700;
}
.ir_numbers h3 > span {
  font-size: 16px;
  font-weight: 400;
  vertical-align: text-bottom;
}
.ir_numbers p {margin: 30px 0;}
.ir_numbers .graph {
  max-width: 440px;
  margin: auto;
  opacity: 0;
  transform: translateY(100px);
  transition: 0.5s;
}
.ir_numbers .country {
  padding: 20px;
  background: #DFF0FB;
  border-radius: 10px;
  overflow: hidden;
  margin: 20px auto;
  opacity: 0;
  transform: translateY(100px);
  transition: 0.5s;
}
.ir_numbers .country img {
  display: block;
  width: auto;
  height: 100%;
  margin: 0 auto;
}
.ir_numbers .flow {
  padding: 20px;
  background: #DFF0FB;
  border-radius: 10px;
  overflow: hidden;
  margin: 20px auto;
  opacity: 0;
  transform: translateY(100px);
  transition: 0.5s;
}
.ir_numbers .flow img {
  display: block;
  width: auto;
  height: 100%;
  margin: 0 auto;
}
.ir_numbers .graph.fadein ,
.ir_numbers .country.fadein ,
.ir_numbers .flow.fadein {
  opacity: 1;
  transform: translateY(0);
}


.ir_numbers .num_box {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 10px;
}
.ir_numbers .num_box li {
  width: calc((100% - 10px ) / 2);
  padding: 30px;
  border: solid 1px #727272;
  border-radius: 10px;
}
.ir_numbers .num_box li h4 {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 10px;
}
.ir_numbers .num_box li sub {font-size: 50%;}
.ir_numbers .num_box li > p {margin: 0;}
.ir_numbers .num_box li > div {
  position: relative;
  z-index: 0;
}
.ir_numbers .num_box li > div p {
  position: absolute;
  z-index: 1;
  inset: auto 0 0 auto;
  padding: 0 0.3em 0.3em;
  font-size: 35px;
  font-weight: 700;
  line-height: 1;
  color: var(--color_b);
  margin: 0;
}
.ir_numbers .num_box li > div p::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 100%;
  height: 20px;
  background: #71C6ED;
  inset: auto 0 0;
  margin: auto;
}
.ir_numbers .num_box li > div p span {font-size: 80px;}
.ir_numbers .num_box li > div figure {
  width: 55%;
  aspect-ratio: 3 / 2;
  padding: 10px;
  background: #DFF0FB;
  border-radius: 10px;
  overflow: hidden;
  margin: 0 0 20px;
}
.ir_numbers .num_box li > div figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.ir_numbers .num_box li .btn_link {margin: 30px 0 0!important;}

@media screen and (max-width: 1200px) {

  .ir_numbers .num_box li {padding: 20px;}
  .ir_numbers .num_box li h4 {font-size: 24px;}
  .ir_numbers .num_box li > div p {font-size: 27px;}
  .ir_numbers .num_box li > div p span {font-size: 60px;}

}
#xj-mainlist tr {
  border-top: solid 1px #727272;
  border-bottom: solid 1px #727272;
}
#xj-mainlist th ,
#xj-mainlist td {
  background: none;
  border: none;
}
#xj-mainlist th {padding: 20px 20px 20px 0;}
#xj-mainlist td {
  color: var(--color_b);
  font-weight: 500;
  padding: 20px 0;
}

.graph_section {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  margin: 70px auto 0;
} 
.graph_section section {
  width: 48.4%;
  margin: 0 0 80px;
}
.graph_section section h2 {
  color: var(--color_b);
  border: none;
  border-top: solid 1px var(--color_b);
  border-bottom: solid 1px var(--color_b);
  font-size: 23px;
  font-weight: 700;
  line-height: 1.2;
  padding: 0.4em;
  margin: 0 0 50px;
  text-align: center;
}
.graph_section section .unit_l,
.graph_section section .unit_r {
  font-size: 15px;
  font-weight: 500;
  margin: 0;
  color: #000;
}
.graph_section section .unit_l {color: #696969;}
.graph_section section .unit_r {text-align: right;}
.graph_section section figure {
  max-width: 82%;
  margin: 0 auto 10px;
}
.graph_section section figure div svg {color: #000!important;font-family: "Noto Sans JP","ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif!important;}
.graph_section section figure img {width: 100%;}
.graph_section section table {
  table-layout: fixed;
  text-align: center;
  margin: 0;
  width: 100%;
  font-weight: 500;
}
.graph_section section table th,
.graph_section section table td {border: solid 1px #707070;padding: 0.7em 0.5em;line-height: 1.2;font-weight: 500!important;}
.graph_section section table th,
.graph_section section table tr:nth-of-type(1) td  {background: #EFF8FF;}
.graph_section section table th {font-size: 16px;text-align: center;}
.graph_section section table td  {font-size: 16px;}
.graph_section section table tr:nth-of-type(1) td  {font-size: 16px;font-weight: 500;}

.editor_contents .xj_mailform_table {
  width: 100%;
  table-layout: fixed;
}
.editor_contents .xj_mailform_table input {
  width: 100%;
  border: solid 1px #707070;
  padding: 0.25em 0.5em;
}
.editor_contents .xj_mailform_table td:nth-of-type(1) {width: 250px;}
.editor_contents .xj_mailform_table td:nth-of-type(2) {padding: 0.75em 1em;}
#xj_mailform_div_button_add ,
#xj_mailform_div_button_del {
  position: relative;
  z-index: 0;
  width: 250px;
  border: solid 1px #727272;
  border-radius: 5px;
  transition: 0.5s;
  margin: 15px 0 0;
}
#xj_mailform_div_button_add:hover,
#xj_mailform_div_button_del:hover {opacity: 0.5;}
#xj_mailform_div_button_add input ,
#xj_mailform_div_button_del input {
  width: 100%;
  height: 100%;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  text-align: left;
  padding: 0.75em 3em 0.75em 1.5em;
}
#xj_mailform_div_button_add::after ,
#xj_mailform_div_button_del::after {
  position: absolute;
  z-index: 0;
  inset: 0 1em 0 auto;
  margin: auto;
  display: block;
  content: "";
  width: 1.25em;
  height: 1.5em;
  background: var(--color_b);
  mask: url("../img/common/ico_link_ar.svg") no-repeat center / contain;
}





