@charset "utf-8";
/* ========================================================
	contents.css 
======================================================== */
/* ヘッダー
============================================================================================================ */
#header {
      font-size: 1.6rem;
      position: fixed;
      width: 100%;
      z-index: 3000;
      background: #fff;
      box-sizing: border-box;
      height: 110px;
}
#header .head {
      padding-left: 2vw;
      display: flex;
      justify-content: space-between;
      align-items: center;
      position: relative;
}
@media screen and (max-width: 1380px) {
      #header {
            font-size: 1.5rem;
      }
}
@media screen and (max-width: 960px) {
      #header {
            height: 80px;
      }
      #header .head {
            height: 100%;
      }
}
/* logo */
#header .logo {
      width: 30rem;
}
#header .logo img {
      width: 100%;
}
@media screen and (max-width: 1370px) {
      #header .logo {
            width: 18vw;
      }
}
@media screen and (max-width: 960px) {
      #header .logo {
            width: 22rem;
      }
}
/* globalnavi nav_______ pc
____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ */
@media screen and (min-width:961px), print {
      #header nav > div > div {
            display: flex;
            align-items: center;
            gap: 2em;
            justify-content: flex-end;
      }
      #header nav #global {
            display: flex;
            justify-content: flex-end;
            letter-spacing: 1px;
            margin-top: 42px;
      }
      /*第1*/
      #header nav #global > li {
            z-index: 2;
            min-width: 8em;
      }
      #header nav #global > li > a {
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0 1.5em;
            height: 68px;
            position: relative;
      }
      .nav_down {
            display: none;
      }
      #header nav #global > li > a:after {
            content: "";
            position: absolute;
            bottom: -4px;
            left: 0;
            width: 100%;
            height: 3px;
            background: var(--col_main);
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
      }
      #header nav #global > li > a:hover:after {
            bottom: 0;
            opacity: 1;
            visibility: visible;
      }
      #header nav #global > li > a .head_ico {
            position: relative;
            display: block;
            padding-left: 1.8em;
      }
      #header nav #global > li > a .head_ico:before {
            content: "";
            background: url("../images/head_ico_01.svg") no-repeat;
            aspect-ratio: 17/31;
            height: 1.6em;
            background-size: contain;
            position: absolute;
            top: 50%;
            left: 0;
            transform: translate(-0%, -50%);
      }
      #header nav #global > li > a .head_ico.head_ico_02:before {
            background: url("../images/head_ico_02.svg") no-repeat;
            aspect-ratio: 18/26;
      }
      #header nav #global > li > a .head_ico.head_ico_03:before {
            background: url("../images/head_ico_03.svg") no-repeat;
            aspect-ratio: 18/26;
      }
      #header nav #global > li > a .head_ico.head_ico_04 {
            padding-left: 2.2em
      }
      #header nav #global > li > a .head_ico.head_ico_04:before {
            background: url("../images/head_ico_04.svg") no-repeat;
            aspect-ratio: 28/23;
            height: 1.4em;
      }
      #header nav #global > li > a .head_ico.head_ico_05 {
            padding-left: 2.2em
      }
      #header nav #global > li > a .head_ico.head_ico_05:before {
            background: url("../images/head_ico_05.svg") no-repeat;
            aspect-ratio: 23/26;
      }
      #header nav #global > li > a .head_ico.head_ico_06:before {
            background: url("../images/head_ico_06.svg") no-repeat;
            aspect-ratio: 16/24;
            height: 1.4em;
      }
      /*第2*/
      #header nav #global > li .global_inner {
            opacity: 0;
            overflow: hidden;
            height: 0;
            position: absolute;
            top: 90px;
            left: 0;
            width: 100%;
            background: var(--bg_gray_l);
            transition: all 0.15s ease;
            /*開発*/
            /*        opacity: 1;
            overflow: visible;
            height: auto;
            min-height: 40vh;*/
      }
      #header nav #global > li:hover .global_inner, #header nav #global > li .global_inner.focused {
            opacity: 1;
            overflow: visible;
            height: auto;
            min-height: 40vh;
      }
      #header nav #global > li .global_sub_list li a:hover {
            background: var(--col_main_l);
      }
      #header .global_inner_w {
            display: flex;
            flex-wrap: wrap;
            width: 1300px;
            margin: auto;
            padding: 2em 0 5em 0;
            gap: 0 3%;
      }
}
@media screen and (max-width: 1370px) {
      .global_inner_w {
            width: 90% !important;
      }
}
/* globalnavi nav_______ sp
____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ */
@media screen and (max-width: 960px) {
      .global_inner_w {
            width: auto !important;
      }
      #header nav #global {
            display: block;
            margin-right: 0;
      }
      #header nav {
            position: fixed;
            width: 100%;
            top: 79px;
            right: 0;
            pointer-events: none;
            transition: all 0.3s ease;
            height: 0;
            visibility: hidden;
            overflow: hidden;
            opacity: 0;
            /*開発*/
            /*         visibility: visible;
            overflow: hidden;
            opacity: 1;
            height: calc(100% - 55px);*/
      }
      #header.open nav {
            visibility: visible;
            overflow: hidden;
            opacity: 1;
            height: calc(100% - 55px);
            border-top: 1px solid var(--bg_gray_ll);
      }
      #header nav > div {
            height: 100%;
            overflow-y: scroll;
            -webkit-overflow-scrolling: touch;
      }
      #header nav > div > div {
            height: 100%;
            overflow-y: auto;
            background: #fff;
            pointer-events: auto;
      }
      /*第1*/
      #header nav #global > li {
            position: relative;
            border-bottom: 1px solid var(--bg_gray_ll);
      }
      #header nav #global > li > a {
            display: block;
            padding: 1.0em 3em 1.0em 5%;
            height: auto;
            position: relative;
      }
      /*矢印 右*/
      #header nav .nav_down {
            position: absolute;
            right: 0;
            width: 3em;
            height: 3.7em;
            top: 0;
      }
      #header nav .nav_down:after {
            background: url("../images/arrow_01.svg") no-repeat;
            filter: var(--fil_main);
            aspect-ratio: var(--arrow_aspct_01);
            width: 0.5em;
            content: "";
            position: absolute;
            margin: auto;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%) rotate(90deg);
      }
      #header nav .nav_down.open:after {
            transform: translate(-50%, -50%) rotate(270deg);
      }
      /*第2*/
      #header nav #global .global_inner {
            height: 0;
            visibility: hidden;
            opacity: 0;
            transition: all 0.2s;
            border-top: 1px solid var(--bg_gray_ll);
            background: var(--bg_main_l);
            /*開発*/
            /*  height: auto;
            visibility: visible;
            opacity: 1;*/
      }
      #header nav #global .global_inner.open {
            height: auto;
            visibility: visible;
            opacity: 1;
            padding: 1em 0;
      }
      .head_housing_box_title {
            padding-left: 1em;
      }
      .head_housing_list li a {
            font-size: 1.4rem;
      }
      /*global_sub_list 第2
	--------------------------------------------*/
      /*任意のブロックごとの時*/
      #header .global_sub_list {
            width: calc(30% - 1.5%);
      }
      #header .global_sub_list > li {
            margin-bottom: 1em;
            /*     width: calc((100% / 3) - (3% / 1.5));*/
      }
      /*横並びの時の時*/
      #header .global_sub_list.one_global_sub_list {
            display: flex;
            gap: 0 3%;
            flex-wrap: wrap;
            width: 100%;
      }
      #header .global_sub_list.one_global_sub_list > li {
            width: calc((100% / 3) - (3% / 1.5));
      }
      /*縦並びの時*/
      @media screen and (min-width: 681px), print {
            #header .global_sub_list.column_global_sub_list {
                  column-count: 3;
                  width: 100%;
            }
            #header .global_sub_list.column_global_sub_list > li {
                  margin-right: 3%;
            }
      }
      #header .global_sub_list > li > a {
            display: block;
            padding: 0.5em 0.8em 0.5em 0em;
            position: relative;
            border-bottom: 1px solid var(--bg_gray_ll);
      }
      #header .global_sub_list > li a:before {
            content: "";
            width: 0.45em;
            aspect-ratio: var(--arrow_aspct_01);
            background: url("../images/arrow_01.svg")no-repeat;
            background-size: contain;
            position: absolute;
            top: 50%;
            right: 0;
            transform: translate(-0%, -50%);
            filter: var(--fil_main);
      }
}
/* globalnavi nav_______共通デザイン pcsp
____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ */
/*アイコン
	--------------------------------------------*/
