@charset "UTF-8";
/* ====================================================================================

    R E S E T

==================================================================================== */
html {
  color: #000;
  background: #FFF;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

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

fieldset, img {
  border: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}

ol, ul {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

q:before, q:after {
  content: '';
}

abbr, acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: baseline;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

input, textarea, select {
  *font-size: 100%;
}

legend {
  color: #000;
}

article, aside, audio, bb, canvas, datagrid, datalist, details, dialog, eventsource, figure, footer, header, hgroup, mark, menu, meter, nav, output, progress, section, time, video {
  display: block;
  margin: 0;
  padding: 0;
}

.cf:after,
.pageMenu ul:after,
.post:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.cf {
  min-height: 1px;
}

/* ====================================================================================

    S C S S   I T E M

==================================================================================== */
/* ====================================================================================

    C O M M O N

==================================================================================== */
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-size: 10px;
}

body {
  max-height: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-bottom: 5px;
  line-height: 1.3;
}

p {
  text-align: justify;
  line-height: 1.6;
}

a {
  text-decoration: none;
}

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

.img-border {
  -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.4) inset;
          box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.4) inset;
  display: inline-block;
}
.img-border img {
  position: relative;
  z-index: -1;
}

figcaption {
  margin-top: 10px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.3;
}

#wrapper {
  font-family: 游ゴシック体, "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  color: #000;
  line-height: 1;
  position: relative;
  overflow: hidden;
}

.flex {
  display: -webkit-box;
  /*Android4.3*/
  /*Firefox21*/
  display: -ms-flexbox;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  display: flex;
}

.between {
  -webkit-box-pack: justify;
  /*Android4.3*/
  /*Firefox21*/
  -ms-flex-pack: justify;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  justify-content: space-between;
}

.wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.center {
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  -ms-flex-box: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
}

.vertical {
  /* 縦方向中央揃え（Safari用） */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* 縦方向中央揃え */
}

.inner {
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
  width: 1000px;
  max-width: 100%;
}

.content {
  padding-top: 60px;
  padding-bottom: 60px;
}

.content_narrow {
  padding-top: 30px;
  padding-bottom: 30px;
}

.content_top {
  margin-top: 80px;
}

.content_top_mini {
  margin-top: 30px;
}

.content_bottom_mini {
  padding-bottom: 30px;
}

.half-box {
  width: 48.9583333333%;
}

.btn-reset {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  margin: 0;
  padding: 0;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  outline: none;
  cursor: pointer;
}

.sp {
  display: none;
}

#kari {
  height: 1500px;
}

.mb10 {
  margin-bottom: 10px;
}

.scroller {
  margin: 20px 0;
  overflow-x: scroll;
}
.scroller img {
  display: block;
  max-width: none;
}

.table900 img {
  width: 900px;
}

.table1500 img {
  width: 1500px;
}

.txt_light {
  color: #009de9;
}
.txt_light.pink {
  color: #ec6d74;
}

.small {
  font-size: 12px;
}

.small_top {
  font-size: 10px;
  vertical-align: top;
}

span.supText {
  font-size: 75.5%;
  vertical-align: top;
  position: relative;
  top: -0.1em;
}

.kome {
  padding-left: 1.25em;
  position: relative;
}
.kome::before {
  content: "※";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}

ul.normal-list {
  line-height: 1.5;
}
ul.normal-list li {
  padding-left: 1em;
  position: relative;
}
ul.normal-list li::before {
  display: inline-block;
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
ul.normal-list li:nth-of-type(n+2) {
  margin-top: 5px;
}

ol.circle-number {
  line-height: 1.5;
}
ol.circle-number li {
  padding-left: 1.25em;
  position: relative;
}
ol.circle-number li span {
  position: absolute;
  left: 0;
  top: 0;
}
ol.circle-number li:nth-of-type(n+2) {
  margin-top: 5px;
}

/* ====================================================================================

    HEADER

==================================================================================== */
#common-header {
  padding: 10px 0 5px 50px;
  background: #fff;
  position: relative;
  border-bottom: 1px solid #DEDEDE;
}

.header-vertical {
  display: -webkit-box;
  /*Android4.3*/
  /*Firefox21*/
  display: -ms-flexbox;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  display: flex;
  /* 縦方向中央揃え（Safari用） */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* 縦方向中央揃え */
}
.header-vertical p {
  margin-left: 30px;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
}

.header-corprate {
  position: absolute;
  top: 0;
  right: 0;
}

.corporate-link {
  background: #CF092F;
  overflow: hidden;
}
.corporate-link:after {
  content: '';
  width: 100%;
  height: 100%;
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.corporate-link:hover:after {
  -webkit-transform: translateY(0%);
  transform: translateY(0%);
}
.corporate-link:hover a {
  color: #CF092F;
}
.corporate-link a {
  display: -webkit-box;
  /*Android4.3*/
  /*Firefox21*/
  display: -ms-flexbox;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  display: flex;
  /* 縦方向中央揃え（Safari用） */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* 縦方向中央揃え */
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  -ms-flex-box: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  border-left: 1px solid #CF092F;
  width: 280px;
  height: 60px;
  vertical-align: middle;
  font-size: 14px;
  font-size: 1.4rem;
  color: #fff;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  position: relative;
  z-index: 1;
}
.corporate-link a img {
  margin-left: 15px;
}

#sp-nav-torigger {
  display: none;
  background: #CF092F;
  width: 60px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
}

.torigger-box {
  width: 30px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.torigger-box span {
  display: block;
  width: 100%;
  height: 2px;
  background: #fff;
  position: absolute;
  left: 0;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.torigger-box span:nth-of-type(1) {
  top: 0;
}
.torigger-box span:nth-of-type(2) {
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.torigger-box span:nth-of-type(3) {
  bottom: 0;
}

.nav-active .torigger-box span:nth-of-type(1) {
  -webkit-transform: translate(0, 9px) rotate(45deg);
  transform: translate(0, 9px) rotate(45deg);
}
.nav-active .torigger-box span:nth-of-type(2) {
  opacity: 0;
}
.nav-active .torigger-box span:nth-of-type(3) {
  -webkit-transform: translate(0, -9px) rotate(-45deg);
  transform: translate(0, -9px) rotate(-45deg);
}

/* ====================================================================================

    NAV

==================================================================================== */
#common-nav {
  width: 100%;
  position: absolute;
  top: 60px;
  left: 0;
  z-index: 100;
}
#common-nav .inner {
  padding-left: 10px;
  padding-right: 10px;
  width: 100%;
}
#common-nav .inner.top-nav {
  background: rgba(207, 9, 47, 0.85);
}
#common-nav .inner.bottom-nav {
  background: rgba(255, 255, 255, 0.85);
}
#common-nav ul {
  margin: auto;
  padding: 0 10px;
  display: -webkit-box;
  /*Android4.3*/
  /*Firefox21*/
  display: -ms-flexbox;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  display: flex;
  max-width: 1200px;
}
#common-nav ul li {
  position: relative;
}
#common-nav ul li a {
  padding: 15px 5px;
  font-size: 12px;
  font-size: 1.2rem;
  color: #000;
  font-weight: bold;
  display: block;
  position: relative;
}
#common-nav ul li .nav-child {
  display: none;
  padding: 15px 20px;
  width: 300px;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 100%);
  transform: translate(-50%, 100%);
}
#common-nav ul li .nav-child li:after {
  content: none;
}
#common-nav ul li .nav-child li a {
  padding: 0;
  padding-left: 15px;
  color: #fff;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 1.3;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
#common-nav ul li .nav-child li a:before {
  content: '>';
  position: absolute;
  top: 0;
  left: 0;
}
#common-nav ul li .nav-child li a:hover {
  color: #CF092F;
}
#common-nav ul li .nav-child li + li {
  margin-top: 15px;
}
#common-nav ul li .nav-child.more-nav-left-side {
  left: -20px;
  bottom: 0;
  -webkit-transform: translate(0, 100%);
  transform: translate(0, 100%);
}
#common-nav ul li .nav-child.more-nav-right-side {
  left: inherit;
  bottom: 0;
  right: -20px;
  -webkit-transform: translate(0, 100%);
  transform: translate(0, 100%);
}
#common-nav ul li .nav-child_narrow {
  width: 200px;
}
#common-nav ul li .nav-child_wide {
  width: 400px;
}
#common-nav .top-nav ul li {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
#common-nav .top-nav ul li:nth-of-type(n+2) {
  margin-left: 20px;
}
#common-nav .top-nav ul li:hover {
  opacity: 0.7;
}
#common-nav .top-nav ul li a {
  color: #fff;
  padding-bottom: 12px;
  padding-top: 12px;
}
#common-nav .top-nav ul li a::before {
  background: url(../img/icon-arrow-nav-white.svg) no-repeat center center;
  content: "";
  display: inline-block;
  margin-right: 5px;
  height: 8px;
  width: 4px;
}
#common-nav .bottom-nav ul {
  -webkit-box-pack: justify;
  /*Android4.3*/
  /*Firefox21*/
  -ms-flex-pack: justify;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  justify-content: space-between;
}
#common-nav .bottom-nav ul li:after {
  content: '';
  width: 0%;
  height: 2px;
  background: #CF092F;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  opacity: 0;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
#common-nav .bottom-nav ul li:hover:after {
  width: 100%;
  opacity: 1;
}

