@charset "UTF-8";
/* ----------------------------------------------------------
 html5 elements
---------------------------------------------------------- */
article,
aside,
figure,
figcaption,
footer,
header,
nav,
section {
  display: block;
}

/* ----------------------------------------------------------
 font setting
---------------------------------------------------------- */
@font-face {
  font-family: "robot";
  src: url("/common/font/RobotoCondensed-Regular.eot");
  src: url("/common/font/RobotoCondensed-Regular.eot?#iefix") format("embedded-opentype"), url("/common/font/RobotoCondensed-Regular.woff") format("woff"), url("/common/font/RobotoCondensed-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "robot_b";
  src: url("/common/font/RobotoCondensed-Bold.eot");
  src: url("/common/font/RobotoCondensed-Bold.eot?#iefix") format("embedded-opentype"), url("/common/font/RobotoCondensed-Bold.woff") format("woff"), url("/common/font/RobotoCondensed-Bold.ttf") format("truetype");
}
@font-face {
  font-family: "eng_def";
  src: url("/common/font/OpenSans-Regular.eot");
  src: url("/common/font/OpenSans-Regular.eot?#iefix") format("embedded-opentype"), url("/common/font/OpenSans-Regular.woff") format("woff"), url("/common/font/OpenSans-Regular.ttf") format("truetype");
}
.s-font-robot {
  font-family: robot, eng_def, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
}

.s-font-robot-b {
  font-family: robot_b, robot, eng_def, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
}

.s-font-en {
  font-family: eng_def, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
}

/* ----------------------------------------------------------
 clearfix
---------------------------------------------------------- */
.clearfix:before,
.clearfix:after,
.footer-in:before,
.footer-in:after,
.footer-links:before,
.footer-links:after,
.grid-cmn .grid-cmn-in:before,
.grid-cmn .grid-cmn-in:after,
.mod-float:not(.type-hidden):before,
.mod-float:not(.type-hidden):after,
.contents:before,
.contents:after,
.mod-pager-01 .lv01:before,
.mod-pager-01 .lv01:after {
  content: "";
  display: table;
}

.clearfix:after,
.header-in:after,
.header-cover:after,
.footer-in:after,
.footer-links:after,
.grid-cmn .grid-cmn-in:after,
.mod-float:not(.type-hidden):after,
.contents:after,
.mod-pager-01 .lv01:after {
  clear: both;
}

/* ----------------------------------------------------------
 resetting
---------------------------------------------------------- */
body {
  position: relative;
  line-height: 1.5;
  color: #333333;
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
}

@media screen and (max-width: 767px) {
  body {
    font-size: 13px;
  }
}
body,
input,
textarea,
select,
button {
  font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
}

body,
div,
pre,
p,
blockquote,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
th,
td,
button,
figure,
figcaption {
  margin: 0;
  padding: 0;
}

input,
textarea {
  margin: 0;
  font-size: 100%;
}

textarea {
  resize: none;
}

button {
  border: none;
  overflow: visible;
  background: none;
  vertical-align: top;
  font-size: 100%;
  color: inherit;
  cursor: pointer;
  -webkit-appearance: none;
}

label {
  cursor: pointer;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
}

fieldset,
img {
  border: 0;
}

img {
  height: auto;
  vertical-align: top;
  image-rendering: -webkit-optimize-contrast;
}

address,
caption,
code,
em,
th {
  font-style: normal;
  font-weight: normal;
}

ol,
ul {
  list-style: none;
}

caption,
th {
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6,
strong,
em {
  font-size: 100%;
  font-weight: normal;
}

sup,
sub {
  font-size: 63%;
}

sup {
  vertical-align: top;
}

sub {
  vertical-align: baseline;
}

* {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

/* english */
.lang-en {
  font-family: eng_def, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* ----------------------------------------------------------
 base Link
---------------------------------------------------------- */
a {
  color: inherit;
  text-decoration: none;
}

/* ----------------------------------------------------------
 layout
---------------------------------------------------------- */
html {
  overflow-y: auto;
}

html.is-drawer-open {
  position: relative;
  overflow: hidden;
}

html.is-drawer-open .wrapper:before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.5);
  z-index: 29;
}

@media screen and (max-width: 767px) {
  html.is-modal-open {
    position: relative;
  }
}
body {
  font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
  text-align: center;
  min-width: 300px;
}

/* ----------------------------------------------------------
 wrapper
---------------------------------------------------------- */
.wrapper {
  width: 100%;
}

/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */
.contents-main {
  padding: 35px 0 0;
  text-align: left;
}

.contents-main.space-hero-slider {
  padding-top: 0;
}

@media screen and (max-width: 767px) {
  .contents-main {
    padding: 10px 0 0;
  }
}
/* ----------------------------------------------------------
 area
---------------------------------------------------------- */
/* area-information
---------------------------------------------------------- */
.area-information {
  width: 1170px;
  padding: 25px 0;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .area-information {
    width: 100%;
    padding: 20px 15px;
  }
}
/* area-lineup
---------------------------------------------------------- */
.area-lineup {
  width: 1170px;
  padding: 35px 0 25px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .area-lineup {
    width: 100%;
    padding: 5px 0 0;
  }
}
/* area-pickup
---------------------------------------------------------- */
.area-pickup {
  background-color: #f6f6f6;
}

.area-pickup .headline {
  padding: 25px 0 44px;
  background-color: #fff;
}

.area-pickup .headline + .areainner {
  padding: 40px 0 40px;
}

.area-pickup .areainner {
  width: 1170px;
  margin: 0 auto;
}

.area-pickup .areainner.no-headline {
  padding: 40px 0 40px;
}

@media screen and (max-width: 767px) {
  .area-pickup .headline {
    padding: 30px 0 24px;
  }
  .area-pickup .headline + .areainner {
    padding: 20px 15px 30px;
  }
  .area-pickup .areainner {
    width: 100%;
  }
  .area-pickup .areainner.no-headline {
    padding: 20px 15px 30px;
  }
}
/* area-competition
---------------------------------------------------------- */
.area-competition {
  padding-top: 50px;
}

.area-competition-in {
  padding: 0 100px 100px;
  background-color: #f6f6f6;
}

.area-analects-in {
  padding: 20px 100px 30px;
  background-color: #f6f6f6;
}

@media screen and (max-width: 767px) {
  .area-competition {
    padding-top: 50px;
  }
  .area-competition-in {
    padding: 0 15px 15px;
  }
  .area-analects-in {
    padding: 0 15px 15px;
  }
}
/* area-modal-01
---------------------------------------------------------- */
.area-modal-01 {
  text-align: left;
  border-top: 3px solid #db000a;
  background-color: #fff;
}

.area-modal-01-in {
  max-width: 830px;
  margin: 0 auto;
  padding: 15px 30px 40px;
}

@media screen and (max-width: 767px) {
  .area-modal-01-in {
    padding: 0 15px 20px;
  }
}
/* area-maps
---------------------------------------------------------- */
.area-maps {
  margin-top: 60px;
}

.area-maps iframe {
  width: 100%;
  height: 643px;
}

@media screen and (max-width: 767px) {
  .area-maps {
    margin-top: 40px;
  }
  .area-maps iframe {
    height: 200px;
  }
}
/* ----------------------------------------------------------
 section
---------------------------------------------------------- */
/* sec-inner
---------------------------------------------------------- */
.sec-inner {
  width: 1170px;
  margin: 0 auto;
}

.sec-inner.space-hero-slider {
  margin-top: 100px;
  margin-bottom: 95px;
}

.sec-inner.space-txt-01 {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .sec-inner {
    width: 100%;
    padding: 0 15px;
  }
  .sec-inner.space-hero-slider {
    margin-top: 50px;
    margin-bottom: 50px;
  }
  .sec-inner.space-txt-01 {
    margin-top: 50px;
    margin-bottom: 10px;
  }
  .sec-inner.no-pad-sp {
    padding: 0;
  }
  .sec-inner .sec-inner {
    padding: 0;
  }
}
/* sec-inner-deep
---------------------------------------------------------- */
.sec-inner-deep {
  width: 970px;
  margin: 0 auto;
}

.sec-inner-deep.space-figure {
  margin-top: 70px;
  margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
  .sec-inner-deep {
    width: 100%;
  }
  .sec-inner-deep.space-figure {
    margin-top: 30px;
    margin-bottom: 40px;
  }
}
/* sec-inner-read
---------------------------------------------------------- */
.sec-inner-read {
  width: 770px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .sec-inner-read {
    width: 100%;
  }
}
/* sec-cmn-01
---------------------------------------------------------- */
.sec-cmn-01.space-01 {
  padding-top: 2em;
}

/* sec-cmn-02
---------------------------------------------------------- */
.sec-cmn-02 {
  margin-top: 2em;
}

.sec-cmn-02 + .sec-cmn-02 {
  margin-top: 30px;
}

.ttl-modal-01 + .sec-cmn-02 {
  margin-top: 25px;
}

.hero-slider + .sec-cmn-02 {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .sec-cmn-02 + .sec-cmn-02 {
    margin-top: 30px;
  }
  .hero-slider + .sec-cmn-02 {
    margin-top: 30px;
  }
}
/* sec-cmn-03
---------------------------------------------------------- */
.sec-cmn-03 {
  margin-top: 2.5em;
}

.sec-cmn-03:first-child {
  margin-top: 0;
}

.sec-cmn-03 + .sec-cmn-03 {
  margin-top: 12px;
}

.sec-cmn-03.space-01 + .sec-cmn-03.space-01 {
  margin-top: 2.5em;
}

.mod-persons-01 + .sec-cmn-03 {
  margin-top: 2.5em;
}

@media screen and (max-width: 767px) {
  .sec-cmn-03 + .sec-cmn-03 {
    margin-top: 17px;
  }
}
/* sec-categories-01
---------------------------------------------------------- */
.sec-categories-01 {
  margin-top: 32px;
  padding: 60px 0;
  background-color: #f6f6f6;
}

.sec-categories-01 + .sec-categories-01 {
  margin-top: 12px;
}

.sec-categories-01.space-01 + .sec-categories-01.space-01 {
  margin-top: 17px;
}

.sec-categories-01 .ttl-cmn-04 {
  text-align: center;
  padding: 0 0 1.86em;
}

.sec-categories-01 .ttl-cmn-04:first-child {
  margin-top: -5px;
}

@media screen and (max-width: 767px) {
  .sec-categories-01 {
    margin-top: 26px;
    padding: 30px 15px;
  }
  .sec-categories-01 + .sec-categories-01 {
    margin-top: 12px;
  }
  .sec-categories-01 .ttl-cmn-04 {
    text-align: center;
    padding: 0 0 1em;
  }
  .sec-categories-01 .ttl-cmn-04:first-child {
    margin-top: 0;
  }
  .sec-categories-01 .sec-inner {
    width: 100%;
    margin: 0 auto;
  }
}
/* english */
@media screen and (min-width: 768px) {
  .lang-en .sec-categories-01 {
    padding: 60px 0;
    margin-top: 32px;
  }
}
/* sec-categories-02
---------------------------------------------------------- */
.sec-categories-02 {
  margin-top: 32px;
  margin-bottom: 2.5em;
  background-color: #f6f6f6;
}

.sec-categories-02 + .sec-categories-02 {
  margin-top: 12px;
}

@media screen and (max-width: 767px) {
  .sec-categories-02 {
    margin-top: 26px;
  }
  .sec-categories-02 + .sec-categories-02 {
    margin-top: 12px;
  }
  .sec-categories-02 .grid-cmn.space-01 .grid-cmn-in {
    margin-top: -15px;
  }
}
/* sec-categories-03
---------------------------------------------------------- */
.sec-categories-03 {
  margin-top: 32px;
  margin-bottom: 2.5em;
  background-color: #f6f6f6;
}

.sec-categories-03 + .sec-categories-03 {
  margin-top: 12px;
}

@media screen and (max-width: 767px) {
  .sec-categories-03 {
    margin-top: 26px;
  }
  .sec-categories-03 + .sec-categories-03 {
    margin-top: 12px;
  }
}
/* sec-categories-04
---------------------------------------------------------- */
.sec-categories-04 {
  margin-top: 63px;
  padding: 60px 0;
  background-color: #f6f6f6;
}

.sec-categories-04 + .sec-categories-04 {
  margin-top: 12px;
}

.sec-categories-04.space-01 + .sec-categories-04.space-01 {
  margin-top: 17px;
}

.sec-categories-04 .ttl-cmn-04 {
  text-align: center;
  padding: 0 0 1.86em;
}

.sec-categories-04 .ttl-cmn-04:first-child {
  margin-top: -5px;
}

@media screen and (max-width: 767px) {
  .sec-categories-04 {
    margin-top: 30px;
    padding: 30px 15px;
  }
  .sec-categories-04 + .sec-categories-04 {
    margin-top: 12px;
  }
  .sec-categories-04 .ttl-cmn-04 {
    text-align: center;
    padding: 0 0 1em;
  }
  .sec-categories-04 .ttl-cmn-04:first-child {
    margin-top: 0;
  }
  .sec-categories-04 .sec-inner {
    width: 100%;
    margin: 0 auto;
  }
}
/* sec-categories-05
---------------------------------------------------------- */
.sec-categories-05 {
  margin-top: 63px;
  padding: 80px 0;
  background-color: #f6f6f6;
}

.sec-categories-05 + .sec-categories-05 {
  margin-top: 12px;
}

.sec-categories-05.space-01 + .sec-categories-05.space-01 {
  margin-top: 17px;
}

.sec-categories-05 .ttl-cmn-04 {
  text-align: center;
  padding: 0 0 1.86em;
}

.sec-categories-05 .ttl-cmn-04:first-child {
  margin-top: -5px;
}

@media screen and (max-width: 767px) {
  .sec-categories-05 {
    margin-top: 30px;
    padding: 30px 15px;
  }
  .sec-categories-05 + .sec-categories-05 {
    margin-top: 12px;
  }
  .sec-categories-05 .ttl-cmn-04 {
    text-align: center;
    padding: 0 0 1em;
  }
  .sec-categories-05 .ttl-cmn-04:first-child {
    margin-top: 0;
  }
  .sec-categories-05 .sec-inner {
    width: 100%;
    margin: 0 auto;
  }
}
/* sec-categories-05
---------------------------------------------------------- */
.sec-categories-06 {
  margin-top: 48px;
  padding-bottom: 60px;
  background-color: #f6f6f6;
}

@media screen and (max-width: 767px) {
  .sec-categories-06 {
    margin-top: 30px;
    padding-bottom: 30px;
  }
}
/* sec-sitemap
---------------------------------------------------------- */
.sec-sitemap {
  margin-top: 2em;
}

.sec-sitemap + .sec-sitemap {
  margin-top: 38px;
}

@media screen and (max-width: 767px) {
  .sec-sitemap {
    margin-top: 1em;
  }
  .sec-sitemap + .sec-sitemap {
    margin-top: 1em;
  }
}
/* ----------------------------------------------------------
 box
---------------------------------------------------------- */
/* box-cmn
---------------------------------------------------------- */
/* box-accordion
---------------------------------------------------------- */
.box-accordion {
  padding: 30px 0 0;
}

.box-accordion:before {
  display: block;
  content: "";
  padding-bottom: 30px;
  border-top: 1px solid #e5e5e5;
}

@media screen and (max-width: 767px) {
  .box-accordion {
    padding: 20px 0 0;
  }
  .box-accordion:before {
    display: block;
    content: "";
    padding-bottom: 25px;
    border-top: 1px solid #e5e5e5;
  }
}
/* box-card-cover
---------------------------------------------------------- */
.box-card-cover.space-01 {
  padding: 40px 0;
}

.box-card-cover.space-02 {
  padding: 60px 0;
}

@media screen and (max-width: 767px) {
  .box-card-cover.space-01 {
    padding: 30px 0;
  }
  .box-card-cover.space-02 {
    padding: 30px 0;
  }
}
/* ----------------------------------------------------------
 header
---------------------------------------------------------- */
.header {
  border-bottom: 1px solid #e5e5e5;
  width: 100%;
}
.header-inner {
  width: 1170px;
  margin: 0 auto;
  text-align: left;
}
.header-logo img {
  width: 250px;
  height: 28px;
  vertical-align: middle;
}
.header-utility {
  display: flex;
}
.header-utility-inner {
  display: flex;
}
.header-hamburger {
  display: none;
}

@media print {
  .header-logo img {
    width: 250px;
    height: 28px;
  }
}
@media screen and (min-width: 768px) {
  .header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .header-inner::before {
    content: none;
  }
  .header-cover {
    width: 250px;
  }
  .header-logo {
    display: inline-block;
  }
  .header-logo img {
    width: 250px;
    height: 28px;
  }
  .header-utility-in {
    width: 100%;
  }
  .header .btn-language {
    display: table-cell;
  }
  .header .btn-language .cover a {
    display: flex;
    align-items: center;
  }
  .header .btn-language .cover.jp a img {
    margin-top: 0;
  }
  html:lang(ja) .header .btn-language {
    width: 70px;
  }
  html:lang(ja) .header .btn-language-in {
    width: 70px;
  }
  .hero-slider-wrap .header.is-fixed,
  .header.is-fixed {
    position: fixed !important;
    top: 0 !important;
    padding: 0 10px !important;
    border-bottom: 1px solid #e5e5e5 !important;
    background-color: #fff !important;
    z-index: 30 !important;
  }
}
@media screen and (max-width: 767px) {
  .header {
    width: 100%;
    min-width: 300px;
    border-bottom: none;
  }
  .header-inner {
    width: 100%;
  }
  .header-cover {
    display: flex;
    justify-content: space-between;
    width: 100%;
    border-bottom: 2px solid #e5e5e5;
  }
  .header-cover::before, .header-cover::after {
    content: none;
  }
  .header-logo {
    float: left;
    padding: 0 0 0 15px;
  }
  .header-logo a {
    display: flex;
    align-items: center;
    width: 200px;
    height: 65px;
  }
  .header-logo img {
    width: 100%;
  }
  .header-hamburger {
    position: relative;
    display: block;
    float: right;
    width: 20px;
    height: 20px;
    margin: 23px 20px 22px;
  }
  .header-hamburger > span {
    display: block;
    width: 100%;
    height: 2px;
    margin-top: -1px;
    position: absolute;
    background-color: #000;
    transition: 0.5s;
  }
  .header-hamburger > span.line01 {
    top: 25%;
  }
  .header-hamburger > span.line02 {
    top: 50%;
  }
  .header-hamburger > span.line03 {
    top: 75%;
  }
  .header-hamburger.is-active > span.line01 {
    top: 50%;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
  }
  .header-hamburger.is-active > span.line02 {
    display: none;
  }
  .header-hamburger.is-active > span.line03 {
    top: 50%;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
  }
  .header-utility {
    display: none;
    overflow-y: auto;
  }
  .header-utility-inner {
    display: block;
  }
  .hero-slider-wrap .header.is-fixed,
  .header.is-fixed {
    position: fixed !important;
    top: 0 !important;
    padding: 0 !important;
    background-color: #fff !important;
    z-index: 30 !important;
  }
}
/* ----------------------------------------------------------
 header english
---------------------------------------------------------- */
@media screen and (min-width: 768px) {
  .lang-en .header-cover {
    width: 380px;
  }
  .lang-en .header-logo img {
    width: 380px;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .lang-en .header {
    width: 100%;
    min-width: 300px;
    border-bottom: none;
  }
  .lang-en .header-in {
    width: 100%;
  }
  .lang-en .header-cover {
    float: none;
    border-bottom: 2px solid #e5e5e5;
  }
  .lang-en .header-logo {
    float: left;
    padding: 0 0 0 15px;
  }
  .lang-en .header-logo a {
    display: block;
    width: 220px;
    line-height: 14px;
    padding: 18px 0 17px;
  }
  .lang-en .header-logo img {
    width: 100%;
  }
  .lang-en .header-hamburger {
    position: relative;
    display: block;
    float: right;
    width: 20px;
    height: 20px;
    margin: 19px 15px 14px;
  }
  .lang-en .header-hamburger > span {
    display: block;
    width: 100%;
    height: 2px;
    margin-top: -1px;
    position: absolute;
    background-color: #000;
    transition: 0.5s;
  }
  .lang-en .header-hamburger > span.line01 {
    top: 25%;
  }
  .lang-en .header-hamburger > span.line02 {
    top: 50%;
  }
  .lang-en .header-hamburger > span.line03 {
    top: 75%;
  }
  .lang-en .header-hamburger.is-active > span.line01 {
    top: 50%;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
  }
  .lang-en .header-hamburger.is-active > span.line02 {
    display: none;
  }
  .lang-en .header-hamburger.is-active > span.line03 {
    top: 50%;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
  }
  .lang-en .header-utility {
    display: none;
  }
}
/* ----------------------------------------------------------
 nav-global
---------------------------------------------------------- */
.nav-global .lv01 {
  display: flex;
  align-items: center;
  height: 65px;
}
.nav-global .lv01 > li {
  position: relative;
  z-index: 5;
  margin-left: 20px;
}
.nav-global .lv01 > li > a {
  display: flex;
  align-items: center;
  height: 65px;
  position: relative;
  padding-right: 20px;
  font-size: 14px;
}
.nav-global .lv01 > li > a::after {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 2px;
  width: 11px;
  height: 7px;
  margin-top: -3px;
  background: url(/common/img/ico_arrow_down_hd_01_pc.png) 0 0 no-repeat;
}
.nav-global .lv01 > li > a.is-current {
  color: #db000a;
}
.nav-global .lv01 > li > a.is-active {
  color: #db000a;
}
.nav-global .lv01 > li > a.is-active::after {
  background: url(/common/img/ico_arrow_down_hd_01_pc_ac.png) 0 0 no-repeat;
}
.nav-global .lv01 > li > a.no-lv {
  padding-right: 0;
  background: none;
}
.nav-global .lv01 > li > a.no-lv:after, .nav-global .lv01 > li > a.no-lv:hover:not(.no-hover):after, .nav-global .lv01 > li > a.no-lv.is-active:after {
  content: none;
}
.nav-global .lv01 > li > a.no-lv:hover:not(.no-hover):after {
  content: none;
}
.nav-global .lv01 > li:nth-child(1) {
  margin-left: 0;
  z-index: 10;
}
.nav-global .lv01 > li:nth-child(2) {
  z-index: 9;
}
.nav-global .lv01 > li:nth-child(3) {
  z-index: 8;
}
.nav-global .lv01 > li:nth-child(4) {
  z-index: 7;
}
.nav-global .lv01 > li:nth-child(5) {
  z-index: 6;
}
.nav-global .lv01 > li:nth-child(6) {
  z-index: 5;
}
.nav-global .lv01 > li:nth-child(7) {
  z-index: 4;
}
.nav-global .lv01 > li:nth-child(8) {
  z-index: 3;
}
.nav-global .lv01 > li:nth-child(9) {
  z-index: 2;
}
.nav-global .lv01 > li:nth-child(10) {
  z-index: 1;
}
.nav-global .lv01 > li:hover > a:not(.no-hover) {
  color: #db000a;
}
.nav-global .lv01 > li:hover > a:not(.no-hover)::after {
  background: url(/common/img/ico_arrow_down_hd_01_pc_ac.png) 0 0 no-repeat;
}
.nav-global .lv01 > li:hover > a:not(.no-hover) + .lv02 {
  display: block;
}
.nav-global .lv02 {
  display: none;
  position: absolute;
  top: 100%;
  padding: 27px 30px;
  margin-top: -3px;
  border-top: 3px solid #db000a;
  box-shadow: 0 0 0 1px #e5e5e5 inset;
  -moz-box-shadow: 0 0 0 1px #e5e5e5 inset;
  -webkit-box-shadow: 0 0 0 1px #e5e5e5 inset;
  white-space: nowrap;
  background: #fff;
  z-index: 5;
}
.nav-global .lv02 > li {
  margin-top: 15px;
}
.nav-global .lv02 > li > a {
  font-size: 15px;
}
.nav-global .lv02 > li > a:hover:not(.no-hover) {
  color: #db000a;
}
.nav-global .lv02 > li:first-child {
  margin-top: 0;
}
.nav-global .lv02 > li:nth-child(2) {
  margin-top: 0;
}
.nav-global .lv02 > li.is-current > a {
  color: #db000a;
}

@media screen and (min-width: 768px) {
  html:lang(ja) .nav-global .lv01 > li {
    margin-left: 15px;
  }
  html:lang(ja) .nav-global .lv01 > li:first-child {
    margin-left: 0;
  }
  html:lang(ja) .nav-global .lv01 > li > a {
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .nav-global .lv01 > li > a {
    font-size: 13px;
  }
  .nav-global .lv01 > li > a::after {
    top: 50%;
  }
}
@media screen and (max-width: 767px) {
  .nav-global {
    float: none;
    margin-left: 0;
  }
  .nav-global .lv01 {
    display: block;
    height: auto;
    margin-left: 0;
  }
  .nav-global .lv01 > li {
    float: none;
    margin-left: 0;
    border-bottom: 1px solid #e5e5e5;
  }
  .nav-global .lv01 > li > a {
    position: relative;
    display: block;
    height: auto;
    padding: 21px 20px 19px 20px;
    font-size: 15px;
  }
  .nav-global .lv01 > li > a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    width: 11px;
    height: 7px;
    margin-top: -3px;
    background: url(/common/img/ico_arrow_down_hd_01_pc_ac.png) 0 0 no-repeat;
  }
  .nav-global .lv01 > li > a.is-active::after {
    transform: rotate(180deg);
    background: url(/common/img/ico_arrow_down_hd_01_pc_ac.png) 0 0 no-repeat;
  }
  .nav-global .lv01 > li > a.no-lv:after, .nav-global .lv01 > li > a.no-lv:hover:after, .nav-global .lv01 > li > a.no-lv.is-active:after {
    right: 13px;
    background: url(/common/img/ico_blank_01_@2x_ac.png) 0 0 no-repeat;
    background-size: 16px 16px;
  }
  .nav-global .lv01 > li > a.no-icon:after, .nav-global .lv01 > li > a.no-icon:hover:after, .nav-global .lv01 > li > a.no-icon.is-active:after {
    display: none;
  }
  .nav-global .lv01 > li:hover > a::after {
    background: url(/common/img/ico_arrow_down_hd_01_pc_ac.png) 0 0 no-repeat;
  }
  .nav-global .lv01 > li:hover > a + .lv02 {
    display: none;
  }
  .nav-global .lv02 {
    display: block;
    position: static;
    top: auto;
    padding: 27px 30px;
    margin-top: 0;
    border-top: 1px solid #e5e5e5;
    box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    white-space: inherit;
  }
  .nav-global .lv02 > li > a {
    font-size: 14px;
  }
  .nav-global .lv02 > li:first-child {
    margin-top: 0;
  }
  .nav-global .lv02 > li:nth-child(2) {
    margin-top: 15px;
  }
}
/* ----------------------------------------------------------
 nav-global english
---------------------------------------------------------- */
.lang-en .nav-global {
  font-size: 14px;
}
.lang-en .nav-global .lv01 {
  margin-left: -27px;
}
.lang-en .nav-global .lv01 > li {
  margin-left: 27px;
  flex-shrink: 0;
}
.lang-en .nav-global .lv01 > li > a {
  display: flex;
}
.lang-en .nav-global .lv01 > li > a::after {
  top: 50%;
}
.lang-en .nav-global .lv01 > li > a.no-icon, .lang-en .nav-global .lv01 > li > a.no-icon:hover:not(.no-hover), .lang-en .nav-global .lv01 > li > a.no-icon.is-active {
  padding-right: 0;
}
.lang-en .nav-global .lv01 > li > a.no-icon:after, .lang-en .nav-global .lv01 > li > a.no-icon:hover:not(.no-hover):after, .lang-en .nav-global .lv01 > li > a.no-icon.is-active:after {
  display: none;
}
.lang-en .nav-global .lv01 > li > a.no-icon:hover:not(.no-hover):after {
  display: none;
}
.lang-en .nav-global .lv01 > li:nth-child(1) a::after {
  top: auto;
  bottom: 17px;
}
.lang-en .nav-global .lv02 {
  display: none;
  position: absolute;
  top: 100%;
  padding: 27px 30px;
  margin-top: -3px;
  border-top: 3px solid #db000a;
  box-shadow: 0 0 0 1px #e5e5e5 inset;
  -moz-box-shadow: 0 0 0 1px #e5e5e5 inset;
  -webkit-box-shadow: 0 0 0 1px #e5e5e5 inset;
  white-space: nowrap;
  background: #fff;
  z-index: 5;
}
.lang-en .nav-global .lv02 > li {
  margin-top: 10px;
}
.lang-en .nav-global .lv02 > li > a:hover:not(.no-hover) {
  color: #db000a;
}
.lang-en .nav-global .lv02 > li:nth-child(2) {
  margin-top: 0;
}
.lang-en .nav-global .lv02 > li.is-current > a {
  color: #db000a;
}

@media screen and (max-width: 767px) {
  .lang-en .nav-global {
    float: none;
    padding: 0;
    margin-left: 0;
  }
  .lang-en .nav-global .lv01 {
    margin-left: 0;
  }
  .lang-en .nav-global .lv01 > li {
    float: none;
    margin-left: 0;
    border-bottom: 1px solid #e5e5e5;
  }
  .lang-en .nav-global .lv01 > li:nth-child(1) a::after {
    top: 50%;
    bottom: auto;
  }
  .lang-en .nav-global .lv01 > li > a {
    display: block;
    position: relative;
    padding: 21px 20px 19px 20px;
  }
  .lang-en .nav-global .lv01 > li > a:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    width: 11px;
    height: 7px;
    margin-top: -3px;
    background: url(/common/img/ico_arrow_down_hd_01_pc_ac.png) 0 0 no-repeat;
  }
  .lang-en .nav-global .lv01 > li > a.is-active::after {
    transform: rotate(180deg);
    background: url(/common/img/ico_arrow_down_hd_01_pc_ac.png) 0 0 no-repeat;
  }
  .lang-en .nav-global .lv01 > li > a.no-lv:after,
  .lang-en .nav-global .lv01 > li > a.no-lv:hover:after,
  .lang-en .nav-global .lv01 > li > a.no-lv.is-active:after {
    right: 13px;
    background: url(/common/img/ico_blank_01_@2x_ac.png) 0 0 no-repeat;
    background-size: 16px 16px;
  }
  .lang-en .nav-global .lv01 > li > a.no-icon:after,
  .lang-en .nav-global .lv01 > li > a.no-icon:hover:after,
  .lang-en .nav-global .lv01 > li > a.no-icon.is-active:after {
    display: none;
  }
  .lang-en .nav-global .lv01 > li:hover > a::after {
    background: url(/common/img/ico_arrow_down_hd_01_pc_ac.png) 0 0 no-repeat;
  }
  .lang-en .nav-global .lv01 > li:hover > a + .lv02 {
    display: none;
  }
  .lang-en .nav-global .lv02 {
    display: none;
    position: static;
    top: auto;
    padding: 27px 30px;
    margin-top: 0;
    border-top: 1px solid #e5e5e5;
    box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    white-space: inherit;
  }
  .lang-en .nav-global .lv02 > li {
    margin-top: 10px;
  }
  .lang-en .nav-global .lv02 > li:first-child {
    margin-top: 0;
  }
  .lang-en .nav-global .lv02 > li:nth-child(2) {
    margin-top: 10px;
  }
}
/* ----------------------------------------------------------
 nav-breadcrumb
---------------------------------------------------------- */
.nav-breadcrumb {
  width: 100%;
  font-size: 12px;
  border-bottom: 1px solid #e5e5e5;
}
.nav-breadcrumb ul {
  overflow: hidden;
  width: 1170px;
  padding: 15px 0 16px;
  margin: 0 auto;
}
.nav-breadcrumb ul li {
  float: left;
  white-space: nowrap;
}
.nav-breadcrumb ul li a:hover {
  opacity: 0.8;
}
.nav-breadcrumb ul li + li:before {
  content: ">";
  margin: 0 8px;
}

@media screen and (max-width: 767px) {
  .nav-breadcrumb {
    display: none;
  }
}
/* english */
.lang-en .nav-breadcrumb {
  font-family: eng_def, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
}

/* ----------------------------------------------------------
 hero-slider
---------------------------------------------------------- */
.hero-slider {
  min-width: 1170px;
}

@media screen and (max-width: 767px) {
  .hero-slider {
    min-width: 0;
  }
}
/* in hero-slider */
.hero-slider-wrap {
  position: relative;
}

.hero-slider-wrap .header {
  position: absolute;
  top: 0;
  padding: 10px;
  border-bottom: none;
  z-index: 10;
}

.hero-slider-wrap .header-in {
  width: 100%;
  min-width: 1170px;
  padding: 0 24px 0 20px;
  background-color: #fff;
}

.hero-slider-wrap .header .btn-language .cover a {
  padding: 20px 13px 23px 10px;
}

.hero-slider-wrap .header .btn-language .cover a:after {
  margin-top: -2px;
}

@media screen and (max-width: 767px) {
  .hero-slider-wrap {
    position: static;
  }
  .hero-slider-wrap .header {
    position: static;
    top: auto;
    padding: 0;
  }
  .hero-slider-wrap .header-in {
    width: 100%;
    min-width: 0;
    padding: 0;
    border-bottom: none;
  }
  .hero-slider-wrap .header .header-logo {
    padding-top: 0;
  }
  .hero-slider-wrap .header .header-utility {
    border-top: 2px solid #e5e5e5;
  }
  .hero-slider-wrap .header-cover {
    border-bottom: none;
  }
  .hero-slider-wrap .header .btn-language .cover a {
    padding: 18px 13px 20px 15px;
  }
  .hero-slider-wrap .header .btn-language .cover a:after {
    margin-top: -2px;
  }
}
/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */
.footer {
  width: 100%;
  margin-top: 60px;
  text-align: left;
}
.footer-main {
  padding: 44px 15px;
  border-top: 1px solid #e5e5e5;
}
.footer-main-inner {
  width: 1170px;
  margin: 0 auto;
}
.footer-main-links .lv01 {
  overflow: hidden;
}
.footer-main-links .lv01 > li {
  width: 300px;
  float: left;
}
.footer-main-links .lv01 > li > a {
  font-size: 14px;
  font-weight: bold;
}
.footer-main-links .lv01 > li > a:hover {
  opacity: 0.7;
}
.footer-main-links .lv01 > li > a.no-lv {
  position: relative;
  padding-right: 25px;
}
.footer-main-links .lv01 > li > a.no-lv:hover, .footer-main-links .lv01 > li > a.no-lv.is-active {
  padding-right: 25px;
}
.footer-main-links .lv01 > li > a.no-lv:after, .footer-main-links .lv01 > li > a.no-lv:hover:after, .footer-main-links .lv01 > li > a.no-lv.is-active:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  background: url(/common/img/ico_blank_01_@2x.png) 0 0 no-repeat;
  background-size: 16px 16px;
}
.footer-main-links .lv01 > li > a.no-icon:after {
  display: none;
}
.footer-main-links .lv01 > li.last {
  width: 270px;
}
.footer-main-links .lv02 {
  margin-top: 20px;
}
.footer-main-links .lv02 > li > a {
  display: block;
  font-size: 14px;
}
.footer-main-links .lv02 > li > a:hover {
  opacity: 0.6;
}
.footer-main-links .lv02 > li + li {
  margin-top: 12px;
}
.footer-sub {
  padding: 0 15px;
  background-color: #f6f6f6;
}
.footer-sub-inner {
  display: flex;
  width: 1170px;
  margin: 0 auto;
}
.footer-sub-content {
  display: flex;
  align-items: center;
  flex-grow: 1;
}
.footer-sub-company-name {
  flex-basis: 160px;
  line-height: 1;
  padding: 31px 0;
  font-size: 14px;
  font-weight: bold;
}
.footer-sub-copyright {
  flex-basis: auto;
  flex-grow: 1;
  padding: 28px 0;
  margin-left: 30px;
  font-size: 12px;
  float: left;
}
.footer-sub-btn-language {
  flex-basis: 70px;
  margin-right: 69px;
}
.footer .type-no-border {
  padding-top: 0;
}
.footer .type-no-border .footer-main {
  border-top: none;
}

@media screen and (min-width: 768px) and (max-width: 1279px) {
  .footer-sub-company-name {
    flex-basis: 200px;
  }
}
@media screen and (max-width: 767px) {
  .footer-main {
    width: 100%;
    padding: 0;
    border-top: 1px solid #e5e5e5;
  }
  .footer-main-inner {
    width: 100%;
    min-width: 1px;
    margin: 0 auto;
  }
  .footer-main-links .lv01 {
    overflow: hidden;
  }
  .footer-main-links .lv01 > li {
    float: none;
    width: 100%;
    border-bottom: 1px solid #e5e5e5;
  }
  .footer-main-links .lv01 > li > a {
    display: block;
    position: relative;
    padding: 18px 15px 17px;
    font-size: 12px;
  }
  .footer-main-links .lv01 > li > a:hover {
    opacity: 1;
  }
  .footer-main-links .lv01 > li > a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    width: 10px;
    height: 6px;
    margin-top: -3px;
    background: url(/common/img/ico_arrow_down_ft_01_sp_ac.png) 0 0 no-repeat;
    background-size: 10px 6px;
  }
  .footer-main-links .lv01 > li > a.is-active:after {
    transform: rotate(180deg);
  }
  .footer-main-links .lv01 > li > a.no-lv:after, .footer-main-links .lv01 > li > a.no-lv:hover:after, .footer-main-links .lv01 > li > a.no-lv.is-active:after {
    transform: rotate(0deg);
    right: 13px;
    background: url(/common/img/ico_blank_01_@2x_ac.png) 0 0 no-repeat;
    background-size: 16px 16px;
  }
  .footer-main-links .lv01 > li > a.no-icon::after {
    content: none;
  }
  .footer-main-links .lv01 > li.last {
    width: 100%;
  }
  .footer-main-links .lv02 {
    display: none;
    padding: 30px 0;
    margin-top: 0;
    border-top: 1px solid #e5e5e5;
  }
  .footer-main-links .lv02 > li > a {
    display: block;
    padding-left: 30px;
    position: relative;
    font-size: 14px;
  }
  .footer-main-links .lv02 > li > a::after {
    display: none;
  }
  .footer-main-links .lv02 > li + li {
    margin-top: 15px;
  }
  .footer-sub-inner {
    width: 100%;
    margin: 0;
    padding: 25px 0;
  }
  .footer-sub-content {
    display: block;
  }
  .footer-sub-language {
    padding: 0;
  }
  .footer-sub-company-name {
    padding: 0;
    font-size: 12px;
  }
  .footer-sub-copyright {
    margin-top: 10px;
    margin-left: 0;
    padding: 0;
    font-size: 9px;
    line-height: 1.4;
  }
  .footer-sub-btn-language {
    margin-right: 0;
  }
}
/* ----------------------------------------------------------
 footer english
---------------------------------------------------------- */
.lang-en .footer-sub-company-name {
  flex-basis: 310px;
}

.lang-en .footer-main .footer-links .lv02 > li > a {
  line-height: 1.5;
}

.lang-en .footer-main .footer-links .lv02 > li + li {
  margin-top: 8px;
}

.lang-en .footer-sub .footer-in {
  width: 1170px;
  margin: 0 auto;
}

.lang-en .footer-sub .footer-company-name {
  line-height: 1;
  padding: 31px 0;
  float: left;
  font-size: 14px;
  font-weight: bold;
}

.lang-en .footer-sub .footer-copyright {
  padding: 28px 0;
  margin-left: 30px;
  font-size: 12px;
  float: left;
}

.lang-en .footer-sub .btn-language {
  margin-right: 69px;
}

.lang-en .footer.type-no-border {
  padding-top: 0;
}

.lang-en .footer.type-no-border .footer-main {
  border-top: none;
}

@media screen and (max-width: 767px) {
  .lang-en .footer {
    padding-top: 10px;
    padding-bottom: 0;
  }
  .lang-en .footer-main {
    padding: 0;
    border-top: 1px solid #e5e5e5;
  }
  .lang-en .footer-main .footer-in {
    width: 100%;
    margin: 0 auto;
  }
  .lang-en .footer-main .footer-links .lv01 {
    overflow: hidden;
  }
  .lang-en .footer-main .footer-links .lv01 > li {
    float: none;
    width: 100%;
    border-bottom: 1px solid #e5e5e5;
  }
  .lang-en .footer-main .footer-links .lv01 > li > a {
    display: block;
    position: relative;
    padding: 18px 15px 17px;
    font-size: 12px;
  }
  .lang-en .footer-main .footer-links .lv01 > li > a:hover {
    opacity: 1;
  }
  .lang-en .footer-main .footer-links .lv01 > li > a:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    width: 10px;
    height: 6px;
    margin-top: -3px;
    background: url(/common/img/ico_arrow_down_ft_01_sp_ac.png) 0 0 no-repeat;
    background-size: 10px 6px;
  }
  .lang-en .footer-main .footer-links .lv01 > li > a.is-active:after {
    transform: rotate(180deg);
  }
  .lang-en .footer-main .footer-links .lv01 > li > a.no-lv:after,
  .lang-en .footer-main .footer-links .lv01 > li > a.no-lv:hover:after,
  .lang-en .footer-main .footer-links .lv01 > li > a.no-lv.is-active:after {
    transform: rotate(0deg);
    right: 13px;
    background: url(/common/img/ico_blank_01_@2x_ac.png) 0 0 no-repeat;
    background-size: 16px 16px;
  }
  .lang-en .footer-main .footer-links .lv01 > li.last {
    width: 100%;
  }
  .lang-en .footer-main .footer-links .lv01 > li:last-child {
    border-bottom: none;
  }
  .lang-en .footer-main .footer-links .lv02 {
    display: none;
    padding: 30px 0;
    margin-top: 0;
    border-top: 1px solid #e5e5e5;
  }
  .lang-en .footer-main .footer-links .lv02 > li > a {
    display: block;
    padding-left: 30px;
    position: relative;
    font-size: 14px;
  }
  .lang-en .footer-main .footer-links .lv02 > li > a:after {
    display: none;
  }
  .lang-en .footer-main .footer-links .lv02 > li + li {
    margin-top: 12px;
  }
  .lang-en .footer-sub .footer-in {
    width: 100%;
  }
  .lang-en .footer-sub .footer-company-name {
    padding: 15px 15px 0;
    float: none;
    font-size: 12px;
  }
  .lang-en .footer-sub .footer-copyright {
    padding: 10px 15px 12px;
    margin-left: 0;
    font-size: 9px;
    float: left;
  }
  .lang-en .footer-sub .btn-language {
    margin-right: 0;
  }
}
/* grid-cmn
---------------------------------------------------------- */
.grid-cmn {
  text-align: left;
}

@media screen and (min-width: 768px) {
  .grid-cmn .col {
    float: left;
  }
  .grid-cmn .col.clear,
  .grid-cmn .col:first-child {
    clear: both;
  }
  .grid-cmn.type-inline .grid-cmn-in {
    font-size: 0;
  }
  .grid-cmn.type-inline .col {
    font-size: medium;
    display: inline-block;
    float: none;
    vertical-align: top;
  }
  .grid-cmn.type-inline.line-left {
    text-align: left;
  }
  .grid-cmn.type-inline.line-right {
    text-align: right;
  }
  .grid-cmn.type-inline.line-center {
    text-align: center;
  }
  .grid-cmn.type-inline.line-top .grid-cmn-in > .col {
    vertical-align: top;
  }
  .grid-cmn.type-inline.line-middle .grid-cmn-in > .col {
    vertical-align: middle;
  }
  .grid-cmn.type-inline.line-bottom .grid-cmn-in > .col {
    vertical-align: bottom;
  }
  .grid-cmn.pc-cols-order .col.w-01x12 {
    width: 8.333%;
  }
  .grid-cmn.pc-cols-order .col.w-02x12 {
    width: 16.666%;
  }
  .grid-cmn.pc-cols-order .col.w-03x12 {
    width: 25%;
  }
  .grid-cmn.pc-cols-order .col.w-04x12 {
    width: 33.333%;
  }
  .grid-cmn.pc-cols-order .col.w-05x12 {
    width: 41.666%;
  }
  .grid-cmn.pc-cols-order .col.w-06x12 {
    width: 50%;
  }
  .grid-cmn.pc-cols-order .col.w-07x12 {
    width: 58.333%;
  }
  .grid-cmn.pc-cols-order .col.w-08x12 {
    width: 66.666%;
  }
  .grid-cmn.pc-cols-order .col.w-09x12 {
    width: 75%;
  }
  .grid-cmn.pc-cols-order .col.w-10x12 {
    width: 83.333%;
  }
  .grid-cmn.pc-cols-order .col.w-11x12 {
    width: 91.666%;
  }
  .grid-cmn.pc-cols-order .col.w-12x12 {
    width: 100%;
  }
  .grid-cmn.pc-cols-full .col {
    width: 100%;
  }
  .grid-cmn.pc-cols-full .col:nth-child(1n+1) {
    clear: both;
  }
  .grid-cmn.pc-cols-02 .col {
    width: 50%;
  }
  .grid-cmn.pc-cols-02 .col:nth-child(-n+2) {
    margin-top: 0;
  }
  .grid-cmn.pc-cols-02 .col:nth-child(2n+1) {
    clear: both;
  }
  .grid-cmn.pc-cols-03 .col {
    width: 33.333%;
  }
  .grid-cmn.pc-cols-03 .col:nth-child(3n+1) {
    clear: both;
  }
  .grid-cmn.pc-cols-04 .col {
    width: 25%;
  }
  .grid-cmn.pc-cols-04 .col:nth-child(4n+1) {
    clear: both;
  }
  .grid-cmn.pc-cols-06 .col {
    width: 16.666%;
  }
  .grid-cmn.pc-cols-06 .col:nth-child(6n+1) {
    clear: both;
  }
  .grid-cmn.pc-cols-12 .col {
    width: 8.3333%;
  }
  .grid-cmn.pc-cols-12 .col:nth-child(12n+1) {
    clear: both;
  }
  .grid-cmn.pc-cols-05to07 .col:nth-child(1n) {
    width: 41.666%;
  }
  .grid-cmn.pc-cols-05to07 .col:nth-child(2n) {
    width: 58.334%;
  }
  .grid-cmn.pc-cols-05to07 .col:nth-child(2n+1) {
    clear: both;
  }
  .grid-cmn.pc-cols-01to02 .col:nth-child(1n) {
    width: 33.333%;
  }
  .grid-cmn.pc-cols-01to02 .col:nth-child(2n) {
    width: 66.667%;
  }
  .grid-cmn.pc-cols-01to02 .col:nth-child(2n+1) {
    clear: both;
  }
  .grid-cmn.space-card .grid-cmn-in {
    margin-left: -15px;
    margin-right: -15px;
    margin-top: -54px;
  }
  .grid-cmn.space-card .col {
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 54px;
  }
  .grid-cmn.space-01 .grid-cmn-in {
    margin-left: -15px;
    margin-right: -15px;
    margin-top: -30px;
  }
  .grid-cmn.space-01 .col {
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 30px;
  }
  .grid-cmn.space-02 .grid-cmn-in {
    margin-left: -15px;
    margin-right: -15px;
    margin-top: -30px;
  }
  .grid-cmn.space-02 .col {
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 30px;
  }
  .grid-cmn.space-link .grid-cmn-in {
    margin-left: -35px;
    margin-right: -35px;
    margin-top: -30px;
  }
  .grid-cmn.space-link .col {
    padding-left: 35px;
    padding-right: 35px;
    padding-top: 30px;
  }
  .grid-cmn.space-figure .grid-cmn-in {
    margin-left: -15px;
    margin-right: -15px;
    margin-top: -30px;
  }
  .grid-cmn.space-figure .col {
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 30px;
    text-align: center;
  }
  .grid-cmn.space-figure-02 .grid-cmn-in {
    margin-left: -20px;
    margin-right: -20px;
    margin-top: -30px;
  }
  .grid-cmn.space-figure-02 .col {
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 30px;
    text-align: center;
  }
  .grid-cmn.space-sitemap {
    margin-top: 2em;
  }
  .grid-cmn.space-sitemap .grid-cmn-in {
    margin-left: -20px;
    margin-right: -20px;
    margin-top: -55px;
  }
  .grid-cmn.space-sitemap .col {
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 55px;
  }
  .grid-cmn.space-mod-accordion {
    margin-top: 2em;
  }
  .grid-cmn.space-mod-accordion .grid-cmn-in {
    margin-left: -20px;
    margin-right: -20px;
    margin-top: 0;
  }
  .grid-cmn.space-mod-accordion .col {
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 0;
  }
  .sec-cmn-03 + .grid-cmn {
    margin-top: 10px;
  }
  .grid-cmn.space-categories .grid-cmn-in {
    margin-left: -20px;
    margin-right: -20px;
    margin-top: -60px;
  }
  .grid-cmn.space-categories .col {
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 60px;
  }
  .sec-cmn-03 + .grid-cmn {
    margin-top: 10px;
  }
  .ttl-cmn-03 + .grid-cmn {
    margin-top: 35px;
  }
  .txt-cmn + .grid-cmn {
    margin-top: 50px;
  }
  .mod-float.space-talk + .grid-cmn {
    margin-top: 3em;
  }
}
@media screen and (max-width: 767px) {
  .grid-cmn.type-inline .grid-cmn-in {
    font-size: 0;
  }
  .grid-cmn.type-inline .col {
    font-size: medium;
    display: inline-block;
    float: none;
    vertical-align: top;
  }
  .grid-cmn.type-inline.line-left {
    text-align: left;
  }
  .grid-cmn.type-inline.line-right {
    text-align: right;
  }
  .grid-cmn.type-inline.line-center {
    text-align: center;
  }
  .grid-cmn.type-inline.line-top .grid-cmn-in > .col {
    vertical-align: top;
  }
  .grid-cmn.type-inline.line-middle .grid-cmn-in > .col {
    vertical-align: middle;
  }
  .grid-cmn.type-inline.line-bottom .grid-cmn-in > .col {
    vertical-align: bottom;
  }
  .grid-cmn .col {
    width: 100%;
    float: left;
  }
  .grid-cmn.sp-cols-auto .col {
    width: auto;
  }
  .grid-cmn.sp-cols-full .col {
    width: 100%;
  }
  .grid-cmn.sp-cols-full .col:nth-child(1n+1) {
    clear: both;
  }
  .grid-cmn.sp-cols-02 .col {
    width: 50%;
  }
  .grid-cmn.sp-cols-02 .col:nth-child(2n+1) {
    clear: both;
  }
  .grid-cmn.sp-cols-03 .col {
    width: 33.333%;
  }
  .grid-cmn.sp-cols-03 .col:nth-child(3n+1) {
    clear: both;
  }
  .grid-cmn.sp-cols-04 .col {
    width: 25%;
  }
  .grid-cmn.sp-cols-04 .col:nth-child(4n+1) {
    clear: both;
  }
  .grid-cmn.space-card .col {
    margin-bottom: 23px;
  }
  .grid-cmn.space-01 .grid-cmn-in {
    margin-top: -15px;
  }
  .grid-cmn.space-01 .col {
    padding-top: 15px;
  }
  .grid-cmn.space-02 .grid-cmn-in {
    margin-top: -15px;
    margin-left: -5px;
    margin-right: -5px;
  }
  .grid-cmn.space-02 .col {
    padding-top: 15px;
    padding-left: 5px;
    padding-right: 5px;
  }
  .grid-cmn.space-link .grid-cmn-in {
    margin-left: -5px;
    margin-right: -5px;
    margin-top: -10px;
  }
  .grid-cmn.space-link .col {
    padding-left: 5px;
    padding-right: 5px;
    padding-top: 10px;
    text-align: center;
  }
  .grid-cmn.space-figure .grid-cmn-in {
    margin-left: -5px;
    margin-right: -5px;
    margin-top: -10px;
  }
  .grid-cmn.space-figure .col {
    padding-left: 5px;
    padding-right: 5px;
    padding-top: 10px;
    text-align: center;
  }
  .grid-cmn.space-figure-02 .grid-cmn-in {
    margin-left: -10px;
    margin-right: -10px;
    margin-top: -10px;
  }
  .grid-cmn.space-figure-02 .col {
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 10px;
    text-align: center;
  }
  .grid-cmn.space-sitemap {
    margin-top: 1.5em;
  }
  .grid-cmn.space-sitemap .grid-cmn-in {
    margin-left: -10px;
    margin-right: -10px;
    margin-top: -1em;
  }
  .grid-cmn.space-sitemap .col {
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 1.5em;
  }
  .grid-cmn.space-categories .grid-cmn-in {
    margin-left: -15px;
    margin-right: -15px;
    margin-top: -30px;
  }
  .grid-cmn.space-categories .col {
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 30px;
  }
  .sec-cmn-03 + .grid-cmn {
    margin-top: 25px;
  }
  .txt-cmn + .grid-cmn {
    margin-top: 30px;
  }
  .mod-float.space-talk + .grid-cmn {
    margin-top: 3em;
  }
}
/* ----------------------------------------------------------
 title
---------------------------------------------------------- */
/* ttl-cmn-01
---------------------------------------------------------- */
.ttl-cmn-01 {
  position: relative;
  padding: 28px 0 28px 2px;
  margin-bottom: 32px;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 0.06em;
  text-align: left;
  border-bottom: 1px solid #e5e5e5;
}

.ttl-cmn-01 + .ttl-cmn-01 {
  margin-top: 24px;
}

.ttl-cmn-01 + .ttl-cmn-02,
.ttl-cmn-01 + .ttl-cmn-03,
.ttl-cmn-01 + .ttl-cmn-04 {
  margin-top: 0;
}

.ttl-cmn-01:after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 70px;
  height: 3px;
  background-color: #db000a;
}

.ttl-cmn-01 .main {
  display: block;
}

.ttl-cmn-01 .sub {
  display: block;
  padding-top: 4px;
  padding-bottom: 11px;
  font-size: 16px;
  letter-spacing: normal;
  color: #db000a;
  font-family: robot, eng_def, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .ttl-cmn-01 {
    position: relative;
    padding: 20px 0 19px 0;
    margin-bottom: 26px;
    font-size: 22px;
  }
  .ttl-cmn-01 + .ttl-cmn-01 {
    margin-top: 5px;
  }
  .ttl-cmn-01:after {
    content: "";
    position: absolute;
    width: 65px;
    height: 3px;
    background-color: #db000a;
  }
  .ttl-cmn-01 .sub {
    padding-top: 3px;
    padding-bottom: 5px;
    font-size: 13px;
  }
}
/* english */
.lang-en .ttl-cmn-01 .main {
  font-family: robot_b, robot, eng_def, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
  letter-spacing: -0.008em;
}

@media screen and (min-width: 768px) {
  .lang-en .ttl-cmn-01 {
    padding: 22px 0 28px 2px;
  }
}
/* ttl-cmn-02
---------------------------------------------------------- */
.ttl-cmn-02 {
  margin-top: 35px;
  margin-bottom: 32px;
  font-size: 24px;
  font-weight: bold;
  text-align: left;
}

.ttl-cmn-02:not(.section-top):first-child {
  margin-top: 0;
}

.ttl-cmn-02 + .ttl-cmn-01,
.ttl-cmn-02 + .ttl-cmn-03,
.ttl-cmn-02 + .ttl-cmn-04 {
  margin-top: 0;
}

.ttl-cmn-02 .main {
  display: block;
  position: relative;
  padding: 15px 0 19px;
}

.ttl-cmn-02 .main:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 35px;
  height: 3px;
  background-color: #db000a;
}

@media screen and (max-width: 767px) {
  .ttl-cmn-02 {
    margin-top: 20px;
    margin-bottom: 20px;
    font-size: 18px;
  }
  .ttl-cmn-02 .main {
    display: block;
    padding: 15px 0 13px;
  }
  .ttl-cmn-02 .main:after {
    width: 36px;
    height: 3px;
  }
  .ttl-cmn-02 img {
    width: 100%;
  }
}
/* english */
.lang-en .ttl-cmn-02 {
  font-family: robot_b, robot, eng_def, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
}

@media screen and (min-width: 768px) {
  .lang-en .ttl-cmn-02 .main {
    padding: 15px 0 23px;
  }
}
@media screen and (max-width: 767px) {
  .lang-en .ttl-cmn-02 {
    font-size: 17px;
  }
  .lang-en .ttl-cmn-02 .main {
    padding: 17px 0 16px;
  }
}
/* ttl-cmn-03
---------------------------------------------------------- */
.ttl-cmn-03 {
  margin-top: 35px;
  padding: 13px 0 13px;
  font-size: 20px;
  font-weight: bold;
  text-align: left;
  border-bottom: 1px solid #e5e5e5;
}

.ttl-cmn-03:first-child {
  margin-top: 0;
}

.mod-float .content .ttl-cmn-03:first-child {
  padding-top: 0;
}

@media screen and (max-width: 767px) {
  .ttl-cmn-03 {
    padding: 9px 0 7px;
    font-size: 14px;
    margin-bottom: 1.5em;
  }
  .mod-float .content .ttl-cmn-03:first-child {
    padding-top: 9px;
  }
}
/* ttl-cmn-04
---------------------------------------------------------- */
.ttl-cmn-04 {
  margin-top: 1em;
  padding: 13px 0 13px;
  font-size: 18px;
  font-weight: bold;
  text-align: left;
}

.ttl-cmn-04:first-child {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .ttl-cmn-04 {
    padding: 9px 0 7px;
    font-size: 14px;
    font-weight: bold;
  }
}
/* ttl-modal-01
---------------------------------------------------------- */
.ttl-modal-01 {
  padding: 10px 0 8px;
  border-bottom: 1px solid #e5e5e5;
  text-align: left;
}

.ttl-modal-01 .detail {
  display: block;
  vertical-align: middle;
}

.ttl-modal-01 .title {
  display: block;
  overflow: hidden;
  font-size: 30px;
  font-weight: bold;
}

.ttl-modal-01 .close {
  display: block;
  float: right;
  margin-left: 2em;
  padding-top: 6px;
}

.ttl-modal-01 .close a {
  position: relative;
  display: inline-block;
  padding-right: 20px;
  font-size: 14px;
}

.ttl-modal-01 .close a:hover {
  opacity: 0.7;
}

.ttl-modal-01 .close a:before,
.ttl-modal-01 .close a:after {
  content: "";
  top: 50%;
  position: absolute;
  right: 0;
  width: 15px;
  height: 2px;
  margin-top: -1px;
  background-color: #333333;
}

.ttl-modal-01 .close a:before {
  transform: rotate(45deg);
}

.ttl-modal-01 .close a:after {
  transform: rotate(-45deg);
}

@media screen and (max-width: 767px) {
  .ttl-modal-01 {
    padding: 9px 0 6px;
  }
  .ttl-modal-01 .title {
    font-size: 22px;
  }
  .ttl-modal-01 .close {
    margin-left: 2em;
    padding-top: 8px;
  }
  .ttl-modal-01 .close a {
    padding-right: 20px;
    font-size: 13px;
    font-weight: bold;
  }
  .ttl-modal-01 .close a:hover {
    opacity: 1;
  }
  .ttl-modal-01 .close a:before,
  .ttl-modal-01 .close a:after {
    width: 13px;
    height: 2px;
    margin-top: -1px;
  }
}
/* ttl-modal-02
---------------------------------------------------------- */
.ttl-modal-02 .main {
  display: block;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .ttl-modal-02 .main {
    font-size: 13px;
  }
}
/* ttl-pickup
---------------------------------------------------------- */
.ttl-pickup {
  font-size: 16px;
  text-align: center;
}

.ttl-pickup .title {
  line-height: 1;
  font-size: 30px;
  font-family: robot, eng_def, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
  color: #db000a;
}

.ttl-pickup .sub {
  margin-top: 13px;
}

@media screen and (max-width: 767px) {
  .ttl-pickup {
    font-size: 13px;
  }
  .ttl-pickup .title {
    display: inline-block;
    font-size: 26px;
  }
  .ttl-pickup .title img {
    width: 100%;
    max-width: 73px;
  }
  .ttl-pickup .sub {
    margin-top: 12px;
  }
}
/* ttl-competition
---------------------------------------------------------- */
.ttl-competition .detail {
  display: block;
  padding-bottom: 3px;
}

.ttl-competition .detail .main {
  display: block;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}

.ttl-competition .detail .main .inner {
  position: relative;
  display: inline-block;
  padding: 15px 0 18px;
}

.ttl-competition .detail .main .inner:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 70%;
  margin-left: -35%;
  height: 3px;
  background-color: #db000a;
}

.ttl-competition .icon {
  display: block;
  line-height: 1;
  text-align: center;
}

.ttl-competition .icon .badge {
  width: 80px;
  margin-top: -30px;
}

@media screen and (max-width: 767px) {
  .ttl-competition .detail {
    padding-bottom: 2px;
  }
  .ttl-competition .detail .main {
    font-size: 18px;
  }
  .ttl-competition .detail .main .inner {
    padding: 15px 0 15px;
  }
  .ttl-competition .detail .main .inner:after {
    width: 100%;
    margin-left: -50%;
    height: 3px;
    background-color: #db000a;
  }
  .ttl-competition .icon {
    display: block;
    line-height: 1;
    text-align: center;
  }
  .ttl-competition .icon .badge {
    width: 60px;
    margin-top: -20px;
  }
}
/* ttl-links-01
---------------------------------------------------------- */
.ttl-links-01 {
  padding: 13px 0 12px;
  margin-bottom: 32px;
  border-bottom: 1px solid #e5e5e5;
}

.ttl-links-01 .main {
  font-size: 20px;
}

.ttl-links-01 .main .links .icon {
  position: relative;
  margin-left: 20px;
  font-weight: bold;
}

.ttl-links-01 .main .links .icon:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 11px;
  height: 18px;
  margin-top: -9px;
  background: url(/common/img/ico_arrow_right_02.png) 0 0 no-repeat;
  background-size: 11px 18px;
}

.ttl-links-01.type-blank .main .links .icon {
  margin-left: 30px;
}

.ttl-links-01.type-blank .main .links .icon:before {
  width: 20px;
  height: 20px;
  margin-top: -12px;
  background: url(/common/img/ico_blank_02_@2x_ac.png) 0 0 no-repeat;
  background-size: 20px 20px;
}

@media screen and (max-width: 767px) {
  .ttl-links-01 {
    margin-bottom: 20px;
  }
  .ttl-links-01 .main {
    font-size: 18px;
  }
  .ttl-links-01 .main .links .icon:before {
    width: 10px;
    height: 15px;
    margin-top: -8px;
    background-size: 10px 15px;
  }
  .ttl-links-01.type-blank .main .links .icon {
    margin-left: 28px;
  }
  .ttl-links-01.type-blank .main .links .icon:before {
    width: 18px;
    height: 18px;
    margin-top: -10px;
    background-size: 18px 18px;
  }
}
/* ----------------------------------------------------------
 text
---------------------------------------------------------- */
/* txt-cmn
---------------------------------------------------------- */
.txt-cmn {
  margin-top: 1.85em;
  line-height: 1.85;
  text-align: left;
}

.txt-cmn:first-child {
  margin-top: 0;
}

.ttl-cmn-04 + .txt-cmn {
  margin-top: 0;
}

.sec-inner-read .ttl-cmn-04 + .txt-cmn {
  margin-top: 1em;
}

.mod-float .txt-cmn:first-child {
  margin-top: -2px;
}

@media screen and (max-width: 767px) {
  .txt-cmn {
    margin-top: 1.8em;
    line-height: 1.8;
  }
  .mod-float .txt-cmn:first-child {
    margin-top: 0;
  }
}
.lang-en .txt-cmn {
  font-family: eng_def, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
}

@media screen and (min-width: 768px) {
  .lang-en .txt-cmn {
    font-size: 14px;
    margin-top: 2em;
  }
  .lang-en .txt-cmn:first-child {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .lang-en .txt-cmn {
    font-size: 12px;
    margin-top: 1em;
  }
  .lang-en .txt-cmn:first-child {
    margin-top: 0;
  }
}
/* txt-caption
---------------------------------------------------------- */
.txt-caption {
  font-size: 14px;
  margin-top: 1.85em;
  line-height: 1.85;
  text-align: left;
}

.txt-caption:first-child {
  margin-top: 0;
}

.mod-float .txt-caption:first-child {
  margin-top: -2px;
}

@media screen and (max-width: 767px) {
  .txt-caption {
    font-size: 12px;
    margin-top: 1.8em;
    line-height: 1.8;
  }
  .mod-float .txt-caption:first-child {
    margin-top: 0;
  }
}
.lang-en .txt-caption {
  font-family: eng_def, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
}

@media screen and (min-width: 768px) {
  .lang-en .txt-caption {
    font-size: 12px;
    margin-top: 2em;
  }
  .lang-en .txt-caption:first-child {
    margin-top: 0;
  }
}
/* txt-modal
---------------------------------------------------------- */
.txt-modal {
  font-size: 16px;
  margin-top: 1.85em;
  line-height: 1.85;
}

.txt-modal:first-child {
  margin-top: 0;
}

.mod-float .txt-modal:first-child {
  margin-top: -2px;
}

@media screen and (max-width: 767px) {
  .txt-modal {
    font-size: 13px;
    margin-top: 1.5em;
    line-height: 1.5;
  }
  .ttl-modal-02 + .txt-modal {
    margin-top: 1em;
  }
  .mod-float .txt-modal:first-child {
    margin-top: 0;
  }
}
/* txt-image
---------------------------------------------------------- */
.txt-image {
  vertical-align: middle;
  padding-bottom: 0.15em;
}

/* ----------------------------------------------------------
 list
---------------------------------------------------------- */
/* list-cmn
---------------------------------------------------------- */
.list-cmn {
  margin-top: 1em;
  text-align: left;
}

.list-cmn:first-child {
  margin-top: 0;
}

.ttl-cmn-04 + .list-cmn {
  margin-top: 0;
}

.list-cmn > li {
  margin-top: 1em;
}

.list-cmn > li:first-child {
  margin-top: 0;
}

.list-cmn.type-num {
  counter-reset: liNum 0;
}

.list-cmn.type-num > li {
  counter-increment: liNum1;
  position: relative;
  padding-left: 1.3em;
}

.list-cmn.type-num > li.esc {
  counter-increment: liNum0;
}

.list-cmn.type-num > li.esc:before {
  display: none;
}

.list-cmn.type-num > li:before {
  content: counter(liNum) ".";
  position: absolute;
  top: 0;
  left: 0;
  font-weight: bold;
}

/* Asterisk + num */
.list-cmn.type-aster-num {
  counter-reset: liAsterNum 0;
}

.list-cmn.type-aster-num > li {
  counter-increment: liAsterNum1;
  position: relative;
  padding-left: 2em;
}

.list-cmn.type-aster-num > li.esc {
  counter-increment: liAsterNum0;
}

.list-cmn.type-aster-num > li.esc:before {
  display: none;
}

.list-cmn.type-aster-num > li:before {
  content: "※" counter(liAsterNum) " ";
  position: absolute;
  top: 0;
  left: 0;
}

.list-cmn.type-check > li {
  position: relative;
  padding-left: 1.6em;
}

.list-cmn.type-check > li.esc:before {
  display: none;
}

.list-cmn.type-check > li:before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 18px;
  height: 14px;
  margin-top: -0.25em;
  background: url(/common/img/ico_check_01_pc_ac.png);
}

@media screen and (max-width: 767px) {
  .list-cmn.type-check > li:before {
    top: 0.5em;
    left: 0;
    width: 14px;
    height: 11px;
    margin-top: -0.25em;
    background: url(/common/img/ico_check_01_pc_ac.png);
    background-size: 14px 11px;
  }
}
.list-cmn.type-disc {
  counter-reset: liNum 0;
}

.list-cmn.type-disc > li {
  counter-increment: liNum1;
  position: relative;
  padding-left: 1em;
}

.list-cmn.type-disc > li.esc:before {
  display: none;
}

.list-cmn.type-disc > li:before {
  font-size: 0.75em;
  content: "●";
  position: absolute;
  top: 0.5em;
  left: 0;
  margin-top: -0.3em;
  font-weight: bold;
  color: #db000a;
}

.list-cmn.type-aster {
  counter-reset: liNum 0;
}

.list-cmn.type-aster > li {
  counter-increment: liNum1;
  position: relative;
  padding-left: 1em;
}

.list-cmn.type-aster > li.esc:before {
  display: none;
}

.list-cmn.type-aster > li:before {
  font-size: 0.75em;
  content: "※";
  position: absolute;
  top: 0.5em;
  left: 0;
  margin-top: -0.3em;
  font-weight: bold;
  /* color: #db000a; */
}

.list-cmn.type-aster-en {
  counter-reset: liNum 0;
}

.list-cmn.type-aster-en > li {
  counter-increment: liNum1;
  position: relative;
  padding-left: 1em;
}

.list-cmn.type-aster-en > li.esc:before {
  display: none;
}

.list-cmn.type-aster-en > li:before {
  font-size: 0.75em;
  content: "*";
  position: absolute;
  top: 0.5em;
  left: 0;
  margin-top: -0.3em;
  font-weight: bold;
  /* color: #db000a; */
}

/* Asterisk + num + en */
.list-cmn.type-aster-num-en {
  counter-reset: liAsterNum 0;
}

.list-cmn.type-aster-num-en > li {
  counter-increment: liAsterNum1;
  position: relative;
  padding-left: 2em;
}

.list-cmn.type-aster-num-en > li.esc {
  counter-increment: liAsterNum0;
}

.list-cmn.type-aster-num-en > li.esc:before {
  display: none;
}

.list-cmn.type-aster-num-en > li:before {
  content: "*" counter(liAsterNum) " ";
  position: absolute;
  top: 0;
  left: 0;
}

/* list-data
---------------------------------------------------------- */
.list-data {
  margin-top: 25px;
  overflow: hidden;
}

.list-data-wrap {
  width: 470px;
  margin-top: 20px;
}

.list-data-wrap.-wide {
  width: 100%;
}

.list-data:first-child {
  margin-top: 0;
}

.list-data .title {
  float: left;
  width: 96px;
  font-weight: bold;
}

.list-data-wrap.-w6em .list-data .title {
  width: 6em;
}

.list-data-wrap.-w7em .list-data .title {
  width: 7em;
}

.list-data-wrap.-w8em .list-data .title {
  width: 8em;
}

.list-data-wrap.-w9em .list-data .title {
  width: 9em;
}

.list-data-wrap.-w10em .list-data .title {
  width: 10em;
}

.list-data .data {
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .list-data {
    line-height: 1.8;
    margin-top: 6px;
    overflow: hidden;
  }
  .list-data-wrap {
    width: 100%;
    margin-top: 15px;
  }
  .list-data:first-child {
    margin-top: 0;
  }
  .list-data .title {
    float: none;
    width: 100%;
  }
  .list-data-wrap.-wide .list-data .title {
    width: 100% !important;
  }
  .list-data .data {
    margin-top: 1px;
  }
}
/* list-sitemap
---------------------------------------------------------- */
.list-sitemap .lv02 {
  font-size: 14px;
  line-height: 1.7;
  margin-top: 13px;
}

.list-sitemap .lv02:first-child {
  margin-top: 0;
}

.list-sitemap .lv02 > li {
  position: relative;
  padding-left: 1em;
  margin-top: 10px;
}

.list-sitemap .lv02 > li:first-child {
  margin-top: 0;
}

.list-sitemap .lv02 > li:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "- ";
  color: #db000a;
}

@media screen and (max-width: 767px) {
  .list-sitemap .lv02 {
    font-size: 12px;
    margin-top: 0.6em;
  }
  .list-sitemap .lv02:first-child {
    margin-top: 0;
  }
  .list-sitemap .lv02 > li {
    padding-left: 1em;
    margin-top: 0.5em;
  }
  .list-sitemap .lv02 > li:first-child {
    margin-top: 0;
  }
}
/* list-information
---------------------------------------------------------- */
.list-information {
  margin-top: 20px;
  text-align: left;
}

.list-information:first-child {
  margin-top: 0;
}

.list-information > .item + .item {
  margin-top: 20px;
}

.list-information > .item a:hover .text {
  text-decoration: underline;
}

.list-information > .item .detail {
  display: inline-flex;
  align-items: flex-start;
}

.list-information > .item .detail .category {
  min-width: 100px;
  padding: 3px 5px 2px;
  font-size: 14px;
  text-align: center;
  color: #fff;
}

.list-information.-w6em > .item .detail .category {
  min-width: 6em;
}

.list-information.-w7em > .item .detail .category {
  min-width: 7em;
}

.list-information.-w8em > .item .detail .category {
  min-width: 8em;
}

.list-information.-w9em > .item .detail .category {
  min-width: 9em;
}

.list-information.-w10em > .item .detail .category {
  min-width: 10em;
}

.list-information > .item .detail .category.c-black {
  background-color: #333333;
}

.list-information > .item .detail .category.c-red {
  background-color: #db000a;
}

.list-information > .item .detail .date {
  min-width: 100px;
  margin-left: 18px;
  font-size: 16px;
}

.list-information > .item .detail .date:first-child {
  margin-left: 0;
}

.list-information > .item .detail .title {
  margin-left: 10px;
  font-size: 16px;
  font-weight: bold;
}

.list-information > .item .detail .title:first-child {
  margin-left: 0;
}

.list-information > .item .detail .text {
  margin-left: 10px;
  font-size: 16px;
}

.list-information > .item .detail .text:first-child {
  margin-left: 0;
}

.list-information > .item .detail .category + .text {
  margin-left: 18px;
}

.list-information.cat-c-red .category {
  background-color: #db000a;
}

.list-information.cat-c-black .category {
  background-color: #333333;
}

.list-information.space-01 > .item + .item {
  margin-top: 30px;
}

.list-information.space-02 > .item + .item {
  margin-top: 30px;
}

.list-information .ico-arrow {
  margin-left: 0.6em;
}

@media screen and (min-width: 768px) {
  .list-information.type-group_news .date {
    width: 140px;
  }
  .list-information.type-group_news .text {
    width: 1020px;
  }
}
@media screen and (max-width: 767px) {
  .list-information > .item .detail {
    display: block;
  }
  .list-information > .item .detail .category {
    float: left;
    min-width: 70px;
    padding: 1px 5px 1px;
    font-size: 12px;
    text-align: center;
    color: #fff;
  }
  .list-information > .item .detail .date {
    float: left;
    min-width: 0;
    padding-top: 2px;
    margin: 0 0 0 10px;
    font-size: 13px;
  }
  .list-information > .item .detail .title {
    clear: both;
    padding-top: 8px;
    margin-left: 0;
    font-size: 13px;
    line-height: 1.8;
  }
  .list-information > .item .detail .text {
    clear: both;
    padding-top: 8px;
    margin-left: 0;
    font-size: 13px;
    line-height: 1.8;
  }
  .list-information > .item .detail .title + .text {
    padding-top: 0;
  }
  .list-information > .item .detail .category + .text {
    margin-left: 0;
  }
  .list-information.space-02 > .item + .item {
    margin-top: 12px;
  }
}
/* ----------------------------------------------------------
 table
---------------------------------------------------------- */
/* table-cmn
---------------------------------------------------------- */
.table-cmn {
  margin-top: 20px;
  width: 100%;
}

.table-cmn:first-child {
  margin-top: 0;
}

.table-cmn th,
.table-cmn td {
  border: 1px solid #e5e5e5;
}

.table-cmn .cell-h,
.table-cmn .cell-d {
  color: #4f4f4f;
  text-align: center;
}

.table-cmn .cell-h {
  font-weight: bold;
}

.table-cmn .cell-d {
  font-weight: normal;
}

.table-cmn .head-cells .cell-h,
.table-cmn .head-cells .cell-d {
  padding: 12px 10px 9px;
}

.table-cmn .head-cells .cell-h {
  background-color: #f6f6f6;
}

.table-cmn .body-cells .cell-h,
.table-cmn .body-cells .cell-d {
  padding: 10px 15px 8px;
}

.table-cmn .body-cells .cell-h {
  background-color: #fbfbfb;
}

@media screen and (max-width: 767px) {
  .table-cmn {
    margin-top: 15px;
  }
  .table-cmn .head-cells .cell-h,
  .table-cmn .head-cells .cell-d {
    padding: 12px 8px 9px;
  }
  .table-cmn .head-cells .cell-h {
    background-color: #f6f6f6;
  }
  .table-cmn .body-cells .cell-h,
  .table-cmn .body-cells .cell-d {
    padding: 10px 8px 8px;
  }
  .table-cmn .body-cells .cell-h {
    background-color: #fbfbfb;
  }
}
.table-cmn-wrap {
  margin-top: 15px;
  width: 100%;
}

.table-cmn-wrap:first-child {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .table-cmn-wrap {
    padding: 1px 0;
    overflow-x: scroll;
  }
  .table-cmn-wrap .table-cmn {
    width: auto;
  }
}
.table-cmn.type-01 .cell-h {
  text-align: center;
}

.table-cmn.type-01 .cell-d {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .table-cmn.type-01 .cw-1 {
    width: 5.982%;
  }
  .table-cmn.type-01 .cw-2 {
    width: 23.5045%;
  }
  .table-cmn.type-01 .cw-3 {
    width: 23.5045%;
  }
  .table-cmn.type-01 .cw-4 {
    width: 23.5045%;
  }
  .table-cmn.type-01 .cw-5 {
    width: 23.5045%;
  }
}
@media screen and (max-width: 767px) {
  .table-cmn.type-01 {
    width: 200%;
  }
  .table-cmn.type-01 .cw-1 {
    width: 20px;
  }
}
.table-cmn.type-02 {
  width: 620px;
}

.table-cmn.type-02 .cell-h {
  text-align: center;
}

.table-cmn.type-02 .cell-d {
  text-align: left;
}

@media screen and (min-width: 768px) {
  .table-cmn.type-02 .cw-1 {
    width: 11.29%;
  }
  .table-cmn.type-02 .cw-1wide {
    width: 15%;
  }
  .table-cmn.type-02 .cw-1wideE {
    width: 20%;
  }
  .table-cmn.type-02 .cw-2 {
    width: 44.355%;
  }
  .table-cmn.type-02 .cw-2wideE {
    width: 55%;
  }
  .table-cmn.type-02 .cw-3 {
    width: 44.355%;
  }
}
@media screen and (max-width: 767px) {
  .table-cmn.type-02 {
    width: 100%;
  }
  .table-cmn.type-02 .cw-2 {
    width: 55%;
  }
}
.table-cmn.type-03 .cell-h {
  text-align: left;
}

.table-cmn.type-03 .cell-d {
  text-align: left;
}

@media screen and (min-width: 768px) {
  .table-cmn.type-03 {
    width: 570px;
  }
  .table-cmn.type-03 .cell-h {
    padding: 15px 20px 15px;
  }
  .table-cmn.type-03 .cell-d {
    padding: 15px 20px 15px;
  }
  .table-cmn.type-03 .cw-1 {
    width: 170px;
  }
}
@media screen and (max-width: 767px) {
  .table-cmn.type-03 {
    width: 100%;
  }
}
.table-cmn.type-04 {
  overflow: hidden;
}

.table-cmn.type-04 .line {
  display: table;
  border: 1px solid #e5e5e5;
}

/* 20190710 start for higurashibettei-museum table */
.table-cmn.type-04 .line > .cw-narrow {
  width: 130px;
}

/* 20190710 end for higurashibettei-museum table */
.table-cmn.type-04 .cell-h,
.table-cmn.type-04 .cell-d {
  display: table-cell;
  text-align: left;
}

.table-cmn.type-04 .cell-h {
  border-right: 1px solid #e5e5e5;
}

@media screen and (min-width: 768px) {
  .table-cmn.type-04 .line {
    float: left;
    width: 50%;
  }
  .table-cmn.type-04 .line:nth-child(2n+2) {
    border-left: none;
  }
  .table-cmn.type-04 .line:nth-child(n+3) {
    border-top: none;
  }
  .table-cmn.type-04 .cell-h {
    padding: 15px 20px 15px;
  }
  .table-cmn.type-04 .cell-d {
    padding: 15px 20px 15px;
  }
  .table-cmn.type-04 .cw-1 {
    width: 170px;
  }
  .table-cmn.type-04 .cw-2 {
    width: 415px;
  }
}
@media screen and (max-width: 767px) {
  .table-cmn.type-04 {
    width: 100%;
  }
  .table-cmn.type-04 .line {
    width: 100%;
  }
  .table-cmn.type-04 .line + .line {
    border-top: none;
  }
  .table-cmn.type-04 .cw-1 {
    width: 25%;
  }
  .table-cmn.type-04 .cw-2 {
    width: 75%;
  }
}
.table-cmn.type-05 {
  overflow: hidden;
}

.table-cmn.type-05 .line {
  display: table;
  border: 1px solid #e5e5e5;
}

.table-cmn.type-05 .cell-h,
.table-cmn.type-05 .cell-d {
  display: table-cell;
  text-align: left;
}

.table-cmn.type-05 .cell-h {
  border-right: 1px solid #e5e5e5;
}

@media screen and (min-width: 768px) {
  .table-cmn.type-05 .line {
    width: 100%;
  }
  .table-cmn.type-05 .line:nth-child(n+2) {
    border-top: none;
  }
  .table-cmn.type-05 .cell-h {
    padding: 10px 20px 10px;
  }
  .table-cmn.type-05 .cell-d {
    padding: 10px 20px 10px;
  }
  .table-cmn.type-05 .cw-1 {
    width: 50%;
  }
  .table-cmn.type-05 .cw-2 {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .table-cmn.type-05 {
    width: 100%;
  }
  .table-cmn.type-05 .line {
    width: 100%;
  }
  .table-cmn.type-05 .line + .line {
    border-top: none;
  }
  .table-cmn.type-05 .cw-1 {
    width: 50%;
  }
  .table-cmn.type-05 .cw-2 {
    width: 50%;
  }
}
/* ---- 20190628 add for shiryokan start ---- */
.table-cmn.type-02wide {
  width: 900px;
}

.table-cmn.type-02wide .cell-h {
  text-align: center;
}

.table-cmn.type-02wide .cell-d {
  text-align: left;
}

@media screen and (min-width: 768px) {
  .table-cmn.type-02wide .cw-1 {
    width: 70%;
  }
  .table-cmn.type-02wide .cw-3 {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .table-cmn.type-02wide {
    width: 100%;
  }
  .table-cmn.type-02wide .cw-2 {
    width: 55%;
  }
}
/* ---- 20190628 add for shiryokan end ---- */
/* ---- 20190702 add for senoku30thaniv start ---- */
.table-cmn.type-06 {
  width: 900px;
}

.table-cmn.type-06 .cell-h {
  text-align: center;
}

.table-cmn.type-06 .cell-d {
  text-align: left;
}

@media screen and (min-width: 768px) {
  .table-cmn.type-06 .cw-1 {
    width: 30%;
  }
}
@media screen and (max-width: 767px) {
  .table-cmn.type-06 {
    width: 100%;
  }
  .table-cmn.type-06 .cw-2 {
    width: 55%;
  }
}
/* ---- 20190702 add for senoku30thaniv end ---- */
@media screen and (min-width: 768px) {
  .cw-70-pc {
    width: 70px;
  }
  .cw-275-pc {
    width: 275px;
  }
  .cw-550-pc {
    width: 550px;
  }
}
@media screen and (max-width: 767px) {
  .cw-70-sp {
    width: 70px;
  }
  .cp-01-sp {
    padding: 0 3px !important;
  }
}
.table-scroll-icon {
  display: none;
}

@media screen and (max-width: 767px) {
  .table-scroll-icon {
    margin-top: 15px;
    display: block;
    position: relative;
    width: 100%;
    height: 26px;
  }
  .table-scroll-icon:after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    content: "";
    width: 20px;
    height: 26px;
    background: url(/common/img/ico_scroll_01.png) 0 0 no-repeat;
    background-size: 20px 26px;
  }
}
/* ----------------------------------------------------------
 button
---------------------------------------------------------- */
/* btn-cmn
---------------------------------------------------------- */
/* wrap */
.btn-cmn-wrap {
  vertical-align: middle;
  font-size: 0;
}

.btn-cmn-wrap.type-left {
  text-align: left;
}

.btn-cmn-wrap.type-center {
  text-align: center;
}

.btn-cmn-wrap.type-right {
  text-align: right;
}

@media screen and (min-width: 768px) {
  .btn-cmn-wrap.type-left-pc {
    text-align: left;
  }
  .btn-cmn-wrap.type-center-pc {
    text-align: center;
  }
  .btn-cmn-wrap.type-right-pc {
    text-align: right;
  }
  .btn-cmn-wrap.space-01 {
    margin-right: -16px;
    margin-left: -15px;
  }
  .btn-cmn-wrap.space-01 .btn-cmn {
    padding-right: 15px;
    padding-left: 15px;
  }
}
@media screen and (max-width: 767px) {
  .btn-cmn-wrap.type-left-sp {
    text-align: left;
  }
  .btn-cmn-wrap.type-center-sp {
    text-align: center;
  }
  .btn-cmn-wrap.type-right-sp {
    text-align: right;
  }
  .btn-cmn-wrap.space-01 {
    margin-right: -5px;
    margin-left: -5px;
  }
  .btn-cmn-wrap.space-01 .btn-cmn {
    padding-top: 10px;
    padding-right: 5px;
    padding-left: 5px;
  }
  .btn-cmn-wrap.sp-cols-02 .btn-cmn:nth-child(-n+2) {
    padding-top: 0;
  }
}
/* default */
.btn-cmn {
  display: inline-block;
  letter-spacing: normal;
  text-align: center;
  vertical-align: middle;
}

.btn-cmn .inner {
  position: relative;
  display: block;
  font-size: 16px;
  font-weight: bold;
  transition: 0.4s opacity;
  -webkit-transform-style: preserve-3d;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  overflow: hidden;
}

.btn-cmn .inner:hover {
  opacity: 0.7;
}

@media screen and (min-width: 768px) {
  .btn-cmn.w-lrg2 .inner {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .btn-cmn .inner {
    font-size: 12px;
  }
  .btn-cmn .inner:hover {
    opacity: 1;
  }
  .btn-cmn .inner.w-lrg2 {
    font-size: 14px;
  }
}
/* width */
@media screen and (min-width: 768px) {
  .btn-cmn.w-lrg2 .inner {
    min-width: 570px;
  }
  .btn-cmn.w-lrg .inner {
    min-width: 470px;
  }
  .btn-cmn.w-mid .inner {
    min-width: 370px;
  }
  .btn-cmn.w-sml .inner {
    min-width: 270px;
  }
  .btn-cmn.w-sml2 .inner {
    min-width: 170px;
  }
}
@media screen and (max-width: 767px) {
  .btn-cmn {
    width: 100%;
  }
  .btn-cmn-sp50per {
    width: 50%;
  }
  .btn-cmn.w-mid {
    min-width: 0;
  }
  .btn-cmn-wrap.sp-cols-02 .btn-cmn {
    width: 50%;
  }
}
/* height */
@media screen and (min-width: 768px) {
  .btn-cmn .inner {
    padding: 14px 40px 12px;
  }
  .btn-cmn.h-lrg .inner {
    padding: 18px 40px 15px;
  }
  .btn-cmn.h-sml .inner {
    padding: 9px 40px 7px;
  }
}
@media screen and (max-width: 767px) {
  .btn-cmn .inner {
    padding: 11px 30px 9px;
  }
  .btn-cmn .inner.h-sml {
    padding: 11px 30px 9px;
  }
}
/* color */
.btn-cmn.c-red .inner {
  color: #15aabf;
  border: 2px solid #15aabf;
}

.btn-cmn.c-red.bg-full .inner {
  color: #fff;
  background-color: #15aabf;
}

.btn-cmn.c-black .inner {
  color: #333333;
  border: 2px solid #333333;
}

.btn-cmn.c-black.bg-full .inner {
  color: #fff;
  background-color: #333333;
}

.btn-cmn.c-theme .inner {
  color: #e00012;
  border: 2px solid #e00012;
}

.btn-cmn.c-theme.bg-full .inner {
  color: #fff;
  background-color: #e00012;
}

.btn-cmn.bg-full .inner {
  box-shadow: 1px 1px 4px 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 1px 1px 4px 2px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 1px 1px 4px 2px rgba(0, 0, 0, 0.1);
}

/* margin-top */
.mod-persons-01 + .btn-cmn-wrap {
  margin-top: 60px;
}

.mod-float + .btn-cmn-wrap {
  margin-top: 10px;
}

.grid-cmn + .btn-cmn-wrap {
  margin-top: 40px;
}

.mod-horizon + .btn-cmn-wrap {
  margin-top: 40px;
}

.btn-cmn-wrap + .btn-cmn-wrap {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .btn-cmn-wrap {
    margin-top: 10px;
  }
  .btn-cmn-wrap:first-child {
    margin-top: 0;
  }
  .mod-persons-01 + .btn-cmn-wrap {
    margin-top: 30px;
  }
  .mod-float + .btn-cmn-wrap {
    margin-top: -3px;
  }
  .grid-cmn + .btn-cmn-wrap {
    margin-top: 30px;
  }
  .mod-horizon + .btn-cmn-wrap {
    margin-top: 15px;
  }
  .btn-cmn-wrap + .btn-cmn-wrap {
    margin-top: 30px;
  }
}
/* icon */
.btn-cmn .inner:before,
.btn-cmn .inner:after {
  content: "";
  position: absolute;
  top: 50%;
}

.btn-cmn .inner:before,
.btn-cmn .inner:after {
  background-color: #fff;
}

.btn-cmn.c-red .inner:before,
.btn-cmn.c-red .inner:after {
  background-color: #db000a;
}

.btn-cmn.c-red.bg-full .inner:before,
.btn-cmn.c-red.bg-full .inner:after {
  background-color: #fff;
}

.btn-cmn.c-black .inner:before,
.btn-cmn.c-black .inner:after {
  background-color: #333333;
}

.btn-cmn.c-black.bg-full .inner:before,
.btn-cmn.c-black.bg-full .inner:after {
  background-color: #fff;
}

.btn-cmn.type-pager .inner:before,
.btn-cmn.type-pager .inner:after {
  right: 17px;
  width: 8px;
  height: 2px;
}

.btn-cmn.type-pager .inner:before {
  margin-top: -3px;
  transform: rotate(45deg);
}

.btn-cmn.type-pager .inner:after {
  margin-top: 2px;
  transform: rotate(-45deg);
}

.btn-cmn.type-pager.w-sml2 .inner:before,
.btn-cmn.type-pager.w-sml2 .inner:after {
  right: 12px;
}

.btn-cmn.type-pager-lrg .inner:before,
.btn-cmn.type-pager-lrg .inner:after {
  right: 22px;
  width: 12px;
  height: 3px;
}

.btn-cmn.type-pager-lrg .inner:before {
  margin-top: -4px;
  transform: rotate(45deg);
}

.btn-cmn.type-pager-lrg .inner:after {
  margin-top: 3px;
  transform: rotate(-45deg);
}

.btn-cmn.type-pager-lrg.w-sml2 .inner:before,
.btn-cmn.type-pager-lrg.w-sml2 .inner:after {
  right: 12px;
}

.btn-cmn.type-scroll .inner:before,
.btn-cmn.type-scroll .inner:after {
  backface-visibility: hidden;
  right: 19px;
  width: 8px;
  height: 2px;
}

.btn-cmn.type-scroll .inner:before {
  margin-right: 2px;
  transform: rotate(45deg);
}

.btn-cmn.type-scroll .inner:after {
  margin-right: -3px;
  transform: rotate(-45deg);
}

.btn-cmn.type-scroll.w-sml2 .inner:before,
.btn-cmn.type-scroll.w-sml2 .inner:after {
  right: 14px;
}

.btn-cmn.type-scroll-re .inner:before,
.btn-cmn.type-scroll-re .inner:after {
  right: 19px;
  width: 8px;
  height: 2px;
}

.btn-cmn.type-scroll-re .inner:before {
  margin-right: -3px;
  transform: rotate(45deg);
}

.btn-cmn.type-scroll-re .inner:after {
  margin-right: 2px;
  transform: rotate(-45deg);
}

.btn-cmn.type-scroll-re.w-sml2 .inner:before,
.btn-cmn.type-scroll-re.w-sml2 .inner:after {
  right: 14px;
  margin-top: -1px;
}

.btn-cmn.type-close .inner:before,
.btn-cmn.type-close .inner:after {
  right: 15px;
  width: 15px;
  height: 2px;
  margin-top: -1px;
}

.btn-cmn.type-close .inner:before {
  transform: rotate(45deg);
}

.btn-cmn.type-close .inner:after {
  transform: rotate(-45deg);
}

.btn-cmn.type-close.w-sml2 .inner:before,
.btn-cmn.type-close.w-sml2 .inner:after {
  right: 12px;
}

.btn-cmn.type-close-lrg .inner:before,
.btn-cmn.type-close-lrg .inner:after {
  right: 22px;
  width: 22px;
  height: 3px;
  margin-top: -1px;
}

.btn-cmn.type-close-lrg .inner:before {
  transform: rotate(45deg);
}

.btn-cmn.type-close-lrg .inner:after {
  transform: rotate(-45deg);
}

.btn-cmn.type-close-lrg.w-sml2 .inner:before,
.btn-cmn.type-close-lrg.w-sml2 .inner:after {
  right: 12px;
}

.btn-cmn.type-not-press .inner {
  pointer-events: none !important;
  color: #bbb !important;
  border-color: #e5e5e5 !important;
  background: #e5e5e5 !important;
  box-shadow: none !important;
}

.btn-cmn.type-not-press .inner:before,
.btn-cmn.type-not-press .inner:after {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .btn-cmn.type-pager .inner:before,
  .btn-cmn.type-pager .inner:after {
    right: 17px;
    width: 8px;
    height: 2px;
  }
  .btn-cmn.type-pager .inner:before {
    margin-top: -3px;
    transform: rotate(45deg);
  }
  .btn-cmn.type-pager .inner:after {
    margin-top: 2px;
    transform: rotate(-45deg);
  }
  .btn-cmn.type-pager.w-sml2 .inner:before,
  .btn-cmn.type-pager.w-sml2 .inner:after {
    right: 12px;
  }
  .btn-cmn.type-pager-lrg .inner:before,
  .btn-cmn.type-pager-lrg .inner:after {
    right: 17px;
    width: 8px;
    height: 2px;
  }
  .btn-cmn.type-pager-lrg .inner:before {
    margin-top: -3px;
    transform: rotate(45deg);
  }
  .btn-cmn.type-pager-lrg .inner:after {
    margin-top: 2px;
    transform: rotate(-45deg);
  }
  .btn-cmn.type-pager-lrg.w-sml2 .inner:before,
  .btn-cmn.type-pager-lrg.w-sml2 .inner:after {
    right: 12px;
  }
  .btn-cmn.type-scroll .inner:before,
  .btn-cmn.type-scroll .inner:after {
    backface-visibility: hidden;
    right: 19px;
    width: 8px;
    height: 2px;
  }
  .btn-cmn.type-scroll .inner:before {
    margin-right: 2px;
    transform: rotate(45deg);
  }
  .btn-cmn.type-scroll .inner:after {
    margin-right: -3px;
    transform: rotate(-45deg);
  }
  .btn-cmn.type-scroll.w-sml2 .inner:before,
  .btn-cmn.type-scroll.w-sml2 .inner:after {
    right: 14px;
  }
  .btn-cmn.type-scroll-re .inner:before,
  .btn-cmn.type-scroll-re .inner:after {
    right: 19px;
    width: 8px;
    height: 2px;
  }
  .btn-cmn.type-scroll-re .inner:before {
    margin-right: -3px;
    transform: rotate(45deg);
  }
  .btn-cmn.type-scroll-re .inner:after {
    margin-right: 2px;
    transform: rotate(-45deg);
  }
  .btn-cmn.type-scroll-re.w-sml2 .inner:before,
  .btn-cmn.type-scroll-re.w-sml2 .inner:after {
    right: 14px;
    margin-top: -1px;
  }
  .btn-cmn.type-close .inner:before,
  .btn-cmn.type-close .inner:after {
    right: 15px;
    width: 15px;
    height: 2px;
    margin-top: -1px;
  }
  .btn-cmn.type-close .inner:before {
    transform: rotate(45deg);
  }
  .btn-cmn.type-close .inner:after {
    transform: rotate(-45deg);
  }
  .btn-cmn.type-close.w-sml2 .inner:before,
  .btn-cmn.type-close.w-sml2 .inner:after {
    right: 12px;
  }
  .btn-cmn.type-close-lrg .inner:before,
  .btn-cmn.type-close-lrg .inner:after {
    right: 15px;
    width: 15px;
    height: 2px;
    margin-top: -1px;
  }
  .btn-cmn.type-close-lrg .inner:before {
    transform: rotate(45deg);
  }
  .btn-cmn.type-close-lrg .inner:after {
    transform: rotate(-45deg);
  }
  .btn-cmn.type-close-lrg.w-sml2 .inner:before,
  .btn-cmn.type-close-lrg.w-sml2 .inner:after {
    right: 12px;
  }
  .btn-cmn.type-not-press .inner {
    pointer-events: none !important;
    color: #bbb !important;
    border-color: #e5e5e5 !important;
    background: #e5e5e5 !important;
    box-shadow: none !important;
  }
  .btn-cmn.type-not-press .inner:before,
  .btn-cmn.type-not-press .inner:after {
    display: none !important;
  }
}
.lang-en .btn-cmn {
  font-family: eng_def, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
}

@media screen and (min-width: 768px) {
  .lang-en .btn-cmn .inner {
    font-size: 14px;
    padding: 12px 40px 13px;
  }
}
/* btn-cmn-pagetop
---------------------------------------------------------- */
.btn-cmn-pagetop {
  position: fixed;
  bottom: 0;
  z-index: 20;
  width: 100%;
  height: 40px;
  text-align: right;
}
.btn-cmn-pagetop .inner {
  display: block;
  margin: 0 auto;
}
.btn-cmn-pagetop a {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 40px;
  background-color: #333333;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}
.btn-cmn-pagetop a:hover {
  opacity: 0.7;
}
.btn-cmn-pagetop a::after {
  content: "";
  position: absolute;
  left: calc(50% - 5px);
  top: calc(50% - 3px);
  width: 10px;
  height: 10px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(-45deg);
}
.btn-cmn-pagetop.-fixed {
  position: absolute;
  right: 0;
}

@media screen and (max-width: 767px) {
  .btn-cmn-pagetop {
    position: fixed;
    width: 100%;
    bottom: 23px;
    text-align: right;
    z-index: 20;
  }
  .btn-cmn-pagetop .inner {
    display: block;
    max-width: 1200px;
    margin: 0 auto;
  }
  .btn-cmn-pagetop a:hover {
    opacity: 1;
  }
}
/* header btn-language
---------------------------------------------------------- */
.header .btn-language {
  position: relative;
  z-index: 1;
  width: 87px;
  margin-left: 30px;
  vertical-align: middle;
  font-size: 14px;
  font-weight: bold;
}
.header .btn-language-in {
  width: 83px;
}
.header .btn-language .cover a {
  position: relative;
  display: flex;
  align-items: center;
  height: 65px;
}
.header .btn-language .cover a img {
  margin-top: 2px;
  margin-right: 8px;
}
.header .btn-language .cover a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 6px;
  height: 4px;
  margin-top: -4px;
  background: url(/common/img/ico_arrow_lang_01.png) 0 0 no-repeat;
}
.header .btn-language .cover a:hover {
  color: #db000a;
}
.header .btn-language .cover a.is-active {
  color: #db000a;
}
.header .btn-language .cover a.is-active::after {
  background: url(/common/img/ico_arrow_lang_01_ac.png) 0 0 no-repeat;
}
.header .btn-language .switch {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  padding: 17px 17px;
  margin-top: -3px;
  border-top: 3px solid #db000a;
  box-shadow: 0 0 0 1px #e5e5e5 inset;
  -moz-box-shadow: 0 0 0 1px #e5e5e5 inset;
  -webkit-box-shadow: 0 0 0 1px #e5e5e5 inset;
  white-space: nowrap;
  background: #fff;
}
.header .btn-language .switch.is-active {
  display: block;
}
.header .btn-language .switch a:hover {
  color: #db000a;
}

@media screen and (max-width: 767px) {
  .header .btn-language {
    float: none;
    margin-left: 20px;
  }
  .header .btn-language .cover a {
    position: relative;
    padding: 18px 13px 20px 0;
  }
  .header .btn-language .cover a img {
    margin-right: 12px;
  }
  .header .btn-language .cover a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 6px;
    height: 4px;
    margin-top: -4px;
    background: url(/common/img/ico_arrow_lang_01.png) 0 0 no-repeat;
  }
  .header .btn-language .cover a.is-active {
    color: #db000a;
  }
  .header .btn-language .cover a.is-active::after {
    background: url(/common/img/ico_arrow_lang_01_ac.png) 0 0 no-repeat;
  }
  .header .btn-language .cover.jp a img {
    width: 20px;
  }
  .header .btn-language .cover.en a img {
    width: 15px;
    margin-top: 3px;
    margin-left: 3px;
  }
  .header .btn-language .switch {
    display: none;
    position: absolute;
    top: 100%;
    right: inherit;
    left: 0;
    padding: 13px 17px;
    margin-top: -3px;
    border-top: 3px solid #db000a;
    box-shadow: 0 0 0 1px #e5e5e5 inset;
    -moz-box-shadow: 0 0 0 1px #e5e5e5 inset;
    -webkit-box-shadow: 0 0 0 1px #e5e5e5 inset;
    white-space: nowrap;
    background: #fff;
  }
  .header .btn-language .switch.is-active {
    display: block;
  }
  .header .btn-language .switch a:hover {
    color: #db000a;
  }
}
/* footer btn-language
---------------------------------------------------------- */
.footer .btn-language {
  position: relative;
  float: right;
  padding: 27px 0 28px;
  font-size: 14px;
  font-weight: bold;
  z-index: 25;
}
.footer .btn-language .cover a {
  position: relative;
  display: flex;
  align-items: center;
  padding-right: 13px;
}
.footer .btn-language .cover a img {
  margin-right: 12px;
}
.footer .btn-language .cover a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 6px;
  height: 4px;
  margin-top: -3px;
  background: url(/common/img/ico_arrow_lang_01.png) 0 0 no-repeat;
}
.footer .btn-language .cover a:hover {
  color: #db000a;
}
.footer .btn-language .cover a.is-active {
  color: #db000a;
}
.footer .btn-language .cover a.is-active::after {
  background: url(/common/img/ico_arrow_lang_01_ac.png) 0 0 no-repeat;
}
.footer .btn-language .cover.jp a img {
  margin-top: 2px;
}
.footer .btn-language .switch {
  display: none;
  position: absolute;
  bottom: 100%;
  right: -10px;
  padding: 17px 17px;
  margin-bottom: -3px;
  border-bottom: 3px solid #db000a;
  box-shadow: 0 0 0 1px #e5e5e5 inset;
  -moz-box-shadow: 0 0 0 1px #e5e5e5 inset;
  -webkit-box-shadow: 0 0 0 1px #e5e5e5 inset;
  white-space: nowrap;
  background: #fff;
}
.footer .btn-language .switch.is-active {
  display: block;
}
.footer .btn-language .switch a:hover {
  color: #db000a;
}

@media screen and (max-width: 767px) {
  .footer .btn-language {
    position: relative;
    float: none;
    height: 20px;
    padding: 0;
    font-size: 12px;
  }
  .footer .btn-language .cover a {
    position: relative;
    padding-right: 13px;
  }
  .footer .btn-language .cover a img {
    width: 20px;
    height: auto;
    margin-top: 0;
    margin-right: 12px;
  }
  .footer .btn-language .cover a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 6px;
    height: 4px;
    margin-top: -3px;
    background: url(/common/img/ico_arrow_lang_01.png) 0 0 no-repeat;
  }
  .footer .btn-language .cover a.is-active {
    color: #db000a;
  }
  .footer .btn-language .cover a.is-active::after {
    background: url(/common/img/ico_arrow_lang_01_ac.png) 0 0 no-repeat;
  }
  .footer .btn-language .cover a.jp a img {
    width: 20px;
    margin-top: 4px;
  }
  .footer .btn-language .cover a.en a img {
    width: 15px;
    margin-top: 3px;
  }
  .footer .btn-language .switch {
    display: none;
    position: absolute;
    top: calc(100% + 5px);
    bottom: inherit;
    right: auto;
    padding: 13px 17px;
    margin-top: 0;
    margin-bottom: 0;
    border-top: 3px solid #db000a;
    border-bottom: none;
    white-space: nowrap;
  }
}
/* btn-close
---------------------------------------------------------- */
.btn-close {
  display: none;
}

@media screen and (max-width: 767px) {
  .btn-close {
    display: block;
  }
  .btn-close a {
    display: block;
    overflow: hidden;
    padding: 15px;
    font-size: 13px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    background: #333;
  }
  .btn-close .icon {
    display: block;
    float: right;
    position: relative;
    width: 20px;
    height: 20px;
  }
  .btn-close .icon:after,
  .btn-close .icon:before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
  }
  .btn-close .icon:after {
    transform: rotate(45deg);
  }
  .btn-close .icon:before {
    transform: rotate(-45deg);
  }
}
/* ----------------------------------------------------------
 link
---------------------------------------------------------- */
/* link-cmn
---------------------------------------------------------- */
.link-cmn {
  color: #db000a;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.link-cmn.c-inherit {
  color: inherit;
}

.link-cmn.type-border {
  text-decoration: underline;
}

.link-cmn:hover {
  opacity: 0.6;
}

.link-cmn .ico-arrow {
  margin-left: 0.5em;
}

/* ----------------------------------------------------------
link-cmn-bk(for /sitemap/)
---------------------------------------------------------- */
.link-cmn-bk {
  color: inherit;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.link-cmn-bk.c-inherit {
  color: inherit;
}

.link-cmn-bk.type-border {
  text-decoration: underline;
}

.link-cmn-bk:hover {
  opacity: 0.6;
}

.link-cmn-bk .ico-arrow {
  margin-left: 0.5em;
}

/* ----------------------------------------------------------
 icon
---------------------------------------------------------- */
/* ico-cmn
---------------------------------------------------------- */
/* ico-blank
---------------------------------------------------------- */
.ico-blank {
  position: relative;
  margin-right: 30px;
}

.ico-blank:after {
  content: "";
  position: absolute;
  top: 50%;
  right: -26px;
  width: 16px;
  height: 16px;
  margin-top: -7px;
  background: url(/common/img/ico_blank_01_@2x_ac.png) 0 0 no-repeat;
  background-size: 16px 16px;
}

/* ico-search
---------------------------------------------------------- */
.ico-search {
  position: relative;
  margin-right: 30px;
}

.ico-search:after {
  position: absolute;
  top: 50%;
  right: -27px;
  content: "";
  width: 17px;
  height: 17px;
  margin-top: -8px;
  background: url(/common/img/ico_search_01_@2x_ac_07.png) 0 0 no-repeat;
  background-size: 17px 17px;
}

@media screen and (max-width: 767px) {
  .ico-search {
    margin-right: 30px;
  }
  .ico-search:after {
    top: 50%;
    right: -25px;
    width: 15px;
    height: 15px;
    margin-top: -7px;
    background-size: 15px 15px;
  }
}
/* ico-scroll
---------------------------------------------------------- */
.ico-scroll {
  position: relative;
  margin-right: 21px;
}

.ico-scroll:after {
  position: absolute;
  top: 50%;
  right: -18px;
  content: "";
  width: 12px;
  height: 7px;
  margin-top: -3px;
  background: url(/common/img/ico_arrow_down_ft_01_sp_ac.png) 0 0 no-repeat;
  background-size: 12px 7px;
}

.ico-scroll.ico-re:after {
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
}

@media screen and (max-width: 767px) {
  .ico-scroll {
    margin-right: 25px;
  }
  .ico-scroll:after {
    top: 50%;
    right: -20px;
    width: 10px;
    height: 6px;
    margin-top: -3px;
    background-size: 10px 6px;
  }
}
/* ico-arrow
---------------------------------------------------------- */
.ico-arrow {
  position: relative;
}

.ico-arrow:after {
  position: absolute;
  top: 50%;
  right: -7px;
  content: "";
  width: 7px;
  height: 12px;
  margin-top: -6px;
  background: url(/common/img/ico_arrow_right_01_@2x_ac.png) 0 0 no-repeat;
  background-size: 7px 12px;
}

.ico-arrow.type-inline:after {
  position: static;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .ico-arrow:after {
    right: -6px;
    width: 6px;
    height: 10px;
    margin-top: -5px;
    background: url(/common/img/ico_arrow_right_01_@2x_ac.png) 0 0 no-repeat;
    background-size: 6px 10px;
  }
  .ico-arrow.type-inline:after {
    position: static;
    display: inline-block;
  }
}
.lang-en .ico-arrow {
  margin-left: 0.5em;
  position: relative;
}

.lang-en .ico-arrow:after {
  position: absolute;
  top: 50%;
  right: -7px;
  content: "";
  width: 7px;
  height: 12px;
  margin-top: -6px;
  background: url(/common/img/ico_arrow_right_01_@2x_ac.png) 0 0 no-repeat;
  background-size: 7px 12px;
}

.lang-en .ico-arrow.type-inline:after {
  position: static;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .lang-en .ico-arrow:after {
    right: -6px;
    width: 6px;
    height: 10px;
    margin-top: -5px;
    background: url(/common/img/ico_arrow_right_01_@2x_ac.png) 0 0 no-repeat;
    background-size: 6px 10px;
  }
  .lang-en .ico-arrow.type-inline:after {
    position: static;
    display: inline-block;
  }
}
/* ico-pdf
---------------------------------------------------------- */
.ico-pdf {
  position: relative;
  margin-right: 27px;
}

.ico-pdf:after {
  position: absolute;
  top: 50%;
  right: -23px;
  content: "";
  width: 14px;
  height: 16px;
  margin-top: -8px;
  background: url(/common/img/ico_pdf_01_@2x_ac.png) 0 0 no-repeat;
  background-size: 14px 16px;
}

.ico-pdf.type-inline:after {
  position: static;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .ico-pdf {
    margin-right: 27px;
  }
  .ico-pdf:after {
    right: -23px;
    width: 14px;
    height: 16px;
    margin-top: -8px;
    background: url(/common/img/ico_pdf_01_@2x_ac.png) 0 0 no-repeat;
    background-size: 14px 16px;
  }
  .ico-pdf.type-inline:after {
    position: static;
    display: inline-block;
  }
}
/* ico-new
---------------------------------------------------------- */
.ico-new {
  position: relative;
  display: inline-block;
  transform: translateY(-1px);
  margin-right: 0.3em;
}
.ico-new::before {
  content: "NEW";
  background: #db000a;
  color: #fff;
  padding: 0 0.5em;
  font-size: 0.8em;
}

/* ----------------------------------------------------------
 figure
---------------------------------------------------------- */
/* fig-cmn
---------------------------------------------------------- */
.fig-cmn {
  display: inline-block;
  margin-top: 30px;
  text-align: center;
  font-size: 0;
  vertical-align: top;
  letter-spacing: normal;
}
.fig-cmn.border {
  display: block;
  aspect-ratio: 570/321;
  margin-inline: auto;
  max-width: 570px !important;
  outline: 1px solid #E5E5E5;
}
.fig-cmn.border img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.fig-cmn.border.logo img {
  width: min(100%, 300px);
}
.fig-cmn.border.logo.large img {
  width: min(100%, 450px);
}
.fig-cmn.padding {
  padding: 20px;
}
@media screen and (max-width: 767px) {
  .fig-cmn.border.logo img {
    width: min(100%, 240px);
  }
  .fig-cmn.border.logo.large img {
    width: min(100%, 360px);
  }
}

.fig-cmn:first-child {
  margin-top: 0;
}

.fig-cmn.type-full {
  width: 100%;
}

.fig-cmn .image {
  vertical-align: top;
  width: 100%;
  font-size: medium;
}

.fig-cmn .caption {
  text-align: left;
  margin: 15px auto;
  font-size: 14px;
  line-height: 1.85;
}

.fig-cmn .caption {
  text-align: left;
  margin: 15px auto;
  font-size: 14px;
  line-height: 1.85;
}

.fig-cmn .caption-inner {
  text-align: left;
  margin: 3px auto 15px;
  padding: 0px 5px;
  font-size: 14px;
  line-height: 1.85;
}

.fig-cmn .title {
  display: block;
  padding-top: 0.8em;
  font-weight: bold;
}

.fig-cmn .text {
  display: block;
  margin-top: 1em;
}

.fig-cmn .text:first-child {
  margin-top: 0;
}

.mod-float .fig-cmn {
  margin-top: 5px;
}

.fig-cmn.type-w-01 {
  width: 420px;
}

.fig-cmn.type-w-02 {
  width: 350px;
}

.fig-cmn.type-w-03 {
  width: 196px;
}

@media screen and (max-width: 767px) {
  .fig-cmn {
    text-align: center;
  }
  .fig-cmn.type-full {
    width: 100%;
  }
  .fig-cmn.type-mod-01 {
    width: 100%;
  }
  .fig-cmn.type-mod-01 .caption {
    width: 100%;
    text-align: center;
  }
  .fig-cmn.type-mod-01 .caption .inner {
    text-align: left;
    display: inline-block;
  }
  .fig-cmn.type-mod-02 {
    width: 100%;
  }
  .fig-cmn.type-mod-02 .caption {
    width: 100%;
  }
  .fig-cmn.type-mod-03 {
    width: 100%;
  }
  .fig-cmn.type-mod-03 .caption {
    width: 100%;
  }
  .fig-cmn .caption {
    margin: 7px auto 0;
    font-size: 12px;
    line-height: 1.85;
  }
  .mod-float.type-reverse .fig-cmn {
    margin: 27px 0 0;
  }
  .fig-cmn.type-w-01 {
    width: 100%;
  }
  .fig-cmn.type-w-01 .image {
    width: 72.413%;
    min-width: 210px;
  }
  .fig-cmn.type-w-02 {
    width: 100%;
  }
  .fig-cmn.type-w-02 .image {
    width: 60.344%;
    min-width: 175px;
  }
  .fig-cmn.type-w-03 {
    width: 100%;
  }
  .fig-cmn.type-w-03 .image {
    width: 33.793%;
    min-width: 98px;
  }
  .fig-cmn .sp-center {
    text-align: center;
  }
}
/* english */
@media screen and (min-width: 768px) {
  .lang-en .fig-cmn .caption {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .lang-en .fig-cmn .caption {
    font-size: 10px;
  }
}
/* ----------------------------------------------------------
 image
---------------------------------------------------------- */
/* img-cmn-adjust
---------------------------------------------------------- */
/* ----------------------------------------------------------
 form
---------------------------------------------------------- */
/* base Form
---------------------------------------------------------- */
/* type="text" */
/* type="checkbox" */
/* type="radio" */
/* select */
/* textarea */
/* button */
/* class Form
---------------------------------------------------------- */
/* form-cmn-input
---------------------------------------------------------- */
/* form-cmn-check
---------------------------------------------------------- */
/* form-cmn-radio
---------------------------------------------------------- */
/* form-cmn-select
---------------------------------------------------------- */
/* form-cmn-textarea
---------------------------------------------------------- */
/* form-cmn-button
---------------------------------------------------------- */
/* ------------------------------------------------------------------------
 module-indent
------------------------------------------------------------------------ */
/* ----------------------------------------------------------
 flat
---------------------------------------------------------- */
/* mod-flat
---------------------------------------------------------- */
.mod-float {
  margin-top: 15px;
}

.mod-float:first-child {
  margin-top: 0;
}

.txt-cmn + .mod-float {
  margin-top: 45px;
}

.ttl-cmn-03 + .mod-float {
  margin-top: 2em;
}

.mod-float.type-hidden {
  overflow: hidden;
}

.mod-float.type-hidden .content:not(.left):not(.right) {
  overflow: hidden;
}

.mod-float > .content.left {
  float: left;
}

.mod-float > .content.right {
  float: right;
}

@media screen and (min-width: 768px) {
  .mod-float.type-m-01 {
    padding: 30px 0;
  }
  .mod-float.type-m-01 > .content.left {
    margin-right: 50px;
  }
  .mod-float.type-m-01 > .content.right {
    margin-left: 50px;
  }
  .mod-float.space-01 > .content.left {
    margin-right: 40px;
  }
  .mod-float.space-01 > .content.right {
    margin-left: 40px;
  }
  .mod-float.space-02 > .content.left {
    margin-right: 30px;
  }
  .mod-float.space-02 > .content.right {
    margin-left: 30px;
  }
  .mod-float.space-talk {
    margin-top: 2em;
  }
  .mod-float.space-talk:first-child {
    margin-top: 0;
  }
  .grid-cmn + .mod-float.space-talk {
    margin-top: 3em;
  }
  .mod-float.space-talk > .content.left {
    margin-right: 0.8em;
  }
  .mod-float.space-talk > .content.right {
    margin-left: 0.8em;
  }
  .mod-float > .content.type-pc-w-870 {
    max-width: 870px;
  }
  .mod-float.type-p-01 {
    padding: 30px 0 10px;
  }
}
@media screen and (max-width: 767px) {
  .mod-float > .content.left {
    float: none;
  }
  .mod-float > .content.right {
    float: none;
  }
  .mod-float > .content + .content {
    margin-top: 25px;
  }
  .mod-float.type-reverse {
    display: flex;
    flex-direction: column-reverse;
    padding: 0 0 0;
  }
  .mod-float.type-reverse > .content + .content {
    margin-top: 0;
  }
  .mod-float.type-m-01 > .content.left {
    margin-right: 0;
  }
  .mod-float.type-m-01 > .content.right {
    margin-left: 0;
  }
  .grid-cmn + .mod-float.space-talk {
    margin-top: 3em;
  }
  .mod-float.space-talk > .content + .content {
    margin-top: 0;
  }
  .mod-float.space-talk > .content.left {
    margin-right: 0.8em;
    float: left;
  }
  .mod-float.space-talk > .content.right {
    margin-left: 0.8em;
    float: right;
  }
  .mod-float .type-p-01 {
    padding: 30px 0 20px;
  }
}
/* ----------------------------------------------------------
 cell
---------------------------------------------------------- */
/* mod-cell
---------------------------------------------------------- */
.mod-cell {
  display: table;
  table-layout: fixed;
  margin-top: 2em;
  text-align: left;
  vertical-align: top;
}

.mod-cell:first-child {
  margin-top: 0;
}

.mod-cell > .cell {
  display: table-cell;
  vertical-align: top;
}

.mod-cell > .cell .fig-cmn:first-child {
  margin-top: 0;
}

.mod-cell.space-01 {
  margin-left: -10px;
  margin-right: -10px;
}

.mod-cell.space-01 > .cell {
  padding-left: 10px;
  padding-right: 10px;
}

.mod-cell.space-02 {
  margin-left: -20px;
  margin-right: -20px;
}

.mod-cell.space-02 > .cell {
  padding-left: 20px;
  padding-right: 20px;
}

@media screen and (max-width: 767px) {
  .mod-cell {
    display: block;
    margin-top: 1em;
  }
  .mod-cell > .cell {
    display: block;
    text-align: center;
    margin-top: 1em;
  }
  .mod-cell > .cell .fig-cmn:first-child {
    margin-top: 0;
  }
  .mod-cell.space-01 {
    margin-left: -10px;
    margin-right: -10px;
  }
  .mod-cell.space-01 > .cell {
    padding-left: 10px;
    padding-right: 10px;
  }
  .mod-cell.space-02 {
    margin-left: -20px;
    margin-right: -20px;
  }
  .mod-cell.space-02 > .cell {
    padding-left: 20px;
    padding-right: 20px;
  }
}
/* ----------------------------------------------------------
 card
---------------------------------------------------------- */
/* mod-card-01
---------------------------------------------------------- */
.mod-card-01 {
  width: 100%;
  margin: 0 auto;
  text-align: left;
}

.mod-card-01 .image {
  text-align: center;
  vertical-align: middle;
}

.mod-card-01 .image img {
  width: 100%;
}

.mod-card-01 .detail {
  margin-top: 25px;
}

.mod-card-01 .detail .title,
.mod-card-01 .detail .outline,
.mod-card-01 .detail .text {
  font-size: 14px;
  line-height: 1.85;
  margin-top: 10px;
}

.mod-card-01 .detail .title:first-child,
.mod-card-01 .detail .outline:first-child,
.mod-card-01 .detail .text:first-child {
  margin-top: 0;
}

.mod-card-01 .detail .title {
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .mod-card-01 .detail {
    margin-top: 10px;
  }
  .mod-card-01 .detail .title,
  .mod-card-01 .detail .outline,
  .mod-card-01 .detail .text {
    font-size: 12px;
    line-height: 1.8;
    margin-top: 8px;
  }
  .mod-card-01 .detail .title:first-child,
  .mod-card-01 .detail .outline:first-child,
  .mod-card-01 .detail .text:first-child {
    margin-top: 0;
  }
  .mod-card-01 .detail .title {
    font-weight: bold;
  }
}
/* mod-card-02
---------------------------------------------------------- */
.mod-card-02 {
  position: relative;
  width: 100%;
}

.mod-card-02 .background img {
  width: 100%;
}

.mod-card-02 .detail {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 30px;
}

.mod-card-02 .detail .title {
  font-size: 26px;
  line-height: 1;
  color: #fff;
}

.mod-card-02 .detail .sub {
  margin-top: 12px;
  font-size: 16px;
  color: #fff;
  font-family: robot, eng_def, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
}

.mod-card-02 .detail .btn-cmn-wrap {
  position: absolute;
  width: 100%;
  padding: 0 30px 30px;
  left: 0;
  bottom: 0;
}

@media screen and (max-width: 767px) {
  .mod-card-02 .detail {
    padding: 15px;
  }
  .mod-card-02 .detail .title {
    font-size: 18px;
    line-height: inherit;
  }
  .mod-card-02 .detail .sub {
    margin-top: 0;
    font-size: 16px;
  }
  .mod-card-02 .detail .btn-cmn-wrap {
    position: absolute;
    width: 100%;
    padding: 0 15px 15px;
    left: 0;
    bottom: 0;
  }
}
/* mod-card-03
---------------------------------------------------------- */
.mod-card-03 {
  width: 100%;
  background-color: #fff;
}

.mod-card-03 .image img {
  width: 100%;
}

.mod-card-03 .detail {
  min-height: 220px;
  position: relative;
  padding: 25px 30px 60px;
}

.mod-card-03 .detail .title {
  font-size: 18px;
}

.mod-card-03 .detail .text {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.7;
}

.mod-card-03 .detail .links {
  font-size: 16px;
  position: absolute;
  bottom: 25px;
  right: 30px;
  color: #db000a;
}

.mod-card-03 .detail .links .ico-arrow {
  margin-left: 10px;
}

.mod-card-03 .detail .links:hover {
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  .mod-card-03 .detail {
    min-height: 185px;
    position: relative;
    padding: 22px 25px 60px;
  }
  .mod-card-03 .detail .title {
    font-size: 14px;
  }
  .mod-card-03 .detail .text {
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.7;
  }
  .mod-card-03 .detail .links {
    font-size: 13px;
    bottom: 20px;
    right: 25px;
    color: #db000a;
  }
  .mod-card-03 .detail .links .ico-arrow {
    margin-left: 5px;
  }
}
.lang-en .mod-card-03 .detail .title {
  font-size: 16px;
}

.lang-en .mod-card-03 .detail .text {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.7;
}

.lang-en .mod-card-03 .detail .links {
  font-size: 14px;
  position: absolute;
  bottom: 25px;
  right: 30px;
}

.lang-en .mod-card-03 .detail .links .ico-arrow {
  margin-left: 10px;
}

@media screen and (max-width: 767px) {
  .lang-en .mod-card-03 .detail .title {
    font-size: 13px;
  }
  .lang-en .mod-card-03 .detail .text {
    font-size: 11px;
  }
  .lang-en .mod-card-03 .detail .links {
    font-size: 13px;
  }
}
/* mod-card-04
---------------------------------------------------------- */
.mod-card-04 {
  width: 100%;
  background-color: #fff;
}

.mod-card-04 .image img {
  width: 100%;
}

.mod-card-04 .detail {
  min-height: 220px;
  position: relative;
  padding: 25px 30px 60px;
}

.mod-card-04 .detail .title {
  font-size: 18px;
}

.mod-card-04 .detail .text {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.7;
}

.mod-card-04 .detail .links {
  font-size: 16px;
  position: absolute;
  bottom: 25px;
  right: 30px;
  color: #db000a;
}

.mod-card-04 .detail .links .ico-arrow {
  margin-left: 10px;
}

.mod-card-04 .detail .links:hover {
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  .mod-card-04 .detail {
    min-height: 185px;
    position: relative;
    padding: 22px 25px 60px;
  }
  .mod-card-04 .detail .title {
    font-size: 14px;
  }
  .mod-card-04 .detail .text {
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.7;
  }
  .mod-card-04 .detail .links {
    font-size: 13px;
    bottom: 20px;
    right: 25px;
    color: #db000a;
  }
  .mod-card-04 .detail .links .ico-arrow {
    margin-left: 5px;
  }
}
/* mod-card-competition
---------------------------------------------------------- */
.mod-card-competition {
  padding: 25px 0 22px;
  text-align: left;
  background-color: #fff;
}

.mod-card-competition .detail {
  margin-top: 20px;
  padding: 0 30px;
}

.mod-card-competition .detail:first-child {
  margin-top: 0;
}

.mod-card-competition .foot-item {
  overflow: hidden;
  padding: 25px 30px 0;
}

.mod-card-competition .foot-item:first-child {
  padding-top: 0;
}

.mod-card-competition .foot-item .icon {
  float: left;
}

.mod-card-competition .foot-item .icon .badge {
  width: 30px;
}

.mod-card-competition .foot-item .info {
  padding-top: 5px;
  font-size: 14px;
  text-align: right;
}

.mod-card-competition .title {
  font-size: 18px;
  font-weight: bold;
}

.mod-card-competition .text {
  margin-top: 0.5em;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .mod-card-competition {
    padding: 23px 0 26px;
  }
  .mod-card-competition .detail {
    margin-top: 20px;
    padding: 0 25px;
  }
  .mod-card-competition .foot-item {
    padding: 30px 25px 0;
  }
  .mod-card-competition .foot-item:first-child {
    padding-top: 0;
  }
  .mod-card-competition .foot-item .icon .badge {
    width: 20px;
  }
  .mod-card-competition .foot-item .info {
    padding-top: 3px;
    font-size: 12px;
  }
  .mod-card-competition .title {
    font-size: 15px;
  }
  .mod-card-competition .text {
    margin-top: 0.5em;
    line-height: 1.8;
  }
}
/* mod-card-analects
---------------------------------------------------------- */
.mod-card-analects {
  padding: 15px 0 22px;
  text-align: left;
  background-color: #fff;
  overflow: hidden;
  width: 48%;
}

.mod-card-analects .detail {
  padding: 10px 30px 0;
  overflow: hidden;
}

.mod-card-analects .detail-2row {
  padding: 10px 30px 0;
  overflow: hidden;
  height: 220px;
}

.mod-card-analects .detail-2row-wide {
  padding: 10px 30px 0;
  overflow: hidden;
  height: 250px;
}

.mod-card-analects .detail img {
  float: right;
}

.mod-card-analects .detail:first-child {
  margin-top: 0;
}

.mod-card-analects .foot-item {
  overflow: hidden;
  padding: 25px 30px 0;
}

.mod-card-analects .foot-item:first-child {
  padding-top: 0;
}

.mod-card-analects .foot-item .icon {
  float: left;
}

.mod-card-analects .foot-item .icon .badge {
  width: 30px;
}

.mod-card-analects .foot-item .info {
  padding-top: 5px;
  font-size: 14px;
  text-align: right;
}

.mod-card-analects .title {
  font-size: 18px;
  font-weight: bold;
}

.mod-card-analects .text {
  margin-top: 0.5em;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .mod-card-analects {
    padding: 13px 0 26px;
  }
  .mod-card-analects .detail {
    padding: 10px 25px 0;
  }
  .mod-card-analects .detail-2row {
    padding: 10px 25px 0;
    height: 370px;
  }
  .mod-card-analects .detail-2row-wide {
    padding: 10px 25px 0;
    height: 390px;
  }
  .mod-card-analects .foot-item {
    padding: 30px 25px 0;
  }
  .mod-card-analects .foot-item:first-child {
    padding-top: 0;
  }
  .mod-card-analects .foot-item .icon .badge {
    width: 20px;
  }
  .mod-card-analects .foot-item .info {
    padding-top: 3px;
    font-size: 12px;
  }
  .mod-card-analects .title {
    font-size: 15px;
  }
  .mod-card-analects .text {
    margin-top: 0.5em;
    line-height: 1.8;
  }
}
@media screen and (min-width: 501px) and (max-width: 650px) {
  .mod-card-analects .detail-2row {
    padding: 10px 25px 0;
    height: 220px;
    /* margin-top: 10px; */
  }
}
@media screen and (min-width: 651px) and (max-width: 767px) {
  .mod-card-analects .detail-2row {
    padding: 10px 25px 0;
    height: 130px;
    /* margin-top: 10px; */
  }
}
@media screen and (min-width: 501px) and (max-width: 720px) {
  .mod-card-analects .detail-2row-wide {
    padding: 10px 25px 0;
    height: 250px;
    /* margin-top: 10px; */
  }
}
@media screen and (min-width: 721px) and (max-width: 767px) {
  .mod-card-analects .detail-2row-wide {
    padding: 10px 25px 0;
    height: 150px;
    /* margin-top: 10px; */
  }
}
/* mod-media
---------------------------------------------------------- */
.mod-media-item {
  margin-top: 30px;
  background-color: #fff;
}
.mod-media-item:first-of-type {
  margin-top: 0;
}
.mod-media-link {
  display: flex;
  width: 100%;
  padding: 50px;
  transition: all 0.4s ease;
}
.mod-media-link:hover {
  opacity: 0.8;
}
.mod-media-image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40%;
  margin-right: 30px;
}
.mod-media-content {
  width: 60%;
  padding-left: 50px;
  border-left: 1px solid #e5e5e5;
}
.mod-media-subtitle {
  font-size: 14px;
  font-weight: 700;
}
.mod-media-title {
  margin-top: 10px;
  font-size: 16px;
  font-weight: 700;
}
.mod-media-title::after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 12px;
  margin-left: 8px;
  background: url(/common/img/ico_arrow_right_01_@2x_ac.png) 0 0/7px 12px no-repeat;
}
.mod-media-description {
  margin-top: 15px;
  font-size: 14px;
  line-height: 1.85;
}
.mod-media-tag-item {
  display: inline-block;
  margin-top: 10px;
  margin-right: 10px;
  padding: 2px 5px;
  color: #fff;
  font-size: 16px;
  background-color: #4f4f4f;
}

@media screen and (max-width: 767px) {
  .mod-media-link {
    display: block;
    padding: 25px;
  }
  .mod-media-image {
    width: 100%;
    min-height: 100px;
  }
  .mod-media-content {
    width: 100%;
    border-top: 1px solid #e5e5e5;
    border-left: none;
    padding-top: 15px;
    padding-left: 0;
  }
  .mod-media-subtitle {
    font-size: 12px;
  }
  .mod-media-title {
    font-size: 13px;
  }
  .mod-media-title::after {
    content: "";
    display: inline-block;
    width: 5px;
    height: 10px;
    background-size: 5px 10px;
  }
  .mod-media-text {
    font-size: 12px;
  }
  .mod-media-tag-item {
    font-size: 13px;
  }
}
/* mod-feature
---------------------------------------------------------- */
.mod-feature {
  position: relative;
  display: flex;
  min-height: 377px;
  margin-left: -15px;
  margin-right: -15px;
}
.mod-feature-image {
  position: absolute;
  right: 0;
  top: 0;
  width: 58.334%;
  padding-left: 15px;
  padding-right: 15px;
}
.mod-feature-image img {
  width: 100%;
  height: auto;
}
.mod-feature-content {
  z-index: 2;
  width: 50%;
  padding-left: 15px;
  padding-right: 15px;
  margin-top: 60px;
}
.mod-feature-content-inner {
  position: relative;
  padding: 50px;
  background-color: #fff;
}
.mod-feature-content-inner::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 170px;
  height: 3px;
  background-color: #db000a;
}
.mod-feature-text {
  margin-top: 25px;
  font-size: 14px;
  line-height: 1.85;
}

@media screen and (max-width: 767px) {
  .mod-feature {
    display: block;
  }
  .mod-feature-image {
    position: static;
    left: inherit;
    top: inherit;
    width: 100%;
    padding: 0;
  }
  .mod-feature-content {
    width: 100%;
    margin-top: -30px;
  }
  .mod-feature-content-inner {
    padding: 25px;
  }
  .mod-feature-text {
    margin-top: 20px;
    font-size: 12px;
  }
}
.wrapper-analects {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: row;
  /*横並び・左から右（デフォルト）*/
  justify-content: space-around;
  /*均等に間隔をあける・両端にも間隔をあける*/
  padding-top: 10px;
}

img.wrapper-analects {
  margin-left: 20px;
  width: 132px;
}

@media screen and (max-width: 767px) {
  .wrapper-analects {
    display: block;
    padding-top: 10px;
  }
  .wrapper-analects > div:first-child {
    margin-bottom: 10px;
  }
  .mod-card-analects {
    width: 100%;
  }
  img.wrapper-analects {
    margin-left: 10px;
    width: 100px;
  }
}
.wrapper-flex-col2 {
  padding-top: 20px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.wrapper-flex-col2 > div {
  margin-bottom: 15px;
  width: 49%;
}

.tag-style.sort-tab li {
  cursor: pointer;
  background-color: #4f4f4f;
}

.tag-style.sort-tab li.tab-red {
  background-color: #db000a;
}

@media screen and (max-width: 767px) {
  .wrapper-flex-col2 {
    padding-top: 10px;
    display: block;
  }
  .wrapper-flex-col2 > div {
    width: auto;
  }
}
/* ----------------------------------------------------------
 horizon
---------------------------------------------------------- */
/* mod-horizon
---------------------------------------------------------- */
@media screen and (min-width: 768px) {
  .mod-horizon {
    margin: 20px -15px 0;
  }
  .mod-horizon:first-child {
    margin-top: 0;
  }
  .mod-horizon-in {
    width: 100%;
    height: inherit;
    display: table;
    text-align: center;
  }
  .mod-horizon .content {
    display: table-cell;
    padding: 0 15px;
    vertical-align: middle;
  }
  .mod-horizon .fig-cmn .image {
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  .mod-horizon {
    margin-top: 15px;
  }
  .mod-horizon:first-child {
    margin-top: 0;
  }
  .mod-horizon .content {
    margin-top: 15px;
  }
  .mod-horizon .fig-cmn .image {
    width: auto;
  }
}
/* ----------------------------------------------------------
 categories
---------------------------------------------------------- */
/* mod-categories
---------------------------------------------------------- */
.mod-categories-01 {
  text-align: left;
  background-color: #fff;
  box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.06);
  -moz-box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.06);
  -webkit-box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.06);
  -webkit-transform-style: preserve-3d;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateZ(0);
}

.mod-categories-01 a {
  display: block;
  overflow: hidden;
  padding: 20px 30px 20px 20px;
}

.mod-categories-01 .image {
  float: left;
  width: 170px;
  margin-right: 27px;
}

.mod-categories-01 .image img {
  width: 100%;
}

.mod-categories-01 .detail {
  overflow: hidden;
}

.mod-categories-01 .title,
.mod-categories-01 .text {
  word-wrap: break-word;
  overflow-wrap: break-word;
  padding-left: 2px;
  text-decoration: none;
}

.mod-categories-01 .title {
  display: inline-block;
  max-width: 320px;
  font-size: 16px;
  margin: 6px 0 5px;
  vertical-align: middle;
}

.mod-categories-01 .title .icon {
  position: relative;
}

.mod-categories-01 .title .icon:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 10px;
  width: 9px;
  height: 12px;
  margin-top: -7px;
  background: url(/common/img/ico_arrow_right_01_@2x_ac.png) 0 0 no-repeat;
  background-size: 7px 12px;
}

.mod-categories-01 .text {
  font-size: 14px;
  line-height: 1.7;
}

.mod-categories-01 .image,
.mod-categories-01 .title,
.mod-categories-01 .detail {
  transition: opacity 0.4s;
}

.mod-categories-01:hover .image,
.mod-categories-01:hover .title,
.mod-categories-01:hover .detail {
  opacity: 0.7;
}

.mod-categories-01.type-links {
  overflow: hidden;
  padding: 20px 30px 20px 20px;
}

.mod-categories-01.type-links a {
  display: inline;
  padding: 0;
  overflow: visible;
}

.mod-categories-01.type-links a:hover {
  text-decoration: underline;
  opacity: 0.7;
}

.mod-categories-01.type-links:hover .image,
.mod-categories-01.type-links:hover .title,
.mod-categories-01.type-links:hover .detail {
  opacity: 1;
}

.mod-categories-01.type-links .link-list {
  margin-top: 10px;
}

.mod-categories-01.type-links .link-list-item {
  position: relative;
  padding-left: 17px;
}

.mod-categories-01.type-links .link-list-item + .link-list-item {
  margin-top: 5px;
}

.mod-categories-01.type-links .link-list-item:before {
  content: "";
  position: absolute;
  top: 0.3em;
  left: 2px;
  width: 9px;
  height: 12px;
  background: url(/common/img/ico_arrow_right_01_@2x_ac.png) 0 0 no-repeat;
  background-size: 7px 12px;
}

@media screen and (max-width: 767px) {
  .mod-categories-01 {
    box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.04);
    -moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.04);
    -webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.04);
  }
  .mod-categories-01 a {
    display: block;
    overflow: hidden;
    padding: 15px 15px;
  }
  .mod-categories-01 .image {
    display: table-cell;
    float: none;
    width: 85px;
    margin-right: auto;
  }
  .mod-categories-01 .image img {
    width: 100%;
  }
  .mod-categories-01 .cover {
    display: table;
  }
  .mod-categories-01 .detail {
    overflow: hidden;
  }
  .mod-categories-01 .title,
  .mod-categories-01 .text {
    padding-left: 0;
    text-decoration: none;
  }
  .mod-categories-01 .title {
    display: table-cell;
    max-width: none;
    font-size: 13px;
    margin: auto;
    padding-left: 15px;
    vertical-align: middle;
  }
  .mod-categories-01 .title .icon {
    position: relative;
  }
  .mod-categories-01 .title .icon:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 7px;
    width: 6px;
    height: 10px;
    margin-top: -5px;
    background-size: 6px 10px;
  }
  .mod-categories-01 .text {
    margin-top: 10px;
    font-size: 12px;
  }
  .mod-categories-01.type-links {
    overflow: hidden;
    padding: 15px 15px;
  }
  .mod-categories-01.type-links a {
    display: inline;
    padding: 0;
    overflow: visible;
  }
  .mod-categories-01.type-links a:hover {
    text-decoration: underline;
    opacity: 1;
  }
  .mod-categories-01.type-links:hover .image,
  .mod-categories-01.type-links:hover .title,
  .mod-categories-01.type-links:hover .detail {
    opacity: 1;
  }
  .mod-categories-01.type-links .link-list-item {
    font-size: 12px;
  }
  .mod-categories-01.type-links .link-list-item:before {
    content: "";
    position: absolute;
    top: 0.25em;
    left: 2px;
    width: 6px;
    height: 10px;
    background-size: 6px 10px;
  }
}
/* english */
/* mod-categories-02
---------------------------------------------------------- */
.mod-categories-02 {
  background-color: #fff;
  box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.06);
  -moz-box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.06);
  -webkit-box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.06);
  -webkit-transform-style: preserve-3d;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateZ(0);
}

.mod-categories-02 a {
  display: block;
  overflow: hidden;
  padding: 20px 30px 20px 20px;
}

.mod-categories-02 .image {
  float: left;
  width: 170px;
  margin-right: 30px;
}

.mod-categories-02 .image img {
  width: 100%;
}

.mod-categories-02 .cover {
  display: flex;
  align-items: center;
}

.mod-categories-02 .title,
.mod-categories-02 .text {
  padding-left: 2px;
  text-decoration: none;
}

.mod-categories-02 .title {
  display: inline-block;
  font-size: 16px;
  margin: 6px 0 5px;
  vertical-align: middle;
  max-width: 320px;
}

.mod-categories-02 .text {
  font-size: 14px;
  line-height: 1.7;
}

.mod-categories-02 .image,
.mod-categories-02 .title,
.mod-categories-02 .detail {
  transition: opacity 0.4s;
}

.mod-categories-02:hover .image,
.mod-categories-02:hover .title,
.mod-categories-02:hover .detail {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  .mod-categories-02 {
    box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.04);
    -moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.04);
    -webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.04);
  }
  .mod-categories-02 a {
    display: block;
    overflow: hidden;
    padding: 15px 15px;
  }
  .mod-categories-02 .image {
    display: table-cell;
    float: none;
    width: 85px;
    margin-right: auto;
  }
  .mod-categories-02 .image img {
    width: 100%;
  }
  .mod-categories-02 .cover {
    display: table;
  }
  .mod-categories-02 .title,
  .mod-categories-02 .text {
    padding-left: 0;
    text-decoration: none;
  }
  .mod-categories-02 .title {
    display: table-cell;
    font-size: 13px;
    margin: auto;
    padding-left: 15px;
    vertical-align: middle;
    max-width: none;
  }
  .mod-categories-02 .text {
    margin-top: 10px;
    font-size: 12px;
  }
}
/* mod-categories-03
---------------------------------------------------------- */
.mod-categories-03 .image {
  float: left;
  width: 470px;
  margin-right: 30px;
}

.mod-categories-03 .image img {
  width: 100%;
}

.mod-categories-03 .detail {
  overflow: hidden;
}

.mod-categories-03 .title {
  font-size: 20px;
  font-weight: bold;
}

.mod-categories-03 .text {
  margin-top: 1em;
  font-size: 16px;
  line-height: 1.8;
}

.mod-categories-03 .btn-cmn-wrap {
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .mod-categories-03 .image {
    float: none;
    width: 100%;
    margin-right: 0;
  }
  .mod-categories-03 .detail {
    overflow: hidden;
    margin-top: 1.5em;
  }
  .mod-categories-03 .detail:first-child {
    margin-top: 0;
  }
  .mod-categories-03 .title {
    font-size: 15px;
    font-weight: bold;
  }
  .mod-categories-03 .text {
    font-size: 13px;
  }
  .mod-categories-03 .btn-cmn-wrap {
    margin-top: 20px;
  }
}
/* ----------------------------------------------------------
 persons
---------------------------------------------------------- */
/* mod-persons-01
---------------------------------------------------------- */
.mod-persons-01 {
  margin-top: 20px;
  overflow: hidden;
  padding: 35px 35px 26px;
  background: #f6f6f6;
  text-align: left;
}

.mod-persons-01:first-child {
  margin-top: 0;
}

.mod-float + .mod-persons-01 {
  margin-top: 4em;
}

.mod-persons-01 .person {
  display: block;
  overflow: hidden;
  margin-top: 20px;
}

.mod-persons-01 .person:first-child {
  margin-top: 0;
}

.mod-persons-01 .image {
  float: left;
  margin-right: 32px;
}
.mod-persons-01 .image img {
  width: 100%;
}
.mod-persons-01 .image.-logo {
  width: 392px;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}
.mod-persons-01 .image.-logo img {
  width: auto;
}

.mod-persons-01 .detail {
  overflow: hidden;
}

.mod-persons-01 .detail .title {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 13px;
}

.mod-persons-01 .detail .outline {
  line-height: 1.85;
  font-size: 16px;
}

.mod-persons-01 .detail .text {
  line-height: 1.85;
  font-size: 16px;
}

.mod-persons-01.item-img-02 {
  text-align: left;
}

.mod-persons-01.item-img-02 .image {
  display: block;
}

.mod-persons-01.item-img-02 .image img {
  display: block;
  width: auto;
}

.mod-persons-01.item-img-02 .image img + img {
  margin-top: 20px;
}

.mod-persons-01.item-img-02 .detail {
  overflow: hidden;
}

.mod-persons-01.item-img-02 .detail .title {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 13px;
}

.mod-persons-01.item-img-02 .detail .outline {
  line-height: 1.85;
  font-size: 16px;
}

.mod-persons-01.item-img-02 .detail .text {
  line-height: 1.85;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .mod-persons-01 {
    overflow: hidden;
    padding: 30px 25px 24px;
  }
  .mod-persons-01 .image {
    float: none;
    margin-right: 0;
    text-align: center;
  }
  .mod-persons-01 .image img {
    width: 20.833%;
    min-width: 50px;
  }
  .mod-persons-01 .image.-logo {
    width: 100%;
    height: 150px;
  }
  .mod-persons-01 .image.-logo img {
    max-width: 100%;
  }
  .mod-persons-01 .detail {
    overflow: hidden;
    padding-top: 10px;
  }
  .mod-persons-01 .detail .title {
    font-size: 14px;
    margin-top: 21px;
    margin-bottom: 4px;
  }
  .mod-persons-01 .detail .title:first-child {
    margin-top: 0;
  }
  .mod-persons-01 .detail .outline {
    line-height: 1.8;
    font-size: 13px;
  }
  .mod-persons-01 .detail .text {
    line-height: 1.8;
    font-size: 13px;
  }
  .mod-persons-01.item-img-02 {
    text-align: center;
  }
  .mod-persons-01.item-img-02 .image {
    display: block;
    width: 20.833%;
    min-width: 50px;
    margin: 0 auto;
  }
  .mod-persons-01.item-img-02 .image img {
    width: 100%;
  }
  .mod-persons-01.item-img-02 .image img + img {
    margin-top: 5px;
  }
  .mod-persons-01.item-img-02 .detail {
    text-align: left;
    overflow: hidden;
    padding-top: 10px;
  }
  .mod-persons-01.item-img-02 .detail .title {
    font-size: 14px;
    margin-top: 21px;
    margin-bottom: 4px;
  }
  .mod-persons-01.item-img-02 .detail .title:first-child {
    margin-top: 0;
  }
  .mod-persons-01.item-img-02 .detail .outline {
    line-height: 1.8;
    font-size: 13px;
  }
  .mod-persons-01.item-img-02 .detail .text {
    line-height: 1.8;
    font-size: 13px;
  }
}
/* ----------------------------------------------------------
 pager
---------------------------------------------------------- */
/* mod-pager-01
---------------------------------------------------------- */
@media screen and (min-width: 768px) {
  .mod-pager-01 {
    font-size: 16px;
    text-align: center;
  }
  .mod-pager-01.type-upper {
    margin-bottom: 70px;
    border-bottom: 1px solid #e5e5e5;
  }
  .mod-pager-01.type-bottom {
    margin-top: 70px;
    border-top: 1px solid #e5e5e5;
  }
  .mod-pager-01 > ul.lv01 {
    display: flex;
    display: -webkit-flex;
    align-items: stretch;
    flex-wrap: wrap;
    padding: 25px 0;
  }
  .mod-pager-01 > ul.lv01 > li {
    display: flex;
    display: -webkit-flex;
    align-items: stretch;
    position: relative;
    padding: 15px 0;
  }
  .mod-pager-01 > ul.lv01 > li.s-iPad,
  .mod-pager-01 > ul.lv01 > li.s-safari {
    margin-left: -1px !important;
  }
  .mod-pager-01 > ul.lv01 > li > .inner {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    padding: 0 15px;
  }
  .mod-pager-01 > ul.lv01 > li > .inner:after {
    position: absolute;
    content: "";
    right: 0;
    top: 0;
    height: 100%;
    display: block;
    border-right: 1px solid #d3d3d3;
  }
  .mod-pager-01 > ul.lv01 > li > .inner > .inner-deep {
    position: relative;
  }
  .mod-pager-01 > ul.lv01 > li > .inner > .inner-deep > a {
    display: inline-block;
    padding: 4px 0 2px;
  }
  .mod-pager-01 > ul.lv01 > li > .inner > .inner-deep > a:hover {
    text-decoration: underline;
  }
  .mod-pager-01 > ul.lv01 > li > .inner > .inner-deep > a:hover,
  .mod-pager-01 > ul.lv01 > li > .inner > .inner-deep > a.is-current {
    color: #db000a;
  }
  .mod-pager-01 > ul.lv01 > li > .inner > .inner-deep:hover .lv02 {
    display: block;
  }
  .mod-pager-01 > ul.lv01 > li:last-child > .inner:after,
  .mod-pager-01 > ul.lv01 > li.last-col > .inner:after {
    display: none;
  }
  .mod-pager-01 > ul.lv01 > li.lv-arrow > .inner > .inner-deep > a {
    padding-right: 20px;
  }
  .mod-pager-01 > ul.lv01 > li.lv-arrow > .inner > .inner-deep > a:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 2px;
    width: 11px;
    height: 7px;
    margin-top: -3px;
    background: url(/common/img/ico_arrow_down_hd_01_pc.png) 0 0 no-repeat;
  }
  .mod-pager-01 > ul.lv01 > li.lv-arrow > .inner > .inner-deep:hover > a {
    color: #db000a;
  }
  .mod-pager-01 > ul.lv01 > li.lv-arrow > .inner > .inner-deep:hover > a::after {
    background: url(/common/img/ico_arrow_down_hd_01_pc_ac.png) 0 0 no-repeat;
  }
  .mod-pager-01 .lv02 {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    padding: 27px 30px;
    margin-top: 10px;
    min-width: 360px;
    border-top: 3px solid #db000a;
    box-shadow: 0 0 0 1px #e5e5e5 inset;
    -moz-box-shadow: 0 0 0 1px #e5e5e5 inset;
    -webkit-box-shadow: 0 0 0 1px #e5e5e5 inset;
    text-align: left;
    white-space: nowrap;
    background: #fff;
    z-index: 5;
  }
  .mod-pager-01 .lv02:before {
    display: block;
    content: "";
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 100%;
    height: 12px;
    background-color: transparent;
  }
  .mod-pager-01 .lv02.position-r {
    left: auto;
    right: 0;
  }
  .mod-pager-01 .lv02 > li {
    margin-top: 20px;
  }
  .mod-pager-01 .lv02 > li.only-sp:first-child + li,
  .mod-pager-01 .lv02 > li:first-child {
    margin-top: 0;
  }
  .mod-pager-01 .lv02 > li > a:hover {
    text-decoration: underline;
  }
  .mod-pager-01 .lv02 > li > a.is-current,
  .mod-pager-01 .lv02 > li > a:hover {
    color: #db000a;
  }
  .mod-pager-01.pc-cols-02 > ul.lv01 > li.col1 {
    width: 50%;
  }
  .mod-pager-01.pc-cols-02 > ul.lv01 > li.col2 {
    width: 100%;
  }
  .mod-pager-01.pc-cols-03 > ul.lv01 > li.col1 {
    width: 33.333%;
  }
  .mod-pager-01.pc-cols-03 > ul.lv01 > li.col2 {
    width: 66.666%;
  }
  .mod-pager-01.pc-cols-03 > ul.lv01 > li.col3 {
    width: 100%;
  }
  .mod-pager-01.pc-cols-04 > ul.lv01 > li.col1 {
    width: 25%;
  }
  .mod-pager-01.pc-cols-04 > ul.lv01 > li.col2 {
    width: 50%;
  }
  .mod-pager-01.pc-cols-04 > ul.lv01 > li.col3 {
    width: 75%;
  }
  .mod-pager-01.pc-cols-04 > ul.lv01 > li.col4 {
    width: 100%;
  }
  .mod-pager-01.pc-cols-05 > ul.lv01 > li.col1 {
    width: 20%;
  }
  .mod-pager-01.pc-cols-05 > ul.lv01 > li.col2 {
    width: 40%;
  }
  .mod-pager-01.pc-cols-05 > ul.lv01 > li.col3 {
    width: 60%;
  }
  .mod-pager-01.pc-cols-05 > ul.lv01 > li.col4 {
    width: 80%;
  }
  .mod-pager-01.pc-cols-05 > ul.lv01 > li.col5 {
    width: 100%;
  }
  .mod-pager-01.pc-cols-06 > ul.lv01 > li.col1 {
    width: 16.666%;
  }
  .mod-pager-01.pc-cols-06 > ul.lv01 > li.col2 {
    width: 33.333%;
  }
  .mod-pager-01.pc-cols-06 > ul.lv01 > li.col3 {
    width: 50%;
  }
  .mod-pager-01.pc-cols-06 > ul.lv01 > li.col4 {
    width: 66.666%;
  }
  .mod-pager-01.pc-cols-06 > ul.lv01 > li.col5 {
    width: 83.333%;
  }
  .mod-pager-01.pc-cols-06 > ul.lv01 > li.col6 {
    width: 100%;
  }
  .mod-pager-01.pc-cols-07 > ul.lv01 > li.col1 {
    width: 14.285%;
  }
  .mod-pager-01.pc-cols-07 > ul.lv01 > li.col2 {
    width: 28.571%;
  }
  .mod-pager-01.pc-cols-07 > ul.lv01 > li.col3 {
    width: 42.857%;
  }
  .mod-pager-01.pc-cols-07 > ul.lv01 > li.col4 {
    width: 57.152%;
  }
  .mod-pager-01.pc-cols-07 > ul.lv01 > li.col5 {
    width: 71.428%;
  }
  .mod-pager-01.pc-cols-07 > ul.lv01 > li.col6 {
    width: 85.714%;
  }
  .mod-pager-01.pc-cols-07 > ul.lv01 > li.col7 {
    width: 100%;
  }
  .mod-pager-01.pc-cols-08 > ul.lv01 > li.col1 {
    width: 12.5%;
  }
  .mod-pager-01.pc-cols-08 > ul.lv01 > li.col2 {
    width: 25%;
  }
  .mod-pager-01.pc-cols-08 > ul.lv01 > li.col3 {
    width: 37.5%;
  }
  .mod-pager-01.pc-cols-08 > ul.lv01 > li.col4 {
    width: 50%;
  }
  .mod-pager-01.pc-cols-08 > ul.lv01 > li.col5 {
    width: 62.5%;
  }
  .mod-pager-01.pc-cols-08 > ul.lv01 > li.col6 {
    width: 75%;
  }
  .mod-pager-01.pc-cols-08 > ul.lv01 > li.col7 {
    width: 87.5%;
  }
  .mod-pager-01.pc-cols-08 > ul.lv01 > li.col8 {
    width: 100%;
  }
  .mod-pager-01.pc-cols-09 > ul.lv01 > li.col1 {
    width: 11.111%;
  }
  .mod-pager-01.pc-cols-09 > ul.lv01 > li.col2 {
    width: 22.222%;
  }
  .mod-pager-01.pc-cols-09 > ul.lv01 > li.col3 {
    width: 33.333%;
  }
  .mod-pager-01.pc-cols-09 > ul.lv01 > li.col4 {
    width: 44.444%;
  }
  .mod-pager-01.pc-cols-09 > ul.lv01 > li.col5 {
    width: 55.555%;
  }
  .mod-pager-01.pc-cols-09 > ul.lv01 > li.col6 {
    width: 66.666%;
  }
  .mod-pager-01.pc-cols-09 > ul.lv01 > li.col7 {
    width: 77.777%;
  }
  .mod-pager-01.pc-cols-09 > ul.lv01 > li.col8 {
    width: 88.888%;
  }
  .mod-pager-01.pc-cols-09 > ul.lv01 > li.col9 {
    width: 100%;
  }
  .mod-pager-01.pc-cols-10 > ul.lv01 > li.col1 {
    width: 10%;
  }
  .mod-pager-01.pc-cols-10 > ul.lv01 > li.col2 {
    width: 20%;
  }
  .mod-pager-01.pc-cols-10 > ul.lv01 > li.col3 {
    width: 30%;
  }
  .mod-pager-01.pc-cols-10 > ul.lv01 > li.col4 {
    width: 40%;
  }
  .mod-pager-01.pc-cols-10 > ul.lv01 > li.col5 {
    width: 50%;
  }
  .mod-pager-01.pc-cols-10 > ul.lv01 > li.col6 {
    width: 60%;
  }
  .mod-pager-01.pc-cols-10 > ul.lv01 > li.col7 {
    width: 70%;
  }
  .mod-pager-01.pc-cols-10 > ul.lv01 > li.col8 {
    width: 80%;
  }
  .mod-pager-01.pc-cols-10 > ul.lv01 > li.col9 {
    width: 90%;
  }
  .mod-pager-01.pc-cols-10 > ul.lv01 > li.col10 {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .mod-pager-01 {
    display: none;
  }
  .sec-inner .mod-pager-01 {
    padding-top: 3em;
    margin: 0 -15px 0;
  }
  .mod-pager-01 .lv01 > li .inner {
    padding: 0;
  }
  .mod-pager-01 .lv01 > li .inner .inner-deep > a {
    display: block;
    padding: 15px 15px;
    border-top: 1px solid #e5e5e5;
    border-left: 1px solid #e5e5e5;
    border-right: 1px solid #e5e5e5;
  }
  .mod-pager-01 .lv01 > li .inner .inner-deep > a.is-current {
    color: #db000a;
    background-color: #f6f6f6;
  }
  .mod-pager-01 .lv01 > li:last-child .inner .inner-deep > a {
    border-bottom: 1px solid #e5e5e5;
  }
  .mod-pager-01 .lv01 > li.lv-arrow .inner .inner-deep > a {
    position: relative;
    padding-right: 40px;
  }
  .mod-pager-01 .lv01 > li.lv-arrow .inner .inner-deep > a:before,
  .mod-pager-01 .lv01 > li.lv-arrow .inner .inner-deep > a:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 19px;
    width: 8px;
    height: 2px;
    backface-visibility: hidden;
    background-color: #db000a;
  }
  .mod-pager-01 .lv01 > li.lv-arrow .inner .inner-deep > a:before {
    margin-right: 2px;
    transform: rotate(45deg);
  }
  .mod-pager-01 .lv01 > li.lv-arrow .inner .inner-deep > a:after {
    margin-right: -3px;
    transform: rotate(-45deg);
  }
  .mod-pager-01 .lv01 > li.lv-arrow .inner .inner-deep > a.is-active {
    color: #db000a;
    background-color: #f6f6f6;
  }
  .mod-pager-01 .lv01 > li.lv-arrow .inner .inner-deep > a.is-active:before {
    transform: rotate(-45deg);
  }
  .mod-pager-01 .lv01 > li.lv-arrow .inner .inner-deep > a.is-active:after {
    transform: rotate(45deg);
  }
  .mod-pager-01 .lv02 {
    display: none;
  }
  .mod-pager-01 .lv02 > li {
    border-top: 1px solid #e5e5e5;
  }
  .mod-pager-01 .lv02 > li > a {
    display: block;
    padding: 15px 30px;
  }
}
/* english */
.lang-en .mod-pager-01 {
  font-family: eng_def, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 14px;
}

@media screen and (min-width: 768px) {
  .lang-en .mod-pager-01 > ul.lv01 > li > .inner > .inner-deep > a {
    padding: 4px 10px 2px;
  }
}
/* mod-pager-02
---------------------------------------------------------- */
.mod-pager-02 {
  display: none;
}

@media screen and (max-width: 767px) {
  .mod-pager-02 {
    display: block;
    font-size: 13px;
    text-align: left;
  }
  .sec-inner .mod-pager-02 {
    margin: 0 -15px;
  }
  .mod-pager-02 > ul {
    padding: 30px 0;
    overflow: hidden;
  }
  .mod-pager-02 > ul > li {
    background: #f6f6f6;
  }
  .mod-pager-02 > ul > li > a {
    position: relative;
    display: block;
    padding: 17px 15px 16px;
    color: #db000a;
  }
  .mod-pager-02 > ul > li > a:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    width: 6px;
    height: 10px;
    margin: -5px;
    background: url(/common/img/ico_arrow_right_01_@2x_ac.png) 0 0 no-repeat;
    background-size: 6px 10px;
  }
}
/* mod-pager-03
---------------------------------------------------------- */
.mod-pager-03 {
  margin-top: 30px;
  margin-bottom: 60px;
  font-size: 16px;
  text-align: center;
}
.mod-pager-03 .lv01 {
  display: flex;
  display: -webkit-flex;
  align-items: stretch;
  flex-wrap: wrap;
  margin-top: -3px;
  margin-right: -3px;
}
.mod-pager-03 .lv01 > li {
  margin-right: 3px;
  margin-top: 3px;
  background-color: #ffffff;
}
.mod-pager-03 .lv01 > li.is-active {
  color: #db000a;
}
.mod-pager-03 .lv01 > li.is-active > .inner > .inner-deep button {
  color: #ffffff;
  background-color: #15aabf;
}
.mod-pager-03 .lv01 > li.s-iPad, .mod-pager-03 .lv01 > li.s-safari {
  margin-left: -1px !important;
}
.mod-pager-03 .lv01 > li > .inner {
  width: 100%;
  height: 100%;
}
.mod-pager-03 .lv01 > li > .inner > .inner-deep {
  width: 100%;
  height: 100%;
}
.mod-pager-03 .lv01 > li > .inner > .inner-deep button {
  display: block;
  width: 100%;
  height: 100%;
  padding: 25px 5px;
  transition: all 0.4s ease;
}
.mod-pager-03 .lv01 > li > .inner > .inner-deep button:hover {
  color: #ffffff;
  background-color: #15aabf;
}
.mod-pager-03 .lv01 > li > .inner > .inner-deep > a {
  display: block;
  width: 100%;
  padding: 25px 0;
}
.mod-pager-03 .lv01 > li > .inner > .inner-deep > a:hover {
  text-decoration: underline;
}
.mod-pager-03 .lv01 > li > .inner > .inner-deep > a:hover, .mod-pager-03 .lv01 > li > .inner > .inner-deep > a.is-current {
  color: #db000a;
}

@media screen and (min-width: 768px) {
  .mod-pager-03 .lv01 > li:last-child > .inner:after, .mod-pager-03 .lv01 > li.last-col > .inner:after {
    display: none;
  }
  .mod-pager-03.pc-cols-02 .lv01 > li.col1 {
    width: calc(50% - 3px);
  }
  .mod-pager-03.pc-cols-02 .lv01 > li.col2 {
    width: 100%;
  }
  .mod-pager-03.pc-cols-03 .lv01 > li.col1 {
    width: calc(33.333% - 3px);
  }
  .mod-pager-03.pc-cols-03 .lv01 > li.col2 {
    width: calc(66.666% - 3px);
  }
  .mod-pager-03.pc-cols-03 .lv01 > li.col3 {
    width: 100%;
  }
  .mod-pager-03.pc-cols-04 .lv01 > li.col1 {
    width: calc(25% - 3px);
  }
  .mod-pager-03.pc-cols-04 .lv01 > li.col2 {
    width: calc(50% - 3px);
  }
  .mod-pager-03.pc-cols-04 .lv01 > li.col3 {
    width: calc(75% - 3px);
  }
  .mod-pager-03.pc-cols-04 .lv01 > li.col4 {
    width: 100%;
  }
  .mod-pager-03.pc-cols-05 .lv01 > li.col1 {
    width: calc(20% - 3px);
  }
  .mod-pager-03.pc-cols-05 .lv01 > li.col2 {
    width: calc(40% - 3px);
  }
  .mod-pager-03.pc-cols-05 .lv01 > li.col3 {
    width: calc(60% - 3px);
  }
  .mod-pager-03.pc-cols-05 .lv01 > li.col4 {
    width: calc(80% - 3px);
  }
  .mod-pager-03.pc-cols-05 .lv01 > li.col5 {
    width: 100%;
  }
  .mod-pager-03.pc-cols-06 .lv01 > li.col1 {
    width: calc(16.666% - 3px);
  }
  .mod-pager-03.pc-cols-06 .lv01 > li.col2 {
    width: calc(33.333% - 3px);
  }
  .mod-pager-03.pc-cols-06 .lv01 > li.col3 {
    width: calc(50% - 3px);
  }
  .mod-pager-03.pc-cols-06 .lv01 > li.col4 {
    width: calc(66.666% - 3px);
  }
  .mod-pager-03.pc-cols-06 .lv01 > li.col5 {
    width: calc(83.333% - 3px);
  }
  .mod-pager-03.pc-cols-06 .lv01 > li.col6 {
    width: 100%;
  }
  .mod-pager-03.pc-cols-07 .lv01 > li.col1 {
    width: calc(14.285% - 3px);
  }
  .mod-pager-03.pc-cols-07 .lv01 > li.col2 {
    width: calc(28.571% - 3px);
  }
  .mod-pager-03.pc-cols-07 .lv01 > li.col3 {
    width: calc(42.857% - 3px);
  }
  .mod-pager-03.pc-cols-07 .lv01 > li.col4 {
    width: calc(57.152% - 3px);
  }
  .mod-pager-03.pc-cols-07 .lv01 > li.col5 {
    width: calc(71.428% - 3px);
  }
  .mod-pager-03.pc-cols-07 .lv01 > li.col6 {
    width: calc(85.714% - 3px);
  }
  .mod-pager-03.pc-cols-07 .lv01 > li.col7 {
    width: 100%;
  }
  .mod-pager-03.pc-cols-08 .lv01 > li.col1 {
    width: calc(12.5% - 3px);
  }
  .mod-pager-03.pc-cols-08 .lv01 > li.col2 {
    width: calc(25% - 3px);
  }
  .mod-pager-03.pc-cols-08 .lv01 > li.col3 {
    width: calc(37.5% - 3px);
  }
  .mod-pager-03.pc-cols-08 .lv01 > li.col4 {
    width: calc(50% - 3px);
  }
  .mod-pager-03.pc-cols-08 .lv01 > li.col5 {
    width: calc(62.5% - 3px);
  }
  .mod-pager-03.pc-cols-08 .lv01 > li.col6 {
    width: calc(75% - 3px);
  }
  .mod-pager-03.pc-cols-08 .lv01 > li.col7 {
    width: calc(87.5% - 3px);
  }
  .mod-pager-03.pc-cols-08 .lv01 > li.col8 {
    width: 100%;
  }
  .mod-pager-03.pc-cols-09 .lv01 > li.col1 {
    width: calc(11.111% - 3px);
  }
  .mod-pager-03.pc-cols-09 .lv01 > li.col2 {
    width: calc(22.222% - 3px);
  }
  .mod-pager-03.pc-cols-09 .lv01 > li.col3 {
    width: calc(33.333% - 3px);
  }
  .mod-pager-03.pc-cols-09 .lv01 > li.col4 {
    width: calc(44.444% - 3px);
  }
  .mod-pager-03.pc-cols-09 .lv01 > li.col5 {
    width: calc(55.555% - 3px);
  }
  .mod-pager-03.pc-cols-09 .lv01 > li.col6 {
    width: calc(66.666% - 3px);
  }
  .mod-pager-03.pc-cols-09 .lv01 > li.col7 {
    width: calc(77.777% - 3px);
  }
  .mod-pager-03.pc-cols-09 .lv01 > li.col8 {
    width: calc(88.888% - 3px);
  }
  .mod-pager-03.pc-cols-09 .lv01 > li.col9 {
    width: 100%;
  }
  .mod-pager-03.pc-cols-10 .lv01 > li.col1 {
    width: calc(10% - 3px);
  }
  .mod-pager-03.pc-cols-10 .lv01 > li.col2 {
    width: calc(20% - 3px);
  }
  .mod-pager-03.pc-cols-10 .lv01 > li.col3 {
    width: calc(30% - 3px);
  }
  .mod-pager-03.pc-cols-10 .lv01 > li.col4 {
    width: calc(40% - 3px);
  }
  .mod-pager-03.pc-cols-10 .lv01 > li.col5 {
    width: calc(50% - 3px);
  }
  .mod-pager-03.pc-cols-10 .lv01 > li.col6 {
    width: calc(60% - 3px);
  }
  .mod-pager-03.pc-cols-10 .lv01 > li.col7 {
    width: calc(70% - 3px);
  }
  .mod-pager-03.pc-cols-10 .lv01 > li.col8 {
    width: calc(80% - 3px);
  }
  .mod-pager-03.pc-cols-10 .lv01 > li.col9 {
    width: calc(90% - 3px);
  }
  .mod-pager-03.pc-cols-10 .lv01 > li.col10 {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .mod-pager-03 {
    margin: 25px 0 20px;
  }
  .mod-pager-03 .lv01 {
    margin-top: -5px;
    margin-right: -5px;
  }
  .mod-pager-03 .lv01 > li {
    margin-right: 5px;
    margin-top: 5px;
    font-size: 13px;
  }
  .mod-pager-03 .lv01 > li > .inner > .inner-deep button {
    padding: 15px 0;
  }
  .mod-pager-03 .lv01 > li > .inner > .inner-deep > a {
    padding: 15px 0;
  }
  .mod-pager-03.sp-cols-01 .lv01 > li {
    width: 100%;
  }
  .mod-pager-03.sp-cols-02 .lv01 > li.col1 {
    width: calc(50% - 5px);
  }
  .mod-pager-03.sp-cols-02 .lv01 > li.col2 {
    width: 100%;
  }
  .mod-pager-03.sp-cols-03 .lv01 > li.col1 {
    width: calc(33.333% - 5px);
  }
  .mod-pager-03.sp-cols-03 .lv01 > li.col2 {
    width: calc(66.666% - 5px);
  }
  .mod-pager-03.sp-cols-03 .lv01 > li.col3 {
    width: 100%;
  }
  .mod-pager-03.sp-cols-04 .lv01 > li.col1 {
    width: calc(25% - 5px);
  }
  .mod-pager-03.sp-cols-04 .lv01 > li.col2 {
    width: calc(50% - 5px);
  }
  .mod-pager-03.sp-cols-04 .lv01 > li.col3 {
    width: calc(75% - 5px);
  }
  .mod-pager-03.sp-cols-04 .lv01 > li.col4 {
    width: 100%;
  }
}
/* ----------------------------------------------------------
 sec-categories-06
---------------------------------------------------------- */
.sec-categories-06 {
  margin-top: 48px;
  padding-top: 48px;
  padding-bottom: 60px;
  background-color: #f6f6f6;
}

@media screen and (max-width: 767px) {
  .sec-categories-06 {
    margin-top: 30px;
    padding-top: 10px;
    padding-bottom: 30px;
  }
}
@media screen and (min-width: 768px) {
  .mod-pager-03 .lv01 > li:last-child > .inner:after, .mod-pager-03 .lv01 > li.last-col > .inner:after {
    display: none;
  }
  .mod-pager-03.pc-cols-02 .lv01 > li.col1 {
    width: calc(50% - 3px);
  }
  .mod-pager-03.pc-cols-02 .lv01 > li.col2 {
    width: 100%;
  }
  .mod-pager-03.pc-cols-03 .lv01 > li.col1 {
    width: calc(33.333% - 3px);
  }
  .mod-pager-03.pc-cols-03 .lv01 > li.col2 {
    width: calc(66.666% - 3px);
  }
  .mod-pager-03.pc-cols-03 .lv01 > li.col3 {
    width: 100%;
  }
  .mod-pager-03.pc-cols-04 .lv01 > li.col1 {
    width: calc(25% - 3px);
  }
  .mod-pager-03.pc-cols-04 .lv01 > li.col2 {
    width: calc(50% - 3px);
  }
  .mod-pager-03.pc-cols-04 .lv01 > li.col3 {
    width: calc(75% - 3px);
  }
  .mod-pager-03.pc-cols-04 .lv01 > li.col4 {
    width: 100%;
  }
  .mod-pager-03.pc-cols-05 .lv01 > li.col1 {
    width: calc(20% - 3px);
  }
  .mod-pager-03.pc-cols-05 .lv01 > li.col2 {
    width: calc(40% - 3px);
  }
  .mod-pager-03.pc-cols-05 .lv01 > li.col3 {
    width: calc(60% - 3px);
  }
  .mod-pager-03.pc-cols-05 .lv01 > li.col4 {
    width: calc(80% - 3px);
  }
  .mod-pager-03.pc-cols-05 .lv01 > li.col5 {
    width: 100%;
  }
  .mod-pager-03.pc-cols-06 .lv01 > li.col1 {
    width: calc(16.666% - 3px);
  }
  .mod-pager-03.pc-cols-06 .lv01 > li.col2 {
    width: calc(33.333% - 3px);
  }
  .mod-pager-03.pc-cols-06 .lv01 > li.col3 {
    width: calc(50% - 3px);
  }
  .mod-pager-03.pc-cols-06 .lv01 > li.col4 {
    width: calc(66.666% - 3px);
  }
  .mod-pager-03.pc-cols-06 .lv01 > li.col5 {
    width: calc(83.333% - 3px);
  }
  .mod-pager-03.pc-cols-06 .lv01 > li.col6 {
    width: 100%;
  }
  .mod-pager-03.pc-cols-07 .lv01 > li.col1 {
    width: calc(14.285% - 3px);
  }
  .mod-pager-03.pc-cols-07 .lv01 > li.col2 {
    width: calc(28.571% - 3px);
  }
  .mod-pager-03.pc-cols-07 .lv01 > li.col3 {
    width: calc(42.857% - 3px);
  }
  .mod-pager-03.pc-cols-07 .lv01 > li.col4 {
    width: calc(57.152% - 3px);
  }
  .mod-pager-03.pc-cols-07 .lv01 > li.col5 {
    width: calc(71.428% - 3px);
  }
  .mod-pager-03.pc-cols-07 .lv01 > li.col6 {
    width: calc(85.714% - 3px);
  }
  .mod-pager-03.pc-cols-07 .lv01 > li.col7 {
    width: 100%;
  }
  .mod-pager-03.pc-cols-08 .lv01 > li.col1 {
    width: calc(12.5% - 3px);
  }
  .mod-pager-03.pc-cols-08 .lv01 > li.col2 {
    width: calc(25% - 3px);
  }
  .mod-pager-03.pc-cols-08 .lv01 > li.col3 {
    width: calc(37.5% - 3px);
  }
  .mod-pager-03.pc-cols-08 .lv01 > li.col4 {
    width: calc(50% - 3px);
  }
  .mod-pager-03.pc-cols-08 .lv01 > li.col5 {
    width: calc(62.5% - 3px);
  }
  .mod-pager-03.pc-cols-08 .lv01 > li.col6 {
    width: calc(75% - 3px);
  }
  .mod-pager-03.pc-cols-08 .lv01 > li.col7 {
    width: calc(87.5% - 3px);
  }
  .mod-pager-03.pc-cols-08 .lv01 > li.col8 {
    width: 100%;
  }
  .mod-pager-03.pc-cols-09 .lv01 > li.col1 {
    width: calc(11.111% - 3px);
  }
  .mod-pager-03.pc-cols-09 .lv01 > li.col2 {
    width: calc(22.222% - 3px);
  }
  .mod-pager-03.pc-cols-09 .lv01 > li.col3 {
    width: calc(33.333% - 3px);
  }
  .mod-pager-03.pc-cols-09 .lv01 > li.col4 {
    width: calc(44.444% - 3px);
  }
  .mod-pager-03.pc-cols-09 .lv01 > li.col5 {
    width: calc(55.555% - 3px);
  }
  .mod-pager-03.pc-cols-09 .lv01 > li.col6 {
    width: calc(66.666% - 3px);
  }
  .mod-pager-03.pc-cols-09 .lv01 > li.col7 {
    width: calc(77.777% - 3px);
  }
  .mod-pager-03.pc-cols-09 .lv01 > li.col8 {
    width: calc(88.888% - 3px);
  }
  .mod-pager-03.pc-cols-09 .lv01 > li.col9 {
    width: 100%;
  }
  .mod-pager-03.pc-cols-10 .lv01 > li.col1 {
    width: calc(10% - 3px);
  }
  .mod-pager-03.pc-cols-10 .lv01 > li.col2 {
    width: calc(20% - 3px);
  }
  .mod-pager-03.pc-cols-10 .lv01 > li.col3 {
    width: calc(30% - 3px);
  }
  .mod-pager-03.pc-cols-10 .lv01 > li.col4 {
    width: calc(40% - 3px);
  }
  .mod-pager-03.pc-cols-10 .lv01 > li.col5 {
    width: calc(50% - 3px);
  }
  .mod-pager-03.pc-cols-10 .lv01 > li.col6 {
    width: calc(60% - 3px);
  }
  .mod-pager-03.pc-cols-10 .lv01 > li.col7 {
    width: calc(70% - 3px);
  }
  .mod-pager-03.pc-cols-10 .lv01 > li.col8 {
    width: calc(80% - 3px);
  }
  .mod-pager-03.pc-cols-10 .lv01 > li.col9 {
    width: calc(90% - 3px);
  }
  .mod-pager-03.pc-cols-10 .lv01 > li.col10 {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .mod-pager-03 {
    margin: 25px 0 20px;
  }
  .mod-pager-03 .lv01 {
    margin-top: -5px;
    margin-right: -5px;
  }
  .mod-pager-03 .lv01 > li {
    margin-right: 5px;
    margin-top: 5px;
    font-size: 13px;
  }
  .mod-pager-03 .lv01 > li > .inner > .inner-deep button {
    padding: 15px 0;
  }
  .mod-pager-03 .lv01 > li > .inner > .inner-deep > a {
    padding: 15px 0;
  }
  .mod-pager-03.sp-cols-01 .lv01 > li {
    width: 100%;
  }
  .mod-pager-03.sp-cols-02 .lv01 > li.col1 {
    width: calc(50% - 5px);
  }
  .mod-pager-03.sp-cols-02 .lv01 > li.col2 {
    width: 100%;
  }
  .mod-pager-03.sp-cols-03 .lv01 > li.col1 {
    width: calc(33.333% - 5px);
  }
  .mod-pager-03.sp-cols-03 .lv01 > li.col2 {
    width: calc(66.666% - 5px);
  }
  .mod-pager-03.sp-cols-03 .lv01 > li.col3 {
    width: 100%;
  }
  .mod-pager-03.sp-cols-04 .lv01 > li.col1 {
    width: calc(25% - 5px);
  }
  .mod-pager-03.sp-cols-04 .lv01 > li.col2 {
    width: calc(50% - 5px);
  }
  .mod-pager-03.sp-cols-04 .lv01 > li.col3 {
    width: calc(75% - 5px);
  }
  .mod-pager-03.sp-cols-04 .lv01 > li.col4 {
    width: 100%;
  }
}
/* ----------------------------------------------------------
 slider
---------------------------------------------------------- */
/* mod-slider-item
---------------------------------------------------------- */
.mod-slider-item {
  position: relative;
  z-index: 1;
}

.mod-slider-item .background img {
  width: 100%;
}

.mod-slider-item > .detail {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.mod-slider-item.type-slide-01 > .detail {
  padding-top: 48px;
  justify-content: center;
  align-items: center;
}

.mod-slider-item.type-slide-01 .btn-cmn-wrap {
  margin-top: 40px;
}

.mod-slider-item.type-slide-01 .btn-cmn-wrap:first-child {
  margin-top: 0;
}

.mod-slider-item.type-slide-under > .detail {
  padding-bottom: 114px;
  justify-content: center;
  align-items: flex-end;
}

.mod-slider-item.type-slide-under > .detail .title {
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  letter-spacing: 0.06em;
}

.mod-slider-item.type-slide-under .btn-cmn-wrap {
  margin-top: 25px;
}

.mod-slider-item.type-slide-under .btn-cmn-wrap:first-child {
  margin-top: 0;
}

.mod-slider-item.type-hero-01 > .detail {
  padding: 0 100px;
}

.mod-slider-item.type-hero-01 > .detail.main-items {
  z-index: 20;
}

.mod-slider-item.type-hero-01 > .detail > .detail-in {
  display: flex;
  width: 100%;
  max-width: 1170px;
  margin: 0 auto;
}

.mod-slider-item.type-hero-01 .title {
  font-size: 36px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  letter-spacing: 0.06em;
}

.mod-slider-item.type-hero-01 .text {
  margin-top: 0.5em;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  letter-spacing: 0.06em;
}

.mod-slider-item.type-hero-01 .text:first-child {
  margin-top: 0;
}

.mod-slider-item.type-hero-01 .btn-cmn-wrap {
  margin-top: 40px;
}

.mod-slider-item.type-hero-01 .btn-cmn-wrap:first-child {
  margin-top: 0;
}

.mod-slider-item.type-hero-01 .logo + .btn-cmn-wrap {
  margin-top: 25px;
}

@media screen and (min-width: 768px) {
  .mod-slider-item.type-hero-01 > .detail.x-left-pc > .detail-in {
    justify-content: flex-start;
  }
  .mod-slider-item.type-hero-01 > .detail.x-center-pc > .detail-in {
    justify-content: center;
  }
  .mod-slider-item.type-hero-01 > .detail.x-right-pc > .detail-in {
    justify-content: flex-end;
  }
  .mod-slider-item.type-hero-01 > .detail.y-top-pc {
    align-items: flex-start;
  }
  .mod-slider-item.type-hero-01 > .detail.y-top-pc > .detail-in {
    padding-top: 114px;
  }
  .mod-slider-item.type-hero-01 > .detail.y-middle-pc {
    align-items: center;
  }
  .mod-slider-item.type-hero-01 > .detail.y-middle-pc > .detail-in {
    -webkit-box-align: center;
  }
  .mod-slider-item.type-hero-01 > .detail.y-bottom-pc {
    align-items: flex-end;
  }
  .mod-slider-item.type-hero-01 > .detail.y-bottom-pc > .detail-in {
    padding-bottom: 114px;
  }
  .mod-slider-item.type-hero-01 > .detail.y-bottom-pc.sub-items > .detail-in {
    padding-bottom: 70px;
  }
}
.mod-slider-item.type-contents-01 > .detail.main-items {
  z-index: 20;
}

.mod-slider-item.type-contents-01 > .detail > .detail-in {
  padding: 14px 20px;
  position: relative;
  display: flex;
  width: 100%;
  max-width: 1170px;
  margin: 0 auto;
  background-color: rgba(0, 0, 0, 0.5);
}

.mod-slider-item.type-contents-01 .title {
  font-size: 36px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  letter-spacing: 0.06em;
}

.mod-slider-item.type-contents-01 .text {
  margin-top: 0.5em;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  letter-spacing: 0.06em;
}

.mod-slider-item.type-contents-01 .text:first-child {
  margin-top: 0;
}

.mod-slider-item.type-contents-01 .txt-caption {
  color: #fff;
}

.mod-slider-item.type-contents-01 .btn-cmn-wrap {
  margin-top: 40px;
}

.mod-slider-item.type-contents-01 .btn-cmn-wrap:first-child {
  margin-top: 0;
}

.mod-slider-item.type-contents-01 .logo + .btn-cmn-wrap {
  margin-top: 25px;
}

@media screen and (min-width: 768px) {
  .mod-slider-item.type-contents-01 > .detail.x-left-pc > .detail-in {
    justify-content: flex-start;
  }
  .mod-slider-item.type-contents-01 > .detail.x-center-pc > .detail-in {
    justify-content: center;
  }
  .mod-slider-item.type-contents-01 > .detail.x-right-pc > .detail-in {
    justify-content: flex-end;
  }
  .mod-slider-item.type-contents-01 > .detail.y-top-pc {
    align-items: flex-start;
  }
  .mod-slider-item.type-contents-01 > .detail.y-middle-pc {
    align-items: center;
  }
  .mod-slider-item.type-contents-01 > .detail.y-middle-pc > .detail-in {
    -webkit-box-align: center;
  }
  .mod-slider-item.type-contents-01 > .detail.y-bottom-pc {
    align-items: flex-end;
  }
}
.mod-slider-item.type-item-01 > .detail > .detail-in {
  position: relative;
  width: 1170px;
  margin: 0 auto;
  text-align: left;
}

.mod-slider-item.type-item-01 > .detail > .detail-in .detail-top {
  padding-top: 60px;
}

.mod-slider-item.type-item-01 > .detail > .detail-in .detail-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding-bottom: 60px;
}

.mod-slider-item.type-item-01 .title {
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 0.06em;
}

.mod-slider-item.type-item-01 .sub-text {
  font-size: 18px;
  font-weight: bold;
}

.mod-slider-item.type-item-01 .logo + .btn-cmn-wrap {
  margin-top: 25px;
}

.mod-slider-item.type-item-02 > .detail > .detail-in {
  position: relative;
  width: 1170px;
  margin: 0 auto;
  text-align: left;
}

.mod-slider-item.type-item-02 > .detail > .detail-in .detail-top {
  padding-top: 60px;
}

.mod-slider-item.type-item-02 > .detail > .detail-in .detail-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding-bottom: 60px;
}

.mod-slider-item.type-item-02 .title {
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 0.06em;
}

.mod-slider-item.type-item-02 .sub-text {
  font-size: 18px;
  font-weight: bold;
}

.mod-slider-item.type-item-02 .logo + .btn-cmn-wrap {
  margin-top: 25px;
}

.mod-slider-item.type-item-03 > .detail > .detail-in {
  position: relative;
  width: 100%;
  max-width: 970px;
  margin: 0 auto;
  text-align: left;
}

.mod-slider-item.type-item-03 > .detail > .detail-in .detail-top {
  padding-top: 60px;
}

.mod-slider-item.type-item-03 > .detail > .detail-in .detail-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding-bottom: 60px;
}

.mod-slider-item.type-item-03 .title {
  font-weight: bold;
  letter-spacing: 0.06em;
}

.mod-slider-item.type-item-03 .title .main {
  display: block;
  font-size: 36px;
}

.mod-slider-item.type-item-03 .title .sub {
  display: block;
  margin-top: 38px;
  font-size: 22px;
}

.mod-slider-item.type-item-03 .title .sub:first-child {
  margin-top: 0;
}

.mod-slider-item.type-item-03 .sub-text {
  font-size: 18px;
  font-weight: bold;
}

.mod-slider-item.type-item-03 .logo + .btn-cmn-wrap {
  margin-top: 25px;
}

@media screen and (max-width: 767px) {
  .mod-slider-item .background img {
    width: 100%;
  }
  .mod-slider-item .item {
    width: 100%;
  }
  .mod-slider-item.type-slide-01 > .detail {
    padding: 15px;
  }
  .mod-slider-item.type-slide-01 .logo {
    max-width: 236px;
    margin: 0 auto;
  }
  .mod-slider-item.type-slide-01 .logo img {
    width: 100%;
  }
  .mod-slider-item.type-slide-01 .logo + .btn-cmn-wrap {
    margin-top: 30px;
  }
  .mod-slider-item.type-hero-01 > .detail {
    padding: 15px 15px 55px;
  }
  .mod-slider-item.type-hero-01 .title {
    font-size: 20px;
  }
  .mod-slider-item.type-hero-01 .text {
    margin-top: 0.5em;
    font-size: 12px;
    font-weight: normal;
  }
  .mod-slider-item.type-hero-01 .btn-cmn-wrap {
    margin-top: 25px;
  }
  .mod-slider-item.type-hero-01 .btn-cmn-wrap:first-child {
    margin-top: 0;
  }
  .mod-slider-item.type-hero-01 .logo + .btn-cmn-wrap {
    margin-top: 25px;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .mod-slider-item.type-hero-01 > .detail.x-left-sp > .detail-in {
    justify-content: flex-start;
  }
  .mod-slider-item.type-hero-01 > .detail.x-center-sp > .detail-in {
    justify-content: center;
  }
  .mod-slider-item.type-hero-01 > .detail.x-right-sp > .detail-in {
    justify-content: flex-end;
  }
  .mod-slider-item.type-hero-01 > .detail.y-top-sp {
    align-items: flex-start;
  }
  .mod-slider-item.type-hero-01 > .detail.y-middle-sp {
    align-items: center;
  }
  .mod-slider-item.type-hero-01 > .detail.y-middle-sp > .detail-in {
    -webkit-box-align: center;
  }
  .mod-slider-item.type-hero-01 > .detail.y-bottom-sp {
    align-items: flex-end;
  }
  .mod-slider-item.type-hero-01 > .detail.y-bottom-sp.sub-items > .detail-in {
    margin-bottom: -2em;
  }
}
@media screen and (max-width: 767px) {
  .mod-slider-item.type-contents-01 > .detail {
    position: static;
    padding: 0;
  }
  .mod-slider-item.type-contents-01 .title {
    font-size: 20px;
  }
  .mod-slider-item.type-contents-01 .text {
    margin-top: 0.5em;
    font-size: 12px;
    font-weight: normal;
  }
  .mod-slider-item.type-contents-01 .btn-cmn-wrap {
    margin-top: 25px;
  }
  .mod-slider-item.type-contents-01 .btn-cmn-wrap:first-child {
    margin-top: 0;
  }
  .mod-slider-item.type-contents-01 .logo + .btn-cmn-wrap {
    margin-top: 25px;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .mod-slider-item.type-contents-01 > .detail.x-left-sp > .detail-in {
    justify-content: flex-start;
  }
  .mod-slider-item.type-contents-01 > .detail.x-center-sp > .detail-in {
    justify-content: center;
  }
  .mod-slider-item.type-contents-01 > .detail.x-right-sp > .detail-in {
    justify-content: flex-end;
  }
  .mod-slider-item.type-contents-01 > .detail.y-top-sp {
    align-items: flex-start;
  }
  .mod-slider-item.type-contents-01 > .detail.y-middle-sp {
    align-items: center;
  }
  .mod-slider-item.type-contents-01 > .detail.y-middle-sp > .detail-in {
    -webkit-box-align: center;
  }
  .mod-slider-item.type-contents-01 > .detail.y-bottom-sp {
    align-items: flex-end;
  }
  .mod-slider-item.type-contents-01 > .detail.y-bottom-sp.sub-items > .detail-in {
    margin-bottom: -2em;
  }
}
@media screen and (max-width: 767px) {
  .mod-slider-item.type-slide-under > .detail {
    padding: 15px 15px 77px;
  }
  .mod-slider-item.type-slide-under > .detail .title {
    font-size: 20px;
  }
  .mod-slider-item.type-slide-under .logo + .btn-cmn-wrap {
    margin-top: 25px;
  }
  .mod-slider-item.type-item-01 > .detail > .detail-in {
    width: 100%;
    padding: 0 15px;
  }
  .mod-slider-item.type-item-01 > .detail > .detail-in .detail-top {
    padding-top: 20px;
  }
  .mod-slider-item.type-item-01 > .detail > .detail-in .detail-bottom {
    padding: 0 15px 45px;
  }
  .mod-slider-item.type-item-01 .title {
    font-size: 24px;
  }
  .mod-slider-item.type-item-01 .sub-text {
    font-size: 12px;
  }
  .mod-slider-item.type-item-02 > .detail {
    position: static;
  }
  .mod-slider-item.type-item-02 > .detail > .detail-in {
    position: static;
    width: 100%;
    padding: 0 15px;
  }
  .mod-slider-item.type-item-02 > .detail > .detail-in .detail-top {
    position: static;
    padding-top: 20px;
  }
  .mod-slider-item.type-item-02 > .detail > .detail-in .detail-bottom {
    padding-top: 5px;
    position: static;
    padding-bottom: 0;
  }
  .mod-slider-item.type-item-02 .title {
    font-size: 24px;
  }
  .mod-slider-item.type-item-02 .sub-text {
    font-size: 12px;
  }
  .mod-slider-item.type-item-03 > .detail {
    position: static;
  }
  .mod-slider-item.type-item-03 > .detail > .detail-in {
    position: static;
    width: 100%;
    padding: 0 15px;
  }
  .mod-slider-item.type-item-03 > .detail > .detail-in .detail-top {
    position: static;
    padding-top: 20px;
  }
  .mod-slider-item.type-item-03 > .detail > .detail-in .detail-bottom {
    padding-top: 5px;
    position: static;
    padding-bottom: 0;
  }
  .mod-slider-item.type-item-03 .title .main {
    font-size: 24px;
  }
  .mod-slider-item.type-item-03 .title .sub {
    margin: 0.5em 0;
    font-size: 12px;
  }
  .mod-slider-item.type-item-03 .title .sub:first-child {
    margin-top: 0;
  }
  .mod-slider-item.type-item-03 .sub-text {
    font-size: 12px;
  }
}
/* ----------------------------------------------------------
 information
---------------------------------------------------------- */
/* mod-information
---------------------------------------------------------- */
.mod-information {
  overflow: hidden;
}

.mod-information .lead {
  float: left;
}

.mod-information .lead .title {
  line-height: 1;
  font-size: 30px;
  font-family: robot, eng_def, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
  color: #db000a;
}

.mod-information .lead .sub {
  font-size: 16px;
  margin-top: 15px;
  letter-spacing: -0.06em;
}

.mod-information .lead .links {
  margin-top: 20px;
  letter-spacing: 0.06em;
}

.mod-information .lead .links:hover {
  text-decoration: underline;
}

.mod-information .lead .links .link {
  position: relative;
  font-size: 16px;
  color: #db000a;
}

.mod-information .lead .links .link:after {
  display: inline-block;
  content: "";
  width: 7px;
  height: 12px;
  margin-left: 8px;
  background: url(/common/img/ico_arrow_right_01_@2x_ac.png) 0 0 no-repeat;
  background-size: 7px 12px;
}

.mod-information .detail {
  float: right;
  width: 869px;
}

.mod-information .information {
  padding-top: 1px;
}

.mod-information .information > li {
  margin-top: 20px;
}

.mod-information .information > li:first-child {
  margin-top: 0;
}

.mod-information .information > li a:hover .text {
  text-decoration: underline;
}

.mod-information .information > li .item {
  display: flex;
  align-items: flex-start;
}

.mod-information .information > li .item .category {
  min-width: 8em;
  padding: 3px 5px 2px;
  font-size: 14px;
  text-align: center;
  color: #fff;
  background-color: #db000a;
}

.mod-information .information > li .item .date {
  min-width: 100px;
  padding-top: 2px;
  margin: 0 10px 0 18px;
  font-size: 16px;
}

.mod-information .information > li .item .text {
  padding-top: 2px;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .mod-information .lead {
    float: none;
  }
  .mod-information .lead .title {
    font-size: 26px;
  }
  .mod-information .lead .title img {
    width: 100%;
    max-width: 141px;
  }
  .mod-information .lead .sub {
    font-size: 13px;
    margin-top: 12px;
    letter-spacing: normal;
  }
  .mod-information .lead .links {
    margin-top: 11px;
    letter-spacing: normal;
  }
  .mod-information .lead .links .link {
    font-size: 13px;
  }
  .mod-information .lead .links .link:after {
    width: 6px;
    height: 10px;
    margin-left: 5px;
    background-size: 6px 10px;
  }
  .mod-information .detail {
    float: none;
    width: 100%;
  }
  .mod-information .information {
    padding-top: 20px;
  }
  .mod-information .information > li {
    margin-top: 20px;
  }
  .mod-information .information > li:first-child {
    margin-top: 0;
  }
  .mod-information .information > li .item {
    display: block;
    align-items: center;
  }
  .mod-information .information > li .item .category {
    float: left;
    min-width: 8em;
    padding: 1px 5px 1px;
    font-size: 12px;
    text-align: center;
    color: #fff;
    background-color: #db000a;
  }
  .mod-information .information > li .item .date {
    float: left;
    min-width: 0;
    padding-top: 2px;
    margin: 0 0 0 10px;
    font-size: 13px;
  }
  .mod-information .information > li .item .text {
    clear: both;
    padding-top: 6px;
    font-size: 12px;
    line-height: 1.8;
  }
}
/* --------------------------------------------------------
 mod-position
---------------------------------------------------------- */
/* mod-position
---------------------------------------------------------- */
.mod-position {
  position: relative;
}

.mod-position .position-item {
  position: absolute;
  width: 100%;
  z-index: 5;
}

.mod-position .position-item .position-item-in {
  width: 100%;
  max-width: 1170px;
  margin: 0 auto;
}

.mod-position .static-item {
  position: static;
  z-index: 1;
}

.mod-position.type-JA-04-06-01-001.item-01 {
  margin-top: 80px;
}

.mod-position.type-JA-04-06-01-001.item-01 .position-item .image {
  width: 100%;
  max-width: 513px;
  margin-top: -85px;
}

@media screen and (max-width: 767px) {
  .mod-position.type-JA-04-06-01-001.item-01 {
    margin-top: 50px;
  }
  .mod-position.type-JA-04-06-01-001.item-01 .position-item {
    padding: 0 15px;
  }
  .mod-position.type-JA-04-06-01-001.item-01 .position-item .image {
    max-width: 180px;
    margin-top: -30px;
  }
}
.mod-position.type-JA-04-06-01-001.item-02 .position-item {
  left: 0;
  bottom: 0;
  max-width: 180px;
  margin: 0 0 30px -30px;
}

.mod-position.type-JA-04-06-01-001.item-02 .position-item .image {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .mod-position.type-JA-04-06-01-001.item-02 .position-item {
    max-width: 150px;
    margin: 0 0 15px 0;
  }
}
/* --------------------------------------------------------
 mod-accordion
---------------------------------------------------------- */
/* mod-accordion
---------------------------------------------------------- */
.mod-accordion {
  font-family: eng_def, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
}

.mod-accordion + .mod-accordion .trigger {
  padding-top: 0;
}

.mod-accordion .trigger {
  padding: 22px 0;
  letter-spacing: 0.06em;
}

.mod-accordion .content {
  padding: 33px 35px 32px;
  margin-bottom: 22px;
  font-size: 14px;
  background-color: #f6f6f6;
}

.mod-accordion .content .link {
  margin-top: 13px;
}

.mod-accordion .content .link:first-child {
  margin-top: 0;
}

.mod-accordion .content .text {
  margin-top: 8px;
  line-height: 1.8;
}

.mod-accordion .content .text:first-child {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .mod-accordion + .mod-accordion .trigger,
  .col + .col .mod-accordion:first-child .trigger {
    padding-top: 0;
  }
  .mod-accordion .trigger {
    padding: 10px 0;
    letter-spacing: 0.06em;
  }
  .mod-accordion .content {
    padding: 13px 15px 13px;
    margin-bottom: 10px;
    font-size: 12px;
  }
  .mod-accordion .content .link {
    margin-top: 12px;
  }
  .mod-accordion .content .link:first-child {
    margin-top: 0;
  }
  .mod-accordion .content .text {
    margin-top: 6px;
    line-height: 1.8;
  }
  .mod-accordion .content .text:first-child {
    margin-top: 0;
  }
}
/* ----------------------------------------------------------
 video
---------------------------------------------------------- */
/* mod-video
---------------------------------------------------------- */
.mod-video .video {
  font-size: 0;
  vertical-align: middle;
}

.per70-pc {
  width: 70%;
  margin: 0 auto;
}

.mod-video .video .v-in {
  position: relative;
  font-size: 0;
  vertical-align: middle;
  cursor: pointer;
}

.mod-video .video .v-in:hover {
  opacity: 0.7;
}

.mod-video .video .v-item {
  width: 100%;
  font-size: medium;
  vertical-align: middle;
}

.mod-video .video a.v-in {
  position: relative;
}

.mod-video .video a.v-in:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60px;
  height: 60px;
  margin-top: -30px;
  margin-left: -30px;
  background: url(/common/img/ico_video_01_pc.png) 0 0 no-repeat;
  background-size: 60px 60px;
}

.mod-video .video .poster {
  position: relative;
}

.mod-video .video .poster:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60px;
  height: 60px;
  margin-top: -30px;
  margin-left: -30px;
  background: url(/common/img/ico_video_01_pc.png) 0 0 no-repeat;
  background-size: 60px 60px;
}

.mod-video .video.add-poster .v-item {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -10;
}

.mod-video .video.is-play .v-in:hover {
  opacity: 1;
}

.mod-video .video.is-play .v-in:before {
  display: none;
}

.mod-video .video.is-play .v-item {
  position: static;
}

.mod-video .detail {
  margin-top: 18px;
}

.mod-video .detail:first-child {
  margin-top: 0;
}

.video-col2 {
  width: 570px;
}

@media screen and (max-width: 767px) {
  .mod-video .video .v-in:hover {
    opacity: 1;
  }
  .per70-pc {
    width: 100%;
  }
  .mod-video .video a.v-in:before {
    width: 30px;
    height: 30px;
    margin-top: -15px;
    margin-left: -15px;
    background-size: 30px 30px;
  }
  .mod-video .video .poster img {
    width: 100%;
  }
  .mod-video .video .poster:before {
    width: 30px;
    height: 30px;
    margin-top: -15px;
    margin-left: -15px;
    background-size: 30px 30px;
  }
  .mod-video .video.add-poster .v-item {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -10;
  }
  .mod-video .video.is-play .v-in:hover {
    opacity: 1;
  }
  .mod-video .video.is-play .v-in:before {
    display: none;
  }
  .mod-video .video.is-play .v-item {
    position: static;
  }
  .mod-video .detail {
    margin-top: 13px;
  }
  .mod-video .detail:first-child {
    margin-top: 0;
  }
  .video-col2 {
    width: 100%;
  }
}
/* YouTube埋め込み用 */
.youtubeMovie {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.youtubeMovie iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

/* ----------------------------------------------------------
  image map
---------------------------------------------------------- */
/* mod-image-map
---------------------------------------------------------- */
.mod-image-map {
  margin-top: 1em;
}

.mod-image-map:first-child {
  margin-top: 0;
}

.mod-image-map .content {
  vertical-align: top;
  text-align: center;
}

.mod-image-map .content .image {
  vertical-align: top;
}

@media screen and (max-width: 767px) {
  .mod-image-map .content .image {
    width: 100%;
  }
}
/* ----------------------------------------------------------
 is
---------------------------------------------------------- */
/* ----------------------------------------------------------
 style
---------------------------------------------------------- */
/* -- swicth -- */
.s-pc {
  display: block;
}

.s-sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .s-pc {
    display: none;
  }
  .s-sp {
    display: block;
  }
}
/* -- text -- */
.s-display-ib {
  display: inline-block !important;
}

.s-fw-n {
  font-weight: normal !important;
}

.s-nowrap {
  white-space: nowrap !important;
}

.s-fw-b {
  font-weight: bold !important;
}

.s-fs-italic {
  font-style: italic !important;
}

.s-td-n {
  text-decoration: none !important;
}

.s-td-u {
  text-decoration: underline !important;
}

.s-ta-l {
  text-align: left !important;
}

.s-ta-c {
  text-align: center !important;
}

.s-ta-r {
  text-align: right !important;
}

.s-va-t {
  vertical-align: top !important;
}

.s-va-m {
  vertical-align: middle !important;
}

.s-va-b {
  vertical-align: bottom !important;
}

.s-txt-hide {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.s-ls-n {
  letter-spacing: normal !important;
}

@media screen and (min-width: 768px) {
  .s-ls-n001-pc {
    letter-spacing: -0.01em !important;
  }
  .s-ls-n002-pc {
    letter-spacing: -0.02em !important;
  }
  .s-ls-n003-pc {
    letter-spacing: -0.03em !important;
  }
  .s-ta-l-pc {
    text-align: left !important;
  }
  .s-ta-c-pc {
    text-align: center !important;
  }
  .s-ta-r-pc {
    text-align: right !important;
  }
  .s-va-t-pc {
    vertical-align: top !important;
  }
  .s-va-m-pc {
    vertical-align: middle !important;
  }
  .s-va-b-pc {
    vertical-align: bottom !important;
  }
}
@media screen and (max-width: 767px) {
  .s-ls-n001-sp {
    letter-spacing: -0.01em !important;
  }
  .s-ls-n002-sp {
    letter-spacing: -0.02em !important;
  }
  .s-ls-n003-sp {
    letter-spacing: -0.03em !important;
  }
  .s-ta-l-sp {
    text-align: left !important;
  }
  .s-ta-c-sp {
    text-align: center !important;
  }
  .s-ta-r-sp {
    text-align: right !important;
  }
  .s-va-t-sp {
    vertical-align: top !important;
  }
  .s-va-m-sp {
    vertical-align: middle !important;
  }
  .s-va-b-sp {
    vertical-align: bottom !important;
  }
}
.s-fz-10 {
  font-size: 10px !important;
}

.s-fz-11 {
  font-size: 11px !important;
}

.s-fz-12 {
  font-size: 12px !important;
}

.s-fz-13 {
  font-size: 13px !important;
}

.s-fz-14 {
  font-size: 14px !important;
}

.s-fz-15 {
  font-size: 15px !important;
}

.s-fz-16 {
  font-size: 16px !important;
}

.s-fz-17 {
  font-size: 17px !important;
}

.s-fz-18 {
  font-size: 18px !important;
}

.s-fz-19 {
  font-size: 19px !important;
}

.s-fz-20 {
  font-size: 20px !important;
}

.s-fz-25 {
  font-size: 25px !important;
}

.s-fz-30 {
  font-size: 30px !important;
}

.s-fz-35 {
  font-size: 35px !important;
}

.s-fz-40 {
  font-size: 40px !important;
}

.s-lh-10 {
  line-height: 1 !important;
}

.s-lh-12 {
  line-height: 1.2 !important;
}

.s-lh-15 {
  line-height: 1.5 !important;
}

.s-lh-18 {
  line-height: 1.8 !important;
}

@media screen and (min-width: 768px) {
  .s-fz-10-pc {
    font-size: 10px !important;
  }
  .s-fz-11-pc {
    font-size: 11px !important;
  }
  .s-fz-12-pc {
    font-size: 12px !important;
  }
  .s-fz-13-pc {
    font-size: 13px !important;
  }
  .s-fz-14-pc {
    font-size: 14px !important;
  }
  .s-fz-15-pc {
    font-size: 15px !important;
  }
  .s-fz-16-pc {
    font-size: 16px !important;
  }
  .s-fz-17-pc {
    font-size: 17px !important;
  }
  .s-fz-18-pc {
    font-size: 18px !important;
  }
  .s-fz-19-pc {
    font-size: 19px !important;
  }
  .s-fz-20-pc {
    font-size: 20px !important;
  }
  .s-fz-25-pc {
    font-size: 25px !important;
  }
  .s-fz-30-pc {
    font-size: 30px !important;
  }
  .s-fz-35-pc {
    font-size: 35px !important;
  }
  .s-fz-40-pc {
    font-size: 40px !important;
  }
  .s-lh-10-pc {
    line-height: 1 !important;
  }
  .s-lh-12-pc {
    line-height: 1.2 !important;
  }
  .s-lh-15-pc {
    line-height: 1.5 !important;
  }
  .s-lh-18-pc {
    line-height: 1.8 !important;
  }
}
@media screen and (max-width: 767px) {
  .s-fz-10-sp {
    font-size: 10px !important;
  }
  .s-fz-11-sp {
    font-size: 11px !important;
  }
  .s-fz-12-sp {
    font-size: 12px !important;
  }
  .s-fz-13-sp {
    font-size: 13px !important;
  }
  .s-fz-14-sp {
    font-size: 14px !important;
  }
  .s-fz-15-sp {
    font-size: 15px !important;
  }
  .s-fz-16-sp {
    font-size: 16px !important;
  }
  .s-fz-17-sp {
    font-size: 17px !important;
  }
  .s-fz-18-sp {
    font-size: 18px !important;
  }
  .s-fz-19-sp {
    font-size: 19px !important;
  }
  .s-fz-20-sp {
    font-size: 20px !important;
  }
  .s-fz-25-sp {
    font-size: 25px !important;
  }
  .s-fz-30-sp {
    font-size: 30px !important;
  }
  .s-fz-35-sp {
    font-size: 35px !important;
  }
  .s-fz-40-sp {
    font-size: 40px !important;
  }
  .s-lh-10-sp {
    line-height: 1 !important;
  }
  .s-lh-12-sp {
    line-height: 1.2 !important;
  }
  .s-lh-15-sp {
    line-height: 1.5 !important;
  }
  .s-lh-18-sp {
    line-height: 1.8 !important;
  }
}
.s-txt-shadow {
  text-shadow: 1px 1px 3px #000;
}

.s-txt-shadow-01 {
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
}

.s-txt-shadow-white {
  text-shadow: 1px 1px 3px #fff;
}

@media screen and (min-width: 768px) {
  .s-txt-shadow-pc {
    text-shadow: 1px 1px 3px #000;
  }
  .s-txt-shadow-01-pc {
    text-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
  }
  .s-txt-shadow-white-pc {
    text-shadow: 1px 1px 3px #fff;
  }
}
@media screen and (max-width: 767px) {
  .s-txt-shadow-sp {
    text-shadow: 1px 1px 3px #000;
  }
  .s-txt-shadow-01-sp {
    text-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
  }
  .s-txt-shadow-white-sp {
    text-shadow: 1px 1px 3px #fff;
  }
}
/* -- overflow -- */
.s-ov-h {
  overflow: hidden !important;
}

/* -- clear -- */
.s-clear {
  clear: both !important;
}

/* -- display -- */
.s-hide {
  display: none !important;
}

/* -- color -- */
.s-color-red {
  color: #db000a !important;
}

.s-color-black {
  color: #333333 !important;
}

.s-color-white {
  color: #fff !important;
}

.s-color-gray-deep {
  color: #4f4f4f !important;
}

.s-color-gray-normal {
  color: #e5e5e5 !important;
}

.s-color-gray-light {
  color: #f6f6f6 !important;
}

@media screen and (min-width: 768px) {
  .s-color-red-pc {
    color: #db000a !important;
  }
  .s-color-black-pc {
    color: #333333 !important;
  }
  .s-color-white-pc {
    color: #fff !important;
  }
  .s-color-gray-deep-pc {
    color: #4f4f4f !important;
  }
  .s-color-gray-normal-pc {
    color: #e5e5e5 !important;
  }
  .s-color-gray-light-pc {
    color: #f6f6f6 !important;
  }
}
@media screen and (max-width: 767px) {
  .s-color-red-sp {
    color: #db000a !important;
  }
  .s-color-black-sp {
    color: #333333 !important;
  }
  .s-color-white-sp {
    color: #fff !important;
  }
  .s-color-gray-deep-sp {
    color: #4f4f4f !important;
  }
  .s-color-gray-normal-sp {
    color: #e5e5e5 !important;
  }
  .s-color-gray-light-sp {
    color: #f6f6f6 !important;
  }
}
/* -- background -- */
.s-bg-n {
  background: none !important;
}

.s-bgc-prim {
  background-color: #db000a !important;
}

.s-bgc-black {
  background-color: #333333 !important;
}

.s-bgc-white {
  background-color: #fff !important;
}

.s-bgc-gray-deep {
  background-color: #4f4f4f !important;
}

.s-bgc-gray-normal {
  background-color: #e5e5e5 !important;
}

.s-bgc-gray-light {
  background-color: #f6f6f6 !important;
}

/* -- width -- */
.s-w-70 {
  width: 70px !important;
}

.s-w-170 {
  width: 170px !important;
}

.s-w-270 {
  width: 270px !important;
}

.s-w-370 {
  width: 370px !important;
}

.s-w-470 {
  width: 470px !important;
}

.s-w-570 {
  width: 570px !important;
}

.s-w-full {
  width: 100% !important;
}

@media screen and (min-width: 768px) {
  .s-w-70-pc {
    width: 70px !important;
  }
  .s-w-170-pc {
    width: 170px !important;
  }
  .s-w-270-pc {
    width: 270px !important;
  }
  .s-w-370-pc {
    width: 370px !important;
  }
  .s-w-470-pc {
    width: 470px !important;
  }
  .s-w-570-pc {
    width: 570px !important;
  }
  .s-w-20per-pc {
    width: 20% !important;
  }
  .s-w-25per-pc {
    width: 25% !important;
  }
  .s-w-33per-pc {
    width: 33% !important;
  }
  .s-w-50per-pc {
    width: 50% !important;
  }
  .s-w-66per-pc {
    width: 66% !important;
  }
  .s-w-80per-pc {
    width: 80% !important;
  }
  .s-w-100per-pc {
    width: 100% !important;
  }
  .s-w-full-pc {
    width: 100% !important;
  }
  .s-mxw-70-pc {
    max-width: 70px !important;
  }
  .s-mxw-170-pc {
    max-width: 170px !important;
  }
  .s-mxw-270-pc {
    max-width: 270px !important;
  }
  .s-mxw-370-pc {
    max-width: 370px !important;
  }
  .s-mxw-470-pc {
    max-width: 470px !important;
  }
  .s-mxw-570-pc {
    max-width: 570px !important;
  }
  .s-mxw-full-pc {
    max-width: 100% !important;
  }
  .s-h-250-pc {
    height: 250px !important;
  }
}
@media screen and (max-width: 767px) {
  .s-w-70-sp {
    width: 70px !important;
  }
  .s-w-170-sp {
    width: 170px !important;
  }
  .s-w-270-sp {
    width: 270px !important;
  }
  .s-w-370-sp {
    width: 370px !important;
  }
  .s-w-470-sp {
    width: 470px !important;
  }
  .s-w-570-sp {
    width: 570px !important;
  }
  .s-w-20per-sp {
    width: 20% !important;
  }
  .s-w-25per-sp {
    width: 25% !important;
  }
  .s-w-33per-sp {
    width: 33% !important;
  }
  .s-w-50per-sp {
    width: 50% !important;
  }
  .s-w-66per-sp {
    width: 66% !important;
  }
  .s-w-80per-sp {
    width: 80% !important;
  }
  .s-w-100per-sp {
    width: 100% !important;
  }
  .s-w-full-sp {
    width: 100% !important;
  }
  .s-mxw-70-sp {
    max-width: 70px !important;
  }
  .s-mxw-170-sp {
    max-width: 170px !important;
  }
  .s-mxw-270-sp {
    max-width: 270px !important;
  }
  .s-mxw-370-sp {
    max-width: 370px !important;
  }
  .s-mxw-470-sp {
    max-width: 470px !important;
  }
  .s-mxw-570-sp {
    max-width: 570px !important;
  }
  .s-mxw-full-sp {
    max-width: 100% !important;
  }
}
/* -- margin -- */
.s-mt-00 {
  margin-top: 0 !important;
}

.s-mb-00 {
  margin-bottom: 0 !important;
}

.s-ml-00 {
  margin-left: 0 !important;
}

.s-mr-00 {
  margin-right: 0 !important;
}

@media screen and (min-width: 768px) {
  .s-mt-00-pc {
    margin-top: 0 !important;
  }
  .s-mt-05-pc {
    margin-top: 5px !important;
  }
  .s-mt-10-pc {
    margin-top: 10px !important;
  }
  .s-mt-15-pc {
    margin-top: 15px !important;
  }
  .s-mt-20-pc {
    margin-top: 20px !important;
  }
  .s-mt-25-pc {
    margin-top: 25px !important;
  }
  .s-mt-30-pc {
    margin-top: 30px !important;
  }
  .s-mt-40-pc {
    margin-top: 40px !important;
  }
  .s-mt-50-pc {
    margin-top: 50px !important;
  }
  .s-mt-60-pc {
    margin-top: 60px !important;
  }
  .s-mt-70-pc {
    margin-top: 70px !important;
  }
  .s-mt-80-pc {
    margin-top: 80px !important;
  }
  .s-mt-90-pc {
    margin-top: 90px !important;
  }
  .s-mt-100-pc {
    margin-top: 100px !important;
  }
  .s-mb-00-pc {
    margin-bottom: 0 !important;
  }
  .s-mb-05-pc {
    margin-bottom: 5px !important;
  }
  .s-mb-10-pc {
    margin-bottom: 10px !important;
  }
  .s-mb-15-pc {
    margin-bottom: 15px !important;
  }
  .s-mb-20-pc {
    margin-bottom: 20px !important;
  }
  .s-mb-25-pc {
    margin-bottom: 25px !important;
  }
  .s-mb-30-pc {
    margin-bottom: 30px !important;
  }
  .s-mb-35-pc {
    margin-bottom: 35px !important;
  }
  .s-mb-40-pc {
    margin-bottom: 40px !important;
  }
  .s-mb-45-pc {
    margin-bottom: 45px !important;
  }
  .s-mb-50-pc {
    margin-bottom: 50px !important;
  }
  .s-mb-55-pc {
    margin-bottom: 55px !important;
  }
  .s-mb-60-pc {
    margin-bottom: 60px !important;
  }
  .s-mb-65-pc {
    margin-bottom: 65px !important;
  }
  .s-mb-70-pc {
    margin-bottom: 70px !important;
  }
  .s-mb-75-pc {
    margin-bottom: 75px !important;
  }
  .s-mb-80-pc {
    margin-bottom: 80px !important;
  }
  .s-mb-85-pc {
    margin-bottom: 85px !important;
  }
  .s-mb-90-pc {
    margin-bottom: 90px !important;
  }
  .s-mb-95-pc {
    margin-bottom: 95px !important;
  }
  .s-mb-100-pc {
    margin-bottom: 100px !important;
  }
  .s-mb-110-pc {
    margin-bottom: 110px !important;
  }
  .s-mb-120-pc {
    margin-bottom: 120px !important;
  }
  .s-mb-130-pc {
    margin-bottom: 130px !important;
  }
  .s-mb-140-pc {
    margin-bottom: 140px !important;
  }
  .s-mb-150-pc {
    margin-bottom: 150px !important;
  }
  .s-mb-160-pc {
    margin-bottom: 160px !important;
  }
  .s-mb-170-pc {
    margin-bottom: 170px !important;
  }
  .s-mb-180-pc {
    margin-bottom: 180px !important;
  }
  .s-mb-190-pc {
    margin-bottom: 190px !important;
  }
  .s-mb-200-pc {
    margin-bottom: 200px !important;
  }
  .s-mb-210-pc {
    margin-bottom: 210px !important;
  }
  .s-mb-220-pc {
    margin-bottom: 220px !important;
  }
  .s-mb-230-pc {
    margin-bottom: 230px !important;
  }
  .s-mb-240-pc {
    margin-bottom: 240px !important;
  }
  .s-mb-250-pc {
    margin-bottom: 250px !important;
  }
  .s-mb-260-pc {
    margin-bottom: 260px !important;
  }
  .s-mb-270-pc {
    margin-bottom: 270px !important;
  }
  .s-mb-280-pc {
    margin-bottom: 280px !important;
  }
  .s-mb-290-pc {
    margin-bottom: 290px !important;
  }
  .s-mb-300-pc {
    margin-bottom: 300px !important;
  }
  .s-ml-00-pc {
    margin-left: 0 !important;
  }
  .s-ml-05-pc {
    margin-left: 5px !important;
  }
  .s-ml-10-pc {
    margin-left: 10px !important;
  }
  .s-ml-15-pc {
    margin-left: 15px !important;
  }
  .s-ml-20-pc {
    margin-left: 20px !important;
  }
  .s-ml-25-pc {
    margin-left: 25px !important;
  }
  .s-ml-30-pc {
    margin-left: 30px !important;
  }
  .s-ml-40-pc {
    margin-left: 40px !important;
  }
  .s-ml-50-pc {
    margin-left: 50px !important;
  }
  .s-ml-60-pc {
    margin-left: 60px !important;
  }
  .s-ml-70-pc {
    margin-left: 70px !important;
  }
  .s-ml-80-pc {
    margin-left: 80px !important;
  }
  .s-ml-90-pc {
    margin-left: 90px !important;
  }
  .s-ml-100-pc {
    margin-left: 100px !important;
  }
  .s-mr-00-pc {
    margin-right: 0 !important;
  }
  .s-mr-05-pc {
    margin-right: 5px !important;
  }
  .s-mr-10-pc {
    margin-right: 10px !important;
  }
  .s-mr-15-pc {
    margin-right: 15px !important;
  }
  .s-mr-20-pc {
    margin-right: 20px !important;
  }
  .s-mr-25-pc {
    margin-right: 25px !important;
  }
  .s-mr-30-pc {
    margin-right: 30px !important;
  }
  .s-mr-40-pc {
    margin-right: 40px !important;
  }
  .s-mr-50-pc {
    margin-right: 50px !important;
  }
  .s-mr-60-pc {
    margin-right: 60px !important;
  }
  .s-mr-70-pc {
    margin-right: 70px !important;
  }
  .s-mr-80-pc {
    margin-right: 80px !important;
  }
  .s-mr-90-pc {
    margin-right: 90px !important;
  }
  .s-mr-100-pc {
    margin-right: 100px !important;
  }
}
@media screen and (max-width: 767px) {
  .s-mt-00-sp {
    margin-top: 0 !important;
  }
  .s-mt-05-sp {
    margin-top: 5px !important;
  }
  .s-mt-10-sp {
    margin-top: 10px !important;
  }
  .s-mt-15-sp {
    margin-top: 15px !important;
  }
  .s-mt-20-sp {
    margin-top: 20px !important;
  }
  .s-mt-25-sp {
    margin-top: 25px !important;
  }
  .s-mt-30-sp {
    margin-top: 30px !important;
  }
  .s-mt-40-sp {
    margin-top: 40px !important;
  }
  .s-mt-50-sp {
    margin-top: 50px !important;
  }
  .s-mt-60-sp {
    margin-top: 60px !important;
  }
  .s-mt-70-sp {
    margin-top: 70px !important;
  }
  .s-mt-80-sp {
    margin-top: 80px !important;
  }
  .s-mt-90-sp {
    margin-top: 90px !important;
  }
  .s-mt-100-sp {
    margin-top: 100px !important;
  }
  .s-mb-00-sp {
    margin-bottom: 0 !important;
  }
  .s-mb-05-sp {
    margin-bottom: 5px !important;
  }
  .s-mb-10-sp {
    margin-bottom: 10px !important;
  }
  .s-mb-15-sp {
    margin-bottom: 15px !important;
  }
  .s-mb-20-sp {
    margin-bottom: 20px !important;
  }
  .s-mb-25-sp {
    margin-bottom: 25px !important;
  }
  .s-mb-30-sp {
    margin-bottom: 30px !important;
  }
  .s-mb-40-sp {
    margin-bottom: 40px !important;
  }
  .s-mb-50-sp {
    margin-bottom: 50px !important;
  }
  .s-mb-60-sp {
    margin-bottom: 60px !important;
  }
  .s-mb-70-sp {
    margin-bottom: 70px !important;
  }
  .s-mb-80-sp {
    margin-bottom: 80px !important;
  }
  .s-mb-90-sp {
    margin-bottom: 90px !important;
  }
  .s-mb-100-sp {
    margin-bottom: 100px !important;
  }
  .s-ml-00-sp {
    margin-left: 0 !important;
  }
  .s-ml-05-sp {
    margin-left: 5px !important;
  }
  .s-ml-10-sp {
    margin-left: 10px !important;
  }
  .s-ml-15-sp {
    margin-left: 15px !important;
  }
  .s-ml-20-sp {
    margin-left: 20px !important;
  }
  .s-ml-25-sp {
    margin-left: 25px !important;
  }
  .s-ml-30-sp {
    margin-left: 30px !important;
  }
  .s-ml-40-sp {
    margin-left: 40px !important;
  }
  .s-ml-50-sp {
    margin-left: 50px !important;
  }
  .s-ml-60-sp {
    margin-left: 60px !important;
  }
  .s-ml-70-sp {
    margin-left: 70px !important;
  }
  .s-ml-80-sp {
    margin-left: 80px !important;
  }
  .s-ml-90-sp {
    margin-left: 90px !important;
  }
  .s-ml-100-sp {
    margin-left: 100px !important;
  }
  .s-mr-00-sp {
    margin-right: 0 !important;
  }
  .s-mr-05-sp {
    margin-right: 5px !important;
  }
  .s-mr-10-sp {
    margin-right: 10px !important;
  }
  .s-mr-15-sp {
    margin-right: 15px !important;
  }
  .s-mr-20-sp {
    margin-right: 20px !important;
  }
  .s-mr-25-sp {
    margin-right: 25px !important;
  }
  .s-mr-30-sp {
    margin-right: 30px !important;
  }
  .s-mr-40-sp {
    margin-right: 40px !important;
  }
  .s-mr-50-sp {
    margin-right: 50px !important;
  }
  .s-mr-60-sp {
    margin-right: 60px !important;
  }
  .s-mr-70-sp {
    margin-right: 70px !important;
  }
  .s-mr-80-sp {
    margin-right: 80px !important;
  }
  .s-mr-90-sp {
    margin-right: 90px !important;
  }
  .s-mr-100-sp {
    margin-right: 100px !important;
  }
}
@media screen and (min-width: 768px) {
  .s-pt-00-pc {
    padding-top: 0 !important;
  }
  .s-pt-10-pc {
    padding-top: 10px !important;
  }
  .s-pt-20-pc {
    padding-top: 20px !important;
  }
  .s-pt-30-pc {
    padding-top: 30px !important;
  }
  .s-pt-40-pc {
    padding-top: 40px !important;
  }
  .s-pt-50-pc {
    padding-top: 50px !important;
  }
  .s-pt-60-pc {
    padding-top: 60px !important;
  }
  .s-pt-70-pc {
    padding-top: 70px !important;
  }
  .s-pt-80-pc {
    padding-top: 80px !important;
  }
  .s-pb-00-pc {
    padding-bottom: 0 !important;
  }
  .s-pb-10-pc {
    padding-bottom: 10px !important;
  }
  .s-pb-20-pc {
    padding-bottom: 20px !important;
  }
  .s-pb-30-pc {
    padding-bottom: 30px !important;
  }
  .s-pb-40-pc {
    padding-bottom: 40px !important;
  }
  .s-pb-50-pc {
    padding-bottom: 50px !important;
  }
  .s-pb-60-pc {
    padding-bottom: 60px !important;
  }
  .s-pb-70-pc {
    padding-bottom: 70px !important;
  }
  .s-pb-80-pc {
    padding-bottom: 80px !important;
  }
  .s-pl-00-pc {
    padding-left: 0 !important;
  }
  .s-pl-10-pc {
    padding-left: 10px !important;
  }
  .s-pl-20-pc {
    padding-left: 20px !important;
  }
  .s-pl-30-pc {
    padding-left: 30px !important;
  }
  .s-pl-40-pc {
    padding-left: 40px !important;
  }
  .s-pl-50-pc {
    padding-left: 50px !important;
  }
  .s-pr-00-pc {
    padding-right: 0 !important;
  }
  .s-pr-10-pc {
    padding-right: 10px !important;
  }
  .s-pr-20-pc {
    padding-right: 20px !important;
  }
  .s-pr-30-pc {
    padding-right: 30px !important;
  }
  .s-pr-40-pc {
    padding-right: 40px !important;
  }
  .s-pr-50-pc {
    padding-right: 50px !important;
  }
}
@media screen and (max-width: 767px) {
  .s-pt-00-sp {
    padding-top: 0 !important;
  }
  .s-pt-10-sp {
    padding-top: 10px !important;
  }
  .s-pt-20-sp {
    padding-top: 20px !important;
  }
  .s-pt-30-sp {
    padding-top: 30px !important;
  }
  .s-pt-40-sp {
    padding-top: 40px !important;
  }
  .s-pt-50-sp {
    padding-top: 50px !important;
  }
  .s-pt-60-sp {
    padding-top: 60px !important;
  }
  .s-pb-00-sp {
    padding-bottom: 0 !important;
  }
  .s-pb-10-sp {
    padding-bottom: 10px !important;
  }
  .s-pb-20-sp {
    padding-bottom: 20px !important;
  }
  .s-pb-30-sp {
    padding-bottom: 30px !important;
  }
  .s-pb-40-sp {
    padding-bottom: 40px !important;
  }
  .s-pb-50-sp {
    padding-bottom: 50px !important;
  }
  .s-pl-00-sp {
    padding-left: 0 !important;
  }
  .s-pl-10-sp {
    padding-left: 10px !important;
  }
  .s-pl-20-sp {
    padding-left: 20px !important;
  }
  .s-pl-30-sp {
    padding-left: 30px !important;
  }
  .s-pl-40-sp {
    padding-left: 40px !important;
  }
  .s-pl-50-sp {
    padding-left: 50px !important;
  }
  .s-pr-00-sp {
    padding-right: 0 !important;
  }
  .s-pr-10-sp {
    padding-right: 10px !important;
  }
  .s-pr-20-sp {
    padding-right: 20px !important;
  }
  .s-pr-30-sp {
    padding-right: 30px !important;
  }
  .s-pr-40-sp {
    padding-right: 40px !important;
  }
  .s-pr-50-sp {
    padding-right: 50px !important;
  }
}
/* -- padding -- */
.s-pt-00 {
  padding-top: 0 !important;
}

.s-pb-00 {
  padding-bottom: 0 !important;
}

.s-pl-00 {
  padding-left: 0 !important;
}

.s-pr-00 {
  padding-right: 0 !important;
}

@media screen and (min-width: 768px) {
  .s-p-00-pc {
    padding: 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .s-p-00-sp {
    padding: 0 !important;
  }
}
/* ----------------------------------------------------------
 rwd switch
---------------------------------------------------------- */
/* pc
---------------------------------------------------------- */
.only-sp,
.no-pc {
  display: none !important;
}

/* sp
---------------------------------------------------------- */
@media screen and (max-width: 768px) {
  .only-pc,
  .no-sp {
    display: none !important;
  }
  .only-sp,
  .no-pc {
    display: block !important;
  }
  span.only-sp,
  img.only-sp,
  img.no-pc {
    display: inline-block !important;
  }
}
/* ----------------------------------------------------------
 color styling
---------------------------------------------------------- */
/* s-base-color-green
----------------------------- */
.s-base-color-green .btn-cmn.c-red .inner {
  color: #15aabf;
  border: 2px solid #15aabf;
}

.s-base-color-green .btn-cmn.c-red.bg-full .inner {
  color: #fff;
  background-color: #15aabf;
}

.s-base-color-green .btn-cmn.c-black .inner {
  color: #333333;
  border: 2px solid #333333;
}

.s-base-color-green .btn-cmn.c-black.bg-full .inner {
  color: #fff;
  background-color: #333333;
}

.s-base-color-green .btn-cmn.bg-full .inner {
  box-shadow: 1px 1px 4px 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 1px 1px 4px 2px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 1px 1px 4px 2px rgba(0, 0, 0, 0.1);
}

.s-base-color-green .mod-information .lead .title {
  color: #db000a;
}

.s-base-color-green .mod-information .lead .links .link {
  color: #db000a;
}

.s-base-color-green .mod-information .information > li .item .category {
  background-color: #4f4f4f;
}

.s-base-color-green .mod-information .information > li .item .text .ico-arrow {
  margin-left: 0.6em;
}

@media screen and (max-width: 767px) {
  .s-base-color-green .mod-information .information > li .item .category {
    color: #fff;
    background-color: #4f4f4f;
  }
}
/* readmore もっと見る系
----------------------------- */
.readmore {
  text-align: right;
  padding-right: 10px;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .readmore {
    font-size: 14px;
  }
}
.readmore a:hover {
  text-decoration: underline;
}
.readmore .ico-arrow {
  margin-left: 0.6em;
}

/* ======================================================================================
 old style css
 in class ".old-modules"
====================================================================================== */
/* ------------------------------------------------------------------------
 base.css
------------------------------------------------------------------------ */
/*--------------------------------------
 reset
--------------------------------------*/
.old-modules html,
.old-modules body,
.old-modules div,
.old-modules span,
.old-modules applet,
.old-modules object,
.old-modules iframe,
.old-modules h1,
.old-modules h2,
.old-modules h3,
.old-modules h4,
.old-modules h5,
.old-modules h6,
.old-modules p,
.old-modules blockquote,
.old-modules pre,
.old-modules a,
.old-modules abbr,
.old-modules acronym,
.old-modules address,
.old-modules big,
.old-modules cite,
.old-modules code,
.old-modules del,
.old-modules dfn,
.old-modules em,
.old-modules img,
.old-modules ins,
.old-modules kbd,
.old-modules q,
.old-modules s,
.old-modules samp,
.old-modules small,
.old-modules strike,
.old-modules strong,
.old-modules sub,
.old-modules sup,
.old-modules tt,
.old-modules var,
.old-modules b,
.old-modules u,
.old-modules i,
.old-modules center,
.old-modules dl,
.old-modules dt,
.old-modules dd,
.old-modules ol,
.old-modules ul,
.old-modules li,
.old-modules fieldset,
.old-modules form,
.old-modules label,
.old-modules legend,
.old-modules table,
.old-modules caption,
.old-modules tbody,
.old-modules tfoot,
.old-modules thead,
.old-modules tr,
.old-modules th,
.old-modules td,
.old-modules article,
.old-modules aside,
.old-modules canvas,
.old-modules details,
.old-modules embed,
.old-modules figure,
.old-modules figcaption,
.old-modules footer,
.old-modules header,
.old-modules hgroup,
.old-modules menu,
.old-modules nav,
.old-modules output,
.old-modules ruby,
.old-modules section,
.old-modules summary,
.old-modules time,
.old-modules mark,
.old-modules audio,
.old-modules video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  box-sizing: content-box;
}

@media screen and (max-width: 767px) {
  .old-modules html,
  .old-modules body,
  .old-modules div,
  .old-modules span,
  .old-modules applet,
  .old-modules object,
  .old-modules iframe,
  .old-modules h1,
  .old-modules h2,
  .old-modules h3,
  .old-modules h4,
  .old-modules h5,
  .old-modules h6,
  .old-modules p,
  .old-modules blockquote,
  .old-modules pre,
  .old-modules a,
  .old-modules abbr,
  .old-modules acronym,
  .old-modules address,
  .old-modules big,
  .old-modules cite,
  .old-modules code,
  .old-modules del,
  .old-modules dfn,
  .old-modules em,
  .old-modules img,
  .old-modules ins,
  .old-modules kbd,
  .old-modules q,
  .old-modules s,
  .old-modules samp,
  .old-modules small,
  .old-modules strike,
  .old-modules strong,
  .old-modules sub,
  .old-modules sup,
  .old-modules tt,
  .old-modules var,
  .old-modules b,
  .old-modules u,
  .old-modules i,
  .old-modules center,
  .old-modules dl,
  .old-modules dt,
  .old-modules dd,
  .old-modules ol,
  .old-modules ul,
  .old-modules li,
  .old-modules fieldset,
  .old-modules form,
  .old-modules label,
  .old-modules legend,
  .old-modules table,
  .old-modules caption,
  .old-modules tbody,
  .old-modules tfoot,
  .old-modules thead,
  .old-modules tr,
  .old-modules th,
  .old-modules td,
  .old-modules article,
  .old-modules aside,
  .old-modules canvas,
  .old-modules details,
  .old-modules embed,
  .old-modules figure,
  .old-modules figcaption,
  .old-modules footer,
  .old-modules header,
  .old-modules hgroup,
  .old-modules menu,
  .old-modules nav,
  .old-modules output,
  .old-modules ruby,
  .old-modules section,
  .old-modules summary,
  .old-modules time,
  .old-modules mark,
  .old-modules audio,
  .old-modules video {
    box-sizing: border-box;
  }
}
.old-modules article,
.old-modules aside,
.old-modules details,
.old-modules figcaption,
.old-modules figure,
.old-modules footer,
.old-modules header,
.old-modules hgroup,
.old-modules menu,
.old-modules nav,
.old-modules section {
  display: block;
}

.old-modules body {
  line-height: 1;
}

.old-modules ol,
.old-modules ul {
  list-style: none;
}

.old-modules blockquote,
.old-modules q {
  quotes: none;
}

.old-modules blockquote:before,
.old-modules blockquote:after,
.old-modules q:before,
.old-modules q:after {
  content: "";
  content: none;
}

.old-modules table {
  border-collapse: collapse;
  border-spacing: 0;
}

.old-modules img {
  vertical-align: bottom;
}

/*-------------------------------------
 setting
-------------------------------------*/
.old-modules .old-modules-in {
  color: #333;
  font-family: "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 12px;
  line-height: 1.5;
}

.old-modules a {
  color: #0a5a3e;
  text-decoration: underline;
  vertical-align: baseline;
}

.old-modules a:hover {
  text-decoration: none;
}

.old-modules strong {
  font-weight: bold;
}

/* ------------------------------------------------------------------------
 layout.css
------------------------------------------------------------------------ */
/*-------------------------------------
header
-------------------------------------*/
.old-modules #header {
  width: 997px;
  height: 102px;
  margin: 0 auto;
  overflow: hidden;
  zoom: 1;
}

.old-modules #header h1 {
  float: left;
  width: 265px;
  height: 49px;
  padding: 36px 0 0 0;
  overflow: hidden;
}

.old-modules #header h1 a {
  display: block;
  height: 0;
  padding: 49px 0 0 0;
  background: url(/common/img/old_style/common/images_new/header_logo.gif) no-repeat 0 0;
}

.old-modules #header ul {
  float: right;
  width: 268px;
  height: 23px;
  margin: 4px 0 0 0;
  padding: 10px 0 0 0;
  list-style: none;
  background: url(/common/img/old_style/common/images_new/header_menu_bg.gif) no-repeat 0 0;
}

.old-modules #header ul li {
  float: left;
  height: 13px;
  padding: 0 9px 0 20px;
  font-size: 0;
  line-height: 13px;
}

.old-modules #header dl {
  clear: right;
  float: right;
  padding: 11px 0 0 0;
}

.old-modules #header dl dt {
  float: left;
  padding: 0 8px 0 0;
}

.old-modules #header dl dd {
  float: left;
  padding: 0 0 0 11px;
}

.old-modules #header dl dd img {
  cursor: pointer;
}

/*-------------------------------------
navi
-------------------------------------*/
.old-modules #navi {
  width: 997px;
  height: 50px;
  margin: 0 auto;
  padding: 1px 0 0 0;
  overflow: hidden;
}

.old-modules #navi ul {
  height: 50px;
  padding: 0 0 0 1px;
  list-style: none;
  background: url(/common/img/old_style/common/images_new/navi.gif) no-repeat 0 -50px;
  overflow: hidden;
  zoom: 1;
}

.old-modules #navi ul li {
  float: left;
  width: 165px;
  height: 50px;
  margin: 0 1px 0 0;
}

.old-modules #navi ul li a {
  display: block;
  width: 100%;
  height: 0;
  padding: 50px 0 0 0;
  background-image: url(/common/img/old_style/common/images_new/navi.gif);
  background-repeat: no-repeat;
}

.old-modules #navi ul li#navi01 a {
  background-position: -1px 0;
}

.old-modules #navi ul li#navi02 a {
  background-position: -167px 0;
}

.old-modules #navi ul li#navi03 a {
  background-position: -333px 0;
}

.old-modules #navi ul li#navi04 a {
  background-position: -499px 0;
}

.old-modules #navi ul li#navi05 a {
  background-position: -665px 0;
}

.old-modules #navi ul li#navi06 a {
  background-position: -831px 0;
}

.old-modules #navi ul li a:hover,
.old-modules #navi ul li a.active {
  background: none;
}

/*-------------------------------------
topicpath
-------------------------------------*/
.old-modules #topicpath {
  clear: both;
  padding: 8px 0 5px 0;
  background: #fcffcd;
}

.old-modules #topicpath ol {
  width: 997px;
  margin: 0 auto;
  list-style: none;
  overflow: hidden;
  zoom: 1;
}

.old-modules #topicpath ol li {
  float: left;
  padding: 0 10px 0 0;
}

.old-modules #topicpath ol li a {
  padding: 0 18px 0 0;
  background: url(/common/img/old_style/common/images_new/topicpath.gif) no-repeat 100% 0.25em;
}

/*-------------------------------------
container
-------------------------------------*/
.old-modules #container {
  clear: both;
  width: 997px;
  margin: 0 auto;
  padding: 17px 0 0 0;
  position: relative;
  overflow: hidden;
  zoom: 1;
}

.old-modules #container h2 strong {
  display: none;
}

/*-------------------------------------
contents
-------------------------------------*/
.old-modules .old-modules-in {
  text-align: left;
  max-width: 750px;
  margin: 0 auto;
  padding: 20px 0 0 0;
  overflow: hidden;
  zoom: 1;
}

.old-modules .old-modules-in h3 {
  margin: 0 0 10px 0;
  padding: 0 0 6px 0;
  background: url(/common/img/old_style/common/images_new/h3_bg02.gif) repeat-x 0 100%;
}

.old-modules .old-modules-in h3 span {
  display: block;
  padding: 8px 0 6px 0;
  font-size: 1.38em;
  font-weight: bold;
  background: url(/common/img/old_style/common/images_new/h3_bg01.gif) no-repeat 0 0;
}

.old-modules .old-modules-in h4 {
  margin: 0 0 10px 0;
  padding: 5px 10px 5px 30px;
  font-size: 1.25em;
  font-weight: bold;
  background: url(/common/img/old_style/common/images_new/h4_bg.gif) no-repeat 0 0;
}

.old-modules .old-modules-in h4.none {
  margin: 0 0 10px 0;
  padding: 5px 10px 5px 0;
  font-size: 1.25em;
  font-weight: bold;
  background: none;
}

.old-modules .old-modules-in h5 {
  margin: 0 0 10px 0;
  padding: 0 0 4px 0;
  font-size: 1.25em;
  font-weight: bold;
  background: url(/common/img/old_style/common/images_new/h5_bg.gif) repeat-x 0 100%;
}

.old-modules .old-modules-in h6 {
  margin: 0 0 10px 0;
  font-weight: bold;
}

.old-modules .old-modules-in .section {
  clear: both;
  padding: 0 0 10px 0;
  line-height: 1.7;
}

.old-modules .old-modules-in .section p {
  margin: 0 0 15px 0;
}

.old-modules .old-modules-in .commonDl {
  margin-bottom: 20px;
}

.old-modules .old-modules-in .commonDl dt {
  padding: 0 20px 0 22px;
  background: url(/common/img/old_style/common/images_new/icon03.gif) no-repeat 0 0;
  font-size: 1.2em;
  font-weight: bold;
}

.old-modules .old-modules-in .commonDl dd {
  margin-left: 22px;
  margin-bottom: 15px;
}

.old-modules .old-modules-in .commonDlnone dt {
  padding: 0 20px 7px 0;
  background: none;
  font-size: 1.2em;
  font-weight: bold;
}

/*-------------------------------------
 chartContents
-------------------------------------*/
.old-modules #chartContents {
  width: 970px;
  margin: 0 auto;
  text-align: center;
}

.old-modules #chartContents h1 {
  margin: 0;
  padding: 0;
  font-size: 1.25em;
  font-weight: bold;
}

.old-modules #chartContents p {
  margin: 0;
  padding: 0 0 15px 0;
}

.old-modules #chartContents p.chartimg {
  margin: 0;
  padding: 0;
}

/*-------------------------------------
 flashContents
-------------------------------------*/
.old-modules #flashContents {
  width: 560px;
  margin: 0 auto;
  text-align: center;
}

.old-modules #flashContents p {
  width: 560px;
  margin: 20px 0 0 0;
  text-align: center;
}

/*-------------------------------------
 wordContents
-------------------------------------*/
.old-modules #wordContents {
  width: 750px;
  margin: 0 auto;
  text-align: center;
}

.old-modules #wordContents h1 {
  margin: 20px 0 10px 0;
  padding: 0 0 6px 0;
  font-size: 1.25em;
  background: url(/common/img/old_style/common/images_new/h3_bg02.gif) repeat-x 0 100%;
}

.old-modules #wordContents h1 span {
  display: block;
  padding: 8px 0 6px 0;
  font-size: 1.25em;
  font-weight: bold;
  text-align: left;
  background: url(/common/img/old_style/common/images_new/h3_bg01.gif) no-repeat 0 0;
}

.old-modules #wordContents .section {
  clear: both;
  padding: 0 0 10px 0;
  line-height: 1.7;
  text-align: left;
}

.old-modules #wordContents .section p {
  margin: 0 0 15px 0;
}

.old-modules #wordContents .section ol {
  margin-left: 30px;
}

.old-modules #wordContents .section ul {
  margin-left: 30px;
  list-style: disc;
  margin-bottom: 20px;
}

/*-------------------------------------
 siteMap
-------------------------------------*/
.old-modules #siteMap {
  width: 100%;
  text-align: left;
}

.old-modules #siteMap .section {
  margin: 0 0 20px 0;
  text-align: left;
  clear: both;
}

.old-modules #siteMap .section2,
.old-modules #siteMap .section3,
.old-modules #siteMap .section4 {
  margin: 0 0 20px 0;
  text-align: left;
  clear: both;
}

.old-modules #siteMap .section ul,
.old-modules #siteMap .section2 ul,
.old-modules #siteMap .section3 ul,
.old-modules #siteMap .section4 ul {
  clear: left;
  list-style: none;
}

.old-modules #siteMap .section ul li {
  margin: 0 20px 5px 0;
  width: 453px;
  padding-left: 13px;
  float: left;
  background: url(/common/img/old_style/common/images_new/icon01.gif) no-repeat 0 0.4em;
}

.old-modules #siteMap .section2 ul li,
.old-modules #siteMap .section3 ul li {
  width: 453px;
  float: left;
  margin: 5px 20px 5px 0;
  padding-left: 13px;
  background: url(/common/img/old_style/common/images_new/icon01.gif) no-repeat 0 0.4em;
}

.old-modules #siteMap .section3 ul li {
  width: 453px;
  float: left;
  margin: 5px 20px 5px 0;
  padding-left: 13px;
  background: url(/common/img/old_style/common/images_new/icon01.gif) no-repeat 0 0.4em;
}

.old-modules #siteMap .section4 ul li {
  width: 453px;
  margin: 5px 20px 5px 0;
  padding-left: 13px;
  background: url(/common/img/old_style/common/images_new/icon01.gif) no-repeat 0 0.4em;
}

.old-modules #siteMap .section ul li.inBox li,
.old-modules #siteMap .section2 ul li.inBox li {
  float: left;
  width: 210px;
  margin: 3px 0 3px 0;
}

.old-modules #siteMap .section ul li.inBox li.col1,
.old-modules #siteMap .section2 ul li.inBox li.col1 {
  float: left;
  width: auto;
  margin: 3px 0 3px 0;
}

.old-modules #siteMap .section3 ul li.inBox li {
  width: 453px;
  margin: 3px 0 3px 0;
}

.old-modules #siteMap .section4 ul li.inBox li {
  float: left;
  width: 210px;
  margin: 3px 0 3px 0;
}

.old-modules #siteMap h3 {
  clear: both;
  margin: 20px 0 10px 0;
  padding: 0 0 6px 0;
  background: url(/common/img/old_style/common/images_new/h3_bg02.gif) repeat-x 0 100%;
}

.old-modules #siteMap h3 span {
  display: block;
  padding: 8px 0 6px 0;
  font-size: 1.38em;
  font-weight: bold;
  background: url(/common/img/old_style/common/images_new/h3_bg03.gif) no-repeat 0 0;
}

.old-modules #siteMap .section li.blank {
  padding: 0 0 0 12px;
  background: url(/common/img/old_style/common/images_new/icon_blank.gif) no-repeat 0 0.3em;
}

/*-------------------------------------
 sidebar
-------------------------------------*/
.old-modules #sidebar {
  float: left;
  width: 231px;
  padding: 20px 0 0 0;
  overflow: hidden;
  zoom: 1;
}

.old-modules #sidebar h3 {
  position: relative;
  z-index: 5;
}

.old-modules #sidebar .sideMenu {
  margin: -3px 0 0 0;
  border-width: 0 3px 3px 3px;
  border-style: solid;
  border-color: #7d8080;
  position: relative;
  z-index: 1;
}

.old-modules #sidebar .sideMenu ul {
  list-style: none;
  overflow: hidden;
}

.old-modules #sidebar .sideMenu ul li {
  padding: 3px 0 0 0;
  background: url(/common/img/old_style/common/images_new/line02.gif) repeat-x 0 0;
  zoom: 1;
}

.old-modules #sidebar .sideMenu ul li a {
  display: block;
  padding: 11px 10px 11px 21px;
  cursor: pointer;
  background: url(/common/img/old_style/common/images_new/icon01.gif) no-repeat 10px 1.3em;
  zoom: 1;
}

.old-modules #sidebar .sideMenu ul li.blank a {
  background: url(/common/img/old_style/common/images_new/icon_blank.gif) no-repeat 10px 1.25em;
}

.old-modules #sidebar .sideMenu ul li a:hover {
  background-color: #e4f6bc;
}

.old-modules #sidebar .sideMenu ul li a.active {
  font-weight: bold;
  background: url(/common/img/old_style/common/images_new/icon02.gif) no-repeat 10px 1.3em #e4f6bc;
}

.old-modules #sidebar .sideMenu ul li ul.current {
  display: block !important;
}

.old-modules #sidebar .sideMenu ul li ul li {
  padding: 0;
  border-top: 1px dotted #7d8080;
  background: none;
}

.old-modules #sidebar .sideMenu ul li ul li a {
  padding: 11px 10px 11px 33px;
  background-position: 19px 1.3em;
}

.old-modules #sidebar .sideMenu ul li ul li a.active {
  font-weight: bold;
  background-position: 19px 1.3em;
}

.old-modules #sidebar .sideMenu ul li ul li ul li {
  padding: 0;
  border-top: 1px dotted #7d8080;
  background: none;
}

.old-modules #sidebar .sideMenu ul li ul li ul li a {
  padding: 11px 10px 11px 48px;
  background-position: 33px 1.3em;
}

.old-modules #sidebar .sideMenu ul li ul li ul li a.active {
  font-weight: bold;
  background-position: 33px 1.3em;
}

/*-------------------------------------
 pagetop
-------------------------------------*/
.old-modules .pagetop {
  clear: both;
  padding: 25px 0 65px 0;
  overflow: hidden;
}

.old-modules .pagetop p {
  float: right;
}

.old-modules .pagetop p a {
  padding: 0 0 0 13px;
  background: url(/common/img/old_style/common/images_new/pagetop.gif) no-repeat 0 0.2em;
}

/*-------------------------------------
footer
-------------------------------------*/
/* footerA */
.old-modules #footerA {
  clear: both;
  padding: 54px 0 0 0;
  background: url(/common/img/old_style/common/images_new/footer_bg01.gif) repeat-x 50% 0;
}

.old-modules #footerA #footerAInner {
  clear: both;
  padding: 0 0 10px 0;
  background: url(/common/img/old_style/common/images_new/footer_bg02.gif) repeat-x 0 100%;
}

.old-modules #footerA #footerMenu {
  width: 997px;
  margin: 0 auto;
  color: #333;
  overflow: hidden;
  zoom: 1;
}

.old-modules #footerA #footerMenu dl {
  padding: 0 0 10px 0;
}

.old-modules #footerA #footerMenu dl dt {
  margin: 0 0 10px 0;
  font-weight: bold;
}

.old-modules #footerA #footerMenu dl dd {
  margin: 0 0 7px 0;
  padding: 0 0 0 12px;
  background: url(/common/img/old_style/common/images_new/icon01.gif) no-repeat 0 0.4em;
}

.old-modules #footerA #footerMenu dl dt.blank,
.old-modules #footerA #footerMenu dl dd.blank {
  padding: 0 0 0 12px;
  background: url(/common/img/old_style/common/images_new/icon_blank.gif) no-repeat 0 0.3em;
}

.old-modules #footerA #footerMenu .footerMenu01,
.old-modules #footerA #footerMenu .footerMenu02,
.old-modules #footerA #footerMenu .footerMenu03 {
  float: left;
  width: 230px;
  margin: 0 25px 0 0;
}

.old-modules #footerA #footerMenu .footerMenu04 {
  float: left;
  width: 230px;
}

/* footerB */
.old-modules #footerB {
  clear: both;
  width: 100%;
  padding: 9px 0 20px 0;
}

.old-modules #footerB address {
  text-align: center;
}

/* ------------------------------------------------------------------------
 style.css
------------------------------------------------------------------------ */
/*--------------------------------------
 person List
--------------------------------------*/
.old-modules .personR01 {
  float: right;
  width: 350px;
}

.old-modules .personR02 {
  float: right;
  width: 390px;
}

.old-modules .personList {
  float: left;
}

.old-modules .personList ul {
  float: left;
  width: 220px;
}

.old-modules .personList dl {
  float: left;
  width: 120px;
  text-align: center;
}

.old-modules .personList dl dd {
  line-height: 1.2;
}

.old-modules .personList dl dd span {
  color: #cc3300;
}

.old-modules .personList02 {
  width: 350px;
}

/*-------------------------------------
 groupnews
-------------------------------------*/
.old-modules .bgGrey {
  padding: 10px;
  background: #e7f3ef;
}

.old-modules .bgGrey dl {
  width: 140px;
  float: left;
}

.old-modules .bgGrey dl.long {
  width: 285px;
  clear: left;
}

.old-modules .bgGrey h6 {
  font-weight: bold;
}

.old-modules dl.com dt {
  float: left;
  width: 140px;
  padding: 10px 0 10px 0;
  font-weight: normal;
  text-align: left;
}

.old-modules dl.com dd {
  padding: 0 0 0 140px;
}

.old-modules #companyArea .blank a {
  display: block;
  padding: 0 0 0 18px;
  background: url(/common/img/old_style/common/images_new/icon_blank.gif) no-repeat 0 0.4em;
  zoom: 1;
}

.old-modules .groupnews {
  padding: 0 0 5px 0;
  overflow: hidden;
  zoom: 1;
}

.old-modules .groupnews dt {
  clear: both;
  float: left;
  width: 9em;
  margin: 0 -9em 0 0;
  padding: 10px 0;
}

.old-modules .groupnews dd {
  margin: -3px 0 0 0;
  padding: 13px 0 0 9em;
  zoom: 1;
  background: url(/common/img/old_style/common/images_new/line01.gif) repeat-x 0px 0px;
}

.old-modules .groupnews dd.blank {
  margin: -3px 0 0 0;
  padding: 5px 0 15px 9em;
  zoom: 1;
  background: none;
}

.old-modules .groupnews dd.blank a {
  display: block;
  padding-left: 15px;
  background: url(/common/img/old_style/common/images_new/icon_blank.gif) no-repeat 0 0.3em;
}

/*-------------------------------------
 committee
-------------------------------------*/
.old-modules .committeeR01 {
  float: right;
  width: 450px;
}

.old-modules .committeeL01 {
  float: left;
}

.old-modules .boxQuaterly01 {
  clear: both;
  width: 650px;
  margin-left: 52px;
}

.old-modules .boxQuaterly01 dl dt {
  float: left;
  width: 15em;
  font-weight: bold;
}

.old-modules .boxInc01 {
  width: 100%;
  max-width: 710px;
  margin-left: 20px;
}

@media screen and (max-width: 767px) {
  .old-modules .boxInc01 {
    margin-left: 0;
  }
}
.old-modules .sq li {
  width: 250px;
  float: left;
  margin-bottom: 10px;
}

.old-modules .sq li img {
  margin-right: 10px;
}

.old-modules .sq li dt {
  font-weight: bold;
  margin-bottom: 10px;
}

/*-------------------------------------
 related / masterpiece
-------------------------------------*/
.old-modules .relatedBoxL {
  float: left;
  width: 365px;
  margin-right: 20px;
}

.old-modules .relatedBoxR {
  float: left;
  width: 365px;
}

.old-modules #related-spcArea {
  background: #202020;
  padding: 0 0 0 0;
}

.old-modules #related-spcArea h3,
.old-modules #related-spcArea h4 {
  background: none;
  margin: 0;
  padding: 0;
}

.old-modules #related-spcArea h3 {
  padding: 0 0 25px 0;
}

.old-modules #related-spcArea h4 {
  padding: 0 0 25px 0;
}

.old-modules #related-spcArea #mvArea {
  background: url(/common/img/old_style/related/special/images/bg_mv.jpg) no-repeat 0px 0px;
  padding: 50px 50px 30px 50px;
}

.old-modules #related-spcArea .arcsection {
  width: 710px;
  height: 154px;
  margin: 25px 25px 0 25px;
}

.old-modules #related-spcArea #arc01 {
  background: url(/common/img/old_style/related/special/images/bg_arch_01.jpg) no-repeat 0px 0px;
}

.old-modules #related-spcArea #arc02 {
  background: url(/common/img/old_style/related/special/images/bg_arch_02.jpg) no-repeat 0px 0px;
}

.old-modules #related-spcArea #arc03 {
  background: url(/common/img/old_style/related/special/images/bg_arch_03.jpg) no-repeat 0px 0px;
}

.old-modules #related-spcArea #arc04 {
  background: url(/common/img/old_style/related/special/images/bg_arch_04.jpg) no-repeat 0px 0px;
}

.old-modules #related-spcArea #arc05 {
  background: url(/common/img/old_style/related/special/images/bg_arch_05.jpg) no-repeat 0px 0px;
  padding-bottom: 25px;
}

.old-modules #related-spcArea #arc06 {
  background: url(/common/img/old_style/related/special/images/bg_arch_06.jpg) no-repeat 0px 0px;
  margin-bottom: 0;
}

.old-modules #related-spcArea .box {
  margin: 0 0 0 248px;
  padding: 25px 0 54px 0;
}

.old-modules #related-spcArea #arc02 .box {
  margin: 0 0 0 248px;
  padding: 25px 0 20px 0;
}

.old-modules #masterpieceArea h3,
.old-modules #masterpieceArea h4,
.old-modules #masterpieceArea img,
.old-modules #masterpieceArea p {
  margin: 0;
  padding: 0;
}

.old-modules #masterpieceArea {
  background: url(/common/img/old_style/related/masterpiece/images/bg.gif) repeat 0px 0px;
  overflow: hidden;
  _zoom: 1;
}

.old-modules #masterpieceArea h3 {
  margin-bottom: 35px;
}

.old-modules #masterpieceArea h4 {
  display: inline;
  float: left;
  width: 561px;
  background: url(/common/img/old_style/related/masterpiece/images/bg_tit.gif) repeat-x bottom;
  line-height: 40px;
  height: 40px;
  margin-left: 1px;
  margin-bottom: 1px;
}

.old-modules #masterpieceArea h4 img {
  margin: 15px 0 0 15px;
}

.old-modules #masterpieceArea .pic {
  width: 143px;
  height: 143px;
  float: left;
  display: inline;
  margin-right: 4px;
  background: url(/common/img/old_style/related/masterpiece/images/bg_pic.gif);
}

.old-modules #masterpieceArea .inbox {
  position: relative;
  width: 565px;
  padding: 0;
  float: left;
  display: inline;
  overflow: hidden;
  _zoom: 1;
  background: url(/common/img/old_style/related/masterpiece/images/bg_section_mdl.gif) repeat-y right;
}

.old-modules #masterpieceArea .date {
  color: #992e45;
}

.old-modules #masterpieceArea .section2clm {
  clear: both;
  overflow: hidden;
  _zoom: 1;
  padding-left: 20px;
  margin-bottom: 15px;
}

.old-modules #masterpieceArea .dotlineL {
  background: url(/common/img/old_style/related/masterpiece/images/line_txtright.gif) repeat-y left;
}

.old-modules #masterpieceArea .m15 {
  margin: 15px;
}

.old-modules #masterpieceArea .box1 {
  float: left;
  display: inline;
  width: 280px;
  padding-left: 2px;
}

.old-modules #masterpieceArea .box2 {
  float: left;
  display: inline;
  width: 279px;
  padding-left: 1px;
}

.old-modules #masterpieceArea .box3 {
  float: left;
  display: inline;
  width: 186px;
  padding-left: 2px;
}

.old-modules #masterpieceArea .box4 {
  float: left;
  display: inline;
  width: 186px;
  padding-left: 1px;
}

.old-modules #masterpieceArea .box5 {
  float: left;
  display: inline;
  width: 186px;
  padding-left: 1px;
}

.old-modules #masterpieceArea .box5 img {
  padding-right: 1px;
}

/*-------------------------------------
 history
-------------------------------------*/
.old-modules .name {
  font-size: 1.2em;
  font-weight: bold;
}

.old-modules .name2 {
  font-weight: bold;
}

.old-modules #Hirosekinenkan h6 {
  background: #bfe1d6;
}

.old-modules #Hirosekinenkan h6 span {
  display: block;
  margin: 0.5em;
}

.old-modules #historyTour h3,
.old-modules #historyTour h4,
.old-modules #historyTour h5 {
  padding: 0 0 10px 0;
  margin: 0;
  background: none;
}

.old-modules #historyTour h3 span,
.old-modules #historyTour h4 span,
.old-modules #historyTour h5 span {
  background: none;
}

.old-modules #historyTour h4 strong {
  display: none;
}

.old-modules #historyTour section {
  padding-bottom: 20px;
}

.old-modules #historyTour ul {
  list-style: none;
}

.old-modules #historyTour ul li {
  display: block;
  padding: 10px 0 10px 12px;
  background: url(/common/img/old_style/common/images_new/line01.gif) repeat-x 0 100%;
}

.old-modules #historyTour ul li span {
  display: block;
  margin: 0;
  padding: 0 0 0 12px;
  background: url(/common/img/old_style/common/images_new/icon01.gif) no-repeat 0 0.4em;
}

/*-------------------------------------
 contribution
-------------------------------------*/
.old-modules .contributionFlash {
  margin: 0 0 5px 0;
  padding: 10px 20px;
  background: url(/common/img/old_style/contribution/images/flash_bg.gif) no-repeat 0 0;
}

.old-modules .contributionList,
.old-modules .contributionList2 {
  margin: 0 -20px 0 0;
  overflow: hidden;
  zoom: 1;
}

.old-modules .contributionList ul,
.old-modules .contributionList2 ul {
  float: left;
  width: 235px;
  padding: 0 20px 0 0;
  list-style: none;
}

.old-modules .contributionList li,
.old-modules .contributionList2 li {
  margin: 0 0 1px 0;
}

.old-modules .contributionList li a {
  display: block;
  padding: 0 0 0 18px;
  background: url(/common/img/old_style/common/images_new/icon_blank.gif) no-repeat 0 0.25em;
  zoom: 1;
}

.old-modules .contributionList li span,
.old-modules .contributionList2 li span {
  display: block;
  padding: 0 0 0 18px;
  zoom: 1;
}

/*-------------------------------------
 letter
-------------------------------------*/
.old-modules .letterBox {
  width: 525px;
  margin: 0 0 15px 0;
  background: url(/common/img/old_style/committee/act/letter/images/box_bg.gif) repeat-y 0 0;
}

@media screen and (max-width: 767px) {
  .old-modules .letterBox {
    width: 100%;
    max-width: 525px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 5px;
    border-right: 1px solid #ccc;
  }
}
.old-modules .letterBox .letterBoxTitle {
  padding: 12px 15px;
  color: #228a70;
  font-size: 1em;
  background: url(/common/img/old_style/committee/act/letter/images/box_top.gif) no-repeat 0 0;
}

.old-modules .letterBox .letterBoxTitle h6 {
  font-weight: bold;
  font-size: 1.25em;
}

.old-modules .letterBox .letterBoxMain {
  padding: 0 15px 10px 15px;
  background: url(/common/img/old_style/committee/act/letter/images/box_bottom.gif) no-repeat 0 100%;
}

.old-modules .letterBox .letterBoxMain dl dt {
  float: left;
  width: 9.5em;
  padding: 0 20px 7px 22px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .old-modules .letterBox .letterBoxMain dl dt {
    clear: both;
  }
}
.old-modules .letterBox .letterBoxMain dl dt.taisyo {
  background: url(/common/img/old_style/committee/act/letter/images/icon_taisyo.gif) no-repeat 0 0.15em;
}

.old-modules .letterBox .letterBoxMain dl dt.syusaku {
  background: url(/common/img/old_style/committee/act/letter/images/icon_syusaku.gif) no-repeat 0 0.15em;
}

.old-modules .letterBox .letterBoxMain dl dt.sumitomo {
  background: url(/common/img/old_style/committee/act/letter/images/icon_sumitomo.gif) no-repeat 0 0.15em;
}

.old-modules .letterBox .letterBoxMain dl dt.song {
  background: url(/common/img/old_style/committee/act/letter/images/icon_song.gif) no-repeat 0 0.3em;
}

.old-modules .letterBox .letterBoxMain dl dd {
  padding: 0 0 7px 6.5em;
}

@media screen and (max-width: 767px) {
  .old-modules .letterBox .letterBoxMain dl dd {
    overflow: hidden;
    padding: 0 0 7px 0;
  }
}
.old-modules .letterList,
.old-modules .letterList2,
.old-modules .letterList3 li {
  list-style: none;
}

.old-modules .letterList li,
.old-modules .letterList2 li,
.old-modules .letterList3 li {
  clear: both;
  margin: 0 0 5px 0;
  padding: 10px 0 3px 0;
  background: url(/common/img/old_style/common/images_new/line01.gif) repeat-x 0 100%;
  position: relative;
  overflow: hidden;
  zoom: 1;
}

.old-modules .letterList li dl {
  float: left;
  padding: 0 0 15px 0;
  font-weight: bold;
}

.old-modules .letterList2 li dl {
  clear: left;
  padding: 0;
  margin-bottom: 10px;
  font-weight: bold;
}

.old-modules .letterList3 li dl {
  padding: 0;
  margin-bottom: 10px;
  font-weight: bold;
}

.old-modules .letterList2 li .story {
  float: left;
  max-width: 540px;
}

.old-modules .letterList2 li .story2 {
  float: left;
  max-width: 750px;
}

.old-modules .letterList2 li .story2 span {
  display: block;
  font-weight: bold;
  font-size: 1.25em;
  line-height: 1.3;
}

.old-modules .letterList3 li .story {
  max-width: 750px;
}

.old-modules .letterList li dl dt {
  color: #c47429;
}

.old-modules .letterList li dl dd {
  font-size: 1.25em;
  line-height: 1.3;
}

.old-modules .letterList li .voice,
.old-modules .letterList2 li .voice {
  float: right;
  padding: 0 0 20px 0;
}

.old-modules .letterList2 li .voice2 {
  text-align: right;
  clear: both;
  padding-bottom: 10px;
}

.old-modules .letterList2 li .voice3 {
  text-align: right;
  clear: both;
  padding-bottom: 10px;
}

.old-modules .letterList2 li .voice3 span {
  margin-right: 0;
}

.old-modules .letterList2 li .voice2 span {
  margin-right: 25px;
}

.old-modules .letterList li p,
.old-modules .letterList2 li p {
  clear: right;
  float: right;
}

.old-modules .letterList3 li p {
  text-align: right;
}

.old-modules .letterList2 li dl dt.first01 {
  float: left;
  width: 100px;
  color: #003366;
}

@media screen and (max-width: 767px) {
  .old-modules .letterList2 li dl dt.first01 {
    width: 100px;
  }
}
.old-modules .letterList2 li dl dd.first02 {
  overflow: hidden;
  color: #003366;
  font-size: 1.25em;
  line-height: 1.3;
}

.old-modules .letterList2 li dl dt.second01 {
  float: left;
  width: 100px;
  color: #CC0000;
}

.old-modules .letterList2 li dl dd.second02 {
  padding-left: 100px;
  color: #CC0000;
  font-size: 1.25em;
  line-height: 1.3;
}

.old-modules .letterList3 li dl dt.first01 {
  float: left;
  width: 200px;
  color: #003366;
}

@media screen and (max-width: 767px) {
  .old-modules .letterList3 li dl dt.first01 {
    width: 30%;
  }
}
.old-modules .letterList3 li dl dd.first02 {
  overflow: hidden;
  color: #003366;
  font-size: 1.25em;
  line-height: 1.3;
}

.old-modules .letterList3 li dl dt.second01 {
  float: left;
  width: 200px;
  color: #CC0000;
}

@media screen and (max-width: 767px) {
  .old-modules .letterList3 li dl dt.second01 {
    width: 30%;
  }
}
.old-modules .letterList3 li dl dd.second02 {
  overflow: hidden;
  color: #CC0000;
  font-size: 1.25em;
  line-height: 1.3;
}

.old-modules .subTitle {
  font-size: 1.3em;
  margin-bottom: 20px;
}

.old-modules .speechBox {
  clear: both;
  width: 750px;
  margin: 0;
  padding: 0;
  background: url(/common/img/old_style/committee/act/speech/images/box_bg.gif) repeat-y 0 0;
}

@media screen and (max-width: 767px) {
  .old-modules .speechBox {
    width: 100%;
    padding-right: 15px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 5px;
    border-top: 1px solid #ccc;
    border-right: 1px solid #ccc;
  }
}
.old-modules .speechBox h6 {
  color: #228a70;
  font-weight: bold;
  font-size: 1.25em;
  padding-top: 10px;
  padding-left: 15px;
}

.old-modules .speechBox p {
  margin: 0 0 0 20px;
  padding: 0 0 7px 20px;
}

.old-modules .speechBox p.read {
  padding: 0 20px 0 0;
}

.old-modules .speechBox .firstPrize {
  background: url(/common/img/old_style/committee/act/speech/images/icon_taisyo.gif) no-repeat 0 0.15em;
}

.old-modules .speechBox .secondPrize {
  background: url(/common/img/old_style/committee/act/speech/images/icon_syusaku.gif) no-repeat 0 0.15em;
}

.old-modules .speechBox .thirdPrize {
  background: url(/common/img/old_style/committee/act/speech/images/icon_sumitomo.gif) no-repeat 0 0.15em;
}

.old-modules .speechBox2 {
  float: left;
  width: 360px;
  margin: 0;
  border-right: 1px solid #a3bfb6;
}

@media screen and (max-width: 767px) {
  .old-modules .speechBox2 {
    float: none;
    width: 100%;
    border-right: none;
  }
}
.old-modules .speechBox1 {
  float: left;
  width: 360px;
  margin: 0;
}

@media screen and (max-width: 767px) {
  .old-modules .speechBox1 {
    width: 100%;
    clear: both;
  }
}
.old-modules .speechBox dl {
  margin: 15px 0;
}

.old-modules .speechBox2 dl dt.song {
  background: url(/common/img/old_style/committee/act/speech/images/icon_song.gif) no-repeat 0 0.3em;
}

.old-modules .speechBox1 dl dt,
.old-modules .speechBox2 dl dt {
  float: left;
  width: 50px;
  font-weight: bold;
  margin-left: 15px;
  padding: 0 0 0 18px;
}

@media screen and (max-width: 767px) {
  .old-modules .speechBox1 dl dt,
  .old-modules .speechBox2 dl dt {
    width: auto;
  }
}
.old-modules .speechBox1 dl dd,
.old-modules .speechBox2 dl dd {
  padding: 0 0 0 90px;
  margin-bottom: 7px;
}

.old-modules .speechBox1 dl dt.fp {
  background: url(/common/img/old_style/committee/act/speech/images/icon_taisyo.gif) no-repeat 0 0.15em;
}

.old-modules .speechBox1 dl dt.sp {
  background: url(/common/img/old_style/committee/act/speech/images/icon_syusaku.gif) no-repeat 0 0.15em;
}

.old-modules .speechBox1 dl dt.tp {
  background: url(/common/img/old_style/committee/act/speech/images/icon_sumitomo.gif) no-repeat 0 0.15em;
}

.old-modules #spArea {
  background: url(/common/img/old_style/committee/act/special/ippitsu/images/bg_header.jpg) no-repeat;
}

.old-modules #spAreatop {
  background: url(/common/img/old_style/committee/act/special/images/bg_header_top.jpg) no-repeat;
}

.old-modules #spArea h3,
.old-modules #spAreatop h3,
.old-modules #special2 h4,
.old-modules #spAreatop h4,
.old-modules #spAreatop h5 {
  background: none;
  padding: 0;
  margin: 0;
}

.old-modules #spAreatop .box {
  width: 454px;
  margin-left: 257px;
}

.old-modules #spAreatop h4 {
  padding-top: 40px;
}

.old-modules #spAreatop h5 {
  padding-top: 7px;
}

.old-modules #spAreatop .btnArea {
  margin-top: 25px;
}

.old-modules #spAreatop #headerArea p {
  margin-top: 23px;
}

.old-modules #special2 {
  width: 710px;
  padding: 0;
  margin: 0 20px;
  background: url(/common/img/old_style/committee/act/special/ippitsu/images/bg_special.gif) repeat-y;
}

.old-modules #spAreatop .section-sp1 {
  clear: both;
  width: 750px;
  height: 190px;
  margin: 15px 0 0 0;
  background: url(/common/img/old_style/committee/act/special/images/bg_01.jpg) no-repeat 0px 0px;
}

.old-modules #spAreatop .section-sp2 {
  clear: both;
  width: 750px;
  height: 190px;
  margin: 10;
  background: url(/common/img/old_style/committee/act/special/images/bg_02.jpg) no-repeat 0px 0px;
}

.old-modules #spAreatop .section-sp3 {
  clear: both;
  width: 750px;
  height: 190px;
  margin: 0;
  background: url(/common/img/old_style/committee/act/special/images/bg_03.jpg) no-repeat 0px 0px;
}

.old-modules #special2 .section {
  width: 620px;
  margin-left: 35px;
}

.old-modules #special2 .btm {
  clear: both;
  background: url(/common/img/old_style/committee/act/special/ippitsu/images/bg_special_btm.gif) no-repeat bottom;
  padding-bottom: 10px;
}

.old-modules #special2 h5,
.old-modules spAreatop h5 {
  background: none;
}

.old-modules #special2 h6.tit img {
  margin: 0 0 0 -18px;
  position: relative;
}

.old-modules #special2 .inbox {
  width: 690px;
  margin: 10px;
}

/* ------------------------------------------------------------------------
 utility.css
------------------------------------------------------------------------ */
/*--------------------------------------
 img style
--------------------------------------*/
@media screen and (max-width: 767px) {
  .old-modules .OM-fig-style {
    width: 100%;
  }
}
/*--------------------------------------
 img noflash
--------------------------------------*/
@media screen and (max-width: 767px) {
  img[src~="noflash.gif"],
  img[src~="./noflash.gif"],
  img[src~="flash/noflash.gif"],
  img[src~="./flash/noflash.gif"] {
    width: 100%;
  }
}
/*--------------------------------------
 modal
--------------------------------------*/
@media screen and (max-width: 767px) {
  .old-modal {
    width: 100%;
  }
  .old-modal table {
    width: 100%;
  }
}
/*--------------------------------------
 sp table
--------------------------------------*/
@media screen and (max-width: 767px) {
  .old-modules td {
    word-break: break-all;
  }
}
/*--------------------------------------

--------------------------------------*/
@media screen and (min-width: 768px) {
  .old-modules .fltL {
    float: left !important;
  }
  .old-modules .fltR {
    float: right !important;
  }
  .old-modules .fltL01 {
    float: left !important;
    padding: 0 50px 0 0;
  }
  .old-modules .fltR01 {
    float: right !important;
    padding: 0 0 0 50px;
  }
  .old-modules .fltR03 {
    float: right !important;
    padding: 0 0 0 10px;
  }
  .old-modules .fltL02 {
    float: left !important;
    padding: 0 15px 0 0;
  }
  .old-modules .fltL05 {
    float: left !important;
    padding: 0 20px 0 0;
  }
  .old-modules .fltL06 {
    float: left !important;
    padding: 0 30px 0 0;
  }
  .old-modules .fltL07 {
    float: left !important;
    padding: 0 10px 0 0;
  }
  .old-modules .fltL08 {
    float: left !important;
    padding: 0 50px 0 140px;
  }
  .old-modules .fltL03 {
    float: left !important;
    padding: 0 0 0 80px;
  }
  .old-modules .fltL04 {
    float: left !important;
    padding: 0 20px 0 80px;
  }
}
.old-modules .caption {
  color: #000;
  display: block;
  text-align: center;
  line-height: 1.3em;
  margin-top: 7px;
}

.old-modules .imgR {
  text-align: right;
}

.old-modules .imgR .caption {
  display: inline-block;
  text-align: left;
  vertical-align: bottom;
  zoom: 1;
}

.old-modules .imgR img {
  display: inline-block;
  vertical-align: bottom;
  zoom: 1;
}

.old-modules .imgR02 {
  text-align: right;
}

.old-modules .imgR02 .caption {
  display: inline-block;
  margin-right: 20px;
  text-align: left;
  vertical-align: bottom;
  zoom: 1;
}

.old-modules .imgR02 img {
  display: inline-block;
  vertical-align: bottom;
  zoom: 1;
}

/*-------------------------------------

-------------------------------------*/
.old-modules .alignL {
  text-align: left !important;
}

.old-modules .alignC {
  text-align: center !important;
}

.old-modules .alignR {
  text-align: right !important;
}

.old-modules .valignT {
  vertical-align: top !important;
}

.old-modules .valignM {
  vertical-align: middle !important;
}

.old-modules .valignB {
  vertical-align: bottom !important;
}

/*-------------------------------------

-------------------------------------*/
.old-modules .strong {
  font-weight: bold;
}

.old-modules .fontL {
  font-size: 1.25em;
}

.old-modules .fontS {
  font-size: 0.9em;
}

.old-modules .imgfont {
  margin-bottom: 0.28em;
}

/*-------------------------------------

-------------------------------------*/
.old-modules .underline {
  text-decoration: underline;
}

/*-------------------------------------

-------------------------------------*/
.old-modules .arwList01 {
  padding: 0 0 10px 20px;
  list-style: none;
}

.old-modules .arwList01 li {
  margin: 0 0 5px 0;
  padding: 0 0 0 12px;
  background: url(/common/img/old_style/common/images_new/icon01.gif) no-repeat 0 0.5em;
}

.old-modules .arwList01 li.blank {
  background: url(/common/img/old_style/common/images_new/icon_blank.gif) no-repeat 0 0.4em;
}

.old-modules .arwList01 li.blank a {
  color: #0a5a3e;
}

.old-modules .arwList02 {
  padding: 0 0 10px 0;
  text-align: center;
  list-style: none;
  letter-spacing: -0.4em;
}

@media screen and (max-width: 767px) {
  .old-modules .arwList02 {
    text-align: left;
  }
}
.old-modules .arwList02 li {
  display: inline;
  margin: 0 0 5px 0;
  padding: 0 40px 0 12px;
  letter-spacing: normal;
  background: url(/common/img/old_style/common/images_new/icon01.gif) no-repeat 0 0.3em;
}

@media screen and (max-width: 767px) {
  .old-modules .arwList02 li {
    display: block;
    padding: 0 0 0 12px;
  }
}
.old-modules .pdfblank {
  display: block;
  margin: 0 0 5px 0;
  line-height: 1.5;
  padding: 0 0 0 20px;
  background: url(/common/img/old_style/common/images_new/icon_pdf.gif) no-repeat 0 0;
}

.old-modules .section-indent {
  margin: 0 0 20px 20px;
}

/*-------------------------------------
 Navigation skip
-------------------------------------*/
.old-modules .naviskip {
  height: 0px;
  text-indent: -9999px;
}

/*-------------------------------------

-------------------------------------*/
.old-modules .tbl01 {
  width: 100%;
  margin-bottom: 20px;
  border-collapse: collapse;
  border: 1px solid #a3bfb6;
}

.old-modules .tbl01 th {
  width: 5em;
  padding: 5px 5px;
  text-align: center;
  font-weight: normal;
  border-bottom: 1px solid #a3bfb6;
  background: #bfe1d6;
}

.old-modules .tbl01 td {
  padding: 5px 10px;
  text-align: left;
  border-bottom: 1px solid #a3bfb6;
  background: #e7f3ef;
}

.old-modules .tbl02 {
  width: 100%;
  margin-bottom: 20px;
  border-collapse: collapse;
  border: 1px solid #a3bfb6;
}

.old-modules .tbl02 th {
  width: 8em;
  padding: 5px 5px;
  text-align: left;
  font-weight: bold;
  border-bottom: 1px solid #a3bfb6;
  background: #bfe1d6;
}

.old-modules .tbl02 td {
  padding: 5px 10px;
  text-align: left;
  border-bottom: 1px solid #a3bfb6;
  background: #e7f3ef;
}

.old-modules .tbl03 {
  width: 100%;
  margin-bottom: 20px;
  border-collapse: collapse;
}

.old-modules .tbl03 th {
  width: 8em;
  padding: 5px 5px;
  text-align: left;
  font-weight: normal;
  border-left: 1px solid #a3bfb6;
  border-bottom: 1px solid #a3bfb6;
  background: #bfe1d6;
}

.old-modules .tbl03 td {
  padding: 5px 10px;
  text-align: right;
  border-right: 1px solid #a3bfb6;
  border-bottom: 1px solid #a3bfb6;
  background: #e7f3ef;
}

.old-modules .tbl03 td.explain {
  width: 80px;
  padding: 5px 10px;
  text-align: left;
  border-bottom: 1px solid #a3bfb6;
  color: #ffffff;
  background: #006633;
}

.old-modules .tbl03 td.number {
  color: #006633;
  font-weight: bold;
}

.old-modules .tbl03 td.linenone {
  border-top: none;
  border-left: none;
  border-bottom: none;
  background: #fff;
}

.old-modules .tbl03 .topcell {
  border-top: 1px solid #a3bfb6;
}

.old-modules .tbl04 {
  width: 100%;
  margin-bottom: 20px;
  border-collapse: collapse;
}

.old-modules .tbl04 th {
  width: 20em;
  padding: 5px 5px;
  text-align: left;
  font-weight: bold;
}

.old-modules .tbl05 {
  float: left;
  width: 100%;
  margin-bottom: 20px;
  border-collapse: collapse;
  border: 1px solid #a3bfb6;
}

.old-modules .tbl05 th {
  width: 5em;
  padding: 5px 5px;
  text-align: left;
  font-weight: bold;
  border-bottom: 1px solid #a3bfb6;
  background: #bfe1d6;
}

.old-modules .tbl05 td {
  padding: 5px 10px;
  text-align: left;
  border-bottom: 1px solid #a3bfb6;
}

.old-modules .tbl06 {
  width: 100%;
  margin-bottom: 20px;
  border-collapse: collapse;
  border: 1px solid #a3bfb6;
}

.old-modules .tbl06 th {
  padding: 3px 3px;
  text-align: center;
  font-weight: normal;
  border-left: 1px solid #a3bfb6;
  border-bottom: 1px solid #a3bfb6;
  background: #1D7DB4;
  color: #fff;
}

.old-modules .tbl06 td {
  padding: 3px 10px;
  text-align: center;
  border-left: 1px solid #a3bfb6;
  border-bottom: 1px solid #a3bfb6;
  background: #004E86;
  color: #fff;
}

.old-modules .tbl07 {
  width: 100%;
  margin-bottom: 20px;
  border-collapse: collapse;
  border: 1px solid #a3bfb6;
}

.old-modules .tbl07 th {
  padding: 3px 3px;
  text-align: center;
  font-weight: normal;
  border-left: 1px solid #a3bfb6;
  border-bottom: 1px solid #a3bfb6;
  background: #1D7DB4;
  color: #fff;
}

.old-modules .tbl07 td {
  padding: 3px 10px;
  text-align: center;
  border-left: 1px solid #a3bfb6;
  border-bottom: 1px solid #a3bfb6;
  background: #336633;
  color: #fff;
}

.old-modules .tbl08 {
  width: 100%;
  margin-bottom: 20px;
  border-collapse: collapse;
  border: 1px solid #a3bfb6;
}

.old-modules .tbl08 th.titNumber {
  width: 2em;
  padding: 3px 3px;
  text-align: right;
  font-weight: bold;
  border-left: 1px solid #a3bfb6;
  border-bottom: 1px solid #a3bfb6;
  border-top: 1px solid #a3bfb6;
  background: #bfe1d6;
  color: #333;
}

.old-modules .tbl09 {
  margin-bottom: 20px;
  border: none;
}

.old-modules .tbl09 td {
  padding: 0 20px;
}

.old-modules .cap01 {
  width: 100%;
  padding: 3px 10px;
  text-align: left;
  background: #fff;
  font-weight: normal;
  border-left: 1px solid #a3bfb6;
  border-right: 1px solid #a3bfb6;
  border-top: 1px solid #a3bfb6;
}

.old-modules .cap02 {
  width: 100%;
  padding: 3px 10px;
  text-align: left;
  background: #bfe1d6;
  font-weight: bold;
  border-left: 1px solid #a3bfb6;
  border-right: 1px solid #a3bfb6;
  border-top: 1px solid #a3bfb6;
}

.old-modules .tbl08 th.titNormal {
  width: 350px;
  padding: 3px 10px;
  text-align: left;
  font-weight: normal;
  border-left: 1px solid #a3bfb6;
  border-bottom: 1px solid #a3bfb6;
  border-top: 1px solid #a3bfb6;
  background: #fff;
  color: #333;
}

.old-modules .tbl08 td {
  padding: 3px 10px;
  text-align: left;
  border-left: 1px solid #a3bfb6;
  border-bottom: 1px solid #a3bfb6;
}

.old-modules .spframe {
  border: 3px solid #179978;
}

.old-modules .spframe p {
  padding: 12px 12px 0 12px;
}

/*-------------------------------------

-------------------------------------*/
.old-modules .quotation {
  padding-left: 2em;
}

.old-modules ul.notesKakki li {
  width: 200px;
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 10px;
  color: #000;
}

.old-modules ul#notes li {
  text-indent: -1.5em;
  padding-left: 1.5em;
  margin-bottom: 10px;
  color: #000;
}

.old-modules .cautionRed {
  color: #FF0000;
}

.old-modules .cautionMedia {
  font-size: 100%;
  font-weight: normal;
  color: #333;
}

/*-------------------------------------

-------------------------------------*/
.old-modules .pageLink {
  overflow: hidden;
  _height: 1.5em;
  margin-bottom: 10px;
}

.old-modules .pageLink ul {
  margin-left: -6px;
}

.old-modules .pageLink li {
  padding: 0 5px;
  display: inline;
  border-left: 1px solid #999;
}

/*-------------------------------------

-------------------------------------*/
.old-modules .iconNew {
  position: relative;
  top: -1px;
  padding: 0 0 0 4px;
  vertical-align: middle;
}

.old-modules td.incmovie,
.old-modules th.incmovie {
  margin: 0 0 0 0;
  padding: 0 0 0 20px;
  background: url(/common/img/old_style/common/images_new/icon_movie.gif) no-repeat 0 0.5em;
}

/*-------------------------------------

-------------------------------------*/
.old-modules a:hover .btnover {
  filter: alpha(opacity=80);
  opacity: 0.8;
}

/*-------------------------------------
 getflash
-------------------------------------*/
.old-modules .getflash img {
  float: left;
  padding: 0 13px 0 0;
}

.old-modules .getflash p {
  line-height: 1.45;
}

/*-------------------------------------

-------------------------------------*/
.old-modules .clear {
  clear: both;
}

/* ------------------------------------------------------------------------
 style_e.css
------------------------------------------------------------------------ */
.old-modules-en-in {
  width: 100%;
  max-width: 750px;
  padding: 0;
  margin: 0 auto;
  color: #000000;
  background-color: #ffffff;
  line-height: normal;
}

.old-modules-en-in > table {
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .old-modules-en-in {
    padding: 2em 0;
  }
}
.old-modules-en p {
  margin: 1em 0;
}

.old-modules-en p:first-child {
  margin-top: 0;
}

.old-modules-en strong {
  font-weight: bold;
}

.old-modules-en img {
  vertical-align: middle;
}

.old-modules-en .s-old-en-caption {
  line-height: 1;
}

.old-modules-en .s-old-en-caption img {
  margin-bottom: 5px;
}

@media screen and (max-width: 767px) {
  .old-modules-en table,
  .old-modules-en tbody,
  .old-modules-en thead,
  .old-modules-en tr,
  .old-modules-en td,
  .old-modules-en th {
    display: block;
    width: 100%;
  }
  .old-modules-en td,
  .old-modules-en th {
    padding: 5px 0;
  }
  .old-modules-en img {
    width: 100%;
  }
  .old-modules-en img.spacer {
    display: none;
  }
}
.old-modules-en table.old-table {
  margin-top: 0.5em;
}

.old-modules-en table.old-table td,
.old-modules-en table.old-table th {
  padding: 1px 3px 5px;
  border: 1px solid #fff;
  line-height: 1;
  vertical-align: top;
}

@media screen and (max-width: 767px) {
  .old-modules-en table.old-table {
    display: table;
    table-layout: fixed;
    width: 100%;
  }
  .old-modules-en table.old-table tbody,
  .old-modules-en table.old-table thead {
    display: table-row-group;
  }
  .old-modules-en table.old-table tr {
    display: table-row;
  }
  .old-modules-en table.old-table td,
  .old-modules-en table.old-table th {
    display: table-cell;
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  .old-modules-en .old-links tr {
    overflow: hidden;
  }
  .old-modules-en .old-links td,
  .old-modules-en .old-links th {
    width: auto;
  }
  .old-modules-en .old-links td:first-child,
  .old-modules-en .old-links th:first-child {
    float: left;
  }
}
.old-modules-en .old-read td,
.old-modules-en .old-read th {
  padding: 10px;
}

.old-modules-en .old-read p:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .old-modules-en .old-read td,
  .old-modules-en .old-read th {
    padding: 10px;
  }
}
.old-modules-en a:link {
  color: #0000FF;
  text-decoration: none;
}

.old-modules-en a:visited {
  color: #0000FF;
  text-decoration: none;
}

.old-modules-en a:hover {
  color: #FF0000;
  text-decoration: underline;
}

.old-modules-en a:active {
  color: #FF0000;
  text-decoration: underline;
}

.old-modules-en a.sub:link {
  color: #3366CC;
  text-decoration: none;
}

.old-modules-en a.sub:visited {
  color: #3366CC;
  text-decoration: none;
}

.old-modules-en a.sub:hover {
  color: #FF6600;
  text-decoration: none;
}

.old-modules-en a.sub:active {
  color: #FF6600;
  text-decoration: none;
}

.old-modules-en .hide {
  display: none;
  left: 0;
  position: relative;
  top: 0;
}

.old-modules-en .fs10,
.old-modules-en .fs11,
.old-modules-en .fs12,
.old-modules-en .fs13,
.old-modules-en .fs14,
.old-modules-en .fs16,
.old-modules-en .fs18,
.old-modules-en .fs21 {
  font-family: "Times New Roman", Times, serif;
}

.old-modules-en .fs10 {
  font-size: 8pt;
}

.old-modules-en .fs11 {
  font-size: 9pt;
}

.old-modules-en .fs12 {
  font-size: 10pt;
}

.old-modules-en .fs13 {
  font-size: 11pt;
}

.old-modules-en .fs14 {
  font-size: 12pt;
  line-height: 130%;
}

.old-modules-en .fs16 {
  font-size: 14pt;
}

.old-modules-en .fs18 {
  font-size: 14pt;
}

.old-modules-en .fs21 {
  font-size: 16pt;
}

.old-modules-en .white {
  color: #FFFFFF;
}

/* ------------------------------------------------------------------------
 provisional.css
------------------------------------------------------------------------ */
/*--------------------------------------
 /index.html link color sample
--------------------------------------*/
/* sample-color-red
----------------------------- */
.sample-color-red .btn-cmn.c-red .inner {
  color: #bd0009;
  border: 2px solid #bd0009;
}

.sample-color-red .btn-cmn.c-red.bg-full .inner {
  color: #fff;
  background-color: #bd0009;
}

.sample-color-red .btn-cmn.c-black .inner {
  color: #333333;
  border: 2px solid #333333;
}

.sample-color-red .btn-cmn.c-black.bg-full .inner {
  color: #fff;
  background-color: #333333;
}

.sample-color-red .btn-cmn.bg-full .inner {
  box-shadow: 1px 1px 4px 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 1px 1px 4px 2px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 1px 1px 4px 2px rgba(0, 0, 0, 0.1);
}

.sample-color-red .mod-information .lead .title {
  color: #db000a;
}

.sample-color-red .mod-information .lead .links .link {
  color: #db000a;
}

.sample-color-red .mod-information .information > li .item .category {
  background-color: #4f4f4f;
}

@media screen and (max-width: 767px) {
  .sample-color-red .mod-information .information > li .item .category {
    color: #fff;
    background-color: #4f4f4f;
  }
}
/* sample-color-blue
----------------------------- */
.sample-color-blue .btn-cmn.c-red .inner {
  color: #228ae6;
  border: 2px solid #228ae6;
}

.sample-color-blue .btn-cmn.c-red.bg-full .inner {
  color: #fff;
  background-color: #228ae6;
}

.sample-color-blue .btn-cmn.c-black .inner {
  color: #333333;
  border: 2px solid #333333;
}

.sample-color-blue .btn-cmn.c-black.bg-full .inner {
  color: #fff;
  background-color: #333333;
}

.sample-color-blue .btn-cmn.bg-full .inner {
  box-shadow: 1px 1px 4px 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 1px 1px 4px 2px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 1px 1px 4px 2px rgba(0, 0, 0, 0.1);
}

.sample-color-blue .mod-information .lead .title {
  color: #db000a;
}

.sample-color-blue .mod-information .lead .links .link {
  color: #db000a;
}

.sample-color-blue .mod-information .information > li .item .category {
  background-color: #4f4f4f;
}

@media screen and (max-width: 767px) {
  .sample-color-blue .mod-information .information > li .item .category {
    color: #fff;
    background-color: #4f4f4f;
  }
}
/* sample-color-green
----------------------------- */
.sample-color-green .btn-cmn.c-red .inner {
  color: #15aabf;
  border: 2px solid #15aabf;
}

.sample-color-green .btn-cmn.c-red.bg-full .inner {
  color: #fff;
  background-color: #15aabf;
}

.sample-color-green .btn-cmn.c-black .inner {
  color: #333333;
  border: 2px solid #333333;
}

.sample-color-green .btn-cmn.c-black.bg-full .inner {
  color: #fff;
  background-color: #333333;
}

.sample-color-green .btn-cmn.bg-full .inner {
  box-shadow: 1px 1px 4px 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 1px 1px 4px 2px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 1px 1px 4px 2px rgba(0, 0, 0, 0.1);
}

.sample-color-green .mod-information .lead .title {
  color: #db000a;
}

.sample-color-green .mod-information .lead .links .link {
  color: #db000a;
}

.sample-color-green .mod-information .information > li .item .category {
  background-color: #4f4f4f;
}

@media screen and (max-width: 767px) {
  .sample-color-green .mod-information .information > li .item .category {
    color: #fff;
    background-color: #4f4f4f;
  }
}
/* sample-color-frame
----------------------------- */
.sample-color-frame .btn-cmn {
  background-color: #fff;
}

.sample-color-frame .btn-cmn.c-red .inner {
  color: #db000a;
  border: 2px solid #db000a;
}

.sample-color-frame .btn-cmn.c-red.bg-full .inner {
  color: #fff;
  background-color: #db000a;
}

.sample-color-frame .btn-cmn.c-black .inner {
  color: #333333;
  border: 2px solid #333333;
}

.sample-color-frame .btn-cmn.c-black.bg-full .inner {
  color: #fff;
  background-color: #333333;
}

.sample-color-frame .btn-cmn.bg-full .inner {
  box-shadow: 1px 1px 4px 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 1px 1px 4px 2px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 1px 1px 4px 2px rgba(0, 0, 0, 0.1);
}

.sample-color-frame .mod-information .lead .title {
  color: #db000a;
}

.sample-color-frame .mod-information .lead .links .link {
  color: #db000a;
}

.sample-color-frame .mod-information .information > li .item .category {
  background-color: #4f4f4f;
}

@media screen and (max-width: 767px) {
  .sample-color-frame .mod-information .information > li .item .category {
    color: #fff;
    background-color: #4f4f4f;
  }
}
/* tag-style(for analects)
----------------------------- */
.tag-style li {
  margin-top: 10px;
  margin-right: 10px;
  padding: 2px 5px;
  color: #fff;
  display: inline-block;
  background-color: #000;
}

li.black {
  background-color: #000;
}

li.red {
  background-color: #db000a;
}

/* toppage link right red
----------------------------- */
p.right-red {
  text-align: right;
  margin-top: 1em;
  color: #db000a;
}

/* ----------------------------------------------------------
Add 170706
---------------------------------------------------------- */
/* mod-imageUnit
---------------------------------------------------------- */
.mod-imageUnit {
  margin-top: 15px;
  overflow: hidden;
  zoom: 1;
}

.mod-imageUnit-text {
  overflow: hidden;
  zoom: 1;
}

.mod-imageUnit-caption {
  text-align: left;
  margin: 5px auto;
  font-size: 14px;
  line-height: 1.85;
  padding: 0 10px;
  color: #666;
}

.mod-imageUnit.parallel .mod-imageUnit-text {
  overflow: visible;
}

.mod-imageUnit.image-left .mod-imageUnit-image {
  float: left;
  margin-right: 40px;
}

.mod-imageUnit.image-right .mod-imageUnit-image {
  float: right;
  margin-left: 40px;
}

.mod-imageUnit-image {
  display: table;
  width: 160px;
  margin-top: 5px;
  text-align: center;
}

.mod-imageUnit-image img {
  vertical-align: top;
  font-size: medium;
}

@media screen and (max-width: 767px) {
  .mod-imageUnit {
    display: flex;
    flex-wrap: wrap;
    flex-flow: column-reverse nowrap;
  }
  .mod-imageUnit-text {
    overflow: hidden;
    zoom: 1;
  }
  .mod-imageUnit-caption {
    margin: 7px auto 0;
    font-size: 12px;
    line-height: 1.85;
  }
  .mod-imageUnit.parallel .mod-imageUnit-text {
    overflow: visible;
  }
  .mod-imageUnit.image-left .mod-imageUnit-image {
    margin-right: 0;
  }
  .mod-imageUnit.image-right .mod-imageUnit-image {
    margin-left: 0;
  }
  .mod-imageUnit-image {
    float: none;
    display: block;
    width: auto;
    margin: 27px 0 0;
  }
  .mod-imageUnit-image img {
    width: 100%;
  }
}
/* ----------------------------------------------------------
Add 170718
---------------------------------------------------------- */
.contents-main--bgforest {
  padding-top: 0;
  background: url(/committee/public-relations/feature/img/JA-03-03-08-001_01_01.jpg) 0 0 no-repeat;
  background-size: 100% auto;
}

.sec-feature {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 60px 15px 0;
}

.title-feature {
  margin: 0 0 30px;
  text-shadow: 1px 1px 3px #fff;
  color: #4a9116;
  font-weight: 700;
}

.title-feature-intro {
  font-size: 13px;
  font-weight: 700;
  color: #333;
}

.title-feature-intro strong {
  font-size: 18px;
  font-weight: 700;
  color: #333;
}

.title-feature-main {
  margin-top: 20px;
  font-size: 30px;
  font-weight: 700;
}

.feature-media-movie {
  width: 100%;
}

.feature-media-caption {
  margin: 15px 0 0;
  color: #333;
  text-align: right;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .contents-main--bgforest {
    background: none;
  }
  .sec-feature {
    padding-top: 20px;
  }
  .feature-media-caption {
    color: #333;
    text-shadow: none;
  }
}
/* ----------------------------------------------------------
Add 170718-2
---------------------------------------------------------- */
div.filter40 {
  background: rgba(0, 0, 0, 0.4);
}

@media screen and (max-width: 767px) {
  div.filter {
    background: none;
  }
}
/* ----------------------------------------------------------
Add 170721
---------------------------------------------------------- */
.mod-column-hero {
  position: relative;
  min-width: 1170px;
  margin: -35px auto 95px;
}

.mod-column-hero-image img {
  width: 100%;
}

.mod-column-hero-intro {
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  width: 1170px;
  margin: 0 auto;
  text-shadow: 1px 1px 3px #000;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.8;
}

.mod-column-hero-intro-title {
  margin: 0 0 10px;
  font-weight: 700;
  font-size: 20px;
}

.mod-column-hero-bar {
  position: absolute;
  width: 100%;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
}

.mod-column-hero-desc {
  display: table;
  width: 1170px;
  margin: 0 auto;
  padding: 20px 0;
  text-shadow: 1px 1px 3px #000;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
}

.mod-column-hero-desc-title {
  display: table-cell;
  vertical-align: top;
  font-weight: 700;
  font-size: 18px;
}

.mod-column-hero-desc-title-main {
  font-size: 30px;
}

.mod-column-hero-desc-text {
  display: table-cell;
  padding-left: 20px;
  vertical-align: bottom;
  text-align: right;
  white-space: nowrap;
}

.mod-column-hero-desc.-type02 {
  display: flex;
}

.mod-column-hero-desc.-type02 .mod-column-hero-desc-title {
  flex-grow: 1;
  display: block;
}

.mod-column-hero-desc.-type02 .mod-column-hero-desc-text {
  display: block;
  padding-left: 30px;
}

.mod-column-hero-desc.-type02 .mod-column-hero-desc-text.-end {
  align-self: flex-end;
}

@media screen and (max-width: 767px) {
  .mod-column-hero {
    min-width: 0;
    margin: -10px auto 40px;
  }
  .mod-column-hero-intro {
    position: static;
    width: auto;
    margin: 0 auto;
    padding: 10px 15px;
    text-shadow: none;
    color: #333;
    font-size: 14px;
    line-height: 1.5;
  }
  .mod-column-hero-intro-title {
    margin: 0;
    font-size: 15px;
  }
  .mod-column-hero-intro-text {
    font-weight: normal;
    font-size: 13px;
  }
  .mod-column-hero-bar {
    position: static;
    background: #eee;
  }
  .mod-column-hero-desc {
    display: block;
    width: auto;
    padding: 15px;
    text-shadow: none;
    color: #333;
  }
  .mod-column-hero-desc-title {
    display: block;
    margin: 0 0 10px;
    font-size: 12px;
  }
  .mod-column-hero-desc-title-main {
    font-size: 18px;
  }
  .mod-column-hero-desc-text {
    display: block;
    padding-left: 0;
    text-align: left;
    white-space: inherit;
    font-size: 13px;
    font-weight: normal;
  }
  .mod-column-hero-desc.-type02 {
    flex-direction: column;
  }
  .mod-column-hero-desc.-type02 .mod-column-hero-desc-text {
    display: block;
    padding-left: 0;
    text-align: right;
  }
}
/* ----------------------------------------------------------
Add 170817 /visits/
---------------------------------------------------------- */
.posRelative {
  position: relative;
}

.posRelative001 {
  position: relative;
  top: -155px;
}

.visitsBoxStyle {
  padding: 40px;
  background-color: #edf4d9;
}

.visitsBoxStyle .ttl-cmn-03 {
  margin-top: 10px;
}

.visitsBoxStyle01 {
  padding: 30px 40px 40px;
  background-color: #fff799;
}

.dpTable {
  /* width: 100%; */
  margin: 0 auto;
  padding-right: 15px;
  display: table;
}

.dpTable li {
  padding-left: 15px;
  margin-bottom: 10px;
  /* width: 32%; */
  text-align: center;
  display: table-cell;
}

.ttl-visits-01 {
  padding: 40px;
  padding-right: 180px;
  color: #fff;
  font-size: 26px;
  font-size: 2.6rem;
  position: relative;
  background-color: #6fba2c;
  border-radius: 10px 10px 0 0;
}

.ttl-visits-01 img {
  position: absolute;
  right: 10px;
  top: -3px;
}

@media screen and (max-width: 767px) {
  .visitsBoxStyle,
  .visitsBoxStyle01 {
    padding: 20px;
  }
  .posRelative001 {
    position: absolute;
    top: -80px;
    right: 5%;
    text-align: right;
  }
  .posRelative001 img {
    width: 50%;
  }
  .posRelative002 {
    padding-bottom: 115%;
  }
  .txt-col3 {
    font-size: 12px !important;
    font-size: 1.2rem;
  }
  .posAbsolute001 {
    position: absolute;
    bottom: 0;
  }
  .posAbsolute001 img {
    width: 50%;
  }
  .ttl-visits-01 {
    margin-top: 30px;
    padding: 20px;
    padding-right: 80px;
    font-size: 10px;
    font-size: 1rem;
  }
  .ttl-visits-01 img {
    width: 70px;
    top: 15%;
  }
}
.label_new {
  margin: 0 30px;
  padding: 2px 5px;
  font-size: 7.5px;
  font-size: 0.75rem;
  color: #fff;
  background-color: #db000a;
}

/* ----------------------------------------------------------
Add 171107
---------------------------------------------------------- */
.contents-main.contents-main-ai {
  padding-top: 0;
  /* background-color: #f6f6f6; */
}

.contents-main-ai .sec-feature {
  max-width: 1200px;
}

.contents-main-ai .title-feature {
  color: #333;
}

.contents-main-ai .title-feature h1 span {
  font-weight: normal;
  font-size: 16px;
  display: block;
}

.contents-main-ai .space-hero-slider-wrap {
  margin-bottom: 50px;
  padding-bottom: 50px;
  width: 100%;
  background-color: #f6f6f6;
}

.contents-main-ai .sec-inner.space-hero-slider {
  margin-top: 50px;
  margin-bottom: 0;
  padding-bottom: 15px;
}

.contents-main-ai .sec-cmn-02 {
  margin-top: 0;
  padding-top: 2em;
  background-color: #fff;
}

.title-feature-intro {
  margin-bottom: 30px;
}

.ttl-cmn-02 p.category {
  min-width: 100px;
  padding: 3px 5px 2px;
  font-size: 14px;
  font-weight: normal;
  display: inline-block;
  text-align: center;
  color: #fff;
  background-color: #333;
}

.w1000px {
  margin: 0 auto 40px;
  max-width: 1000px;
}

@media screen and (max-width: 767px) {
  .contents-main-ai .space-hero-slider-wrap {
    padding: 0 15px 15px;
    margin-bottom: 30px;
  }
  .contents-main-ai .sec-inner.space-hero-slider {
    margin-top: 30px;
  }
  .ttl-cmn-02 p.category {
    min-width: 70px;
    padding: 1px 5px 1px;
    font-size: 12px;
    text-align: center;
    color: #fff;
  }
  .contents-main-ai .sec-inner.space-hero-slider {
    margin-top: 0;
  }
}
/* ----------------------------------------------------------
Add 171115 /visits/
---------------------------------------------------------- */
.posRelative003,
.posRelative004 {
  position: relative;
  top: -200px;
}

.mb_m100 {
  margin-bottom: -100px;
}

.mb_m160 {
  margin-bottom: -160px;
}

.fig-cmn.w400px {
  text-align: center;
}

.fig-cmn.w400px .image {
  width: 400px;
  display: block;
}

.img-float-right {
  overflow: hidden;
}

.img-float-right .img-right {
  float: right;
}

.img-float-right .con-left {
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .img-float-right .img-right {
    float: none;
  }
  .img-float-right .img-right,
  .img-float-right .con-left img {
    margin-bottom: 20px;
    width: 100%;
  }
  .img-float-right .img-right {
    margin: 0 auto 20px;
    display: block;
    width: 40%;
  }
  .mb_m100,
  .mb_m160 {
    margin-bottom: 0px;
  }
  .posRelative003 {
    position: absolute;
    top: -80px;
    right: 0%;
    text-align: right;
  }
  .posRelative003 img,
  .posRelative004 figure {
    width: 35%;
  }
  .posRelative003,
  .posRelative004 {
    padding-bottom: 115%;
  }
  .posRelative004 {
    position: absolute;
    top: -80px;
    left: 0%;
    text-align: left;
  }
  w50p {
    width: 50%;
  }
  .fig-cmn.w400px .image {
    width: 100%;
  }
}
/* ----------------------------------------------------------
Add 180116 /visits/
---------------------------------------------------------- */
.sq18 .trt01_cn {
  position: absolute;
  top: -100px;
  width: 33%;
}

.sq18 .trt01_illust {
  position: absolute;
  top: -180px;
  width: 25%;
}

.sq18 .trt02_photo {
  width: 70%;
}

.sq18 .trt03_illust {
  margin-top: -180px;
}

@media screen and (max-width: 767px) {
  .sq18 .trt01_cn {
    position: absolute;
    top: -50px;
    width: 53%;
  }
  .sq18 .trt01_illust {
    position: absolute;
    top: -120px;
    right: 0;
    width: 35%;
  }
  .sq18 .trt02_photo {
    width: 40%;
  }
  .sq18 .trt02_illust {
    position: absolute;
    bottom: 0px;
    width: 40%;
  }
  .sq18 .trt03_illust {
    margin-top: -100px;
  }
}
/* ----------------------------------------------------------
Add 180201 /history/related/
---------------------------------------------------------- */
/* 関連団体ページのタブに使用 */
section.tab ul {
  border: 1px solid #e8e9e8;
  display: flex;
  justify-content: space-around;
}

section.tab ul li {
  width: 33.3333333333%;
  min-width: 390px;
  border-right: 1px solid #e8e9e8;
  text-align: center;
  position: relative;
}

section.tab ul li a {
  padding: 15px;
  display: block;
}

section.tab ul li.active {
  border-bottom: 3px solid #e00305 !important;
}

section.tab ul li:last-child {
  border: none;
}

section.tab ul li a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5%;
  width: 11px;
  height: 7px;
  margin-top: -3px;
  background: url(/common/img/ico_arrow_down_hd_01_pc.png) 0 0 no-repeat;
}

div.tab-02 {
  display: none;
  margin-top: 32px !important;
}

div.tab-03 {
  display: none;
  margin-top: 32px !important;
}

/* SPのタブに使用 */
@media screen and (max-width: 767px) {
  section.tab ul li {
    min-width: auto;
  }
  section.tab ul li a {
    width: 80%;
    height: 70px;
    display: grid;
    align-items: center;
    text-align: center;
    padding-right: 0px;
  }
}
/*ここまで*/
/*別子銅山ページなどのh1横のテキストに使用*/
h1.title span.related-sub {
  font-size: 21px;
  margin-left: 15px;
}

/*ここまで*/
/*別子銅山ページなどのメインビジュアル調整に使用*/
.hero-slider .related-background {
  margin: 0 auto;
}

.hero-slider .related-background img {
  width: 100%;
}

/*ここまで*/
/* もっと見るの「概要編に戻る」に使用 */
.related-back {
  display: flex;
  margin-top: 30px;
}

.related-back .btn-cmn {
  margin: 0 auto;
}

/*bace.cssの3920行目のfont-weight:boldを上書きしてしまっているが .backが頭にあるので大丈夫？*/
.related-back .btn-cmn a {
  font-weight: normal;
}

/*ここまで*/
/* もっと見るのアクティブに使用 */
.space-01 .cat-active {
  height: auto;
  border: 3px solid #e00305;
}

/*ここまで*/
/* 今に生きる住友語録のページングに使用 */
nav.pagination {
  margin-top: 30px;
}

nav.pagination ul {
  text-align: center;
}

nav.pagination li {
  border: 1px solid #db000a;
  margin: 0 5px;
  display: inline-block;
  color: #db000a;
  font-size: 18px;
  width: 30px;
  margin-top: 2px;
}

nav.pagination li a {
  display: block;
}

nav.pagination li.now {
  background-color: #db000a;
  color: #fff;
}

nav.pagination li a:hover {
  background: #db000a;
  color: #fff;
}

@media screen and (max-width: 767px) {
  nav.pagination li {
    margin: 0 7px;
    font-size: 18px;
    line-height: 2;
    width: 40px;
    margin-top: 15px;
  }
}
/*ここまで*/
/* 住友グループ探訪(東北住電精密) */
.sg_tsp .background {
  position: relative;
}

.sg_tsp .background p {
  /* position: absolute; */
  top: 120px;
  width: 100%;
  max-width: 1170px;
  margin: 0 auto;
}

.sg_tsp .background p img {
  max-width: 370px;
}

.sg_tsp .mod-slider-item .background img {
  top: 10px;
}

.sg_tsp .background p.mv_txt {
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
}

.sg_tsp .background p.mv_txt span {
  padding: 10px;
  color: #fff;
  font-size: 14px;
  position: absolute;
  bottom: 130px;
  right: 10px;
  width: 250px;
  display: inline-block;
  background-color: rgba(0, 0, 0, 0.5);
}

.sg_tsp .trt01_cn {
  position: absolute;
  top: -100px;
  width: 33%;
}

.sg_tsp .trt01_illust {
  position: absolute;
  top: -180px;
  left: 0;
  width: 34%;
}

.sg_tsp div.box_table {
  margin-top: 30px;
  display: table;
}

.sg_tsp div.box_table > div {
  padding-left: 20px;
  display: table-cell;
  vertical-align: top;
  width: 25%;
  box-sizing: border-box;
}

.sg_tsp div.box_table > div:first-child {
  padding-top: 50px;
  padding-left: 0;
  width: 50%;
}

.sg_tsp div.box_table > div img {
  width: 100%;
  height: auto;
}

.sg_tsp div.box_table > div ul {
  display: table;
}

.sg_tsp div.box_table > div ul li {
  display: table-cell;
  font-size: 14px;
  width: 50%;
}

.sg_tsp div.box_table > div p {
  font-size: 14px;
}

.sg_tsp div.box_table > div ul li:first-child {
  padding-right: 5%;
}

.sg_tsp div.box_table01 {
  margin-bottom: 30px;
  display: table;
}

.sg_tsp div.box_table01 > div {
  padding-left: 20px;
  display: table-cell;
  vertical-align: top;
  width: 40%;
  box-sizing: border-box;
}

.sg_tsp div.box_table01 > div:first-child {
  padding-left: 0;
  width: 60%;
}

.sg_tsp div.box_table01 > div img {
  width: 100%;
}

.sg_tsp div.box_table01 > div p {
  font-size: 14px;
}

.sg_tsp div.box_table02 {
  margin-bottom: 30px;
  display: table;
}

.sg_tsp div.box_table02 > div {
  display: table-cell;
  width: 50%;
}

@media screen and (max-width: 767px) {
  .sg_tsp .mod-float.type-reverse .fig-cmn {
    margin-top: 0;
  }
  .sg_tsp .mod-slider-item .background p img {
    width: 50%;
    left: 10px;
  }
  .sg_tsp .trt01_cn {
    position: absolute;
    top: -50px;
    width: 53%;
  }
  .sg_tsp .trt01_illust {
    position: absolute;
    top: -120px;
    right: 0;
    width: 35%;
  }
  .sg_tsp .trt01_illust.vol04 {
    position: static;
  }
  .sg_tsp .trt02_photo {
    width: 40%;
  }
  .sg_tsp .trt02_illust {
    position: absolute;
    bottom: 0px;
    width: 40%;
  }
  .sg_tsp .trt03_illust {
    margin-top: -100px;
  }
  .sg_tsp div.box_table {
    display: block;
    overflow: hidden;
  }
  .sg_tsp div.box_table > div:first-child {
    padding-top: 0;
    margin-bottom: 25px;
    display: block;
    width: 100%;
  }
  .sg_tsp div.box_table > div:nth-child(2) {
    float: left;
    width: 48%;
    padding-left: 0;
  }
  .sg_tsp div.box_table > div:nth-child(3) {
    float: right;
    width: 48%;
  }
  .sg_tsp div.box_table01 > div {
    display: block;
    width: 100%;
    padding: 0;
  }
  .sg_tsp div.box_table01 > div:first-child {
    width: 100%;
    margin-bottom: 20px;
  }
  .sg_tsp div.box_table01 > div p,
  .sg_tsp div.box_table > div ul li,
  .sg_tsp div.box_table > div p {
    font-size: 12px;
  }
  .sg_tsp .background p.mv_txt span {
    width: 150px;
    font-size: 12px;
  }
  .sg_tsp div.box_table02 img {
    width: 100%;
  }
}
.tanbo05 .trt01_cn {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 50%;
}

.tanbo05 .sec-inner.space-txt-01 {
  margin-top: 10px;
}

.tanbo05 .grid-cmn.space-figure .grid-cmn-in {
  margin-top: 0;
}

.tanbo05 .db_table {
  display: table;
}

.tanbo05 .db_table_in {
  display: table-cell;
  position: relative;
}

.tanbo05 .db_table_in span {
  position: absolute;
  top: 50px;
  left: 400px;
}

.tanbo05 .box_orange01 {
  background-color: #fdecdb;
}

.tanbo05 .box_orange01 h4 {
  font-weight: bold;
}

.tanbo05 .box_orange01 img {
  margin-bottom: 15px;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .tanbo05 .db_table {
    display: block;
  }
  .tanbo05 .db_table_in {
    display: block;
  }
  .tanbo05 .db_table_in span {
    top: 25px;
    left: 180px;
    font-size: 10px;
  }
}
/* 住友グループ探報 石村亭 */
.flex {
  display: flex;
  justify-content: space-between;
}

.flex > div img {
  width: 100%;
  height: auto;
}

.ishimura01 {
  margin-top: 30px;
}

.ishimura01 > div:nth-child(1) {
  width: 30%;
  margin-top: -300px;
}

.ishimura01 > div:nth-child(2) {
  width: 22%;
}

.ishimura01 > div:nth-child(3) {
  width: 22%;
}

.ishimura01 > div:nth-child(3) img {
  width: 60%;
  display: block;
  margin: 0 0 0 auto;
}

.ishimura01 > div:nth-child(4) {
  width: 22%;
}

.ishimura02 > div:nth-child(1) {
  width: 68%;
}

.ishimura02 > div:nth-child(2) {
  width: 30%;
}

.ishimura03 {
  justify-content: flex-start;
}

.ishimura03 > div {
  margin-right: 30px;
  width: 30%;
}

.ishimura04 > div:nth-child(1) {
  margin-right: 30px;
  width: 44%;
}

.ishimura04 > div:nth-child(2) {
  width: 50%;
  justify-content: space-between;
}

.ishimura05 {
  align-items: flex-fast;
}

.ishimura05 > div:nth-child(1) {
  width: 52%;
}

.ishimura05 > div:nth-child(2) {
  width: 45%;
}

.ishimura06 div {
  width: 47%;
}

.ishimura07 {
  width: 60%;
}

@media screen and (max-width: 767px) {
  .flex {
    flex-wrap: wrap;
  }
  .ishimura01 > div:nth-child(1) {
    width: 49%;
    margin-top: -130px;
  }
  .ishimura01 > div:nth-child(2),
  .ishimura01 > div:nth-child(4) {
    width: 48%;
  }
  .ishimura01 > div:nth-child(3) {
    width: 49%;
  }
  .ishimura01 > div:nth-child(3) img,
  .ishimura02 > div:nth-child(1),
  .ishimura02 > div:nth-child(2) {
    width: 100%;
  }
  .ishimura03 > div {
    width: 100%;
    margin-right: 0;
  }
  .ishimura04 {
    margin-bottom: 30px;
  }
  .ishimura04 > div:nth-child(1) {
    margin-right: 0;
    width: 49%;
  }
  .ishimura04 > div:nth-child(2) {
    width: 48%;
  }
  .ishimura05 {
    flex-direction: column-reverse;
  }
  .ishimura05 > div:nth-child(1),
  .ishimura05 > div:nth-child(2) {
    width: 100%;
  }
  .ishimura07 {
    width: 100%;
  }
}
#speech-listen {
  margin-top: -65px;
  padding-top: 65px;
}

/* 住友グループ探報　サミット酒田パワー バイオマス発電所 */
.summit00 {
  margin-top: -32px;
  margin-bottom: 15px;
}

.summit00 div {
  width: 40%;
  margin-top: 40px;
}

.summit00 div.eng {
  width: 34%;
}

.summit01 {
  margin-top: 30px;
}

/*.summit01 > div:nth-child(1){
  width: 40%;
  margin-top: -180px;
}*/
.summit01 > div:nth-child(1) {
  width: 56%;
}

.summit01 > div:nth-child(2) {
  width: 40%;
}

.summit02 {
  margin-top: 45px;
}

.summit02 div {
  width: 28%;
  position: relative;
}

.summit02 div:after {
  content: "";
  display: block;
  width: 94px;
  height: 72px;
  position: absolute;
  top: 30%;
  right: 0;
  z-index: 10;
  transform: translateX(80%);
  background: url(/act/visits/07/img/detail/h.png) no-repeat;
}

.summit02 div:nth-child(3) {
  width: 38%;
}

.summit02 div:nth-child(3):after {
  display: none;
}

.summit02 > div:nth-child(3) .img img {
  display: none;
}

.summit02 > div:nth-child(3) .sp {
  display: none;
}

.summit02-2 {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}

.summit02-2 div:nth-child(1) {
  width: 30%;
}

.summit02-2 div:nth-child(1) img {
  margin-left: 20%;
}

.summit02-2 div:nth-child(2) {
  width: 70%;
  margin-top: 20%;
}

.summit02-3 div:nth-child(1) {
  width: 48%;
}

.summit02-3 div:nth-child(2) {
  width: 40%;
  margin-right: 2%;
}

.summit03 {
  width: 86%;
  margin-bottom: 30px;
  padding: 40px 50px;
  position: relative;
  background-color: #fff9e0;
}

.summit03 h2 {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}

.summit03 h2.eng img {
  width: 50%;
}

.summit03 div:nth-child(2) {
  text-align: center;
}

.summit03 p:nth-child(3) {
  margin-top: 20px;
  margin-bottom: 0 !important;
}

.summit03-2 {
  width: 86%;
  text-align: center;
  margin: 0 auto 30px;
  align-items: center;
}

.summit03-2 div:nth-child(1) {
  width: 40%;
  margin-left: 5%;
}

.summit03-2 div:nth-child(2) {
  width: 40%;
  margin-right: 5%;
}

.flex.summit04 {
  align-items: flex-end;
  margin-bottom: 35px;
}

.summit04 div:nth-child(1) {
  text-align: center;
}

.summit05 div:nth-child(1) {
  width: 31%;
}

.summit05 div:nth-child(2) {
  width: 65.8%;
}

.summit06 .table {
  width: 100%;
  display: table;
}

.summit06 .table .caption {
  display: table-cell;
  vertical-align: bottom;
  padding-right: 30px;
}

.summit06 .table div {
  width: 353px;
  display: table-cell;
}

.summit06 .caption {
  text-align: left;
  margin: 15px auto;
  font-size: 14px;
  line-height: 1.85;
}

.summit_link_txt {
  text-align: right;
  margin-top: 20px;
}

.summit_link_txt a:hover {
  color: #db000a;
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  .summit00 {
    display: block;
    margin-top: 0;
  }
  .summit00 div {
    width: 80%;
    margin: 0 auto;
  }
  .summit00 div.eng {
    width: 80%;
  }
  .summit01 {
    justify-content: flex-start;
  }
  .summit01 > div:nth-child(1) {
    width: 100%;
    margin: 0;
  }
  .summit01 > div:nth-child(1) img.u-mb25 {
    margin-bottom: 10px !important;
  }
  .summit01 > div:nth-child(2) {
    width: 100%;
    margin-top: 20px;
  }
  .summit01 > div:nth-child(3) {
    width: 100%;
    text-align: center;
  }
  .summit01 > div:nth-child(3) img {
    max-width: 444px;
  }
  .summit02 > div:nth-child(1) {
    width: 48%;
  }
  .summit02 > div:nth-child(1):after {
    top: 50%;
    transform: translate(80%, -50%);
  }
  .summit02 > div:nth-child(2):after {
    top: auto;
    bottom: 0;
    right: 50%;
    transform: translate(50%, 30%) rotate(90deg);
  }
  .summit02 > div:nth-child(2) {
    width: 48%;
  }
  .summit02 > div:nth-child(3) {
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .summit02 > div:nth-child(3) .img {
    width: 48%;
  }
  .summit02 > div:nth-child(3) .img img {
    display: block;
  }
  .summit02 > div:nth-child(3) .img img.u-mb25 {
    margin-bottom: 0 !important;
  }
  .summit02 > div:nth-child(3) .pc {
    display: none;
  }
  .summit02 > div:nth-child(3) .sp {
    display: inline;
  }
  .summit02 > div:nth-child(3) .txt {
    width: 48%;
  }
  .summit02 > div .u-mb30 {
    margin-bottom: 8% !important;
  }
  .summit02 > div:nth-child(3) .txt .u-mb30 {
    margin-bottom: 10px !important;
  }
  .summit02 div:after {
    width: 24.6%;
    height: 16.2%;
    background-size: contain;
  }
  .summit02 .caption {
    font-size: 10px;
  }
  .summit02-2 {
    display: block;
  }
  .summit02-2 div:nth-child(1) {
    display: none;
  }
  .summit02-2 div:nth-child(1) img {
    width: 100%;
    height: auto;
  }
  .summit02-2 div:nth-child(2) {
    width: 100%;
    margin-top: 30px;
  }
  .sec-inner .sec-inner.summit03 {
    padding: 20px;
    background-color: #fff9e0;
  }
  .summit03 {
    width: 100%;
    margin-bottom: 30px;
  }
  .summit03 h2 {
    display: block;
    font-weight: bold;
    text-align: center;
  }
  .summit03 h2.eng img {
    width: 70%;
  }
  .summit03 > div:nth-child(2) {
    display: block;
  }
  .summit03 > p:nth-child(3) {
    width: 100%;
    margin: 0 !important;
  }
  .summit03-2 {
    width: 100%;
  }
  .summit03-2 div:nth-child(1) {
    width: 48%;
    margin-left: 0;
  }
  .summit03-2 div:nth-child(1) img {
    max-width: 100%;
  }
  .summit03-2 div:nth-child(2) {
    width: 48%;
    margin-right: 0;
  }
  .summit04 > div:nth-child(2) {
    width: 100%;
    margin-top: 25px;
    text-align: center;
  }
  .summit04 > div:nth-child(2) img {
    max-width: 419px;
  }
  .summit05 {
    display: block;
  }
  .summit05 > div:nth-child(1) {
    width: 100%;
    text-align: center;
  }
  .summit05 > div:nth-child(1) img {
    max-width: 363px;
  }
  .summit05 > div:nth-child(2) {
    width: 100%;
  }
  .summit06 .s-mxw-full-sp {
    width: 100%;
  }
  .summit06 .s-mxw-slim-sp {
    width: 80%;
    margin: 0 auto;
  }
  .summit06 .table {
    display: flex;
    text-align: center;
    flex-direction: column-reverse;
  }
  .summit06 .table div {
    width: 100%;
    margin-bottom: 10px;
  }
  .summit06 .table div img {
    max-width: 353px !important;
  }
  .summit06 .caption {
    font-size: 10px;
  }
}
@media screen and (min-width: 768px) {
  .summit06 .caption {
    font-size: 12px;
  }
}
/* ----------------------------------------------------------
Add 190416 /act/visits/
住友不動産 マンションリフォーム
---------------------------------------------------------- */
.summit00.visits08 > p:nth-child(1) {
  width: 69.7%;
}

.summit00.visits08 > div:nth-child(2) {
  width: 25%;
}

.visits08_01 > div:nth-child(1) {
  width: 40%;
  margin-top: -80px;
}

.visits08_01 > div:nth-child(2) {
  width: 53%;
  margin-top: 90px;
}

.visits08_01 > div > figure {
  position: relative;
}

.visits08_01 > div > figure:before {
  width: 72px;
  height: 82px;
  display: block;
  content: "";
  position: absolute;
  top: -50px;
  left: 50px;
  background: url("/act/visits/08/img/detail/cursor.png") no-repeat;
  background-size: 100%;
}

.visits08_01 > div:nth-child(1) > figure:nth-child(1) {
  width: 100%;
}

.visits08_01 > div:nth-child(1) > figure:nth-child(2) {
  width: 78.7%;
  margin-top: 10px;
}

.visits08_01 > div:nth-child(1) > figure > figcaption {
  font-size: 12px;
  line-height: 1.5;
  text-align: left;
}

.visits08_01 > div:nth-child(1) > figure:nth-child(2) figcaption {
  width: 48.6%;
  position: absolute;
  left: 105.4%;
  bottom: 0;
}

.visits08_02 > div:nth-child(1) {
  width: 65.8%;
}

.visits08_02 > div:nth-child(2) {
  width: 29.9%;
  position: relative;
}

.visits08_02 > div:nth-child(2) > div > img:nth-child(1) {
  width: 196px;
  position: absolute;
  top: -36px;
  left: 50%;
  transform: translateX(-50%);
}

.visits08_02.eng > div:nth-child(2) > div > img:nth-child(1) {
  width: 283px;
}

.visits08_02 > div:nth-child(2) > figure {
  width: 77.1%;
  margin-top: 20px;
  margin-left: 22.9%;
  position: relative;
}

.visits08_02 > div:nth-child(2) > figure:before {
  width: 0;
  height: 0;
  display: block;
  content: "";
  border-style: solid;
  border-width: 0 14px 100px 14px;
  border-color: transparent transparent #d2ba9c transparent;
  position: absolute;
  top: 0;
  right: 50px;
  transform: translateY(-100%);
}

.visits08_02 > div:nth-child(2) > figure > figcaption {
  font-size: 12px;
  line-height: 1.5;
}

.visits08_03 {
  padding: 55px 60px;
  background-color: #fdecdb;
}

.visits08_03 > div:nth-child(1) {
  width: 48.5%;
}

.visits08_03.eng > div:nth-child(1) > h2 {
  width: 422px;
}

.visits08_03 h2 {
  margin-bottom: 25px;
}

.visits08_03 > div:nth-child(2) {
  width: 46.6%;
  margin: -80px 0 -40px;
}

.visits08_05 {
  width: 970px;
}

.visits08_05 > div:nth-child(1) {
  width: 27.8%;
}

.visits08_05 > div:nth-child(2) {
  width: 69%;
}

.visits08_05 > div:nth-child(1) > figure > figcaption {
  font-size: 12px;
  line-height: 1.5;
}

.visits08_06 {
  width: 970px;
}

.visits08_06 > div:nth-child(1) {
  width: 69%;
  display: flex;
  justify-content: space-between;
}

.visits08_06 > div:nth-child(1) div {
  width: 49.2%;
}

.visits08_06 > div:nth-child(2) {
  width: 27.8%;
  position: relative;
}

.visits08_06 > div:nth-child(2) p {
  font-size: 12px;
  line-height: 1.5;
}

.visits08_06 > div:nth-child(2) > div > div:nth-child(1) {
  width: 143px;
  position: absolute;
  left: 0px;
  bottom: 105px;
}

.visits08_06 > div:nth-child(2) > div > div:nth-child(2) {
  width: 133px;
  position: absolute;
  right: 0px;
  bottom: 0px;
}

.visits08_07 > img {
  float: right;
  margin: 0 42px 60px 70px;
}

.visits08_07::after {
  content: "";
  display: block;
  clear: both;
}

.visits08_07 .flex figure {
  width: 245px;
}

@media screen and (max-width: 767px) {
  .summit00.visits08 {
    display: flex;
    align-items: center;
  }
  .summit00.visits08 > p {
    width: 70%;
  }
  .summit00.visits08 > div:nth-child(2) {
    width: 28%;
  }
  .visits08_01 > div:nth-child(1) {
    width: 100%;
    margin-top: -30px;
  }
  .visits08_01 > div > figure:before {
    width: 36px;
    height: 41px;
    top: -25px;
    left: 25px;
  }
  .visits08_01 > div:nth-child(1) > figure > figcaption {
    font-size: 13px;
  }
  .visits08_01 > div:nth-child(1) > figure:nth-child(1),
  .visits08_01 > div:nth-child(1) > figure:nth-child(2) {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
  .visits08_01 > div:nth-child(1) > figure:nth-child(1) img,
  .visits08_01 > div:nth-child(1) > figure:nth-child(2) img {
    width: 48.6%;
    height: auto;
  }
  .visits08_01 > div:nth-child(1) > figure:nth-child(1) figcaption,
  .visits08_01 > div:nth-child(1) > figure:nth-child(2) figcaption {
    width: 48.6%;
    margin: 0 !important;
    font-size: 12px;
    line-height: 1.8;
    text-align: left !important;
  }
  .visits08_01.eng > div:nth-child(1) > figure:nth-child(1) figcaption,
  .visits08_01.eng > div:nth-child(1) > figure:nth-child(2) figcaption {
    font-size: 11px;
  }
  .visits08_01 > div:nth-child(1) > figure:nth-child(2) {
    margin-top: 35px;
  }
  .visits08_01 > div:nth-child(1) > figure:nth-child(2) figcaption {
    font-size: 12px;
    line-height: 1.8;
    position: relative;
    left: 0;
  }
  .visits08_01 > div:nth-child(2) {
    width: 100%;
    margin-top: 60px;
    text-align: center;
  }
  .visits08_01 > div:nth-child(2) img {
    width: 90%;
    max-width: 100%;
    height: auto;
  }
  .visits08_01.u-mb85 {
    margin-bottom: 60px !important;
  }
  .visits08_02 > div:nth-child(1) {
    width: 100%;
  }
  .visits08_02 > div:nth-child(2) {
    width: 100%;
    margin-top: 50px;
    display: flex;
    justify-content: space-between;
  }
  .visits08_02 > div:nth-child(2) > div {
    width: 48.5%;
    position: relative;
  }
  .visits08_02 > div:nth-child(2) > div > img:nth-child(1) {
    width: 60%;
    top: 0;
    transform: translate(-50%, -140%);
  }
  .visits08_02.eng > div:nth-child(2) > div > img:nth-child(1) {
    width: 70%;
  }
  .visits08_02 > div:nth-child(2) > figure {
    width: 48.5%;
    margin: 0;
  }
  .visits08_02 > div:nth-child(2) > figure:before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 60px 10px 0;
    border-color: transparent #baa28a transparent transparent;
    top: 15%;
    left: 0;
    right: auto;
    transform: translateX(-100%);
  }
  .visits08_02 > div:nth-child(2) > figure > figcaption {
    width: 100%;
    font-size: 12px;
    line-height: 1.8;
    position: absolute;
    left: calc(-100% - 15px);
    bottom: 0;
    margin: 0 !important;
  }
  .visits08_02.eng > div:nth-child(2) > figure > figcaption {
    font-size: 11px;
  }
  .visits08_03 {
    width: calc(100vw - 30px);
    padding: 30px 30px 20px;
    box-sizing: border-box;
    align-items: center;
  }
  .visits08_03 > div:nth-child(1) {
    width: 100%;
  }
  .visits08_03.eng > div:nth-child(1) > h2 {
    width: 70%;
  }
  .visits08_03 > div:nth-child(2) {
    width: 80%;
    margin: 20px auto 0;
  }
  .visits08_05 {
    width: 100%;
  }
  .visits08_05 > div:nth-child(1) {
    width: 100%;
    margin-bottom: 15px;
  }
  .visits08_05 > div:nth-child(1) > figure {
    display: flex;
    justify-content: space-between;
  }
  .visits08_05 > div:nth-child(1) > figure > div {
    width: 48.5%;
    margin-right: 3%;
  }
  .visits08_05 > div:nth-child(1) > figure > figcaption {
    width: 48.5%;
    font-size: 12px;
    line-height: 1.8;
  }
  .visits08_05.eng > div:nth-child(1) > figure > figcaption {
    font-size: 11px;
  }
  .visits08_05 > div:nth-child(2) {
    width: 100%;
  }
  .visits08_06 {
    width: 100%;
    display: flex;
    flex-direction: column-reverse;
  }
  .visits08_06 > div:nth-child(2) {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
  }
  .visits08_06 > div:nth-child(2) p {
    width: 48.5%;
    font-size: 12px;
    line-height: 1.8;
  }
  .visits08_06.eng > div:nth-child(2) p {
    font-size: 11px;
  }
  .visits08_06 > div:nth-child(2) > div {
    width: 48.5%;
    display: flex;
    justify-content: space-between;
  }
  .visits08_06 > div:nth-child(2) > div > div:nth-child(1) {
    width: 42.3%;
    position: relative;
    left: 0;
    bottom: 0;
    margin-left: 20px;
  }
  .visits08_06 > div:nth-child(2) > div > div:nth-child(2) {
    width: 37.4%;
    position: relative;
    margin-top: 12%;
    margin-right: 20px;
  }
  .visits08_06 > div:nth-child(1) {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
  .visits08_06 > div:nth-child(1) > div {
    width: 48.5%;
  }
  .visits08_06 > div:nth-child(1) > div img {
    width: 100%;
  }
  .visits08_07 > img {
    width: 80%;
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    float: none;
  }
  .visits08_07 .flex figure {
    width: 48.5%;
  }
  .summit06.visits08_07 .caption {
    font-size: 12px;
    line-height: 1.8;
  }
  .summit06.visits08_07 .caption {
    font-size: 11px;
  }
}
.tanbo09 .sec-inner.space-txt-01 {
  margin-top: 50px;
}

.visits09_01 {
  margin: 40px auto 85px auto;
}

.visits09_01 .fig-cmn {
  margin-top: -345px;
  position: absolute;
  z-index: 2;
}

.visits09_01 .imgbox {
  width: 500px;
  font-size: 12px;
}

.note {
  font-size: 12px;
  margin: 1em 0;
  line-height: 1.85;
}

.note_prefix {
  font-size: 12px;
  text-indent: -1.5em;
  margin-left: 1.5em;
  line-height: 1.85;
}

.visits09_02 {
  margin: 0 auto 40px auto;
}

.visits09_02 .textbox {
  flex: 1;
}

.visits09_02 .imgbox {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.visits09_02 .imgbox_item {
  margin: 0 0 25px 0;
  width: 49%;
}

.visits09_02 .imgbox_item img {
  width: 100%;
}

.visits09_ex {
  margin: 0 auto 40px auto;
}

.visits09_ex .inner_imgbox {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.visits09_ex .inner_imgbox_img {
  margin: 0 15px;
}

.visits09_03 {
  position: relative;
  background: #fdecdc;
  padding: 50px 50px 150px 50px;
  width: 970px;
  margin: 0 auto 70px auto;
}

.visits09_03_cap {
  margin-bottom: 50px;
}

.visits09_03 img {
  max-width: 100%;
}

.visits09_03 .ttl-cmn-02 {
  margin: 20px 0;
  font-size: 34px;
}

.visits09_03 .flow_img {
  margin: -90px 0 0 0;
}

.visits09_03 .flow_text {
  display: flex;
  justify-content: space-around;
  margin-top: 10px;
}

.visits09_03 .flow_text_item {
  width: 190px;
}

.visits09_03 .flow_text_item:nth-child(3) {
  margin-top: -90px;
  left: 20px;
  position: relative;
}

.visits09_03 .recycle_img {
  position: absolute;
  bottom: 50px;
  right: 50px;
  width: 424px;
}

.lang-en .visits09_01 .fig-cmn {
  margin-top: -310px;
}

.lang-en .txt-cmn {
  font-size: 16px;
}

.lang-en .visits09_03 {
  padding: 50px;
}

.lang-en .visits09_03 .ttl-cmn-02 {
  color: #ee780f;
  line-height: 1;
}

.visits09_07 .s-mxw-slim-sp {
  width: 245px;
  margin: 0 0 0 10px;
}

.visits09_07 .s-mxw-slim-sp img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .tanbo09 .txt-cmn {
    line-height: 1.5;
    margin-top: 1.5em;
  }
  .visits09_01 {
    margin: 8vw 0 4vw 0;
  }
  .visits09_01 .fig-cmn {
    margin-top: -32vw;
    margin-bottom: 0;
    position: relative;
    z-index: 2;
  }
  .visits09_01 .imgbox {
    width: 100%;
    font-size: 12px;
    text-align: center;
  }
  .visits09_01 .imgbox img {
    max-width: 100%;
  }
  .note {
    font-size: 12px;
    margin: 1em 0;
    line-height: 1.85;
  }
  .visits09_02 {
    margin: 0 0 0vw 0;
  }
  .visits09_02 .textbox {
    flex: 1;
  }
  .visits09_02 .imgbox {
    width: 100%;
    margin: 4vw 0 0 0px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .visits09_02 .imgbox_item {
    margin: 0 0 4vw 0;
    width: calc(50% - 5px);
  }
  .visits09_02 .imgbox_item:nth-child(3) {
    /* flex-grow:1; */
  }
  .visits09_02 .note {
    width: 200%;
    margin: 20vw 0 4vw 0;
    font-size: 12px;
  }
  .visits09_ex {
    display: flex;
    flex-direction: column-reverse;
    margin: 0 0 4vw 0;
  }
  .visits09_ex .inner_imgbox {
    display: flex;
    justify-content: space-between;
  }
  .visits09_ex .inner_imgbox_img {
    margin: 4vw 0 4vw 0;
    width: calc(50% - 5px);
  }
  .visits09_03 {
    position: relative;
    background: #fdecdc;
    padding: 6vw;
    margin-bottom: 8vw;
    width: calc(100% - 30px);
  }
  .visits09_03_cap {
    margin: 0 0 50px 0;
  }
  .visits09_03 .ttl-cmn-02 {
    margin: 0 0 20px 0;
    font-size: 25px;
    text-align: center;
  }
  .visits09_03 .flow_img {
    margin: 0 0 0 0;
  }
  .visits09_03 .flow_text {
    display: block;
    justify-content: space-around;
    margin-top: 10px;
    font-size: 13px;
  }
  .visits09_03 .flow_text_item {
    width: 100%;
    margin: 4vw 0;
  }
  .visits09_03 .flow_text_item img {
    width: 100%;
    padding: 0 20% 4vw 20%;
  }
  .lang-en .visits09_03 .flow_text_item {
    text-align: center;
  }
  .lang-en .visits09_03 .flow_text_item img {
    width: 180px;
    padding: 0;
  }
  .lang-en .visits09_03 .flow_text_item span {
    text-align: left;
    display: inline-block;
    padding: 4vw 0 0 0;
  }
  .lang-en .visits09_03 .flow_text_item img.sp_ex {
    width: 230px;
  }
  .lang-en .visits09_03 .flow_text_item {
    text-align: center;
  }
  .lang-en .visits09_03 .flow_text_item img {
    width: 49vw;
    padding: 0;
  }
  .lang-en .visits09_03 .flow_text_item span {
    text-align: left;
    display: inline-block;
    padding: 4vw 0 0 0;
  }
  .lang-en .visits09_03 .flow_text_item img.sp_ex {
    width: 63vw;
  }
  .visits09_03 .flow_text_item:nth-child(3) {
    margin-top: 0px;
    left: 0px;
    position: relative;
  }
  .visits09_03 .recycle_img {
    position: relative;
    bottom: 0px;
    right: 0px;
    width: 100%;
  }
  .lang-en .visits09_01 .fig-cmn {
    margin-top: -120px;
  }
  .lang-en .txt-cmn {
    font-size: 16px;
  }
  .lang-en .visits09_03 {
    padding: 9vw;
  }
  .visits09_07 .s-mxw-slim-sp {
    width: 80%;
    margin: 0 auto;
  }
  .visits09_07 .s-mxw-slim-sp img {
    width: 100%;
  }
}
/* ----------------------------------------------------------
Add 191028 /act/visits/
住友精化 姫路工場
---------------------------------------------------------- */
.visits10_01 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: -120px;
  position: relative;
  z-index: 2;
}

.visits10_01 > div:nth-child(1) {
  width: 479px;
  margin-left: 25px;
  margin-right: -100px;
}

.visits10_01 > div:nth-child(2) {
  width: 766px;
  display: flex;
  align-items: flex-end;
  flex-direction: row-reverse;
  justify-content: space-between;
}

.visits10_01 > div:nth-child(2) > div:nth-child(1) {
  width: 500px;
}

.visits10_01 > div:nth-child(2) > div:nth-child(2) {
  width: 266px;
  font-size: 12px;
  line-height: 1.85;
  padding-right: 10px;
}

.visits10_03 {
  display: flex;
  justify-content: space-between;
}

.visits10_03 > div:nth-child(1) {
  width: 648px;
  display: flex;
  justify-content: space-between;
}

.visits10_03 > div:nth-child(1) > div:nth-child(1) {
  width: 470px;
  margin-right: -470px;
}

.visits10_03 > div:nth-child(1) > div:nth-child(2) {
  width: 536px;
  margin-top: 135px;
}

.visits10_03 > div:nth-child(2) {
  width: 470px;
}

.visits10_03 > div:nth-child(2) > div:nth-child(2) {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  margin-top: 20px;
}

.visits10_03 > div:nth-child(2) > div:nth-child(2) > div:nth-child(1) {
  width: 270px;
}

.visits10_03 > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) {
  width: 200px;
  font-size: 12px;
  line-height: 1.9;
  padding-right: 10px;
}

.visits10_04 {
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding: 50px;
  background-color: #fdecdc;
}

.visits10_04.-english {
  margin-bottom: 140px;
}

.visits10_04 > div:nth-child(1) {
  width: 403px;
  position: relative;
}

.visits10_04 .ttl-cmn-02 {
  font-size: 30px;
  margin-bottom: 25px;
}

.visits10_04.-english .ttl-cmn-02 {
  color: #ee780f;
  font-size: 34px;
  line-height: 1.23;
}

.visits10_04 > div:nth-child(1) > div {
  width: 313px;
  margin-top: 35px;
  margin-left: 67px;
}

.visits10_04.-english > div:nth-child(1) > div {
  position: absolute;
  bottom: 30px;
  margin-top: 0;
  margin-left: 40px;
  transform: translateY(100%);
}

.visits10_04 > div:nth-child(2) {
  width: 622px;
}

.visits10_04 > div:nth-child(2) > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: -10px;
}

.visits10_04 > div:nth-child(2) > ul > li {
  margin-top: 10px;
}

.visits10_05 .grid-cmn {
  margin-top: 30px;
}

.lang-en .visits10_05 .txt-cmn {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .visits10_01 {
    width: 100%;
    display: block;
    margin-top: 0;
  }
  .visits10_01 > div:nth-child(1) {
    width: 72%;
    margin: -11% auto 0;
  }
  .visits10_01 > div:nth-child(2) {
    width: 100%;
    display: block;
    margin-top: 30px;
  }
  .visits10_01 > div:nth-child(2) > div:nth-child(1) {
    width: 100%;
  }
  .visits10_01 > div:nth-child(2) > div:nth-child(2) {
    width: 100%;
    margin-top: 10px;
  }
  .visits10_03 > div:nth-child(1) {
    width: 100%;
    display: block;
  }
  .visits10_03 > div:nth-child(1) > div:nth-child(1) {
    width: 100%;
    margin-right: 0;
  }
  .visits10_03 > div:nth-child(1) > div:nth-child(2) {
    width: 90%;
    margin: -14% auto 0;
  }
  .visits10_03 > div:nth-child(2) {
    width: 100%;
    margin-top: 30px;
  }
  .visits10_03 > div:nth-child(2) > div:nth-child(2) {
    display: block;
  }
  .visits10_03 > div:nth-child(2) > div:nth-child(2) > div:nth-child(1) {
    width: 100%;
    text-align: center;
  }
  .visits10_03 > div:nth-child(2) > div:nth-child(2) > div:nth-child(1) img {
    width: auto;
    max-width: 100%;
  }
  .visits10_03 > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) {
    width: 100%;
    margin-top: 10px;
  }
  .visits10_04 {
    display: block;
    padding: 30px;
  }
  .visits10_04.-english {
    margin-bottom: 0;
  }
  .visits10_04 > div:nth-child(1) {
    width: 100%;
  }
  .visits10_04 .ttl-cmn-02 {
    font-size: 24px;
    margin-bottom: 15px;
  }
  .visits10_04 > div:nth-child(1) > div {
    width: 70%;
    margin: 30px auto 35px;
    text-align: center;
  }
  .visits10_04.-english > div:nth-child(1) > div {
    position: relative;
    bottom: 0;
    margin: 30px auto 35px;
    transform: translateY(0);
  }
  .visits10_04 > div:nth-child(1) > div > img {
    width: auto;
    max-width: 100%;
  }
  .visits10_04 > div:nth-child(2) {
    width: 100%;
  }
  .visits10_04 > div:nth-child(2) > ul {
    display: block;
    margin-top: -10px;
  }
  .visits10_04 > div:nth-child(2) > ul > li {
    margin-top: 10px;
    text-align: center;
  }
  .visits10_04 > div:nth-child(2) > ul > li > img {
    width: auto;
    max-width: 100%;
  }
  .visits10_05 .grid-cmn .col {
    text-align: center;
  }
}
/* mod-card-sdgs add 190529
---------------------------------------------------------- */
.mod-title-sdgs {
  display: flex;
  align-items: center;
}

.mod-title-sdgs .title {
  min-width: 24em;
  padding-right: 30px;
  white-space: nowrap;
  border-right: 1px solid #ccc;
}

.mod-title-sdgs .ttl-cmn-02 .main {
  padding: 5px 0 19px;
}

.mod-title-sdgs .title a {
  transition: opacity 0.4s;
}

.mod-title-sdgs .title a:hover {
  opacity: 0.7;
}

.mod-title-sdgs .title h2 {
  font-size: 28px;
  font-weight: bold;
}

.mod-title-sdgs .title h2 span {
  font-size: 18px;
  font-weight: normal;
}

.mod-title-sdgs .icon img {
  width: 100px;
}

.mod-title-sdgs-sub {
  padding-left: 30px;
}

.mod-title-sdgs2 {
  position: relative;
  text-align: left;
  padding: 28px 0;
  margin-bottom: 32px;
  border-bottom: 1px solid #e5e5e5;
}

.mod-title-sdgs2::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 70px;
  height: 3px;
  background-color: #db000a;
}

.mod-title-sdgs2-inner {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.mod-title-sdgs2 .title {
  padding-right: 50px;
  white-space: normal;
  border-right: none;
}

.mod-title-sdgs2 .title h1 {
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 0.06em;
}

.mod-title-sdgs2 .title h1 span {
  font-size: 22px;
  font-weight: normal;
}

.mod-title-sdgs2 .title h2 span {
  color: #fff;
  padding: 5px 10px 2px;
  background-color: #15aabf;
  box-shadow: 1px 1px 4px 2px;
}

.mod-title-sdgs2 .sub {
  font-size: 21px;
  margin-bottom: 25px;
}

.mod-title-sdgs2 .desc {
  font-size: 25px;
  margin-top: 5px;
}

.mod-title-sdgs2 .icon {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  white-space: nowrap;
}

.mod-title-sdgs2 .icon img {
  width: 100px;
  height: 100px;
}

.mod-title-sdgs2 .icon img:not(:last-child) {
  margin-right: 10px;
}

.mod-title-sdgs2-2row .icon {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  white-space: nowrap;
  flex-wrap: wrap;
}

.mod-title-sdgs2-2row .icon img {
  width: 100px;
  height: 100px;
}

.mod-title-sdgs2-2row .icon img:not(:last-child) {
  margin-right: 0px;
}

.mod-title-sdgs2-2row .icon img {
  margin-left: 10px;
  margin-bottom: 10px;
}

.mod-card-sdgs a {
  display: block;
}

.mod-card-sdgs a .detail {
  transition: opacity 0.4s;
}

.mod-card-sdgs a:hover .detail {
  opacity: 0.7;
}

.mod-card-sdgs img.wrapper-analects {
  width: 200px;
}

.mod-card-sdgs img.wrapper-analects--sp {
  display: none;
}

.mod-card-sdgs .title {
  padding-bottom: 52px;
}

.mod-card-sdgs .text {
  margin-right: 220px;
}

.mod-card-sdgs .icon {
  position: absolute;
  bottom: 0;
  right: 240px;
}

.mod-card-sdgs .icon img {
  width: 50px;
  float: left;
  margin-right: 10px;
}

.mod-card-sdgs-2row .icon {
  position: absolute;
  bottom: 0;
  right: 240px;
}

.mod-card-sdgs-2row .icon img {
  width: 50px;
  float: right;
  margin-right: 10px;
  margin-bottom: 10px;
}

.mod-card-sdgs2 {
  margin: -30px -15px 0;
  display: flex;
  flex-wrap: wrap;
}

.mod-card-sdgs2 .col {
  width: 270px;
  margin: 30px 15px 0;
}

.mod-card-sdgs2 .col a {
  padding: 15px 20px 20px;
  display: block;
  transition: opacity 0.4s;
  background-color: #fff;
  box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.06);
  -moz-box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.06);
  -webkit-box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.06);
  -webkit-transform-style: preserve-3d;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateZ(0);
}

.mod-card-sdgs2 .col a:hover {
  opacity: 0.7;
}

.mod-card-sdgs2 .col .title {
  font-weight: bold;
  margin-bottom: 10px;
}

.mod-card-sdgs2 .col .title small {
  display: block;
  font-size: 14px;
  font-weight: normal;
  margin-bottom: 5px;
}

.mod-card-sdgs2 .col .title .icon {
  position: relative;
}

.mod-card-sdgs2 .col .title .icon:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 10px;
  width: 9px;
  height: 12px;
  margin-top: -7px;
  background: url(/common/img/ico_arrow_right_01_@2x_ac.png) 0 0 no-repeat;
  background-size: 7px 12px;
}

.mod-card-sdgs2 .col .image img {
  width: 100%;
}

.mod-sdgs-01 {
  margin-top: 20px;
  overflow: hidden;
  padding: 35px 35px 26px;
  border: 1px solid #e5e5e5;
  background-color: transparent;
  text-align: left;
}
.mod-sdgs-01 .title img {
  width: 1em;
}

.mod-card-sdgs3 {
  width: 100%;
  margin: -30px 0;
  display: flex;
  flex-wrap: wrap;
}

.mod-card-sdgs3 .col {
  width: calc(50% - 15px);
  margin-top: -1px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

.mod-card-sdgs3 .col:nth-child(even) {
  margin-left: 30px;
}

.mod-card-sdgs3 .col a {
  height: 100%;
  padding: 20px 0;
  display: flex;
  align-items: center;
  transition: 0.3s;
}

.mod-card-sdgs3 .col a:hover {
  opacity: 0.7;
}

.mod-card-sdgs3 .mod-card-01 {
  display: flex;
  align-items: center;
}

.mod-card-sdgs3 .detail {
  width: 320px;
  padding-left: 30px;
  position: relative;
}

.mod-card-sdgs3 .detail .title {
  line-height: 1.6;
}

.mod-card-sdgs3 .detail .outline {
  line-height: 1.6;
}

.mod-card-sdgs3 .detail::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 10px;
  width: 11px;
  height: 7px;
  margin-top: -3px;
  background: url(/common/img/ico_arrow_down_hd_01_pc_ac.png) 0 0 no-repeat;
}

.mod-card-sdgs3-icon {
  width: 240px;
  margin-left: 10px;
  display: flex;
}

.mod-card-sdgs3-icon > img {
  width: 50px;
  height: 50px;
  display: block;
  margin-left: 10px;
}

.fig-cmn.-width152 {
  max-width: 152px;
}

.fig-cmn.-width152 .image {
  width: auto;
}

@media screen and (max-width: 767px) {
  .mod-title-sdgs {
    display: block;
  }
  .mod-title-sdgs2 {
    padding: 20px 0 19px 0;
    margin-bottom: 26px;
  }
  .mod-title-sdgs2-inner {
    display: block;
  }
  .mod-title-sdgs .title {
    min-width: auto;
    margin: 0 0 25px 0;
    padding: 0;
    border: none;
    white-space: normal;
  }
  .mod-title-sdgs .ttl-cmn-02 .main {
    padding: 5px 0 19px;
  }
  .mod-title-sdgs-sub {
    padding-left: 0;
  }
  .mod-title-sdgs-sub .ico-arrow {
    display: inline-block;
  }
  .mod-title-sdgs2 .title {
    margin: 0 0 10px 0;
  }
  .mod-title-sdgs .title h1 {
    font-size: 22px;
  }
  .mod-title-sdgs .title h1 span {
    font-size: 18px;
  }
  .mod-title-sdgs .title h2 {
    font-size: 19px;
  }
  .mod-title-sdgs .title h2 span {
    font-size: 15px;
  }
  .mod-title-sdgs2 .sub {
    font-size: 18px;
    margin-bottom: 20px;
  }
  .mod-title-sdgs2 .desc {
    font-size: 16px;
    margin-top: 10px;
  }
  .mod-title-sdgs .icon img {
    width: 60px;
    height: 60px;
  }
  .mod-title-sdgs2 .icon {
    text-align: right;
  }
  .mod-card-sdgs img.wrapper-analects {
    width: 100px;
  }
  .mod-card-sdgs .title {
    min-height: 95px;
    padding-bottom: 62px;
  }
  .mod-card-sdgs .text {
    margin-right: 105px;
  }
  .mod-card-sdgs .icon {
    width: calc(100% - 150px);
    left: 25px;
    right: auto;
  }
  .mod-card-sdgs .icon img {
    margin-right: 1.5%;
  }
  .mod-card-sdgs2 {
    display: block;
  }
  .mod-card-sdgs2 .col {
    width: 100%;
    margin: 30px 0 0;
  }
  .mod-card-sdgs2 .col a {
    overflow: hidden;
    padding: 20px;
  }
  .mod-card-sdgs2 .col .title {
    width: calc(100% - 100px);
    float: right;
    margin: 5px 0;
  }
  .mod-card-sdgs2 .col .title small {
    font-size: 12px;
  }
  .mod-card-sdgs2 .col .image {
    width: 85px;
    float: left;
  }
  .mod-card-sdgs3 {
    margin: 0;
    display: block;
  }
  .mod-card-sdgs3 .col {
    width: 100%;
  }
  .mod-card-sdgs3 .col:nth-child(even) {
    margin-left: 0;
  }
  .mod-card-sdgs3 .detail {
    width: 100%;
  }
  .mod-card-sdgs3-icon {
    width: calc(100% - 20px);
    margin: 10px 0 0 20px;
    justify-content: flex-end;
  }
  .fig-cmn.-width152 {
    max-width: none;
  }
  .mod-sdgs-01 {
    margin-top: 20px;
    padding: 10px 20px 15px;
  }
}
@media screen and (max-width: 500px) {
  .mod-card-sdgs img.wrapper-analects {
    display: none;
  }
  .mod-card-sdgs img.wrapper-analects--sp {
    width: 100%;
    display: block;
    float: none;
  }
  .mod-card-sdgs .title {
    min-height: auto;
    margin-bottom: 15px;
    padding-bottom: 0;
  }
  .mod-card-sdgs .icon {
    width: 100%;
    position: relative;
    left: 0;
    margin-top: 15px;
  }
  .mod-card-sdgs-2row .icon {
    width: 100%;
    position: relative;
    left: 0;
    margin-top: 15px;
  }
  .mod-card-sdgs-2row .icon img {
    float: left;
  }
  .mod-card-sdgs3-icon {
    max-width: 120px;
    min-width: 120px;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-top: -10px;
  }
  .mod-card-sdgs3-icon > img {
    margin-top: 5px;
    margin-left: 5px;
  }
}
@media screen and (min-width: 501px) and (max-width: 767px) {
  .mod-card-sdgs-2row .icon img {
    float: left;
  }
}
.panel-linktitle-lead-wrap {
  list-style: none;
  /* デフォルトのアイコンを消す */
  margin: 0;
  /* デフォルト指定上書き */
  padding: 0;
  /* デフォルト指定上書き */
}

.panel-linktitle-lead:before {
  content: "";
  /* 空の要素作成 */
  width: 9px;
  /* 幅指定 */
  height: 12px;
  /* 高さ指定 */
  display: inline-block;
  /* インラインブロックにする */
  position: relative;
  /* アイコンの位置を調整 */
  top: 3px;
  /* アイコンの位置を調整 */
  margin-right: 7px;
  /* 余白指定 */
  background-image: url(/common/img/ico_arrow_right_02.png);
  /* アイコン指定 */
  background-size: contain;
  /* アイコンの大きさ指定 */
  background-repeat: no-repeat;
  /* アイコンをリピートしないようにする */
  vertical-align: top;
  /* アイコンの位置を調整 */
}

.lang-en .panel-linktitle-lead:before {
  top: 5px;
  /* アイコンの位置を調整 */
}

.panel-linktitle-lead {
  padding-top: 5px;
  padding-right: 10px;
  /* 余白指定 */
  margin-bottom: 5px;
  /* 要素と要素の間指定 */
  font-size: 14px;
  /* 文字サイズ指定 */
  text-indent: -1.18em;
  padding-left: 1.7em;
}

@media screen and (max-width: 767px) {
  .panel-linktitle-lead:before {
    width: 6px;
    /* 幅指定 */
    height: 10px;
    /* 高さ指定 */
  }
  .lang-en .panel-linktitle-lead:before {
    top: 3px;
    /* アイコンの位置を調整 */
  }
  .panel-linktitle-lead {
    font-size: 12px;
    /* 文字サイズ指定 */
    padding-bottom: 0px;
    margin-bottom: 0px;
    text-indent: -1.1em;
  }
}
/* ----------------------------------------------------------
Add 200205 /act/visits/
住友理工ホーステックス 本社／京都事業所
---------------------------------------------------------- */
/* visits11_01 */
.visits11_01 {
  position: relative;
  z-index: 2;
}

.visits11_01 img {
  max-width: 100%;
}

.visits11_01 .-left {
  width: 780px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.visits11_01 .-left .img {
  width: 500px;
}

.visits11_01 .-left .txt {
  width: 280px;
}

.visits11_01 .-right {
  position: absolute;
  bottom: 0;
  right: 0;
}

@media screen and (max-width: 767px) {
  .visits11_01 .-left {
    width: 100%;
    display: block;
  }
  .visits11_01 .-left .img {
    width: 100%;
  }
  .visits11_01 .-left .txt {
    width: 100%;
  }
  .visits11_01 .-right {
    position: static;
    text-align: center;
    margin-top: -17%;
    margin-bottom: 30px;
  }
  .visits11_01 .-right img {
    width: 61%;
  }
}
/* visits11_03 */
.visits11_03 .-right > div:nth-child(2) {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  margin-top: 20px;
}

.visits11_03 .-right > div:nth-child(2) > div:nth-child(1) {
  width: 290px;
}

.visits11_03 .-right > div:nth-child(2) > div:nth-child(2) {
  width: 210px;
  padding-right: 10px;
}

@media screen and (min-width: 768px) {
  .visits11_03 {
    display: flex;
    justify-content: space-between;
  }
  .visits11_03 .-left {
    width: 585px;
  }
  .visits11_03 .-right {
    width: 500px;
  }
}
@media screen and (max-width: 767px) {
  .visits11_03 .-right > div:nth-child(2) {
    display: block;
    margin-top: 18px;
  }
  .visits11_03 .-right > div:nth-child(2) > div:nth-child(1) {
    width: 78.261%;
    margin: 0 auto;
  }
  .visits11_03 .-right > div:nth-child(2) > div:nth-child(2) {
    width: 100%;
    padding-right: 0;
  }
}
/* visits11_02 */
.visits11_02 .-right .col + .col {
  margin-top: 20px;
}

.visits11_02 .-right .col dt {
  margin-bottom: 10px;
}

@media screen and (min-width: 768px) {
  .visits11_02 .-left {
    width: 820px;
  }
  .visits11_02 .-right {
    width: 350px;
  }
}
@media screen and (max-width: 767px) {
  .visits11_02 .-right .col + .col {
    margin-top: 20px;
  }
}
/* visits11_04 */
.visits11_04 {
  width: 100%;
  padding: 50px;
  background-color: #fdecdc;
}

.visits11_04 .ttl-cmn-02 {
  font-size: 30px;
  margin-bottom: 25px;
}

.visits11_04.-english .ttl-cmn-02 {
  color: #ee780f;
  font-size: 34px;
  line-height: 1.23;
}

.visits11_04 .img {
  margin-top: 45px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .visits11_04 {
    display: block;
    padding: 30px;
  }
  .visits11_04.-english {
    margin-bottom: 0;
  }
  .visits11_04 .ttl-cmn-02 {
    font-size: 24px;
    margin-bottom: 15px;
  }
  .visits11_04 .img {
    margin-top: 25px;
    text-align: center;
  }
  .visits11_04 .img img {
    max-width: 100%;
    width: auto;
  }
}
/* visits11_05 */
.visits11_05 .grid-cmn {
  margin-top: 30px;
}

.lang-en .visits11_05 .ttl-cmn-04 + .txt-cmn {
  margin-top: 0;
}

.visits11_05 .grid-cmn .col .mod-imageUnit-caption {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .visits11_05 .grid-cmn {
    margin-top: 25px;
  }
  .visits11_05 .grid-cmn .col .mod-imageUnit-caption {
    text-align: left;
    padding-left: 0;
    letter-spacing: -0.02em;
  }
}
/* visits11_06 */
.visits11_06.space-txt-01 {
  margin-top: 60px;
}

.visits11_06.space-txt-01 .ttl-cmn-02 .main {
  padding-top: 0;
}

.visits11_06 .fig-cmn {
  max-width: 270px;
}

.mod-caption-flexbox {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
}

.mod-imageUnit-caption-flex {
  text-align: left;
  margin: 5px 0;
  font-size: 14px;
  line-height: 1.85;
  padding: 0 10px;
  color: #666;
  width: 50%;
}

@media screen and (max-width: 767px) {
  .mod-caption-flexbox {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
  }
  .mod-imageUnit-caption-flex {
    width: 100%;
    margin: 3px 0 1px;
    line-height: 1.25;
  }
}
/* ----------------------------------------------------------
Add 200423 /act/visits/
住友電装 四日市製作所・津製作所
---------------------------------------------------------- */
/* visits12_01 */
.visits12_01 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: -155px;
  position: relative;
  z-index: 2;
}

.visits12_01 > div:nth-child(1) {
  width: 419px;
  margin-left: 35px;
  margin-right: -70px;
}

.visits12_01 > div:nth-child(2) {
  width: 766px;
  display: flex;
  align-items: flex-end;
  flex-direction: row-reverse;
  justify-content: space-between;
}

.visits12_01 > div:nth-child(2) > div:nth-child(1) {
  width: 500px;
}

.visits12_01 > div:nth-child(2) > div:nth-child(2) {
  width: 266px;
  font-size: 12px;
  line-height: 1.85;
  padding-right: 10px;
}

.visits12_01 > div:nth-child(2) > div .mod-imageUnit-caption {
  padding-left: 0;
  padding-right: 5px;
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .visits12_01.-english {
    margin-top: -158px;
  }
  .visits12_01.-english > div:nth-child(1) {
    width: 452px;
    margin-left: 35px;
    margin-right: -84px;
  }
}
@media screen and (max-width: 767px) {
  .visits12_01 {
    width: 100%;
    display: block;
    margin-top: 0;
  }
  .visits12_01 > div:nth-child(1) {
    width: 60.87%;
    margin: -19.2% auto 0;
  }
  .visits12_01.-english > div:nth-child(1) {
    width: 68.41%;
    margin: -21% auto 0;
  }
  .visits12_01 > div:nth-child(2) {
    width: 100%;
    display: block;
    margin-top: 30px;
  }
  .visits12_01 > div:nth-child(2) > div:nth-child(1) {
    width: 100%;
  }
  .visits12_01 > div:nth-child(2) > div:nth-child(2) {
    width: 100%;
    margin-top: 10px;
  }
}
/* visits12_03 */
@media screen and (min-width: 768px) {
  .visits12_03 .-left {
    width: 546px;
  }
  .visits12_03 .-right {
    width: 570px;
  }
}
@media screen and (max-width: 767px) {
  .visits12_03 .-left {
    max-width: 92.5%;
    margin: 0 auto;
  }
  .visits12_03 .-right > div:nth-child(2) {
    display: block;
    margin-top: 18px;
  }
}
/* visits12_04 */
.visits12_04 {
  width: 100%;
  padding: 50px;
  background-color: #fdecdc;
}

.visits12_04 .ttl-cmn-02 {
  font-size: 30px;
  margin-bottom: 25px;
}

.visits12_04.-english .ttl-cmn-02 {
  color: #ee780f;
  font-size: 34px;
  line-height: 1.23;
}

@media screen and (min-width: 768px) {
  .visits12_04 .flex > div:nth-child(1) {
    width: 470px;
  }
  .visits12_04 .flex > div:nth-child(2) {
    width: 565px;
    padding-bottom: 50px;
    position: relative;
  }
  .visits12_04.-english .flex > div:nth-child(2) {
    padding-bottom: 68px;
  }
  .visits12_04 .flex > div:nth-child(2) .-img01 {
    width: 340px;
  }
  .visits12_04 .flex > div:nth-child(2) .-img02 {
    width: 325px;
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .visits12_04.-english .flex > div:nth-child(2) .-img02 {
    width: 315px;
  }
}
@media screen and (max-width: 767px) {
  .visits12_04 .flex > div:nth-child(1) {
    margin-bottom: 25px;
  }
  .visits12_04 {
    display: block;
    padding: 30px;
  }
  .visits12_04 .ttl-cmn-02 {
    font-size: 24px;
    margin-bottom: 15px;
  }
  .visits12_04 .flex > div:nth-child(2) {
    text-align: center;
  }
  .visits12_04 .flex > div:nth-child(2) .-img02 {
    width: 92.5%;
    margin-top: 15px;
  }
}
/* visits12_05 */
.visits12_05 .grid-cmn {
  margin-top: 30px;
}

.visits12_05 .grid-cmn .col .mod-imageUnit-caption {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .visits12_05 .grid-cmn {
    margin-top: 25px;
  }
}
.space-normal {
  margin-top: 32px;
}

/* ----------------------------------------------------------
Add 200807 /act/visits/
三井住友建設 別埜谷橋
---------------------------------------------------------- */
/* visits13_01 */
.visits13_01 {
  position: relative;
  z-index: 2;
}

.visits13_01 img {
  max-width: 100%;
}

.visits13_01 .-left {
  width: 780px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.visits13_01 .-left .img {
  width: 500px;
}

.visits13_01 .-left .txt {
  width: 280px;
}

.visits13_01 .-right {
  position: absolute;
  bottom: 0;
  right: 0;
}

@media screen and (max-width: 767px) {
  .visits13_01 .-left {
    width: 100%;
    display: block;
  }
  .visits13_01 .-left .img {
    width: 100%;
  }
  .visits13_01 .-left .txt {
    width: 100%;
  }
  .visits13_01 .-right {
    position: static;
    text-align: center;
    margin-top: -17%;
    margin-bottom: 30px;
  }
  .visits13_01 .-right img {
    width: 61%;
  }
}
/* visits13_02 */
@media screen and (min-width: 768px) {
  .visits13_02 .-left {
    width: 630px;
  }
  .visits13_02 .-right {
    width: 500px;
  }
}
@media screen and (max-width: 767px) {
  .visits13_02 .-left {
    max-width: 92.5%;
    margin: 0 auto;
  }
}
/* visits13_03 */
@media screen and (min-width: 768px) {
  .visits13_03 .-left {
    width: 500px;
  }
  .visits13_03 .-right {
    width: 650px;
  }
}
@media screen and (max-width: 767px) {
  .visits13_03 .-left {
    margin: 0 auto;
  }
  .visits13_03 .-right {
    padding: 0 10px;
  }
}
/* visits13_04 */
.visits13_04 {
  width: 100%;
  padding: 50px;
  background-color: #fdecdc;
}

.visits13_04 .ttl-cmn-02 {
  font-size: 30px;
  margin-bottom: 25px;
}

.visits13_04.-english .ttl-cmn-02 {
  color: #ee780f;
  font-size: 34px;
  line-height: 1.23;
}

@media screen and (min-width: 768px) {
  .visits13_04 .flex > div:nth-child(1) {
    width: 420px;
  }
  .visits13_04 .flex > div:nth-child(2) {
    width: 620px;
    position: relative;
    text-align: right;
  }
  .visits13_04 .flex > div:nth-child(2) .-img02 {
    width: 580px;
    margin-top: 20px;
  }
  /*    .visits13_04.-english .flex>div:nth-child(2) {
     padding-bottom: 68px;
   }

   .visits13_04 .flex>div:nth-child(2) .-img01 {
     width: 340px;
   }



   .visits13_04.-english .flex>div:nth-child(2) .-img02 {
     width: 315px;
   } */
}
@media screen and (max-width: 767px) {
  .visits13_04 .flex > div:nth-child(1) {
    margin-bottom: 25px;
  }
  .visits13_04 {
    display: block;
    padding: 30px;
  }
  .visits13_04 .ttl-cmn-02 {
    font-size: 24px;
    margin-bottom: 15px;
  }
  .visits13_04 .flex > div:nth-child(2) {
    text-align: center;
  }
  .visits13_04 .flex > div:nth-child(2) .-img02 {
    width: 92.5%;
    margin-top: 15px;
  }
}
/* ----------------------------------------------------------
Add 201026 /act/visits/
住友商事 ベルギー ノースウェスター2洋上風力発電所
---------------------------------------------------------- */
/* visits14_01 */
.visits14_01 .background {
  position: relative;
}

.visits14_01 .background .icon-holder {
  position: absolute;
  top: 0;
  left: 0;
}

.visits14_01 .background .icon {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  text-align: right;
}

.visits14_01 .background .icon img {
  max-width: 962px;
}

.visits14_01.-english .background .icon img {
  max-width: 975px;
}

@media screen and (min-width: 768px) {
  .visits14_01 .background .icon {
    top: 62px;
    width: 1170px;
  }
}
@media screen and (max-width: 767px) {
  .visits14_01 .background {
    margin-top: 8px;
    padding-top: 18%;
  }
  .visits14_01 .background .icon {
    top: 0;
    padding: 0 15px;
  }
}
/* visits14_02 */
@media screen and (min-width: 768px) {
  .visits14_02 .-left {
    width: 640px;
  }
  .visits14_02 .-right {
    width: 500px;
  }
}
@media screen and (max-width: 767px) {
  .visits14_02 {
    padding-top: 30px;
  }
}
/* visits14_03 */
.visits14_03 {
  text-align: center;
}

.visits14_03 img {
  max-width: 100%;
}

@media screen and (max-width: 767px) {
  .visits14_03 {
    margin-top: 10px;
  }
}
/* visits14_04 */
.visits14_04 {
  max-width: 724px;
  margin: 0 auto;
}

.visits14_04 img {
  max-width: 100%;
}

/* visits14_04 */
.visits14_05 {
  width: 100%;
  padding: 50px;
  background-color: #fdecdc;
}

.visits14_05 .ttl-cmn-02 {
  font-size: 30px;
  margin-bottom: 25px;
}

.visits14_05.-english .ttl-cmn-02 {
  color: #ee780f;
  font-size: 34px;
  line-height: 1.23;
}

@media screen and (min-width: 768px) {
  .visits14_05 .flex > div:nth-child(1) {
    width: 420px;
  }
  .visits14_05 .flex > div:nth-child(2) {
    width: 620px;
    position: relative;
    text-align: right;
  }
  .visits14_05 .flex > div:nth-child(2) .-img02 {
    width: 580px;
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .visits14_05 .flex > div:nth-child(1) {
    margin-bottom: 25px;
  }
  .visits14_05 {
    display: block;
    padding: 30px;
  }
  .visits14_05 .ttl-cmn-02 {
    font-size: 24px;
    margin-bottom: 15px;
  }
  .visits14_05 .flex > div:nth-child(2) {
    text-align: center;
  }
  .visits14_05 .flex > div:nth-child(2) .-img02 {
    width: 92.5%;
    margin-top: 15px;
  }
}
@media screen and (min-width: 768px) {
  .visits14_06 .visits14_06_flex .grid-cmn-in {
    display: flex;
    justify-content: space-between;
  }
  .visits14_06 .visits14_06_flex .grid-cmn-in .col:first-of-type {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .visits14_06 .visits14_06_flex .grid-cmn-in .col {
    padding-top: 15px;
    text-align: center;
  }
  .visits14_06 .visits14_06_flex .grid-cmn-in .fig-cmn img {
    width: 270px;
  }
}
.visits14_07.-english .txt-cmn {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .visits14_07 .visits14_07_flex {
    display: flex;
    justify-content: space-between;
    width: 826px;
    margin: 30px auto 0;
  }
}
@media screen and (max-width: 767px) {
  .visits14_07 .visits14_07_flex {
    padding-top: 10px;
  }
  .visits14_07 .visits14_07_flex .col {
    padding: 10px 0;
    text-align: center;
  }
  .visits14_07 .visits14_07_flex .col:last-child img {
    max-width: 266px;
    width: 67.8%;
  }
}
@media screen and (min-width: 768px) {
  .visits14_08 .mod-imageUnit-caption {
    text-align: center;
  }
}
.visits14_09 {
  position: relative;
  margin-top: 10px;
  height: 20px;
  width: 100%;
}

.visits14_09 .-right {
  position: absolute;
  top: 0;
  right: 0;
}

@media screen and (max-width: 767px) {
  .visits14_09 {
    margin-top: 5px;
  }
}
/* ----------------------------------------------------------
Add 210125 /act/visits/
住友ゴム工業 タイヤテクニカルセンター
---------------------------------------------------------- */
/* visits15_01 */
.visits15_01 {
  position: relative;
  z-index: 2;
}

.visits15_01 img {
  max-width: 100%;
}

.visits15_01 .-left {
  width: 780px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.visits15_01 .-left .img {
  width: 500px;
}

.visits15_01 .-left .txt {
  width: 280px;
}

.visits15_01 .-right {
  position: absolute;
  bottom: 55px;
  right: 0;
}

@media screen and (max-width: 767px) {
  .visits15_01 .-left {
    width: 100%;
    display: block;
  }
  .visits15_01 .-left .img {
    width: 100%;
  }
  .visits15_01 .-left .img img {
    width: 100%;
  }
  .visits15_01 .-left .txt {
    width: 100%;
  }
  .visits15_01 .-right {
    position: static;
    text-align: right;
    margin-top: -8%;
    margin-bottom: 30px;
  }
  .visits15_01 .-right img {
    width: 53%;
  }
}
/* visits15_02 */
.visits15_02 {
  text-align: center;
}

.visits15_02 img {
  max-width: 100%;
}

@media screen and (max-width: 767px) {
  .visits15_02 {
    margin-top: 10px;
  }
}
/* visits15_03 */
@media screen and (max-width: 767px) {
  .visits15_03 {
    text-align: center;
  }
  .visits15_03 .-img01 img {
    width: 80%;
  }
}
/* visits15_04 */
.visits15_04 .grid-cmn-in {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

@media screen and (max-width: 767px) {
  .visits15_04 .grid-cmn-in {
    display: block;
  }
  .visits15_04 .-img01 {
    width: 100%;
    max-width: 767px;
  }
  .visits15_04 .-img01 img {
    width: 100%;
    max-width: 767px;
  }
}
/* visits15_05 */
.visits15_05 {
  width: 100%;
  padding: 50px 40px;
  background-color: #fdecdc;
}

.visits15_05 .ttl-cmn-02 {
  font-size: 30px;
  margin-bottom: 25px;
}

.visits15_05.-english .ttl-cmn-02 {
  color: #ee780f;
  font-size: 34px;
  line-height: 1.23;
}

@media screen and (min-width: 768px) {
  .visits15_05 .flex > div:nth-child(1) {
    width: 690px;
  }
  .visits15_05 .flex > div:nth-child(2) {
    width: 370px;
    position: relative;
    text-align: right;
  }
}
@media screen and (max-width: 767px) {
  .visits15_05 .flex > div:nth-child(1) {
    margin-bottom: 25px;
  }
  .visits15_05 {
    display: block;
    padding: 30px;
  }
  .visits15_05 .ttl-cmn-02 {
    font-size: 24px;
    margin-bottom: 15px;
  }
  .visits15_05 .flex > div:nth-child(2) {
    text-align: center;
  }
  .visits15_05 .flex > div:nth-child(2) .-img02 {
    width: 92.5%;
    margin-top: 15px;
  }
}
/* ----------------------------------------------------------
Add 210420 /act/visits/
NSG ベトナムグラスインダストリー社
---------------------------------------------------------- */
/* visits16_01 */
.visits16_01 {
  position: relative;
  z-index: 2;
}

.visits16_01 img {
  max-width: 100%;
}

.visits16_01 .-left {
  width: 780px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.visits16_01 .-left .img {
  width: 500px;
}

.visits16_01 .-left .txt {
  width: 280px;
}

.visits16_01 .-right {
  position: absolute;
  bottom: 55px;
  right: 0;
}

@media screen and (max-width: 767px) {
  .visits16_01 .-left {
    width: 100%;
    display: block;
  }
  .visits16_01 .-left .img {
    width: 100%;
  }
  .visits16_01 .-left .img img {
    width: 100%;
  }
  .visits16_01 .-left .txt {
    width: 100%;
  }
  .visits16_01 .-right {
    position: static;
    text-align: right;
    margin-top: -8%;
    margin-bottom: 30px;
  }
  .visits16_01 .-right img {
    width: 49.2%;
  }
  .visits16_01.-english .-right img {
    width: 56.2%;
  }
  .visits16_01 .-right .txt-cmn {
    position: absolute;
    top: 0;
    left: 25px;
    margin-top: 8%;
    padding-top: 7px;
    padding-right: 55%;
  }
  .visits16_01.-english .-right .txt-cmn {
    padding-right: 57%;
  }
}
/* visits16_02 */
.visits16_02 {
  text-align: center;
}

.visits16_02 img {
  max-width: 100%;
}

@media screen and (max-width: 767px) {
  .visits16_02 {
    margin-top: 10px;
  }
}
/* visits16_03 */
.visits16_03 {
  max-width: 770px;
  margin: 0 auto;
  text-align: center;
}

.visits16_03 img {
  max-width: 100%;
}

/* visits16_04 */
.visits16_04 {
  width: 100%;
  padding: 50px 40px;
  background-color: #fdecdc;
}

.visits16_04 .ttl-cmn-02 {
  font-size: 30px;
  margin-bottom: 25px;
}

.visits16_04.-english .ttl-cmn-02 {
  color: #ee780f;
  font-size: 34px;
  line-height: 1.23;
}

.visits16_04 .top {
  max-width: 770px;
  margin: 0 auto;
  text-align: center;
}

.visits16_04 .top img {
  width: 100%;
  height: auto;
}

@media screen and (min-width: 768px) {
  .visits16_04 .bottom > div:nth-child(1) {
    width: 450px;
    padding-left: 60px;
  }
  .visits16_04 .bottom > div:nth-child(2) {
    width: 670px;
    margin-left: -95px;
    padding-bottom: 40px;
  }
  .visits16_04 .bottom {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    margin-top: -35px;
  }
}
@media screen and (max-width: 767px) {
  .visits16_04 {
    display: block;
    padding: 30px;
  }
  .visits16_04 .ttl-cmn-02 {
    font-size: 24px;
    margin-bottom: 15px;
  }
  .visits16_04 .bottom > div:nth-child(1) {
    width: 96%;
    padding: 15px 0 30px;
  }
  .visits16_04 .bottom > div:nth-child(1) img {
    width: 100%;
    max-width: 100%;
    height: auto;
  }
}
/* visits16_05 */
@media screen and (min-width: 768px) {
  .visits16_05 .flex > div:nth-child(1) {
    width: 530px;
  }
  .visits16_05 .flex > div:nth-child(2) {
    width: 520px;
    text-align: center !important;
  }
  .visits16_05 .flex > div:nth-child(2) span.mod-imageUnit-caption {
    padding: 0;
  }
}
/* ----------------------------------------------------------
Add 210729 /act/visits/
SCSK netXDC千葉第2センター
---------------------------------------------------------- */
/* visits17_01 */
.visits17_01 {
  position: relative;
  z-index: 2;
}

.visits17_01 img {
  max-width: 100%;
}

.visits17_01 .-left {
  width: 780px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.visits17_01 .-left .img {
  width: 500px;
}

.visits17_01 .-left .txt {
  width: 280px;
}

.visits17_01 .-right {
  position: absolute;
  bottom: 85px;
  right: 0;
}

@media screen and (max-width: 767px) {
  .visits17_01 .-left {
    width: 100%;
    display: block;
    margin-top: 10%;
  }
  .visits17_01 .-left .img {
    width: 100%;
  }
  .visits17_01 .-left .img img {
    width: 100%;
  }
  .visits17_01 .-left .txt {
    width: 100%;
  }
  .visits17_01 .-right {
    position: relative;
    bottom: auto;
    right: auto;
  }
  .visits17_01 .-right img {
    width: 41%;
    float: right;
    padding-bottom: 5%;
    margin-left: 10%;
    margin-top: -26.5%;
  }
  .visits17_01.-english .-right img {
    right: 2px;
    margin-right: -10px;
    margin-top: -25%;
  }
  .visits17_01 .-right .txt-cmn {
    width: auto;
    color: #666;
  }
}
/* visits17_02 */
.visits17_02 {
  text-align: center;
}

.visits17_02 img {
  max-width: 100%;
}

@media screen and (max-width: 767px) {
  .visits17_02 {
    margin-top: 10px;
  }
}
/* visits17_03 */
.visits17_03 {
  width: 100%;
  padding: 50px 40px;
  background-color: #fdecdc;
}

.visits17_03 .ttl-cmn-02 {
  font-size: 30px;
  margin-bottom: 25px;
}

.visits17_03.-english .ttl-cmn-02 {
  color: #ee780f;
  font-size: 34px;
  line-height: 1.23;
}

@media screen and (min-width: 768px) {
  .visits17_03 .flex > div:nth-child(1) {
    width: 600px;
  }
  .visits17_03 .flex > div:nth-child(2) {
    width: 450px;
    position: relative;
    text-align: right;
    margin-top: -60px;
  }
  .visits17_03.-english .flex > div:nth-child(1) {
    width: 580px;
  }
  .visits17_03.-english .flex > div:nth-child(2) {
    width: 480px;
  }
}
@media screen and (max-width: 767px) {
  .visits17_03 .flex > div:nth-child(1) {
    margin-bottom: 25px;
  }
  .visits17_03 {
    display: block;
    padding: 30px;
  }
  .visits17_03 .ttl-cmn-02 {
    font-size: 24px;
    margin-bottom: 15px;
  }
  .visits17_03 .flex > div:nth-child(2) {
    text-align: center;
  }
  .visits17_03 .flex > div:nth-child(2) .-img02 {
    width: 92.5%;
    margin-top: 15px;
  }
}
/* visits17_04 */
@media screen and (min-width: 768px) {
  .visits17_04 .visits17_04_flex .grid-cmn-in {
    display: flex;
    justify-content: space-between;
  }
  .visits17_04 .visits17_04_flex .grid-cmn-in .col:first-of-type {
    display: none;
  }
  .visits17_04 .visits17_04_flex .grid-cmn-in .col:nth-of-type(2) {
    margin-top: -7px;
  }
}
@media screen and (max-width: 767px) {
  .visits17_04 .visits17_04_flex .grid-cmn-in .col {
    padding-top: 15px;
    text-align: center;
  }
  .visits17_04 .visits17_04_flex .grid-cmn-in .fig-cmn img {
    width: 270px;
  }
}
/* visits17_05 */
@media screen and (min-width: 768px) {
  .visits17_05 .flex > div:nth-child(1) {
    width: 530px;
  }
  .visits17_05 .flex > div:nth-child(2) {
    width: 520px;
    text-align: center !important;
  }
  .visits17_05 .flex > div:nth-child(2) span.mod-imageUnit-caption {
    padding: 0;
  }
}
/* ----------------------------------------------------------
Add 211101 /act/visits/18
明電舎 技術研修センター「Manabi-ya」
---------------------------------------------------------- */
.visits18_03 > p {
  font-size: 13px;
  color: #666;
  padding-left: 10px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .visits18_03 {
    margin-top: 0;
  }
  .visits18_03 > p {
    text-align: right;
  }
}
.visits18_05 {
  text-align: center;
}
.visits18_05 .mod-imageUnit-caption {
  text-align: left;
}
.visits18_05 .image {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .visits18_05 {
    margin-top: 0;
  }
  .visits18_05 .mod-imageUnit-caption {
    text-align: center;
  }
}
.visits18_06 {
  text-align: center;
}
.visits18_06 .mod-imageUnit-caption {
  text-align: left;
}
.visits18_06 figure {
  width: 100%;
}
.visits18_06 .image {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .visits18_06 .image {
    width: auto;
  }
  .visits18_06 .mod-imageUnit-caption {
    text-align: center;
  }
}
.visits18_08 .image {
  width: 100%;
}
.visits18_08 .mod-imageUnit-caption {
  width: 100%;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .visits18_08 .mod-imageUnit-caption {
    text-align: center;
  }
}
.visits18_10 > .flex {
  align-items: flex-end;
}
.visits18_10__signboard {
  padding: 0 30px 33px;
}
.visits18_13 {
  text-align: center;
}
.visits18_13 .image {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .visits18_13 .image {
    width: auto;
  }
}
.visits18_15_inner-wrap {
  width: 100%;
  padding: 50px 30px;
  background-color: #fdecdc;
}
.visits18_15 .flex {
  align-items: flex-start;
  flex-flow: column;
}
.visits18_15_txt-wrap {
  width: 100%;
}
.visits18_15_iamge-wrap {
  width: 100%;
  margin-top: 5px;
}
.visits18_15 .image {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .visits18_15 .flex {
    flex-flow: row;
  }
  .visits18_15_txt-wrap {
    width: 50%;
  }
  .visits18_15_iamge-wrap {
    width: 50%;
  }
  .visits18_15 .image {
    width: initial;
  }
}
.visits18_16 .visitsBoxStyle01 .flex {
  align-items: end;
}
.visits18_16 .visitsBoxStyle01 .flex > div {
  width: initial;
}
.visits18_16 .mod-imageUnit-caption {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .visits18_16 .mod-imageUnit-caption {
    text-align: center;
  }
}

.lang-en .visits18_03 > p {
  font-size: 13px;
}
.lang-en .visits18_08 .mod-imageUnit-caption {
  text-align: left;
}
.lang-en .visits18_15 .ttl-cmn-02 {
  font-size: 34px;
  color: #ee780f;
}
.lang-en .visits18_15_image-wrap {
  margin-top: 10px;
}

/* ----------------------------------------------------------
Add 220201 /act/visits/19
住友化学 大分工場
---------------------------------------------------------- */
.visits19_03 {
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .visits19_03:after {
    content: "";
    display: block;
    clear: both;
  }
  .visits19_03 > p {
    color: #666;
  }
}
@media screen and (max-width: 767px) {
  .visits19_03 .-right {
    float: right;
    max-width: 50%;
    margin-top: -17%;
  }
  .visits19_03 .-right > img {
    width: 100%;
  }
}
.visits19_04 {
  position: relative;
  z-index: 2;
}
.visits19_04 .-right {
  position: absolute;
  bottom: 85px;
  right: 0;
}
.visits19_04 .-left {
  width: 780px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .visits19_04 .-left {
    margin-top: 10%;
    flex-flow: column;
    width: 100%;
  }
  .visits19_04 .-left .img > img {
    width: 100%;
  }
}
.visits19_06 .ttl-cmn-02 {
  font-size: 30px;
}
@media screen and (max-width: 767px) {
  .visits19_06 .ttl-cmn-02 {
    font-size: 24px;
  }
}
.visits19_06 .-inner-wrap {
  width: 100%;
  padding: 50px 40px;
  background-color: #fdecdc;
}
@media screen and (max-width: 767px) {
  .visits19_06 .-inner-wrap {
    padding: 30px;
  }
}
@media screen and (max-width: 767px) {
  .visits19_06 .image.only-sp {
    width: 100%;
  }
}
.visits19_06 .txt-cmn {
  width: 960px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .visits19_06 .txt-cmn {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .visits19_10 .image.only-sp {
    width: 85%;
  }
}

@media screen and (max-width: 767px) {
  .lang-en .visits19_03 .-right {
    margin-top: -19%;
  }
}
.lang-en .visits19_04 .-right {
  bottom: 125px;
}
.lang-en .visits19_06 .ttl-cmn-02 {
  color: #ee780f;
  font-size: 34px;
}
@media screen and (max-width: 767px) {
  .lang-en .visits19_06 .ttl-cmn-02 {
    font-size: 32px;
    line-height: 1.3;
  }
}

/* ----------------------------------------------------------
Add 220509 /act/visits/20
住友ベークライト
---------------------------------------------------------- */
.visits20_03 {
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .visits20_03:after {
    content: "";
    display: block;
    clear: both;
  }
  .visits20_03 > p {
    color: #666;
  }
}
@media screen and (max-width: 767px) {
  .visits20_03 .-right {
    float: right;
    max-width: 50%;
    margin-top: -17%;
  }
  .visits20_03 .-right > img {
    width: 100%;
  }
}
.visits20_04 {
  position: relative;
  z-index: 2;
}
.visits20_04 .-right {
  position: absolute;
  bottom: 5px;
  right: 0;
}
.visits20_04 .-left {
  width: 780px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .visits20_04 .-left {
    margin-top: 10%;
    flex-flow: column;
    width: 100%;
  }
  .visits20_04 .-left .img > img {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .visits20_06 .image.only-sp {
    width: 100%;
  }
}
.visits20_08 .ttl-cmn-02 {
  font-size: 30px;
}
@media screen and (max-width: 767px) {
  .visits20_08 .ttl-cmn-02 {
    font-size: 24px;
  }
}
.visits20_08 .-inner-wrap {
  width: 100%;
  padding: 50px 40px;
  background-color: #fdecdc;
}
@media screen and (max-width: 767px) {
  .visits20_08 .-inner-wrap {
    padding: 30px;
  }
}
.visits20_08 .image.only-pc {
  margin-top: -125px;
}
@media screen and (max-width: 767px) {
  .visits20_08 .image.only-sp {
    width: 100%;
  }
}
.visits20_08 .txt-cmn {
  width: 480px;
  margin: 0 auto 0 0;
}
@media screen and (max-width: 767px) {
  .visits20_08 .txt-cmn {
    width: 100%;
    margin-top: 20px;
  }
}
.visits20_11 .grid-cmn.pc-cols-04 .col.-imgs {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .visits20_11 .grid-cmn.pc-cols-04 .col.-imgs {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .lang-en .visits20_03 .-right {
    margin-top: -20%;
  }
  .lang-en .visits20_03 .mod-imageUnit-caption {
    margin: 0 auto 7px 0;
  }
}
.lang-en .visits20_08 .ttl-cmn-02 {
  color: #ee780f;
  line-height: 1.235;
  font-size: 34px;
}
@media screen and (max-width: 767px) {
  .lang-en .visits20_08 .ttl-cmn-02 {
    font-size: 32px;
    line-height: 1.3;
  }
}

/* ----------------------------------------------------------
Add 220721 /act/visits/21
住友建機販売
---------------------------------------------------------- */
.visits21_03 {
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .visits21_03:after {
    content: "";
    display: block;
    clear: both;
  }
  .visits21_03 > p {
    color: #666;
  }
}
@media screen and (max-width: 767px) {
  .visits21_03 .-right {
    margin-top: -7%;
  }
  .visits21_03 .-right > img {
    width: 100%;
  }
}
.visits21_04 {
  position: relative;
  z-index: 2;
}
.visits21_04 .-right {
  position: absolute;
  bottom: 10px;
  right: 0;
}
.visits21_04 .-left {
  width: 780px;
  display: flex;
  justify-content: space-between;
}
.visits21_04 .-left .img > img {
  width: 500px;
}
@media screen and (max-width: 767px) {
  .visits21_04 .-left {
    margin-top: 10%;
    flex-flow: column;
    width: 100%;
  }
  .visits21_04 .-left .img > img {
    width: 100%;
  }
}
.visits21_06 .ttl-cmn-02 {
  font-size: 30px;
}
@media screen and (max-width: 767px) {
  .visits21_06 .ttl-cmn-02 {
    font-size: 24px;
  }
}
.visits21_06 .-inner-wrap {
  width: 100%;
  padding: 50px 40px;
  background-color: #fdecdc;
}
@media screen and (max-width: 767px) {
  .visits21_06 .-inner-wrap {
    padding: 30px;
  }
}
.visits21_06 .image.only-pc {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .visits21_06 .image.only-sp {
    width: 100%;
  }
}
.visits21_06 .txt-cmn {
  margin: 42px 0 0 0;
}
@media screen and (max-width: 767px) {
  .visits21_06 .txt-cmn {
    width: 100%;
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .visits21_10 .image.only-sp {
    width: 100%;
  }
}
.visits21_13 .visits21_13_flex {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .visits21_13 .visits21_13_flex {
    flex-direction: column;
    justify-content: center;
  }
  .visits21_13 .visits21_13_flex .visits21_13_flexleft {
    max-width: 285px;
    margin-left: auto;
    margin-right: auto;
  }
  .visits21_13 .visits21_13_flex .visits21_13_flexleft .image {
    width: 100%;
  }
  .visits21_13 .visits21_13_flex .visits21_13_flexright {
    text-align: center;
    max-width: 211px;
    margin-left: auto;
    margin-right: auto;
  }
  .visits21_13 .visits21_13_flex .visits21_13_flexright .image {
    width: 100%;
  }
}

/* visits21_12 */
.visits21_12_flex .col {
  width: 270px;
  height: 211px;
  position: relative;
}
.visits21_12_flex .col img {
  position: absolute;
  width: 281px;
}
.visits21_12_flex .col:nth-child(1) {
  width: 281px;
}
.visits21_12_flex .col:nth-child(1) img {
  left: -10px;
}
.visits21_12_flex .col:nth-child(3) {
  width: 286px;
  height: 220px;
}
.visits21_12_flex .col:nth-child(3) img {
  width: 286px;
  left: -10px;
}

@media screen and (min-width: 768px) {
  .visits21_12 .visits21_12_flex .grid-cmn-in {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .visits21_12 .visits21_12_flex .grid-cmn-in .col {
    padding-top: 15px;
    text-align: center;
  }
  .visits21_12 .visits21_12_flex .only-pc .fig-cmn img {
    width: 100%;
  }
  .visits21_12 .visits21_12_flex .visits21_12_flex_item {
    text-align: center;
  }
  .visits21_12 .visits21_12_flex .visits21_12_flex_item .visits21_12_flex_item_img {
    max-width: 300px;
  }
}
/* visits22 */
.visits22_02.flex {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .visits22_02.flex {
    flex-direction: column-reverse;
  }
}
.visits22_02.flex .-left {
  margin-top: 115px;
  max-width: 370px;
}
@media screen and (max-width: 768px) {
  .visits22_02.flex .-left {
    margin-top: 50px;
    max-width: 100%;
  }
}
.visits22_02.flex .right {
  max-width: 770px;
}

.visits21_06 .image {
  width: 100%;
}

.visits22_12_flex .grid-cmn-in {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .visits22_12_flex .grid-cmn-in {
    justify-content: center;
    flex-direction: column;
  }
}

.col.visits22_12_item {
  width: 300px;
  height: 250px;
}
@media screen and (max-width: 768px) {
  .col.visits22_12_item {
    margin-left: auto;
    margin-right: auto;
    width: 270px;
  }
}
.col.visits22_12_item:nth-child(1) {
  width: 258px;
}
@media screen and (max-width: 768px) {
  .col.visits22_12_item:nth-child(1) {
    width: 270px;
  }
}
.col.visits22_12_item:nth-child(2) {
  width: 342px;
}
@media screen and (max-width: 768px) {
  .col.visits22_12_item:nth-child(2) {
    width: 270px;
  }
}
.col.visits22_12_item:nth-child(3) .image {
  width: 273px;
}
@media screen and (max-width: 768px) {
  .col.visits22_12_item:nth-child(3) .image {
    width: 271.5px;
  }
}
.col.visits22_12_item .image.only-sp {
  max-width: 270px;
}

/* ----------------------------------------------------------
Add 230123 /act/visits/23
住友電工
---------------------------------------------------------- */
.visits23_03 {
  position: relative;
  z-index: 2;
}
.visits23_03 .-right {
  float: right;
  width: 40%;
  margin-top: -22%;
  margin-right: 20px;
}
.visits23_03 .-right img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .visits23_03::after {
    content: "";
    display: block;
    clear: both;
  }
}
.visits23_04 {
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .visits23_04 {
    margin-top: 20px;
  }
}
.visits23_04 .-right {
  position: absolute;
  top: -264px;
  right: 0;
}
.visits23_04 .-left {
  max-width: 780px;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .visits23_04 .-left {
    flex-direction: column;
  }
}
.visits23_04 .-left .img {
  max-width: 824px;
  width: 100%;
}
.visits23_04 .-left .img img {
  width: 100%;
}
.visits23_04 .-left .txt {
  max-width: 284px;
}
@media screen and (max-width: 768px) {
  .visits23_04 .-left .txt {
    max-width: 100%;
  }
}
.visits23_06 .ttl-cmn-02 {
  position: relative;
  top: 130px;
  margin-top: -130px;
}
@media screen and (max-width: 768px) {
  .visits23_06 .ttl-cmn-02 {
    position: static;
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .visits23_12_flex {
    max-width: 270px;
    margin-left: auto;
    margin-right: auto;
  }
}
.visits23_13 .grid-cmn-in {
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .visits23_13 .grid-cmn-in {
    flex-direction: column;
    justify-content: center;
  }
}
.visits23_13 .col {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .visits23_13 .col:first-child {
    margin-bottom: 20px;
  }
}

/* ----------------------------------------------------------
Add 230123 /act/visits/24
住友倉庫
---------------------------------------------------------- */
.visits22_02.-visits24 {
  margin-top: -70px;
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .visits22_02.-visits24 {
    margin-top: 0;
  }
}
.visits22_02.-visits24 .-visits24 {
  margin-top: 0;
  margin-right: 20px;
  max-width: 430px;
}
@media screen and (max-width: 767px) {
  .visits22_02.-visits24 .-visits24 {
    margin-top: 50px;
    margin-right: 0;
    max-width: 100%;
  }
}

.visits22_02.-visits24_en {
  align-items: center;
}
@media screen and (max-width: 767px) {
  .visits22_02.-visits24_en {
    margin-top: 0;
  }
}
.visits22_02.-visits24_en .-visits24 {
  margin-top: 0;
  margin-right: 20px;
  max-width: 430px;
}
@media screen and (max-width: 767px) {
  .visits22_02.-visits24_en .-visits24 {
    margin-top: 50px;
    margin-right: 0;
    max-width: 100%;
  }
}

.mod-imageUnit-caption.-visits24 {
  display: inline-block;
  width: 450px;
}
@media screen and (max-width: 767px) {
  .mod-imageUnit-caption.-visits24 {
    display: block;
    width: auto;
  }
}

.mod-imageUnit-caption.-visits24_en {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .mod-imageUnit-caption.-visits24_en {
    display: block;
    width: auto;
  }
}

/* ----------------------------------------------------------
Add 230123 /act/visits/25
住友化学
---------------------------------------------------------- */
.visits25_03 {
  position: relative;
  z-index: 2;
  text-align: right;
}
.visits25_03 .-visits25 {
  display: inline-block;
  width: 650px;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .visits25_03 .-visits25 {
    width: auto;
    text-align: left;
  }
}

.visits22_02.-visits25 {
  margin-top: -50px;
}
@media screen and (max-width: 767px) {
  .visits22_02.-visits25 {
    align-items: center;
  }
}
.visits22_02.-visits25 .-visits25 {
  margin-top: 0;
  max-width: 430px;
}
.visits22_02.-visits25 .-right {
  margin-top: 90px;
}
@media screen and (max-width: 767px) {
  .visits22_02.-visits25 .-right {
    margin-top: 50px;
  }
}

.visits25.caption {
  text-align: right;
  margin: 0;
}

/* ----------------------------------------------------------
Add 231027 /act/visits/26
住友化学
---------------------------------------------------------- */
@media screen and (max-width: 768px) {
  .visits26 .grid-cmn.pc-cols-04 .col.-imgs {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .visits26_12 {
    max-width: 270px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (max-width: 768px) {
  .visits22_02.-visits25 .-right.-visits26 {
    margin-bottom: 30px;
  }
}

.visits21_06 .-inner-wrap.-visits26 {
  padding: 0 40px;
  background-color: #fff;
}

/* ----------------------------------------------------------
Add 240124 /act/visits/27
住友重機械エンバイロメント
---------------------------------------------------------- */
@media screen and (max-width: 767px) {
  .visits27_01 {
    margin-top: 30px;
  }
}

.visits27_01,
.visits27_02 {
  margin-left: 50px;
  width: 320px;
}
@media screen and (max-width: 767px) {
  .visits27_01,
  .visits27_02 {
    margin-left: 0;
    width: 100%;
  }
}

/* ----------------------------------------------------------
Add 240124 /act/visits/28
住友生命保険
---------------------------------------------------------- */
.visits28_01,
.visits28_02 {
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .visits28_01 .-left {
    margin: 30px 0 20px;
  }
}
@media screen and (max-width: 767px) {
  .visits28_01 .-left img {
    width: 100%;
  }
}

.visits28_01 .-right {
  display: flex;
  justify-content: flex-end;
  width: 1190px;
}
@media screen and (max-width: 767px) {
  .visits28_01 .-right {
    display: block;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .visits28_01 .mod-imageUnit-caption {
    margin-top: 0;
  }
}

.visits28_02 .-left {
  position: absolute;
  top: -315px;
  left: 0;
}
@media screen and (max-width: 767px) {
  .visits28_02 .-left {
    top: -315px;
  }
}

.visits28_02 .-right {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  max-width: 600px;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .visits28_02 .-right {
    display: block;
    width: 100%;
    margin-top: 40px;
  }
}

.visits28_02 .img {
  order: 1;
}

.visits28_02 .mod-imageUnit-caption {
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .visits28_02 .mod-imageUnit-caption {
    margin: 10px auto 0;
  }
}

/* ----------------------------------------------------------
Add 240724 /act/visits/29
住友電設 川崎テクニカルセンター
---------------------------------------------------------- */
.visits28_02 .-left.-visits_29 {
  top: -210px;
}

/* ----------------------------------------------------------
Add 241025/act/visits/30
三井住友ファイナンス＆リース
リマシーン東日本ヤード
---------------------------------------------------------- */
.visits28_02 .-left.-visits_30 {
  top: -150px;
}
.visits28_02 .-left.-visits_30 img {
  width: 90%;
}

/* ----------------------------------------------------------
Add 250203/act/visits/31
日本総合研究所
東京本社（大崎フォレストビルディング）
---------------------------------------------------------- */
@media screen and (min-width: 768px) {
  .visits25_03 .-visits31 {
    width: 700px;
  }
  .flex > div.-visits31 img {
    width: 90%;
  }
}
/* ----------------------------------------------------------
Add 250204/act/visits/32
SMAS（住友三井オートサービス）
EV試乗会「e-PARK横浜」
---------------------------------------------------------- */
@media screen and (min-width: 768px) {
  .visits22_02.-visits24 .-left.-visits32 {
    max-width: calc(100% - 600px);
  }
  .visits22_02.-visits24 .-right.-visits32 img {
    max-width: 510px;
  }
}
/* ----------------------------------------------------------
Add 250723/act/visits/33
住友理工
技術研究所ショールーム
---------------------------------------------------------- */
.visits28_02 .-left.-visits_33 {
  top: -331px;
}

@media screen and (min-width: 768px) {
  .visits28_02 .-right.-visits_33 {
    max-width: 780px;
  }
}
@media screen and (max-width: 767px) {
  .visits28_01 .-visit_33 {
    width: 80%;
    margin-inline: auto;
  }
}
/* end */
/* ----------------------------------------------------------
Add 251027/act/visits/34
住友館
大阪・関西万博
---------------------------------------------------------- */
.visits28_02 .-left.-visits_34 {
  top: 0;
}

@media screen and (min-width: 768px) {
  .visits28_02 .-left.-visits_34 {
    max-width: 780px;
  }
  .visits28_02 .-left.-visits_34 .img {
    order: 0;
  }
  .visits28_02 .-left.-visits_34 .mod-imageUnit-caption {
    margin-top: 5px;
  }
  .visits28_02 .-right.-visits_34 {
    margin-top: -148px;
    max-width: 750px;
  }
  .visits28_02 .-right.-visits_34 img {
    max-width: 100%;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .visits28_02 .-left.-visits_34 {
    position: static;
    text-align: center;
  }
}
/* image 100% canceler */
@media screen and (max-width: 767px) {
  .mod-imageUnit-image img.widthcanceler {
    width: auto;
  }
}
/* 最前線 15回専用メインビジュアル調整 */
@media screen and (min-width: 768px) and (max-width: 1700px) {
  .mod-column-hero > .column15 {
    top: 10px;
  }
  .mod-column-hero-desc-title > .column15 {
    font-size: 20px;
  }
  .mod-column-hero-desc > .column15 {
    vertical-align: middle;
  }
}
/* mod-categories-04 add 220221
---------------------------------------------------------- */
.mod-categories-04 {
  border: 1px solid #eee;
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.06);
}

.mod-categories-04 + .mod-categories-04 {
  margin-top: 20px;
}

.mod-categories-04 > a {
  display: flex;
  align-items: center;
  padding: 20px;
  transition: opacity 0.4s;
}

.mod-categories-04 > a:hover {
  opacity: 0.8;
}

.mod-categories-04 .image {
  width: 240px;
  margin-right: 20px;
}

.mod-categories-04 .image.-border {
  border: 1px solid #eee;
}

.mod-categories-04 .image img {
  width: 100%;
  max-width: 100%;
  flex-basis: auto;
}

.mod-categories-04 .detail {
  flex: 1;
}

.mod-categories-04 .title {
  margin-bottom: 7px;
}

.mod-categories-04 .title::after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 12px;
  margin-bottom: 1px;
  margin-left: 7px;
  background: url(/common/img/ico_arrow_right_01_@2x_ac.png) 0 0 no-repeat;
  background-size: 7px 12px;
}

.mod-categories-04 .text {
  font-size: 14px;
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .mod-categories-04 > a {
    display: block;
    padding: 16px;
  }
  .mod-categories-04 > a:hover {
    opacity: 1;
  }
  .mod-categories-04 .image {
    width: 100%;
    text-align: center;
    margin-right: 0;
  }
  .mod-categories-04 .image img {
    width: auto;
  }
  .mod-categories-04 .detail {
    margin-top: 15px;
  }
  .mod-categories-04 .title {
    font-size: 13px;
  }
  .mod-categories-04 .text {
    font-size: 12px;
  }
}
/* mod-imgHeading add 220221
---------------------------------------------------------- */
.mod-imageHeading {
  display: flex;
  align-items: center;
  background-color: #f6f6f6;
}

.mod-imageHeading.-imageReverse {
  flex-direction: row-reverse;
}

.mod-imageHeading_image {
  max-width: 702px;
}

.mod-imageHeading_image img {
  max-width: 100%;
}

.mod-imageHeading_content {
  flex: 1;
  padding: 30px;
}

.mod-imageHeading_content_title {
  font-size: 30px;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
  margin-bottom: 15px;
}

.mod-imageHeading_content_text {
  line-height: 1.85;
  text-align: center;
}

.mod-imageHeading_content_text br.sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .mod-imageHeading {
    display: block;
  }
  .mod-imageHeading_image {
    max-width: 100%;
  }
  .mod-imageHeading_content {
    padding: 25px 15px 20px;
  }
  .mod-imageHeading_content_title {
    font-size: 22px;
  }
  .mod-imageHeading_content_text {
    text-align: left;
  }
  .mod-imageHeading_content_text br.pc {
    display: none;
  }
  .mod-imageHeading_content_text br.sp {
    display: inherit;
  }
}
/* mod-interview add 221102
住友 EXPO2025 推進委員会 トップインタビュー用のcss
---------------------------------------------------------- */
.sec-interview {
  width: 100%;
  padding: 60px 30px;
}
.sec-interview.bg-gray {
  background-color: #f6f6f6;
}

/*-- ページのアンカーリンクです。リンクは、リンク先（href属性）を入れると文字色黒くなります。aタグ内のhrefを消すと文字色灰色になるように設定しています --*/
.mod-conpany-ankerlink-01 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  margin-bottom: 48px;
}
.mod-conpany-ankerlink-01.-col2 {
  grid-template-columns: repeat(auto-fit, minmax(570px, 1fr));
}
.mod-conpany-ankerlink-01_item {
  position: relative;
  font-size: 20px;
  font-weight: bold;
  text-align: left;
}
.mod-conpany-ankerlink-01_item a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.mod-conpany-ankerlink-01_item a:not([href]) {
  color: #bbb;
}
.mod-conpany-ankerlink-01_item a:not([href])::after {
  background: url(/common/img/ico_arrow_down_hd_01_pc.png) right center no-repeat;
}
.mod-conpany-ankerlink-01_item a::after {
  content: "";
  width: 12px;
  height: 8px;
  margin-top: -3px;
  padding-left: 8px;
  background: url(/common/img/ico_arrow_down_ft_01_sp_ac.png) right center no-repeat;
  background-size: auto 100%;
}

.mod-interview + .mod-interview {
  margin-top: 48px;
}

/*-- 結局トリになった更新情報の分のcss。一応残しておきます --*/
.mod-interview-title {
  position: relative;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 100%;
  margin-bottom: 2px;
  padding: 50px;
  background-color: #fff;
  border-top: 3px solid #db000a;
}
.mod-interview-title .logo {
  position: relative;
  width: 32%;
}
.mod-interview-title .logo::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 1px;
  height: 100%;
  background-color: #E5E5E5;
}
.-english .mod-interview-title .logo::before {
  content: none;
}
.mod-interview-title .copy {
  width: 68%;
  font-size: 24px;
  line-height: 1.5;
  text-align: center;
}
.mod-interview-title .copy h2 {
  font-weight: bold;
}
.-english .mod-interview-title .copy {
  font-size: 22px;
  border-left: 1px solid #e5e5e5;
}

.mod-interview-content {
  box-sizing: border-box;
  display: grid;
  width: auto;
  max-width: 100%;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 0px 0px;
  grid-template-areas: "photo q1" "q2 q3";
}

.mod-interview-qbox {
  position: relative;
}
.mod-interview-qbox.photo {
  grid-area: photo;
  width: 100%;
  padding: 30px;
  background-color: #E5E5E5;
}
.mod-interview-qbox.photo img {
  width: 100%;
}
.mod-interview-qbox.photo .profile {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 30px;
  border-top: 1px solid #db000a;
  background-color: #fff;
  text-align: left;
}
.-english .mod-interview-qbox.photo .profile {
  flex-direction: row-reverse;
}
.mod-interview-qbox.photo .profile .profile-position {
  font-size: 16px;
  line-height: 1.5;
}
.-english .mod-interview-qbox.photo .profile .profile-position {
  flex-grow: 1;
  flex-basis: 255px;
  border-left: 1px solid #e5e5e5;
  padding-left: 20px;
}
.mod-interview-qbox.photo .profile .profile-name {
  width: 185px;
  padding-left: 20px;
  border-left: 1px solid #e5e5e5;
}
.-english .mod-interview-qbox.photo .profile .profile-name {
  width: 210px;
  border-left: none;
  padding-left: 0;
}
.mod-interview-qbox.photo .profile .profile-name-japan {
  font-size: 30px;
  line-height: 1.2;
}
.mod-interview-qbox.photo .profile .profile-name-english {
  font-family: "robot";
  font-size: 14px;
  letter-spacing: 0.1em;
}
.mod-interview-qbox.photo .profile .profile-name-president {
  font-size: 17px;
  font-weight: 700;
}
.mod-interview-qbox.q1, .mod-interview-qbox.q2, .mod-interview-qbox.q3 {
  padding: 50px 40px;
  text-align: left;
}
.mod-interview-qbox.q1 .q-title, .mod-interview-qbox.q2 .q-title, .mod-interview-qbox.q3 .q-title {
  padding: 0 1em;
}
.mod-interview-qbox.q1 .q-number, .mod-interview-qbox.q2 .q-number, .mod-interview-qbox.q3 .q-number {
  color: #DB000A;
  font-family: "robot";
  font-size: 50px;
  font-weight: normal;
}
.mod-interview-qbox.q1 .question, .mod-interview-qbox.q2 .question, .mod-interview-qbox.q3 .question {
  margin: 1em 0 2em;
  font-size: 20px;
  font-weight: bold;
}
.mod-interview-qbox.q1 .answer, .mod-interview-qbox.q2 .answer, .mod-interview-qbox.q3 .answer {
  line-height: 1.8;
}
.mod-interview-qbox.q1 {
  grid-area: q1;
  background-color: #fff;
  width: 100%;
}
.mod-interview-qbox.q2 {
  grid-area: q2;
  background-color: #fff;
}
.mod-interview-qbox.q3 {
  grid-area: q3;
  background-color: #E5E5E5;
}

@media screen and (max-width: 767px) {
  .sec-interview {
    padding: 40px 0;
  }
  .sec-interview .sec-inner {
    padding: 0;
  }
  .mod-conpany-ankerlink-01 {
    grid-column-gap: 5px;
    grid-row-gap: 20px;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 40px;
  }
  .mod-conpany-ankerlink-01.-col2 {
    grid-column-gap: 20px;
    grid-template-columns: 1fr 1fr;
  }
  .mod-conpany-ankerlink-01_item {
    font-size: 15px;
  }
  .-col2 .mod-conpany-ankerlink-01_item a:after {
    margin-top: 2px;
  }
  .mod-interview-title {
    display: block;
    margin-bottom: 0;
    padding: 36px 15px 32px;
    background-color: #fff;
    border-top: 3px solid #db000a;
  }
  .mod-interview-title .logo {
    width: auto;
    padding: 0 8%;
    margin-bottom: 24px;
  }
  .mod-interview-title .logo img {
    width: 100%;
    max-width: 320px;
    height: auto;
  }
  .mod-interview-title .logo::before {
    content: none;
  }
  .mod-interview-title .copy {
    width: auto;
    font-size: 18px;
  }
  .-english .mod-interview-title .copy {
    border: none;
  }
  .mod-interview-content {
    grid-template-columns: auto;
    grid-template-rows: auto;
    gap: 0px 0px;
    grid-template-areas: "photo" " q1" "q2" "q3";
  }
  .mod-interview-qbox {
    position: relative;
  }
  .mod-interview-qbox.photo {
    padding: 0;
  }
  .mod-interview-qbox.photo .profile {
    position: relative;
    display: block;
    padding: 22px 30px 18px;
    border-top: 1px solid #db000a;
    background-color: #fff;
    text-align: left;
    box-shadow: none;
    /*-- 英語版社長様お名前 --*/
  }
  .-english .mod-interview-qbox.photo .profile {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
  }
  .mod-interview-qbox.photo .profile .profile-position {
    margin-bottom: 6px;
    font-size: 14px;
  }
  .-english .mod-interview-qbox.photo .profile .profile-position {
    border: none;
    flex-basis: auto;
    padding-left: 0;
  }
  .mod-interview-qbox.photo .profile .profile-name {
    display: flex;
    flex-direction: column-reverse;
    width: auto;
    padding-left: 0;
    border-left: none;
  }
  .mod-interview-qbox.photo .profile .profile-name-japan {
    font-size: 30px;
  }
  .mod-interview-qbox.photo .profile .profile-name-english {
    font-family: "robot";
    font-size: 14px;
    letter-spacing: 0.1em;
  }
  .mod-interview-qbox.photo .profile .profile-name-president {
    font-size: 18px;
  }
  .mod-interview-qbox.q1, .mod-interview-qbox.q2, .mod-interview-qbox.q3 {
    margin-top: 10px;
    padding: 20px 15px 30px;
    text-align: left;
  }
  .mod-interview-qbox.q1 .q-title, .mod-interview-qbox.q2 .q-title, .mod-interview-qbox.q3 .q-title {
    padding: 0 0.6em;
  }
  .mod-interview-qbox.q1 .q-number, .mod-interview-qbox.q2 .q-number, .mod-interview-qbox.q3 .q-number {
    font-size: 36px;
  }
  .mod-interview-qbox.q1 .question, .mod-interview-qbox.q2 .question, .mod-interview-qbox.q3 .question {
    margin: 10px 0 20px;
    font-size: 16px;
  }
  .mod-interview-qbox.q3 {
    background-color: #fff;
  }
}
@media screen and (max-width: 361px) {
  .mod-interview-title .copy {
    font-size: 17px;
  }
}
/*20240321 add start*/
.col3-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 20px;
  row-gap: 30px;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .col3-list:not(.type-02) {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 640px) {
  .col3-list:not(.class) {
    grid-template-columns: repeat(1, 1fr);
  }
}

.col3-list-item {
  background-color: #fff;
}

.col3-list.-materials .col3-list-item {
  background-color: transparent;
  text-align: left;
}

.col3-list-link {
  display: block;
  height: 100%;
}

.col3-list-img {
  display: grid;
  place-items: center;
  text-align: center;
  position: relative;
  min-height: 160px;
}
.col3-list-img::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}

.col3-list-img img {
  max-width: 100%;
}

.col3-list-img02 img {
  width: 100%;
  max-width: 100%;
}

a.col3-list-link:hover .col3-list-img::before {
  opacity: 1;
}
a.col3-list-link:hover .col3-list-theme {
  text-decoration: underline;
}
a.col3-list-link:hover .col3-list-text {
  text-decoration: underline;
}

.col3-list-cont {
  padding: 20px;
  border-top: 2px solid #f2f2f2;
}

.col3-list-company {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.75;
}

.col3-list-theme {
  margin-top: 10px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.75;
}

.col3-list-text {
  display: block;
  margin-top: 10px;
  padding: 16px 0 0;
  border-top: 2px solid #f2f2f2;
}

@media screen and (min-width: 768px) {
  .content.right.tech-detail:not(.class) {
    width: calc(100% - 500px);
    margin-left: 0;
  }
}

.c-hover {
  transition: opacity 0.4s;
}
.c-hover:hover {
  opacity: 0.8;
}

.grid-cmn.-w930 {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .grid-cmn.-w930 {
    width: 930px;
    margin-inline: auto;
  }
}

/*20240321 add end*/
/*20250403 add start*/
.u-movieFilter {
  filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
}

.video.-icon .video-link {
  display: block;
  position: relative;
}
.video.-icon .video-link::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 15.262%;
  aspect-ratio: 1;
  background: url("/common/img/ico_arrow_down_hd_01_pc_ac.png") 0 0 no-repeat;
  background: url("/common/img/btn_play.png") no-repeat center/contain;
  pointer-events: none;
}

/*20250403 add end*/
/*20251008 add start*/
.mod-column-hero-image.-plantatree-legacy {
  position: relative;
}
.mod-column-hero-image.-plantatree-legacy.-en .mod-column-hero-text {
  font-size: clamp(27px, 27px + 11 * (100vw - 1170px) / 735, 38px);
}
.mod-column-hero-image.-plantatree-legacy.-en .mod-column-hero-text span {
  font-size: clamp(77px, 77px + 28 * (100vw - 1170px) / 735, 105px);
}
.mod-column-hero-logo {
  position: absolute;
  top: clamp(24px, 24px + 11 * (100vw - 1170px) / 735, 35px);
  right: clamp(48px, 48px + 24 * (100vw - 1170px) / 735, 72px);
  width: clamp(130px, 130px + 40 * (100vw - 1170px) / 735, 170px);
}
.mod-column-hero-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: clamp(38px, 38px + 14 * (100vw - 1170px) / 735, 52px);
  text-align: center;
  color: #fff;
  line-height: 1;
  -webkit-text-stroke: 2px #B5B5B5;
  text-stroke: 2px #B5B5B5;
  paint-order: stroke;
  width: 100%;
}
.mod-column-hero-text span {
  margin-top: clamp(24px, 24px + 11 * (100vw - 1170px) / 735, 35px);
  display: block;
  font-size: clamp(110px, 110px + 40 * (100vw - 1170px) / 735, 150px);
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .mod-column-hero-image.-plantatree-legacy.-en .mod-column-hero-text {
    font-size: 1.9947506562vw;
  }
  .mod-column-hero-image.-plantatree-legacy.-en .mod-column-hero-text span {
    font-size: 5.5118110236vw;
  }
  .mod-column-hero-logo {
    top: 1.8372703412vw;
    right: 3.7795275591vw;
    width: 8.9238845144vw;
  }
  .mod-column-hero-text {
    font-size: 2.7296587927vw;
    -webkit-text-stroke: 0.1049868766vw #B5B5B5;
    text-stroke: 0.1049868766vw #B5B5B5;
  }
  .mod-column-hero-text span {
    margin-top: 1.8372703412vw;
    font-size: 7.874015748vw;
  }
}

.faqcol2 {
  border: 1px solid #eee;
  padding: 30px;
  text-align: left;
}
.faqcol2:has(.faqcol2_image) {
  display: grid;
  grid-template-columns: 1fr 200px;
  column-gap: 30px;
}
.faqcol2_image img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .faqcol2 {
    padding: 20px;
  }
  .faqcol2:has(.faqcol2_image) {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 20px;
  }
  .faqcol2_image.-vertical {
    width: min(60%, 200px);
    margin-inline: auto;
  }
}

.faqList {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: 20px;
}
.faqList_item_dt {
  position: relative;
  margin-bottom: 10px;
  padding-left: 1.5em;
  line-height: 1.85;
  font-weight: bold;
}
.faqList_item_dd {
  position: relative;
  padding-left: 1.5em;
  line-height: 1.85;
}
.faqList_item_span {
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .faqList {
    row-gap: 1em;
  }
}

.squareList {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: 0.5em;
}
.squareList_item {
  position: relative;
  padding-left: 1em;
}
.squareList_item::before {
  content: "■";
  display: block;
  position: absolute;
  top: 6px;
  left: 0;
  line-height: 1;
}
.squareList_item dt, .squareList_item dd {
  line-height: 1.85;
}
.squareList_item:not(.-block) dt, .squareList_item:not(.-block) dd {
  display: inline;
}
@media screen and (max-width: 767px) {
  .squareList_item {
    padding-left: 1em;
  }
}

.lineList:has(.lineList_image) {
  display: grid;
  grid-template-columns: 1fr 284px;
  column-gap: 40px;
}
.lineList_list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: 1em;
  counter-reset: my-counter;
}
.lineList_list_item {
  counter-increment: my-counter;
  position: relative;
  padding-left: 30px;
}
.lineList_list_item::before {
  content: counter(my-counter);
  display: block;
  position: absolute;
  top: 6.5px;
  left: 0;
  width: 20px;
  line-height: 20px;
  text-align: center;
  border-radius: 50%;
  color: #fff;
  background: #71BF44;
}
.lineList_list_item dt {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.85;
}
.lineList_list_item dd {
  line-height: 1.85;
}
.lineList_image img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .lineList:has(.lineList_image) {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    row-gap: 20px;
  }
  .lineList_list_item::before {
    top: 3px;
  }
  .lineList_list_item dt {
    font-size: 16px;
  }
  .lineList_image {
    width: min(60%, 200px);
    margin-inline: auto;
  }
}

.lineBox {
  border: 2px solid #db000a;
  width: min(100%, 600px);
  text-align: center;
  margin-inline: auto;
  padding: 10px;
}
.lineBox:has(.lineBox_icon) .lineBox_inner {
  display: inline-grid;
  grid-template-columns: 80px 1fr;
  column-gap: 20px;
  align-items: center;
}
.lineBox:not(:has(.lineBox_icon)) {
  display: inline-block;
}
.lineBox_icon img {
  width: 100%;
}
.lineBox_text {
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .lineBox:has(.lineBox_icon) .lineBox_inner {
    grid-template-columns: 60px 1fr;
  }
  .lineBox_text {
    font-size: 16px;
    font-weight: bold;
    text-align-last: left;
  }
}

.u-textRed {
  color: #db000a;
}

.col3-list.-col2 img {
  width: 100%;
}
.col3-list.-border .col3-list-item {
  padding: 20px;
  outline: 1px solid #eee;
}
.col3-list.-border .col3-list-cont {
  border: none;
  padding: 20px 0 0;
}
.col3-list.-border .col3-list-theme {
  margin-top: 0;
}
.col3-list.-border .col3-list-company {
  margin-top: 0;
}
.col3-list.-center {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .col3-list.-col2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

/*20251008 add end*/
/*20251113 add start*/
.iconList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
.iconList_item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  row-gap: 25px;
}
.iconList_image {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 10px;
  text-align: center;
}
.iconList_image_item {
  width: 100px;
}
.iconList_image_item.-small {
  width: 70px;
}
.iconList_image_item img {
  width: 100%;
}
.iconList_content {
  position: relative;
  padding: 30px;
  border-radius: 8px;
  background: #fff;
  text-align: left;
}
.iconList_content::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  width: 20px;
  aspect-ratio: 1;
  translate: -50% -99%;
  background: #fff;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}
.iconList_content p + p {
  margin-top: 1.5em;
}
@media screen and (max-width: 767px) {
  .iconList {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
  }
  .iconList_item {
    row-gap: 20px;
  }
  .iconList_image {
    gap: 10px;
  }
  .iconList_image_item {
    width: 60px;
  }
  .iconList_image_item.-small {
    width: 40px;
  }
  .iconList_content {
    padding: 20px;
  }
  .iconList_content::before {
    width: 14px;
  }
  .iconList_content p + p {
    margin-top: 1.5em;
  }
}

/*20251113 add end*/
/*20251203 マテリアルページ start*/
.col3-materials-image img {
  width: 100%;
}
.col3-materials-image:has(iframe) {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  height: 0;
  overflow: hidden;
}
.col3-materials-image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.col3-materials-button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 100%;
  height: 52px;
  background-color: #46b023;
  margin-bottom: 15px;
  transition: background-color 0.3s linear;
}
.col3-materials-button:hover {
  background-color: #91c800;
}
.col3-materials-button span {
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 18px;
  color: #fff;
}
.col3-materials-button span::before {
  content: "↓";
  display: inline-block;
  vertical-align: middle;
  margin-top: -1px;
  font-size: 18px;
}
.col3-materials-title {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.3;
  margin-bottom: 10px;
  white-space: pre-line;
}
.col3-materials-list li {
  font-size: 14px;
  line-height: 1.8;
  color: #6c6c6c;
  white-space: pre-line;
}
@media screen and (max-width: 768px) {
  .col3-materials-button span {
    font-size: 15px;
  }
  .col3-materials-button span::before {
    font-size: 15px;
  }
  .col3-materials-title {
    font-size: 16px;
    margin-bottom: 4px;
  }
  .col3-materials-list li {
    font-size: 10px;
    line-height: 1.8;
    color: #6c6c6c;
    white-space: pre-line;
  }
}

.c-button-container {
  display: flex;
}
.c-button-container--center {
  justify-content: center;
}

.c-checkbox {
  position: relative;
  display: block;
}
.c-checkbox__input {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
}
.c-checkbox__input:checked + .c-checkbox__label .checkbox {
  border-color: #46b023;
  background-color: #46b023;
}
.c-checkbox__label {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-align: left;
}
.c-checkbox__label .checkbox {
  flex-shrink: 0;
  position: relative;
  display: block;
  width: 22px;
  aspect-ratio: 1;
  border-radius: 8px;
  border: 2px solid rgba(25, 25, 25, 0.35);
  background-color: #fff;
  transition: border-color 0.2s linear, background-color 0.2s linear;
}
.c-checkbox__label .checkbox::before {
  content: "";
  position: absolute;
  inset: -2px;
  display: block;
  width: 16px;
  aspect-ratio: 1;
  margin: auto;
  background-color: #fff;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(/expo2025/materials/img/ico_checked.svg);
  mask-image: url(/expo2025/materials/img/ico_checked.svg);
}
.c-checkbox__label .text {
  margin-bottom: -4px;
  line-height: 1.2;
  font-weight: 500;
}
.c-checkbox:has(.c-checkbox__input:checked) + .c-button-container .p-material-modal__button {
  pointer-events: auto;
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .c-checkbox__label .text {
    font-size: 12px;
    margin-bottom: -2px;
  }
}

.p-material-modal {
  text-align: left;
}
.p-material-modal__thumbnail {
  position: relative;
  margin-bottom: 20px;
}
.p-material-modal__thumbnail .image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-material-modal__thumbnail:has(iframe) {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  height: 0;
  overflow: hidden;
}
.p-material-modal__thumbnail iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.p-material-modal__title {
  font-weight: 700;
  font-size: 22px;
  line-height: 1.3;
  margin-bottom: 25px;
  white-space: pre-line;
}
.p-material-modal__info__heading {
  font-weight: 700;
  font-size: 15px;
  line-height: 1;
  margin-bottom: 5px;
}
.p-material-modal__info__caption {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  white-space: pre-line;
}
.p-material-modal__note {
  background-color: #f2f2f2;
  margin-top: 20px;
  padding: 20px 30px 30px;
  border-radius: 10px;
}
.p-material-modal__note__heading {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  font-size: 15px;
  line-height: 1;
  margin-bottom: 10px;
}
.p-material-modal__note__caption {
  font-weight: 400;
  font-size: 13px;
  line-height: 1.5;
}
.p-material-modal__accept {
  margin-top: 30px;
  text-align: center;
}
.p-material-modal__button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 100%;
  max-width: 400px;
  height: 82px;
  background-color: #46b023;
  border-radius: 82px;
  color: #fff;
  line-height: 1;
  font-size: 18px;
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  pointer-events: none;
  opacity: 0.15;
  transition: opacity 0.3s linear;
}
.p-material-modal__button-container {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .p-material-modal__thumbnail {
    margin-bottom: 15px;
  }
  .p-material-modal__title {
    font-size: 16px;
    margin-bottom: 15px;
  }
  .p-material-modal__info__heading {
    font-size: 12px;
  }
  .p-material-modal__info__caption {
    font-size: 12px;
  }
  .p-material-modal__note {
    margin-top: 15px;
    padding: 15px 15px 15px;
  }
  .p-material-modal__note__heading {
    font-size: 12px;
  }
  .p-material-modal__note__caption {
    font-size: 10px;
  }
  .p-material-modal__button {
    max-width: 260px;
    height: 60px;
    font-size: 16px;
  }
}

/*20251203 マテリアルページ end*/