.ico_blank {
      display: inline-flexin; /*     display: inline-block;*/
      position: relative;
      padding-right: 1.5em;
}
.ico_blank:after {
      content: "";
      background: url("../images/ico_blank.svg") no-repeat;
      background-size: contain;
      width: 1em;
      aspect-ratio: 1/1;
      position: absolute;
      top: 0.3em;
      right: 0;
}
.ico_arrow {
      display: inline;
      position: relative;
      padding-right: 1.5em;
}
.ico_arrow:after {
      content: "";
      background: url("../images/arrow_01.svg") no-repeat;
      background-size: contain;
      width: 0.8em;
      aspect-ratio: 1/1;
      position: absolute;
      top: 0.4em;
      right: 0;
      filter: invert(54%) sepia(59%) saturate(425%) hue-rotate(66deg) brightness(93%) contrast(95%);
}
.ico_arrow a {
      text-decoration: underline;
      color: var(--col_main);
}
@media screen and (min-width: 961px), print {
      .ico_arrow a:hover {
            text-decoration: none;
      }
}
@media screen and (max-width: 960px) {
      #header .global_inner_title {
            font-size: 1.0em;
            padding-bottom: 0;
      }
      #header .global_inner_title a {
            display: block;
            margin: auto 5%;
      }
      #header .head_housing_flex {
            width: 90%;
            margin: auto;
      }
      #header .head_housing_list {
            padding-left: 1em;
      }
      #header .head_housing_list br {
            display: none;
      }
      #header .head_housing_list li a {
            position: relative;
            padding: 0.5em 0em 0.5em 1.2em;
            display: block;
      }
      #header .head_housing_list li a:before {
            content: "";
            width: 0.6em;
            height: 2px;
            background: var(--col_main);
            background-size: contain;
            position: absolute;
            top: 1.2em;
            left: 0;
      }
      /*global_sub_list 第2
	--------------------------------------------*/
      #header .global_sub_list {
            width: 90%;
            margin: auto 5%;
      }
      #header .global_sub_list > li > a {
            border-bottom: none;
            padding: 0.5em 0em 0.5em 0.8em;
      }
      #header .global_sub_list > li a:before {
            right: auto;
            left: 0;
      }
      #header .global_sub_list > li {
            margin-bottom: auto;
      }
      #header .global_sub_list > li ul {
            margin-top: auto;
            padding-left: 1em;
      }
      /*global_sub_list 第3
	--------------------------------------------*/
      #header .global_sub_list > li ul li a {
            font-size: 1.4rem;
      }
}
/* nav ハンバーガー
------------------------------------------------------------- */
#header .nav_btn {
      display: none;
}
@media screen and (max-width: 960px) {
      #header .nav_btn {
            display: block;
            position: absolute;
            right: 10px;
            top: 10px;
            z-index: 10;
            background: var(--col_main);
            width: 60px;
            height: 60px;
            transition: all 0.2s;
            border-radius: 6px;
      }
      #header .nav_btn span {
            position: relative;
            display: block;
            width: 100%;
            height: 100%;
      }
      #header .nav_btn:before, #header .nav_btn span:before, #header .nav_btn span:after {
            content: "";
            position: absolute;
            left: 17px;
            right: 17px;
            top: 50%;
            height: 2px;
            margin-top: -1px;
            background-color: #fff;
            transition: all 0.2s;
      }
      #header .nav_btn span:before {
            transform: translateY(-10px);
      }
      #header .nav_btn span:after {
            transform: translateY(10px);
      }
      /* open */
      #header.open .nav_btn:before {
            opacity: 0;
      }
      #header.open .nav_btn span:before {
            transform: translateY(0) rotate(45deg);
      }
      #header.open .nav_btn span:after {
            transform: translateY(0) rotate(-45deg);
      }
}
/* fixed
------------------------------------------------------------- */
#header.fixed {
      box-shadow: 0px 4px 3px rgba(0, 0, 0, 0.12);
}
@media print {
      #header {
            position: relative !important;
      }
      #header.fixed {
            position: relative !important;
      }
}
/* contact head
------------------------------------------------------------- */
.head_contact_area a {
      display: flex;
      justify-content: center;
      align-items: center;
      color: #fff;
      background: #57748e;
      padding: 0 3em;
      box-sizing: border-box;
      border-left: solid 1px #fff;
      height: 42px;
}
.head_contact_area .head_site a {
      background: var(--col_main)
}
@media screen and (min-width: 961px), print {
      .head_contact_area {
            position: fixed;
            top: 0;
            right: 0;
            display: flex;
            justify-content: flex-end;
            font-size: 0.9em;
      }
      .head_contact > a:hover {
            background: var(--col_blue);
      }
      .head_site > a:hover {
            background: var(--col_main_d);
      }
}
@media screen and (max-width: 960px) {
      .head_contact_area {
            width: 90%;
            max-width: 40rem;
            margin: 2em auto;
      }
      .head_contact_area > * + * {
            margin-top: 1em;
      }
      .head_contact_area a {
            height: auto;
            padding: 1em 1.5em;
      }
}
/* sns
------------------------------------------------------------- */
.sns_list {
      display: flex;
      gap: 0 8%;
}
.sns_list > li {
      width: 3em;
}
.sns_list > li img {
      height: 2em;
      aspect-ratio: 1/1;
}
/* footer
============================================================================================================ */
footer {
	
}
.footer_bg {
      padding: 6em 0 0 0;
      font-size: 1.6rem;
      background: var(--col_main);
}
.footer_w {
      width: 1000px;
      margin: auto;
      position: relative;
}
.foot_area {
      padding: 0 2em 2.5em 1em;
      letter-spacing: 1px;
      color: #fff;
      display: flex;
}
.foot_nav_title {
      margin-bottom: 1em;
      font-weight: 600;
}
.nav_box_01 {
      width: 25%;
}
.nav_box_02 {
      width: 25%;
}
.nav_box_03 {
      width: 50%;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
}
@media screen and (max-width: 1050px) {
      .footer_w {
            width: 95%;
      }
}
@media screen and (max-width: 680px) {
      footer {
            padding: 3em 0 0 0;
      }
      .foot_area {
            flex-wrap: wrap;
      }
      .nav_box_01 {
            width: 50%;
      }
      .nav_box_02 {
            width: 50%;
      }
      .nav_box_03 {
            margin-top: 2em;
            width: 100%;
            display: block;
      }
}
/*foot_info_nav*/
.foot_info_nav > li {
      margin-bottom: 0.2em;
}
.foot_info_nav a {
      font-size: 0.9em;
      color: #fff;
}
.foot_info_nav a .ico_blank:after {
      filter: var(--fil_ff);
}
@media screen and (min-width: 961px), print {
      .foot_info_nav a:hover {
            text-decoration: underline;
      }
}
/*foot_info_box
----------------------------------------------*/
.foot_info_box {
      padding-top: 2em;
      /* border-top: 1px solid #fff; */
}
/*foot_sns
----------------------------------------------*/
.foot_sns {
      margin-top: 2em;
}
.foot_sns .sns_list {
      gap: 0 3%;
}
.foot_sns li img {
      filter: var(--fil_ff);
}
.foot_nav_box .foot_sns li {
      text-align: right;
}
.foot_info_box .foot_sns {
      display: none;
}
.foot_33_logo {
      width: 26rem;
}
.foot_33_logo img {
      width: 100%;
}
@media screen and (max-width: 680px) {
      .foot_nav_box .foot_sns {
            display: none;
      }
      .foot_info_box .foot_sns {
            display: block;
      }
      .foot_info_box .foot_sns > * {
            gap: 0 0%;
            justify-content: center;
      }
      .foot_33_logo {
            margin: auto;
      }
}
/*foot_logo
----------------------------------------------*/
.foot_logo {
      margin: auto;
      max-width: 455px;
}
.foot_logo a {
      display: block;
}
.foot_logo img {
      width: 100%;
}
@media screen and (max-width: 680px) {
      .foot_logo {
            max-width: 22rem;
      }
}
/* copyright
------------------------------------------------------------- */
.copyright {
      padding: 2em 0;
      display: block;
      font-size: 1.2rem;
      /* color: #fff; */
      text-align: center;
}
/* .page_top
------------------------------------------------------------- */
.page_top {
      position: fixed;
      bottom: 2em;
      right: 1em;
      z-index: 10;
}
.page_top a {
      display: block;
      background: var(--col_main_l);
      width: 60px;
      aspect-ratio: 1/1;
      position: relative;
      border-radius: 8px;
}
.page_top a:after {
      position: absolute;
      content: "";
      border: 0.6em solid transparent;
      border-bottom: 1.0em solid #fff;
      top: calc(50% - 0.3em);
      left: 50%;
      box-sizing: border-box;
      transform: translate(-50%, -50%);
}
@media screen and (max-width: 961px), print {
      .page_top a:hover {
            background: var(--col_green);
      }
}
@media screen and (max-width: 680px) {
      .page_top a {
            width: 50px;
      }
}
/*.page_title_area
---------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 961px), print {
      .page_title_news_cont {
            display: flex;
            flex-flow: column;
      }
      .page_title_news_cont .topic_path {
            order: 2;
      }
      .page_title_news_cont .page_title_area {
            order: 1;
      }
}
/*.page_title_area
---------------------------------------------------------------------------------------------------*/
.page_title_area {
      position: relative;
}
.page_title_area:before {
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      background: rgba(000, 000, 000, 0.2);
      /*	background: var(--col_main);
	opacity: 0.4;
	mix-blend-mode: multiply;*/
}
.page_title_bg {
      position: relative;
      z-index: -1;
      width: 100%;
}
.page_title_bg img {
      width: 100%;
}
.page_title_w {
      width: 1260px;
      margin: auto;
      position: absolute;
      top: 50%;
      left: 5em;
      transform: translate(-0%, -50%);
      z-index: 1;
}
.page_title {
      text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
      font-weight: 400;
      letter-spacing: 2px;
      display: inline-block;
      font-size: 2.0em;
      line-height: 1.3;
      position: relative;
      color: #fff;
}
.page_title span {
      font-size: 0.8em;
      display: block;
}
@media screen and (max-width: 1400px) {
      .page_title_w {
            width: 90%;
            left: 5%;
      }
      .page_title {
            font-size: 2.0em;
      }
}
@media screen and (max-width: 960px) {
      .page_title_area {
            margin-bottom: 1em;
      }
      .page_title {
            font-size: 1.6em;
      }
}
.page_title .re_title_cat {
      display: block;
      font-size: 0.7em;
      margin-top: 1em;
}
@media screen and (max-width: 680px) {
      .page_title .re_title_cat {
            display: block;
      }
}
/*.topic_path 
---------------------------------------------------------------------------------------------------*/
.topic_path li {
      min-width: 3.2em;
      position: relative;
      color: var(--col_gray);
}
.topic_path li a {
      color: var(--col_gray);
}
.topic_path li + li {
      padding-left: 3em;
}
.topic_path li + li:after {
      content: "／";
      left: 1em;
      position: absolute;
      top: 0;
}
@media screen and (min-width: 961px), print {
      .topic_path {
            max-width: 90%;
            margin: auto 0 auto auto;
      }
      .topic_path .topic_path_inner {
            display: flex;
            justify-content: flex-end;
      }
      .topic_path {
            font-size: 1.3rem;
            background: #ffffff;
            z-index: 1;
            padding: 0.5em 1em;
      }
}
/*topic_path sp */
@media screen and (max-width: 960px) {
      /*追従あり*/
      .topic_path {
            width: 95%;
            padding: 1em 30px 0.5em 15px;
            margin: 0.5em auto 0em auto;
            position: relative;
            z-index: 1;
            white-space: nowrap;
            height: 30px;
            overflow: hidden;
            font-size: 1.2rem;
            -webkit-overflow-scrolling: touch;
      }
      .topic_path .topic_path_inner {
            white-space: nowrap;
            overflow-x: scroll;
            overflow-y: hidden;
            height: 30px;
            transform: translateZ(0);
      }
      .topic_path .topic_path_inner > li {
            display: inline-block;
      }
      .topic_path ul li:last-child {
            margin-right: 20px;
      }
}
/*re_cont_flex
------------------------------------------------------------------------------------------------------------------------*/
.re_cont_flex {
      display: flex;
      justify-content: space-between;
      gap: 0 5%;
}
.re_cont_flex > .title_box {
      width: 28%;
}
.re_cont_flex > .text_box {
      width: 73%;
}
/* コンテナ
============================================================================================================ */
#container {
      position: relative;
      font-size: 1.6rem;
      padding-top: 110px;
}
@media screen and (max-width: 960px) {
      #container {
            font-size: 1.5rem;
            padding-top: 80px;
      }
}
/*re_title_en
-----------------------------------------------------------------------------*/
.re_title_en {
      letter-spacing: 2px;
      line-height: 1;
      font-family: var(--font_mon);
}
/*re_blog_list ブログカード
--------------------------------------------------------------------------------------*/
.re_blog_list {
      display: flex;
      gap: 1.5em 3.5%;
      flex-wrap: wrap;
}
.re_blog_list li {
      position: relative;
      width: calc((100% / 3) - (3.5% / 1.5));
      /*     width: calc(100% / 3);*/
      background: #fff;
      box-shadow: var(--box_shadow);
}
.re_blog_list li.no_post {
      padding: 1em;
      box-shadow: var(--box_shadow_none);
}
/*スライドの時*/
.re-blog-slider {
      display: block;
}
.re-blog-slider li {
      width: auto;
}
.re-blog-slider.one_slide li {
      width: 30rem;
}
@media screen and (max-width: 680px) {
      .re-blog-slider.one_slide li {
            width: 90%;
            margin: auto;
      }
}
/*スライドの時end*/
.re_blog_list li .img {
      position: relative;
}
.re_blog_list li .img img {
      width: 100%;
      aspect-ratio: 37/23;
      height: auto;
      object-fit: cover;
      object-position: center;
}
.re_cate {
      position: absolute;
      left: 0;
      bottom: 0;
      background: var(--col_main);
      color: #fff;
      display: inline-block;
      padding: 0.2em 0.8em;
      font-size: 0.9em;
}
.re_blog_list li .text_box {
      padding: 1.8em 1em 1.5em 1em;
}
@media screen and (max-width: 680px) {
      .re_blog_list {
            display: block;
      }
      .re_blog_list > li {
            width: auto;
      }
      .re_blog_list > li + li {
            margin-top: 2em;
      }
}
/*中身*/
.re_blog_list_title {
      font-size: 1.1em;
      line-height: 1.5;
      margin-bottom: 1.5em;
      font-weight: 500;
}
.re_blog_list_dl {
      display: flex;
      gap: 0 3%;
      letter-spacing: 1px;
}
.re_blog_list_dl dt {
      font-weight: 500;
      color: var(--col_main);
}
.re_blog_list_dl dd {
      font-size: 0.85em;
      line-height: 1.8;
      color: var(--col_gray);
}
.date {
      color: var(--col_main);
      font-weight: 600;
      font-family: var(--font_mon);
}
.re_blog_list .date {
      margin-top: 1em;
}
/*re_news_link
---------------------------------------------------------------------------*/
.re_news_link {
      position: relative;
      padding-left: 1.2em;
      margin: 0.5em 0;
}
.re_news_link {
      position: relative;
}
.re_news_link a {
      text-decoration: underline;
}
.re_news_link:before {
      content: "";
      position: absolute;
      top: 50%;
      left: 0;
      transform: translate(-0%, -50%);
      filter: invert(97%) sepia(32%) saturate(7493%) hue-rotate(344deg) brightness(95%) contrast(112%);
      background: url("../images/arrow_01.svg") no-repeat;
      background-size: contain;
      width: 0.7em;
      aspect-ratio: var(--arrow_aspct_01);
}
@media screen and (min-width: 961px), print {
      .re_news_link a:hover {
            text-decoration: none;
      }
}
/*リスト型news
----------------------------------------------------------------------------------------------------------------------------------------------------*/
.re_news_list > li:first-child {
      border-top: 1px solid var(--bg_gray_ll);
}
.re_news_list > li {
      border-bottom: 1px solid var(--bg_gray_ll);
}
.re_news_list > li a .text_box {
      text-decoration: underline;
      color: var(--col_blue);
}
.re_news_list_inner {
      display: flex;
      gap: 0 2%;
      padding: 1.5em 1.5em;
}
.re_news_list_inner_date {
      display: flex;
      gap: 0 2%;
      align-items: flex-start;
      width: 16em;
}
.re_news_list_inner_date span {
      width: 7em;
}
.re_news_cate {
      line-height: 1.2;
      color: var(--col_gray);
      text-align: center;
      font-size: 0.9em;
}
.re_news_list_inner .re_news_cate {
      width: calc(100% - 7em);
      /*カテゴリ色変数 col_cate*/
}
.re_news_cate span {
      font-size: 0.8em;
}
.re_news_list_inner .text_box {
      width: calc(100% - 16em);
}
@media screen and (min-width: 961px), print {
      .news_list > li a:hover .text_box {
            text-decoration: none;
      }
}
@media screen and (max-width: 680px) {
      .re_news_list_inner {
            display: block;
            padding: 1.2em 1.3em;
      }
      .re_news_list_inner_date {
            width: auto;
            margin-bottom: 0.7em;
      }
      .re_news_list_inner .re_news_cate {
            width: auto;
            padding: 0em 0.5em 0.2em 0.5em;
            min-width: 8em;
            line-height: 1.5;
      }
      .re_news_list_inner .text_box {
            width: auto;
      }
}
/*cateなし*/
.re_news_list_inner.no_cate .re_news_list_inner_date {
      width: 7em;
}
.re_news_list_inner.no_cate .text_box {
      width: calc(100% - 7em);
}
@media screen and (max-width: 680px) {
      .re_news_list_inner.no_cate .text_box {
            width: auto;
      }
}
/*cate　色別*/
/*.all_catecol {
      --col_cate: var(--col_btn_back);
}
.press-release_catecol{
      --col_cate: var(--col_blue_l);
}
.info_catecol {
      --col_cate: var(--col_green_l);
}
.event_catecol {
      --col_cate: var(--col_yellow);
}
.recruit_catecol {
      --col_cate: var(--col_green_b);
}
.ir_catecol {
      --col_cate: var(--col_pup);
}*/
/*公社の気になる数字
----------------------------------------------------------------------------------------------------------------------------------------------------*/
#section_gry {
      background-color: #f1f1f1;
      padding: 4em 0;
}
/*サブタイトル*/
.section_nobg_inner_item, #section_gry_inner {
      width: 940px;
      margin: 0 auto;
}
.section_nobg_inner_item {
      position: relative;
      padding: 2em 0;
      box-sizing: border-box;
}
#section_gry_inner {
      display: flex;
      flex-wrap: wrap;
      gap: 40px 50px;
      justify-content: space-around;
}
@media screen and (max-width: 1000px) {
      .section_nobg_inner_item, #section_gry_inner {
            width: 90%;
      }
      #section_gry_inner {
            gap: 4em 5%;
      }
}
@media screen and (max-width:680px) {
      #section_gry_inner {
            display: block;
      }
}
/*タイルコンテンツアイテム
-----------------------------------------*/
.section_gry_inner_itef, .section_gry_inner_item_half {
      position: relative;
      height: 430px;
      padding: 1em;
      background-color: white;
      box-sizing: border-box;
      line-height: 1.2;
}
.section_gry_inner_item {
      margin: auto;
      width: 100%;
}
.section_gry_inner_item_half {
      width: calc((100% / 2) - 25px);
}
@media screen and (max-width: 1000px) {
      .section_gry_inner_itef, .section_gry_inner_item_half {
            height: 50vw;
      }
      .section_gry_inner_item_half {
            width: calc((100% / 2) - 2.5%);
      }
}
@media screen and (max-width:680px) {
      .section_gry_inner_itef, .section_gry_inner_item_half {
            aspect-ratio: 339/390;
            height: auto;
            margin-bottom: 3em;
      }
      .section_gry_inner_item_half {
            width: 100%;
      }
}
/*中身*/
.section_gry_inner_title {
      position: absolute;
      background-color: var(--col_yellow);
      left: -10px;
      top: -16px;
      font-size: 1.5em;
      padding: 0.5em 1em;
}
.section_gry_inner_item img, .section_gry_inner_item_half img {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 57%;
}
.section_gry_inner_item_half.medium img {
      width: 70%;
}
.section_gry_inner_item_half.wide img {
      width: 80%;
}
.section_gray_inner_item_icon, .section_gray_inner_item_icon_large {
      position: static !important;
      top: auto;
      left: auto;
      transform: translate(-0%, -0%) !important;
      display: block !important;
      margin: 0 auto !important;
}
.section_gray_inner_item_icon {
      width: 1.5em !important;
}
.section_gray_inner_item_icon_large {
      width: 2em !important;
}
.section_gry_inner_item_attention {
      position: absolute;
      right: 2em;
      bottom: 2em;
      font-size: 0.7em;
}
.withIcon {
      font-family: var(--font_mon);
      font-weight: 600;
      position: absolute;
      width: 100%;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      text-align: center;
      color: var(--col_main);
      font-size: 4.3em;
}
.withIcon_total {
      height: 200px;
}
.withIcon_total .details {
      width: 85%;
      font-size: 0.25em;
      color: #000;
      text-align: left;
      font-weight: 400;
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      margin: 2em auto auto auto;
}
.withIcon_total .details dt {
      width: 3em;
      color: #fff;
      background: #00bb93;
      text-align: center;
}
.withIcon_total .details dd {
      width: calc(100% - 4em);
}
.section_gry_inner_item .withIcon {
      right: auto;
      left: 100px;
      margin: auto 0;
}
._sp {
      display: none;
}
@media screen and (max-width: 680px) {
      ._sp {
            display: block;
      }
}
.small {
      font-weight: 400;
      font-size: 0.4em;
}
#bar {
      width: 93%;
}
a.link {
      color: var(--col_main);
      text-decoration: underline;
      transition: all .3s ease;
}
@media screen and (max-width: 961px), print {
      a.link:hover {
            text-decoration: none;
      }
}