/*
基本はスマホサイズでスタイルを指定している。

@media screen and (min-width:480px)
幅480px以上　幅の大きいスマホ・タブレット・PCサイズ

@media screen and (min-width:768px)
幅768px以上　タブレット・PCサイズ

@media screen and (max-width:479px)
幅479px以下　スマホサイズ

@media screen and (max-width:767px)
幅767px以下　幅の大きいスマホサイズ

@media screen and (min-width:1280px)
幅1280px以上　幅の大きいPCサイズ

@media screen\0
IE8~11ブラウザ
*/
/* ------------------------------
General Styles
------------------------------ */
body {
  background: #fff;
  -ms-overflow-style: scrollbar;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
  overflow-wrap: break-word;
  word-break: auto-phrase;
}

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

main {
  display: block;
  font-family: 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
}

/* ------------------------------
Transition elsements
------------------------------ */
a,
.btn {
  -webkit-transition: all 0.3s cubic-bezier(0.300, 0.100, 0.580, 1.000);
  -moz-transition: all 0.3s cubic-bezier(0.300, 0.100, 0.580, 1.000);
  -o-transition: all 0.3s cubic-bezier(0.300, 0.100, 0.580, 1.000);
  transition: all 0.3s cubic-bezier(0.300, 0.100, 0.580, 1.000);
}

/* ------------------------------
メディアクエリ
------------------------------ */
/* -基準　スマホサイズ- */
.sp {
  display: block;
}

.tab {
  display: none;
}

.pc {
  display: none;
}

/* -幅768px以上　タブレット・PCサイズ- */
@media screen and (min-width:768px) {
  .sp {
    display: none;
  }

  .tab {
    display: block;
  }

  .pc {
    display: none;
  }
}

/* -幅1280px以上　幅の大きいPCサイズ- */
@media screen and (min-width:1280px) {
  .sp {
    display: none;
  }

  .tab {
    display: none;
  }

  .pc {
    display: block;
  }
}

/* ------------------------------
Typography
------------------------------ */
a {
  text-decoration: none;
  color: #000000;
}

a:hover,
a:focus {
  text-decoration: none;
  outline: 0;
}

h1,
h2,
h3,
h4 {
  font-weight: 700;
}

h1 {
  margin: 0;
  font: normal normal bold 36px/43px futura-pt, 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  letter-spacing: 0px;
}

h2 {
  margin: 0 0 24px 0;
  font-size: 36px;
  line-height: 54px;
}

h3 {
  margin: 0;
  line-height: 30px;
  text-align: center;
  font-size: 25px;
  font-family: futura-pt, sans-serif;
  display: block;
}

h4 {
  font-size: 18px;
  line-height: 30px;
  text-align: center;
  font-family: futura-pt, 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
}

@media screen and (min-width:480px) {
  h1 {
    line-height: 82px;
    font-size: 75px;
  }

  h3 {
    line-height: 30px;
    font-size: 30px;
  }

  h4 {
    line-height: 30px;
    font-size: 20px;
  }
}

p {
  margin: 0;
}

ul {
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

img {
  display: block;
}

input:focus {
  outline: 0;
}

button {
  border: none;
  outline: 0;
}

.with-tablet {
  display: none;
}

@media screen and (min-width:768px) {
  .with-sp {
    display: none;
  }

  .with-tablet {
    display: block;
  }

  span.with-tablet {
    display: inline;
  }
}

/* header */
.header {
  position: fixed;
  display: grid;
  grid-template-columns: auto 1fr;
  z-index: 2;
  background-color: #fff;
  right: 0;
  left: 0;
}

#main-content {
  padding-top: 54.8px;
  /* 768pxより下はヘッダーをfixedにするので ヘッダーの高さ 54.8px分余白を用意 */
  padding-bottom: 50px;
  /* コンテンツからフッターへの距離 */
  box-sizing: border-box;
}

.news-table {
  padding-bottom: 0 !important;
}

.contact-page {
  padding-bottom: 0 !important;
}

/* ニュースページ・問い合わせページでは記事部分で距離を作る */

.header a.header-logo {
  display: inline-block;
  width: 57px;
  height: 47px;
  margin: 3.8px auto 4px 12px;
  background: transparent url('../images/wellnet_logo_moji_medium_2x.png') top left / contain no-repeat;
}

@media screen and (min-width:768px) {
  .header {
    position: relative;
  }

  #main-content {
    padding-top: 0;
    /* 768pxからはヘッダーをrelativeにするので ヘッダーの高さ分の余白を削除 */
    padding-bottom: 100px;
    /* コンテンツからフッターへの距離 */
  }

  .header a.header-logo {
    width: 114px;
    height: 94px;
    margin: 0 0 0 30px;
    background-image: url('../images/pc/wellnet_logo_moji_medium_2x.png');
  }
}

@media screen and (min-width:1280px) {
  .header {
    width: 1200px;
    margin: 0 auto;
  }

  .header a.header-logo {
    width: 187px;
    height: 155px;
    margin: 0 auto;
  }
}

/* ハンバーガーメニュー */
.nav-drawer {
  position: absolute;
  top: 0;
  right: 0;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display: none;
}

/*アイコンのスペース*/
.nav-open {
  display: block;
  width: 28px;
  height: 22px;
  vertical-align: middle;
  margin: 19px 15px 0 auto;
}

/* ハンバーガーアイコン */
.nav-open span,
.nav-open span:before,
.nav-open span:after {
  position: absolute;
  height: 2px;
  /*線の太さ*/
  width: 28px;
  /*長さ*/
  border-radius: 3px;
  background: #005032;
  display: block;
  content: '';
  cursor: pointer;
}

.nav-open span:before {
  bottom: -8px;
}

.nav-open span:after {
  bottom: -16px;
}

/*閉じる用の薄黒カバー*/
.nav-close {
  display: none;
  /*はじめは隠しておく*/
  position: fixed;
  z-index: 99;
  top: 0;
  /*全体に広がるように*/
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  transition: .3s ease-in-out;
}

/*中身*/
.nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  /*最前面に*/
  width: 90%;
  /*右側に隙間を作る（閉じるカバーを表示）*/
  max-width: 330px;
  /*最大幅*/
  height: 100%;
  background: #fff;
  /*背景色*/
  transition: .3s ease-in-out;
  /*滑らかに表示*/
  -webkit-transform: translateX(-105%);
  transform: translateX(-105%);
  /*左に隠しておく*/
}

/*チェックが入ったらもろもろ表示*/
.nav-input:checked~.nav-close {
  display: block;
  /*カバーを表示*/
  opacity: .5;
}

.nav-input:checked~.nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
  /*中身を表示（右へスライド）*/
  box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
}