.nav-corprate a {
  margin-top: 40px;
  padding: 30px 20px;
  display: block;
  width: 100%;
  text-align: center;
  font-size: 20px;
  font-size: 2rem;
  position: relative;
  color: #CF092F;
  background: #fff;
}
.nav-corprate a:after {
  content: '';
  width: 12px;
  height: 18px;
  background: url(../img/icon-arrow-right-red.svg) no-repeat center;
  background-size: 100% 100%;
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.scroll-nav {
  z-index: 100;
  -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
          box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
  display: none;
  opacity: 0;
}
.scroll-nav ul {
  display: -webkit-box;
  /*Android4.3*/
  /*Firefox21*/
  display: -ms-flexbox;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  -ms-flex-box: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
}
.scroll-nav ul:first-of-type {
  background: #CF092F;
}
.scroll-nav ul:first-of-type li a {
  color: #fff;
  padding-bottom: 10px;
  padding-top: 10px;
}
.scroll-nav ul:first-of-type li a:after {
  background: #fff;
}
.scroll-nav ul:nth-of-type(2) {
  background: #fff;
}
.scroll-nav ul li {
  margin: 0 10px;
  position: relative;
}
.scroll-nav ul li a {
  padding: 15px 5px;
  font-size: 12px;
  font-size: 1.2rem;
  color: #000;
  font-weight: bold;
  display: block;
  position: relative;
}
.scroll-nav ul li a:after {
  content: '';
  width: 0%;
  height: 2px;
  background: #CF092F;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  opacity: 0;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.scroll-nav ul li a:hover:after {
  width: 100%;
  opacity: 1;
}
.scroll-nav ul li.scroll-corprate {
  position: absolute;
  right: 0;
  top: 0;
}
.scroll-nav ul li.corporate-link {
  margin-right: 0;
}
.scroll-nav ul li.corporate-link a {
  display: -webkit-box;
  /*Android4.3*/
  /*Firefox21*/
  display: -ms-flexbox;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  display: flex;
  padding: 0;
  color: #fff;
  font-weight: normal;
}
.scroll-nav ul li.corporate-link a:after {
  content: none;
}
.scroll-nav ul li.corporate-link:hover a {
  color: #CF092F;
}
.scroll-nav ul li .nav-child {
  display: none;
  padding: 15px 20px;
  width: 300px;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 100%);
  transform: translate(-50%, 100%);
}
.scroll-nav ul li .nav-child li {
  margin: 0;
}
.scroll-nav ul li .nav-child li a {
  padding: 0;
  padding-left: 15px;
  color: #fff;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 1.3;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.scroll-nav ul li .nav-child li a:before {
  content: '>';
  position: absolute;
  top: 0;
  left: 0;
}
.scroll-nav ul li .nav-child li a:after {
  content: none !important;
}
.scroll-nav ul li .nav-child li a:hover {
  color: #CF092F;
}
.scroll-nav ul li .nav-child li + li {
  margin-top: 15px;
}
.scroll-nav ul li .nav-child.more-nav-left-side {
  left: -20px;
  bottom: 0;
  -webkit-transform: translate(0, 100%);
  transform: translate(0, 100%);
}
.scroll-nav ul li .nav-child.more-nav-right-side {
  left: inherit;
  bottom: 0;
  right: -20px;
  -webkit-transform: translate(0, 100%);
  transform: translate(0, 100%);
}
.scroll-nav ul li .nav-child_narrow {
  width: 200px;
}
.scroll-nav ul li .nav-child_wide {
  width: 400px;
}

/* ====================================================================================

    SIDEBAR

==================================================================================== */
#common-sidebar {
  position: relative;
}

.pageTopBox {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
}

#pageTop {
  display: none;
  padding: 0 15px;
  background: #E3E8ED;
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 99;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.pnkz {
  padding: 15px 0 15px 50px;
  border-top: 1px solid #DEDEDE;
  display: -webkit-box;
  /*Android4.3*/
  /*Firefox21*/
  display: -ms-flexbox;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.pnkz li {
  margin: 5px 0;
  font-size: 12px;
  font-size: 1.2rem;
}
.pnkz li span {
  margin: 0 10px;
}
.pnkz li span img {
  vertical-align: middle;
}
.pnkz li a {
  color: #000;
  text-decoration: underline;
}

/* ====================================================================================

    FOOTER

==================================================================================== */
.footer-nav {
  padding: 34px 20px;
  background: #2A3337;
}
.footer-nav ul {
  display: -webkit-box;
  /*Android4.3*/
  /*Firefox21*/
  display: -ms-flexbox;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  -ms-flex-box: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
}
.footer-nav ul li a {
  padding: 0 15px;
  display: inline-block;
  color: #fff;
  font-size: 14px;
  font-size: 1.4rem;
  position: relative;
}
.footer-nav ul li a:after {
  content: '';
  width: 1px;
  height: 100%;
  display: block;
  background: #fff;
  position: absolute;
  top: 0;
  right: 0;
}
.footer-nav ul li:last-child a:after {
  content: none;
}

.copy {
  padding-top: 10px;
  padding-bottom: 10px;
  background: #000;
  color: #fff;
}
.copy p {
  text-align: center;
  font-size: 10px;
  font-size: 1rem;
  letter-spacing: 3px;
}

.footer-sitemap-wrapper {
  padding-top: 45px;
  padding-bottom: 45px;
  background: #E3E8ED;
}

.footer-sitemap {
  display: -webkit-box;
  /*Android4.3*/
  /*Firefox21*/
  display: -ms-flexbox;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  display: flex;
  -webkit-box-pack: justify;
  /*Android4.3*/
  /*Firefox21*/
  -ms-flex-pack: justify;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  justify-content: space-between;
}

.sitemap-box {
  width: 18%;
}

.sitemap-list li {
  line-height: 1.1;
}

.sitemap-big + .sitemap-big {
  margin-top: 26px;
}

.sitemap-big .ttl2 {
  margin-bottom: 0;
  padding-left: 0;
  color: #000;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: -0.5px;
  display: inline-block;
}
.sitemap-big .ttl2:before {
  left: -10px;
}
.sitemap-big a:hover {
  text-decoration: underline;
}
.sitemap-big .nav-child li {
  margin: 10px 0;
}
.sitemap-big .nav-child li a {
  color: #808080;
  font-size: 12px;
  font-size: 1.2rem;
}

/* ====================================================================================

    INDEX

==================================================================================== */
#page-header.index-header {
  margin-bottom: 0;
  padding-top: 200px;
  padding-bottom: 160px;
  color: #fff;
  text-align: left;
}
#page-header.index-header p {
  text-align: left;
  color: #fff;
}