.nav-content {
  padding-top: 60px;
  background-color: #fcfcfc;
  background-repeat: no-repeat, no-repeat;
  background-position: left 12px top 6px, center top;
  background-size: auto 47px, auto 60px;
  background-image: url('../images/wellnet_logo_moji_medium_2x.png'), linear-gradient(to bottom, #ffffff, #ffffff);
}

.nav-content ul li {
  padding: 0 15px;
  font: normal normal bold 14px/55px futura-pt, 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  border-top: 1px solid #E6E6E6;
}

.nav-content ul li a {
  display: block;
}

.nav-content ul li a span:last-child,
.nav-content ul li label span:last-child {
  font-size: 10px;
  line-height: 16px;
  color: #005032;
  padding-left: 10px;
}

.nav-content ul li a span:last-child,
.nav-content ul li label span:last-child {
  font-size: 10px;
  line-height: 16px;
  color: #005032;
  padding-left: 10px;
}

.nav-content ul li:nth-last-child(2) {
  border-bottom: 1px solid #E6E6E6;
  font-size: 16px;
}

.nav-content ul li:last-child {
  border: none;
  padding: 20px 10px;
}

.nav-content ul li .en-btn {
  display: block;
  font-size: 14px;
  line-height: 1;
  color: #005032;
  text-align: center;
  font-family: 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  font-weight: 700;
  border: 1px solid #005032;
  padding: 8px 14px 8px 36px;
  border-radius: 50px;
  background: url(../images/icon-lang.svg) center left 16px / 16px auto no-repeat;
  width: 140px;
  box-sizing: border-box;
}

.nav-content label {
  display: block;
  padding-right: 19px;
  background: url('../images/menu_close.svg') center right 1.5px / 17px auto no-repeat;
}

.nav-content .toggle-input:checked~label {
  background-image: url('../images/menu_open.svg');
}

.nav-content .toggle-input:not(:checked)~label~.header-nav-sub {
  height: 0;
  visibility: hidden;
  opacity: 0;
}

.nav-content ul .header-nav-sub {
  transition: height 0.3s ease-in-out;
}

.nav-content ul .header-nav-sub li {
  border: none;
  padding: 0;
  margin: 0 0 12px;
  font: normal normal normal 12px/24px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
}

.nav-content ul .header-nav-sub li:last-child {
  margin: 0 0 9px;
}

.nav-content ul .header-nav-sub li a {
  display: block;
}

.header>.header-nav {
  display: none;
  padding: 0 30px 36px;
  margin: 0 0 0 auto;
}

.header>.header-nav li {
  display: inline-block;
  margin-left: 68px;
  margin-top: 30px;
}

.header>.header-nav li:first-child {
  margin-left: 0;
}

.header>.header-nav li a {
  font: normal normal bold 14px/24px futura-pt, 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  text-align: center;
}

.header>.header-nav li a div:last-child {
  font: normal normal bold 10px/16px futura-pt;
  color: #005032;
}

@media screen and (min-width:768px) {
  .header>.header-nav {
    width: 100%;
    max-width: 900px;
    display: flex;
    justify-content: space-between;
    gap: 4px;
    text-align: left;
    padding: 0 30px 36px 0;
    box-sizing: border-box;
  }

  .header>.header-nav li {
    margin-left: 0;
  }

  .nav-open {
    display: none;
  }

  .nav-drawer {
    display: none;
  }

  .header>.header-nav li a {
    font: normal normal bold 10px/22px futura-pt, 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  }

  .header>.header-nav li a div:last-child {
    font: normal normal bold 8px/10px futura-pt;
  }

  .header>.header-nav li .en-btn {
    display: block;
    font-size: 10px;
    line-height: 1;
    color: rgb(0, 80, 50);
    text-align: center;
    font-family: ヒラギノ角ゴシック, "Hiragino Sans", メイリオ, Meiryo, sans-serif;
    font-weight: 700;
    width: 100px;
    box-sizing: border-box;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(0, 80, 50);
    border-image: initial;
    padding: 9px 8px 9px 28px;
    border-radius: 50px;
    background: url(../images/icon-lang.svg) left 12px center / 16px no-repeat;
  }
}

@media screen and (min-width:980px) {
  .header>.header-nav {
    gap: 16px;
  }

  .header>.header-nav li a {
    font: normal normal bold 14px/24px futura-pt, 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  }

  .header>.header-nav li a div:last-child {
    font: normal normal bold 10px/12px futura-pt;
  }

  .header>.header-nav li .en-btn {
    font-size: 12px;
    width: 120px;
  }
}

@media screen and (min-width:1280px) {

  .header>.header-nav li {
    margin-top: 66px;
  }
}

/* ハローエリア */
.hello-area {
  position: relative;
}

.hello-area img {
  width: 100%;
}

.hello-area-inner {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.hello-title {
  margin: 12px;
}

h1 .hello-title-main {
  color: #005032;
  display: block;
}

h1 .hello-title-sub {
  line-height: 30px;
  font-size: 12px;
  color: #000000;
  display: block;
}

@media screen and (min-width:768px) {
  .hello-title {
    position: absolute;
    margin: 0;
    top: 36.57%;
    left: 3.82%;
  }

  h1 .hello-title-main {
    display: none;
  }

  h1 .hello-title-sub {
    line-height: 26px;
    font-size: 16px;
    width: 204px;
  }
}

@media screen and (min-width:1280px) {
  .hello-area {
    width: 1279px;
    margin: 0 auto;
  }

  h1 .hello-title-sub {
    line-height: 25px;
    font-size: 20px;
    width: 204px;
  }
}

@media screen\0 {
  .hello-title {
    position: relative;
    margin: 12px;
    top: 0;
    left: 0;
  }

  h1 .hello-title-main {
    display: block;
  }
}

button.outline-button,
a.outline-button {
  border: 2px solid #005032;
  background: #ffffff;
  appearance: none;
  border-radius: 0;
  color: #005032;
  font: normal normal bold 12px/30px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  text-align: center;
  padding: 10px 0;
  width: 220px;
  display: inline-block;
}

button.outline-button:hover,
a.outline-button:hover {
  background: #005032;
  color: #ffffff;
}

button.outline-button>span,
a.outline-button>span {
  padding-right: 15.5px;
  background: transparent url('../images/green_arrow.svg') center right / 11.3px auto no-repeat;
}

button.outline-button:hover>span,
a.outline-button:hover>span {
  background: transparent url('../images/white_arrow.svg') center right / 11.3px auto no-repeat;
}

@media screen and (min-width:768px) {

  button.outline-button,
  a.outline-button {
    font-size: 14px;
    padding: 15px 0;
  }
}

button.outline-link-button,
a.outline-link-button {
  border: 2px solid #005032;
  background: #ffffff;
  appearance: none;
  border-radius: 0;
  color: #005032;
  font: normal normal bold 12px/30px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  text-align: center;
  padding: 10px 0;
  width: 220px;
  display: inline-block;
}

button.outline-link-button:hover,
a.outline-link-button:hover {
  background: #005032;
  color: #ffffff;
}

button.outline-link-button>span,
a.outline-link-button>span {
  padding-right: 20px;
  background: transparent url('../images/externallink_icon_g.svg') top 1px right 0 / 12px auto no-repeat;
}

button.outline-link-button:hover>span,
a.outline-link-button:hover>span {
  background: transparent url('../images/externallink_icon_w.svg') top 1px right 0 / 12px auto no-repeat;
}

@media screen and (min-width:768px) {

  button.outline-link-button,
  a.outline-link-button {
    font-size: 14px;
    padding: 15px 0;
  }
}

.outline-toggle-button {
  border: 2px solid #005032;
  background: #ffffff;
  appearance: none;
  border-radius: 0;
  color: #005032;
  font: normal normal bold 12px/30px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  text-align: center;
  box-sizing: border-box;
  padding: 10px 0;
  width: 220px;
  display: block;
}

.outline-toggle-button>span {
  position: relative;
  padding-right: 15.5px;
}

.outline-toggle-button>span.to-top::before,
.outline-toggle-button>span.to-bottom::before {
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  content: '';
  width: 11.3px;
  height: 100%;
  background: transparent url('../images/green_arrow.svg') center right / 100% auto no-repeat;
}

.outline-toggle-button>span.to-bottom::before {
  transform: rotate(90deg) translate(-3px, 0);
}

.outline-toggle-button>span.to-top::before {
  transform: rotate(-90deg) translate(-1px, 0);
}

/* バナーエリア */
.bnr-area {
  padding: 35px 15px 0;
  margin-bottom: -20px;
  background-color: #f5f5f5;
}

.bnr-area a img {
  width: 100%;
  height: auto;
  margin: 0 auto;
}

/* NEWS */
.section1 {
  padding: 15px 15px;
  background-color: #f5f5f5;
}

/* 緊急のお知らせ */
.attention {
  color: #C7243A;
  font-size: 12px;
  line-height: 24px;
  border: solid 1px #C7243A;
  background-color: #ffffff;
  padding: 15px 20px 0 15px;
  margin: 30px 15px;
}

.attention p {
  font-weight: normal;
  margin-bottom: 15px;
  text-align: center;
  font-size: 12px;
  line-height: 24px;
}

.attention li {
  padding-left: 20px;
  background: transparent url('../images/red_arrow.svg') top 2px left / 11.31px auto no-repeat;
}

.attention-title {
  font-size: 15px;
  font-weight: bold;
  padding-left: 25px;
  background: transparent url('../images/cution_icon.svg') top left / 15px 14px no-repeat;
}

.attention a {
  display: inline-block;
  border: 2px solid #E6E6E6;
  width: 90%;
  padding: 10px;
  font-size: 12px;
  font-weight: bold;
  margin-bottom: 10px;
}

@media screen and (min-width:768px) {

  /* バナーエリア */
  .bnr-area {
    padding: 40px 40px 0;
    margin-bottom: -10px;
    text-align: center;
  }

  .bnr-area a {
    display: inline-block;
  }

  .bnr-area a img {
    max-width: 1020px;
  }


  .section1 {
    padding: 10px 40px 10px;
  }

  .attention {
    font-size: 14px;
    line-height: 24px;
    padding: 20px 20px 0 20px;
    max-width: 980px;
    margin: 40px;
  }

  .attention p {
    margin-bottom: 20px;
    font-size: 12px;
    line-height: 24px;
  }

  .attention li {
    background-size: 14.14px auto;
    background-position: top 3px left;
  }

  .attention-title {
    font-size: 16px;
    padding-left: 22px;
    background-size: 25px 25px;
    background: transparent url('../images/cution_icon.svg') top left / 17px 16px no-repeat;
  }

  .attention a {
    display: inline-block;
    border: 2px solid #E6E6E6;
    width: 360px;
    padding: 18px;
    margin: 0 10px 10px;
    font-size: 12px;
    font-weight: bold;
  }

  .attention a:hover {
    background-color: #E6E6E6;
  }
}

@media screen and (min-width:1280px) {
  .attention {
    margin: 0 auto;
  }

  .attention {
    margin: 60px auto;
  }

  .attention a {
    padding: 20px;
  }

  /* バナーエリア */
  .bnr-area {
    padding: 60px 0 0;
    margin-bottom: -30px;
  }
}

@media screen and (min-width:1280px) {
  .section1 {
    padding: 30px 100px 30px;
  }
}

.section1-inner {
  background-color: #ffffff;
  margin: 20px 0;
  text-align: center;
}

.news-title h3 {
  padding: 15px 0 5px 0;
}

.news-title p {
  color: #005032;
  font-size: 10px;
  text-align: center;
}

.news-title a.outline-button {
  margin: 20px auto 20px;
}

@media screen and (min-width:768px) {
  .section1-inner {
    margin: 30px auto;
    text-align: center;
    position: relative;
    max-width: 1020px;
  }

  .news-title h3 {
    padding: 30px 0 10px;
    text-align: center;
  }

  .news-title p {
    font-size: 14px;
    line-height: 24px;
    text-align: center;
  }
}

@media screen and (min-width:1280px) {
  .section1-inner {
    margin: 30px auto;
    text-align: left;
    position: relative;
    max-width: 1020px;
  }

  .news-title h3 {
    padding: 30px 0 5px 30px;
    text-align: left;
  }

  .news-title p {
    text-align: left;
    margin: -50px auto 0 30px;
  }

  .news-title a.outline-button {
    margin: 46px 50px 30px 30px;
  }
}

.news-list {
  text-align: left;
  padding: 0 10px 20px;
}

.news-list li {
  border-top: 1px solid #E6E6E6;
  padding: 15px 10px;
}

.news-list li:last-child {
  border-bottom: 1px solid #E6E6E6;
}

.news-list li .news-date {
  font: normal normal normal 12px/24px futura-pt;
  letter-spacing: 0px;
  padding-left: 110px;
  position: relative;
}

.news-list li .news-date::before {
  display: block;
  position: absolute;
  color: #ffffff;
  font: normal normal 200 10px/30px;
  letter-spacing: 0.6px;
  background-color: #005032;
  content: 'お知らせ';
  left: 0;
  width: 100px;
  padding: 3px 0;
  text-align: center;
}

.news-list li .news-type-press::before {
  content: 'プレスリリース';
}

.news-list li .news-type-ir::before {
  content: 'IR／投資家情報';
}

.news-list li .news-content {
  margin-top: 20px;
  font: normal normal normal 12px/24px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  letter-spacing: 0px;
}

@media screen and (min-width:768px) {
  .news-list li>* {
    display: table-cell;
  }

  .news-list li .news-date {
    padding: 0 15px 0 135px;
  }

  .news-list li .news-date::before {
    font: normal normal 200 10px/30px;
    width: 120px;
    padding: 5px 0px;
  }

  .news-list li .news-content {
    margin-top: 0px;
  }

  .news-list li {
    padding: 15px 10px 20px;
  }
}

@media screen and (min-width:1280px) {
  .section1-inner {
    display: flex;
  }

  .section1-inner>* {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .news-list {
    width: 100%;
    padding: 30px 30px 30px 0;
  }

  .news-list li {
    padding: 14px 20px;
    display: table;
    width: 100%;
    box-sizing: border-box;
  }

  .news-list li>* {
    display: table-cell;
  }

  .news-list li .news-date {
    width: 60px;
    font-size: 12px;
    line-height: 30px;
    padding-left: 150px;
    padding-right: 28px;
    background-size: 90px 30px;
  }

  .news-list li .news-content {
    margin: 0;
    padding: 0;
    font-size: 12px;
    line-height: 24px;
    width: 100%;
  }

  .news-list .news-type-news .news-date::before,
  .news-list .news-type-press .news-date::before {
    width: 120px;
    line-height: 28px;
    padding: 0.6px 0 1.4px;
    font-size: 14px;
  }

  .news-list li .news-date::before {
    padding: 3px 0 2px;
  }
}

/* BUSINESS */
.section2-inner h3 {
  padding: 30px 0;
}

.business-list li {
  padding-bottom: 70px;
  text-align: center;
}

.business-list li:last-child {
  padding-bottom: 0;
}

.business-list img {
  margin: 0 auto;
  width: 305px;
}

.business-list h4 {
  margin: 0 auto 17px;
  width: 305px;
  padding: 234.22px 0 0;
  background: transparent center top / contain no-repeat;
}

.business-list .business-item-payment h4 {
  background-image: url('../images/paymentservice_2.png');
}

.business-list .business-item-mobility-it h4 {
  background-image: url('../images/paymentservice_1.png');
}

.business-list .business-item-managementservice h4 {
  background-image: url('../images/paymentservice_3.png');
}

.business-list h4 .h4-title-main {
  margin: 0 auto 4px;
  display: block;
}

.business-list h4 .h4-title-sub {
  font: normal normal normal 10px/13px futura-pt;
  letter-spacing: 0px;
  color: #47C1F1;
  display: block;
  text-align: center;
}

.business-list a.outline-button {
  width: 220px;
  box-sizing: border-box;
}

.business-list .business-item-mobility-it h4 .h4-title-sub {
  color: #58DA92;
}

.business-list .business-item-managementservice h4 .h4-title-sub {
  color: #137547;
}

@media screen and (min-width:768px) {
  .section2-inner {
    width: calc(100% - 80px);
    max-width: 688px;
    margin: 0 auto;
  }

  .section2-inner h3 {
    padding: 50px 0;
  }

  .business-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .business-list li {
    display: inline-block;
  }

  .business-list li:last-child {
    padding-bottom: 0px;
  }
}

@media screen and (min-width:1025px) {
  .section2-inner {
    max-width: 1025px;
  }

  .business-list {
    flex-wrap: nowrap;
  }

  .business-list li {
    padding-bottom: 0px;
  }
}

@media screen and (min-width:1280px) {
  .section2-inner {
    max-width: 1279px;
  }

  .section2-inner h3 {
    padding: 63px 0 80px;
  }

  .business-list h4 {
    margin: 0 auto;
    width: 360px;
    padding: 0 0 310px;
    background-position: center 90px;
  }

  .business-list h4 .h4-title-sub {
    font-size: 15px;
    line-height: 30px;
  }

  .business-list a.outline-link-button {
    width: 290px;
  }

  .business-list a.outline-button {
    width: 290px;
  }
}

/* スライド */
.swiper-container {
  width: 100%;
  height: 153px;
  z-index: 1;
}

.height-basis-image {
  height: 100%;
}

.slide-outer .swiper-slide {
  width: auto;
}

.slide-outer .swiper-slide>* {
  text-align: center;
  margin: 0 auto;
}

.slide-outer div.swiper-pagination.swiper-pagination-bullets {
  position: relative;
  padding: 30px 0;
  width: 100%;
  z-index: 1;
}

.slide-outer .swiper-pagination-bullet {
  margin-right: 20px;
  width: 10px;
  height: 10px;
}

.slide-outer .swiper-pagination-bullet:last-child {
  margin-right: 0;
}

.slide-outer .swiper-pagination-bullet-active {
  background-color: #005032;
}

.section3-inner {
  margin-top: 50px;
  background-image: linear-gradient(to bottom, #f5f5f5 60%, #ffffff 60%);
}

.section3-inner h3 {
  padding: 30px 0 22px;
}

@media screen and (min-width:768px) {
  .section3-inner {
    margin-top: 90px;
  }

  .section3-inner h3 {
    padding: 50px 0;
  }

  .swiper-container {
    width: auto%;
    height: 180px;
  }

  .slide-outer div.swiper-pagination.swiper-pagination-bullets {
    padding: 40px 0 0;
  }
}

@media screen and (min-width:1280px) {
  .section3-inner {
    margin-top: 90px;
  }

  .section3-inner h3 {
    padding: 63px 0 48px;
  }
}

/* footer */

a.contact-button {
  padding: 42px 0 37px;
  text-align: center;
  position: relative;
  display: block;
  color: #ffffff;
  background: #005032 url('../images/pc/contact_close_2x.png') right bottom / auto 90px no-repeat;
}

a.contact-button:hover {
  background-image: url('../images/pc/contact_open_2x.png');
}

a.contact-button div:first-child {
  font: normal normal bold 25px/33px futura-pt;
}

a.contact-button div:last-child {
  font: normal normal bold 12px/24px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
}

@media screen and (min-width:768px) {

  a.contact-button {
    padding: 76px 0 73px;
    background: #005032 url('../images/pc/contact_close_2x.png') right bottom / contain no-repeat;
  }

  a.contact-button div:first-child {
    font: normal normal bold 36px/51px futura-pt;
  }

  a.contact-button div:last-child {
    font: normal normal bold 14px/30px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  }
}

.footer-buttons {
  padding: 24px 0 21px;
}

.footer-buttons li {
  margin-bottom: 8px;
  text-align: center;
}

.footer-buttons li:last-child {
  margin-bottom: 0;
}

.footer-buttons li a {
  font: normal normal bold 12px/24px futura-pt;
}

.footer-nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.footer-nav li {
  text-align: center;
  line-height: 1.2;
}

.footer-nav li a {
  font: normal normal normal 10px/18px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
}

@media screen and (max-width:767px) {
  .footer-nav-content {
    display: none;
  }
}

@media screen and (min-width:768px) {
  .footer-buttons {
    display: none;
  }

  .footer-nav-content {
    width: calc(100% - 40px);
    max-width: 920px;
    display: flex;
    justify-content: space-between;
    align-items: first baseline;
    margin: 50px auto;
  }

  .footer-nav-content>li {
    display: inline-block;
    vertical-align: top;
    text-align: left;
  }

  .footer-nav-content>li>p,
  .footer-nav-content>li>a {
    font: normal normal bold 14px/20px futura-pt;
    margin-bottom: 15px;
  }

  .footer-nav-sub-content>li>a {
    font-size: 10px;
    line-height: 1;
    font-family: 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  }

}

@media screen and (min-width:1280px) {

  .footer-nav-content>li {
    margin-right: 40px;
  }

  .footer-nav-content {
    padding: 0 0 0 186px;
    background: url('../images/pc/wellnet_logo_moji_medium_2x.png') left top -18px / auto 100px no-repeat;
  }
}

.footer-inner {
  border-bottom: 1px solid #E6E6E6;
}

.footer-inner:last-child {
  display: flex;
  flex-direction: column;
  gap: 30px;
  border-bottom: 0px;
  margin: 26px auto 50px;
}

.copyright {
  font: normal normal normal 10px/18px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  text-align: center;
}

.footer-certification-mark {
  display: flex;
  justify-content: center;
  gap: 10px;
}

.footer-certification-mark li {
  display: inline-block;
  height: 50px;
}

.footer-certification-mark li img {
  height: 100%;
}

@media screen and (min-width:768px) {

  .footer-inner:last-child {
    margin: 30px auto 50px;
    width: calc(100% - 20px);
  }

  .footer-nav {
    flex-direction: row;
    justify-content: center;
    align-items: first baseline;
    flex-wrap: wrap;
    gap: 8px 16px;
  }

  .footer-inner {
    text-align: center;
  }

  .footer-inner>* {
    vertical-align: top;
  }
}

.blank-link {
  padding-right: 22px;
  background: url('../images/externallink_icon.svg') right 5px center / 12px auto no-repeat;
}

.header-nav-sub .blank-link {
  background: url('../images/externallink_icon.svg') top left 100px / auto 12px no-repeat;
}

.footer-nav-content .footer-nav-sub-content .blank-link {
  padding-right: 15px;
  background: url('../images/externallink_icon.svg') top right / auto 10px no-repeat;
}

.blank-link-green {
  padding-right: 22px;
  background: url('../images/externallink_icon_green.svg') right top / auto 12px no-repeat;
}


@media screen and (min-width:1280px) {
  .footer-inner:last-child {
    gap: 25px;
  }

}

@media screen and (min-width:1580px) {
  .footer-inner:last-child {
    flex-direction: row;
    align-items: center;
    justify-content: center;
  }

  .footer-nav {
    gap: 24px;

  }
}


/* ペイメント・ビジネスページ トップ画像*/
@media screen and (min-width:1280px) {
  .business-page .heading .section-inner img {
    width: 1180px;
    margin: 0 auto;
  }
}

/* ビジネス系サブページ */
.business-page h1 .h1-title-main {
  color: #58DA92;
  padding: 8px 15px 4px;
  width: 180px;
}

.business-page h1 .h1-title-sub {
  font: normal normal normal 12px/24px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  letter-spacing: 0px;
  padding: 0 15px 10px;
}

@media screen and (min-width:768px) {
  .business-page .heading {
    background: linear-gradient(to bottom, #f5f5f5, #f5f5f5) center top 70px / cover no-repeat;
    padding-left: 30px;
  }

  .business-page .heading .section-inner {
    margin: 0 auto;
    position: relative;
    margin: 0;
  }

  .business-page h1 {
    position: absolute;
    top: 71.45%;
    left: 0;
  }

  .business-page h1 .h1-title-main {
    display: none;
  }

  .business-page h1 .h1-title-sub {
    width: 180px;
    padding: 0;
    font-size: 14px;
    line-height: 24px;
  }
}

@media screen and (min-width:1280px) {
  .business-page .heading .section-inner {
    margin: 0 auto;
    position: relative;
    width: 1180px;
  }

  .business-page h1 .h1-title-sub {
    font-size: 16px;
    line-height: 30px;
  }

  .business-page h1 {
    position: absolute;
    top: 71.45%;
    left: 0;
  }
}

@media screen\0 {
  .business-page .heading {
    background: #ffffff;
    padding-left: 0;
  }

  .business-page h1 {
    position: relative;
    top: 0;
  }

  .business-page h1 .h1-title-main {
    display: block;
  }

  .business-page h1 .h1-title-sub {
    padding: 0 15px 10px;
  }
}

.business-page .about-services {
  padding: 27.5px 35px 0;
  background: linear-gradient(to bottom, #f5f5f5, #f5f5f5) top / 100% 160px no-repeat;
}

.business-page .service-list {
  padding-top: 24px;
}

.business-page .service-list li {
  margin-bottom: 40px;
}

.business-page .service-list li:last-child {
  margin-bottom: 0px;
}

.business-page .service-list li a h4:hover {
  opacity: 0.7;
  transition: all 0.8s;
  display: block;
}

.business-page .service-list li p {
  font-size: 12px;
  line-height: 24px;
}

.business-page .service-list li h4 {
  padding-top: 180px;
  background: none center top / auto 160px no-repeat;
  margin-bottom: 16.5px;
}

.business-page .h4-title-main {
  display: inline-block;
  padding: 3.5px 0 3.5px 32px;
  font-family: 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  background: none left center / 26.8px 25px no-repeat;
}

.business-page .h4-title-sub {
  font-size: 10px;
  line-height: 18px;
  color: #58DA92;
  display: block;
}

.more-link {
  text-align: right;
  font: normal normal normal 14px/18px futura-pt;
}

.document-link {
  font-size: 12px !important;
  line-height: 18px !important;
  margin-top: 10px;
}

.document-link a {
  text-decoration: underline;
}

@media screen and (min-width:480px) {
  .business-page .about-services {
    padding: 30px 0 0;
    background: linear-gradient(to bottom, #f5f5f5, #f5f5f5) top / 100% 325px no-repeat;
    text-align: center;
  }

  .business-page .about-services .section-inner {
    display: inline-block;
  }

  .business-page .service-list {
    padding-top: 50px;
    text-align: center;
  }

  .business-page .service-list li {
    width: 440px;
    margin-bottom: 80px;
  }


  .business-page .service-list li:nth-child(4) {
    margin-bottom: 0;
  }



  .business-page .service-list li h4 {
    padding-top: 309px;
    background: none center top / auto 280px no-repeat;
    font-size: 20px;
    line-height: 1em;
    text-align: left;
    margin-bottom: 20px;
    margin-top: 0;
  }

  .business-page .h4-title-main {
    display: inline-block;
    padding: 0 0 29px 77.8px;
    background-position: left top;
    background-size: contain;
    margin-bottom: -17px;
  }

  .business-page .h4-title-sub {
    padding-left: 77.8px;
    font-size: 15px;
    line-height: 20px;
  }

  .business-page .shiharai-hisyo .h4-title-sub {
    padding-left: 60px;
  }

  .business-page .shimayell .h4-title-sub {
    padding-left: 50px;
  }

  .business-page .service-list li p {
    font-size: 14px;
    line-height: 24px;
    text-align: left;
  }

  .more-link {
    font-size: 14px;
    line-height: 21px;
    padding: 30px 0 5px 0;
  }
}

@media screen and (min-width:768px) {
  .business-page .about-services {
    padding: 87px 0 60px;
    background: linear-gradient(to bottom, #f5f5f5, #f5f5f5) top / 100% 225px no-repeat;
  }

  .business-page h3 {
    text-align: left;
  }

  .business-page .about-services {
    padding: 50px 0 0;
    text-align: center;
  }

  .business-page .about-services .section-inner {
    max-width: 692px;
    margin: 0 30px;
  }

  .business-page .service-list {
    padding-top: 40px;
    text-align: left;
  }

  .business-page .service-list li {
    width: 319px;
    display: inline-block;
    vertical-align: top;
    margin-right: 48px;
  }

  .business-page .service-list li:nth-child(2n) {
    margin-right: 0px;
  }

  .business-page .service-list li h4 {
    padding-top: 233px;
    background: none center top / auto 203px no-repeat;
    font-size: 20px;
    line-height: 1em;
    text-align: left;
    margin-bottom: 30px;
    margin-top: 0;
  }
}

@media screen and (min-width:1280px) {
  .business-page h3 {
    text-align: left;
  }

  .business-page .about-services {
    padding: 87px 0 0;
  }

  .business-page .about-services .section-inner {
    max-width: 984px;
    margin: 0;
  }

  .business-page .service-list li {
    width: 440px;
    display: inline-block;
    vertical-align: top;
    margin-right: 98px;
  }

  .business-page .service-list li h4 {
    padding-top: 311px;
    background: none center top / auto 280px no-repeat;
    font-size: 20px;
    line-height: 1em;
    text-align: left;
    margin-bottom: 20px;
    margin-top: 0;
  }

  /* 2列を想定。（1アイテムの幅……width:500px + margin:80px） */
  .business-page .service-list li:nth-child(2n) {
    margin-right: 0;
  }
}

/* MOBILITY IT SERVICE */
s .mobility-it-service h1 .h1-title-main {
  color: #58DA92;
}

.mobility-it-service .h4-title-sub {
  color: #58DA92;
}

.mobility-it-service .h4-title-sub {
  color: #58DA92;
}

.mobility-it-service .service-list .bus-mori h4 {
  background-image: url('../images/business-mobility-it/ITserviceimage_bus_mori_2x.png');
}

.mobility-it-service .service-list .bus-mori-monta h4 {
  background-image: url('../images/business-mobility-it/ITserviceimage_2_monta_2x.png');
}

.mobility-it-service .service-list .bus-mori-web h4 {
  font-size: 4.3vw;
  background-image: url('../images/business-mobility-it/ITserviceimage_3.png');
}

.mobility-it-service .service-list .altair h4 {
  font-size: 4.3vw;
  background-image: url('../images/business-mobility-it/ITserviceimage_4.png');
}

.mobility-it-service .bus-mori .h4-title-main {
  background-image: url('../images/business-mobility-it/service_icon4.svg');
}

.mobility-it-service .bus-mori-monta .h4-title-main {
  background-image: url('../images/business-mobility-it/service_icon5.svg');
}

.mobility-it-service .bus-mori-web .h4-title-main {
  background-image: url('../images/business-mobility-it/service_icon6.svg');
}

.mobility-it-service .altair .h4-title-main {
  background-image: url('../images/business-mobility-it/service_icon7.svg');
}

/* PAYMENT SERVICE */
.payment-service h1 .h1-title-main {
  color: #47C1F1;
}

@media screen and (min-width:480px) {
  .mobility-it-service .service-list .bus-mori-web h4 {
    font-size: 20px;
  }

  .mobility-it-service .service-list .altair h4 {
    font-size: 20px;
  }
}

@media screen and (min-width:768px) {
  .mobility-it-service .service-list .bus-mori-web h4 {
    font-size: 15px;
  }

  .mobility-it-service .service-list .altair h4 {
    font-size: 15px;
  }

  .payment-service h1 .h1-title-sub {
    width: 200px;
  }
}

@media screen and (min-width:1280px) {
  .mobility-it-service .service-list .bus-mori-web h4 {
    font-size: 20px;
  }

  .mobility-it-service .service-list .altair h4 {
    font-size: 20px;
  }

  .payment-service h1 .h1-title-sub {
    width: 320px;
  }
}

.payment-service .h4-title-sub {
  color: #47C1F1;
}

.payment-service .service-list .multi-payment-service h4 {
  background-image: url('../images/business-payment/paymentimage_1_2x.png');
}

.payment-service .service-list .money-transfer-service h4 {
  background-image: url('../images/business-payment/paymentimage_1-1_2x.png');
}

.payment-service .service-list .shiharai-hisyo h4 {
  background-image: url('../images/business-payment/paymentimage_1-2_2x.png');
}

.payment-service .service-list .shimayell h4 {
  background-image: url('../images/business-payment/paymentimage_1-3_2x.png');
}

.payment-service .multi-payment-service .h4-title-main {
  background-image: url('../images/business-payment/service_icon1.svg');
}

.payment-service .money-transfer-service .h4-title-main {
  background-image: url('../images/business-payment/service_icon2.svg');
}

.payment-service .shiharai-hisyo .h4-title-main {
  background-image: url('../images/business-payment/service_icon3.svg');
}

.payment-service .shimayell .h4-title-main {
  background-image: url('../images/business-payment/service_icon4.svg');
}

@media screen and (min-width:480px) {
  .payment-service .money-transfer-service .h4-title-main {
    background-size: 64px auto;
  }

  .payment-service .shiharai-hisyo .h4-title-main {
    background-size: auto 50px;
    padding: 0 0 29px 60px;
  }

  .payment-service .shimayell .h4-title-main {
    background-size: auto 49px;
    padding: 0 0 29px 50px;
  }
}

@media screen and (min-width:768px) {
  .service-list li:nth-child(2n+1):last-child {
    position: relative;
  }

  .service-list li:nth-child(2n+1):last-child::after {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    display: inline-block;
    top: 0;
    left: 410px;
    background: url('../images/business-payment/paymentservice_3_2x.png') left 0px center / 200px 353.16px no-repeat;
  }

  .mobility-it-service .service-list li:nth-child(2n+1):last-child::after {
    background: none;
  }
}

@media screen and (min-width:1280px) {

  /* 2列で最後が奇数なら右に画像を表示する。 */
  .service-list li:nth-child(2n+1):last-child {
    position: relative;
    margin-right: 580px;
  }

  .service-list li:nth-child(2n+1):last-child::after {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    display: inline-block;
    top: 0;
    left: 580px;
    background: url('../images/business-payment/paymentservice_3_2x.png') left 123px center / 254.84px 450px no-repeat;
  }
}

/* 会社系サブページ */
.company-page h1 {
  color: #ffffff;
  font-size: 36px;
  line-height: 46px;
  padding: 17px 0;
  text-align: center;
  background: url('../images/about-us/title-background_SP_2x.png') center center / cover no-repeat;
}

.company-page h1 .long-title {
  font-size: 20px;
  line-height: 1.2;
  padding: 0 15px;
}

.company-page>section:not(.heading) {
  padding: 20px 35px 0px;
}

.company-page h3 {
  text-align: center;
  padding-bottom: 15px;
}

.company-page h3 .h3-title-sub {
  display: block;
  font: normal normal bold 10px/24px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
}

.company-page p {
  font: normal normal normal 12px/24px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
}

@media screen and (min-width:768px) {
  .company-page h1 {
    font-size: 36px;
    line-height: 70px;
    padding: 27px 0;
    background-image: url('../images/about-us/title-background_2x.png');
  }

  .company-page h1 .long-title {
    font-size: 36px;
  }

  .company-page>section:not(.heading) {
    padding: 50px 0px 0px;
  }

  .company-page h3 {
    text-align: left;
    padding-bottom: 0;
  }

  .company-page h3 .h3-title-sub {
    font: normal normal normal 15px/30px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  }

  .company-page p {
    font-size: 14px;
    line-height: 30px;
  }
}

@media screen and (min-width:1280px) {
  .company-page>section:not(.heading) {
    margin: 0 auto;
    padding: 50px 0px 0px;
  }
}

table.green-line {
  margin: 40px 0;
  font-size: 12px;
  line-height: 24px;
}

table.green-line tr>* {
  display: block;
  padding: 9px 20px;
}

table.green-line th {
  border-top: solid 1px #005032;
  color: #005032;
  text-align: left;
  min-width: 4em;
}

table.green-line tr:last-child th,
table.green-line tr th.last {
  border-bottom: solid 1px #005032;
}

table.green-line td {
  border-top: solid 1px #e6e6e6;
}

table.green-line td .paragraph {
  margin-left: 2em;
}

table.green-line td a {
  color: #005032;
  text-decoration: underline;
  margin: 0 5px;
}

table.green-line tr:last-child td {
  border-bottom: solid 1px #e6e6e6;
}

@media screen and (min-width:768px) {
  table.green-line {
    margin: 40px;
    font-size: 14px;
    line-height: 24px;
    border-collapse: separate;
    border-spacing: 20px 0;
    /*marginを引いて外側の余白を調整する*/
  }

  table.green-line tr>* {
    display: table-cell;
  }

  table.green-line th {
    text-align: center;
    padding: 13px 30px;
  }

  table.green-line td {
    padding: 13px 20px 13px 24px;
  }
}

.grid-1 {
  display: grid;
  grid-template-columns: auto 1fr;
}

/* ABOUT US */
.about-us .top-message .top-message-letter {
  padding: 205px 0 0 0;
  background: linear-gradient(to bottom, #ffffff, #ffffff) center top 205px / cover no-repeat, url('../images/about-us/topmessage_photo.jpg') center top / 200px auto no-repeat;
}

.about-us .top-message .top-message-letter h4 {
  font-size: 16px;
  line-height: 30px;
  margin: 12px 0 13px;
}

.about-us .top-message .top-message-letter .top-message-text {
  margin: 0 0 40px;
}

.about-us .top-message .top-message-letter .outline-toggle-button {
  margin: 0 auto 45px;
}

.about-us .top-message .top-message-letter p {
  margin: 0 0 22px;
  text-indent: 1em;
  letter-spacing: 0px;
}

.about-us .top-message .top-message-letter p.with-sp {
  text-align: center;
  text-indent: 0;
}

@media screen and (min-width:768px) {
  .about-us .top-message {
    margin: 0 40px;
  }

  .about-us .top-message .top-message-letter {
    padding: 0 0 0 280px;
    margin: 0 0 50px;
    background: url('../images/about-us/topmessage_photo.jpg') left top / 230px auto no-repeat;
  }

  .about-us .top-message .top-message-letter h4 {
    text-align: left;
    margin: 20px 0 30px;
  }
}

@media screen and (min-width:1280px) {
  .about-us .top-message {
    max-width: 980px;
  }

  .about-us .top-message .top-message-letter {
    padding: 0 0 0 300px;
    background: url('../images/about-us/topmessage_photo.jpg') left top / 250px auto no-repeat;
  }

  .about-us .top-message .top-message-letter h4 {
    text-align: left;
    margin: 40px 0 32px;
  }

  .about-us .philosophy .section-inner {
    max-width: 980px;
    margin: 0 auto;
  }

  .about-us .sustainability .section-inner {
    max-width: 980px;
    margin: 0 auto;
  }
}

.about-us .top-message .top-message-letter p.cancel-margin {
  margin: 0;
}

.about-us .philosophy {
  text-align: center;
  margin: 0 auto 45px;
  background: linear-gradient(to bottom, #f5f5f5, #f5f5f5) center top / 100% 80px no-repeat;
}

.about-us .philosophy h3 {
  background-color: #f5f5f5;
  margin-left: -35px;
  margin-right: -35px;
}

.about-us .philosophy .arete {
  background-color: #ffffff;
}

.about-us .philosophy .arete .highlight {
  font-weight: bold;
  color: #005032;
}

.about-us .philosophy .arete .description {
  color: #005032;
  font-size: 10px;
  line-height: 18px;
}

.about-us .philosophy .arete p {
  margin-bottom: 20px;
  text-align: left;
}

.about-us .sustainability {
  text-align: center;
  background: linear-gradient(to bottom, #f5f5f5, #f5f5f5) center top / 100% 80px no-repeat;
}

.about-us .sustainability h3 {
  background-color: #f5f5f5;
  margin-left: -35px;
  margin-right: -35px;
}

.about-us .sustainability h3 {
  background-color: #f5f5f5;
  margin-left: -35px;
  margin-right: -35px;
}

.about-us .sustainability .sustainability-btn-wrapper {
  margin: 27px auto 0;
}

.about-us .sustainability .sustainability-btn {
  display: inline-block;
  width: 100%;
  max-width: 390px;
  font-size: 14px;
  line-height: 1.5;
  color: #005032;
  font-weight: bold;
  text-align: center;
  padding: 22px 0;
  border: 1px solid #005032;
  background: #fff url('../images/green_arrow.svg') center right 10px / 12px auto no-repeat;
}

.about-us .sustainability .sustainability-btn:hover {
  color: #fff;
  background: #005032 url('../images/white_arrow.svg') center right 10px / 12px auto no-repeat;
}

.about-us .sustainability .sustainability-btn p {
  color: #005032;
  font-size: 12px;
  line-height: 1;
  margin: 15px auto 0;
  text-align: center;
}

@media screen and (min-width:768px) {
  .about-us .philosophy {
    background: linear-gradient(to bottom, #f5f5f5, #f5f5f5) center top / 100% 303px no-repeat;
    margin: 0 auto 50px;
  }

  .about-us .philosophy .section-inner {
    margin: 0 40px;
  }

  .about-us .philosophy h3 {
    margin: 0;
  }

  .about-us .philosophy .arete {
    padding: 30px;
    margin-top: 30px;
  }

  .about-us .philosophy .arete h4 {
    margin-top: 0;
  }

  .about-us .philosophy .section-inner.arete br {
    display: none;
  }

  .about-us .philosophy .arete p {
    margin-bottom: 20px;
    text-align: center;
  }

  .about-us .philosophy .arete .description {
    font-size: 14px;
    line-height: 30px;
  }

  .about-us .sustainability {
    text-align: center;
    background: linear-gradient(to bottom, #f5f5f5, #f5f5f5) center top / 100% 80px no-repeat;
  }

  .about-us .sustainability h3 {
    margin: 0;
  }

  .about-us .sustainability .section-inner {
    padding: 0 40px;
    background: linear-gradient(to bottom, #f5f5f5, #f5f5f5) center top / 100% 90px no-repeat;
  }

  .about-us .sustainability .sustainability-btn-wrapper {
    background-color: #fff;
    padding: 0;
    margin-top: 70px;
  }
}

@media screen and (min-width:1280px) {
  .about-us .philosophy .section-inner {
    max-width: 980px;
    margin: 0 auto;
  }
}

.about-us .contribution {
  background: linear-gradient(to bottom, #f5f5f5, #f5f5f5) center top / 100% 163px no-repeat;
}

.about-us .philosophy h4,
.about-us .contribution h4 {
  color: #005032;
  margin: 27px 0 13px;
  font-size: 16px;
  line-height: 30px;
}

.about-us .contribution h4 {
  padding: 185px 0 0;
  margin: 0 0 13px;
  background: url('../images/about-us/csr_photo_1_2x.png') center top / auto 160px no-repeat;
}

@media screen and (min-width:768px) {
  .about-us .contribution .section-inner {
    margin: 0 40px;
  }

  .about-us .contribution {
    background: linear-gradient(to bottom, #f5f5f5, #f5f5f5) center top / 100% 205px no-repeat;
  }

  .about-us .philosophy h4,
  .about-us .contribution h4 {
    padding: 0;
    margin: 32px 0 21px;
    font-size: 20px;
    line-height: 45px;
  }

  .about-us .contribution h4 {
    padding: 146px 0 0;
    background: url('../images/about-us/csr_photo_2x.png') center top / auto 127.41px no-repeat;
  }
}

@media screen and (min-width:1280px) {
  .about-us .contribution .section-inner {
    max-width: 980px;
    margin: 0 auto;
  }

  .about-us .contribution {
    background: linear-gradient(to bottom, #f5f5f5, #f5f5f5) center top / 100% 274px no-repeat;
  }

  .about-us .philosophy h4,
  .about-us .contribution h4 {
    padding: 0;
    margin: 32px 0 21px;
    font-size: 20px;
    line-height: 45px;
  }

  .about-us .contribution h4 {
    padding: 230px 0 0;
    background: url('../images/about-us/csr_photo_2x.png') center top / auto 200px no-repeat;
  }
}

.about-us .philosophy .activity-policy {
  color: #005032;
}

.about-us .philosophy .activity-policy h5 {
  background-color: #005032;
  color: #ffffff;
  font: normal normal normal 16px/30px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  margin: 0;
  text-align: center;
}

@media screen and (min-width:768px) {
  .about-us .philosophy .activity-policy {
    display: inline-block;
    margin-bottom: 0;
    width: 100%;
  }

  .about-us .philosophy .activity-policy h5 {
    font-size: 20px;
    line-height: 40px;
  }
}

.about-us .philosophy .activity-policy ul li {
  padding: 18px;
  border: solid 2px #005032;
  box-sizing: border-box;
  margin: 10px 0 0;
  text-align: left;
}

.about-us .philosophy .activity-policy ul li div {
  display: table-cell;
  vertical-align: middle;
}

.about-us .philosophy .activity-policy ul li div:first-child {
  font: normal normal bold 25px/33px futura-pt;
}

.about-us .philosophy .activity-policy ul li div:last-child {
  padding-left: 20px;
}

.about-us .philosophy .activity-policy p {
  font: normal normal bold 12px/24px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
}

@media screen and (min-width:768px) {
  .about-us .philosophy .activity-policy ul {
    margin-right: 0;
  }

  .about-us .philosophy .activity-policy ul li {
    width: calc(50% - 20px);
    height: auto;
    padding: 20px 10px 30px;
    display: inline-block;
    margin: 30px 20px 0 0;
    text-align: center;
  }

  .about-us .philosophy .activity-policy ul li:last-child {
    margin: 30px 0 0 0;
  }

  .about-us .philosophy .activity-policy ul li div:first-child {
    display: inline-block;
    font: normal normal bold 25px/38px futura-pt;
    border-bottom: solid 2px #005032;
  }

  .about-us .philosophy .activity-policy ul li div:last-child {
    padding: 20px 0 0;
    display: table;
    margin: 0 auto;
  }

  .about-us .philosophy .activity-policy ul li div:last-child p {
    display: table-cell;
    vertical-align: middle;
  }

  .about-us .philosophy .activity-policy p {
    font: normal normal bold 16px/28px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  }
}

@media screen and (min-width:1280px) {

  .about-us .philosophy {
    margin: 0 auto 80px !important;
  }

  .about-us .philosophy .activity-policy ul li {
    padding: 30px 30px 15px;
    display: inline-block;
    margin: 20px 30px 0 0;
    text-align: center;
  }

  .about-us .philosophy .activity-policy ul li div:first-child {
    display: inline-block;
    font: normal normal bold 30px/38px futura-pt;
    border-bottom: solid 2px #005032;
  }

  .about-us .philosophy .activity-policy ul li div:last-child {
    width: 240px;
    padding: 30px 0;
    display: table;
  }

  .about-us .philosophy .activity-policy ul li div:last-child p {
    display: table-cell;
    vertical-align: middle;
  }

  .about-us .philosophy .activity-policy p {
    font: normal normal bold 20px/40px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  }

  .about-us .sustainability {
    background: linear-gradient(to bottom, #f5f5f5, #f5f5f5) center top / 100% 140px no-repeat;
  }

  .about-us .sustainability .sustainability-btn-wrapper {
    margin-top: 80px;
  }

  .about-us .sustainability .sustainability-btn-wrapper p {
    padding-top: 50px;
    letter-spacing: -0.02em;
  }

  .about-us .sustainability .sustainability-btn {
    padding: 32px 0;
  }
}

.about-us .contribution p {
  font: normal normal normal 12px/24px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  text-align: left;
}

.about-us .contribution table.green-line {
  margin: 40px -20px;
}

@media screen and (min-width:768px) {
  .about-us .contribution p {
    font: normal normal bold 16px/30px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
    text-align: center;
    text-indent: 1em;
    padding: 0;
  }

  .about-us .contribution table.green-line {
    margin: 30px 0;
  }
}

@media screen and (min-width:1280px) {
  .about-us .contribution p {
    padding: 0 116px;
  }

  .about-us .contribution table.green-line {
    margin: 40px 40px 0;
  }
}

.company .outline-toggle-button {
  margin: 15px auto 45px;
}

.company table.green-line {
  width: 100%;
}

.company section.company-overview {
  padding: 20px 15px;
}

/* HISTORY */
.company section.history {
  width: 100%;
  box-sizing: border-box;
  padding: 20px 15px;
  background: linear-gradient(to bottom, #f5f5f5, #f5f5f5) center top / 100% 80px no-repeat;
}

.company section.history div[toggleid="history"] {
  margin-bottom: 10.38px;
}

.chronology {
  border-left: 1px solid #E5EDEA;
}

.chronology h4 {
  font-size: 22px;
  display: block;
  color: #005032;
  text-align: left;
  margin: 0 0 24px;
  padding: 12px 0 12px 12px;
  position: relative;
}

.chronology h4 span {
  font-size: 16px;
  padding: 0 2px;
}

.chronology h4::before {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  background: #005032;
  border-radius: 50%;
  position: absolute;
  left: -5px;
  top: calc(50% - 6px);
}

.chronology .chronology-block-wrapper {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  grid-gap: 32px;
  margin: 0 auto 32px;
  box-sizing: border-box;
}

.chronology .chronology-block-wrapper .chronology-block {
  position: relative;
  min-width: 0;
}

.chronology .chronology-block-wrapper .chronology-block::before {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  background: #005032;
  border-radius: 50%;
  position: absolute;
  left: -5px;
  top: 21px;
}

.chronology .chronology-block-wrapper .chronology-block .year {
  font-size: 22px;
  line-height: 1;
  font-family: futura-pt, 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  color: #005032;
  margin: 0 0 16px;
  padding: 0 0 4px 12px;
  border-bottom: 1px solid #E5EDEA;
}

.chronology .chronology-block-wrapper .chronology-block ul li {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 8px;
  grid-template-areas: "month content";
  justify-content: start;
  justify-items: start;
  margin: 0 0 8px 0;
  padding: 0 0 0 12px;
}

.chronology .chronology-block-wrapper .chronology-block ul li:last-child {
  margin: 0;
}

.chronology .chronology-block-wrapper .chronology-block ul li .month {
  font-size: 12px;
  line-height: 1.5;
  font-weight: bold;
  color: #005032;
  grid-area: month;
}

.chronology .chronology-block-wrapper .chronology-block ul li .chronology-content {
  font-size: 12px;
  line-height: 1.5;
  grid-area: content;
  overflow-wrap: anywhere;
}

.chronology .chronology-block-wrapper .chronology-block .history-img {
  display: flex;
  gap: 12px;
  align-items: flex-end;
  margin: 16px 0 0 0;
  padding: 0 0 0 12px;
}

.chronology .chronology-block-wrapper .chronology-block .history-img picture {
  max-width: 200px;
  min-width: 0;
  max-height: 240px;
}

.chronology .chronology-block-wrapper .chronology-block .history-img .img-note {
  font-size: 12px;
  line-height: 1.5;
}

/* 年号ブロック個別調整 */
/* 2023 */
.chronology .chronology-block-wrapper .chronology-block.y-2023 .history-img-wrapper {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  padding: 0 0 0 12px;
  margin: 16px 0 0 0;
  box-sizing: border-box;
  overflow: hidden;
}

.chronology .chronology-block-wrapper .chronology-block.y-2023 .history-img {
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  margin: 0;
}

.chronology .chronology-block-wrapper .chronology-block.y-2023 .history-img picture {
  min-width: 0;
}

.chronology .chronology-block-wrapper .chronology-block.y-2016 .history-img .img-note {
  text-align: left;
}

@media screen and (min-width:480px) {
  .company section.history {
    background-size: 100% 80px;
  }
}

@media screen and (min-width:768px) {
  .company table.green-line {
    margin: 50px -20px;
    table-layout: fixed;
  }

  .company table.green-line th {
    width: 7.5em;
    padding: 13px 15px;
  }

  .company section.company-overview {
    margin: 0 40px;
    padding: 50px 0 0;
  }

  .company section.history {
    padding: 50px 40px 0;
    background-size: 100% 140px;
  }

  .company section.history h3 {
    text-align: center;
  }

  .company section.history div[toggleid="history"] {
    margin-top: 10px;
  }

  .chronology {
    border-left: none;
  }

  .chronology h4 {
    font-size: 32px;
    line-height: 1;
    color: #fff;
    text-align: center;
    margin: 0 auto;
    padding: 4px 0;
    position: unset;
    width: 100%;
    background: #005032;
    border-radius: 32px;
  }

  .chronology h4 span {
    font-size: 22px;
  }

  .chronology h4::before {
    display: none;
  }

  .chronology .chronology-block-wrapper {
    grid-template-columns: repeat(auto-fit, minmax(48%, 1fr));
    grid-gap: 16px 0;
    margin: 0 auto 80px;
    padding: 32px 0 0;
    background-image: linear-gradient(90deg, transparent 49.9%, #E5EDEA 49.9%, #E5EDEA 50%, transparent 50%);
  }

  /* 奇数番目のdivを左側の列に配置 */
  .chronology .chronology-block-wrapper .chronology-block:nth-child(odd) {
    grid-column: 1;
  }

  .chronology .chronology-block-wrapper .chronology-block:nth-child(odd)::before {
    left: auto;
    right: -5px;
  }

  .chronology .chronology-block-wrapper .chronology-block:nth-child(odd) .year {
    text-align: right;
    padding: 0 16px 4px 0;
  }

  .chronology .chronology-block-wrapper .chronology-block:nth-child(odd) .history-img {
    flex-direction: row-reverse;
    padding: 0 16px 0 0;
  }

  .chronology .chronology-block-wrapper .chronology-block:nth-child(odd) .history-img .img-note {
    text-align: right;
  }

  .chronology .chronology-block-wrapper .chronology-block:nth-child(odd) ul li {
    grid-template-columns: 1fr 32px;
    grid-template-areas: "content month";
    justify-content: end;
    justify-items: end;
    text-align: right;
    padding: 0 16px 0 0;
  }

  /* 偶数番目のdivを右側の列に配置 */
  .chronology .chronology-block-wrapper .chronology-block:nth-child(even) {
    grid-column: 2;
    padding: 40px 0 0 0;
  }

  .chronology .chronology-block-wrapper .chronology-block:nth-child(even)::before {
    top: 60px;
  }

  .chronology .chronology-block-wrapper .chronology-block:nth-child(even) .year {
    padding: 0 0 4px 16px;
  }

  .chronology .chronology-block-wrapper .chronology-block:nth-child(even) ul li {
    padding: 0 0 0 16px;
  }

  .chronology .chronology-block-wrapper .chronology-block:nth-child(even) .history-img {
    padding: 0 0 0 16px;
  }

  /* 年号ブロック個別調整 */
  /* 2009 */
  .chronology .chronology-block-wrapper .chronology-block.y-2009 {
    position: relative;
  }

  .chronology .chronology-block-wrapper .chronology-block.y-2009 .history-img {
    position: absolute;
    top: 30px;
    left: 0;
    flex-direction: column;
    align-items: flex-start;
    z-index: -1;
  }

  .chronology .chronology-block-wrapper .chronology-block.y-2009 .history-img picture {
    width: 75px;
    height: auto;
  }

  .chronology .chronology-block-wrapper .chronology-block.y-2009 .history-img .img-note {
    text-align: left;
  }

  /* 2016 */
  .chronology .chronology-block-wrapper .chronology-block.y-2016 {
    position: relative;
  }

  .chronology .chronology-block-wrapper .chronology-block.y-2016 .history-img {
    position: absolute;
    top: -210px;
    left: 0;
    flex-direction: column;
    align-items: flex-start;
    z-index: 1;
  }

  .chronology .chronology-block-wrapper .chronology-block.y-2016 .history-img picture {
    width: 160px;
    height: auto;
  }

  .chronology .chronology-block-wrapper .chronology-block.y-2016 .history-img .img-note {
    text-align: left;
  }

  /* 2016 */
  .chronology .chronology-block-wrapper .chronology-block.y-2016 {
    position: relative;
  }

  .chronology .chronology-block-wrapper .chronology-block.y-2016 .history-img {
    position: absolute;
    top: -210px;
    left: 0;
    flex-direction: column;
    align-items: flex-start;
    z-index: 1;
  }

  .chronology .chronology-block-wrapper .chronology-block.y-2016 .history-img picture {
    width: 160px;
    height: auto;
  }

  .chronology .chronology-block-wrapper .chronology-block.y-2016 .history-img .img-note {
    text-align: left;
  }

  /* 2023 */
  .chronology .chronology-block-wrapper .chronology-block.y-2023 .history-img-wrapper {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    padding: 0 0 0 16px;
    margin: 16px 0 0 0;
  }

  .chronology .chronology-block-wrapper .chronology-block.y-2023 .history-img {
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
    margin: 0;
  }

  .chronology .chronology-block-wrapper .chronology-block.y-2016 .history-img .img-note {
    text-align: left;
  }
}

@media screen and (min-width:1280px) {
  .company section.history {
    padding: 60px 150px;
    background-size: 100% 168px;
  }

  .company section.company-overview {
    max-width: 980px;
    padding: 50px 0;
    margin: 0 auto;
  }

  .company section.history div[toggleid="history"] {
    margin: 30px auto;
    max-width: 980px;
  }

  /* 年号ブロック個別調整 */
  /* 2009 */
  .chronology .chronology-block-wrapper .chronology-block.y-2009 .history-img {
    top: -100px;
    align-items: center;
    z-index: 1;
  }

  .chronology .chronology-block-wrapper .chronology-block.y-2009 .history-img picture {
    width: 90px;
  }

  /* 2016 */
  .chronology .chronology-block-wrapper .chronology-block.y-2016 .history-img {
    top: -140px;
    left: 20px;
  }

  .chronology .chronology-block-wrapper .chronology-block.y-2016 .history-img picture {
    width: 200px;
  }

  /* 2021 */
  .chronology .chronology-block-wrapper .chronology-block.y-2021 {
    position: relative;
  }

  .chronology .chronology-block-wrapper .chronology-block.y-2021 .history-img {
    position: absolute;
    top: 0;
    right: 16px;
    flex-direction: column;
    align-items: flex-start;
  }

  .chronology .chronology-block-wrapper .chronology-block.y-2021 .history-img .img-note {
    text-align: left;
  }
}

/* ACCESS */
.company section.access {
  background: linear-gradient(to bottom, #f5f5f5, #f5f5f5) center top / 100% 182px no-repeat;
}

.company section.access .grid-access {
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  font-size: 12px;
  line-height: 24px;
}

.company section.access .access-hr {
  margin: 0 -20px 40px;
}

.company section.access .grid-access h4 {
  font-size: 16px;
  text-align: left;
  padding-left: 18px;
  background: url(../images/company/map_icon.svg) left center / 13.37px 20px no-repeat;
}

.company section.access .grid-access section {
  font-weight: bold;
}

.company section.access .grid-access section~div {
  margin: 17px 0;
}

.company section.access .grid-access .outline-button {
  margin: 0 0 17px 0;
  width: 100%;
  box-sizing: border-box;
}

.company section.access .grid-access .iframe-wrap {
  position: relative;
  width: 100%;
  margin-bottom: 40px;
}

.company section.access .grid-access .iframe-wrap:before {
  content: "";
  display: block;
  padding-top: 65.6%;
  /* 高さと幅の比をw:hに固定。h/w*100=paddingTop */
}

.company section.access .grid-access .iframe-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (min-width:768px) {
  .company section.access .section-inner {
    margin: 0 40px;
  }

  .company section.access .access-hr {
    margin: 50px -20px 50px;
  }

  .company section.access {
    background-size: 100% 324px;
  }

  .company section.access h3 {
    margin-bottom: 30px;
  }

  .company section.access .grid-access {
    font-size: 16px;
    line-height: 30px;
  }

  .company section.access .grid-access h4 {
    margin: 0 0 30px;
    font-size: 20px;
    line-height: 40px;
    padding-left: 30px;
    background-size: 20.05px 30px;
  }

  .company section.access .grid-access .outline-button {
    max-width: 300px;
  }

  .company section.access .grid-access .iframe-wrap {
    grid-column-start: 1;
    grid-column-end: 3;
    order: 1;
  }

  .company section.access .grid-access .access-address {
    order: 2;
  }

  .company section.access .grid-access div:first-child {
    order: 3;
  }

  .company section.access .grid-access img {
    width: 300px;
  }

  .company section.access .grid-access p {
    font-size: 11px;
  }

  .company section.access .grid-access .iframe-wrap {
    max-height: 300px;
  }
}

@media screen and (min-width:1280px) {
  .company section.access .section-inner {
    max-width: 980px;
    margin: 0 auto;
  }

  .company section.access h3 {
    margin-bottom: 40px;
  }

  .company section.access .grid-access {
    grid-template-columns: 1fr auto;
  }

  .company section.access .access-hr {
    margin: 40px 0;
  }

  .company section.access .grid-access h4 {
    margin: 0 0 27px;
  }

  .company section.access .grid-access .iframe-wrap {
    grid-column-start: 1;
    grid-column-end: 3;
    order: 1;
  }

  .company section.access .grid-access .access-address {
    order: 2;
  }

  .company section.access .grid-access div:first-child {
    order: 3;
  }

  .company section.access .grid-access img {
    width: 350px;
  }

  .company section.access .grid-access .iframe-wrap:before {
    padding-top: 27.8%;
    /* 高さと幅の比をw:hに固定。h/w*100=paddingTop */
  }

  .company section.access .grid-access p {
    font-size: 14px;
  }
}

/* NEWS 記事一覧 */
.news-content .news-content-title {
  margin-bottom: 5.33vw;
}

.news-content .news-content-title h3 {
  color: #005032;
}

.news-content .news-content-title p {
  text-align: center;
  font-size: 2.66vw;
  font-weight: bold;
  margin-top: 2.66vw;
  color: #005032;
}

.news-content .news-list {
  margin: 0 0 4vw 0;
  padding: 0;
}

.news-content .news-list li {
  padding: 2.93vw 5.33vw;
  margin: 0 4vw;
}

.news-menu-title {
  margin: 0;
  padding: 3.46vw 0;
  text-align: center;
  font-size: 25px;
  font-family: futura-pt, sans-serif;
  font-weight: 700;
  color: #005032;
  background-color: #F5F5F5;
}

.news-menu-list li {
  font-size: 12px;
  border-bottom: 1px solid #E6E6E6;
  padding: 15px 20px;
  background: transparent url('../images/green_arrow.svg') 94vw / 11.3px auto no-repeat;
}

.news-menu-list .externallink {
  background: transparent url('../images/externallink_icon_green.svg') 94vw / 11.3px auto no-repeat;
}

.news-menu-list li a {
  display: inline-block;
  width: 100%;
}

.arrow-box {
  display: flex;
  justify-content: space-between;
  margin: 0 4vw 5.33vw;
}

.arrow-box a {
  font-size: 3.2vw;
  font-family: futura-pt, sans-serif;
  color: #005032;
}

.arrow-box .next a {
  padding-right: 4vw;
  background: transparent url('../images/green_arrow.svg') 7vw / 11.3px auto no-repeat;
}

.arrow-box .back a {
  padding-left: 3vw;
  background: transparent url('../images/green_arrow2.svg') 0vw / 11.3px auto no-repeat;
}

/* NEWS 過去の投稿 */
.news-menu-list .past-archives {
  background: none;
}

/* NEWS もっと見るボタン */
.outline-button-next {
  border: 2px solid #005032;
  background: #ffffff;
  appearance: none;
  font: normal normal bold 12px/30px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  text-align: center;
  box-sizing: border-box;
  padding: 10px 0;
  width: 220px;
  display: block;
  margin: 7.737vw auto 10.667vw;
  cursor: pointer;
}

.outline-button-next a {
  color: #005032;
}

.outline-button-next span {
  position: relative;
  padding-right: 20px;
}

.outline-button-next span::before {
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  content: '';
  width: 11.3px;
  height: 100%;
  background: transparent url(../images/green_arrow.svg) center right 2px / 100% auto no-repeat;
  transform: rotateZ(90deg);
}

@media screen and (min-width:768px) {
  #news-table {
    display: flex;
  }

  .news-content {
    flex-basis: 74.73%;
  }

  .news-content .news-content-title-wrapper {
    background-color: #F5F5F5;
    height: 50px;
    position: relative;
  }

  .news-content .news-content-title {
    position: absolute;
    top: 35px;
    left: 40px;
    margin: 0;
  }

  .news-content-title h3 {
    text-align: left;
  }

  .news-content .news-content-title p {
    text-align: left;
    font-size: 14px;
    font-weight: bold;
    margin-top: 10px;
  }

  .news-content .news-list {
    margin: 70px 0 50px;
  }

  .news-content .news-list li {
    max-width: 80%;
    padding: 15px 20px 20px;
  }

  .news-content .news-list li .news-date {
    width: 60px;
    font-size: 12px;
    padding-right: 15px;
  }

  .news-content .news-list li .news-content {
    font-size: 12px;
  }

  .news-menu {
    flex-basis: 25.27%;
    background-color: #F5F5F5;
    width: 100%;
    padding: 10px 0 0 20px;
  }

  .news-menu-title {
    margin: 40px 0 30px;
    padding: 0;
    text-align: left;
    font-size: 20px;
  }

  .news-menu-list li {
    font-size: 12px;
    line-height: 18px;
    border-bottom: none;
    padding: 0;
    margin-bottom: 20px;
    background: transparent url('../images/green_arrow.svg') 160px / 10px auto no-repeat;
  }

  .news-menu-list .externallink {
    background: transparent url('../images/externallink_icon_green.svg') 160px / 10px auto no-repeat;
  }

  .news-menu-list li a {
    max-width: 170px;
  }

  .arrow-box {
    margin: 0 0 50px 40px;
  }

  .arrow-box a {
    font-size: 12px;
  }

  .arrow-box .next a {
    padding-right: 60px;
    background: transparent url('../images/green_arrow.svg') 26px / 10px auto no-repeat;
  }

  .arrow-box .back a {
    padding-left: 10px;
    background: transparent url('../images/green_arrow2.svg') 0px / 10px auto no-repeat;
  }

  /* NEWS 過去の投稿 */
  .news-menu-list .past-archives {
    max-width: 170px;
  }

  /* NEWS もっと見るボタン */
  .outline-button-next {
    margin: 20px auto;
  }
}

@media screen and (min-width:1280px) {
  .news-content {
    flex-basis: 68%;
  }

  .news-content .news-content-title-wrapper {
    height: 100px;
  }

  .news-content .news-content-title {
    top: 85px;
    left: 150px;
    margin: 0;
  }

  .news-content .news-list {
    margin: 100px 0 50px;
  }

  .news-content .news-list li {
    max-width: 80%;
    padding: 15px 20px;
    margin: 0 50px 0 150px;
  }

  .arrow-box {
    margin: 0 0 100px 150px;
  }

  .news-menu {
    flex-basis: 32%;
    background-color: #F5F5F5;
    width: 100%;
    padding: 60px 0 0 50px;
  }

  /* NEWS もっと見るボタン */
  .outline-button-next {
    margin: 40px auto 0;
  }
}

/* NEWS 記事ページ */
.news-information {
  margin: 0;
}

.news-information .news-list li {
  padding: 0 0 3.2vw 0;
  border-top: none;
  border-bottom: 1px solid #E6E6E6;
}

.news-main-title {
  font-weight: bold;
  font-size: 4.26vw;
  line-height: 8vw;
  margin: 5.33vw 4vw;
}

.news-main-text {
  font-size: 3.2vw;
  line-height: 6.4vw;
  margin: 0 4vw 10.66vw;
}

@media screen and (min-width:768px) {
  .news-information .news-list {
    margin: 50px 0 20px;
  }

  .news-information .news-list li {
    padding: 0 0 15px 0;
    margin: 0 40px;
  }

  .news-main-title {
    font-weight: bold;
    font-size: 20px;
    line-height: 28px;
    margin: 0 40px;
  }

  .news-main-text {
    font-size: 14px;
    line-height: 30px;
    margin: 30px 40px 50px 40px;
  }
}

@media screen and (min-width:1280px) {
  .news-information .news-list li {
    padding: 0 0 20px 0;
    margin-left: 150px;
  }

  .news-main-title {
    margin: 30px 50px 40px 150px;
  }

  .news-main-text {
    margin: 30px 50px 40px 150px;
  }
}

/* ------------------------------
errorpage
------------------------------ */
.errorpage-wrapper {
  min-height: 100vh;
  position: relative;
  padding-bottom: 33px;
  box-sizing: border-box;
}

.errorpage header {
  border-bottom: 1px solid #e6e6e6;
}

.errorpage header .header-inner {
  padding: 0 15px;
  margin: 0 auto;
  box-sizing: border-box;
}

.errorpage header .header-inner img {
  width: auto;
  height: 47px;
}

.errorpage main {
  padding: 20px 0px 0px;
  margin: 0 auto;
  text-align: center;
}

.errorpage main h1 {
  color: #005032;
}

.errorpage main .main-copy {
  color: #005032;
  font-size: 14px;
  line-height: 30px;
  font-weight: bold;
  margin-bottom: 20px;
}

.errorpage main .sub-copy {
  font-size: 12px;
  line-height: 24px;
  padding: 0 15px;
}

.errorpage .errorpage-btn {
  display: inline-block;
  margin-top: 30px;
  border: 2px solid #005032;
  padding: 14px 47px;
  margin-bottom: 50px;
  box-sizing: border-box;
  border-radius: 30px;
  background-color: white;
  font-size: 14px;
  line-height: 20px;
  font-weight: bold;
  color: #005032;
}

.errorpage .errorpage-btn:hover {
  background-color: #005032;
  color: white;
}

.errorpage footer {
  width: 100%;
  background-color: #005032;
  text-align: center;
  padding: 10px 0;
  position: absolute;
  bottom: 0;
}

.errorpage footer p {
  font-size: 10px;
  line-height: 13px;
  color: white;
}

@media screen and (min-width:768px) {
  .errorpage-wrapper {
    padding-bottom: 33px;
  }

  .errorpage header .header-inner {
    padding: 0 40px;
  }

  .errorpage header .header-inner img {
    height: 100px;
  }

  .errorpage main {
    padding: 37px 0px 0px;
  }

  .errorpage main h1 {
    font-size: 55px;
    line-height: 71px;
  }

  .errorpage main .main-copy {
    font-size: 20px;
    line-height: 26px;
    margin-bottom: 10px;
  }

  .errorpage main .sub-copy {
    font-size: 14px;
    line-height: 24px;
    padding: 0 40px;
  }

  .errorpage main img {
    width: auto;
    height: 330px;
    margin: 0 auto;
  }

  .errorpage .errorpage-btn {
    margin-top: 30px;
    padding: 13px 82px;
    border-radius: 50px;
  }
}

@media screen and (min-width:1280px) {
  .errorpage header .header-inner {
    padding: 0 150px;
    margin: 0 auto;
  }

  .errorpage main .sub-copy {
    padding: 0 150px;
  }
}

/* ------------------------------
company buildings
------------------------------ */
/* -top- */
.company-building-img {
  margin: 20px auto 50px;
}

.img-container-wrapper {
  width: 100%;
  height: 61.333vw;
  position: relative;
}

.company-building h1 {
  color: #ffffff;
  font-size: 28px;
  line-height: 36px;
  padding: 17px 0;
  text-align: center;
  background: url('../images/about-us/title-background_SP_2x.png') center center / cover no-repeat;
}

.company-building-img .img-container {
  position: relative;
}

.company-building-img .img-container .topimg {
  position: absolute;
  width: 100%;
  max-width: 768px;
  max-height: 450px;
  opacity: 0;
  animation: change-img-anim 30s infinite;
}

.company-building-img .img-container .topimg:nth-of-type(1) {
  animation-delay: 0s;
}

.company-building-img .img-container .topimg:nth-of-type(2) {
  animation-delay: 5s;
}

.company-building-img .img-container .topimg:nth-of-type(3) {
  animation-delay: 10s;
}

.company-building-img .img-container .topimg:nth-of-type(4) {
  animation-delay: 15s;
}

.company-building-img .img-container .topimg:nth-of-type(5) {
  animation-delay: 20s;
}

.company-building-img .img-container .topimg:nth-of-type(6) {
  animation-delay: 25s;
}

@keyframes change-img-anim {
  0% {
    opacity: 0;
  }

  15% {
    opacity: 1;
  }

  25% {
    opacity: 1;
  }

  30% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

.company-building-img .txt-container {
  width: calc(100% - 70px);
  margin: 25px auto 0;
}

.company-building-img .txt-container h2 {
  font-size: 16px;
  line-height: 25px;
  color: #005032;
  font-family: futura-pt, 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  text-align: center;
  margin: 0 0 10px;
}

.company-building-img .txt-container h2 span {
  font-size: 10px;
  color: black;
  display: block;
}

.company-building-img .txt-container p {
  font-size: 12px;
  line-height: 24px;
  font-weight: bold;
}

/* -cocepet- */
.company-building h3 {
  text-align: center;
  padding: 13px 0 11px;
  margin-bottom: 40px;
  background-color: #f5f5f5;
}

.company-building h3 span {
  display: block;
  font: normal normal 10px/24px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
}

.concept-wrapper {
  width: calc(100% - 70px);
  margin: 0 auto 50px;
}

.concept-box {
  display: flex;
  flex-direction: column;
  margin: 0 0 40px;
}

.last-box {
  margin: 0 0 50px;
}

.concept-box h4 {
  font-size: 16px;
  line-height: 30px;
  margin: 15px 0;
}

.concept-box h4 span {
  color: #005032;
}

.concept-box .concept-txtbox p {
  font-size: 12px;
  line-height: 24px;
}

/* -garally- */
#photo_list ul {
  width: calc(100% - 70px);
  margin: 0 auto 50px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#photo_list ul li {
  width: 33.33333%;
  width: -webkit-calc(100% / 3);
  width: calc(100% / 3);
  position: relative;
}

.mfp-bottom-bar {
  margin-top: -40px !important;
  background: black;
  padding: 16px 0;
}

.mfp-title {
  text-align: center !important;
  padding: 0 !important;
  font-size: 16px !important;
  line-height: 30px !important;
  font-weight: bold;
}

.mfp-title span {
  display: block;
  font-size: 12px !important;
  line-height: 24px !important;
  text-align: left;
  font-weight: normal;
  padding: 0 20px;
}

.mfp-counter {
  display: none;
}

/* -movie- */
.building-movie .movie-wrapper {
  width: calc(100% - 70px);
  margin: 0 auto;
  position: relative;
  padding-top: 56.25%;
}

.building-movie .movie-wrapper iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

@media screen and (min-width:768px) {

  /* -top- */
  .company-building-img {
    margin: 50px auto;
  }

  .img-container-wrapper {
    max-width: 980px;
    max-height: 600px;
    margin: 0 auto;
  }

  .company-building h1 {
    font-size: 36px;
    line-height: 70px;
    padding: 27px 0;
  }

  .company-building-img .img-container .topimg {
    max-width: 980px;
    max-height: 600px;
  }

  .company-building-img .txt-container {
    width: calc(100% - 80px);
    margin: 40px auto 0;
  }

  .company-building-img .txt-container h2 {
    font-size: 30px;
    line-height: 40px;
    margin: 0 0 20px;
  }

  .company-building-img .txt-container h2 span {
    font-size: 15px;
  }

  .company-building-img .txt-container p {
    font-size: 16px;
    line-height: 32px;
    text-align: center;
  }

  /* -cocepet- */
  .company-building h3 {
    padding: 30px 0 20px;
    margin-bottom: 50px;
  }

  .company-building h3 span {
    font: normal normal 12px/30px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  }

  .concept-wrapper {
    width: calc(100% - 80px);
    max-width: 980px;
    margin: 0 auto 50px;
  }

  .concept-box {
    margin: 0 0 80px;
  }

  .last-box {
    margin: 0 0 80px;
  }

  .concept-box h4 {
    font-size: 20px;
    margin: 40px 0;
  }

  .concept-box .concept-txtbox p {
    font-size: 16px;
    line-height: 32px;
  }

  /* -garally- */
  #photo_list ul {
    width: calc(100% - 80px);
    max-width: 980px;
    margin: 0 auto 80px;
    justify-content: flex-start;
  }

  #photo_list ul li {
    width: 25%;
    /* 未対応ブラウザ用フォールバック */
    width: -webkit-calc(100% / 4);
    width: calc(100% / 4);
    position: relative;
  }

  #photo_list ul li:hover:before {
    width: 100%;
    font-size: 16px;
    line-height: 32px;
    font-family: 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, futura-pt, sans-serif;
    text-align: center;
    color: white;
    position: absolute;
    top: 42%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    pointer-events: none;
  }

  #photo_list ul li:hover:after {
    content: '';
    width: 100%;
    height: 100%;
    background-image: url('../images/company-building/garally-btn-hover.png');
    background-size: contain;
    vertical-align: middle;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
  }

  #photo_list .photo_1:hover:before {
    content: 'エントランスホール';
  }

  #photo_list .photo_2:hover:before {
    content: '来客用会議室';
  }

  #photo_list .photo_3:hover:before {
    content: 'WELLNET HALL';
  }

  #photo_list .photo_4:hover:before {
    content: '階段';
  }

  #photo_list .photo_5:hover:before {
    content: '方角サイン';
  }

  #photo_list .photo_6:hover:before {
    content: 'センターゾーン';
  }

  #photo_list .photo_7:hover:before {
    content: 'ワークスペース';
  }

  #photo_list .photo_8:hover:before {
    content: '2階吹き抜け';
  }

  #photo_list .photo_9:hover:before {
    content: '社長室';
  }

  #photo_list .photo_10:hover:before {
    content: 'ラウンジ';
  }

  #photo_list .photo_11:hover:before {
    content: '南側外観';
  }

  #photo_list .photo_12:hover:before {
    content: '北側外観見下';
  }

  .mfp-image-holder .mfp-content {
    max-width: 720px !important;
  }

  .mfp-bottom-bar {
    padding: 16px 0;
  }

  .mfp-title {
    font-size: 16px !important;
    line-height: 32px !important
  }

  .mfp-title span {
    text-align: center;
  }

  /* -movie- */
  .building-movie .movie-wrapper {
    width: calc(100% - 80px);
    max-width: 800px;
    margin: 0 auto;
    padding-top: 445px;
  }

  .building-movie .movie-wrapper iframe {
    max-height: 445px;
  }
}

@media screen and (min-width:1280px) {

  /* -top- */
  .company-building-img {
    margin: 50px 0 80px;
  }

  .company-building-img .txt-container {
    width: 100%;
  }

  /* -cocepet- */
  .company-building h3 {
    margin-bottom: 80px;
  }

  .company-building h3 span {
    font: normal normal 15px/30px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  }

  .concept-wrapper {
    width: 980px;
    margin: 0 auto 80px;
  }

  .concept-box {
    margin: 0 0 100px;
    justify-content: space-between;
    align-items: center;
  }

  .concept-box img {
    width: 480px;
    height: auto;
  }

  .first-box {
    flex-direction: row-reverse;
  }

  .second-box {
    flex-direction: row;
    margin: 0 0 80px;
  }

  .last-box {
    flex-direction: row-reverse;
  }

  .last-box img {
    padding: 35px 0;
  }

  .concept-box h4 {
    text-align: left;
    margin: 0 0 30px;
  }

  .concept-box .concept-txtbox {
    width: 460px;
  }

  /* -garally- */
  #photo_list ul {
    width: 980px;
    margin: 0 auto 100px;
  }

  .mfp-bottom-bar {
    padding: 24px 0;
  }

}

/* ------------------------------
ir-library
------------------------------ */
/* -shareholder-returns- */
.shareholder-returns {
  border-radius: 10px;
  padding: 10px 10px 40vw !important;
  margin: 25px auto 15px;
  width: calc(100% - 30px);
  box-sizing: border-box;
  background: #EEFFDE url(../images/ir-library/ir-image.png) bottom center / 65vw auto no-repeat;
}

.shareholder-returns .txt-container .ttl {
  border-bottom: 1px solid #005032;
  margin: 0 0 20px;
}

.shareholder-returns .txt-container .ttl h2 {
  font-family: futura-pt, sans-serif;
  font-size: 20px;
  line-height: 36px;
  text-align: center;
  color: #005032;
  margin: 0;
}

.shareholder-returns .txt-container .ttl p {
  font-size: 12px;
  text-align: center;
  margin: -5px auto 7px;
}

.shareholder-returns .txt-container .content .result {
  font-size: 16px;
  font-weight: bold;
  padding-left: 25px;
  margin: 0 0 10px;
  background: transparent url(../images/ir-library/icon-checkbox.svg) center left / 20px auto no-repeat;
}

.shareholder-returns .txt-container .content .result span {
  background-color: white;
  padding: 4px 4px 2px 4px;
}

.shareholder-returns .txt-container .content .result sup {
  font-size: 10px;
  font-weight: normal;
}

.shareholder-returns .txt-container .content .note {
  font-size: 10px;
  line-height: 15px;
  margin: 0 0 15px 0;
}

.stock-info-link-wrapper {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin: 0 20px 20px 0;
  text-align: right;
}

.stock-info-link a {
  color: #005032;
  font-weight: bold;
  padding: 0 15px 0 0;
  position: relative;
}

.stock-info-link a::after {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  background: transparent url(../images/green_arrow.svg) no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  right: 0;
}

.company-page .library h3 {
  text-align: center;
  padding: 0;
  margin: 0 0 20px;
}

.company-page .library {
  padding: 0 !important;
  margin: 40px auto 0;
}

/* -ライブラリ カテゴリボタン- */

.sort-menu-title {
  margin: 0;
  padding: 3.46vw 0;
  text-align: center;
  font-size: 25px !important;
  font-family: futura-pt, sans-serif !important;
  font-weight: 700 !important;
  color: #005032;
  background-color: #F5F5F5;
}

.sort-menu-list li {
  font-size: 12px;
  border-bottom: 1px solid #E6E6E6;
  padding: 20px 15px;
  background: transparent url(../images/green_arrow.svg) 94vw / 11.3px auto no-repeat;
}

.sort-menu-list li a {
  display: inline-block;
  width: 100%;
}

.sort-menu-list li a span {
  font: normal normal bold 10px/10px futura-pt;
  color: #222222;
}

.sort-menu-list .externallink {
  background: transparent url(../images/externallink_icon_green.svg) 94vw / 11.3px auto no-repeat;
}

/* - 過去記事- */

.sort-menu-list .past-archives {
  background: none;
}

.past-archives .toggle {
  display: none;
}

.past-archives .past-archives-label {
  display: block;
  width: 100%;
  cursor: pointer;
}

.past-archives {
  position: relative;
}

.past-archives .past-archives-label::before {
  content: "";
  width: 12px;
  height: 12px;
  background: transparent url(../images/green_arrow.svg) no-repeat;
  background-size: cover;
  position: absolute;
  top: 40%;
  right: 12px;
}

.past-archive .past-archives-label, .past-archives-detail {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 1s;
}

.past-archives .past-archives-detail {
  height: 0;
  overflow: hidden;
}

.toggle:checked+.past-archives-label+.past-archives-detail {
  height: auto;
  transition: all .3s;
}

.toggle:checked+.past-archives-label+.past-archives-detail li {
  padding: 30px 0 0 20px;
  border: none;
  position: relative;
}

.toggle:checked+.past-archives-label+.past-archives-detail li::before {
  content: "";
  width: 12px;
  height: 12px;
  background: transparent url(../images/green_arrow.svg) no-repeat;
  background-size: cover;
  position: absolute;
  top: 35px;
  left: 0;
}

.toggle:checked+.past-archives-label::before {
  content: "";
  width: 12px;
  height: 12px;
  background: transparent url(../images/green_arrow_down.svg) no-repeat;
  background-size: cover;
  position: absolute;
  top: 20px;
  right: 12px;
}

/* -ライブラリ- */

.library-content-ttl {
  padding: 20px 15px;
  background-color: #F5F5F5;
  width: 100%;
  box-sizing: border-box;
  word-wrap: break-word;
}

.library-content-ttl p {
  font-size: 16px;
  font-weight: bold;
}

.library-content-ttl p span {
  padding-left: 15px;
}

.library-content .library-content-list {
  width: calc(100% - 30px);
  margin: 20px auto 40px;
}

.library-content-list li {
  padding: 20px 0 15px;
  border-top: solid 1px #E6E6E6;
}

.library-content-list li:last-child {
  border-bottom: solid 1px #E6E6E6;
}

.library-content-list li a {
  font-size: 12px;
  line-height: 24px;
}

.library-content-list li a .library-content-lead {
  padding-top: 25px;
  display: flex;
  align-items: center;
}

.library-content-list li a .library-content-lead span {
  width: 20px;
  height: 20px;
  padding: 0 0 0 10px;
  display: inline-block;
  background: transparent url(../images/ir-library/icon-pdf.svg) center right / 20px auto no-repeat;
}

.library-content-list li .library-date {
  font: normal normal normal 12px futura-pt;
  letter-spacing: 0px;
  padding-left: 170px;
  position: relative;
}

.library-content-list li .library-date::before {
  display: block;
  position: absolute;
  top: -5px;
  font-size: 10px;
  color: white;
  left: 0px;
  width: 160px;
  text-align: center;
  padding: 5px 0px;
}

.library-content-list li .library-type-a::before {
  content: "決算短信";
  background-color: #59A09A;
}

.library-content-list li .library-type-b::before {
  content: "有価証券報告書・四半期報告書";
  background-color: #005032;
}

.library-content-list li .library-type-c::before {
  content: "決算説明会資料";
  background-color: #086944;
}

.library-content-list li .library-type-d::before {
  content: "株主総会";
  background-color: #005032;
}

.library-content-list li .library-type-e::before {
  content: "イベント";
  background-color: #086944;
}

.library-content-list li .library-type-f::before {
  content: "お知らせ";
  background-color: #59A09A;
}

.library-content-list li .library-type-g::before {
  content: "イニシエーションレポート";
  background-color: #057B11;
}

.library-content-list li .library-type-g-en::before {
  content: "Initiation Report";
  background-color: #057B11;
}

.library-content-list li .library-type-h::before {
  content: "スポンサードレポート";
  background-color: #057B11;
}

.library-content-list li .library-type-h-en::before {
  content: "Sponsored Report";
  background-color: #057B11;
}

/* -業績- */

.highlights {
  padding: 0 !important;
  margin: 40px auto 0;
  width: calc(100% - 30px);
}

.company-page .highlights h3 {
  text-align: center;
  padding: 0;
  margin: 0 0 20px;
}

.highlights-wrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 0 auto 20px;
}

.highlights .disclaimer {
  font-size: 10px;
  line-height: 15px;
}

.highlights .note {
  font-size: 10px;
  line-height: 15px;
  margin: 0 0 20px;
}

.highlights-wrapper .highlights-box {
  border: 1px solid #E6E6E6;
  border-radius: 10px;
  padding: 15px;
  box-sizing: border-box;
}

.highlights-wrapper .highlights-box p {
  font-size: 16px;
  font-weight: bold;
  margin: 0 0 10px 0;
}

@media screen and (min-width:768px) {

  /* -shareholder-returns- */
  .shareholder-returns {
    padding: 20px 0 20px 15px !important;
    margin: 50px auto 20px;
    width: calc(100% - 80px);
    max-width: 980px;
    background: #EEFFDE url(../images/ir-library/ir-image.png) bottom right / 45.573vw auto no-repeat;
  }

  .shareholder-returns .txt-container .ttl {
    width: 350px;
  }

  .shareholder-returns .txt-container .ttl h2 {
    font-size: 30px;
    text-align: left;
  }

  .shareholder-returns .txt-container .ttl p {
    font-size: 15px;
    text-align: left;
    margin: 5px 0;
  }

  .shareholder-returns .txt-container .content .note {
    margin: 0;
  }

  .shareholder-returns .txt-container .content .result-ttl {
    font-size: 16px;
    text-align: left;
    margin: 15px 0 10px;
  }

  .shareholder-returns .txt-container .content .result {
    font-size: 20px;
    padding-left: 30px;
    margin: 0 0 15px;
    background: transparent url(../images/ir-library/icon-checkbox.svg) center left / 24px auto no-repeat;
  }

  .shareholder-returns .txt-container .content .result sup {
    font-size: 12px;
  }

  .stock-info-link-wrapper {
    width: calc(100% - 80px);
    max-width: 980px;
    margin: 0 auto 60px;
  }

  .company-page .library h3 {
    margin: 0 0 35px;
  }

  /* -ライブラリ カテゴリボタン- */

  .sort-menu-title {
    margin: 0 0 20px;
    padding: 0;
    text-align: left;
    font-size: 20px;
    background-color: transparent;
  }

  .sort-section .sort-category:nth-child(2) {
    margin-top: 40px;
  }


  .sort-menu-list li {
    width: 200px;
    font-size: 12px;
    line-height: 18px;
    border-bottom: none;
    padding: 0;
    margin-bottom: 30px;
    background: transparent url(../images/green_arrow.svg) 190px / 10px auto no-repeat;
  }


  .sort-menu-list .externallink {
    background: transparent url(../images/externallink_icon_green.svg) 190px / 10px auto no-repeat;
  }


  /* - 過去記事- */
  .past-archives .past-archives-label::before {
    width: 10px;
    height: 10px;
    top: 20%;
    right: 0;
  }

  .toggle:checked+.past-archives-label::before {
    width: 10px;
    height: 10px;
    top: 0;
    right: 0;
  }

  .toggle:checked+.past-archives-label+.past-archives-detail li {
    background: none;
    margin-bottom: 0;
    padding: 25px 0 0 20px;
  }

  .toggle:checked+.past-archives-label+.past-archives-detail li::before {
    top: 28px;
    left: 0;
  }

  /* -ライブラリ- */

  .company-page .library {
    margin: 80px auto 0;
  }

  .library-wrapper {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    width: calc(100% - 80px);
    max-width: 980px;
  }

  .library-wrapper .outline-button-next {
    margin: 20px auto 0;
  }

  .library-content-section {
    width: 100%;
    margin: 0 40px 0 0;
  }

  .library-content-ttl {
    width: auto;
    margin: 0;
    padding: 20px;
    border-radius: 10px;
  }

  .library-content-ttl p {
    font-size: 18px;
  }

  .library-content-ttl p span {
    padding-left: 20px;
  }

  .library-content .library-content-list {
    width: 100%;
    max-width: 740px;
    margin: 40px 0;
  }

  .library-content-list li {
    padding: 16px 0;
    display: flex;
    align-items: center;
  }

  .library-content-list li a {
    font-size: 12px;
    line-height: 24px;
  }

  .library-content-list li a:hover {
    opacity: 0.5;
  }

  .library-content-list li a .library-content-lead {
    padding: 0;
  }

  .library-content-list li .library-date {
    font-size: 14px;
    padding-left: 210px;
  }

  .library-content-list li .library-date::before {
    font-size: 12px;
    width: 190px;
    top: -14px;
  }

  /* -業績- */
  .highlights {
    width: calc(100% - 80px);
    max-width: 980px;
  }

  .company-page .highlights h3 {
    margin: 0 0 35px;
  }

  .highlights-wrapper {
    display: flex;
    flex-direction: row;
    gap: inherit;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
  }

  .highlights-wrapper .highlights-box {
    padding: 20px;
    width: calc(50% - 10px);
    margin: 0 0 20px;
  }

  .highlights-wrapper .highlights-box p {
    font-size: 18px;
    margin: 0 0 16px 0;
  }
}

@media screen and (min-width:1280px) {

  /* -shareholder-returns- */
  .shareholder-returns {
    margin: 80px auto 20px !important;
    padding: 30px !important;
    width: 980px;
    background-color: #EEFFDE;
    background-image: unset;
    position: relative;
  }

  .shareholder-returns .txt-container .content .result-ttl {
    margin: 20px 0 10px;
  }

  .shareholder-returns .txt-container .content img {
    width: 550px;
    height: auto;
    position: absolute;
    bottom: 0;
    right: 0;
  }

  .company-page .library {
    margin: 100px auto 0 !important;
  }
}

/* ------------------------------
株式情報
------------------------------ */
.company-page .stock-info {
  padding: 20px 15px !important;
}

.stock-info .green-line {
  margin: 0 auto;
  width: 100%;
}

.stock-info .green-line th {
  min-width: 8em;
}

.company-page .h1-ttl-long {
  font-size: 24px;
  line-height: 1.25;
}

.stockquote-btn-wrapper {
  padding: 0 15px;
  margin: 20px auto;
  text-align: center;
}

.stockquote-btn-wrapper .stockquote-btn {
  display: inline-block;
  width: 100%;
  max-width: 290px;
  font-size: 14px;
  line-height: 1.5;
  color: #005032;
  font-weight: bold;
  text-align: center;
  padding: 22px 0;
  border: 1px solid #005032;
  background: #fff url('../images/externallink_icon_green.svg') center right 10px / 12px auto no-repeat;
}

.stockquote-btn-wrapper .stockquote-btn:hover {
  color: #fff;
  background: #005032 url('../images/externallink_icon_w.svg') center right 10px / 12px auto no-repeat;
}

.stockquote-btn-wrapper p {
  color: #005032;
  font-size: 12px;
  line-height: 1;
  margin: 15px auto 0;
  text-align: center;
}

.stock-procedures {
  padding: 20px 15px !important;
}

.stock-procedures .procedures {
  margin: 0 0 20px;
}

.stock-procedures .procedures:last-child {
  margin: 0;
}

.stock-procedures .procedures h4 {
  font-size: 12px;
  line-height: 1;
  font-weight: bold;
  text-align: left;
  color: #005032;
  padding: 12px 0;
  border-top: 1px solid #005032;
  border-bottom: 1px solid #005032;
  margin: 0 0 12px;
}

@media screen and (min-width: 768px) {
  .company-page .stock-info {
    padding: 50px 0 0 !important;
    margin: 0 auto 40px;
    width: calc(100% - 80px);
    max-width: 980px;
  }

  .stock-info .green-line {
    margin: 30px -20px 50px;
  }

  .company-page .h1-ttl-long {
    font-size: 36px;
  }

  .stockquote-btn-wrapper {
    padding: 0;
    margin: 10px auto 50px;
  }

  .stockquote-btn-wrapper p {
    font-size: 14px;
  }

  .stock-procedures {
    padding: 0 !important;
    width: calc(100% - 80px);
    max-width: 980px;
    margin: 0 auto;
  }

  .stock-procedures h3 {
    margin: 0 0 30px;
  }

  .stock-procedures .procedures h4 {
    font-size: 14px;
    padding: 20px 0;
    margin: 0 0 20px;
  }
}

@media screen and (min-width:1280px) {
  .stockquote-btn-wrapper {
    margin: 80px auto;
  }

  .stockquote-btn-wrapper .stockquote-btn {
    padding: 24px 0;
  }
}

/* ------------------------------
株主優待
------------------------------ */
.shareholder-benefits {
  width: calc(100% - 30px);
  min-height: 40vh;
  padding: 20px 0 0 !important;
  margin: 0 auto;
  box-sizing: border-box;
  word-break: normal;
}

.shareholder-benefits h2 {
  font-size: 20px;
  line-height: 1.5;
  color: #005032;
  text-align: center;
  margin: 0 auto 15px;
}

.shareholder-benefits h2+p {
  margin: 0 auto 15px;
}

.shareholder-benefits h3 {
  font-size: 18px;
  line-height: 1.6;
  text-align: center;
  width: 100%;
  background-color: #F5F5F5;
  padding: 6px 10px;
  margin: 0 0 15px;
  box-sizing: border-box;
}

.shareholder-benefits .guidelines {
  margin-bottom: 15px;
}

.shareholder-benefits .guidelines table {
  width: 100%;
  font-size: 12px;
  line-height: 2;
  border: 1px solid #c5c5c5;
  border-collapse: collapse;
  margin: 15px auto;
}

.shareholder-benefits .guidelines table tr th {
  display: block;
  width: 100%;
  background-color: #F5F5F5;
  border-top: 1px solid #c5c5c5;
  border-bottom: 1px solid #c5c5c5;
  padding: 0;
  margin: 0;
  font-weight: 400;
  box-sizing: border-box;
}

.shareholder-benefits .guidelines table tr:first-child th {
  border-top: none;
}

.shareholder-benefits .guidelines table tr td {
  display: block;
  border-bottom: 1px dotted #E6E6E6;
  padding: 5px;
  text-align: center;
}

.shareholder-benefits .guidelines table tr th+td {
  font-weight: bold;
}

.shareholder-benefits .guidelines table tr td:last-child {
  border-bottom: none;
}

.shareholder-benefits .guidelines ol li {
  margin: 0 0 10px;
}

.shareholder-benefits .guidelines ol li:last-child {
  margin: 0;
}

.shareholder-benefits .txt-container .shareholder-benefits-contact {
  border: 1px solid #005032;
  margin: 40px auto 0;
  padding: 16px;
  box-sizing: border-box;
}

.shareholder-benefits .txt-container .shareholder-benefits-contact h3 {
  font-size: 18px;
  background: none;
  color: #005032;
  margin: 0 auto;
  padding: 0 0 16px 0;
}

.shareholder-benefits .txt-container .shareholder-benefits-contact ul li {
  list-style: disc;
  margin: 0 0 10px 10px;
}

.shareholder-benefits .txt-container .shareholder-benefits-contact ul li a {
  color: #005032;
  text-decoration: underline;
}

.shareholder-benefits .txt-container .shareholder-benefits-contact ul li span {
  font-weight: bold;
}

@media screen and (min-width: 480px) {
  .shareholder-benefits {
    padding: 40px 0 0 !important;
  }
}

@media screen and (min-width: 768px) {
  .shareholder-benefits {
    width: calc(100% - 80px);
    max-width: 980px;
    min-height: 50vh;
  }

  .shareholder-benefits h2 {
    font-size: 30px;
    margin: 0 auto 20px;
  }

  .shareholder-benefits h2+p {
    margin: 0 auto 40px;
  }

  .shareholder-benefits h3 {
    font-size: 20px;
    text-align: left;
    padding: 9px 10px 9px 15px;
    margin: 0 0 20px;
  }

  .shareholder-benefits .guidelines {
    margin-bottom: 20px;
  }

  .shareholder-benefits .guidelines table {
    font-size: 14px;
    line-height: 1.7;
  }

  .shareholder-benefits .guidelines table tr th {
    width: 4%;
    display: revert;
    border-right: 1px solid #c5c5c5;
  }

  .shareholder-benefits .guidelines table tr td {
    width: 48%;
    display: revert;
    text-align: left;
    padding: 10px 15px;
    border-bottom: 1px solid #E6E6E6;
    border-right: 1px solid #E6E6E6;
  }

  .shareholder-benefits .guidelines table tr th+td {
    font-weight: 400;
  }

  .shareholder-benefits .guidelines table tr td:last-child {
    border-bottom: 1px solid #E6E6E6;
    border-right: none;
  }

  .shareholder-benefits .txt-container .shareholder-benefits-contact {
    margin: 40px auto 0;
    padding: 20px;
  }

  .shareholder-benefits .txt-container .shareholder-benefits-contact h3 {
    font-size: 20px;
    text-align: center;
  }
}

@media screen and (min-width:1280px) {
  .shareholder-benefits {
    min-height: 60vh;
  }
}

/* ------------------------------
logo
------------------------------ */
.logo-page>section:not(.heading) {
  padding: 0 15px;
}

.logo-headline {
  margin: 25px auto 46px;

}

.logo-headline h2 {
  font-size: 20px;
  line-height: 36px;
  color: #005032;
  text-align: center;
  margin: 0 auto 25px;
}

.logo-headline p {
  font-size: 14px;
  line-height: 28px;
  color: black;
  font-weight: bold;
  padding: 0;
}

.logo-page h3 {
  font-size: 16px;
  line-height: 32px;
  color: #005032;
  text-align: center;
  font-weight: bold;
  font-family: 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
  margin: 0 auto 40px;
  padding: 16px;
  background-color: #f5f5f5;
}

.logo-page .guidelines {
  margin-bottom: 20px;
}

.logo-page .guidelines h4 {
  font-size: 14px;
  line-height: 28px;
  text-align: left;
  margin: 0 0 5px;
}

.logo-page .guidelines p,
ul>li,
ol>li {
  font-size: 12px;
  line-height: 24px;
}

.logo-page .guidelines ul,
ol {
  margin: 0;
  padding: 0 0 0 15px;
}

.logo-page .guidelines ul>li,
ol>li {
  list-style-type: decimal;
}

/* -ダウンロードエリア- */

.logo-page .download-area {
  margin: 40px auto 100px;
}

.logo-page .download-area .download-btn label {
  font-size: 14px;
  line-height: 28px;
  font-weight: bold;
  color: #005032;
  padding: 20px 15px;
  display: block;
  border: 4px solid #E6E6E6;
  display: flex;
  justify-content: center;
  align-items: center;
  accent-color: #005032;
  cursor: pointer;
}

.logo-page .download-area .download-btn input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin: 0 10px 0 0;
}

.logo-page .download-area .download-btn p {
  font-size: 12px;
  line-height: 24px;
  margin-top: 10px;
  text-align: center;
}

.logo-page .download-area .download-btn p a {
  color: #005032;
  text-decoration: underline;
}

.logo-page .download-area .download-logo {
  display: flex;
  flex-direction: column;
  margin-top: 40px;
}

.logo-page .download-area .download-logo div {
  margin-bottom: 32px;
}

.logo-page .download-area .download-logo div:last-child {
  margin-bottom: 0;
}

.logo-page .download-area .download-logo div .img-wrapper {
  width: 100%;
  border: 1px solid #E6E6E6;
  padding: 20px 15px;
  box-sizing: border-box;
}

.logo-page .download-area .download-logo div .img-wrapper img {
  width: auto;
  max-height: 100px;
  margin: 0 auto;
}

.logo-page .download-area .download-logo div .btn-wrapper {
  text-align: center;
  margin-top: 16px;
}

.logo-page .download-area .download-logo div .btn-ttl {
  text-align: center;
  margin: 16px auto;
  font-weight: bold;
  color: #333333;
}

.logo-page .download-area .download-logo div .btn-wrapper {
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

.logo-page .download-area .download-logo div .btn-wrapper .downloadbtn {
  display: inline-block;
  line-height: 1em;
  background: white;
  font-weight: bold;
  border: none;
  border-bottom: 1px solid;
  position: relative;
  padding: 0 4px 4px;
  margin: 0 5px;
  box-sizing: border-box;
}


/* -表示ガイドライン　色- */
.logo-page .logo-display-guidelines .guidelines {
  margin-bottom: 40px;
}

.logo-page .logo-display-guidelines .guidelines:last-child {
  margin-bottom: 0px;
}

.guidelines .swatch-box {
  padding: 24px;
  margin: 16px auto 24px;
  border: 1px solid #E6E6E6;
  width: 100%;
  box-sizing: border-box;
}

.guidelines .swatch-box .swatch {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

.guidelines .swatch-box .swatch:last-child {
  margin-bottom: 0px;
}

.guidelines .swatch-box .swatch div {
  width: 50%;
  height: 50px;
}

.guidelines .swatch-box .swatch .green {
  background: #005032;
}

.guidelines .swatch-box .swatch .red {
  background: #C6000B;
}

.guidelines .swatch-box .swatch .gray {
  background: #EBF4EC;
}

.guidelines .swatch-box .swatch p {
  font-size: 12px;
  line-height: 18px;
  font-weight: bold;
  margin-left: 5.333vw;
}

/* -表示ガイドライン　アイソレーション- */

.guidelines .vertical {
  width: calc(100% - 48px);
  max-width: 350px;
  height: auto;
  margin: 24px auto;
}

.guidelines .beside {
  width: 100%;
  max-width: 830px;
  height: auto;
  margin: 0 auto;
}

.guidelines .minimum-box {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.guidelines .minimum-box h5 {
  font-size: 14px;
  line-height: 24px;
  font-weight: bold;
  text-align: center;
  margin: 32px auto 0;
}

.guidelines .minimum-box .minimum {
  display: flex;
  align-items: center;
}

.guidelines .minimum-box .minimum .vertical {
  width: auto;
  height: 30px;
  margin-right: 20px;
}

.guidelines .minimum-box .minimum .beside {
  width: auto;
  height: 23px;
  margin-right: 20px;
}

.guidelines .minimum-box .minimum p {
  line-height: 20px;
}

.guidelines .minimum-box .minimum p span {
  padding: 0 4px;
}

/* -表示ガイドライン　禁止令 - */

.guidelines .prohibit-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 24px;
}

.guidelines .prohibit:nth-child(11), .guidelines .prohibit:nth-child(12) {
  margin-bottom: 0px;
}

.guidelines .prohibit {
  width: calc(50% - 10px);
  height: auto;
  margin-bottom: 20px;
}

.guidelines .prohibit p {
  line-height: 20px;
  margin-top: 8px;
}


@media screen and (min-width:768px) {
  .logo-page>section:not(.heading) {
    padding: 0 40px;
    max-width: 980px;
    margin: 40px auto 0;
  }

  .logo-headline {
    margin: 40px auto;
  }

  .logo-headline h2 {
    font-size: 30px;
    margin: 0 auto 30px;
  }

  .logo-headline p {
    text-align: center;
  }

  .logo-page h3 {
    font-size: 20px;
    margin: 0 auto 60px;
    padding: 24px;
  }

  .logo-page .guidelines {
    margin-bottom: 40px;
  }

  .logo-page .guidelines h4 {
    font-size: 20px;
    margin: 0 0 10px;
  }

  .logo-page .guidelines p,
  ul>li,
  ol>li {
    font-size: 14px;
    line-height: 30px;
  }

  /* -ダウンロードエリア- */

  .logo-page .download-area {
    margin: 80px auto;
  }

  .logo-page .download-area .download-btn label {
    font-size: 20px;
    padding: 25px 15px;
  }

  .logo-page .download-area .download-btn p {
    font-size: 14px;
    margin-top: 24px;
  }

  .logo-page .download-area .download-logo {
    margin-top: 60px;
  }

  .logo-page .download-area .download-logo div {
    margin-bottom: 40px;
    display: grid;
    grid-template: 140px auto / 100px auto;
    grid-template-areas:
      "itemA itemA itemA"
      "itemB itemC itemC";
    grid-gap: 16px 0;
  }

  .logo-page .download-area .download-logo div .img-wrapper {
    grid-area: itemA;
  }

  .logo-page .download-area .download-logo div .btn-ttl {
    text-align: left;
    grid-area: itemB;
    margin: 0;
  }

  .logo-page .download-area .download-logo div .btn-wrapper {
    margin: 0;
    justify-content: flex-end;
    height: 20px;
    grid-area: itemC;
  }


  /* -表示ガイドライン　色- */

  .logo-page .logo-display-guidelines .guidelines {
    margin-bottom: 80px;
  }

  .guidelines .swatch-box {
    padding: 30px;
    margin: 40px auto 0px;
    display: flex;
    justify-content: space-between;
  }

  .guidelines .swatch-box .swatch {
    display: flex;
    align-items: center;
    margin: 0;
  }

  .guidelines .swatch-box .swatch div {
    width: 60px;
    height: 60px;
    border-radius: 50%;
  }

  .guidelines .swatch-box .swatch p {
    margin-left: 15px;
    line-height: 20px;
  }

  /* -表示ガイドライン　アイソレーション- */

  .guidelines .vertical {
    margin: 40px auto;
  }

  .guidelines .minimum-box {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    border: 1px solid #E6E6E6;
    margin-top: 40px;
    padding: 20px;
  }

  .guidelines .minimum-box h5 {
    font-size: 16px;
    text-align: left;
    margin: 0 40px 0 0;
  }

  .guidelines .minimum-box .minimum {
    height: 40px;
  }

  /* -表示ガイドライン　禁止令 - */

  .guidelines .prohibit-box {
    margin-top: 40px;
  }

  .guidelines .prohibit {
    width: calc(33.333% - 20px);
    margin-bottom: 40px;
  }

  .guidelines .prohibit:nth-child(10) {
    margin-bottom: 0;
  }

  .guidelines .prohibit p {
    line-height: 20px;
    margin-top: 16px;
  }
}

@media screen and (min-width:1280px) {
  .logo-page>section:not(.heading) {
    padding: 0;
    margin-top: 50px;
  }


  .logo-headline {
    margin: 40px auto;
  }

  .logo-headline h2 {
    margin: 0 auto 40px;
  }

  .logo-page .guidelines {
    margin-bottom: 60px;
  }

  /* -ダウンロードエリア- */

  .logo-page .download-area {
    margin: 80px auto !important;
  }

  .logo-page .download-area .download-btn label {
    padding: 30px 15px;
  }

  .logo-page .download-area .download-logo {
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
  }

  .logo-page .download-area .download-logo div {
    margin-bottom: 0;
    display: grid;
    grid-template: 140px auto / 207px 258px;
    grid-template-areas:
      "itemA itemA itemA"
      "itemB itemC itemC";
    grid-gap: 16px 0;
  }


  .logo-page .download-area .download-logo div .btn-wrapper {
    height: 25px;
  }


  /* -表示ガイドライン　色- */

  .logo-page .logo-display-guidelines {
    margin-top: 100px !important;
  }

  .logo-page .logo-display-guidelines .guidelines {
    margin-bottom: 100px;
  }

  .guidelines .swatch-box {
    padding: 40px 80px;
  }

  .guidelines .swatch-box .swatch {
    display: flex;
    align-items: center;
    margin: 0;
  }

  .guidelines .swatch-box .swatch div {
    width: 80px;
    height: 80px;
  }

  .guidelines .swatch-box .swatch p {
    margin-left: 20px;
    line-height: 30px;
  }

  /* -表示ガイドライン　アイソレーション- */

  .guidelines .minimum-box {
    padding: 20px 120px;
  }

  /* -表示ガイドライン　禁止令 - */

  .guidelines .prohibit {
    width: calc(25% - 24px);
  }

  .guidelines .prohibit:nth-child(9) {
    margin-bottom: 0;
  }
}

/* ------------------------------
電子広告
------------------------------ */

.koukoku {
  width: calc(100% - 30px);
  min-height: 40vh;
  padding: 20px 0 0 !important;
  margin: 0 auto;
  box-sizing: border-box;
}

.koukoku h3 {
  margin: 0 auto 20px;
  padding-bottom: 0;
}

.koukoku .txt-container a {
  font-weight: bold;
  border-bottom: 1px solid #000000;
}

.koukoku .txt-container .pdf-link {
  margin: 0 0 8px;
}

.koukoku .txt-container .pdf-link span::after {
  content: '';
  width: 20px;
  height: 20px;
  display: inline-block;
  padding: 0 10px 0 0;
  background: transparent url(../images/ir-library/icon-pdf.svg) top right / 20px auto no-repeat;
}

.koukoku .txt-container .pdf-link a {
  font-weight: normal;
}

@media screen and (min-width: 480px) {
  .koukoku {
    padding: 50px 0 0 !important;
  }

  .koukoku h3 {
    text-align: left;
  }
}

@media screen and (min-width: 768px) {
  .koukoku {
    width: calc(100% - 80px);
    max-width: 980px;
    min-height: 50vh;
  }
}

@media screen and (min-width:1280px) {
  .koukoku {
    min-height: 60vh;
  }
}

/* ------------------------------
CONTRIBUTION
------------------------------ */

/* --- headline -- */

.contribute-headline {
  border-radius: 10px;
  padding: 20px 20px 63vw !important;
  margin: 25px auto 65px;
  width: calc(100% - 30px);
  box-sizing: border-box;
  background: #EEFFDE url(../images/contribution/csr_img.png) bottom 20px center / 53vw auto no-repeat;
}

.contribute-headline .txt-container h2 {
  font-size: 20px;
  line-height: 30px;
  margin: 0 0 20px 0;
  color: #005032;
  text-align: center;
}

.contribute-headline .txt-container p {
  font-weight: 600;
  text-align: center;
}

.contribute-headline .btn-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin: 25px auto 0;
}

.contribute-headline .btn-container .outline-button {
  width: 100%;
  max-width: 440px;
  border-radius: 60px;
}

.contribute-headline .btn-container .outline-button:hover {
  width: 100%;
  max-width: 440px;
  border-radius: 60px;
}

.contribute-headline .btn-container .outline-button>span, a.outline-button>span {
  background: transparent url(../images/green_arrow3.svg) center right / 11.3px auto no-repeat;
}

.contribute-headline .btn-container .outline-button:hover>span, a.outline-button:hover>span {
  background: transparent url(../images/green_arrow3_w.svg) center right / 11.3px auto no-repeat;
}

@media screen and (min-width:768px) {

  .contribute-headline {
    padding: 40px 30px !important;
    margin: 50px auto 80px;
    width: calc(100% - 80px);
    max-width: 980px;
    background: #EEFFDE url(../images/contribution/csr_img.png) center right 25px / 200px auto no-repeat;
  }

  .contribute-headline .txt-container h2 {
    font-size: 30px;
    margin: 0 0 30px 0;
    text-align: left;
  }

  .contribute-headline .txt-container p {
    width: calc(100% - 220px);
    text-align: left;
  }

  .contribute-headline .btn-container {
    flex-direction: initial;
    justify-content: space-between;
    gap: 20px;
    margin: 30px 0 0;
  }
}

@media screen and (min-width:1280px) {
  .contribute-headline {
    margin: 50px auto 80px !important;
    background: #EEFFDE url(../images/contribution/csr_img.png) top 20px right 50px / 250px auto no-repeat;
  }

  .contribute-headline .txt-container p {
    width: 100%;
  }

  .contribute-headline .btn-container {
    gap: 40px;
  }
}


/* --- scholarship -- */

.contribute-section {
  padding: 55px 0 0 0 !important;
  margin: -55px 0 0 0;
}

.contribute-section .contribute-content-top {
  background: linear-gradient(180deg, #F5F5F5 0%, #F5F5F5 90%, #fff 10%, #fff 100%);
}

.contribute-section .contribute-content-top h3 {
  color: #005032;
  font-size: 20px;
  line-height: 150%;
  padding: 25px 0;
}

.contribute-section .contribute-content-top .headline-img {
  margin: 0 0 25px;
}

.contribute-section .contribute-content-top .contribute-content-top-wrapper {
  width: calc(100% - 30px);
  margin: 0 auto;
}


.contribute-section .contribute-content-top .headline-img img {
  height: auto;
  margin: 0 auto;
}

.contribute-section .contribute-content-top p {
  margin: 0 auto 20px;
}

.contribute-content {
  width: calc(100% - 30px);
  margin: 40px auto 0;
}

.contribute-content h4 {
  font-size: 16px;
  color: #005032;
  margin: 8px auto 16px;
}

.contribute-content table.green-line {
  margin: 0 auto;
}

.contribute-content .bottom-img {
  margin: 25px auto 0;
}

@media screen and (min-width:768px) {

  .contribute-section {
    padding: 0 !important;
    margin: 0;
  }

  .contribute-section .contribute-content-top {
    background: linear-gradient(180deg, #F5F5F5 0%, #F5F5F5 85%, #fff 15%, #fff 100%);
  }

  .contribute-section .contribute-content-top .contribute-content-top-wrapper {
    width: calc(100% - 80px);
    max-width: 980px;
    margin: 0 auto;
  }

  .contribute-section .contribute-content-top h3 {
    font-size: 30px;
    padding: 50px 0 40px;
  }

  .contribute-section .contribute-content-top .headline-img {
    margin: 0 0 40px;
  }

  .contribute-section .contribute-content-top p {
    margin: 0 auto 40px;
  }

  .contribute-content {
    width: calc(100% - 80px);
    max-width: 980px;
    margin: 0 auto;
  }

  .contribute-content table.green-line {
    border-spacing: 10px 0;
  }

  .contribute-content h4 {
    font-size: 24px;
    margin: 0 auto 40px;
  }

  .contribute-content .bottom-img {
    margin: 40px auto 0;
  }
}

/* --- sportssuport -- */

#sportssupport {
  margin: 65px 0 0 0;
}

#sportssupport .profile-wrapper:first-child {
  margin: 0 auto;
}

#sportssupport .profile-wrapper {
  margin: 40px auto;
}

.profile-content .profile-img img {
  width: 200px;
  height: 200px;
  object-fit: cover;
  object-position: 100% 0;
  margin: 0 auto;
}

a .profile-content h4 {
  margin: 25px auto 15px;
  font: normal normal bold 16px/16px 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
}

.profile-content h4 .h4-title-sub {
  display: inline;
  font: normal normal 10px/25px futura-pt, sans-serif;
  margin: 0 0 0 10px;
}

.profile-content table.green-line tr>* {
  padding: 4px 16px;
}

.profile-content .green-line {
  width: 100%;
}

.profile-content .green-line .details {
  position: relative;
}

.profile-content .green-line .details span {
  position: absolute;
  left: 80px;
}

.profile-content .green-line .details .red {
  color: #C7243A;
}

.results-content {
  margin: 40px auto 0;
}

.results-wrapper .results-list {
  display: flex;
  flex-direction: column;
  margin: 0 0 25px;
}

.results-wrapper .results-list:last-child {
  margin: 0;
}

.results-wrapper .results-list .chronicle {
  font-family: futura-pt, sans-serif;
  font-weight: bold;
  font-size: 16px;
  line-height: 1;
  color: #A3A3A3;
  border-bottom: 1px solid #E6E6E6;
  padding: 0 0 10px 10px;
  margin: 0 0 10px;
}

.results-wrapper .results-list .results {
  font-size: 12px;
  line-height: 18px;
  padding: 0 10px;
}

.results-wrapper .results-list .results tr {
  display: flex;
  flex-direction: column;
  margin: 0 0 8px;
}

.results-wrapper .results-list .results tr:last-child {
  margin: 0;
}

.results-wrapper .results-list .results tr th {
  font-weight: normal;
  display: block;
  text-align: left;
}

.results-wrapper .results-list .results tr td span {
  margin: 0 5px 0;
}

.contribute-section .bnr {
  display: block;
  width: calc(100% - 30px);
  max-width: 728px;
  height: auto;
  margin: 0 auto;
  text-align: center;
}

.contribute-section .bnr:hover {
  opacity: 0.75;
}

.contribute-section .bnr p {
  font-size: 14px;
  line-height: 1.25;
  font-weight: bold;
  color: #005032;
  margin: 0 auto 10px;
}


@media screen and (min-width:768px) {
  #sportssupport {
    margin: 80px 0 0 0;
  }

  #sportssupport .profile-wrapper:first-child {
    margin: 0 auto;
  }

  #sportssupport .profile-wrapper {
    margin: 80px auto;
  }

  .profile-content {
    display: grid;
    grid-template-columns: 200px auto;
    grid-template-rows: auto auto;
    row-gap: 30px;
    column-gap: 30px;
  }

  .profile-content h3 {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    height: auto;
  }

  .profile-wrapper:first-child .profile-content .profile-img {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }

  .profile-content .profile-img {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }

  .profile-content .profile-img img {
    margin: 0;
  }

  .profile-content h4 {
    align-self: center;
    margin: 0 auto 0 0;
    font-size: 30px;
    grid-column: 2 / 3;
    grid-row: 1 / 2;
  }

  .profile-wrapper:first-child .profile-content h4 {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
  }

  .profile-content h4 .h4-title-sub {
    margin: 0 0 0 20px;
    font-size: 20px;
  }

  .profile-wrapper:first-child .profile-content table.green-line {
    grid-column: 1 / 3;
    grid-row: 3 / 4;
  }

  .profile-content table.green-line {
    grid-column: 1 / 3;
    grid-row: 2 / 3;
  }

  .profile-content table.green-line th {
    width: 130px;
  }

  .profile-content .green-line .details span {
    left: 100px;
  }

  .results-wrapper {
    margin: 30px auto 0;
  }

  .results-wrapper .results-list {
    flex-direction: initial;
    gap: 10px;
    margin: 0 0 15px;
  }

  .results-wrapper .results-list:last-child {
    margin: 0;
  }

  .results-wrapper .results-list .chronicle {
    border-bottom: none;
    padding: 0;
    margin: 0;
    width: 100px;
    line-height: 40px;
  }

  .results-wrapper .results-list .results {
    font-size: 14px;
    line-height: 28px;
    padding: 0;
  }

  .results-wrapper .results-list .results tr {
    flex-direction: initial;
    margin: 0;
  }

  .results-wrapper .results-list .results tr th {
    width: 295px;
  }

  .contribute-section .bnr {
    margin: 0 auto;
  }

  .contribute-section .bnr p {
    font-size: 16px;
    margin: 0 auto 15px;
  }

}

@media screen and (min-width:1280px) {
  #sportssupport {
    margin: 100px 0 0 0;
  }

  .profile-content {
    grid-template-columns: 270px 1fr;
    grid-template-rows: 30px 300px;
    row-gap: 30px;
    column-gap: 30px;
  }

  .profile-wrapper:first-child .profile-content {
    grid-template-columns: 270px 1fr;
    grid-template-rows: 60px 30px 1fr;
  }

  .profile-wrapper:first-child .profile-content h3 {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
  }

  .rofile-content .profile-img {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
  }

  .profile-wrapper:first-child .profile-content .profile-img {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }

  .profile-content .profile-img img {
    width: 270px;
    height: 360px;
    object-position: inherit;
  }

  .profile-content h4 {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    align-self: end;
    margin: 0;
    text-align: left;
  }

  .profile-wrapper:first-child .profile-content h4 {
    grid-column: 2 / 3;
    grid-row: 2 / 2;
  }

  .profile-content table.green-line {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    line-height: 1.65;
  }

  .profile-wrapper:first-child .profile-content table.green-line {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
  }

  .results-wrapper .results-list {
    gap: 30px;
  }

  .results-wrapper .results-list .chronicle {
    width: 100px;
  }

  .results-wrapper .results-list .results tr th {
    width: 400px;
  }
}