.index-nav a {
  display: block;
  position: relative;
  line-height: 1.4;
  overflow: hidden;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.index-nav a:hover {
  opacity: 0.6;
}
.index-nav a img {
  width: 100%;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.index-nav a:hover img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.index-nav-column2 {
  text-align: center;
}
.index-nav-column2 .index-nav-text {
  padding: 20px;
  width: 100%;
}

.index-nav-text {
  font-weight: bold;
  color: #fff;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 1;
}

.index-nav-text1 {
  font-size: 38px;
  font-size: 3.8rem;
  left: 12.5%;
}
.index-nav-text1 span {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: normal;
  display: block;
}

.w50 {
  width: 50%;
}

.index-nav-ttl {
  margin-bottom: 5px;
  padding-bottom: 10px;
  font-size: 30px;
  font-size: 3rem;
  display: block;
  position: relative;
}
.index-nav-ttl:after {
  content: '';
  width: 78px;
  height: 1px;
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.index-nav-subttl {
  margin-bottom: 15px;
  display: block;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: normal;
}

.index-nav-text-box {
  font-weight: normal;
}

.topics-box {
  margin-right: 2.0833333333%;
  padding-bottom: 50px;
  width: 31.875%;
  background: #E3E8ED;
  position: relative;
}
.topics-box:nth-child(3n) {
  margin-right: 0;
}

.topics-info {
  padding: 30px 20px;
}
.topics-info h3 a {
  color: #2A3337;
  font-size: 20px;
  font-size: 2rem;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.topics-info h3 a:hover {
  color: #00C42F;
}

.btn-default {
  padding: 15px;
  padding-right: 35px;
  display: inline-block;
  text-align: center;
  font-size: 14px;
  font-size: 1.4rem;
  color: #fff;
  position: relative;
}
.btn-default:after {
  content: '';
  width: 8px;
  height: 12px;
  background: url(../img/icon-arrow-right-white.svg) no-repeat center;
  background-size: 100% 100%;
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.btn-grad_green {
  background: #00c42f;
  background: -webkit-gradient(linear, left top, right top, from(#00c42f), to(#92cc00));
  background: linear-gradient(to right, #00c42f 0%, #92cc00 100%);
}

.btn-grad_deepblue {
  background: #438fb5;
  background: -webkit-gradient(linear, left top, right top, from(#438fb5), to(#77bbea));
  background: linear-gradient(to right, #438fb5 0%, #77bbea 100%);
}

.btn-grad_darkblue {
  background: #528bda;
  background: -webkit-gradient(linear, left top, right top, from(#305993), to(#528bda));
  background: linear-gradient(to right, #305993 0%, #528bda 100%);
}

.btn-grad_yellow {
  background: #e7c324;
  background: -webkit-gradient(linear, left top, right top, from(#e7c324), to(#f3e21d));
  background: linear-gradient(to right, #e7c324 0%, #f3e21d 100%);
}

.btn-grad_vermilion {
  background: #ff835d;
  background: -webkit-gradient(linear, left top, right top, from(#de544b), to(#ff835d));
  background: linear-gradient(to right, #de544b 0%, #ff835d 100%);
}

.btn-grad_purple {
  background: #b49bff;
  background: -webkit-gradient(linear, left top, right top, from(#7570a9), to(#b49bff));
  background: linear-gradient(to right, #7570a9 0%, #b49bff 100%);
}

.btn-grad_moss {
  background: #718c0d;
  background: -webkit-gradient(linear, left top, right top, from(#648836), to(#96bc20));
  background: linear-gradient(to right, #648836 0%, #96bc20 100%);
}

.btn-topics {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.btn-topics:hover {
  opacity: 0.6;
}

.topics-thumbnail {
  overflow: hidden;
}
.topics-thumbnail a:hover img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
.topics-thumbnail img {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.link-box {
  position: relative;
  z-index: 1;
}
.link-box .btn-default {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 55.3191489362%;
  z-index: 1;
}
.link-box img {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.link-box a {
  display: block;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.link-box a:hover img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.index-box1 {
  position: relative;
}

.index-box-bg {
  width: 77.8125%;
  height: 80%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media print, screen and (min-width: 769px) {
  .index-box-bg.bg-min {
    height: 50%;
  }
}

.index-bg-right {
  right: 0;
}

.index-bg-left {
  left: 0;
}

.link-text {
  padding: 0 20px;
  width: 100%;
  text-align: center;
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: bold;
  color: #fff;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 1;
}

.link-box-bottom {
  margin-top: 170px;
}

@media print, screen and (min-width: 769px) {
  .link-box-middle {
    top: 130px;
  }

  .link-box-bottom_min {
    margin-top: 50px;
  }
}
.index-ac-box {
  margin-right: 2.0833333333%;
  width: 31.875%;
  overflow: hidden;
}
.index-ac-box:nth-child(3n) {
  margin-right: 0;
}
.index-ac-box .btn-default {
  width: 100%;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.index-ac-box img {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.index-ac-box a {
  padding-bottom: 44px;
  display: block;
  position: relative;
  z-index: 1;
}
.index-ac-box a:hover img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
.index-ac-box.link-box3, .index-ac-box.link-box4, .index-ac-box.link-box5 {
  margin-bottom: 20px;
}

.bg-index1 {
  margin-top: 60px;
  background: url(../img/index-bg1.jpg) no-repeat center bottom;
  background-size: cover;
}

.bg-index2 {
  margin-top: 60px;
  background: url(../img/index-bg2.png) no-repeat center bottom;
  background-size: cover;
}

.data-box a {
  display: -webkit-box;
  /*Android4.3*/
  /*Firefox21*/
  display: -ms-flexbox;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  display: flex;
  position: relative;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.data-box a:hover {
  opacity: 0.6;
}
.data-box a:after {
  content: '';
  width: 8px;
  height: 12px;
  background: url(../img/icon-arrow-right-grey.svg) no-repeat center;
  background-size: 100% 100%;
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.data-box a:hover img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.data-img {
  overflow: hidden;
  width: 34.0425531915%;
}
.data-img img {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.data-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px;
  padding-right: 32px;
  padding-bottom: 0;
  padding-top: 0;
  background: #fff;
  color: #2A3337;
  width: 65.9574468085%;
  line-height: 1.4;
  font-size: 14px;
  font-size: 1.4rem;
}
.data-info strong {
  font-size: 18px;
  font-size: 1.8rem;
  display: block;
  font-weight: bold;
}

.index-footer-nav {
  padding: 60px 0;
  background: url(../img/index-footer.png) no-repeat center bottom;
  background-size: 100% auto;
}
.index-footer-nav ul {
  display: -webkit-box;
  /*Android4.3*/
  /*Firefox21*/
  display: -ms-flexbox;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.index-footer-nav ul li {
  margin: 8px 0;
  margin-right: 2.0833333333%;
  width: 31.875%;
}
.index-footer-nav ul li:nth-child(3n) {
  margin-right: 0;
}
.index-footer-nav ul li a {
  padding: 30px;
  padding-right: 40px;
  height: 100%;
  line-height: 1.3;
  display: block;
  background: #00c42f;
  background: -webkit-gradient(linear, left top, right top, from(#00c42f), to(#92cc00));
  background: linear-gradient(to right, #00c42f 0%, #92cc00 100%);
  color: #fff;
  display: -webkit-box;
  /*Android4.3*/
  /*Firefox21*/
  display: -ms-flexbox;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  display: flex;
  /* 縦方向中央揃え（Safari用） */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* 縦方向中央揃え */
  position: relative;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.index-footer-nav ul li a:hover {
  opacity: 0.6;
}
.index-footer-nav ul li a:after {
  content: '';
  width: 8px;
  height: 12px;
  background: url(../img/icon-arrow-right-white.svg) no-repeat center;
  background-size: 100% 100%;
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.link-list li {
  width: 400px;
  max-width: 100%;
}
.link-list li a {
  padding: 16px 20px;
  height: 100%;
  display: block;
  display: -webkit-box;
  /*Android4.3*/
  /*Firefox21*/
  display: -ms-flexbox;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  display: flex;
  /* 縦方向中央揃え（Safari用） */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* 縦方向中央揃え */
  font-size: 20px;
  font-size: 2rem;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  text-align: left;
  line-height: 1.3;
}
.link-list li a:hover {
  opacity: 0.6;
}
.link-list li a img {
  margin-right: 10px;
  vertical-align: middle;
}
.link-list li + li {
  margin-left: 20px;
}

/* INDEX : NEWS RELEASE ============================================================ */
.newsrelease-top {
  margin-left: calc(50% - 50vw);
  padding: 80px calc((100% - 1020px) / 2) 45px 0;
  width: 100%;
}
.newsrelease-top .newsrelease-wrapper {
  background: #e3e8ed;
  position: relative;
}
.newsrelease-top .newsrelease-wrapper h2 {
  position: absolute;
  right: 20px;
  top: -10px;
  height: 18px;
  width: 201px;
}
.newsrelease-top .newsrelease-wrapper .newslist {
  margin: 0 0 0 auto;
  padding: 35px 20px 30px;
  width: 980px;
  max-width: 100%;
}
.newsrelease-top .newsrelease-wrapper .news-wrapper {
  display: -webkit-box;
  /*Android4.3*/
  /*Firefox21*/
  display: -ms-flexbox;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.newsrelease-top .newsrelease-wrapper .news-wrapper:nth-of-type(n+2) {
  margin-top: 10px;
}
.newsrelease-top .newsrelease-wrapper .news-wrapper .date {
  -ms-flex-preferred-size: 6em;
      flex-basis: 6em;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 5px;
}
.newsrelease-top .newsrelease-wrapper .news-wrapper .label {
  font-size: 12px;
  font-size: 1.2rem;
  background: #e9eef3;
  border: 1px solid #949494;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding: 2px 4px;
  text-align: center;
  width: 130px;
}
.newsrelease-top .newsrelease-wrapper .news-wrapper .title {
  line-height: 1.2;
  margin-left: 15px;
}
.newsrelease-top .newsrelease-wrapper .news-wrapper .title a {
  color: #000;
  text-decoration: underline;
}
.newsrelease-top .newsrelease-wrapper .news-wrapper .title a:hover {
  text-decoration: none;
}
.newsrelease-top .link-newsrelease {
  margin-top: 10px;
  text-align: right;
}
.newsrelease-top .link-newsrelease a {
  font-size: 15px;
  font-size: 1.5rem;
  color: #3e3a3a;
  text-decoration: underline;
}
.newsrelease-top .link-newsrelease a:hover {
  text-decoration: none;
}

/* ====================================================================================

    PAGE

==================================================================================== */
#page-wrapper {
  padding-bottom: 120px;
  position: relative;
}
#page-wrapper.bottom-space {
  padding-bottom: 300px;
}

.item-page-bottom1 {
  max-width: 960px;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

#page-header {
  margin-bottom: 40px;
  padding-bottom: 100px;
  padding-top: 140px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
#page-header h2 {
  font-size: 38px;
  font-size: 3.8rem;
  font-weight: bold;
}
#page-header p {
  text-align: center;
  font-size: 12px;
  font-size: 1.2rem;
  color: #2A3337;
}

.mv-box {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  -webkit-transition: all 1.5s ease;
  transition: all 1.5s ease;
}
.mv-box.mv-animation {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.mv-message {
  background: url(../img/mv-message.jpg) no-repeat center;
  background-size: cover;
}

.mv-index {
  background: url(../img/index-nav1.jpg) no-repeat center;
  background-size: cover;
}

.ttl1 {
  margin-bottom: 28px;
  padding-bottom: 15px;
  font-size: 26px;
  font-size: 2.6rem;
  letter-spacing: 4px;
  text-align: center;
  position: relative;
  line-height: 1.3;
}
.ttl1:after {
  content: '';
  width: 54px;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.ttl1.ttl_green:after {
  background: #00c42f;
  background: -webkit-gradient(linear, left top, right top, from(#00c42f), to(#92cc00));
  background: linear-gradient(to right, #00c42f 0%, #92cc00 100%);
}
.ttl1.ttl_blue:after {
  background: #5054aa;
  background: -webkit-gradient(linear, left top, right top, color-stop(1%, #5054aa), color-stop(98%, #58abff));
  background: linear-gradient(to right, #5054aa 1%, #58abff 98%);
}
.ttl1.ttl_darkblue:after {
  background: #528bda;
  background: -webkit-gradient(linear, left top, right top, from(#305993), to(#528bda));
  background: linear-gradient(to right, #305993 0%, #528bda 100%);
}
.ttl1.ttl_deepblue:after {
  background: #438fb5;
  background: -webkit-gradient(linear, left top, right top, from(#438fb5), to(#77bbea));
  background: linear-gradient(to right, #438fb5 0%, #77bbea 100%);
}
.ttl1.ttl_yellow:after {
  background: #e7c324;
  background: -webkit-gradient(linear, left top, right top, from(#e7c324), to(#f3e21d));
  background: linear-gradient(to right, #e7c324 0%, #f3e21d 100%);
}
.ttl1.ttl_vermilion:after {
  background: #ff835d;
  background: -webkit-gradient(linear, left top, right top, from(#de544b), to(#ff835d));
  background: linear-gradient(to right, #de544b 0%, #ff835d 100%);
}
.ttl1.ttl_ygreen:after {
  background: #718c0d;
  background: -webkit-gradient(linear, left top, right top, from(#718c0d), to(#96bc20));
  background: linear-gradient(to right, #718c0d 0%, #96bc20 100%);
}
.ttl1.ttl_moss:after {
  background: #718c0d;
  background: -webkit-gradient(linear, left top, right top, from(#648836), to(#96bc20));
  background: linear-gradient(to right, #648836 0%, #96bc20 100%);
}
.ttl1.ttl_purple:after {
  background: #b49bff;
  background: -webkit-gradient(linear, left top, right top, from(#7570a9), to(#b49bff));
  background: linear-gradient(to right, #7570a9 0%, #b49bff 100%);
}
.ttl1.ttl_risk1:after {
  background: #6bb2ea;
  background: -webkit-gradient(linear, left top, right top, from(#27465A), to(#6bb2ea));
  background: linear-gradient(to right, #27465A 0%, #6bb2ea 100%);
}
.ttl1.ttl_risk2:after {
  background: #b49bff;
  background: -webkit-gradient(linear, left top, right top, from(#592750), to(#b49bff));
  background: linear-gradient(to right, #592750 0%, #b49bff 100%);
}

.ttl2 {
  margin-bottom: 20px;
  padding-left: 15px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.3;
  position: relative;
  text-align: left;
  letter-spacing: 1px;
}
.ttl2:before {
  content: '';
  width: 3px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.ttl2.ttl_green:before {
  background: #92cc00;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(1%, #92cc00), to(#00c42f));
  background: linear-gradient(to bottom, #92cc00 1%, #00c42f 100%);
}
.ttl2.ttl_blue:before {
  background: #58abff;
  background: -webkit-gradient(linear, left top, left bottom, from(#58abff), to(#5054aa));
  background: linear-gradient(to bottom, #58abff 0%, #5054aa 100%);
}
.ttl2.ttl_darkblue:before {
  background: #305993;
  background: -webkit-gradient(linear, left top, left bottom, from(#528bda), to(#305993));
  background: linear-gradient(to bottom, #528bda 0%, #305993 100%);
}
.ttl2.ttl_deepblue:before {
  background: #438fb5;
  background: -webkit-gradient(linear, left top, left bottom, from(#77bbea), to(#438fb5));
  background: linear-gradient(to bottom, #77bbea 0%, #438fb5 100%);
}
.ttl2.ttl_yellow:before {
  background: #e7c324;
  background: -webkit-gradient(linear, left top, left bottom, from(#f3e21d), to(#e7c324));
  background: linear-gradient(to bottom, #f3e21d 0%, #e7c324 100%);
}
.ttl2.ttl_vermilion:before {
  background: #de544b;
  background: -webkit-gradient(linear, left top, left bottom, from(#ff835d), to(#de544b));
  background: linear-gradient(to bottom, #ff835d 0%, #de544b 100%);
}
.ttl2.ttl_ygreen:before {
  background: #96bc20;
  background: -webkit-gradient(linear, left top, left bottom, from(#96bc20), to(#718c0d));
  background: linear-gradient(to bottom, #96bc20 0%, #718c0d 100%);
}
.ttl2.ttl_moss:before {
  background: #648836;
  background: -webkit-gradient(linear, left top, left bottom, from(#96bc20), to(#648836));
  background: linear-gradient(to bottom, #96bc20 0%, #648836 100%);
}
.ttl2.ttl_purple:before {
  background: #7570a9;
  background: -webkit-gradient(linear, left top, left bottom, from(#b49bff), to(#7570a9));
  background: linear-gradient(to bottom, #b49bff 0%, #7570a9 100%);
}
.ttl2.ttl_risk1:before {
  background: #27465A;
  background: -webkit-gradient(linear, left top, left bottom, from(#6bb2ea), to(#27465A));
  background: linear-gradient(to bottom, #6bb2ea 0%, #27465A 100%);
}
.ttl2.ttl_risk2:before {
  background: #592750;
  background: -webkit-gradient(linear, left top, left bottom, from(#b49bff), to(#592750));
  background: linear-gradient(to bottom, #b49bff 0%, #592750 100%);
}

.ttl3 {
  display: inline-block;
  font-size: 1.5rem;
  color: #FFF;
  border-radius: 4px;
  padding: 4px 24px;
  margin-bottom: 20px;
}
.ttl3.ttl_green {
  background: #9abb42;
}
.ttl3.ttl_lightgreen {
  background: #00c42f;
}
.ttl3.ttl_darkgreen {
  background: #668144;
}
.ttl3.ttl_moss {
  background: #648836;
}
.ttl3.ttl_purple {
  background: #7570a9;
}
.ttl3.ttl_darkblue {
  background: #305993;
}
.ttl3.ttl_yellow {
  background: #e7c324;
}

.ttl4 {
  font-size: 17px;
  font-size: 1.7rem;
  font-weight: bold;
  margin-bottom: 20px;
}
.ttl4.ttl_orange {
  color: #e1834a;
}
.ttl4.ttl_risk1 {
  color: #27465A;
}
.ttl4.ttl_risk2 {
  color: #592750;
}
.ttl4.ttl_green {
  color: #19722f;
}
.text-box p + p {
  margin-top: 20px;
}
.text-box table tr td {
  line-height: 1.5;
}
.text-box table tr td:first-child {
  width: 35.4%;
}
.text-box.border_btm {
  border-bottom: 4px solid #000;
  padding-bottom: 40px;
  margin-bottom: 50px;
}
.text-box.border_btm p {
  line-height: 2.2;
}

.text-caution {
  margin-top: 20px;
  padding-top: 10px;
  border-top: 1px solid #C4C4C4;
}
.text-caution p {
  font-size: 12px;
  font-size: 1.2rem;
  color: #2A3337;
}
.text-caution p + p {
  margin-top: 10px;
}
.text-caution ul {
  font-size: 12px;
  font-size: 1.2rem;
  color: #2A3337;
}

.txt_green {
  color: #00C42F;
}

.txt_blue {
  color: #5054AA;
}

.txt_dark {
  color: #2A3337;
}

.txt_orange {
  color: #ea8b00;
}

#page-nav ul {
  display: -webkit-box;
  /*Android4.3*/
  /*Firefox21*/
  display: -ms-flexbox;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
}
#page-nav ul li {
  margin-right: 1.5625%;
  width: 32.2916666667%;
}
#page-nav ul li:nth-child(3n) {
  margin-right: 0;
}
#page-nav ul li a {
  padding: 30px 20px;
  display: block;
  font-size: 14px;
  font-size: 1.4rem;
  color: #666;
  display: -webkit-box;
  /*Android4.3*/
  /*Firefox21*/
  display: -ms-flexbox;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  display: flex;
  /* 縦方向中央揃え（Safari用） */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* 縦方向中央揃え */
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  -ms-flex-box: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  line-height: 1.3;
  text-align: center;
  background: #E3E8ED;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  height: 100%;
}
#page-nav ul li a:after {
  content: '';
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 0;
  background: transparent;
  z-index: 1;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
#page-nav ul li a.thisPage:after {
  z-index: 0;
}
#page-nav ul li a.nav_blue:hover {
  background: #58abff;
  background: -webkit-gradient(linear, left top, left bottom, from(#58abff), to(#5054aa));
  background: linear-gradient(to bottom, #58abff 0%, #5054aa 100%);
  color: #fff;
}
#page-nav ul li a.nav_blue:hover:after {
  background: #5054AA;
}
#page-nav ul li a.nav_blue.thisPage {
  background: #58abff;
  background: -webkit-gradient(linear, left top, left bottom, from(#58abff), to(#5054aa));
  background: linear-gradient(to bottom, #58abff 0%, #5054aa 100%);
  color: #fff;
}
#page-nav ul li a.nav_blue.thisPage:after {
  background: #5054AA;
}
#page-nav ul li a.nav_darkblue:hover {
  background: #305993;
  background: -webkit-gradient(linear, left top, left bottom, from(#528bda), to(#305993));
  background: linear-gradient(to bottom, #528bda 0%, #305993 100%);
  color: #fff;
}
#page-nav ul li a.nav_darkblue:hover:after {
  background: #305993;
}
#page-nav ul li a.nav_darkblue.thisPage {
  background: #305993;
  background: -webkit-gradient(linear, left top, left bottom, from(#528bda), to(#305993));
  background: linear-gradient(to bottom, #528bda 0%, #305993 100%);
  color: #fff;
}
#page-nav ul li a.nav_darkblue.thisPage:after {
  background: #305993;
}
#page-nav ul li a.nav_deepblue:hover {
  background: #438fb5;
  background: -webkit-gradient(linear, left top, left bottom, from(#77bbea), to(#438fb5));
  background: linear-gradient(to bottom, #77bbea 0%, #438fb5 100%);
  color: #fff;
}
#page-nav ul li a.nav_deepblue:hover:after {
  background: #438fb5;
}
#page-nav ul li a.nav_deepblue.thisPage {
  background: #438fb5;
  background: -webkit-gradient(linear, left top, left bottom, from(#77bbea), to(#438fb5));
  background: linear-gradient(to bottom, #77bbea 0%, #438fb5 100%);
  color: #fff;
}
#page-nav ul li a.nav_deepblue.thisPage:after {
  background: #438fb5;
}
#page-nav ul li a.nav_yellow:hover {
  background: #e7c324;
  background: -webkit-gradient(linear, left top, left bottom, from(#f3e21d), to(#e7c324));
  background: linear-gradient(to bottom, #f3e21d 0%, #e7c324 100%);
  color: #fff;
}
#page-nav ul li a.nav_yellow:hover:after {
  background: #e7c324;
}
#page-nav ul li a.nav_yellow.thisPage {
  background: #e7c324;
  background: -webkit-gradient(linear, left top, left bottom, from(#f3e21d), to(#e7c324));
  background: linear-gradient(to bottom, #f3e21d 0%, #e7c324 100%);
  color: #fff;
}
#page-nav ul li a.nav_yellow.thisPage:after {
  background: #e7c324;
}
#page-nav ul li a.nav_vermilion:hover {
  background: #de544b;
  background: -webkit-gradient(linear, left top, left bottom, from(#ff835d), to(#de544b));
  background: linear-gradient(to bottom, #ff835d 0%, #de544b 100%);
  color: #fff;
}
#page-nav ul li a.nav_vermilion:hover:after {
  background: #de544b;
}
#page-nav ul li a.nav_vermilion.thisPage {
  background: #de544b;
  background: -webkit-gradient(linear, left top, left bottom, from(#ff835d), to(#de544b));
  background: linear-gradient(to bottom, #ff835d 0%, #de544b 100%);
  color: #fff;
}
#page-nav ul li a.nav_vermilion.thisPage:after {
  background: #de544b;
}
#page-nav ul li a.nav_ygreen:hover {
  background: #96bc20;
  background: -webkit-gradient(linear, left top, left bottom, from(#96bc20), to(#718c0d));
  background: linear-gradient(to bottom, #96bc20 0%, #718c0d 100%);
  color: #fff;
}
#page-nav ul li a.nav_ygreen:hover:after {
  background: #718c0d;
}
#page-nav ul li a.nav_ygreen.thisPage {
  background: #96bc20;
  background: -webkit-gradient(linear, left top, left bottom, from(#96bc20), to(#718c0d));
  background: linear-gradient(to bottom, #96bc20 0%, #718c0d 100%);
  color: #fff;
}
#page-nav ul li a.nav_ygreen.thisPage:after {
  background: #718c0d;
}
#page-nav ul li a.nav_green:hover {
  background: #92cc00;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(1%, #92cc00), to(#00c42f));
  background: linear-gradient(to bottom, #92cc00 1%, #00c42f 100%);
  color: #fff;
}
#page-nav ul li a.nav_green:hover:after {
  background: #00C42F;
}
#page-nav ul li a.nav_green.thisPage {
  background: #92cc00;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(1%, #92cc00), to(#00c42f));
  background: linear-gradient(to bottom, #92cc00 1%, #00c42f 100%);
  color: #fff;
}
#page-nav ul li a.nav_green.thisPage:after {
  background: #00C42F;
}
#page-nav ul li a.nav_moss:hover {
  background: #648836;
  background: -webkit-gradient(linear, left top, left bottom, from(#96bc20), to(#648836));
  background: linear-gradient(to bottom, #96bc20 0%, #648836 100%);
  color: #fff;
}
#page-nav ul li a.nav_moss:hover:after {
  background: #648836;
}
#page-nav ul li a.nav_moss.thisPage {
  background: #648836;
  background: -webkit-gradient(linear, left top, left bottom, from(#96bc20), to(#648836));
  background: linear-gradient(to bottom, #96bc20 0%, #648836 100%);
  color: #fff;
}
#page-nav ul li a.nav_moss.thisPage:after {
  background: #648836;
}
#page-nav ul li a.nav_purple:hover {
  background: #7570a9;
  background: -webkit-gradient(linear, left top, left bottom, from(#b49bff), to(#7570a9));
  background: linear-gradient(to bottom, #b49bff 0%, #7570a9 100%);
  color: #fff;
}
#page-nav ul li a.nav_purple:hover:after {
  background: #7570a9;
}
#page-nav ul li a.nav_purple.thisPage {
  background: #7570a9;
  background: -webkit-gradient(linear, left top, left bottom, from(#b49bff), to(#7570a9));
  background: linear-gradient(to bottom, #b49bff 0%, #7570a9 100%);
  color: #fff;
}
#page-nav ul li a.nav_purple.thisPage:after {
  background: #7570a9;
}
#page-nav ul li a.hover_nav_item:after {
  z-index: 1;
}
#page-nav.nav_col_2 ul li {
  margin-right: 2.0833333333%;
  width: 48.9583333333%;
}
#page-nav.nav_col_2 ul li:nth-child(2n) {
  margin-right: 0;
}
#page-nav.nav_row_2 ul.page-nav-lower {
  margin-top: 10px;
}
#page-nav.nav_row_2 ul.page-nav-lower li {
  min-height: 82px;
}

.page-nav2 {
  display: -webkit-box;
  /*Android4.3*/
  /*Firefox21*/
  display: -ms-flexbox;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.page-nav2 li {
  margin-right: 2.0833333333%;
  margin-bottom: 15px;
  width: 48.9583333333%;
}
.page-nav2 li:nth-child(2n) {
  margin-right: 0;
}
.page-nav2 li a {
  padding: 20px;
  padding-right: 35px;
  display: block;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.3;
  color: #2A3337;
  height: 100%;
  text-align: center;
  position: relative;
  display: -webkit-box;
  /*Android4.3*/
  /*Firefox21*/
  display: -ms-flexbox;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  display: flex;
  /* 縦方向中央揃え（Safari用） */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* 縦方向中央揃え */
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  -ms-flex-box: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
}
.page-nav2 li a:after {
  content: '';
  width: 12px;
  height: 8px;
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.page-nav2 li a:hover:after {
  top: 60%;
}
.page-nav2.nav2_risk li a:after {
  background: url(../img/icon-arrow-bottom-blue.svg) no-repeat center;
  background-size: 100% 100%;
}
.page-nav2.nav2_risk li:first-of-type a {
  border: 1px solid #27465A;
}
.page-nav2.nav2_risk li:nth-of-type(2) a {
  border: 1px solid #592750;
}

.img-content {
  margin: 36px 0;
}

.img-content.sidemargin {
  margin: 0 40px;
}

.content_center {
  text-align: center;
}
.content_center p {
  text-align: center;
}

.min {
  font-family: Ryumin Medium KL, "リュウミン M-KL", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

.txt_12 {
  font-size: 12px;
  font-size: 1.2rem;
}

.txt_18 {
  font-size: 18px;
  font-size: 1.8rem;
}

.txt_22 {
  font-size: 22px;
  font-size: 2.2rem;
}

.box1 {
  padding: 30px;
}

.box2 {
  padding: 20px;
}

.bg-grey {
  background: #E3E8ED;
}

.bg-orange {
  background: rgba(242, 150, 0, 0.15);
}

.bg-green {
  background: #EAF7E3;
}

.bg-white {
  background: #fff;
}

.list-type1 {
  padding-left: 20px;
  list-style: decimal;
}
.list-type1 li {
  margin: 20px 0;
  line-height: 1.5;
}

.list-square {
  padding-left: 20px;
  list-style: none;
}
.list-square li {
  position: relative;
  margin-bottom: .2em;
}
.list-square li:before {
  content: "";
  position: absolute;
  top: .0625em;
  left: -20px;
  width: .75em;
  height: .75em;
}
.list-square.list_orange li:before {
  background: #f1af55;
}

.small-box {
  margin: 30px auto;
  width: 730px;
  max-width: 100%;
}

.small-long {
  width: 67.8082191781%;
}

.small-short {
  width: 28.7671232877%;
}

.f26 {
  font-size: 26px;
  font-size: 2.6rem;
}

.small-box-bg {
  padding: 20px;
  background: #eee;
}
.small-box-bg .small-short {
  text-align: center;
}

.box30 {
  width: 23%;
}

.box40 {
  width: 33%;
}

.box44 {
  width: 44%;
}

.box60 {
  width: 63%;
}

.box70 {
  width: 73%;
}

.ttlsmall {
  font-size: 14px;
  font-size: 1.4rem;
}

.color-list li {
  line-height: 1.5;
  margin-left: 1.8em;
  text-indent: -1.8em;
  margin-bottom: 14px;
}
.color-list li .list_orange {
  background: #ea8b00;
  color: #FFF;
  font-weight: bold;
  padding: 2px 6px;
  margin-right: 6px;
  border-radius: 4px;
}
.color-list li .list_black {
  background: #3e3a3a;
  color: #FFF;
  font-weight: bold;
  padding: 2px 6px;
  margin-right: 6px;
  border-radius: 4px;
}

strong {
  font-weight: bold;
}

/* ====================================================================================

    topmessage:トップコミットメント

==================================================================================== */
.message-owner {
  background: url("../img/2020/message_bg.png") no-repeat center;
  background-size: cover;
  padding: 20px 20px;
  position: relative;
  height: 430px;
}

.message-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-flow: column;
  -webkit-box-align: flex-end;
      -ms-flex-align: flex-end;
          align-items: flex-end;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 95%;
}
.message-box p {
  width: 57%;
}
.message-box dl {
  margin-left: auto;
  padding-right: 40px;
  padding-top: 100px;
}
.message-box dl dt {
  margin-bottom: 8px;
  font-size: 12px;
  font-size: 1.2rem;
}

.message-goal-box {
  padding: 15px 20px 24px;
  background: #E9F3D2;
  border-radius: 10px;
}
.message-goal-box dl {
  width: 27.0833333333%;
}
.message-goal-box dl dt {
  margin-bottom: 5px;
  text-align: center;
}
.message-goal-box dl dd {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.4;
  color: #00948B;
  font-weight: bold;
  text-align: center;
}

/*国際的なイニシアティブへの参画*/
.message-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.message-logo * {
  margin: 0 15px;
}
.message-logo .img-logo_sbt,
.message-logo .img-logo_re100 {
  width: calc(308px / 2);
}
.message-logo .img-logo_ep100 {
  margin-left: 8px;
  width: calc(320px / 2);
}

/*「暮らし」と「人」を通じた取り組みを進める*/
.img-logo_tcfd {
  width: calc(466px / 2);
}

/* ====================================================================================

    環境中長期目標

==================================================================================== */
.table1500 img {
  width: 1500px;
}

.aboutSDGs .aboutSDGs-title {
  background: #f3f2f2;
  border-top: 1px solid #2A3337;
  padding: 25px 15px;
}
.aboutSDGs .aboutSDGs-title dt {
  font-size: 19px;
  font-size: 1.9rem;
  font-weight: bold;
  margin-bottom: 15px;
}
.aboutSDGs .aboutSDGs-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px 15px;
}
.aboutSDGs .aboutSDGs-detail div {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 10px;
  width: calc(100% / 3);
}
.aboutSDGs .aboutSDGs-detail div dt {
  margin-right: 10px;
  width: 33%;
}
.aboutSDGs .aboutSDGs-detail div dt img {
  height: 102px;
  width: 102px;
}
.aboutSDGs .aboutSDGs-detail div dd {
  font-size: 13px;
  font-size: 1.3rem;
}
.aboutSDGs .aboutSDGs-detail div dd ul.upper-list > li {
  line-height: 1.2;
  margin-bottom: 6px;
  padding-left: .7em;
  position: relative;
}
.aboutSDGs .aboutSDGs-detail div dd ul.upper-list > li:last-of-type {
  margin-bottom: 0;
}
.aboutSDGs .aboutSDGs-detail div dd ul.upper-list > li::before {
  background: #2A3337;
  border-radius: 50%;
  content: "";
  position: absolute;
  left: 0;
  top: .4em;
  height: 5px;
  width: 5px;
}
.aboutSDGs .aboutSDGs-detail div dd ul.upper-list > li.marker-none {
  font-size: 12px;
  font-size: 1.2rem;
  margin-left: -.6em;
  padding-left: 0;
}
.aboutSDGs .aboutSDGs-detail div dd ul.upper-list > li.marker-none::before {
  content: none;
}
.aboutSDGs .aboutSDGs-detail div dd ul.upper-list > li.marker-none .inner-list {
  padding-left: .2em;
}
.aboutSDGs .aboutSDGs-detail div dd ul.upper-list > li.marker-none .inner-list li {
  margin-top: 3px;
  padding-left: 1em;
  position: relative;
}
.aboutSDGs .aboutSDGs-detail div dd ul.upper-list > li.marker-none .inner-list li::before {
  content: "・";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}
.aboutSDGs .aboutSDGs-detail div.sdgs7 dd ul.upper-list > li::before {
  background-color: #fabd00;
}
.aboutSDGs .aboutSDGs-detail div.sdgs11 dd ul.upper-list > li::before {
  background-color: #f5a200;
}
.aboutSDGs .aboutSDGs-detail div.sdgs12 dd ul.upper-list > li::before {
  background-color: #d39200;
}
.aboutSDGs .aboutSDGs-detail div.sdgs13 dd ul.upper-list > li::before {
  background-color: #427935;
}
.aboutSDGs .aboutSDGs-detail div.sdgs14 dd ul.upper-list > li::before {
  background-color: #0075ba;
}
.aboutSDGs .aboutSDGs-detail div.sdgs15 dd ul.upper-list > li::before {
  background-color: #28a838;
}
.aboutSDGs .aboutSDGs-detail + div {
  border-bottom: 1px solid #2A3337;
  padding: 0 15px 25px;
}

/* ====================================================================================

    環境に配慮した取り組み

==================================================================================== */
.action-img2 {
  width: 64.5833333333%;
}

.action-img3 {
  width: 31.25%;
}

.cool-choice-left {
  width: 17.1875%;
}

.cool-choice-right {
  width: 80.7291666667%;
}

/* ====================================================================================

    環境報告書

==================================================================================== */
.pdf-image {
  -webkit-box-shadow: 1px 1px 14px #bdbdbd;
          box-shadow: 1px 1px 14px #bdbdbd;
}
@media print, screen and (min-width: 769px) {
  .pdf-image {
    max-width: 450px;
  }
}

.report-list li {
  margin: 30px 0;
  text-align: center;
}
.report-list li a {
  color: #00C42F;
  text-decoration: underline;
  line-height: 1.3;
}
.report-list li a img {
  margin-right: 5px;
}
.report-list li a:hover {
  text-decoration: none;
}
.report-list.report-list-left li {
  text-align: left;
}

/* ====================================================================================

    specialfeature:特集

==================================================================================== */
.initiative-ico {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 19px;
}
.initiative-ico li {
  border: 1px solid #999;
  font-weight: bold;
  padding: 2px 5px 0;
}
.initiative-ico li:not(:last-of-type) {
  margin-right: 8px;
}
.initiative-ico li a {
  color: #009de9;
  display: block;
}

.special_figure_flex {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-left: 25px;
  width: 18.75%;
}
.special_figure_img {margin: 15px auto;text-align: center;}
.special_figure_flex > figure:not(:last-of-type) {
  margin-bottom: 30px;
}
.special_figure_flex.special01_figure01 figure:first-of-type {
  text-align: center;
}
.special_figure_flex.special01_figure01 figure:first-of-type img {
  width: 85.5555555556%;
}
.special_figure_flex.special01_figure02 {
  width: 33.6458333333%;
}
.special_figure_flex.special01_figure02 figure {
  text-align: center;
}
.special_figure_flex.special01_figure02 figure:first-of-type img {
  width: 47.6780185759%;
}
.special_figure_flex.special01_figure03 figure:first-of-type {
  text-align: center;
}
.special_figure_flex.special01_figure03 figure:first-of-type img {
  width: 88.8888888889%;
}
.special_figure_flex.special01_figure04 {
  width: 24.2708333333%;
}
.special_figure_flex.special01_figure04 figure {
  text-align: center;
}
.special_figure_flex.special01_figure05 {
  width: 19.7916666667%;
}
.special_figure_flex.special01_figure05 figure {
  text-align: center;
}
.special_figure_flex.special02_figure01 {
  width: 22.9166666667%;
}
.special_figure_flex.special02_figure01 figure {
  text-align: center;
}

.special03_figure01 img {
  max-width: 250px;
}
_:-ms-fullscreen, :root .special03_figure01 img {
  height: 100px;
  width: 250px;
}

.special03_figure02 img {
  width: 100%;
  max-width: 360px;
}

.special04_figure02 img {
  width: 100%;
  max-width: 500px;
}

.special04_figure03 img {
  width: 100%;
  max-width: 200px;
}

.special05_figure04 img {
  width: 100%;
  max-width: 380px;
}

/* ====================================================================================

重要課題とビジョン

==================================================================================== */
.text-box .vision-ol {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  margin: 20px 0;
}

.vision-vision p:first-of-type {
  font-size: 17px;
  font-size: 1.7rem;
  font-weight: bold;
}
.vision-vision p:nth-of-type(2) strong {
  font-size: 22px;
  font-size: 2.2rem;
}

.vision-strategy dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.vision-strategy dl div {
  padding: 18px 13px;
  width: calc(95% / 6);
}
@media screen and (max-width: 768px) {
  .vision-strategy dl div {
    padding: 14px 13px;
    width: calc(95% / 3);
  }
  .vision-strategy dl div:nth-of-type(-n+3) {
    margin-bottom: 12px;
  }
}
.vision-strategy dl div.strategy_box-yellow {
  background: #e7c324;
}
.vision-strategy dl div.strategy_box-vermilion {
  background: #de544b;
}
.vision-strategy dl div.strategy_box-purple {
  background: #7570a9;
}
.vision-strategy dl div.strategy_box-deepblue {
  background: #438fb5;
}
.vision-strategy dl div.strategy_box-moss {
  background: #648836;
}
.vision-strategy dl div.strategy_box-darkblue {
  background: #305993;
}
.vision-strategy dl div dt {
  background: rgba(255, 255, 255, 0.5);
  border-radius: 3px;
  font-weight: bold;
  padding: 4px 1px 3px;
  text-align: center;
}
.vision-strategy dl div dd {
  color: #fff;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.5;
  margin-top: 10px;
  text-align: justify;
}

.vision-policy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.vision-policy div {
  border-top-style: solid;
  border-width: 5px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-line-pack: justify;
      align-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-top: 8px;
  width: calc(95% / 6);
}
@media screen and (max-width: 768px) {
  .vision-policy div {
    width: calc(95% / 3);
  }
  .vision-policy div:nth-of-type(-n+3) {
    margin-bottom: 15px;
  }
}
.vision-policy div.policy_box-yellow {
  border-color: #e7c324;
}
.vision-policy div.policy_box-vermilion {
  border-color: #de544b;
}
.vision-policy div.policy_box-purple {
  border-color: #7570a9;
}
.vision-policy div.policy_box-deepblue {
  border-color: #438fb5;
}
.vision-policy div.policy_box-moss {
  border-color: #648836;
}
.vision-policy div.policy_box-darkblue {
  border-color: #305993;
}
.vision-policy div li {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.4;
  padding: 0 3px 5px;
  text-align: justify;
}
.vision-policy div li:nth-of-type(n+2) {
  border-top: 1px dotted #2A3337;
  padding-top: 5px;
}
.vision-policy div li:last-of-type {
  margin-bottom: 13px;
}
@media screen and (max-width: 768px) {
  .vision-policy div li:last-of-type {
    margin-bottom: 8px;
  }
}
.vision-policy div a {
  font-size: 13px;
  font-size: 1.3rem;
}
@media screen and (max-width: 768px) {
  .vision-policy div a {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

.ttl_objective {
  color: #0087AD;
}

/* ====================================================================================

気候変動に関するリスクと機会

==================================================================================== */
.risk-detail dd {
  line-height: 1.6;
}
.risk-detail dd.response {
  border-style: solid;
  border-width: 1px;
  margin: 13px 0 45px;
  padding: 10px 10px 10px 78px;
  position: relative;
}
.risk-detail dd.response em {
  border-radius: 3px;
  color: #fff;
  display: inline-block;
  line-height: 1;
  padding: 3px 10px;
  position: absolute;
  left: 13px;
  top: 10px;
}
.risk-detail dd.response p {
  line-height: 1.3;
}
/*20230630del 一時的に非表示*/
#ac1 .risk-detail dd.response {
  border-color: #27465A;visibility: hidden;
}
#ac1 .risk-detail dd.response em {
  background: #27465A;
}
/*20230630del 一時的に非表示*/
#ac2 .risk-detail dd.response {
  border-color: #592750;visibility: hidden;
}
#ac2 .risk-detail dd.response em {
  background: #592750;
}

/*20230630ADD*/
#ac3 .risk-detail dd.response {
  border-color: #19722f;visibility: hidden;
}
#ac3 .risk-detail dd.response em {
  background: #19722f;
}


.risk-caution ul:not(:last-of-type) {
  margin-bottom: 20px;
}

/* ====================================================================================

    management:環境配慮型経営

==================================================================================== */
table.thinking-m-procurement {
  border-collapse: collapse;
  text-align: left;
}
table.thinking-m-procurement th,
table.thinking-m-procurement td {
  border: 1px solid #e1834a;
  padding: 20px;
}
table.thinking-m-procurement th {
  background: #e1834a;
  color: #fff;
  vertical-align: top;
  width: 25.5208333333%;
}
table.thinking-m-procurement th h4 {
  border-bottom: 1px solid #fff;
  font-size: 20px;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 15px;
  padding-bottom: 5px;
  text-align: center;
}
table.thinking-m-procurement th p.pc {
  font-size: 15px;
  font-size: 1.5rem;
}

.supplychain-ol li {
  line-height: 1.3;
  padding-left: 1.25em;
  position: relative;
}
.supplychain-ol li:not(:last-of-type) {
  margin-bottom: 15px;
}
.supplychain-ol li span {
  position: absolute;
  left: 0;
  top: 0;
}
.supplychain-ol li span.num_orange {
  color: #e1834a;
}

/* ====================================================================================

    balance:マテリアルバランス

==================================================================================== */
table.balance_tbl {
  border-bottom: 1px solid #305993;
}
table.balance_tbl th,
table.balance_tbl td {
  border-top: 1px solid #305993;
  padding: 10px 0;
}
table.balance_tbl th {
  width: 310px;
}
@media screen and (max-width: 768px) {
  table.balance_tbl th {
    width: 125px;
  }
}
table.balance_tbl th span {
  display: inline-block;
  padding-left: 1.25em;
  position: relative;
}
table.balance_tbl th span::before {
  display: inline-block;
  content: "■";
  color: #305993;
  position: absolute;
  left: 0;
  top: 0;
}
table.balance_tbl td {
  padding-left: 25px;
}
@media screen and (max-width: 768px) {
  table.balance_tbl td {
    padding-left: 15px;
  }
}

/* ====================================================================================

    主要データ集

==================================================================================== */
.keydata-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.keydata-flex .flex-box {
  width: 44%;
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .keydata-flex .flex-box {
    margin-bottom: 0;
  }
  .keydata-flex .flex-box:first-of-type {
    margin-top: 0;
  }
}
.keydata-flex .flex-box.width_full {
  width: 100%;
}

/* ====================================================================================

    ニュースリリース

==================================================================================== */
.news-content {
  display: -webkit-box;
  /*Android4.3*/
  /*Firefox21*/
  display: -ms-flexbox;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.news-content .select-year {
  -ms-flex-preferred-size: 135px;
      flex-basis: 135px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 6%;
}
.news-content .select-year li {
  font-size: 15px;
  font-size: 1.5rem;
  background: #e3e8ed;
}
.news-content .select-year li:nth-of-type(n+2) {
  border-top: 1px dotted #808080;
}
.news-content .select-year li:hover {
  opacity: 0.8;
}
.news-content .select-year li a {
  color: #000;
  display: block;
  padding: 12px 20px;
  width: 135px;
}
.news-content .select-year li a::before {
  background: url(../img/icon-arrow-nav-black.svg) no-repeat center center;
  background-size: contain;
  content: "";
  display: inline-block;
  margin-right: 5px;
  position: relative;
  top: -2px;
  vertical-align: middle;
  height: 10px;
  width: 5px;
}
.news-content .newsrelist-wrap {
  width: 100%;
}
.news-content .newsrelist-wrap .newslist {
  width: 100%;
}
.news-content .newsrelist-wrap .news-wrapper {
  border-bottom: 1px solid #e3e8ed;
  padding: 32px 20px 34px;
}
.news-content .newsrelist-wrap .news-wrapper .date {
  display: inline-block;
  vertical-align: middle;
  width: 6em;
}
.news-content .newsrelist-wrap .news-wrapper .label {
  font-size: 12px;
  font-size: 1.2rem;
  background: #e9eef3;
  border: 1px solid #949494;
  display: inline-block;
  padding: 2px 4px;
  text-align: center;
  vertical-align: middle;
  margin-left: 5px;
  width: 130px;
}
.news-content .newsrelist-wrap .news-wrapper .title {
  line-height: 1.4;
  margin-top: 11px;
}
.news-content .newsrelist-wrap .news-wrapper .title a {
  color: #000;
  text-decoration: underline;
}
.news-content .newsrelist-wrap .news-wrapper .title a:hover {
  text-decoration: none;
}
.news-content .news-article {
  width: 100%;
}
.news-content .news-article .news-article-header {
  display: -webkit-box;
  /*Android4.3*/
  /*Firefox21*/
  display: -ms-flexbox;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  /*Android4.3*/
  /*Firefox21*/
  -ms-flex-pack: justify;
  /*IE10*/
  /*PC-Safari,iOS8.4*/
  justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.news-content .news-article .news-article-header h3.title {
  font-size: 17px;
  font-size: 1.7rem;
  background: #f0f0f0;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-weight: bold;
  margin-bottom: 10px;
  padding: 17px 15px 13px;
  position: relative;
}
.news-content .news-article .news-article-header h3.title::before {
  background: #00c42f;
  background: -webkit-gradient(linear, left top, right top, from(#00c42f), to(#92cc00));
  background: linear-gradient(to right, #00c42f 0%, #92cc00 100%);
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 3px;
  width: 100%;
}
.news-content .news-article .news-article-header h3.title .lead {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1.4;
  margin-top: 5px;
}
.news-content .news-article .news-article-header .label {
  font-size: 13px;
  font-size: 1.3rem;
  background: #e9eef3;
  border: 1px solid #949494;
  display: inline-block;
  padding: 2px 4px;
  text-align: center;
}
.news-content .news-article .news-article-header .date {
  font-size: 15px;
  font-size: 1.5rem;
}
.news-content .news-article .news-main {
  margin-top: 60px;
}
.news-content .news-article .news-main * {
  margin-bottom: 30px;
}
.news-content .news-article .news-main *:last-child {
  margin-bottom: 0;
}
.news-content .news-article .news-main .note .kome-number {
  padding-left: 3.15em;
  position: relative;
}
.news-content .news-article .news-main .note .kome-number span {
  position: absolute;
  left: 0;
  top: 0;
}
.news-content .news-article .news-main .images.center {
  text-align: center;
}
.news-content .news-article .news-main .images.left {
  text-align: left;
}
.news-content .news-article .news-main .images.right {
  text-align: right;
}
.news-content .news-article .news-main .images img {
  margin: 0 10px;
}
.news-content .news-article .news-main .inner-heading {
  font-weight: bold;
  margin-bottom: 15px;
}
.news-content .news-article .news-main .inner-heading.type-square {
  padding-left: 1.25em;
  position: relative;
}
.news-content .news-article .news-main .inner-heading.type-square::before {
  content: "■";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
}
.news-content .news-article .news-main .inner-heading.type-circle {
  padding-left: 1.25em;
  position: relative;
}
.news-content .news-article .news-main .inner-heading.type-circle::before {
  content: "●";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
}
.news-content .news-article .news-main .ttl-md {
  font-size: 17px;
  font-size: 1.7rem;
}
.news-content .news-article .news-main .list-table th,
.news-content .news-article .news-main .list-table td {
  border: none;
  vertical-align: top;
  padding: 5px;
}
.news-content .news-article .news-main .list-table th.nowrap,
.news-content .news-article .news-main .list-table td.nowrap {
  white-space: nowrap;
}
.news-content .news-article .back-newslist {
  text-align: right;
}
.news-content .news-article .back-newslist:first-of-type {
  margin-bottom: 15px;
}
.news-content .news-article .back-newslist:last-of-type {
  margin-top: 50px;
}
.news-content .news-article .back-newslist a {
  font-size: 14px;
  font-size: 1.4rem;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  background: #e9eef3;
  border: 1px solid #d4d7db;
  border-radius: 3px;
  color: #7f7f7f;
  padding: 5px 10px;
}
.news-content .news-article .back-newslist a:hover {
  opacity: 0.8;
}

/* ====================================================================================

    1200px 以下

==================================================================================== */
@media only screen and (max-width: 1200px) {
  .scroll-nav ul li a {
    font-size: 10px;
    font-size: 1rem;
  }

  .corporate-link a {
    width: 220px;
    font-size: 12px;
    font-size: 1.2rem;
  }
}
/* ====================================================================================

    1000px 以下

==================================================================================== */
@media only screen and (max-width: 1000px) {
  html {
    font-size: 1vw;
  }

  #common-header {
    padding-left: 20px;
  }

  .corporate-link a {
    widows: 200px;
  }

  .scroll-nav ul li {
    margin: 0 3px;
  }

  .w900None {
    display: none;
  }

  .balance-z2 {
    margin-right: 0;
    max-width: 100%;
  }

  .message-box {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-end;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .message-box dl {
    margin-left: 0;
    margin-top: 39px;
    padding-right: 0;
    padding-top: 50px;
  }

  /*環境報告書*/
  .pdf-image {
    max-width: 100%;
  }
}
/* ====================================================================================

    p x 以 下

==================================================================================== */
@media only screen and (max-width: 768px) {
  .sp {
    display: block;
  }

  .pc {
    display: none !important;
  }

  #sp-nav-torigger {
    display: block;
  }

  .header-corprate {
    display: none;
  }

  #common-header {
    border-bottom: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  #common-nav {
    display: none;
    background: #CF092F;
    overflow-y: scroll;
    position: fixed;
    top: 59px;
    left: 0;
    width: 100%;
    z-index: 100;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  #common-nav .inner.top-nav {
    display: none;
  }
  #common-nav .inner.bottom-nav {
    background: transparent;
  }
  #common-nav ul {
    padding: 10px 0;
    display: block;
  }
  #common-nav ul li {
    border-bottom: 1px solid #fff;
  }
  #common-nav ul li a {
    padding: 20px 0;
    display: block;
    font-size: 20px;
    font-size: 2rem;
    font-weight: normal;
    color: #fff;
    position: relative;
  }
  #common-nav ul li a:after {
    content: '';
    width: 10px;
    height: 15px;
    background: url(../img/icon-arrow-right-white.svg) no-repeat center;
    background-size: 100% 100%;
    position: absolute;
    top: 50%;
    bottom: inherit;
    left: inherit;
    opacity: 1;
    right: 5px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  #common-nav ul li.more-nav a:after {
    width: 20px;
    height: 20px;
    background: url(../img/icon-more.svg) no-repeat center;
    background-size: 100% 100%;
  }
  #common-nav ul li .nav-child {
    width: 100%;
    background: transparent;
    position: static;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  #common-nav ul li .nav-child.more-nav-left-side, #common-nav ul li .nav-child.more-nav-right-side {
    position: static;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  #common-nav ul li .nav-child li {
    border-bottom: none;
  }
  #common-nav ul li .nav-child li a {
    font-size: 18px;
    font-size: 1.8rem;
    color: #DEDEDE;
  }
  #common-nav ul li .nav-child li a:hover {
    color: #DEDEDE;
  }
  #common-nav ul li .nav-child li a:after {
    content: none;
  }

  .small, .small_top {
    font-size: 10px;
  }

  .text-box table tr td {
    width: 100%;
    display: block;
  }
  .text-box table tr td:first-child {
    width: 100%;
  }

  .img-content.sidemargin {
    margin: 0;
  }
  .img-content.sidemargin:not(:last-of-type) {
    margin-bottom: 20px;
  }

  /*トップコミットメント*/
  .message-owner {
    height: auto;
    background: none;
  }

  .message-logo {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .message-logo img:nth-of-type(-n+2) {
    margin-bottom: 20px;
  }

  .message-2ndttl_green {
    letter-spacing: 1px;
  }

  /*特集*/
  .initiative-ico {
    margin-bottom: 15px;
  }

  /*中期環境目標*/
  .aboutSDGs .aboutSDGs-title {
    padding: 15px;
  }
  .aboutSDGs .aboutSDGs-title dt {
    margin-bottom: 10px;
  }
  .aboutSDGs .aboutSDGs-detail {
    padding-left: 0;
    padding-right: 0;
  }
  .aboutSDGs .aboutSDGs-detail div {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .aboutSDGs .aboutSDGs-detail div:nth-of-type(-n+3) {
    margin-bottom: 15px;
  }
  .aboutSDGs .aboutSDGs-detail div:first-of-type, .aboutSDGs .aboutSDGs-detail div:nth-of-type(4) {
    padding-right: 10px;
  }
  .aboutSDGs .aboutSDGs-detail div:nth-of-type(2), .aboutSDGs .aboutSDGs-detail div:nth-of-type(5) {
    padding: 0;
  }
  .aboutSDGs .aboutSDGs-detail div:nth-of-type(3n) {
    padding-left: 10px;
  }
  .aboutSDGs .aboutSDGs-detail div dt {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-bottom: 10px;
    margin-right: 0;
    width: 70px;
  }
  .aboutSDGs .aboutSDGs-detail div dt img {
    height: auto;
    width: 100%;
  }

  /*ニュースリリース*/
  .news-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .news-content .select-year {
    display: -webkit-box;
    /*Android4.3*/
    /*Firefox21*/
    display: -ms-flexbox;
    /*IE10*/
    /*PC-Safari,iOS8.4*/
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
    margin: 0 0 45px;
    width: 100%;
  }
  .news-content .select-year li {
    border-bottom: 1px dotted #808080;
    border-right: 1px dotted #fff;
    -ms-flex-preferred-size: calc(100% / 3);
        flex-basis: calc(100% / 3);
  }
  .news-content .select-year li:nth-of-type(n+2) {
    border-top: none;
  }
  .news-content .select-year li:nth-of-type(3n) {
    border-right: none;
  }
  .news-content .select-year li a {
    text-align: center;
    padding: 15px;
    width: auto;
  }
  .news-content .news-article .news-article-header h3.title {
    font-size: 19px;
    font-size: 1.9rem;
  }
  .news-content .news-article .news-article-header h3.title .lead {
    font-size: 17px;
    font-size: 1.7rem;
  }
  .news-content .news-article .news-main {
    margin-top: 45px;
  }
  .news-content .news-article .news-main .ttl-md {
    font-size: 19px;
    font-size: 1.9rem;
  }
}
/* ====================================================================================

    p x 以 下

==================================================================================== */
@media only screen and (max-width: 640px) {
  html {
    font-size: 2vw;
  }

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

  .sp-c {
    text-align: center;
  }
  .sp-c p {
    text-align: center;
  }

  .m0 {
    margin: 0 !important;
  }

  #wrapper {
    font-size: 18px;
    font-size: 1.8rem;
  }

  p {
    line-height: 1.8;
  }

  .flex {
    display: block;
  }

  .flex-box {
    margin: 40px 0;
    width: 100% !important;
    display: block;
    text-align: center;
  }

  .flex-box.box44 {
    width: 44% !important;
  }

  #common-nav {
    padding-bottom: 60px;
  }

  .pnkz {
    padding-left: 20px;
    width: calc(100% - 110px);
  }
  .pnkz li {
    font-size: 10px;
    font-size: 1rem;
  }

  #pageTop {
    padding: 8px 16px 14px;
  }

  .footer-nav ul {
    display: block;
  }
  .footer-nav ul li {
    border-bottom: 1px solid #fff;
  }
  .footer-nav ul li:last-child {
    border-bottom: none;
  }
  .footer-nav ul li a {
    padding: 24px 20px;
    text-align: center;
    display: block;
  }
  .footer-nav ul li a:after {
    content: none;
  }

  .message-owner {
    background: none;
    padding: 0;
  }

  .w50 {
    width: 100%;
  }

  .index-nav-text1 {
    text-align: center;
    font-size: 24px;
    font-size: 2.4rem;
    width: 100%;
    left: 0;
  }

  .index-nav-ttl {
    font-size: 24px;
    font-size: 2.4rem;
  }

  .link-box img,
  .index-ac-box img {
    width: 100%;
  }

  .index-ac-box a {
    padding-bottom: 36px;
  }

  .index-footer-nav {
    padding-bottom: 140px;
  }
  .index-footer-nav ul li {
    margin-right: 0;
    width: 49%;
  }
  .index-footer-nav ul li a {
    padding: 20px;
    padding-right: 30px;
  }

  .link-list li + li {
    margin-left: 0;
  }

  .footer-sitemap-wrapper {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .footer-sitemap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .sitemap-box {
    margin-bottom: 20px;
    width: 48%;
  }

  .sitemap-big .ttl2 {
    padding-left: 10px;
  }
  .sitemap-big .ttl2:before {
    left: 0;
  }

  /*特集*/
  .special_figure_flex {
    margin: 30px auto 0;
    width: 100% !important;
    max-width: 180px;
  }
  .special_figure_flex.special01_figure02 {
    max-width: 323px;
  }
  .special_figure_flex.special01_figure04 {
    max-width: 233px;
  }
  .special_figure_flex.special01_figure05 {
    max-width: 190px;
  }
  .special_figure_flex.special02_figure01 {
    max-width: 220px;
  }

  /*リスクと機会*/
  .risk-detail dd.response p {
    line-height: 1.3;
  }

  /*環境配慮型経営*/
  table.thinking-m-procurement th,
  table.thinking-m-procurement td {
    display: block;
  }
  table.thinking-m-procurement th {
    padding: 15px 20px;
    width: 100%;
  }
  table.thinking-m-procurement th h4 {
    font-size: 2.5rem;
  }

  /* INDEX : NEWS RELEASE */
  .newsrelease-top {
    margin-left: auto;
    padding-left: 20px;
    padding-right: 20px;
  }
  .newsrelease-top .newsrelease-wrapper h2 img {
    vertical-align: top;
  }
  .newsrelease-top .newsrelease-wrapper .news-wrapper {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .newsrelease-top .newsrelease-wrapper .news-wrapper:nth-of-type(n+2) {
    margin-top: 25px;
  }
  .newsrelease-top .newsrelease-wrapper .news-wrapper .label {
    width: 11em;
  }
  .newsrelease-top .newsrelease-wrapper .news-wrapper .title {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    margin-left: 0;
    margin-top: 10px;
  }
}
/* ====================================================================================

    p x 以 下

==================================================================================== */
@media only screen and (max-width: 480px) {
  .header-vertical h1 img {
    width: 120px;
  }
  .header-vertical p {
    margin-left: 15px;
    font-size: 16px;
    font-size: 1.6rem;
  }

  .box1 {
    padding: 30px 20px;
  }

  .content {
    padding-top: 46px;
    padding-bottom: 46px;
  }

  .content_top {
    margin-top: 60px;
  }

  #page-nav ul li a {
    padding: 20px;
  }

  .page-nav2 li {
    margin-bottom: 10px;
  }
  .page-nav2 li a {
    padding: 15px 10px;
    padding-right: 26px;
  }
  .page-nav2 li a:after {
    right: 10px;
    width: 8px;
    height: 6px;
  }

  .pnkz {
    padding: 5px 0 5px 5px;
    width: calc(100% - 80px);
  }
  .pnkz li {
    margin: 3px 0;
  }
  .pnkz li span {
    margin: 0 3px;
  }

  #pageTop {
    padding-left: 10px;
    padding-right: 10px;
  }
  #pageTop img {
    width: 60px;
  }
}
/* ====================================================================================

    p x 以 下

==================================================================================== */
@media only screen and (max-width: 360px) {
  .inner {
    padding-left: 16px;
    padding-right: 16px;
  }

  .topics3-table tr th {
    width: 25%;
  }
}
/* ====================================================================================

    p x 以 下

==================================================================================== */