/* ------------------------------
contact
------------------------------ */
.contact-page>section:not(.heading) {
  padding: 0 15px;
}

.contact-headline {
  margin: 25px auto 40px;
}

.contact-headline h2 {
  font-size: 20px;
  line-height: 1;
  color: #005032;
  text-align: center;
  margin: 0 auto 25px;
}

.contact-headline p {
  font-size: 14px;
  line-height: 2;
  font-weight: bold;
  padding: 0;
}

.contact-form-wrapper {
  background-color: #F5F5F5;
  padding: 40px 15px 50px !important;
}

.contact-form-wrapper .contact-form {
  width: 100%;
  max-width: 1000px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}

.contact-form-wrapper .contact-form .form-box {
  background-color: #fff;
  width: 100%;
  padding: 20px 15px 20px 20px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}

.contact-form-wrapper .contact-form .form-box .form-ttl {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 14px;
  line-height: 1.5;
  font-weight: bold;
  margin: 0 0 20px 0;
  text-align: left;
}

.contact-form-wrapper .contact-form .form-box .form-ttl span {
  display: inline-block;
  width: 50px;
  height: 50px;
  flex-shrink: 0;
  background-position: right bottom;
  background-size: contain;
  background-repeat: no-repeat;
}

.contact-form-wrapper .contact-form .form-box .form-ttl .sale {
  background: url(../images/contact/icon-inquiry-sale.svg);
}

.contact-form-wrapper .contact-form .form-box .form-ttl .ir {
  background: url(../images/contact/icon-inquiry-ir.svg);
}

.contact-form-wrapper .contact-form .form-box .form-ttl .bus {
  background: url(../images/contact/icon-inquiry-bus.svg);
}

.contact-form-wrapper .contact-form .form-box .form-ttl .individual {
  background: url(../images/contact/icon-inquiry-individual.svg);
}

.contact-form-wrapper .contact-form .form-box .form-ttl .compliance {
  background: url(../images/contact/icon-inquiry-compliance.svg);
}

.contact-form-wrapper .contact-form .form-box .form-btn {
  display: inline-block;
  width: 100%;
  max-width: 390px;
  font-size: 14px;
  line-height: 1.5;
  color: #005032;
  font-weight: bold;
  text-align: center;
  padding: 22px 0;
  border: 1px solid #005032;
  background: #fff url('../images/externallink_icon_green.svg') center right 10px / 12px auto no-repeat;
}

.contact-form-wrapper .contact-form .form-box .form-btn:hover {
  color: #fff;
  background: #005032 url('../images/externallink_icon_w.svg') center right 10px / 12px auto no-repeat;
}

@media screen and (min-width:768px) {

  .contact-headline {
    margin: 40px auto;
  }

  .contact-headline h2 {
    font-size: 30px;
    margin: 0 auto 30px;
  }

  .contact-headline p {
    text-align: center;
  }

  .contact-form-wrapper {
    padding: 40px 40px 100px !important;
    margin-bottom: 0;
  }

  .contact-form-wrapper .contact-form {
    flex-direction: initial;
    flex-wrap: wrap;
    margin: 0 auto;
    gap: 30px;
    justify-content: space-between;
    align-items: stretch;
  }

  .contact-form-wrapper .contact-form .form-box {
    width: calc(50% - 15px);
    padding: 20px;
  }

  .contact-form-wrapper .contact-form .form-box .form-ttl {
    font-size: 16px;
    margin: 0 auto 20px;
    justify-content: center;
  }

  .contact-form-wrapper .contact-form .form-box .form-btn {
    padding: 32px 0;
    max-width: 100%;
  }

}

@media screen and (min-width:1280px) {

  .contact-page>section:not(.heading) {
    padding: 0;
  }

  .contact-headline {
    margin: 50px auto 40px !important;
  }

  .contact-form-wrapper {
    padding: 60px 0 100px !important;
  }

  .contact-form-wrapper .contact-form {
    width: 1000px;
    gap: 40px;
  }

  .contact-form-wrapper .contact-form .form-box {
    width: calc(50% - 20px);
    padding: 40px;
    align-items: flex-start;
  }

  .contact-form-wrapper .contact-form .form-box .form-ttl {
    justify-content: flex-start;
    margin: 0 0 20px;
  }

  .contact-form-wrapper .contact-form .form-box .form-btn {
    padding: 32px 0;
  }
}

/* ------------------------------
個人情報保護
------------------------------ */
/* --font-- */
.privacy-headline h2 {
  font-size: 20px;
  line-height: 1.5;
  color: #005032;
  text-align: center;
  margin: 0 auto 25px;
}

.privacy-headline p {
  font-size: 14px;
  line-height: 2;
  font-weight: bold;
  padding: 0;
}

.privacy-policy-page h3 {
  font-size: 18px;
  line-height: 1.6;
  text-align: center;
  width: 100%;
  background-color: #F5F5F5;
  padding: 6px 10px;
  margin: 0 0 15px;
  box-sizing: border-box;
}

.privacy-policy-page .privacy-contents-block h3+p {
  margin-bottom: 15px;
}

.privacy-policy-page h4 {
  font-size: 14px;
  line-height: 1.7;
  text-align: left;
  margin: 0 0 5px;
}

.privacy-policy-page .privacy-contents-block .guidelines a {
  color: #005032;
  text-decoration: underline;
}

.privacy-policy-page .privacy-contents-block .guidelines ul li {
  margin-left: 15px;
  list-style: disc;
}

.privacy-policy-page .privacy-contents-block .guidelines .number li {
  margin-left: 0;
  list-style-type: none;
  counter-increment: cnt;
}

.privacy-policy-page .privacy-contents-block .guidelines .number li::before {
  content: "("counter(cnt)")";
}

.privacy-policy-page .privacy-contents-block .guidelines .number2 li {
  list-style: auto;
}



/* --block-- */
.privacy-policy-page .privacy-headline {
  width: calc(100% - 30px);
  padding: 0 !important;
  margin: 32px auto 40px;
  position: relative;
}

.privacy-policy-page .privacy-contents-block {
  width: calc(100% - 30px);
  padding: 0 !important;
  margin: 0 auto 40px;
}

.privacy-policy-page .privacy-contents-block:last-child {
  margin: 0 auto;
}

.privacy-policy-page .privacy-contents-block .guidelines {
  margin: 0 0 20px;
}

.privacy-policy-page .privacy-contents-block .guidelines:last-child {
  margin: 0;
}

.privacy-policy-page .privacy-contents-block .signature {
  text-align: right;
  margin-top: 40px;
}

/* --翻訳-- */
.privacy-policy-page .privacy-headline .translate-btn {
  position: absolute;
  top: -10px;
  right: 0;
}

.privacy-policy-page .privacy-headline .translate-btn img {
  width: 50px;
  height: 50px;
}

/* --table共通-- */
.privacy-policy-page table {
  width: 100%;
  font-size: 12px;
  line-height: 2;
  border: 1px solid #c5c5c5;
  border-collapse: collapse;
  margin-top: 15px;
}

.privacy-policy-page table tbody tr th {
  font-weight: 400;
  box-sizing: border-box;
}

.privacy-policy-page table thead {
  background-color: #F5F5F5;
}

.privacy-policy-page table thead tr th {
  font-weight: 400;
}

.privacy-policy-page table tbody tr td {
  box-sizing: border-box;
}

/* --table-A-- */
.privacy-policy-page .privacy-table-a tbody tr {
  border: 1px solid #c5c5c5;
}

.privacy-policy-page .privacy-table-a thead tr th {
  border: 1px solid #c5c5c5;
}

.privacy-policy-page .privacy-table-a tbody tr th {
  border: 1px solid #c5c5c5;
  width: 40%;
}

.privacy-policy-page .privacy-table-a tbody tr td {
  padding: 5px 10px;
  width: 60%;
}

/* --table-B-- */
.privacy-policy-page .privacy-table-b thead {
  display: none;
}

.privacy-policy-page .privacy-table-b tbody tr th {
  background-color: #F5F5F5;
  display: block;
  width: 100%;
  border-top: 1px solid #c5c5c5;
  border-bottom: 1px solid #c5c5c5;
  padding: 0;
  margin: 0;
}

.privacy-policy-page .privacy-table-b tbody tr:nth-of-type(1) th {
  border-top: none;
}

.privacy-policy-page .privacy-table-b tbody tr td {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
}

.privacy-policy-page .privacy-table-b tbody tr td {
  border-bottom: 1px solid #E6E6E6;
  padding: 10px;
}

.privacy-policy-page .privacy-table-b tbody tr td:last-of-type {
  border-bottom: none;
}

.privacy-policy-page .privacy-table-b tbody tr td[data-title]::before {
  content: attr(data-title) " ";
  font-weight: bold;
  display: block;
}

.privacy-policy-page .privacy-table-b tbody tr td ul li {
  list-style: disc;
  margin-left: 10px;
  line-height: 1.5;
}

/* --問い合わせ先等-- */

.privacy-policy-page .privacy-contact-info {
  border: 1px solid #E6E6E6;
  width: 100%;
  padding: 10px;
  margin-top: 15px;
  text-align: center;
  box-sizing: border-box;
}

.privacy-policy-page .protection-org {
  text-align: left;
}

.privacy-policy-page .protection-org ul li {
  list-style: none !important;
  margin-left: 0 !important;
}

@media screen and (min-width:768px) {

  /* --font-- */
  .privacy-headline h2 {
    font-size: 30px;
    margin: 0 auto 40px;
  }

  .privacy-headline p {
    font-size: 16px;
    text-align: center;
  }

  .privacy-policy-page h3 {
    font-size: 20px;
    text-align: left;
    padding: 9px 10px 9px 15px;
    margin: 0 0 20px;
  }

  .privacy-policy-page .privacy-contents-block h3+p {
    margin-bottom: 20px;
  }

  .privacy-policy-page h4 {
    font-size: 16px;
  }

  /* --block-- */
  .privacy-policy-page .privacy-headline {
    width: calc(100% - 80px);
    max-width: 980px;
    margin: 50px auto 40px
  }

  .privacy-policy-page .privacy-contents-block {
    width: calc(100% - 80px);
    max-width: 980px;
  }

  .privacy-policy-page .privacy-contents-block .guidelines .guidelines-wrapper {
    width: calc(100% - 15px);
    margin: 0 0 0 15px;
  }

  /* --翻訳-- */
  .privacy-policy-page .privacy-headline .translate-btn {
    top: 0px;
    right: 0;
  }

  /* --table共通-- */
  .privacy-policy-page table {
    font-size: 14px;
    line-height: 1.7;
  }

  .privacy-policy-page table thead {
    font-size: 16px;
  }

  /* --table-A-- */

  .privacy-policy-page table thead tr th {
    padding: 8px 9px;
  }

  .privacy-policy-page .privacy-table-a thead tr th:nth-of-type(1) {
    width: 25%;
  }

  .privacy-policy-page .privacy-table-a tbody tr td {
    padding: 5px 15px;
  }

  /* --table-B-- */

  .privacy-policy-page .privacy-table-b {
    table-layout: fixed;
  }

  .privacy-policy-page .privacy-table-b thead {
    display: revert;
    font-size: 16px;
    background-color: #F5F5F5;
    border-bottom: 1px solid #c5c5c5;
  }

  .privacy-policy-page .privacy-table-b thead tr th {
    border-right: 1px solid #c5c5c5;
    padding: 8px 9px;
    text-align: center;
    display: revert;
  }

  .privacy-policy-page .privacy-table-b thead tr th:nth-of-type(1) {
    width: 52px;
    box-sizing: border-box;
  }

  .privacy-policy-page .privacy-table-b thead tr th:last-of-type {
    border-right: none;
  }

  .privacy-policy-page .privacy-table-b tbody tr th {
    display: revert;
    border: 1px solid #c5c5c5;
    background: unset;
  }

  .privacy-policy-page .privacy-table-b tbody tr td {
    border: 1px solid #c5c5c5;
  }

  .privacy-policy-page .privacy-table-b tbody tr:nth-of-type(2) th {
    border-top: none;
  }

  .privacy-policy-page .privacy-table-b tbody tr td {
    display: revert;
  }

  .privacy-policy-page .privacy-table-b tbody tr td {
    padding: 10px 15px;
  }

  .privacy-policy-page .privacy-table-b tbody tr td[data-title]::before {
    content: unset;
  }

  /* --問い合わせ先等-- */

  .privacy-policy-page .privacy-contact-info {
    padding: 20px 15px;
    margin-top: 15px;
  }
}

@media screen and (min-width:1280px) {

  /* --block-- */
  .privacy-policy-page .privacy-headline {
    margin: 50px auto 40px !important;
  }

  .privacy-policy-page .privacy-contents-block {
    margin: 0 auto 40px !important;
  }
}

/* ------------------------------
careers
------------------------------ */
/* --- hello・btn -- */
.careers-page {
  padding-bottom: 0 !important;
}

.careers-page .heading {
  background-image: url(../images/careers/careers_ttl-img.png);
  background-repeat: no-repeat;
  background-size: 140%;
  background-position: bottom 0 center;
  background-color: rgba(255, 255, 255, 0.2);
  background-blend-mode: lighten;
}

.careers-page .heading .section-inner {
  padding: 30px 15px;
  text-align: center;
}

.careers-page .heading .section-inner h1 .h1-title-main {
  color: #fff;
  font-size: 52px;
  line-height: 1;
  text-shadow: 0 0 10px rgba(0, 0, 0, .4);
}

.careers-page .heading .section-inner h1 .h1-title-sub {
  color: #005032;
  font-size: 25px;
  line-height: 1;
  text-shadow: 0 0 10px rgba(255, 255, 255, 1);
  margin: 20px auto;
}

.careers-page .heading .section-inner p {
  font-size: 14px;
  line-height: 1.7;
  font-weight: bold;
  text-shadow: 0 0 10px rgba(255, 255, 255, 1);
  margin: 0 auto 15px;
}

.careers-page .careers-btn {
  display: block;
  background: linear-gradient(270deg, #9bc842 0%, #5DA73C 25%, #017c42 51%, #005032 100%);
  background-position: 1% 50%;
  background-size: 200% auto;
  transition: all 0.3s ease-out;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  text-align: center;
  font-weight: 600;
  margin: 0 auto;
  padding: 24px 0;
  width: 100%;
  max-width: 350px;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, .15);
}

.careers-page .careers-btn.no-link {
  background: #A3A3A3;
  color: #E6E6E6;
  box-shadow: none;
}

.careers-page .careers-btn:hover {
  background-position: 99% 50%;
}

.careers-page .heading .section-inner .careers-btn {
  width: calc(100% - 40px);
}

.careers-page .careers-box .careers-btn {
  position: relative;
}

.careers-page .careers-box .careers-btn::after {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  background-image: url(../images/externallink_icon_w.svg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  right: 10px;
}

.careers-page .careers-btn.no-link::after {
  display: none;
}

.careers-page .careers-box .mail-btn::after {
  display: none;
}

.careers-page .careers-box .mail-btn::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 16px;
  background-image: url(../images/icon-mail.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin: 0 6px 0 0;
}

/* --- Company Movie-- */
.careers-page .company-movie {
  margin: 0 auto 60px;
}

.careers-page .company-movie h3 {
  margin-bottom: 20px;
}

.careers-page .company-movie .movie-wrapper {
  width: calc(100% - 70px);
  margin: 0 auto;
  position: relative;
  padding-top: 56.25%;
}

.careers-page .company-movie .movie-wrapper iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/* --- Company Features -- */
.careers-page .company-features-area {
  padding: 30px 0 0;
}

.careers-page .company-features-area .features-box {
  width: calc(100% - 30px);
  max-width: 690px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.careers-page .company-features-area .features-box h4 {
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 20px;
  text-align: left;
  color: #005032;
  font-weight: bold;
}

.careers-page .company-features-area .features-box p {
  font-size: 12px;
  line-height: 2;
}

.careers-page .company-features-area .features-box .txt-box a {
  display: inline-block;
  font-size: 14px;
  color: #005032;
  font-weight: 600;
  margin: 20px 0 0;
  position: relative;
}

.careers-page .company-features-area .features-box .txt-box a::after {
  display: inline-block;
  content: '';
  width: 10px;
  height: 10px;
  background-image: url(../images/green_arrow.svg);
  background-size: contain;
  position: absolute;
  top: 6px;
  right: -10px;
}

.careers-page .company-features-area .img-box img {
  box-shadow: 5px 5px 20px rgba(0, 0, 0, .2);
}

/* --- Company Features first -- */

.careers-page .company-features-area .first {
  margin-bottom: 80px;
}

.careers-page .company-features-area .first .img-box {
  position: relative;
  height: 78.4vw;
  max-height: 500px;
}

.careers-page .company-features-area .first .img-box .main-img {
  position: absolute;
  top: 0;
  right: 0;
  width: 84%;
  height: auto;
}

.careers-page .company-features-area .first .img-box .sub-img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 49%;
  height: auto;
  z-index: 1;
}

.careers-page .company-features-area .first .img-box .note {
  position: absolute;
  bottom: 0;
  right: 0;
}

/* --- Company Features second -- */
.careers-page .company-features-area .second {
  margin-bottom: 60px;
}

.careers-page .company-features-area .img-box .note {
  margin: 10px 0 0;
}

/* --- Company Features third -- */
.careers-page .company-features-area .third {
  margin-bottom: 80px;
}

/* --- Company Features fourth -- */
.careers-page .company-features-area .fourth {
  margin-bottom: 30px;
}

/* ---appeal-point -- */
.careers-page .appeal-point-area {
  width: calc(100% - 30px);
  margin: 0 auto 60px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px;
}

.careers-page .appeal-point-area p {
  display: grid;
  place-content: center;
  gap: 1ch;
  font-size: 16px;
  line-height: 1.5;
  color: #005032;
  font-weight: 700;
  text-align: center;
  padding: 27px 0;
  width: calc(50% - 16px);
  max-width: 470px;
  border: 4px solid #006837;
  border-image: linear-gradient(to right, #006837 0%, #5DA73C 100%);
  border-image-slice: 1;
}

/* ---careers -- */
.careers-page .careers-area {
  background-image: url(../images/careers/careers_bottom-img.png);
  background-repeat: no-repeat;
  background-position: bottom 0 center;
  background-size: auto 80%;
  padding-bottom: 60px;
}

.careers-page h3 {
  color: #005032;
  line-height: 1;
  margin-bottom: 30px;
}

.careers-page .careers-area .careers-box-wrapper {
  width: calc(100% - 30px);
  max-width: 980px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.careers-page .careers-area .careers-box-wrapper .careers-box {
  background-color: #fff;
  padding: 30px 25px;
  box-shadow: 5px 5px 20px rgba(0, 0, 0, .2);
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  box-sizing: border-box;
  text-align: center;
}

.careers-page .careers-area .careers-box-wrapper .careers-box .btn-box {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: center;
}

.careers-page .careers-area .careers-box-wrapper .careers-box h5 {
  font-size: 16px;
  line-height: 1;
  color: #005032;
  font-weight: 700;
  margin: 0 0 15px 0;
}

.careers-page .careers-area .careers-box-wrapper .careers-box p {
  font-size: 12px;
  line-height: 2;
  margin: 0 0 15px 0;
}

.careers-page .careers-area .contact {
  width: calc(100% - 30px);
  max-width: 980px;
  margin: 60px auto 0;
  background-color: #fff;
  padding: 15px;
  font-size: 12px;
  line-height: 2;
  border-radius: 5px;
  box-sizing: border-box;
}

@media screen and (max-width:374px) {
  .careers-page .careers-btn {
    font-size: 4vw;
  }

  .careers-page .appeal-point-area p {
    font-size: 4.267vw;
  }
}

@media screen and (min-width:768px) {

  /* --- hello・btn -- */
  .careers-page .heading {
    background-size: 100%;
  }

  .careers-page .heading .section-inner {
    padding: 50px 0;
  }

  .careers-page .heading .section-inner h1 .h1-title-main {
    font-size: 80px;
  }

  .careers-page .heading .section-inner h1 .h1-title-sub {
    font-size: 40px;
    margin: 30px auto 25px;
  }

  .careers-page .heading .section-inner p {
    font-size: 16px;
    line-height: 1.5;
    margin: 0 auto 40px;
  }

  .careers-page .heading .section-inner .careers-btn {
    width: 100%;
  }

  /* --- Company Movie-- */
  .careers-page .company-movie {
    margin: 0 auto 120px;
  }

  .careers-page .company-movie h3 {
    font-size: 40px;
    margin-bottom: 40px;
  }

  .careers-page .company-movie .movie-wrapper {
    width: calc(100% - 80px);
    max-width: 800px;
    margin: 0 auto;
    padding-top: 445px;
  }

  .careers-page .company-movie .movie-wrapper iframe {
    max-height: 445px;
  }

  /* --- Company Features -- */
  .careers-page .company-features-area {
    padding: 50px 0 0;
    margin-bottom: 100px;
  }

  .careers-page .company-features-area .features-box {
    width: calc(100% - 80px);
    max-width: 980px;
  }

  .careers-page .company-features-area .features-box h4 {
    font-size: 20px;
    margin: 0 0 40px;
  }

  .careers-page .company-features-area .features-box p {
    font-size: 16px;
  }

  .careers-page .company-features-area .features-box p sup {
    font-size: 10px;
  }

  .careers-page .company-features-area .features-box .note {
    font-size: 12px;
    margin: 10px 0 0 0;
  }

  .careers-page .company-features-area .features-box .txt-box a {
    font-size: 16px;
    margin: 40px 0 0;
  }

  .careers-page .company-features-area .features-box .txt-box a::after {
    width: 12px;
    height: 12px;
    right: -15px;
  }

  /* --- Company Features first -- */

  .careers-page .company-features-area .first {
    margin-bottom: 100px;
  }

  .careers-page .company-features-area .first .img-box {
    height: 500px;
  }

  .careers-page .company-features-area .first .img-box .main-img {
    width: auto;
    height: 432px;
  }

  .careers-page .company-features-area .first .img-box .sub-img {
    width: auto;
    height: 187px;
    left: auto;
    right: 45%;
  }

  .careers-page .company-features-area .first .img-box .note {
    bottom: 34px;
  }

  /* --- Company Features second -- */
  .careers-page .company-features-area .second {
    margin-bottom: 100px;
  }

  .careers-page .company-features-area .second .img-box {
    height: 454px;
    position: relative;
  }

  .careers-page .company-features-area .second .img-box .main-img {
    width: 522px;
    height: 454px;
    object-fit: cover;
  }

  /* --- Company Features third -- */
  .careers-page .company-features-area .third .img-box {
    height: 378px;
    position: relative;
  }

  .careers-page .company-features-area .third .img-box .main-img {
    width: 522px;
    height: 378px;
    object-fit: cover;
    position: absolute;
    top: 0;
    right: 0;
  }

  /* --- Company Features fourth -- */
  .careers-page .company-features-area .fourth .img-box {
    height: 484px;
    position: relative;
  }

  .careers-page .company-features-area .fourth .img-box .main-img {
    width: 522px;
    height: 454px;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    object-position: top;
  }

  .careers-page .company-features-area .fourth .img-box .note {
    bottom: 0;
    position: absolute;
  }


  /* ---appeal-point -- */
  .careers-page .appeal-point-area {
    width: calc(100% - 80px);
    max-width: 980px;
    margin: 0 auto 100px;
    gap: 20px;
  }

  .careers-page .appeal-point-area p {
    font-size: 20px;
    line-height: 1;
    padding: 23px 0;
    width: calc(50% - 20px);
    border: 2px solid #006837;
    border-image: linear-gradient(to right, #006837 0%, #5DA73C 100%);
    border-image-slice: 1;
  }

  /* ---careers -- */
  .careers-page .careers-area {
    background-position: top 200px center;
    background-size: cover;
    padding-bottom: 80px;
  }

  .careers-page .careers-area h3 {
    margin-bottom: 60px;
  }

  .careers-page .careers-area .careers-box-wrapper {
    width: calc(100% - 80px);
    gap: 40px;
  }

  .careers-page .careers-area .careers-box-wrapper .careers-box {
    padding: 30px;
  }

  .careers-page .careers-area .careers-box-wrapper .careers-box .btn-box {
    display: flex;
    flex-direction: initial;
    gap: 20px;
    justify-content: center;
  }

  .careers-page .careers-area .careers-box-wrapper .careers-box h5 {
    font-size: 20px;
    margin: 0 0 20px 0;
  }

  .careers-page .careers-area .careers-box-wrapper .careers-box p {
    font-size: 16px;
  }

  .careers-page .careers-area .contact {
    width: calc(100% - 80px);
    margin: 80px auto 0;
    font-size: 14px;
    text-align: center;
  }
}

@media screen and (min-width:1280px) {
  .careers-page .heading {
    background-size: 100%;
    background-position: bottom 25% center;
  }

  /* --- Company Features -- */

  .careers-page .company-features-area {
    background: linear-gradient(90deg, #fff 0%, #fff 50%, #F5F5F5 50%, #F5F5F5 100%);
  }

  .careers-page .company-features-area .features-box h4 {
    font-size: 20px;
    margin: 0 0 40px;
  }

  .careers-page .company-features-area .features-box {
    flex-direction: row;
    align-items: center;
    gap: 0;
  }

  .careers-page .company-features-area .txt-box p {
    letter-spacing: -0.02em;
  }

  /* --- Company Features first -- */

  .careers-page .company-features-area .first {
    margin-bottom: 80px;
  }

  .careers-page .company-features-area .first .txt-box {
    width: 450px;
  }

  .careers-page .company-features-area .first .txt-box p {
    letter-spacing: -0.03em;
  }

  .careers-page .company-features-area .first .img-box {
    width: 540px;
    height: 540px;
  }

  .careers-page .company-features-area .first .img-box .main-img {
    width: 490px;
  }

  .careers-page .company-features-area .first .img-box .sub-img {
    width: 304px;
    right: 235px;
    bottom: 20px;
  }

  .careers-page .company-features-area .first .img-box .note {
    bottom: 35px;
  }

  /* --- Company Features second -- */
  .careers-page .company-features-area .second {
    flex-direction: row-reverse;
    margin-bottom: 122px;
  }

  .careers-page .company-features-area .second .txt-box {
    width: 468px;
    padding: 50px;
    background-color: #fff;
    z-index: 1;
    margin-left: -78px;
  }

  .careers-page .company-features-area .second .img-box {
    width: 490px;
    height: 412px;
  }

  .careers-page .company-features-area .second .img-box .main-img {
    width: 490px;
    height: 412px;
  }

  /* --- Company Features third -- */
  .careers-page .company-features-area .third {
    justify-content: space-between;
    margin-bottom: 100px;
  }

  .careers-page .company-features-area .third .txt-box {
    width: 440px;
  }

  .careers-page .company-features-area .third .img-box {
    width: 490px;
    height: 347px;
  }

  .careers-page .company-features-area .third .img-box .main-img {
    width: 490px;
    height: 347px;
  }

  /* --- Company Features fourth -- */
  .careers-page .company-features-area .fourth {
    flex-direction: row-reverse;
    margin-bottom: 100px;
  }

  .careers-page .company-features-area .fourth .txt-box {
    width: 468px;
    padding: 50px;
    background-color: #fff;
    z-index: 1;
    margin-left: -78px;
  }

  .careers-page .company-features-area .fourth .img-box {
    width: 490px;
    height: 620px;
  }

  .careers-page .company-features-area .fourth .img-box .main-img {
    width: 490px;
    height: 590px;
  }



  /* ---careers -- */
  .careers-page .careers-area {
    background-position: top 200px center;
  }

  .careers-page .careers-area .careers-box-wrapper .careers-box {
    box-sizing: border-box;
  }

}