@charset "UTF-8";
/*------------------------------------------------------------
  リセット
------------------------------------------------------------*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

img {
  vertical-align: top;
}

img[usemap] {
  border-width: 0;
}

a img {
  border-width: 0;
  text-decoration: none;
}

ul, li {
  list-style: none;
}

/*------------------------------------------------------------
  ベース
------------------------------------------------------------*/
/*------------------------------
  Noto Sans CJK JP Subset（Regular / Bold）
------------------------------*/
@font-face {
  font-family: "NotoSansCJK";
  font-style: normal;
  font-weight: 400;
  src: url("/assets/font/NotoSansCJKjp-Regular.woff2") format("woff2"), url("/assets/font/NotoSansCJKjp-Regular.woff") format("woff");
}

@font-face {
  font-family: "NotoSansCJK";
  font-style: normal;
  font-weight: 700;
  src: url("/assets/font/NotoSansCJKjp-Bold.woff2") format("woff2"), url("/assets/font/NotoSansCJKjp-Bold.woff") format("woff");
}

@font-face {
  font-family: "Noto Serif Japanese";
  font-style: normal;
  font-weight: bold;
  src: url("/assets/font/NotoSerifJP-Bold.woff2") format("woff2"), url("/assets/font/NotoSerifJP-Bold.woff") format("woff");
}

/*------------------------------
  Tag setting
------------------------------*/
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  overflow-y: scroll;
  font-size: 62.5%;
}

body {
  margin: 0;
  padding: 0;
  background-color: #fff;
  color: #333;
  font-size: 1.6rem;
  line-height: 1.6;
  font-family: "NotoSansCJK";
  -webkit-text-size-adjust: none;
}

@media screen and (max-width: 800px) {
  body {
    overflow-wrap: break-word;
    word-wrap: break-word;
    white-space: normal;
  }
}

a {
  color: #0071be;
  text-decoration: none;
}

a:hover {
  color: #0071be;
}

input,
select,
button {
  font-family: inherit;
  outline: none;
}

::-webkit-input-placeholder {
  color: #999;
  opacity: 1;
}

:-ms-input-placeholder {
  color: #999;
}

:placeholder-shown {
  color: #999;
}

sup {
  vertical-align: super;
  font-size: 66.6%;
}

/*------------------------------------------------------------------------------------------
  構造
------------------------------------------------------------------------------------------*/
/*------------------------------------------------------------
  ヘッダー
------------------------------------------------------------*/
.pagetop {
  position: relative;
  z-index: 1000;
}

.header {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background: #fff;
}

@media screen and (max-width: 1100px) {
  .header {
    height: 55px;
  }
}

.header .content-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  padding: 0 30px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 1100px) {
  .header .content-inner {
    padding: 0 0 0 15px;
  }
}

/*------------------------------
  ヘッダー：ロゴ
------------------------------*/
.header-logo {
  width: 150px;
}

@media screen and (max-width: 1100px) {
  .header-logo {
    width: 75px;
  }
  .header-logo img {
    height: 20px;
    width: auto;
  }
}

.header-logo a {
  display: block;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}

.header-logo .logo {
  display: block;
}

.header-logo .logo-white {
  display: none;
}

/*------------------------------
  ヘッダー：DIV用 サイト名
------------------------------*/
.header-name {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 40px;
  margin-left: 1em;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}

@media screen and (max-width: 1100px) {
  .header-name {
    font-size: 1.0rem;
    height: 20px;
  }
}

/*------------------------------
  ヘッダー：SP用ボタン
------------------------------*/
.header-sp-buttons {
  display: none;
}

@media screen and (max-width: 1100px) {
  .header-sp-buttons {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}

.header-sp-buttons.is-opening .sp-search-opener {
  display: none;
}

.header-sp-buttons.is-opening .sp-menu-opener {
  color: #282828;
  background: transparent;
}

.header-sp-buttons.is-opening .sp-menu-opener .sp-menu-opener__icon > span {
  background: #282828;
}

.header-sp-buttons.is-opening .sp-menu-opener .sp-menu-opener__icon > span:nth-child(1) {
  top: 6px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.header-sp-buttons.is-opening .sp-menu-opener .sp-menu-opener__icon > span:nth-child(2) {
  display: none;
}

.header-sp-buttons.is-opening .sp-menu-opener .sp-menu-opener__icon > span:nth-child(3) {
  top: 6px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.header-sp-buttons.is-opening .sp-menu-opener .sp-menu-opener__label::before {
  content: "CLOSE" !important;
}

.sp-search-opener {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 50px;
  height: 55px;
  cursor: pointer;
  border: none;
  border-right: 1px solid #fff;
  background: #282828;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.sp-search-opener img {
  width: 25px;
  height: 25px;
}

.sp-menu-opener {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 50px;
  height: 55px;
  cursor: pointer;
  color: #fff;
  border: none;
  background: #282828;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.sp-menu-opener__icon {
  position: relative;
  display: block;
  width: 20px;
  height: 15px;
  margin: 0 auto;
}

.sp-menu-opener__icon > span {
  position: absolute;
  left: 0;
  display: block;
  width: 20px;
  height: 3px;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  background: #fff;
}

.sp-menu-opener__icon > span:nth-child(1) {
  top: 0;
}

.sp-menu-opener__icon > span:nth-child(2) {
  top: 6px;
}

.sp-menu-opener__icon > span:nth-child(3) {
  top: 12px;
}

.sp-menu-opener__label {
  font-size: .9rem;
  line-height: 1.0;
  display: block;
  margin-top: 7px;
  text-align: center;
}

.sp-menu-opener__label::before {
  content: 'MENU';
}

/*------------------------------
  ヘッダー：グローバルナビゲーション
------------------------------*/
.global-nav {
  height: 100%;
  padding-top: 30px;
}

@media screen and (max-width: 1100px) {
  .global-nav {
    display: none;
  }
}

.global-nav-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.global-nav-list > li {
  height: 70px;
}

.global-nav-list > li:hover .global-nav__button::before {
  width: 60px;
}

.global-nav-list > li:hover .global-nav__menu {
  visibility: visible;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  opacity: 1.0;
}

.global-nav-list > li:last-child {
  padding-right: 0;
}

.global-nav-list > li.is-current .global-nav__button::before {
  width: 60px;
}

.global-nav-list > li.is-sub .global-nav__button {
  font-size: 1.2rem;
  line-height: 1.4;
  padding: 0 10px;
}

.global-nav-list > li.is-border {
  position: relative;
  margin-left: 10px;
  padding-left: 12px;
}

.global-nav-list > li.is-border::before {
  position: absolute;
  content: "";
  left: 0;
  top: calc(50% - 18px);
  width: 2px;
  height: 36px;
  background-color: #E7E7E7;
}

.global-nav__button {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.0;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  padding: 0 13px;
  cursor: pointer;
  color: #282828;
  border: none;
  background: none;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.global-nav__button::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 4px;
  content: '';
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  background: #e6001a;
}

.global-nav__button:hover .global-nav__label {
  color: #282828;
}

.global-nav__menu {
  position: absolute;
  top: 100px;
  left: 0;
  visibility: hidden;
  width: 100%;
  height: auto;
  padding: 40px 100px;
  -webkit-transition-duration: 0.05s;
          transition-duration: 0.05s;
  opacity: 0;
  color: #fff;
  background: #282828;
}

.global-nav-submenu {
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 30px;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.global-nav-submenu a {
  font-size: 1.2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.global-nav__brand {
  padding: 0 19px;
  color: #fff;
  background: #282828;
}

.global-nav__brand:hover {
  color: rgba(255, 255, 255, 0.7);
}

.global-nav__glossary,
.global-nav__sitemap,
.global-nav__contact,
.global-nav__lang {
  padding: 0 20px;
  color: #282828;
}

.global-nav__glossary:hover,
.global-nav__sitemap:hover,
.global-nav__contact:hover,
.global-nav__lang:hover {
  opacity: 0.7;
  color: #282828;
  text-decoration: underline;
}

.global-nav__sitemap,
.global-nav__contact {
  position: relative;
}

.global-nav__sitemap:after,
.global-nav__contact:after {
  position: absolute;
  display: block;
  width: 1px;
  height: 1.2em;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  content: '';
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #282828;
}

/*-- お問い合わせ/言語選択 --*/
.global-nav__contact,
.global-nav__lang {
  padding-left: 41px;
  background-position: left 20px center;
  background-repeat: no-repeat;
}

.global-nav__contact {
  background-image: url("/assets/img/common/black-mail.svg");
  background-size: 14px 11px;
}

.global-nav__lang {
  background-image: url("/assets/img/common/black-world.svg");
  background-size: 14px 14px;
}

/*------------------------------
  ヘッダー：メガメニュー
------------------------------*/
.mega-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.mega-menu__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start;
  min-width: 235px;
  padding-right: 35px;
  border-right: 1px solid #666;
}

.mega-menu__head a {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
}

.mega-menu__head .mega-menu-link__image {
  margin-top: 0;
}

.mega-menu__body {
  position: relative;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-left: 30px;
}

.mega-menu__body::before {
  position: absolute;
  left: -1px;
  top: 0;
  content: '';
  display: block;
  width: 1px;
  height: 100%;
  background-color: #666;
}

.mega-menu__body.is-right::before {
  display: none;
}

.mega-menu__body.is-right .mega-menu-main-list {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.mega-menu-main-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: -11px;
  margin-bottom: -20px;
  margin-right: -20px;
  line-height: 1.0;
}

.mega-menu-main-list > li {
  line-height: 1.4;
  margin-right: 30px;
  margin-bottom: 20px;
}

.mega-menu-link {
  position: relative;
  display: block;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}

.mega-menu-link:hover .mega-menu-link__image img {
  opacity: .5;
}

.mega-menu-link__label {
  font-size: 1.6rem;
  font-weight: bold;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  padding: 0 10px;
  color: #fff;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.mega-menu-link__label.is-toppage {
  font-size: 1.9rem;
}

.mega-menu-link__image {
  position: relative;
  display: block;
  margin-top: 11px;
  background-color: #999;
}

.mega-menu-link__image img {
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}

.mega-menu-sub-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 30px;
  margin-bottom: -11px;
}

.mega-menu-sub-list > li {
  margin-right: 40px;
}

.mega-menu-sub-list > li a {
  font-weight: bold;
  display: inline-block;
  padding-bottom: 8px;
  color: #fff;
  border-bottom: 2px solid transparent;
}

.mega-menu-sub-list > li a:hover {
  border-bottom-color: #fff;
}

/*------------------------------
  ヘッダー：PC検索
------------------------------*/
.pc-search {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  background: #282828;
}

.pc-search__button {
  width: 34px;
  cursor: pointer;
  border: none;
  background: transparent;
}

.pc-search__button:hover {
  opacity: 0.7;
}

.pc-search__input {
  display: inline-block;
  overflow: hidden;
  width: 200px;
  margin-right: -200px;
  padding: 5px 10px;
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
  color: #fff;
  border: none;
  background: transparent;
}

.pc-search__input.is-opening {
  margin-right: 0;
}

/*------------------------------
  SP検索
------------------------------*/
.sp-search {
  position: fixed;
  z-index: 1000;
  top: 55px;
  left: 0;
  display: none;
  width: 100%;
  padding: 20px;
  background: #282828;
}

.sp-search form {
  position: relative;
}

.sp-search__input {
  font-size: 1.0rem;
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 40px;
  padding: 10px 12px;
  border: none;
}

.sp-search__button {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -10px;
  border: none;
  background: none;
}

.sp-search__button img {
  width: 20px;
}

.sp-search__button:disabled img {
  opacity: .4;
}

/*------------------------------
  ヘッダー：SPメニュー
------------------------------*/
.sp-menu {
  position: fixed;
  z-index: 1000;
  top: 55px;
  bottom: 0;
  left: 0;
  display: none;
  overflow-y: auto;
  width: 100%;
  height: calc(100vh - 55px);
  background: #282828;
}

.sp-menu .pdf-icon img {
  width: 12px;
  margin: -4px 0 0 5px;
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
}

.sp-menu .pdf-icon .file-size {
  color: #777;
}

.sp-menu .sp-menu-list li a,
.sp-menu .sp-menu-list li button {
  font-size: 1.4rem;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  padding: 20px;
  text-align: left;
  color: #fff;
  border: none;
  border-bottom: 1px solid #434343;
  background: #282828;
}

.sp-menu .sp-menu-list .sp-menu-list {
  display: none;
}

.sp-menu .sp-menu-list .sp-menu-list li a,
.sp-menu .sp-menu-list .sp-menu-list li button {
  border-bottom-color: #282828;
  background: #333;
}

.sp-menu .sp-menu-list .sp-menu-list .sp-menu-list {
  display: none;
}

.sp-menu .sp-menu-list .sp-menu-list .sp-menu-list li a,
.sp-menu .sp-menu-list .sp-menu-list .sp-menu-list li button {
  border-bottom-color: #282828;
  background: #444;
}

.sp-menu .sp-menu-more {
  position: relative;
  margin: 0;
}

.sp-menu .sp-menu-more::before, .sp-menu .sp-menu-more::after {
  position: absolute;
  top: 50%;
  right: 20px;
  display: inline-block;
  width: 15px;
  height: 2px;
  margin-top: -1px;
  content: '';
  -webkit-transition-duration: .3s;
          transition-duration: .3s;
  background: #fff;
}

.sp-menu .sp-menu-more::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.sp-menu .sp-menu-more.is-opening::after {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

.sp-menu .sp-menu__foot {
  padding-top: 20px;
  background: #282828;
}

.sp-menu .sp-menu__foot .sp-menu-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.sp-menu .sp-menu__foot .sp-menu-list li {
  width: 50%;
}

.sp-menu .sp-menu__foot .sp-menu-list li a {
  font-size: 1.0rem;
  padding: 10px 20px;
  border-bottom: none;
}

.sp-menu .sp-menu__foot .banner-co {
  padding-top: 15px;
  text-align: center;
}

.sp-menu .sp-menu__foot .banner-co img {
  width: 281px;
  max-width: 100%;
  height: auto;
}

.sp-menu .sp-menu__foot .sp-menu__closer {
  font-size: 1.4rem;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  padding: 20px;
  cursor: pointer;
  text-align: center;
  color: #fff;
  border: none;
  border-bottom: 1px solid #434343;
  background: #282828;
}

.sp-menu .sp-menu__foot .sp-menu__closer > span {
  position: relative;
}

.sp-menu .sp-menu__foot .sp-menu__closer > span::before, .sp-menu .sp-menu__foot .sp-menu__closer > span::after {
  position: absolute;
  top: 50%;
  left: -25px;
  display: inline-block;
  width: 15px;
  height: 2px;
  margin-top: -1px;
  content: '';
  background: #fff;
}

.sp-menu .sp-menu__foot .sp-menu__closer > span::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.sp-menu .sp-menu__foot .sp-menu__closer > span::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.sp-menu-list-sub {
  font-size: 1.2rem;
  padding: 20px;
  color: #fff;
  border-bottom: 1px solid #434343;
}

.sp-menu-list-sub .connect-ttl {
  font-weight: bold;
  margin-right: 24px;
  margin-bottom: 12px;
}

.sp-menu-list-sub-list a {
  color: #fff;
  padding: 10px 0 10px 16px;
  display: block;
}

.sp-menu-list-sub-list > li {
  position: relative;
}

.sp-menu-list-sub-list > li:not(:first-child) {
  margin-left: 12px;
}

.sp-menu-list-sub-list > li:not(:first-child)::before {
  position: absolute;
  display: inline-block;
  content: "-";
  color: #888;
  left: 4px;
  top: 10px;
}

.sp-menu-list-sub-list .inner-list {
  margin-left: 12px;
}

.sp-menu-list-sub-list .inner-list > li {
  position: relative;
}

.sp-menu-list-sub-list .inner-list > li::before {
  position: absolute;
  display: inline-block;
  content: "-";
  color: #888;
  left: 4px;
  top: 10px;
}

/*------------------------------------------------------------
  コンテンツ
------------------------------------------------------------*/
.main {
  padding-top: 100px;
}

@media screen and (max-width: 1100px) {
  .main {
    padding-top: 55px;
  }
}

#content {
  overflow: hidden;
  width: 100%;
}

/*------------------------------------------------------------
  フッター
------------------------------------------------------------*/
.footer {
  position: relative;
  background: #282828;
}

.footer .content-box {
  position: relative;
  padding: 47px 50px 0 50px;
}

@media screen and (max-width: 800px) {
  .footer .content-box {
    padding: 47px 20px 30px 20px;
  }
}

.footer .pdf-icon {
  font-size: 1rem;
  color: #999;
}

.footer .pdf-icon img {
  width: 12px;
  margin: -5px 2px 0 4px;
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
}

.footer .file-size {
  margin: -1px 0 0 0;
  font-size: 1rem;
  color: #999;
}

/*------------------------------
  フッター：SNSアイコン
------------------------------*/
.footer-sns {
  position: absolute;
  right: 50px;
  top: 50px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 670px) {
  .footer-sns {
    right: 20px;
    top: 47px;
  }
}

.footer-sns__lead {
  font-size: 1.4rem;
  color: #fff;
}

@media screen and (max-width: 670px) {
  .footer-sns__lead {
    font-size: 1.0rem;
  }
}

.footer-sns__icon {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}

.footer-sns__icon:hover {
  opacity: 0.7;
}

.footer-sns-icon {
  width: auto;
  height: 24px;
  margin-left: 25px;
}

@media screen and (max-width: 670px) {
  .footer-sns-icon {
    margin-left: 17px;
  }
}

/*------------------------------
  フッター：メイン
------------------------------*/
.footer-main {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 40px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 1599px) {
  .footer-main {
    display: block;
    padding-bottom: 20px;
  }
  .footer-main.-spflex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}

.footer-logo {
  width: 140px;
}

.footer-logo a {
  color: #fff;
}

@media screen and (max-width: 800px) {
  .footer-logo {
    width: 100px;
  }
  .footer-logo img {
    height: 28px;
    width: auto;
  }
}

/*------------------------------
  フッター：DIV用 サイト名
------------------------------*/
.footer-name {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 38px;
  margin-left: 1em;
  color: #fff;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}

@media screen and (max-width: 800px) {
  .footer-name {
    font-size: 1.0rem;
    height: 27px;
  }
}

/*------------------------------
  フッター：サイトマップ
------------------------------*/
.footer-sitemap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 90px;
  padding-left: 20px;
}

@media screen and (max-width: 1599px) {
  .footer-sitemap {
    padding-top: 0;
    padding-left: 0;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}

@media screen and (max-width: 800px) {
  .footer-sitemap {
    display: none;
  }
}

.footer-sitemap__column {
  padding-right: 40px;
}

@media screen and (max-width: 1599px) {
  .footer-sitemap__column {
    width: 25%;
    margin-top: 30px;
    padding-right: 30px;
  }
}

.footer-sitemap__column:last-child {
  padding-right: 0;
}

.footer-sitemap__heading {
  font-weight: bold;
  line-height: 1.4;
  display: block;
  margin-top: 30px;
  margin-bottom: 10px;
  color: #fff;
}

.footer-sitemap__heading:first-child {
  margin-top: 0;
}

.footer-sitemap__heading:hover {
  opacity: 0.7;
  color: #fff;
}

.footer-sitemap-list > li {
  margin-bottom: 6px;
}

.footer-sitemap-list a {
  color: #888;
}

.footer-sitemap-list a:hover {
  opacity: 0.7;
  color: #888;
}

.footer-sitemap-list .blank-icon {
  opacity: .5;
}

/*------------------------------
  フッター：サイトマップ VISUAL & SOUND DIV用
------------------------------*/
.footer-div-sitemap {
  position: relative;
  padding-right: 520px;
}

@media screen and (max-width: 1299px) {
  .footer-div-sitemap {
    padding-right: 320px;
  }
}

@media screen and (max-width: 1100px) {
  .footer-div-sitemap {
    padding-right: 0;
  }
}

.footer-div-sitemap a {
  color: #fff;
}

.footer-div-sitemap a:hover {
  opacity: 0.7;
}

.footer-div-sitemap .banner-co {
  position: absolute;
  top: -15px;
  right: 50px;
  width: 450px;
  margin: 0 auto;
  text-align: center;
}

.footer-div-sitemap .banner-co img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 1299px) {
  .footer-div-sitemap .banner-co {
    right: 0;
    width: 300px;
  }
}

@media screen and (max-width: 1100px) {
  .footer-div-sitemap .banner-co {
    position: relative;
    top: auto;
    right: auto;
    width: 450px;
    padding-bottom: 20px;
  }
}

@media screen and (max-width: 800px) {
  .footer-div-sitemap .banner-co {
    width: 281px;
    margin-top: 20px;
  }
}

.footer-div-sitemap-list {
  margin-bottom: 40px;
}

@media screen and (max-width: 800px) {
  .footer-div-sitemap-list {
    display: none;
  }
}

.footer-div-sitemap-list > li {
  font-size: 1.6rem;
  display: inline-block;
  margin-right: 50px;
}

.footer-div-sitemap-list > li:last-child {
  margin-left: 0;
}

.footer-div-sitemap-list.is-sublist {
  margin-top: -30px;
}

.footer-div-sitemap-list.is-sublist > li {
  font-size: 1.4rem;
  margin-right: 30px;
}

/*------------------------------
  フッター：サイトマップ DIV 関連ページ（PIUフッター）
------------------------------*/
.footer-div-sitemap-sub {
  font-size: 1.2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 40px 0 8px 0;
  color: #fff;
}

.footer-div-sitemap-sub .connect-ttl {
  font-weight: bold;
  margin-right: 24px;
}

.footer-div-sitemap-sub-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.footer-div-sitemap-sub-list > li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.footer-div-sitemap-sub-list > li:not(:first-child)::before {
  content: "|";
  color: #888;
  margin: 0 8px;
}

.footer-div-sitemap-sub-list .inner-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.footer-div-sitemap-sub-list .inner-list > li::before {
  content: "-";
  color: #888;
  margin: 0 8px;
}

@media screen and (max-width: 1599px) {
  .footer-div-sitemap-sub {
    padding-top: 0;
    padding-left: 0;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}

@media screen and (max-width: 800px) {
  .footer-div-sitemap-sub {
    display: none;
  }
}

/*------------------------------
  フッター：サブ
------------------------------*/
.footer-sub {
  background: #282828;
}

.footer-sub-nav-list {
  padding: 0 0 50px 0;
}

@media screen and (max-width: 800px) {
  .footer-sub-nav-list {
    padding-bottom: 0;
  }
}

.footer-sub-nav-list > li {
  display: inline-block;
}

@media screen and (max-width: 800px) {
  .footer-sub-nav-list > li {
    margin-bottom: 12px;
  }
}

.footer-sub-nav-list > li::after {
  font-size: 1.2rem;
  display: inline-block;
  width: 30px;
  margin-right: -5px;
  content: '|';
  text-align: center;
  color: #888;
}

@media screen and (max-width: 800px) {
  .footer-sub-nav-list > li::after {
    font-size: 1.0rem;
  }
}

.footer-sub-nav-list > li:last-child::after {
  content: none;
}

.footer-sub-nav-list > li a {
  font-size: 1.2rem;
  color: #888;
}

.footer-sub-nav-list > li a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 800px) {
  .footer-sub-nav-list > li a {
    font-size: 1.0rem;
  }
}

/*------------------------------
  フッター：その他
------------------------------*/
.footer-info-content {
  padding: 17px 50px;
  background: #fff;
}

@media screen and (max-width: 800px) {
  .footer-info-content {
    padding: 50px 20px;
  }
}

.site-info {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 800px) {
  .site-info {
    display: block;
  }
}

.privacymark {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 800px) {
  .privacymark .privacymark__icon {
    display: block;
    width: 75px;
  }
}

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

.privacymark .privacymark__text {
  font-size: 1.2rem;
  padding-left: 10px;
  color: #666;
}

@media screen and (max-width: 800px) {
  .privacymark .privacymark__text {
    padding-left: 10px;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .privacymark .privacymark__text br {
    display: none;
  }
}

.yuryomark {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 0 20px;
}

@media screen and (max-width: 800px) {
  .yuryomark {
    margin: 20px 0 0 0;
  }
}

@media screen and (max-width: 800px) {
  .yuryomark__icon {
    display: block;
  }
}

.yuryomark__icon img {
  width: 100px;
  height: auto;
}

@media screen and (max-width: 800px) {
  .yuryomark__icon img {
    max-width: 75px;
  }
}

.yuryomark__text {
  font-size: 1.2rem;
  padding-left: 0;
  color: #666;
}

@media screen and (max-width: 800px) {
  .yuryomark__text {
    padding-left: 10px;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .yuryomark__text br {
    display: none;
  }
}

.copyright {
  -webkit-box-flex: 2;
  -webkit-flex-grow: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
  font-size: 1.2rem;
  padding-left: 10px;
  text-align: right;
  color: #666;
}

@media screen and (max-width: 1100px) and (min-width: 801px) {
  .copyright span {
    display: block;
  }
}

@media screen and (max-width: 800px) {
  .copyright {
    font-size: 1.0rem;
    margin-top: 30px;
    padding-left: 0;
    text-align: center;
  }
}

/*------------------------------
  フッター：ページ上部へボタン
------------------------------*/
.pagetop-button {
  position: absolute;
  z-index: 900;
  top: -60px;
  right: 0;
  display: none;
  width: 60px;
  height: 60px;
}

@media screen and (max-width: 800px) {
  .pagetop-button {
    top: -40px;
    width: 40px;
    height: 40px;
  }
}

.pagetop-button > a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  background: #282828;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.pagetop-button > a:hover {
  -webkit-box-shadow: 0 0 8px rgba(2, 0, 14, 0.8);
          box-shadow: 0 0 8px rgba(2, 0, 14, 0.8);
}

.pagetop-button img {
  width: 26px;
}

@media screen and (max-width: 800px) {
  .pagetop-button img {
    width: 17px;
  }
}

.pagetop-button.is-fixed {
  position: fixed;
  top: auto;
  right: 0;
  bottom: 0;
}

/*------------------------------------------------------------
  下層：共通
------------------------------------------------------------*/
/*------------------------------
  下層：共通：レイアウト
------------------------------*/
.page-layout {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}

@media screen and (max-width: 800px) {
  .page-layout {
    display: block;
  }
}

.page-main {
  background: #fff;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.page-main__head {
  position: relative;
}

.page-main__head img {
  width: 100%;
}

.page-main__head .text-box {
  width: 50%;
  margin-top: 30px;
}

@media screen and (max-width: 1100px) {
  .page-main__head .text-box {
    width: 100%;
  }
}

/*------------------------------
  下層：共通：パンくず
------------------------------*/
.breadcrumb-box {
  padding: 0 30px;
  background: #fff;
}

@media screen and (max-width: 1100px) {
  .breadcrumb-box {
    padding: 0 20px;
  }
}

.breadcrumb-list {
  overflow-x: auto;
  padding: 0 0 5px 0;
  white-space: nowrap;
}

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

.breadcrumb-list li::after {
  font-size: 1.0rem;
  display: inline-block;
  width: 15px;
  margin-left: 5px;
  content: '>';
  text-align: center;
  color: #888;
}

.breadcrumb-list li a {
  font-size: 1.2rem;
  text-decoration: none;
  color: #888;
}

.breadcrumb-list li a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 800px) {
  .breadcrumb-list li a {
    font-size: 1.0rem;
  }
}

.breadcrumb-list li:last-child::after {
  display: none;
}

.breadcrumb-list li:last-child a {
  color: #282828;
}

/*------------------------------
  下層：共通：ローカルナビゲーション
------------------------------*/
.local-nav {
  position: relative;
  z-index: 1;
  min-width: 280px;
  max-width: 280px;
  margin-bottom: 100px;
  padding-bottom: 10px;
  border: 4px solid #ddd;
  background: #fff;
}

@media screen and (max-width: 1100px) {
  .local-nav {
    display: none;
  }
}

.local-nav hr {
  margin: 12px 26px;
  border-color: #282828;
}

.local-nav__head {
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  min-height: 125px;
  padding: 20px 0 10px 0;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.local-nav__head a {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  padding: 10px 24px;
  color: #282828;
}

.local-nav__head a:hover {
  color: #fff;
  background: -webkit-gradient(linear, right top, left top, from(#040b50), to(#0c468d));
  background: linear-gradient(to left, #040b50, #0c468d);
}

.local-nav-list > li {
  position: relative;
}

.local-nav-list > li.is-current::before {
  position: absolute;
  top: 28px;
  left: -4px;
  width: 20px;
  height: 4px;
  content: '';
  background: #e6001a;
}

.local-nav-list__link {
  font-weight: bold;
  line-height: 1.5;
  display: block;
  padding: 17px 25px;
  color: #282828;
}

.local-nav-list__link:hover {
  color: #fff;
  background: -webkit-gradient(linear, right top, left top, from(#040b50), to(#0c468d));
  background: linear-gradient(to left, #040b50, #0c468d);
}

.local-nav-list__link + .local-nav-list .local-nav-list__link {
  font-weight: normal;
  padding: 17px 24px 17px 41px;
}

/*------------------------------------------------------------
  下層：第1階層
------------------------------------------------------------*/
.primary-page-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 500px;
  padding: 0 100px;
  background-color: #000;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.primary-page-title .primary-page-title-inner {
  width: 100%;
}

.primary-page-title .basic-heading__main {
  font-size: 4.8rem;
  color: #fff;
}

@media screen and (max-width: 800px) {
  .primary-page-title .basic-heading__main {
    font-size: 2.4rem;
    margin-top: 8px;
  }
}

.primary-page-title .text-box {
  margin-top: 15px;
}

.primary-page-title .text-box p {
  color: #fff;
}

.primary-page-title .button-wrap {
  margin-top: 25px;
}

@media screen and (max-width: 800px) {
  .primary-page-title .button-wrap {
    margin-top: 15px;
  }
}

@media screen and (max-width: 800px) {
  .primary-page-title {
    height: 300px;
    padding: 0 20px;
  }
}

/*------------------------------------------------------------
  下層：第2階層
------------------------------------------------------------*/
.secondary-page-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 145px;
  padding: 0 100px;
  background-color: #000;
  background-position: right center;
  background-size: cover;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.secondary-page-title .basic-heading__main {
  color: #fff;
}

@media screen and (max-width: 1599px) {
  .secondary-page-title {
    padding: 0 40px;
  }
}

@media screen and (max-width: 800px) {
  .secondary-page-title {
    padding: 0 20px;
  }
}

/*------------------------------------------------------------------------------------------
  基本コンポーネント
------------------------------------------------------------------------------------------*/
/*------------------------------------------------------------
  ボックス
------------------------------------------------------------*/
.content-box {
  padding: 100px;
}

@media screen and (min-width: 1101px) {
  .content-box--tpd-s {
    padding-top: 60px;
  }
}

@media screen and (max-width: 1599px) {
  .content-box {
    padding-right: 40px;
    padding-left: 40px;
  }
}

@media screen and (max-width: 1100px) {
  .content-box {
    padding-top: 50px;
    padding-right: 50px;
    padding-left: 50px;
  }
}

@media screen and (max-width: 800px) {
  .content-box {
    padding: 40px 20px 50px;
  }
}

.text-box p,
.text-box ol > li,
.text-box .dot-list > li {
  font-size: 1.6rem;
  line-height: 2.0;
}

@media screen and (max-width: 670px) {
  .text-box p,
  .text-box ol > li,
  .text-box .dot-list > li {
    font-size: 1.2rem;
  }
}

.text-box a {
  text-decoration: underline;
}

.text-box.has-border {
  padding: 1em;
  border: 1px solid #ddd;
}

.indent-text {
  padding-left: 1em;
  text-indent: -1em;
}

.indent-text > * {
  text-indent: 0;
}

.text-red {
  color: #e6001a;
}

.text-blue {
  color: #0071be;
}

.text-bold {
  font-weight: bold;
}

.text-gray {
  color: #666 !important;
}

@media screen and (min-width: 671px) {
  .text-small-pc {
    font-size: 85% !important;
  }
}

.text-small {
  font-size: 85% !important;
}

.button-box {
  margin: 25px 0 0 0;
}

@media screen and (max-width: 670px) {
  .button-box {
    margin: 15px 0 0 0;
  }
}

/*------------------------------------------------------------
  カラムレイアウト
------------------------------------------------------------*/
.column-layout {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 800px) {
  .column-layout {
    display: block;
  }
}

.column-layout.is-justify-center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.column-layout .is-self-center {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
}

.column-layout + .column-layout {
  margin-top: 40px;
}

@media screen and (max-width: 800px) {
  .column-layout + .column-layout {
    margin-top: 30px;
  }
}

.column-layout.has-two-columns .column-layout__item {
  width: calc(100% / 2);
}

@media screen and (max-width: 800px) {
  .column-layout.has-two-columns .column-layout__item {
    width: 100%;
    margin-top: 20px;
  }
  .column-layout.has-two-columns .column-layout__item:first-child {
    margin-top: 0;
  }
}

.column-layout.has-two-columns .column-layout__item.is-first {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}

.column-layout.has-two-columns .column-layout__item.is-second {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}

@media screen and (min-width: 1279px) {
  .column-layout.has-two-columns .column-layout__item.is-30per {
    width: calc(35% - 20px) !important;
  }
  .column-layout.has-two-columns .column-layout__item.is-70per {
    width: calc(65% - 20px) !important;
  }
}

@media screen and (max-width: 800px) {
  .column-layout.has-two-columns.is-solid {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .column-layout.has-two-columns.is-solid .column-layout__item {
    margin-top: 0;
  }
}

.column-layout.has-two-columns.is-separated .column-layout__item {
  width: calc(100% / 2 - 20px);
}

@media screen and (max-width: 800px) {
  .column-layout.has-two-columns.is-separated .column-layout__item {
    width: 100%;
  }
}

@media screen and (max-width: 800px) {
  .column-layout.has-two-columns.is-separated.is-solid .column-layout__item {
    width: calc(100% / 2 - 5px) !important;
  }
}

@media screen and (max-width: 1100px) and (min-width: 801px) {
  .column-layout.has-two-columns.is-linklist {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .column-layout.has-two-columns.is-linklist .column-layout__item {
    width: 100%;
    margin-top: 40px;
  }
  .column-layout.has-two-columns.is-linklist .column-layout__item:first-child {
    margin-top: 0;
  }
}

.column-layout.has-three-columns .column-layout__item {
  width: calc(100% / 3);
}

@media screen and (max-width: 800px) {
  .column-layout.has-three-columns .column-layout__item {
    width: 100%;
    margin-top: 30px;
  }
  .column-layout.has-three-columns .column-layout__item:first-child {
    margin-top: 0;
  }
}

.column-layout.has-three-columns.is-separated .column-layout__item {
  width: calc(100% / 3 - 20px);
}

@media screen and (max-width: 800px) {
  .column-layout.has-three-columns.is-separated .column-layout__item {
    width: 100%;
  }
}

@media screen and (max-width: 800px) {
  .column-layout.has-three-columns.is-solid {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .column-layout.has-three-columns.is-solid .column-layout__item {
    margin-top: 0;
  }
}

.column-layout.has-three-columns.is-separated .column-layout__item {
  width: calc(100% / 3 - 20px);
}

@media screen and (max-width: 800px) {
  .column-layout.has-three-columns.is-separated .column-layout__item {
    width: 100%;
  }
}

@media screen and (max-width: 800px) {
  .column-layout.has-three-columns.is-separated.is-solid .column-layout__item {
    width: calc(100% / 3 - 5px) !important;
  }
}

.column-layout.has-four-columns .column-layout__item {
  width: calc(100% / 4);
}

@media screen and (min-width: 801px) {
  .column-layout.has-four-columns .column-layout__item .is-noimage .image-with-arrow__image {
    padding-top: 58%;
  }
}

@media screen and (max-width: 1400px) {
  .column-layout.has-four-columns .column-layout__item .basic-heading__main {
    line-height: 1.2;
    margin-top: 12px;
  }
  .column-layout.has-four-columns .column-layout__item .image-with-arrow__text .basic-heading {
    padding: 0 60px 0 20px;
  }
}

@media screen and (max-width: 1100px) {
  .column-layout.has-four-columns .column-layout__item .image-with-arrow__text .basic-heading {
    padding: 0 40px 0 15px;
  }
}

@media screen and (max-width: 800px) {
  .column-layout.has-four-columns .column-layout__item {
    width: 100%;
    margin-top: 30px;
  }
  .column-layout.has-four-columns .column-layout__item:first-child {
    margin-top: 0;
  }
}

.column-layout.has-four-columns.is-separated .column-layout__item {
  width: calc(100% / 4 - 20px);
}

@media screen and (max-width: 800px) {
  .column-layout.has-four-columns.is-separated .column-layout__item {
    width: 100%;
  }
}

@media screen and (max-width: 800px) {
  .column-layout.has-four-columns.is-solid-sptwo {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .column-layout.has-four-columns.is-solid-sptwo .column-layout__item {
    margin-top: 20px;
  }
  .column-layout.has-four-columns.is-solid-sptwo .column-layout__item:nth-child(-n+2) {
    margin-top: 0;
  }
}

.column-layout.has-four-columns.is-solid-sptwo {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

@media screen and (max-width: 800px) {
  .column-layout.has-four-columns.is-solid-sptwo .column-layout__item {
    width: calc(100% / 2 - 5px) !important;
  }
}

.column-layout.is-reversed {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.column-layout.has-right-floated-column {
  clear: both;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.column-layout.has-right-floated-column .column-layout__item {
  width: calc(100% / 2 - 20px);
}

@media screen and (max-width: 800px) {
  .column-layout.has-right-floated-column .column-layout__item {
    margin-top: 30px;
  }
  .column-layout.has-right-floated-column .column-layout__item:nth-child(1) {
    float: right;
    width: 50%;
    margin-top: 0;
  }
  .column-layout.has-right-floated-column .column-layout__item:nth-child(1) .image-box {
    padding-left: 15px;
  }
  .column-layout.has-right-floated-column .column-layout__item:nth-child(2) {
    width: 100% !important;
  }
  .column-layout.has-right-floated-column .column-layout__item .button-wrap {
    text-align: center;
  }
}

.column-layout.has-left-floated-column {
  clear: both;
}

.column-layout.has-left-floated-column .column-layout__item {
  width: calc(100% / 2 - 20px);
}

@media screen and (max-width: 800px) {
  .column-layout.has-left-floated-column .column-layout__item {
    margin-top: 30px;
  }
  .column-layout.has-left-floated-column .column-layout__item:first-child {
    margin-top: 0;
  }
  .column-layout.has-left-floated-column .column-layout__item:nth-child(1) {
    float: left;
    width: 50%;
  }
  .column-layout.has-left-floated-column .column-layout__item:nth-child(1) .image-box {
    padding-right: 15px;
  }
  .column-layout.has-left-floated-column .column-layout__item:nth-child(2) {
    width: 100% !important;
  }
  .column-layout.has-left-floated-column .column-layout__item .button-wrap {
    text-align: center;
  }
}

.column-layout.has-left-floating-column {
  display: block;
}

.column-layout.has-left-floating-column::after {
  clear: both;
  display: block;
  content: "";
}

.column-layout.has-left-floating-column .column-layout__item:first-child {
  float: left;
  width: calc(100% / 2 - 20px);
}

.column-layout.has-left-floating-column .column-layout__item:first-child .image-box {
  padding-right: 40px;
  padding-bottom: 15px;
}

.column-layout.has-left-floating-column .column-layout__item:nth-child(2) {
  width: 100%;
}

@media screen and (max-width: 800px) {
  .column-layout.has-left-floating-column .column-layout__item:first-child .image-box {
    padding-right: 15px;
    padding-bottom: 5px;
  }
}

.img-float-layout {
  overflow: hidden;
}

.img-float-layout + .img-float-layout,
.img-float-layout + .column-layout {
  margin-top: 40px;
}

@media screen and (max-width: 800px) {
  .img-float-layout + .img-float-layout,
  .img-float-layout + .column-layout {
    margin-top: 30px;
  }
}

.img-float-layout .img-float-layout__item:nth-child(1) {
  width: calc(100% / 2 - 20px);
  max-width: 580px;
  margin-bottom: 10px;
}

@media screen and (max-width: 800px) {
  .img-float-layout .img-float-layout__item:nth-child(1) {
    width: 100%;
    max-width: inherit;
    text-align: center;
  }
}

.img-float-layout .img-float-layout__item > .image-box {
  margin-top: 0;
}

.img-float-layout .img-float-layout__item .image-box {
  text-align: center;
}

.img-float-layout .img-float-layout__item .image-box img {
  width: auto;
  max-width: 100%;
}

@media screen and (max-width: 800px) {
  .img-float-layout .img-float-layout__item {
    width: 100%;
    margin-top: 20px;
  }
  .img-float-layout .img-float-layout__item:first-child {
    margin-top: 0;
  }
}

.img-float-layout.has-left-floated-column .img-float-layout__item:nth-child(1) {
  float: left;
  margin-right: 40px;
}

@media screen and (max-width: 800px) {
  .img-float-layout.has-left-floated-column .img-float-layout__item:nth-child(1) {
    float: none;
    margin-right: 0;
  }
}

.img-float-layout.has-right-floated-column .img-float-layout__item:nth-child(1) {
  float: right;
  margin-left: 40px;
}

@media screen and (max-width: 800px) {
  .img-float-layout.has-right-floated-column .img-float-layout__item:nth-child(1) {
    float: none;
    margin-left: 0;
  }
}

/*------------------------------------------------------------
  ** カラムレイアウト・改
  * 数が不足している場合は左に詰まる
------------------------------------------------------------*/
/*-- 3カラム --*/
.col-3 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

@media screen and (max-width: 800px) {
  .col-3 {
    display: block;
  }
}

.col-3__item {
  /* 横幅[%]（割り切れない場合は小数点第5位を切り上げ） - カラム間余白[px] * (カラム数 - 1) / カラム数 */
  width: calc(33.3334% - 32px * (3 - 1) / 3);
  margin-right: 32px;
}

.col-3__item:nth-child(3n) {
  margin-right: 0;
}

.col-3__item:nth-child(n+4) {
  margin-top: 56px;
}

@media screen and (max-width: 800px) {
  .col-3__item {
    width: 100%;
    margin-top: 56px;
  }
  .col-3__item:first-child {
    margin-top: 0;
  }
}

/*------------------------------------------------------------
  ボタン
------------------------------------------------------------*/
.button-wrap.is-right-over {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 34px;
  margin-right: -90px;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

@media screen and (max-width: 670px) {
  .button-wrap.is-right-over {
    margin-top: 24px;
    margin-right: -42px;
  }
}

.button-wrap.is-margin {
  margin: 50px auto 0 auto;
  text-align: center;
}

@media screen and (max-width: 670px) {
  .button-wrap.is-margin {
    margin: 30px auto 0 auto;
  }
}

_:-ms-lang(x)::-ms-backdrop,
.button-wrap {
  display: -ms-flexbox !important;
  display: flex !important;
}

.basic-button {
  position: relative;
  z-index: 700;
  display: inline-block;
  overflow: visible;
  margin: 0;
  padding: 0;
  text-decoration: none;
  border: 1px solid #aaa;
}

.basic-button:hover {
  -webkit-transition-duration: .2s;
          transition-duration: .2s;
  -webkit-box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
          box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
}

.basic-button:hover img {
  right: 10px;
}

.basic-button img {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 32px;
  -webkit-transition-duration: .2s;
          transition-duration: .2s;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

.basic-button.is-back img {
  right: auto;
  left: 20px;
}

.basic-button.is-back:hover img {
  left: 10px;
}

.basic-button.is-primary .basic-button__label {
  min-height: 68px;
  background: -webkit-gradient(linear, right top, left top, from(#333), to(#555));
  background: linear-gradient(to left, #333, #555);
}

@media screen and (max-width: 670px) {
  .basic-button.is-primary .basic-button__label {
    min-height: 58px;
  }
}

.basic-button.is-bg-wh .basic-button__label {
  min-height: 68px;
  background: #fff;
  color: #0071be;
}

@media screen and (max-width: 670px) {
  .basic-button.is-bg-wh .basic-button__label {
    min-height: 58px;
  }
}

.basic-button.is-dl img {
  right: 20px;
  width: 25px;
}

.basic-button.is-icon {
  width: 50px;
  height: 50px;
  border-color: transparent;
  background: #444;
}

.basic-button.is-icon.is-light {
  background-color: transparent;
}

@media screen and (max-width: 1100px) {
  .basic-button.is-icon {
    width: 40px;
    height: 40px;
  }
}

.basic-button.is-icon .basic-button-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.basic-button.is-icon .basic-button-inner img {
  position: static;
  width: 40%;
}

.basic-button.is-blank {
  width: 50px;
  height: 50px;
  border-color: transparent;
  background: transparent;
}

@media screen and (max-width: 1100px) {
  .basic-button.is-blank {
    width: 40px;
    height: 40px;
  }
}

.basic-button.is-blank.is-blank--hasbg {
  background-color: #444;
}

.basic-button.is-blank .basic-button-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.basic-button.is-blank .basic-button-inner img {
  position: relative;
  top: auto;
  right: auto;
  width: 40%;
  -webkit-transform: none;
          transform: none;
  vertical-align: middle;
}

.basic-button.has-blank-icon .basic-button-inner img {
  right: 20px;
  width: 13px;
}

.basic-button-inner {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
}

.basic-button__label {
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: bold;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  min-width: 300px;
  max-width: 320px;
  height: 100%;
  min-height: 58px;
  padding: 0 44px;
  cursor: pointer;
  color: #fff;
  border: none;
  outline: none;
  background: #444;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.basic-button__label.is-search {
  padding: 0 65px 0 25px;
}

.basic-button__label .icon-mail {
  position: absolute;
  left: 18px;
  top: 50%;
  width: 28px;
  height: 20px;
}

.basic-button__label .icon-mail img {
  width: 100% !important;
  height: auto;
  position: static;
}

@media screen and (max-width: 670px) {
  .basic-button__label .icon-mail {
    width: 24px;
    height: 17px;
  }
}

.basic-button__label .icon-text {
  line-height: 1.4;
  margin-left: 1.15em;
}

.basic-button__label .icon-text-small {
  font-size: 1rem;
  font-weight: normal;
}

@media screen and (max-width: 670px) {
  .basic-button__label {
    font-size: 1.2rem;
    max-width: 100%;
    min-height: 48px;
    width: 275px;
  }
}

.basic-button__label.is-white {
  color: #444;
  background-color: #fff;
}

.has-border-animation {
  position: relative;
}

.has-border-animation::before,
.has-border-animation::after,
.has-border-animation .basic-button-inner::before,
.has-border-animation .basic-button-inner::after {
  position: absolute;
  z-index: 750;
  content: '';
  -webkit-transition: all .4s;
  transition: all .4s;
}

.has-border-animation::before {
  top: -1px;
  right: -1px;
  width: 0;
  height: 1px;
  background: -webkit-gradient(linear, right top, left top, from(#2ed4fd), to(#028bff));
  background: linear-gradient(to left, #2ed4fd, #028bff);
}

.has-border-animation:hover::before {
  width: calc(100% + 2px);
}

.has-border-animation::after {
  bottom: -1px;
  left: -1px;
  width: 0;
  height: 1px;
  background: -webkit-gradient(linear, left top, right top, from(#2ed4fd), to(#028bff));
  background: linear-gradient(to right, #2ed4fd, #028bff);
}

.has-border-animation:hover::after {
  width: calc(100% + 2px);
}

.has-border-animation .basic-button-inner::before {
  top: -1px;
  left: -1px;
  width: 1px;
  height: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(#2ed4fd), to(#028bff));
  background: linear-gradient(to bottom, #2ed4fd, #028bff);
}

.has-border-animation:hover .basic-button-inner::before {
  height: calc(100% + 2px);
}

.has-border-animation .basic-button-inner::after {
  right: -1px;
  bottom: -1px;
  width: 1px;
  height: 0;
  background: -webkit-gradient(linear, left bottom, left top, from(#2ed4fd), to(#028bff));
  background: linear-gradient(to top, #2ed4fd, #028bff);
}

.has-border-animation:hover .basic-button-inner::after {
  height: calc(100% + 2px);
}

/*------------------------------------------------------------
  button
------------------------------------------------------------*/
.button-with-arrow {
  position: relative;
  display: block;
  height: 100%;
  background-color: #eee;
}

.button-with-arrow figure img {
  width: 100%;
}

.button-with-arrow .button-wrap {
  position: absolute;
  right: 0;
  bottom: 0;
}

.button-with-arrow .button-wrap .basic-button:hover {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.button-with-arrow:hover {
  -webkit-transition-duration: .2s;
          transition-duration: .2s;
  -webkit-box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
          box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
}

.button-with-arrow:hover .has-border-animation::before {
  width: calc(100% + 2px);
}

.button-with-arrow:hover .has-border-animation::after {
  width: calc(100% + 2px);
}

.button-with-arrow:hover .basic-button-inner::before {
  height: calc(100% + 2px);
}

.button-with-arrow:hover .basic-button-inner::after {
  height: calc(100% + 2px);
}

.button-with-arrow__text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.button-with-arrow__text .basic-heading {
  padding: 25px 60px 25px 25px;
}

@media screen and (max-width: 1100px) {
  .button-with-arrow__text .basic-heading {
    padding: 20px 45px 20px 20px;
  }
}

.button-with-arrow__text .basic-heading__main {
  font-size: 2rem;
  font-weight: bold;
  margin-top: 0;
}

@media screen and (max-width: 1100px) {
  .button-with-arrow__text .basic-heading__main {
    font-size: 1.3rem;
  }
}

/*------------------------------------------------------------
  テーブル
------------------------------------------------------------*/
table a {
  text-decoration: underline;
}

table a:hover {
  text-decoration: none;
}

.basic-table {
  width: 100%;
  border-collapse: collapse;
}

.basic-table th {
  line-height: 1.6;
  width: 280px;
  padding: 20px;
  text-align: left;
  vertical-align: top;
  border: 1px solid #ddd;
  background: #eee;
}

@media screen and (max-width: 670px) {
  .basic-table th {
    padding: 10px;
  }
}

.basic-table td {
  line-height: 1.6;
  border: 1px solid #ddd;
  background: #fff;
}

.basic-table.has-notextbox td {
  padding: 20px;
}

@media screen and (max-width: 670px) {
  .basic-table.has-notextbox td {
    padding: 10px;
  }
}

@media screen and (max-width: 1100px) {
  .basic-table {
    display: block;
  }
  .basic-table tbody,
  .basic-table tr,
  .basic-table th,
  .basic-table td {
    display: block;
    width: 100%;
  }
  .basic-table th,
  .basic-table td {
    margin-top: -1px;
  }
}

@media screen and (max-width: 670px) {
  .basic-table th,
  .basic-table td {
    font-size: 1.2rem;
  }
}

.basic-table .text-box {
  padding: 20px;
}

@media screen and (max-width: 670px) {
  .basic-table .text-box {
    padding: 10px;
  }
}

.basic-table-noblock {
  width: 100%;
  border-collapse: collapse;
}

.basic-table-noblock th {
  line-height: 1.6;
  width: 280px;
  padding: 20px;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #ddd;
  background: #eee;
}

@media screen and (max-width: 670px) {
  .basic-table-noblock th {
    padding: 10px;
  }
}

.basic-table-noblock td {
  line-height: 1.6;
  border: 1px solid #ddd;
  background: #fff;
  text-align: center;
  vertical-align: middle;
}

.basic-table-noblock.has-notextbox td {
  padding: 20px;
}

@media screen and (max-width: 670px) {
  .basic-table-noblock.has-notextbox td {
    padding: 10px;
  }
}

@media screen and (max-width: 670px) {
  .basic-table-noblock th,
  .basic-table-noblock td {
    font-size: 1.2rem;
  }
}

.basic-table-noblock .text-box {
  padding: 20px;
}

@media screen and (max-width: 670px) {
  .basic-table-noblock .text-box {
    padding: 10px;
  }
}

/*------------------------------------------------------------
  テーブル
------------------------------------------------------------*/
.custom-table1 {
  width: 100%;
  border-collapse: collapse;
}

.custom-table1 th {
  line-height: 1.6;
  width: 280px;
  padding: 20px;
  text-align: left;
  vertical-align: top;
  border: 1px solid #ddd;
  background: #eee;
}

@media screen and (max-width: 670px) {
  .custom-table1 th {
    padding: 10px;
  }
}

.custom-table1 td {
  line-height: 1.6;
  border: 1px solid #ddd;
  background: #fff;
}

.custom-table1.has-notextbox td {
  padding: 20px;
}

@media screen and (max-width: 670px) {
  .custom-table1.has-notextbox td {
    padding: 10px;
  }
}

.custom-table1 th.empty,
.custom-table1 td.empty {
  padding: 0;
  border: 0;
}

@media screen and (max-width: 1100px) {
  .custom-table1 {
    display: block;
  }
  .custom-table1 tbody,
  .custom-table1 tr,
  .custom-table1 th,
  .custom-table1 td {
    display: block;
    width: 100%;
  }
  .custom-table1 th,
  .custom-table1 td {
    margin-top: -1px;
  }
}

@media screen and (max-width: 670px) {
  .custom-table1 th,
  .custom-table1 td {
    font-size: 1.2rem;
  }
}

.custom-table1 .text-box {
  padding: 20px;
}

@media screen and (max-width: 670px) {
  .custom-table1 .text-box {
    padding: 10px;
  }
}

/*------------------------------------------------------------
  テーブル
------------------------------------------------------------*/
.graph-table {
  width: 100%;
  border-collapse: collapse;
}

.graph-table th {
  line-height: 1.6;
  width: 280px;
  padding: 15px;
  text-align: center;
  vertical-align: top;
  border: 1px solid #ddd;
  background: #eee;
}

@media screen and (max-width: 1599px) {
  .graph-table th {
    padding: 10px 5px;
  }
}

@media screen and (max-width: 1100px) {
  .graph-table th {
    padding: 10px 5px;
  }
}

.graph-table td {
  line-height: 1.6;
  text-align: right;
  border: 1px solid #ddd;
  background: #fff;
}

@media screen and (max-width: 1599px) {
  .graph-table th,
  .graph-table td {
    font-size: 1.2rem;
  }
}

.graph-table .text-box {
  padding: 15px;
}

@media screen and (max-width: 1599px) {
  .graph-table .text-box {
    padding: 10px;
  }
}

@media screen and (max-width: 1100px) {
  .graph-table .text-box {
    padding: 10px 5px;
  }
}

/*------------------------------------------------------------
  テーブル
------------------------------------------------------------*/
.js-spScrollCont {
  position: relative;
}

@media screen and (max-width: 800px) {
  .js-spScrollCont__inner {
    overflow: auto;
    width: 100%;
    max-width: 100%;
  }
  .js-spScrollCont__inner__this {
    min-width: 900px;
    margin: -1px -1px 0;
    padding-bottom: 4px;
  }
  .js-spScrollCont:after {
    position: absolute;
    display: block;
    width: 80px;
    height: 65px;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto;
    content: '';
    left: 50%;
    margin-left: -40px;
    top: 100px;
    -webkit-animation: 2 1.5s ease both;
            animation: 2 1.5s ease both;
    pointer-events: none;
    opacity: 0;
    background-image: url(../img/common/finger.png);
  }
}

.js-spScrollCont.is-active:after {
  -webkit-animation-name: hand1;
          animation-name: hand1;
}

.js-spScrollCont--endView.is-active:after {
  -webkit-animation-name: hand2;
          animation-name: hand2;
}

@-webkit-keyframes hand1 {
  0% {
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  80% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    opacity: 0;
  }
}

@keyframes hand1 {
  0% {
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  80% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    opacity: 0;
  }
}

@-webkit-keyframes hand2 {
  0% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  80% {
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    opacity: 0;
  }
}

@keyframes hand2 {
  0% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  80% {
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    opacity: 0;
  }
}

/*------------------------------------------------------------
  テーブル
------------------------------------------------------------*/
@media screen and (max-width: 800px) {
  .ir-table__wrap {
    border: 2px solid #ddd;
  }
}

.ir-table__wrap .ir-table__wrap__inner {
  overflow: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: 100%;
}

.ir-table__wrap .ir-table__wrap__inner__sub {
  width: 100%;
}

@media screen and (max-width: 800px) {
  .ir-table__wrap .ir-table__wrap__inner__sub {
    min-width: 900px;
    margin: -1px -1px 0;
    padding-bottom: 15px;
  }
}

.ir-table {
  width: 100%;
  border-collapse: collapse;
}

.ir-table td,
.ir-table th {
  font-size: 1.6rem;
}

.ir-table th {
  line-height: 1.6;
  padding: 15px;
  text-align: left;
  vertical-align: top;
  vertical-align: middle;
  border: 1px solid #ddd;
  background: #eee;
}

@media screen and (max-width: 670px) {
  .ir-table th {
    padding: 10px;
  }
}

.ir-table th.is-white {
  font-weight: normal;
  vertical-align: top;
  background-color: #fff;
}

.ir-table .is-th-empty {
  background-color: #eee;
}

.ir-table .is-th-dark {
  background-color: #444;
  color: #fff;
}

.ir-table .is-nesting {
  padding-left: calc(15px + 2em);
}

.ir-table th:has(+ .is-nesting), .ir-table td:has(+ .is-nesting) {
  border-right: 0;
}

.ir-table thead th {
  text-align: center;
}

.ir-table td {
  line-height: 1.6;
  padding: 15px;
  text-align: right;
  vertical-align: middle;
  border: 1px solid #ddd;
  background: #fff;
}

@media screen and (max-width: 670px) {
  .ir-table td {
    padding: 10px;
  }
}

@media screen and (max-width: 1599px) {
  .ir-table th,
  .ir-table td {
    padding-right: 10px;
    padding-left: 10px;
  }
}

@media screen and (max-width: 1100px) {
  .ir-table th,
  .ir-table td {
    font-size: 1.2rem;
  }
}

.ir-table .text-box {
  text-align: left;
}

.is-table-blue {
  border: 1px #ddd solid;
}

.is-table-blue th {
  background-color: #5473ab;
  color: #fff;
  border: 1px #fff solid;
  border-top-color: #5473ab;
}

.is-table-blue th:first-child {
  border-left-color: #5473ab;
}

.is-table-blue th:last-child {
  border-right-color: #5473ab;
}

.is-table-blue th.is-bg-white, .is-table-blue td.is-bg-white {
  background-color: #fff;
  color: #333;
  border-color: #ddd;
}

.is-table-blue td.is-bg-blue {
  background-color: #5473ab;
  color: #fff;
  border-color: #fff;
}

/*------------------------------------------------------------
  見出し
------------------------------------------------------------*/
@media screen and (max-width: 1100px) {
  .basic-heading__main {
    font-size: 2.4rem;
  }
}

.basic-heading__main {
  font-size: 3.0rem;
  font-weight: bold;
  margin-top: 15px;
  color: #282828;
}

@media screen and (max-width: 670px) {
  .basic-heading__main {
    font-size: 1.8rem;
  }
}

.basic-heading__main + .text-box {
  margin-top: 30px;
}

@media screen and (max-width: 670px) {
  .basic-heading__main + .text-box {
    margin-top: 14px;
  }
}

.basic-heading__text {
  margin-top: 30px;
  color: #fff;
}

@media screen and (max-width: 1100px) {
  .basic-heading__text {
    margin-top: 15px;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 670px) {
  .basic-heading__text {
    font-size: 1.2rem;
  }
}

.basic-heading__sub {
  font-family: "Lato", sans-serif;
  font-size: 1.6rem;
  font-weight: 900;
  line-height: 1.0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  letter-spacing: .1em;
  color: #e6001a;
}

@media screen and (max-width: 670px) {
  .basic-heading__sub {
    font-size: 1.0rem;
  }
}

.basic-heading__sub::before {
  display: inline-block;
  width: 20px;
  height: 4px;
  margin-right: 10px;
  content: '';
  vertical-align: middle;
  background: #e6001a;
}

@media screen and (max-width: 670px) {
  .basic-heading__sub::before {
    width: 10px;
    height: 2px;
    margin-right: 5px;
  }
}

.basic-heading__sub > span {
  vertical-align: middle;
}

/*------------------------------------------------------------
  画像
------------------------------------------------------------*/
.image-with-arrow {
  position: relative;
  display: block;
}

.image-with-arrow figure img {
  width: 100%;
}

.image-with-arrow .button-wrap {
  position: absolute;
  right: 0;
  bottom: 0;
}

.image-with-arrow .button-wrap .basic-button:hover {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.image-with-arrow:hover {
  -webkit-transition-duration: .2s;
          transition-duration: .2s;
  -webkit-box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
          box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
}

.image-with-arrow:hover .image-with-arrow__image figure img {
  -webkit-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1);
}

.image-with-arrow:hover .has-border-animation::before {
  width: calc(100% + 2px);
}

.image-with-arrow:hover .has-border-animation::after {
  width: calc(100% + 2px);
}

.image-with-arrow:hover .basic-button-inner::before {
  height: calc(100% + 2px);
}

.image-with-arrow:hover .basic-button-inner::after {
  height: calc(100% + 2px);
}

.image-with-arrow__text {
  position: absolute;
  z-index: 400;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.image-with-arrow__text .basic-heading {
  padding: 0 60px;
}

@media screen and (max-width: 1100px) {
  .image-with-arrow__text .basic-heading {
    padding: 0 30px;
  }
}

.image-with-arrow__text .basic-heading__sub::before {
  content: none;
}

.image-with-arrow__text .basic-heading__main {
  font-size: 2.8rem;
  font-weight: bold;
  margin-top: 0;
  color: #fff;
}

.is-noimage .image-with-arrow__text .basic-heading__main {
  color: #333;
}

@media screen and (max-width: 1100px) {
  .image-with-arrow__text .basic-heading__main {
    font-size: 1.6rem;
  }
}

.image-with-arrow__text * + .basic-heading__main {
  margin-top: 7px;
}

.image-with-arrow__image figure {
  overflow: hidden;
}

.image-with-arrow__image figure img {
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}

.image-with-arrow__image.has-overlay {
  position: relative;
}

.image-with-arrow__image.has-overlay:before {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  content: '';
  left: 0;
  top: 0;
  z-index: 1;
  background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.3)));
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.3) 100%);
}

.is-noimage .image-with-arrow__image {
  padding-top: 40%;
  background-color: #eee;
}

@media screen and (max-width: 1100px) {
  .is-noimage .image-with-arrow__image {
    padding-top: 29.412%;
  }
}

.image-with-button {
  position: relative;
}

@media screen and (max-width: 1100px) {
  .image-with-button {
    width: calc(100% - 20px);
  }
}

.image-with-button .basic-heading {
  position: absolute;
  top: 50%;
  left: 60px;
}

@media screen and (max-width: 1100px) {
  .image-with-button .basic-heading {
    top: auto;
    bottom: 113px;
    left: 20px;
  }
}

.image-with-button .basic-heading__main {
  color: #fff;
}

.image-with-button figure img {
  width: 100%;
}

.image-with-button .button-wrap {
  position: absolute;
  right: 0;
  bottom: 80px;
}

@media screen and (max-width: 1100px) {
  .image-with-button .button-wrap {
    bottom: 30px;
  }
}

.image-with-button .button-wrap.is-right-over {
  max-width: 400px;
  margin-right: -30px;
}

@media screen and (max-width: 1100px) {
  .image-with-button .button-wrap.is-right-over {
    display: block;
    width: 100%;
    margin-right: -20px;
  }
  .image-with-button .button-wrap.is-right-over .basic-button {
    width: 100%;
  }
  .image-with-button .button-wrap.is-right-over .basic-button .basic-button__label {
    width: 100%;
    min-width: auto;
    max-width: none;
  }
}

.text-with-image {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  color: #333;
}

.text-with-image.is-graylink {
  width: 100%;
}

@media screen and (max-width: 800px) {
  .text-with-image.is-graylink {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.text-with-image:hover {
  color: #333;
  -webkit-box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
          box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
}

.text-with-image:hover .text-with-image__image img {
  -webkit-transform: translate(-50%, -50%) scale(1.1);
          transform: translate(-50%, -50%) scale(1.1);
}

.text-with-image:hover .has-border-animation::before {
  width: calc(100% + 2px);
}

.text-with-image:hover .has-border-animation::after {
  width: calc(100% + 2px);
}

.text-with-image:hover .basic-button-inner::before {
  height: calc(100% + 2px);
}

.text-with-image:hover .basic-button-inner::after {
  height: calc(100% + 2px);
}

.text-with-image.is-nolink {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.text-with-image:not(.is-nolink) .button-wrap {
  position: absolute;
  right: 0;
  bottom: 0;
}

.text-with-image:not(.is-nolink) .button-wrap .basic-button:hover {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.text-with-image.is-nolink .basic-button {
  text-decoration: none;
}

@media screen and (max-width: 800px) {
  .text-with-image.is-nolink .basic-button .basic-button-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}

.text-with-image.is-graylink .text-with-image__text {
  padding: 35px 35px 35px 35px;
  background-color: #eee;
}

@media screen and (max-width: 800px) {
  .text-with-image.is-graylink .text-with-image__text {
    padding: 30px 30px 50px 30px;
  }
}

.text-with-image .text-with-image__text {
  padding: 63px 60px 55px 60px;
  background: #fff;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (max-width: 1400px) {
  .text-with-image .text-with-image__text {
    padding: 33px 30px 25px 30px;
  }
}

.text-with-image .text-with-image__text .basic-heading__sub {
  font-size: 1.4rem;
}

@media screen and (max-width: 1400px) {
  .text-with-image .text-with-image__text .basic-heading__sub {
    font-size: 1.0rem;
  }
}

.text-with-image .text-with-image__text .basic-heading__sub::before {
  content: none;
}

.text-with-image .text-with-image__text .basic-heading__main {
  margin-top: 9px;
}

.text-with-image .text-with-image__text .title-box {
  font-size: 2.4rem;
  padding-bottom: 10px;
  border-bottom: 1px solid #e6001a;
}

@media screen and (max-width: 1400px) {
  .text-with-image .text-with-image__text .title-box {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 800px) {
  .text-with-image .text-with-image__text .title-box {
    font-size: 1.4rem;
  }
}

.text-with-image .text-with-image__text .text-box {
  margin-top: 20px;
}

@media screen and (max-width: 800px) {
  .text-with-image.is-graylink .text-with-image__image {
    max-width: 100%;
    height: 50vw;
  }
}

.text-with-image .text-with-image__image {
  position: relative;
  overflow: hidden;
  min-width: 40%;
  max-width: 310px;
}

@media screen and (max-width: 800px) {
  .text-with-image .text-with-image__image {
    max-width: 100px;
  }
}

.text-with-image .text-with-image__image.is-contain {
  border: 1px solid #ddd;
}

.text-with-image .text-with-image__image.is-contain figure img {
  width: 100%;
  min-width: inherit;
  max-width: inherit;
  height: auto;
  min-height: inherit;
  margin-top: -6%;
}

@media screen and (max-width: 1599px) {
  .text-with-image .text-with-image__image.is-contain figure img {
    width: 120%;
    margin-top: -10%;
  }
}

@media screen and (max-width: 1100px) {
  .text-with-image .text-with-image__image.is-contain figure img {
    width: auto;
    height: 100%;
    margin-top: 0;
  }
}

.text-with-image .text-with-image__image figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  min-width: 110%;
  max-width: 360px;
  height: auto;
  min-height: 110%;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transform: translate(-50%, -50%) scale(1);
          transform: translate(-50%, -50%) scale(1);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}

/*------------------------------------------------------------
  PDFアイコン
------------------------------------------------------------*/
.pdf-icon {
  font-size: 1.2rem;
  display: inline-block;
  color: #666;
}

.pdf-icon img {
  width: 14px;
  margin: -3px 5px 0 5px;
  vertical-align: middle;
}

.pdf-icon__label {
  font-size: 1.2rem;
  color: #666;
  font-weight: normal;
}

.pdf-icon__link {
  font-size: 1.6rem;
  font-weight: bold;
  display: inline-block;
  margin-right: 5px;
  margin-left: 10px;
  text-decoration: none !important;
}

@media screen and (max-width: 670px) {
  .pdf-icon__link {
    font-size: 1.2rem;
  }
}

.pdf-icon__link.has-nolmargin {
  margin-left: 0;
}

.pdf-icon__link.is-weight-normal {
  font-weight: normal;
}

.pdf-icon__link:hover {
  opacity: 0.7;
}

/*-- PDFアイコンをa要素に含まない場合 --*/
.pdf-icon-link {
  font-size: 1.6rem;
  font-weight: bold;
  margin-right: 5px;
  margin-left: 10px;
  text-decoration: none !important;
}

.pdf-icon-link:hover {
  opacity: 0.7;
}

@media screen and (max-width: 670px) {
  .pdf-icon-link {
    font-size: 1.2rem;
  }
}

/*------------------------------------------------------------
  NEWアイコン
------------------------------------------------------------*/
.new-icon {
  font-size: 1.0rem;
  line-height: 1;
  display: inline-block;
  margin-left: 5px;
  padding: 3px 7px;
  vertical-align: middle;
  color: #fff;
  background-color: #444;
}

/*------------------------------------------------------------
  汎用アイコン
------------------------------------------------------------*/
.basic-icon {
  font-size: 1.0rem;
  line-height: 1;
  display: inline-block;
  margin-left: 5px;
  padding: 3px 7px 4px 7px;
  vertical-align: middle;
  color: #5473ab;
  background-color: rgba(255, 255, 255, 0.65);
  font-weight: normal;
  border: 1px #5473ab solid;
}

/*------------------------------------------------------------
  端末による出し分け
------------------------------------------------------------*/
@media screen and (max-width: 800px) {
  .pc-only {
    display: none !important;
  }
}

@media screen and (min-width: 801px) {
  .sp-only {
    display: none !important;
  }
}

/*------------------------------------------------------------
  css
------------------------------------------------------------*/
.disp-none {
  display: none;
}

.disp-inb {
  display: inline-block;
}

.disp-bl {
  display: block;
}

.w-max100 {
  max-width: 100%;
}

.ta-r {
  text-align: right !important;
}

@media screen and (max-width: 800px) {
  .ta-r--sp {
    text-align: right !important;
  }
}

.ta-l {
  text-align: left !important;
}

@media screen and (max-width: 800px) {
  .ta-l--sp {
    text-align: left !important;
  }
}

.ta-c,
.ta-c th,
.ta-c td {
  text-align: center !important;
}

@media screen and (max-width: 800px) {
  .ta-c--sp,
  .ta-c th--sp,
  .ta-c td--sp {
    text-align: center !important;
  }
}

.note {
  font-size: 1.4rem !important;
  margin-top: 5px;
}

.note > p + p {
  margin-top: 10px;
}

@media screen and (max-width: 800px) {
  .note {
    font-size: 1rem !important;
  }
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.mt-30 {
  margin-top: 30px !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

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

.pb-0 {
  padding-bottom: 0 !important;
}

.f-serif-bold {
  font-family: 'Noto Serif Japanese';
}

.f-small {
  font-size: 75%;
}

/*------------------------------------------------------------------------------------------
  下層用のコンポーネント
------------------------------------------------------------------------------------------*/
/*------------------------------------------------------------
  画像ボックス
------------------------------------------------------------*/
.image-box.has-width {
  max-width: 880px;
  margin-right: auto;
  margin-left: auto;
}

.image-box img {
  width: 100%;
}

.image-box img.has-border {
  border: 1px solid #282828;
}

.image-box img.has-width {
  max-width: 880px;
}

.image-box figcaption {
  font-size: 1.2rem;
  display: block;
  margin-top: 5px;
}

@media screen and (max-width: 670px) {
  .image-box figcaption {
    font-size: 1.0rem;
  }
}

.image-box .text-caption {
  margin-top: 5px;
}

.image-box .text-caption-b {
  margin-top: 8px;
}

.text-caption {
  font-size: 1.2rem;
  width: 100%;
  margin-bottom: 15px;
}

@media screen and (max-width: 670px) {
  .text-caption {
    font-size: 1.0rem;
    margin-bottom: 10px;
  }
}

.text-caption-b {
  font-size: 1.4rem;
}

@media screen and (max-width: 670px) {
  .text-caption-b {
    font-size: 1.0rem;
  }
}

/*------------------------------------------------------------
  別窓アイコン
------------------------------------------------------------*/
.blank-icon {
  display: inline-block;
  margin-right: 3px;
  margin-left: 5px;
}

.blank-icon img {
  width: 11px;
  margin-top: -3px;
  vertical-align: middle;
}

.blank-icon img.is-hover {
  display: none;
}

a:hover .blank-icon img.is-hover {
  display: inline;
}

a:hover .blank-icon img.is-hover + img {
  display: none;
}

/*------------------------------------------------------------------------------------------
  下層第2階層用のコンポーネント
------------------------------------------------------------------------------------------*/
.secondary-page-box {
  padding-top: 85px;
  padding-bottom: 85px;
}

@media screen and (min-width: 1101px) {
  .secondary-page-box.is-narrow {
    padding-right: 0;
    padding-left: 0;
    max-width: 1120px;
    margin: 0 auto;
  }
}

.content-box + .secondary-page-box,
.secondary-page-box + .secondary-page-box {
  padding-top: 0;
}

@media screen and (max-width: 800px) {
  .secondary-page-box {
    padding-top: 33px;
    padding-bottom: 40px;
  }
  .secondary-page-box:last-child {
    padding-bottom: 50px;
  }
}

.secondary-page-box .text-box {
  margin-top: 30px;
}

@media screen and (max-width: 670px) {
  .secondary-page-box .text-box {
    margin-top: 20px;
  }
}

.secondary-page-box .text-box:first-child {
  margin-top: 0;
}

.secondary-page-box .text-box ol,
.secondary-page-box .text-box ul,
.secondary-page-box .text-box p {
  margin-top: 1em;
}

.secondary-page-box .text-box ol:first-child,
.secondary-page-box .text-box ul:first-child,
.secondary-page-box .text-box p:first-child {
  margin-top: 0;
}

.secondary-page-box .text-box a:hover {
  text-decoration: none;
}

.secondary-page-box .text-box + .button-wrap {
  margin-top: 25px;
  margin-bottom: 26px;
}

.secondary-page-box .text-box.is-tablehead + .ir-table__wrap,
.secondary-page-box .text-box.is-tablehead + table {
  margin-top: 15px;
}

@media screen and (max-width: 800px) {
  .secondary-page-box .text-box.is-tablehead + .ir-table__wrap,
  .secondary-page-box .text-box.is-tablehead + table {
    margin-top: 10px;
  }
}

.secondary-page-box .ir-table__wrap {
  margin-top: 25px;
  margin-bottom: 26px;
}

.secondary-page-box .ir-table__wrap + .text-box.is-tablefoot,
.secondary-page-box table + .text-box.is-tablefoot {
  margin-top: -10px;
}

@media screen and (max-width: 800px) {
  .secondary-page-box .ir-table__wrap + .text-box.is-tablefoot,
  .secondary-page-box table + .text-box.is-tablefoot {
    margin-top: -15px;
  }
}

.secondary-page-box .column-layout:not(.is--nav) {
  margin-top: 30px;
}

@media screen and (max-width: 670px) {
  .secondary-page-box .column-layout:not(.is--nav) {
    margin-top: 20px;
  }
  .secondary-page-box .column-layout:not(.is--nav) + .image-box {
    margin-top: 10px;
  }
}

.secondary-page-box .column-layout:not(.is--nav) .text-box {
  margin-top: 0;
}

.secondary-page-box .column-layout:not(.is--nav) .image-box {
  margin-top: 0;
}

@media screen and (max-width: 800px) {
  .secondary-page-box .column-layout.is--nav {
    margin-top: 20px;
  }
}

@media screen and (max-width: 800px) {
  .secondary-page-box .column-layout.is--nav .column-layout__item {
    margin-top: 20px;
  }
}

.secondary-page-box .column-layout .gray-box {
  background-color: #f5f5f5;
  padding: 30px;
  line-height: 1.8;
}

.secondary-page-box .column-layout .gray-box > ul > li + li {
  margin-top: 30px;
}

.secondary-page-box .column-layout .gray-box-title {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 10px;
  position: relative;
  padding-left: 1em;
  line-height: 1.6;
}

.secondary-page-box .column-layout .gray-box-title::before {
  position: absolute;
  content: "";
  width: 15px;
  height: 2px;
  background-color: #e6001a;
  display: inline-block;
  vertical-align: middle;
  left: 0;
  top: 50%;
}

@media screen and (max-width: 800px) {
  .secondary-page-box .column-layout .gray-box {
    padding: 15px;
    font-size: 1.2rem;
  }
  .secondary-page-box .column-layout .gray-box > ul > li + li {
    margin-top: 15px;
  }
  .secondary-page-box .column-layout .gray-box-title {
    font-size: 1.4rem;
    margin-bottom: 5px;
  }
  .secondary-page-box .column-layout .gray-box-title::before {
    width: 12px;
  }
}

.secondary-page-box .image-box {
  margin-top: 30px;
}

.secondary-page-box .image-box.is-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.secondary-page-box .image-box.is-flex .image-box-flexitem {
  width: 49%;
  margin: 15px 0;
}

.secondary-page-box .image-box.is-flex .image-box-flexitem.is-border img {
  border: 1px solid #ccc;
}

.secondary-page-box .image-box.is-flex.is-smalltype {
  display: block;
}

.secondary-page-box .image-box.is-flex.is-smalltype .image-box-flexitem {
  width: 200px !important;
  margin: 0 20px 0 0;
  float: left;
}

.secondary-page-box .image-box.is-flex.is-smalltype .image-box-flexitem + .text-box {
  width: 100% !important;
  margin: 0;
  float: none;
}

.secondary-page-box .image-box.is-flex.is-smalltype::after {
  clear: both;
  display: block;
  content: "";
}

@media screen and (max-width: 670px) {
  .secondary-page-box .image-box {
    margin-top: 20px;
  }
  .secondary-page-box .image-box.is-flex .image-box-flexitem {
    width: 100% !important;
    margin: 10px 0;
  }
  .secondary-page-box .image-box.is-flex .image-box-flexitem.is-sp-small {
    width: 50% !important;
    margin-right: auto;
    margin-left: auto;
  }
  .secondary-page-box .image-box.is-flex.is-smalltype .image-box-flexitem {
    width: 150px !important;
  }
}

.secondary-page-box .movie-box {
  margin: 30px auto;
  width: 65%;
}

.secondary-page-box .movie-box.is-w-max {
  width: 100%;
}

.secondary-page-box .movie-box_inner {
  padding-top: calc(315/560 * 100%);
  position: relative;
}

.secondary-page-box .movie-box_inner iframe {
  position: absolute;
  display: block;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 670px) {
  .secondary-page-box .movie-box {
    margin: 20px auto;
    width: 100%;
  }
}

/*------------------------------------------------------------
  段落
------------------------------------------------------------*/
/*------------------------------
  段落：レベル1
------------------------------*/
.page-content-level-1 {
  margin-top: 40px;
  padding: 0 20px 0 20px;
}

.page-content-level-1.is-nopadding {
  padding-right: 0;
  padding-left: 0;
}

.page-content-level-1.is-nomargin {
  margin: 0;
}

@media screen and (max-width: 800px) {
  .page-content-level-1 {
    margin-top: 25px;
    padding: 0;
  }
}

.page-heading-level-1 {
  font-size: 2.8rem;
  line-height: 1.4;
  position: relative;
  padding-bottom: 30px;
}

@media screen and (max-width: 670px) {
  .page-heading-level-1 {
    font-size: 1.6rem;
    padding-bottom: 20px;
  }
}

.page-heading-level-1::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  content: '';
  background: #ddd;
}

@media screen and (max-width: 670px) {
  .page-heading-level-1::before {
    height: 2px;
  }
}

.page-heading-level-1::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 150px;
  height: 4px;
  content: '';
  background: #e6001a;
}

@media screen and (max-width: 670px) {
  .page-heading-level-1::after {
    width: 75px;
    height: 2px;
  }
}

/*------------------------------
  段落：レベル2
------------------------------*/
.page-content-level-2 {
  margin-top: 30px;
  padding: 0 20px 0 20px;
}

@media screen and (max-width: 670px) {
  .page-content-level-2 {
    margin-top: 20px;
    padding: 0 5px;
  }
}

.page-content-level-2.is-nopadding {
  padding-right: 0;
  padding-left: 0;
}

.page-content-level-2 .text-box {
  margin-top: 24px;
}

@media screen and (max-width: 670px) {
  .page-content-level-2 .text-box {
    margin-top: 13px;
  }
}

.page-content-level-2.is-page-accordion-target {
  display: none;
  margin-top: 0;
  margin-bottom: 80px;
}

@media screen and (max-width: 670px) {
  .page-content-level-2.is-page-accordion-target {
    margin-bottom: 44px;
  }
}

.page-content-level-2.is-page-accordion-target + .is-page-accordion-trigger {
  margin-top: 20px;
}

.page-content-level-2-sub {
  margin-top: 30px;
}

@media screen and (max-width: 670px) {
  .page-content-level-2-sub {
    margin-top: 20px;
  }
}

.page-heading-level-2 {
  font-size: 2.4rem;
  line-height: 1.4;
  margin-top: 54px;
  padding: 16px 20px;
  background: #eee;
}

@media screen and (max-width: 670px) {
  .page-heading-level-2 {
    font-size: 1.4rem;
    margin-top: 38px;
    padding: 15px 10px;
  }
}

.page-heading-level-2.is-page-accordion-trigger {
  position: relative;
  padding-right: 50px;
  cursor: pointer;
}

@media screen and (max-width: 670px) {
  .page-heading-level-2.is-page-accordion-trigger {
    padding-right: 30px;
  }
}

.page-heading-level-2.is-page-accordion-trigger::before, .page-heading-level-2.is-page-accordion-trigger::after {
  position: absolute;
  top: calc(50% - 2px);
  right: 10px;
  right: 20px;
  width: 20px;
  height: 4px;
  content: '';
  background: #0071be;
}

@media screen and (max-width: 670px) {
  .page-heading-level-2.is-page-accordion-trigger::before, .page-heading-level-2.is-page-accordion-trigger::after {
    top: calc(50% - 1px);
    right: 10px;
    width: 15px;
    height: 2px;
  }
}

.page-heading-level-2.is-page-accordion-trigger::before {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

.page-heading-level-2.is-page-accordion-trigger::after {
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.page-heading-level-2.is-page-accordion-trigger:hover {
  -webkit-box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
          box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
}

.page-heading-level-2.is-page-accordion-trigger.is-opening::after {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

.page-heading-level-2-sub {
  font-size: 2.2rem;
  line-height: 1.4;
  margin-top: 45px;
  padding-left: 30px;
  position: relative;
}

.page-heading-level-2-sub::before {
  position: absolute;
  display: block;
  width: 20px;
  height: 4px;
  content: '';
  background: #e6001a;
  left: 0;
  top: 0.65em;
}

@media screen and (max-width: 670px) {
  .page-heading-level-2-sub {
    font-size: 1.6rem;
    margin-top: 32px;
    padding-left: 22px;
  }
  .page-heading-level-2-sub::before {
    width: 16px;
    height: 4px;
  }
}

/*------------------------------
  段落：レベル3
------------------------------*/
.page-content-level-3 {
  margin-top: 25px;
  padding: 0 10px 0 10px;
}

@media screen and (max-width: 670px) {
  .page-content-level-3 {
    margin-top: 13px;
  }
}

@media screen and (max-width: 670px) {
  .page-content-level-3 {
    padding: 0;
  }
}

.page-content-level-3.has-nomargin {
  margin-top: 0;
}

.page-content-level-3.is-nopadding {
  padding-right: 0;
  padding-left: 0;
}

.page-heading-level-3 {
  font-size: 2rem;
  line-height: 1.4;
  margin-top: 43px;
  padding: 0 10px 12px 10px;
  border-bottom: 2px solid #e6001a;
}

.page-heading-level-3.is-nopadding {
  padding-right: 0;
  padding-left: 0;
}

@media screen and (max-width: 670px) {
  .page-heading-level-3 {
    font-size: 1.6rem;
    margin-top: 19px;
    padding: 0 0 11px 0;
    border-bottom-width: 1px;
  }
}

/*------------------------------
  段落：レベル4
------------------------------*/
.page-content-level-4 {
  margin-top: 10px;
}

.page-content-level-4 .text-box {
  margin-top: 14px;
}

@media screen and (max-width: 670px) {
  .page-content-level-4 .text-box {
    font-size: 1.2rem;
    margin-top: 8px;
  }
}

.page-content-level-4.has-padding {
  padding-right: 20px;
  padding-left: 20px;
}

@media screen and (max-width: 670px) {
  .page-content-level-4.has-padding {
    padding-right: 10px;
    padding-left: 10px;
  }
}

.page-heading-level-4 {
  font-size: 1.8rem;
  line-height: 1.4;
  margin-top: 40px;
  padding: 0 0 0 0;
  font-weight: bold;
}

@media screen and (max-width: 670px) {
  .page-heading-level-4 {
    font-size: 1.3rem;
    margin-top: 30px;
  }
}

.page-heading-level-4.is-nomargin {
  margin: 0;
}

/*------------------------------
  段落：レベル5
------------------------------*/
.page-content-level-5 {
  margin-top: 30px;
}

@media screen and (max-width: 670px) {
  .page-content-level-5 {
    margin-top: 20px;
  }
}

.page-heading-level-5 {
  font-size: 2.0rem;
  line-height: 1.4;
  margin-top: 40px;
  padding: 0 0 12px 0;
  border-bottom: 2px solid #e6001a;
}

.page-heading-level-5.has-border-1 {
  border-bottom-width: 1px;
}

@media screen and (max-width: 670px) {
  .page-heading-level-5 {
    font-size: 1.3rem;
    margin-top: 30px;
    border-bottom-width: 1px;
  }
}

/*------------------------------
  段落：レベル6
------------------------------*/
.page-content-level-6 {
  display: inline-block;
  margin: 15px 0 0 0;
}

.page-content-level-6.is-simple {
  font-size: inherit;
  margin: 0;
}

@media screen and (max-width: 670px) {
  .page-content-level-6 {
    margin-top: 5px;
  }
  .page-content-level-6.is-simple {
    font-size: 1.3rem;
    margin: 0;
  }
}

/*------------------------------------------------------------
  お知らせ
------------------------------------------------------------*/
.news-list {
  margin: 4px 0 0 0;
  padding: 0;
  list-style-type: none;
}

.news-list > li {
  border-bottom: 1px solid #ddd;
}

.news-list-notitle {
  border-top: 1px solid #ddd;
}

.news-list a {
  text-decoration: none;
  color: inherit;
}

.news-list a:hover p {
  text-decoration: underline;
}

.news-list-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 15px 0;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

@media screen and (max-width: 1100px) {
  .news-list-item {
    display: block;
  }
}

.news-list-item__day {
  font-size: 1.2rem;
  display: inline-block;
  width: 80px;
  color: #aaa;
}

@media screen and (max-width: 670px) {
  .news-list-item__day {
    width: 68px;
  }
}

.news-list-item__status {
  line-height: 1.0;
  display: inline-block;
  width: 100px;
}

.news-list-item__status-icon {
  font-size: 1.0rem;
  line-height: 1.0;
  display: inline-block;
  min-width: 80px;
  padding: 4px 3px;
  text-align: center;
  color: #333;
  border: 1px solid;
}

@media screen and (max-width: 670px) {
  .news-list-item__status-icon {
    min-width: 70px;
  }
}

/* お知らせ */
.news-list-item__status-icon.is-news {
  color: #0071be !important;
  border-color: #0071be !important;
}

/* 製品販売 */
.news-list-item__status-icon.is-product-sales {
  color: #389600 !important;
  border-color: #389600 !important;
}

/* IR */
.news-list-item__status-icon.is-ir {
  color: #d86873 !important;
  border-color: #d86873 !important;
}

/* キャンペーン */
.news-list-item__status-icon.is-campaign {
  color: #9467d8 !important;
  border-color: #9467d8 !important;
}

/* 訃報 */
.news-list-item__status-icon.is-obituary {
  color: #d1814c !important;
  border-color: #d1814c !important;
}

/* 適時開示 */
.news-list-item__status-icon.is-timely-disclosure {
  color: #6772d8 !important;
  border-color: #6772d8 !important;
}

/* IRお知らせ */
.news-list-item__status-icon.is-ir-news {
  color: #4b9bd1 !important;
  border-color: #4b9bd1 !important;
}

/* 株主総会 */
.news-list-item__status-icon.is-general-meeting {
  color: #007d32 !important;
  border-color: #007d32 !important;
}

/* IR資料 */
.news-list-item__status-icon.is-ir-document {
  color: #c7a003 !important;
  border-color: #c7a003 !important;
}

/* Financial */
.news-list-item__status-icon.is-financial {
  color: #e4959d !important;
  border-color: #e4959d !important;
}

/* 有報 */
.news-list-item__status-icon.is-securities-report {
  color: #058f9f !important;
  border-color: #058f9f !important;
}

/* PR情報 */
.news-list-item__status-icon.is-pr-info {
  color: #be4c00 !important;
  border-color: #be4c00 !important;
}

/* 決済 */
.news-list-item__status-icon.is-settlement {
  color: #0072be !important;
  border-color: #0072be !important;
}

/* 媒体 */
.news-list-item__status-icon.is-media {
  color: #46a435 !important;
  border-color: #46a435 !important;
}

/* ブランド */
.news-list-item__status-icon.is-brand-information {
  color: #cf6955 !important;
  border-color: #cf6955 !important;
}

/* 商品レビュー */
.news-list-item__status-icon.is-product-review {
  color: #2bb09f !important;
  border-color: #2bb09f !important;
}

/* 納入事例 */
.news-list-item__status-icon.is-delivery-case {
  color: #32b1cd !important;
  border-color: #32b1cd !important;
}

/* 商品動画 */
.news-list-item__status-icon.is-product-movie {
  color: #ff5987 !important;
  border-color: #ff5987 !important;
}

/* ブログ */
.news-list-item__status-icon.is-blog {
  color: #1e519e !important;
  border-color: #1e519e !important;
}

/* サイト更新情報 */
.news-list-item__status-icon.is-site-update {
  color: #6db84a !important;
  border-color: #6db84a !important;
}

/* 媒体掲載情報 */
.news-list-item__status-icon.is-media-publication {
  color: #e4959d !important;
  border-color: #e4959d !important;
}

/* 受賞情報 */
.news-list-item__status-icon.is-award {
  color: #a584d7 !important;
  border-color: #a584d7 !important;
}

.news-list-item__status-icon--topics {
  font-size: 1.0rem;
  line-height: 1.0;
  display: inline-block;
  min-width: 80px;
  padding: 4px 3px;
  text-align: center;
  border: 1px solid;
}

@media screen and (max-width: 670px) {
  .news-list-item__status-icon--topics {
    min-width: 70px;
  }
}

.news-list-item__status-icon--topics.is-topics-event {
  color: #29529c;
  border-color: #29529c;
}

.news-list-item__status-icon--topics.is-topics-product {
  color: #e56f05;
  border-color: #e56f05;
}

.news-list-item__status-icon--topics.is-topics-intelligence {
  color: #999;
  border-color: #999;
}

.news-list-item__status-icon--topics.is-topics-campaign {
  color: #298d4b;
  border-color: #298d4b;
}

.news-list-item__status-icon--topics.is-topics-company {
  color: #298d4b;
  border-color: #298d4b;
}

.news-list-item__status-icon--topics.is-topics-news {
  color: #298d4b;
  border-color: #298d4b;
}

.news-list-item__status-icon--topics.is-topics-important {
  color: #b7020b;
  border-color: #b7020b;
}

.news-list-item__status-icon--topics.is-topics-story {
  color: #CF6868;
  border-color: #CF6868;
}

.news-list-item__text {
  margin-top: -.125em;
  vertical-align: middle;
  color: #333;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (max-width: 670px) {
  .news-list-item__text {
    font-size: 1.2rem;
    margin-top: 6px;
  }
}

.news-list-item__text .text-box {
  margin-top: 0 !important;
}

@media screen and (max-width: 670px) {
  .news-list-item__text .text-box + .text-box {
    margin-top: .5em;
  }
}

.news-list-item__text .icon-kasizen {
  font-weight: bold;
  position: relative;
  display: inline-block;
  overflow: hidden;
  width: 1em;
  height: 1em;
  vertical-align: middle;
  text-indent: -9999px;
}

.news-list-item__text .icon-kasizen:before {
  position: absolute;
  display: block;
  width: 0.5em;
  height: 0.4em;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  content: '';
  left: 50%;
  top: 50%;
  margin-top: -.2em;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border: solid #333;
  border-width: 0 0 2px 2px;
}

/*------------------------------
  お知らせ 詳細 日付・カテゴリ
------------------------------*/
.news-list-detail-info {
  margin-bottom: 30px;
  text-align: right;
}

@media screen and (max-width: 670px) {
  .news-list-detail-info {
    margin-bottom: 20px;
  }
}

.news-list-detail-info .news-list-item__day {
  margin-right: 1em;
}

/*------------------------------------------------------------
  関連情報
------------------------------------------------------------*/
.relate-box {
  margin-top: 40px;
  padding: 25px 30px 0;
  border: 2px solid #eee;
}

.relate-box.is-gradation {
  background: -webkit-gradient(linear, left top, right top, from(#ddeff1), color-stop(50%, #deedfe), to(#eae7f9));
  background: linear-gradient(to right, #ddeff1 0%, #deedfe 50%, #eae7f9 100%);
  border: none;
}

.relate-box:first-child {
  margin-top: 0;
}

@media screen and (max-width: 670px) {
  .relate-box {
    margin-top: 30px;
    padding: 15px 15px 0;
    border-width: 1px;
  }
}

.relate-box .relate-box__title {
  font-size: 2.0rem;
  font-weight: bold;
  position: relative;
  z-index: 1;
  padding-bottom: 15px;
  border-bottom: 2px solid #e6001a;
}

@media screen and (max-width: 670px) {
  .relate-box .relate-box__title {
    font-size: 1.3rem;
    border-bottom-width: 1px;
  }
}

.relate-box .relate-box-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.relate-box .relate-box-list > li {
  font-size: 1.6rem;
  font-weight: bold;
  position: relative;
  margin-right: 30px;
  padding: 18px 0;
}

.relate-box .relate-box-list > li a {
  color: inherit;
}

.relate-box .relate-box-list > li a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 670px) {
  .relate-box .relate-box-list > li {
    font-size: 1.2rem;
    width: 100%;
    padding: 0;
  }
  .relate-box .relate-box-list > li a {
    display: block;
    padding: 12px 0;
    color: inherit;
  }
}

.relate-box .relate-box-list > li:after {
  position: absolute;
  top: -1px;
  left: 0;
  display: block;
  width: 100vw;
  height: 1px;
  content: '';
  background-color: #eee;
}

.relate-box .relate-box-list > li img {
  width: 12px;
  margin-top: -.1em;
  margin-right: 5px;
  vertical-align: middle;
}

/*------------------------------------------------------------
  その他
------------------------------------------------------------*/
/*------------------------------
  SNS
------------------------------*/
.sns-box-list {
  line-height: 1;
  margin: 70px 0;
  text-align: right;
}

@media screen and (max-width: 670px) {
  .sns-box-list {
    margin: 50px 0;
  }
}

.sns-box-list > li {
  display: inline-block;
  margin-left: 8px;
}

.sns-box-list > li * {
  vertical-align: middle;
}

/*------------------------------
  リンク
------------------------------*/
.text__link {
  font-size: 1.6rem;
  font-weight: bold;
  display: inline-block;
  text-decoration: none !important;
}

@media screen and (max-width: 670px) {
  .text__link {
    font-size: 1.2rem;
  }
}

.text__link:hover {
  opacity: 0.7;
}

/*------------------------------
  リンクボックス
------------------------------*/
.link-box-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 40px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

@media screen and (max-width: 670px) {
  .link-box-list {
    display: block;
  }
}

.link-box-list > li {
  min-width: 50%;
  max-width: 50%;
  margin-bottom: 25px;
}

@media screen and (max-width: 670px) {
  .link-box-list > li {
    min-width: auto;
    max-width: 100%;
    margin-bottom: 10px;
  }
}

.link-box-list > li:nth-child(odd) {
  padding-right: 10px;
}

@media screen and (max-width: 670px) {
  .link-box-list > li:nth-child(odd) {
    padding-right: 0;
  }
}

.link-box-list > li:nth-child(even) {
  padding-left: 10px;
}

@media screen and (max-width: 670px) {
  .link-box-list > li:nth-child(even) {
    padding-left: 0;
  }
}

.link-box {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}

.link-box:hover {
  -webkit-box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
          box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
}

.link-box:hover .link-box__photo img {
  -webkit-transform: translate(-50%, -50%) scale(1.15);
          transform: translate(-50%, -50%) scale(1.15);
}

.link-box__label {
  font-size: 1.6rem;
  font-weight: bold;
  padding: 25px 20px;
  color: #282828;
  background: #eee;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (max-width: 670px) {
  .link-box__label {
    font-size: 1.2rem;
    padding: 20px 10px;
  }
}

.link-box__photo {
  position: relative;
  display: block;
  overflow: hidden;
  min-width: 100px;
}

.link-box__photo img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  min-width: 110%;
  max-width: 110px;
  height: auto;
  min-height: 100%;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transform: translate(-50%, -50%) scale(1);
          transform: translate(-50%, -50%) scale(1);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -o-object-fit: cover;
     object-fit: cover;
}

.link-box__icon {
  position: absolute;
  top: calc(50% - 8.2px);
  right: 10px;
  width: 5px;
}

/*------------------------------
  リンクメニュー
------------------------------*/
.link-menu-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: -30px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.link-menu-list > li {
  position: relative;
  min-width: 25%;
  max-width: 25%;
  margin-top: 30px;
}

@media screen and (max-width: 670px) {
  .link-menu-list > li {
    min-width: 33.333%;
    max-width: 33.333%;
    margin-top: 15px;
  }
}

.link-menu-list > li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 1px;
  height: 100%;
  content: '';
  background: #282828;
}

.link-menu-list > li a {
  font-weight: bold;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 100%;
  padding: .5em 30px;
  text-align: center;
  color: #0071be;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.link-menu-list > li a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 670px) {
  .link-menu-list > li a {
    font-size: 1.2rem;
    padding: .5em 15px;
  }
}

.link-menu-list > li:nth-child(4n)::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  content: '';
  background: #282828;
}

@media screen and (max-width: 670px) {
  .link-menu-list > li:nth-child(4n)::after {
    content: none;
  }
}

@media screen and (max-width: 670px) {
  .link-menu-list > li:nth-child(3n)::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    content: '';
    background: #282828;
  }
}

.link-menu-list > li:last-child::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  content: '';
  background: #282828;
}

.link-menu-list.is-gradation {
  margin: -4px;
}

.link-menu-list.is-gradation > li {
  background: -webkit-gradient(linear, left top, right top, from(#ddeff1), color-stop(50%, #deedfe), to(#eae7f9));
  background: linear-gradient(to right, #ddeff1 0%, #deedfe 50%, #eae7f9 100%);
  height: 64px;
  margin: 4px;
  min-width: calc(25% - 8px);
  max-width: calc(25% - 8px);
}

.link-menu-list.is-gradation > li::before {
  display: none !important;
}

.link-menu-list.is-gradation > li::after {
  display: none !important;
}

.link-menu-list.is-gradation > li a {
  color: #282828;
}

@media screen and (max-width: 670px) {
  .link-menu-list.has-sptwo-columns > li {
    min-width: calc(100% / 2);
    max-width: calc(100% / 2);
    margin-top: 15px;
  }
}

@media screen and (max-width: 670px) {
  .link-menu-list.has-sptwo-columns > li:nth-child(3n):after {
    display: none;
  }
  .link-menu-list.has-sptwo-columns > li:nth-child(2n)::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    content: '';
    background: #282828;
  }
}

@media screen and (max-width: 670px) {
  .link-menu-list.has-spthree-columns > li {
    min-width: calc(100% / 3);
    max-width: calc(100% / 3);
    margin-top: 15px;
  }
  .link-menu-list.has-spthree-columns.is-gradation {
    margin: -2px;
  }
  .link-menu-list.has-spthree-columns.is-gradation > li {
    margin: 2px;
    min-width: 0;
    width: calc(100% / 3 - 4px);
  }
  .link-menu-list.has-spthree-columns.is-gradation > li a {
    padding-right: 15px;
    padding-left: 10px;
  }
}

/*------------------------------
------------------------------*/
.link-menu__icon {
  position: absolute;
  top: calc(50% - 8.2px);
  right: 10px;
  width: 5px;
}

@media screen and (max-width: 670px) {
  .link-menu__icon {
    right: 8px;
  }
}

/*------------------------------
------------------------------*/
a.has-zoom {
  position: relative;
  display: block;
}

@media screen and (min-width: 801px) {
  a.has-zoom {
    pointer-events: none;
  }
  a.has-zoom .icon-arrow {
    display: none;
  }
}

a.has-zoom .icon-arrow {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 40px;
  height: 40px;
  background-color: #eee;
}

a.has-zoom .icon-arrow img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 70%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

/*------------------------------
  電話リンク
------------------------------*/
@media screen and (min-width: 801px) {
  .tel-link {
    text-decoration: none !important;
    pointer-events: none;
    color: inherit;
  }
}

/*------------------------------
  電話リンク
------------------------------*/
.beforearrow-link {
  color: #282828;
  text-decoration: none !important;
  font-weight: bold;
}

.beforearrow-link:before {
  position: absolute;
  display: block;
  width: 1.2em;
  height: 1.2em;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  content: '';
  position: relative;
  display: inline-block;
  margin-top: -.2em;
  margin-right: .4em;
  vertical-align: middle;
  background: url(../img/common/white-arrow-min.svg) no-repeat 54% center #444;
  background-size: 55% auto;
}

.beforearrow-link.is-icon-navy:before {
  background-color: #322F90;
}

.beforearrow-link:hover {
  text-decoration: underline !important;
}

.beforearrow-link:hover:before {
  background-color: #0071be;
}

/*------------------------------------------------------------
  タブ
------------------------------------------------------------*/
.tab-box {
  margin: 60px 0;
}

@media screen and (max-width: 800px) {
  .tab-box {
    margin: 30px 0;
  }
}

.tab-box.is-large .tab-list li {
  font-size: 1.8rem;
}

@media screen and (max-width: 800px) {
  .tab-box.is-large .tab-list li {
    font-size: 1.6rem;
  }
}

.tab-box .tab-list {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 0 17px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

@media screen and (max-width: 800px) {
  .tab-box .tab-list {
    margin: -6px -3px 0;
    padding: 0;
  }
}

.tab-box .tab-list:after {
  position: absolute;
  display: block;
  width: 100%;
  height: 4px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  content: '';
  left: 0;
  bottom: 0;
  z-index: 1;
  background-color: #ddd;
}

@media screen and (max-width: 800px) {
  .tab-box .tab-list:after {
    display: none;
  }
}

.tab-box .tab-list > li {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.2;
  position: relative;
  z-index: 0;
  padding: 0 3px;
  text-align: center;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (max-width: 800px) {
  .tab-box .tab-list > li {
    font-size: 1.4rem;
    width: 33.333%;
    margin-top: 6px;
    -webkit-box-flex: 1;
    -webkit-flex: auto;
        -ms-flex: auto;
            flex: auto;
  }
}

.tab-box .tab-list > li a {
  display: block;
  padding: 15px 10px;
  color: #fff;
  border: 4px solid transparent;
  background-color: #444;
}

@media screen and (max-width: 800px) {
  .tab-box .tab-list > li a {
    border-width: 2px;
  }
}

.tab-box .tab-list > li a:hover {
  opacity: .7;
}

.tab-box .tab-list > li.is-current {
  z-index: 2;
}

.tab-box .tab-list > li.is-current a {
  position: relative;
  pointer-events: none;
  color: inherit;
  border-color: #ddd;
  background-color: #fff;
}

.tab-box .tab-list > li.is-current a:before {
  position: absolute;
  display: block;
  width: 100%;
  height: 4px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  content: '';
  left: 0;
  bottom: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  background-color: #fff;
}

@media screen and (max-width: 800px) {
  .tab-box .tab-list > li.is-current a:before {
    display: none;
  }
}

.tab-box .tab-list > li.is-current a:after {
  position: absolute;
  display: block;
  width: 2.4em;
  height: 4px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  content: '';
  left: 50%;
  bottom: 0;
  margin-left: -1.2em;
  background-color: #e6001a;
}

@media screen and (max-width: 800px) {
  .tab-box .tab-list > li.is-current a:after {
    height: 2px;
    margin-bottom: 5px;
  }
}

/*------------------------------------------------------------
  select
------------------------------------------------------------*/
.select-box {
  position: relative;
  margin: 0 0 40px;
}

@media screen and (max-width: 800px) {
  .select-box {
    margin: 0 0 40px;
  }
}

.select-box .is-forsp {
  display: none;
  margin-bottom: 20px;
}

@media screen and (max-width: 1100px) {
  .select-box .is-forsp {
    display: block;
  }
}

.select-box label {
  position: relative;
  display: inline-block;
  min-width: 350px;
  background-color: #eee;
}

@media screen and (max-width: 670px) {
  .select-box label {
    min-width: 100%;
  }
}

.select-box label:after {
  pointer-events: none;
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  content: '';
  right: 0;
  top: 50%;
  width: 10px;
  height: 10px;
  margin-top: -2px;
  margin-right: 20px;
  -webkit-transform: scale(1.1) translateY(-50%) rotate(45deg);
          transform: scale(1.1) translateY(-50%) rotate(45deg);
  border: #0071be solid;
  border-width: 0 2px 2px 0;
}

.select-box select {
  font-size: 1.6rem;
  font-weight: bold;
  display: block;
  min-width: 100%;
  padding: 15px 50px 15px 20px;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.select-box select::-ms-expand {
  display: none;
}

.select-box .news-head__link__wrap {
  display: block;
  margin: 0;
  margin-bottom: 20px;
  text-align: right;
}

@media screen and (min-width: 671px) {
  .select-box .news-head__link__wrap {
    position: absolute;
    top: 0;
    right: 0;
  }
}

/*------------------------------------------------------------
  list
------------------------------------------------------------*/
ul.dot-list > li {
  padding-left: 1em;
  text-indent: -1em;
}

ul.dot-list > li:before {
  position: absolute;
  display: block;
  width: 0.25em;
  height: 0.25em;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  content: '';
  position: relative;
  display: inline-block;
  margin: -.25em .37em 0;
  vertical-align: middle;
  background-color: #000;
}

ul.dot-list > li * {
  text-indent: 0;
}

ul.dot-list > li > ul {
  margin-top: 0 !important;
}

ul.dot-list > li > ul > li {
  padding-left: 1em;
  text-indent: -1em;
}

ul.dot-list > li > ul > li:before {
  position: relative;
  display: inline-block;
  margin: -.25em .37em 0;
  vertical-align: middle;
  background-color: #fff;
  border: 1px #666 solid;
  content: "";
  width: 3px;
  height: 3px;
}

ul.dot-list > li:not(:last-child) > ul {
  margin-bottom: 1em;
}

@media screen and (max-width: 800px) {
  ul.dot-list {
    margin-top: 0.5em !important;
  }
}

ul.dot-list.is-dot-blue > li + li {
  margin-top: 8px;
}

ul.dot-list.is-dot-blue > li:before {
  background-color: #0071be;
}

ol.num-list > li {
  padding-left: 1.8em;
  text-indent: -1.8em;
  margin-bottom: 10px;
}

ol.num-list > li .num {
  display: inline-block;
  width: 1.8em;
}

ol.num-list * {
  text-indent: 0;
}

/*------------------------------------------------------------
  注釈ボックス
------------------------------------------------------------*/
.caution-box {
  margin-top: 30px;
}

.caution-box.is-nopadding {
  margin-top: 0 !important;
}

@media screen and (max-width: 800px) {
  .caution-box {
    margin-top: 20px;
  }
}

.caution-box.has-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 670px) {
  .caution-box.has-title {
    display: block;
  }
}

.caution-box.has-title .caution-box__title {
  width: 3em;
}

.caution-box.has-title .caution-box__main {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.caution-box a {
  text-decoration: underline;
}

.caution-box a:hover {
  text-decoration: none;
}

.caution-box ul {
  margin-top: 30px;
}

.caution-box ul > li {
  line-height: 2;
}

.caution-box ul.dot-list {
  margin: 20px 0 20px;
}

.caution-box ul.dot-list > li p {
  display: inline;
}

.table-caution-box {
  font-size: 1.6rem;
  margin-top: 20px;
}

@media screen and (max-width: 800px) {
  .table-caution-box {
    font-size: 1.2rem;
    margin-top: 10px;
  }
}

.table-caution-box a {
  text-decoration: underline;
}

.table-caution-box a:hover {
  text-decoration: none;
}

.table-caution-box ul > li {
  line-height: 2;
}

.table-caution-box ul.dot-list {
  margin: 20px 0 20px;
}

.table-caution-box ul.dot-list > li p {
  display: inline;
}

.caution-box__pdf {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 20px;
  margin-bottom: 20px;
}

@media screen and (max-width: 800px) {
  .caution-box__pdf {
    display: block;
  }
}

.caution-box__pdf:first-child {
  margin-top: 0;
}

.caution-box__pdf .caution-box__pdf__logo {
  margin-right: 20px;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
}

@media screen and (max-width: 800px) {
  .caution-box__pdf .caution-box__pdf__logo img {
    width: 80px;
  }
}

.caution-box__pdf .caution-box__pdf__text {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (max-width: 800px) {
  .caution-box__pdf .caution-box__pdf__text {
    margin-top: 10px;
  }
}

.caution-box__eir {
  margin-top: 80px;
  text-align: right;
}

@media screen and (max-width: 800px) {
  .caution-box__eir {
    margin-top: 60px;
  }
  .caution-box__eir img {
    width: 60px;
  }
}

/* =========================================================
pager
========================================================= */
.pagination {
  line-height: 1;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 700px;
  margin: 0 auto;
  margin-top: 80px;
  padding: 10px 70px;
  text-align: center;
}

.pagination li {
  font-size: 1.6rem;
  font-weight: 700;
  display: inline-block;
  margin: 2px 3px;
  padding: 0;
  list-style: none;
  vertical-align: middle;
  text-indent: 0;
  background-color: #fff;
}

.pagination li:before {
  display: none;
}

.pagination li > a:hover {
  opacity: 0.7;
}

.pagination li > a,
.pagination li > span {
  line-height: 40px;
  display: block;
  width: 34px;
  height: 40px;
  text-align: center;
  text-decoration: none;
  background-color: #eee;
}

.pagination li.is-active > a,
.pagination li.is-active > span, .pagination li.is-disabled > a,
.pagination li.is-disabled > span {
  background-color: transparent;
}

.pagination li.is-disabled {
  margin-right: 0;
  margin-left: 0;
}

.pagination li.is-prev, .pagination li.is-next {
  font-weight: 400;
  font-weight: bold;
  line-height: 1;
  position: absolute;
  top: 50%;
  margin: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.pagination li.is-prev a,
.pagination li.is-prev span, .pagination li.is-next a,
.pagination li.is-next span {
  width: auto;
  width: 100px;
  color: inherit;
  background-color: #eee;
}

.pagination li.is-prev a:before, .pagination li.is-prev a:after,
.pagination li.is-prev span:before,
.pagination li.is-prev span:after, .pagination li.is-next a:before, .pagination li.is-next a:after,
.pagination li.is-next span:before,
.pagination li.is-next span:after {
  position: absolute;
  display: block;
  width: 0.4em;
  height: 0.4em;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  content: '';
  position: relative;
  display: none;
  margin-top: -.35em;
  vertical-align: middle;
  border: solid #0071be;
  border-width: 2px 2px 0 0;
}

.pagination li.is-prev.is-disabled, .pagination li.is-next.is-disabled {
  opacity: .3;
  color: inherit;
}

.pagination li.is-prev {
  left: 16px;
}

.pagination li.is-prev a:before,
.pagination li.is-prev span:before {
  display: inline-block;
  margin-right: .8em;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

.pagination li.is-next {
  right: 16px;
}

.pagination li.is-next a:after,
.pagination li.is-next span:after {
  display: inline-block;
  margin-left: .8em;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

@media screen and (max-width: 670px) {
  .pagination {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    max-width: 320px;
    margin-top: 40px;
    padding: 0;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .pagination li {
    font-size: 1.3rem;
    margin: 0 2px;
  }
  .pagination li a,
  .pagination li span {
    line-height: 50px;
    width: 30px;
    height: 50px;
  }
  .pagination li.is-prev, .pagination li.is-next {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    -webkit-transform: none;
            transform: none;
  }
  .pagination li.is-prev a,
  .pagination li.is-prev span, .pagination li.is-next a,
  .pagination li.is-next span {
    width: 30px;
    text-indent: -9999px;
  }
  .pagination li.is-prev a:before, .pagination li.is-prev a:after,
  .pagination li.is-prev span:before,
  .pagination li.is-prev span:after, .pagination li.is-next a:before, .pagination li.is-next a:after,
  .pagination li.is-next span:before,
  .pagination li.is-next span:after {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: 0;
    text-indent: 0;
  }
  .pagination li.is-prev a:before,
  .pagination li.is-prev span:before {
    -webkit-transform: translate(-30%, -50%) rotate(-135deg);
            transform: translate(-30%, -50%) rotate(-135deg);
  }
  .pagination li.is-next a:after,
  .pagination li.is-next span:after {
    -webkit-transform: translate(-70%, -50%) rotate(45deg);
            transform: translate(-70%, -50%) rotate(45deg);
  }
}

/* =========================================================
slide mv
========================================================= */
.slide-mv {
  position: relative;
  z-index: 0;
}

.slide-mv + * {
  position: relative;
  z-index: 1;
}

.slide-mv:before {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  content: '';
  right: 0;
  top: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  -webkit-transform-origin: 100% 100%;
          transform-origin: 100% 100%;
  background-color: #ddd;
}

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

.slide-mv .slide-mv__title {
  position: relative;
}

.slide-mv .slide-mv__title .slide-mv__main__mainimg {
  overflow: hidden;
  width: 100%;
  background-color: #000;
}

.slide-mv .slide-mv__title .slide-mv__main__mainimg:after {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  content: '';
  left: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.3);
}

.slide-mv .slide-mv__title .slide-mv__main__mainimg img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.is-IE .slide-mv .slide-mv__title .slide-mv__main__mainimg img {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: none;
  height: auto;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media screen and (max-width: 1600px) {
  .is-IE .slide-mv .slide-mv__title .slide-mv__main__mainimg img {
    width: auto;
    height: 100%;
  }
}

.slide-mv .slide-mv__title .slide-mv__main__mainimg.is-visual img {
  -o-object-position: right top;
     object-position: right top;
}

.is-IE .slide-mv .slide-mv__title .slide-mv__main__mainimg.is-visual img {
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.slide-mv .slide-mv__title__textbox {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  text-align: center;
}

.slide-mv .slide-mv__title .slide-mv__title__en {
  font-family: "Lato", sans-serif;
  font-weight: bold;
  color: #e6001a;
}

.slide-mv .slide-mv__title .slide-mv__title__jp {
  color: #fff;
}

.slide-mv .content-box {
  position: relative;
  padding-top: 0;
  padding-bottom: 0;
}

.slide-mv .slide-mv__main .slide-mv__main__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.slide-mv .slide-mv__main .slide-mv__main__list .slide-mv__main__item {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 25%;
}

.slide-mv .slide-mv__main .slide-mv__main__list .slide-mv__main__item .slide-mv__main__item__inner {
  overflow: hidden;
  cursor: pointer;
  background-color: #000;
  -webkit-box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
          box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
}

.slide-mv .slide-mv__main .slide-mv__main__list .slide-mv__main__item img {
  width: 100%;
  -webkit-transition: ease .2s opacity;
  transition: ease .2s opacity;
  opacity: .5;
}

.slide-mv .slide-mv__main .slide-mv__main__list .slide-mv__main__item.is-current img {
  opacity: 1;
}

.slide-mv .slide-mv__main .slide-mv__main__list + .slide-mv__main__list {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.slide-mv .slide-mv__main .slide-mv__main__list + .slide-mv__main__list .slide-mv__main__item {
  width: 10px;
  height: 10px;
  margin: 0 10px;
  margin-top: 30px;
  cursor: pointer;
  border-radius: 50% 50%;
  background-color: #bbb;
}

.slide-mv .slide-mv__main .slide-mv__main__list + .slide-mv__main__list .slide-mv__main__item img {
  display: none;
}

.slide-mv .slide-mv__main .slide-mv__main__list + .slide-mv__main__list .slide-mv__main__item.is-current {
  background: #282828;
}

@media screen and (min-width: 801px) {
  .slide-mv {
    padding-bottom: 60px;
  }
  .slide-mv:before {
    padding-bottom: 150px;
    -webkit-transform: skewX(-30deg);
            transform: skewX(-30deg);
  }
  .slide-mv .slide-mv__title .slide-mv__main__mainimg {
    position: relative;
    height: 660px;
  }
  .slide-mv .slide-mv__title__textbox {
    padding: 0 20px;
  }
  .slide-mv .slide-mv__title .slide-mv__title__en {
    font-size: 1.6rem;
  }
  .slide-mv .slide-mv__title .slide-mv__title__jp {
    font-size: 4.8rem;
    margin-top: 5px;
  }
  .slide-mv .slide-mv__title .slide-mv__title__jp.is-small {
    font-size: 4.0rem;
  }
}

@media screen and (min-width: 801px) and (max-width: 1100px) {
  .slide-mv .slide-mv__title .slide-mv__title__jp.is-small {
    font-size: 3.0rem;
  }
}

@media screen and (min-width: 801px) {
  .slide-mv .content-box {
    margin-top: -4.6%;
  }
  .slide-mv .slide-mv__main .slide-mv__main__list {
    margin: 0 -5px;
  }
  .slide-mv .slide-mv__main .slide-mv__main__list .slide-mv__main__item {
    padding: 0 5px;
  }
}

@media screen and (max-width: 800px) {
  .slide-mv {
    padding-bottom: 60px;
  }
  .slide-mv:before {
    right: -50%;
    padding-bottom: 100px;
    -webkit-transform: skewX(-30deg);
            transform: skewX(-30deg);
  }
  .slide-mv .slide-mv__title .slide-mv__main__mainimg {
    height: 360px;
  }
  .slide-mv .slide-mv__title__textbox {
    margin-top: -10px;
    padding: 0 20px;
  }
  .slide-mv .slide-mv__title .slide-mv__title__en {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  .slide-mv .slide-mv__title .slide-mv__title__en {
    font-size: 1.0rem;
  }
}

@media screen and (max-width: 800px) {
  .slide-mv .slide-mv__title .slide-mv__title__jp {
    font-size: 3.6rem;
    margin-top: 5px;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  .slide-mv .slide-mv__title .slide-mv__title__jp {
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 800px) {
  .slide-mv .slide-mv__title .slide-mv__title__jp.is-small {
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  .slide-mv .slide-mv__title .slide-mv__title__jp.is-small {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 800px) {
  .slide-mv .content-box {
    margin-top: -8.5%;
  }
  .slide-mv .slide-mv__main {
    margin: 0 -15px;
  }
  .slide-mv .slide-mv__main .slide-mv__main__list {
    margin: 0 -2px;
  }
  .slide-mv .slide-mv__main .slide-mv__main__list .slide-mv__main__item {
    padding: 0 2px;
  }
  .slide-mv .slide-mv__main .slide-mv__main__list .slide-mv__main__item img {
    width: 150%;
    max-width: inherit;
    margin-left: -25%;
  }
}

/*------------------------------------------------------------
  ホーム
------------------------------------------------------------*/
/*------------------------------
  構造の上書き
------------------------------*/
#home .main, .visual-visual .main {
  padding: 0 !important;
}

/*------------------------------
  PCのファーストビュー
------------------------------*/
@media screen and (min-width: 1101px) {
  #home .header, .visual-visual .header {
    -webkit-transition-duration: .5s;
            transition-duration: .5s;
    background: transparent;
  }
  #home .header .logo, .visual-visual .header .logo {
    display: none;
  }
  #home .header .logo-white, .visual-visual .header .logo-white {
    display: block;
  }
  #home .header .global-nav__button, .visual-visual .header .global-nav__button {
    color: #fff;
  }
  #home .header .global-nav__brand, .visual-visual .header .global-nav__brand {
    color: #fff;
    background: rgba(238, 238, 238, 0.1);
  }
  #home .header .global-nav__glossary,
  #home .header .global-nav__sitemap,
  #home .header .global-nav__contact,
  #home .header .global-nav__lang, .visual-visual .header .global-nav__glossary,
  .visual-visual .header .global-nav__sitemap,
  .visual-visual .header .global-nav__contact,
  .visual-visual .header .global-nav__lang {
    color: #fff;
  }
  #home .header .global-nav__sitemap:after,
  #home .header .global-nav__contact:after, .visual-visual .header .global-nav__sitemap:after,
  .visual-visual .header .global-nav__contact:after {
    background-color: #fff;
  }
  #home .header .global-nav__contact, .visual-visual .header .global-nav__contact {
    background-image: url("/assets/img/common/white-mail.svg");
  }
  #home .header .global-nav__lang, .visual-visual .header .global-nav__lang {
    background-image: url("/assets/img/common/white-world.svg");
  }
  #home .header:hover, #home .header.is-scrolled, .visual-visual .header:hover, .visual-visual .header.is-scrolled {
    background: #fff;
  }
  #home .header:hover .logo, #home .header.is-scrolled .logo, .visual-visual .header:hover .logo, .visual-visual .header.is-scrolled .logo {
    display: block;
  }
  #home .header:hover .logo-white, #home .header.is-scrolled .logo-white, .visual-visual .header:hover .logo-white, .visual-visual .header.is-scrolled .logo-white {
    display: none;
  }
  #home .header:hover .global-nav__button, #home .header.is-scrolled .global-nav__button, .visual-visual .header:hover .global-nav__button, .visual-visual .header.is-scrolled .global-nav__button {
    color: #282828 !important;
  }
  #home .header:hover .global-nav__brand, #home .header.is-scrolled .global-nav__brand, .visual-visual .header:hover .global-nav__brand, .visual-visual .header.is-scrolled .global-nav__brand {
    color: #fff;
    background: #282828;
  }
  #home .header:hover .global-nav__brand:hover, #home .header.is-scrolled .global-nav__brand:hover, .visual-visual .header:hover .global-nav__brand:hover, .visual-visual .header.is-scrolled .global-nav__brand:hover {
    color: rgba(255, 255, 255, 0.7);
  }
  #home .header:hover .global-nav__glossary,
  #home .header:hover .global-nav__sitemap,
  #home .header:hover .global-nav__contact,
  #home .header:hover .global-nav__lang, #home .header.is-scrolled .global-nav__glossary,
  #home .header.is-scrolled .global-nav__sitemap,
  #home .header.is-scrolled .global-nav__contact,
  #home .header.is-scrolled .global-nav__lang, .visual-visual .header:hover .global-nav__glossary,
  .visual-visual .header:hover .global-nav__sitemap,
  .visual-visual .header:hover .global-nav__contact,
  .visual-visual .header:hover .global-nav__lang, .visual-visual .header.is-scrolled .global-nav__glossary,
  .visual-visual .header.is-scrolled .global-nav__sitemap,
  .visual-visual .header.is-scrolled .global-nav__contact,
  .visual-visual .header.is-scrolled .global-nav__lang {
    color: #282828 !important;
  }
  #home .header:hover .global-nav__sitemap:after,
  #home .header:hover .global-nav__contact:after, #home .header.is-scrolled .global-nav__sitemap:after,
  #home .header.is-scrolled .global-nav__contact:after, .visual-visual .header:hover .global-nav__sitemap:after,
  .visual-visual .header:hover .global-nav__contact:after, .visual-visual .header.is-scrolled .global-nav__sitemap:after,
  .visual-visual .header.is-scrolled .global-nav__contact:after {
    background-color: #282828;
  }
  #home .header:hover .global-nav__contact, #home .header.is-scrolled .global-nav__contact, .visual-visual .header:hover .global-nav__contact, .visual-visual .header.is-scrolled .global-nav__contact {
    background-image: url("/assets/img/common/black-mail.svg");
  }
  #home .header:hover .global-nav__lang, #home .header.is-scrolled .global-nav__lang, .visual-visual .header:hover .global-nav__lang, .visual-visual .header.is-scrolled .global-nav__lang {
    background-image: url("/assets/img/common/black-world.svg");
  }
}

/*------------------------------
  メインビジュアル
------------------------------*/
.mv {
  position: relative;
  width: 100%;
}

.mv-inner {
  position: absolute;
  top: calc(50% - 60px);
  left: 107px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 450px;
  height: 120px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 670px) {
  .mv-inner {
    left: 22.5px;
    width: auto;
  }
}

.mv__title {
  font-family: "Lato", sans-serif;
  font-size: 11.0rem;
  font-weight: 700;
  line-height: 1.0;
  display: block;
  width: auto;
  letter-spacing: calc(70em / 1000);
  color: #fff;
}

@media screen and (max-width: 670px) {
  .mv__title {
    font-size: 5.5rem;
  }
}

.mv__catch {
  font-size: 1.8rem;
  display: block;
  width: auto;
  margin-top: 44px;
  letter-spacing: calc(50em / 1000);
  color: #fff;
}

@media screen and (max-width: 670px) {
  .mv__catch {
    font-size: 1.2rem;
    margin-top: 13px;
  }
}

.mv__image {
  width: 100%;
}

.mv__scroll {
  font-family: "Lato", sans-serif;
  font-size: 1.6rem;
  position: absolute;
  top: 0;
  left: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100vh;
  max-height: 100%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  letter-spacing: .08em;
  color: #fff;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}

@media screen and (max-height: 799px) {
  .mv__scroll {
    height: 800px;
  }
}

@media screen and (max-width: 800px) {
  .mv__scroll {
    display: none;
  }
}

.mv__scroll .mv__scroll__inner {
  padding-bottom: 50px;
}

.mv__scroll .mv__scroll__image {
  display: block;
  width: 6px;
  margin: 0 auto;
  margin-top: 5px;
}

/*------------------------------
  Division and About
------------------------------*/
.division-and-about-box {
  padding: 80px 0 0px 0;
  background-image: url("/assets/img/home/about-background.jpg");
  background-position: center center;
  background-size: cover;
}

@media screen and (max-width: 670px) {
  .division-and-about-box {
    padding: 40px 0 0 0;
    background-image: url("/assets/img/home/about-background-sp.jpg");
  }
}

.division-box {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 30px 0;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  background: #333333;
  background: -webkit-gradient(linear, left top, right top, from(#333333), to(#555555));
  background: linear-gradient(to right, #333333 0%, #555555 100%);
}

@media screen and (max-width: 800px) {
  .division-box {
    display: block;
    padding-left: 20px;
  }
}

.division-box .basic-heading {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 276px;
  padding-right: 52px;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 1100px) {
  .division-box .basic-heading {
    display: block;
    margin-bottom: 10px;
  }
}

.division-box .basic-heading__sub {
  font-size: 2.0rem;
  color: #fff;
  text-indent: -30px;
  margin-left: 30px;
  line-height: 1.4;
}

@media screen and (max-width: 800px) {
  .division-box .basic-heading__sub {
    font-size: 1.3rem;
  }
}

.division-box .basic-heading__sub::before {
  background: #fff;
}

.division-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

@media screen and (max-width: 800px) {
  .division-list {
    width: 100%;
  }
}

.division-list > li {
  margin-left: 2px;
  width: calc(25% - 2px);
}

@media screen and (max-width: 1299px) {
  .division-list > li {
    width: calc(50% - 2px);
  }
}

@media screen and (max-width: 670px) {
  .division-list > li {
    width: 100%;
  }
}

.division-link {
  position: relative;
  z-index: 300;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  width: 100%;
  height: 130px;
  color: #fff;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-right: 1px #aaa solid;
  border-bottom: 1px #aaa solid;
}

@media screen and (max-width: 800px) {
  .division-link {
    height: 65px;
    margin-bottom: 1px;
  }
  .division-link:last-child {
    margin-bottom: 0;
  }
}

.division-link::before {
  position: absolute;
  top: -5%;
  left: -5%;
  width: 110%;
  height: 110%;
  content: '';
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.division-link::after {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
  opacity: 0;
  background-color: #000000;
}

.division-link:hover {
  position: relative;
  color: #fff;
  -webkit-box-shadow: 0 0 8px rgba(2, 0, 14, 0.8);
          box-shadow: 0 0 8px rgba(2, 0, 14, 0.8);
}

.division-link:hover::before {
  top: -10%;
  left: -10%;
  width: 120%;
  height: 120%;
  content: '';
}

.division-link.is-division-1::before {
  background-image: url("/assets/img/home/division-1.jpg");
}

.division-link.is-division-2::before {
  background-image: url("/assets/img/home/division-2.jpg");
}

.division-link.is-division-3::before {
  background-image: url("/assets/img/home/division-3.jpg");
}

.division-link.is-division-4::before {
  background-image: url("/assets/img/home/division-4.jpg");
}

.division-link-inner {
  position: relative;
  z-index: 2;
  display: block;
  padding: 0 33px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (max-width: 1600px) {
  .division-link-inner {
    padding: 0 20px;
  }
}

@media screen and (max-width: 800px) {
  .division-link-inner {
    padding: 0 17px;
  }
}

.division-link__title {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.2;
  display: block;
}

@media screen and (max-width: 800px) {
  .division-link__title {
    font-size: 1.2rem;
  }
}

.division-link__lead {
  font-size: 1.2rem;
  line-height: 1.4;
  display: block;
  margin-top: 7px;
  color: #B0B0B0;
}

@media screen and (max-width: 800px) {
  .division-link__lead {
    font-size: 1.0rem;
    margin-top: 3px;
  }
}

.division-link__site {
  font-size: 1.2rem;
  line-height: 1;
  position: absolute;
  z-index: 2;
  right: 10px;
  bottom: 10px;
  font-weight: normal;
  color: #aaaaaa;
}

.division-link__site img {
  width: 1em;
  margin-left: .5em;
  margin-top: -.3em;
  vertical-align: middle;
}

.division-link__site img.-arrow {
  width: 1.4em;
}

@media screen and (max-width: 1600px) {
  .division-link__site {
    font-size: 1.1rem;
  }
}

@media screen and (max-width: 800px) {
  .division-link__site {
    font-size: 1.0rem;
    right: 5px;
    bottom: 5px;
  }
}

.about-box .column-layout__item {
  width: calc(100% - 200px) !important;
}

@media screen and (max-width: 800px) {
  .about-box .column-layout__item {
    width: calc(100% - 40px) !important;
  }
}

.about-box .box-inner {
  padding: 65px 70px 65px 100px;
  background: #fff;
}

@media screen and (max-width: 800px) {
  .about-box .box-inner {
    padding: 50px 20px 0 20px;
  }
}

.about-box-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: calc(100% + 170px);
  margin-right: -100px;
}

.about-box-flex__item {
  width: calc(680/1400 * 100%);
  margin-bottom: -20px;
}

.about-box-flex__item .inner-title {
  font-size: 2.4rem;
  display: inline-block;
}

.about-box-flex__item .inner-link {
  margin-left: 35px;
  font-size: 1.4rem;
  font-weight: bold;
  display: inline-block;
}

@media screen and (max-width: 800px) {
  .about-box-flex {
    width: 100%;
    margin: 0 0 -60px 0;
  }
  .about-box-flex__item {
    width: calc(100% + 60px);
    margin: 0 0 60px 0;
  }
  .about-box-flex__item .inner-title {
    font-size: 1.6rem;
  }
  .about-box-flex__item .inner-link {
    font-size: 1.2rem;
  }
}

.about-box .inner {
  margin-bottom: 40px;
}

.about-box .inner-slider {
  width: 100%;
  padding-bottom: 16px;
  margin-top: 15px;
}

.about-box .inner-slider .wrap {
  position: relative;
  display: block;
  padding-top: calc(127/680 * 100%);
  background-color: #666;
  width: 100%;
  height: 100%;
}

.about-box .inner-slider .wrap .txt {
  color: #fff;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(black));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, black 100%);
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 1;
  font-weight: bold;
  padding: 10px;
}

.about-box .inner-slider .wrap .img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.about-box .inner-slider .wrap .img img {
  display: block;
  width: 100%;
  height: auto;
}

.about-box .inner-slider .swiper-pagination {
  text-align: left;
  font-size: 0;
  margin-left: -4px;
}

.about-box .inner-slider .swiper-horizontal > .swiper-pagination-bullets,
.about-box .inner-slider .swiper-pagination-bullets.swiper-pagination-horizontal,
.about-box .inner-slider .swiper-pagination-custom, .about-box .inner-slider .swiper-pagination-fraction {
  bottom: 0;
}

.about-box .inner-slider .swiper-pagination-bullet {
  border-radius: 0 !important;
  width: 40px !important;
  height: 2px !important;
  background-color: #aaa;
  opacity: 1 !important;
  margin-right: 8px !important;
  display: inline-block;
  position: relative;
}

.about-box .inner-slider .swiper-pagination-bullet::before {
  content: "";
  display: block;
  background-color: #fff;
  top: -9px;
  left: 4px;
  width: 40px;
  height: 20px;
  position: absolute;
  z-index: -1;
}

.about-box .inner-slider .swiper-pagination-bullet-active {
  background: #2ed4fd;
  background: -webkit-gradient(linear, left top, right top, from(#2ed4fd), to(#028bff));
  background: linear-gradient(to right, #2ed4fd 0%, #028bff 100%);
}

@media screen and (max-width: 800px) {
  .about-box .inner-slider {
    margin-top: 20px;
  }
  .about-box .inner-slider .wrap {
    padding-top: calc(78/355 * 100%);
  }
  .about-box .inner-slider .wrap .txt {
    font-size: 1.2rem;
    padding: 5px;
    line-height: 1.2;
  }
}

.about-box p {
  margin: 20px 0 30px 0;
}

.about-box .button-wrap {
  margin-right: -100px;
}

@media screen and (max-width: 800px) {
  .about-box .button-wrap {
    margin-right: -40px;
  }
  .about-box .button-wrap .basic-button {
    width: 100%;
    max-width: 400px;
  }
  .about-box .button-wrap .basic-button .basic-button__label {
    width: 100%;
    min-width: auto;
    max-width: none;
  }
}

/*------------------------------
  News
------------------------------*/
.news-box {
  padding-top: 50px;
  padding-bottom: 50px;
  background: #fff;
}

@media screen and (max-width: 800px) {
  .news-box .column-layout__item {
    width: 100% !important;
  }
}

.news-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 20px;
  border-bottom: 1px solid #e6001a;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 670px) {
  .news-head {
    padding-bottom: 15px;
  }
}

.news-head__heading {
  font-size: 2.4rem;
  line-height: 1.0;
  margin-top: 0;
}

@media screen and (max-width: 670px) {
  .news-head__heading {
    font-size: 1.6rem;
  }
}

.news-head__link__wrap,
.news-head__link {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.0;
  display: inline-block;
  margin-bottom: -18px;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}

.news-head__link__wrap.news-head__link:hover,
.news-head__link.news-head__link:hover {
  opacity: 0.7;
}

.news-head__link__wrap.news-head__link__wrap a:hover,
.news-head__link.news-head__link__wrap a:hover {
  opacity: 0.7;
}

.news-head__link__wrap a,
.news-head__link a {
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  color: #0071be;
}

@media screen and (max-width: 670px) {
  .news-head__link__wrap,
  .news-head__link {
    font-size: 1.1rem;
    margin-bottom: -8px;
  }
}

.news-head__link__wrap__rss,
.news-head__link__rss {
  font-size: 1.2rem;
  display: inline-block;
  margin-left: 20px;
  padding: 4px 8px;
  vertical-align: baseline;
  color: inherit !important;
  background-color: #eee;
}

@media screen and (max-width: 670px) {
  .news-head__link__wrap__rss,
  .news-head__link__rss {
    font-size: 1.0rem;
    margin-left: 10px;
  }
}

.news-head__link__wrap__rss img,
.news-head__link__rss img {
  width: .85em;
  height: .85em;
  margin-top: -.2em;
  margin-left: .6em;
  vertical-align: middle;
}

/*-- 重要なお知らせ --*/
.important-news {
  margin-bottom: 45px;
  padding: 34px 40px;
  background-color: #fff6f7;
  line-height: 1.8;
}

@media screen and (max-width: 670px) {
  .important-news {
    padding: 17px 20px;
  }
}

.important-news__heading {
  padding-left: 30px;
  font-size: 2.4rem;
  color: #e6001a;
  background-image: url("/assets/img/common/attention-icon.svg");
  background-position: left 0 top 9px;
  background-repeat: no-repeat;
  background-size: 22px;
}

@media screen and (max-width: 670px) {
  .important-news__heading {
    padding-left: 22px;
    font-size: 1.6rem;
    background-position: left 0 top 5px;
    background-size: 16px;
  }
}

.important-news__title {
  margin-top: 20px;
}

@media screen and (max-width: 670px) {
  .important-news__title {
    margin-top: 7px;
  }
}

.important-news-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 670px) {
  .important-news-title {
    display: block;
  }
}

.important-news-title__date {
  position: relative;
  top: 5px;
  width: 103px;
  font-size: 1.2rem;
}

@media screen and (max-width: 670px) {
  .important-news-title__date {
    top: 0;
  }
}

.important-news-title__label {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: inline-block;
  font-weight: bold;
}

@media screen and (max-width: 670px) {
  .important-news-title__label {
    font-size: 1.2rem;
  }
}

.important-news__text {
  margin-top: 20px;
}

@media screen and (max-width: 670px) {
  .important-news__text {
    margin-top: 11px;
    font-size: 1.2rem;
  }
}

.important-news__text a {
  margin-left: 3px;
  font-weight: bold;
}

.important-news__text a:hover {
  text-decoration: underline;
}

.important-news__text img {
  width: 14px;
  margin-left: 3px;
  vertical-align: middle;
}

@media screen and (max-width: 670px) {
  .important-news__text img {
    width: 10px;
  }
}

.file-size {
  margin-right: 8px;
  margin-left: 3px;
  font-size: 1.2rem;
  font-weight: normal;
  color: #666;
}

/*------------------------------
  Service and blog
------------------------------*/
.service-and-blog-box {
  padding: 0;
  background: #282828;
}

.service-box {
  position: relative;
  background-color: #282828;
  background-image: url("/assets/img/home/service-background.jpg");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
}

@media screen and (max-width: 1100px) {
  .service-box {
    background-image: url("/assets/img/home/service-background-sp.jpg");
  }
}

.service-box .box-inner {
  padding: 80px 76px 50px 97px;
}

@media screen and (max-width: 800px) {
  .service-box .box-inner {
    padding: 100px 20px 0 20px;
  }
}

.service-box .basic-heading__main {
  color: #fff;
}

.service-box .text-box {
  margin-top: 21px;
}

.service-box .text-box p {
  line-height: 2.0;
  color: #fff;
}

.service-box .button-wrap {
  margin-top: 32px;
  margin-right: -107px;
}

@media screen and (max-width: 800px) {
  .service-box .button-wrap {
    position: relative;
    top: 30px;
    margin-right: 0;
  }
  .service-box .button-wrap .basic-button {
    width: 100%;
    max-width: 400px;
  }
  .service-box .button-wrap .basic-button .basic-button__label {
    width: 100%;
    min-width: auto;
    max-width: none;
  }
}

.blog-box {
  position: relative;
  margin-top: 0 !important;
  background-color: #282828;
  background-image: url("/assets/img/home/blog-background.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

@media screen and (max-width: 800px) {
  .blog-box {
    background-color: transparent;
    background-position: right top;
    background-size: 110% auto;
  }
}

.blog-box .box-inner {
  position: absolute;
  z-index: 400;
  top: 150px;
  left: 0;
  width: 100%;
  padding: 0 12.5%;
}

@media screen and (max-width: 1365px) {
  .blog-box .box-inner {
    top: 110px;
  }
}

@media screen and (max-width: 855px) {
  .blog-box .box-inner {
    padding-left: 20%;
    top: 95px;
  }
}

@media screen and (max-width: 800px) {
  .blog-box .box-inner {
    position: static;
    top: 0;
    padding: 80px 20px;
  }
}

@media screen and (max-width: 670px) {
  .blog-box .box-inner {
    padding-bottom: 0;
  }
}

.blog-box .basic-heading__main {
  line-height: 1.25;
  color: #fff;
}

.blog-box .basic-heading__main span {
  font-family: "Lato", sans-serif;
}

@media screen and (max-width: 1100px) and (min-width: 801px) {
  .blog-box .basic-heading__main {
    font-size: 2.5rem;
  }
}

.blog-list {
  margin-top: 10px;
}

@media screen and (max-width: 800px) {
  .blog-list {
    position: relative;
    z-index: 700;
    top: 0;
    left: 0;
    margin-bottom: -34px;
  }
}

.blog-list-item {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 1px;
  background: #fff;
}

@media screen and (max-width: 670px) {
  .blog-list-item {
    margin-top: 15px;
  }
}

.blog-list-item:hover {
  z-index: 750;
  -webkit-box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
          box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
}

.blog-list-item:hover .blog-list-item__image img {
  width: 110%;
  height: 110%;
}

.blog-list-item:hover .text-box p {
  text-decoration: underline;
}

.blog-list-item .blog-list-item__image {
  min-width: 180px;
  max-width: 180px;
  overflow: hidden;
}

@media screen and (max-width: 1100px) {
  .blog-list-item .blog-list-item__image {
    min-width: 95px;
  }
}

.blog-list-item .blog-list-item__image .blog-list-item-image {
  position: relative;
  width: 101%;
  height: 101%;
  margin-top: -0.5%;
  margin-left: -0.5%;
}

.blog-list-item .blog-list-item__image img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  font-family: 'object-fit: cover; object-position: center;';
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.blog-list-item .blog-list-item__text {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.blog-list-item .news-list-item {
  display: block;
  padding: 20px;
}

@media screen and (max-width: 1600px) {
  .blog-list-item .news-list-item {
    padding: 4.8%;
  }
}

@media screen and (max-width: 800px) {
  .blog-list-item .news-list-item {
    padding: 15px 20px 20px 20px;
  }
}

@media screen and (max-width: 670px) {
  .blog-list-item .news-list-item {
    padding: 20px 10px;
  }
}

.blog-list-item .news-list-item .news-list-item__info {
  margin-bottom: 15px;
}

@media screen and (min-width: 801px) and (max-width: 1600px) {
  .blog-list-item .news-list-item .news-list-item__info {
    margin-bottom: 3.95%;
  }
}

.blog-list-item .news-list-item .news-list-item__day {
  width: auto;
  margin-right: 10px;
}

@media screen and (max-width: 670px) {
  .blog-list-item .news-list-item .news-list-item__day {
    display: block;
    width: auto;
  }
}

.blog-list-item .news-list-item .news-list-item__status {
  width: auto;
}

.blog-list-item .news-list-item .news-list-item__text p {
  position: relative;
  overflow: hidden;
  width: 100%;
  font-weight: bold;
  line-height: 1.6;
  text-align: justify;
  text-justify: inter-ideograph;
  word-break: break-all;
}

@media screen and (min-width: 801px) and (max-width: 1499px) {
  .blog-list-item .news-list-item .news-list-item__text p {
    line-height: 1.5;
  }
}

@media screen and (min-width: 801px) and (max-width: 1299px) {
  .blog-list-item .news-list-item .news-list-item__text p {
    font-size: 1.5rem;
  }
}

/*------------------------------
  Product
------------------------------*/
.product-box {
  padding-top: 50px;
  padding-bottom: 80px;
  background-image: url("/assets/img/home/products-background.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

@media screen and (max-width: 670px) {
  .product-box {
    padding-top: 200px;
  }
}

.product-box .basic-heading__main {
  color: #fff;
}

.product-box .text-box {
  margin-top: 22px;
}

.product-box .text-box p {
  color: #fff;
}

.product-box .button-wrap {
  display: block;
  margin-top: 32px;
}

@media screen and (max-width: 670px) {
  .product-box .button-wrap {
    margin-top: 24px;
  }
  .product-box .button-wrap .basic-button {
    display: block;
    max-width: 400px;
  }
  .product-box .button-wrap .basic-button__label {
    width: 100%;
    min-width: auto;
    max-width: none;
  }
}

.product-box .news-head {
  margin-top: 60px;
  border-bottom: none;
}

.product-box .news-head__heading {
  color: #fff;
}

.product-box .news-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

@media screen and (max-width: 800px) {
  .product-box .news-list {
    display: block;
  }
}

.product-box .news-list > li {
  width: 50%;
  padding-right: 30px;
  border-bottom: none;
}

@media screen and (max-width: 800px) {
  .product-box .news-list > li {
    width: 100%;
  }
}

@media screen and (max-width: 670px) {
  .product-box .news-list > li {
    padding: 0;
  }
}

.product-box .news-list > li > a {
  padding: 5px 20px 5px 0;
}

@media screen and (max-width: 800px) {
  .product-box .news-list > li > a {
    padding: 8px 20px 8px 0;
  }
}

.product-box .news-list-item:hover p {
  text-decoration: underline;
}

.product-box .news-list-item__day {
  color: #fff;
}

.product-box p {
  color: #fff;
}

/*------------------------------
  Company
------------------------------*/
.company-box {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #fff;
  background-image: url("/assets/img/home/profile-background.png");
  background-repeat: no-repeat;
  background-position: bottom 0 left 100px;
  background-size: cover;
}

.company-box .image-with-arrow__text {
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
}

.company-box .basic-heading {
  position: relative;
  top: 48%;
}

.company-box .basic-heading__sub::before {
  content: '';
}

.company-box .basic-heading__main {
  font-size: 3.2rem;
  margin-top: 18px;
}

.company-box .basic-button.is-icon {
  width: 60px;
  height: 60px;
}

@media screen and (max-width: 1599px) {
  .company-box .basic-heading {
    padding: 0 40px;
  }
  .company-box .basic-heading__main br {
    display: none;
  }
}

@media screen and (max-width: 1100px) {
  .company-box .basic-heading {
    padding: 0 60px;
  }
  .company-box .column-layout {
    display: block;
    max-width: 670px;
    margin: 0 auto;
  }
  .company-box .column-layout__item {
    width: 100% !important;
  }
  .company-box .column-layout__item + .column-layout__item {
    margin-top: 50px;
  }
}

@media screen and (max-width: 670px) {
  .company-box {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .company-box .image-with-arrow__text {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .company-box .basic-heading {
    top: auto;
    padding: 0 20px;
  }
  .company-box .basic-heading__main {
    font-size: 1.8rem;
  }
  .company-box .basic-button.is-icon {
    width: 40px;
    height: 40px;
  }
}

/*------------------------------
  Hibino group
------------------------------*/
.hibino-group-box {
  position: relative;
  padding-top: 68px;
  background-color: #282828;
  background-image: url("/assets/img/home/hibino-group-background.gif");
  background-position: center center;
  background-size: cover;
}

@media screen and (max-width: 800px) {
  .hibino-group-box {
    padding-right: 0 !important;
    padding-left: 0 !important;
    background-image: none;
  }
  .hibino-group-box .column-layout {
    margin-top: -60px;
    padding: 90px 20px 0 20px;
    background-image: url("/assets/img/home/hibino-group-background.gif");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
  }
}

@media screen and (max-width: 800px) and (max-width: 800px) {
  .hibino-group-box .column-layout {
    background-position: left -330px top 20px;
  }
}

.hibino-group-box .box-inner {
  padding-right: 60px;
}

@media screen and (max-width: 800px) {
  .hibino-group-box .box-inner {
    padding-right: 0;
  }
}

.hibino-group-box .basic-heading__main {
  color: #fff;
}

.hibino-group-box .text-box {
  margin-top: 22px;
}

.hibino-group-box .text-box p {
  color: #fff;
}

@media screen and (max-width: 800px) {
  .hibino-group-box {
    padding: 100px 0;
  }
  .hibino-group-box .box-inner {
    margin-top: 14px;
  }
  .hibino-group-box .is-right-over {
    margin-top: 24px;
    margin-right: 0;
  }
  .hibino-group-box .is-right-over .basic-button {
    display: block;
    width: 100%;
    max-width: 400px;
  }
  .hibino-group-box .is-right-over .basic-button .basic-button__label {
    width: 100%;
    min-width: auto;
    max-width: none;
  }
}

.hibino-group-box__image {
  position: absolute;
  z-index: 500;
  top: 80px;
  right: 0;
  width: calc(50% - 10px);
}

@media screen and (max-width: 800px) {
  .hibino-group-box__image {
    position: static;
    width: 100%;
    padding-left: 20px;
  }
}

.hibino-group-box__image img {
  max-width: 100%;
}

/*------------------------------
  Pickup
------------------------------*/
.pickup-box {
  padding-top: 80px;
  padding-bottom: 70px;
  background: #ddd;
}

@media screen and (max-width: 800px) {
  .pickup-box {
    padding: 100px 20px;
  }
}

.pickup-box .column-layout {
  margin-top: 31px;
}

@media screen and (max-width: 1100px) {
  .pickup-box .column-layout {
    display: block;
  }
}

.pickup-box .column-layout__item {
  width: calc(50% - 20px);
}

@media screen and (max-width: 1100px) {
  .pickup-box .column-layout__item {
    width: 100% !important;
    margin-top: 30px !important;
  }
}

@media screen and (max-width: 400px) {
  .pickup-box .text-with-image__image img {
    right: 0 !important;
    left: 0 !important;
  }
}

.home-banners {
  margin: 0 auto;
  margin-top: 60px;
}

.home-banners .column-layout {
  margin-left: -25px;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.home-banners .column-layout a {
  display: block;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}

.home-banners .column-layout a:hover {
  -webkit-box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
          box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
}

.home-banners .column-layout .column-layout__item {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 33.333%;
  margin-bottom: 30px;
  padding-left: 25px;
}

.home-banners .column-layout .column-layout__item img {
  width: 100%;
}

@media screen and (max-width: 1299px) {
  .home-banners .column-layout .column-layout__item {
    width: 50%;
  }
}

@media screen and (max-width: 1100px) {
  .home-banners .column-layout .column-layout__item {
    max-width: 560px;
    margin-right: auto;
    margin-left: auto;
  }
}

/*------------------------------
  TOP IRニュース（プロネクサスのcssに上書き）
------------------------------*/
.s_eirList_item_comment {
  font-size: 1.4rem !important;
  text-decoration: none !important;
  line-height: 1.6 !important;
}

/*------------------------------
------------------------------*/
#vision .visual {
  text-align: center;
}

@media screen and (max-width: 800px) {
  #vision .visual {
    text-align: left;
  }
}

#vision .visual__title-wrap {
  position: relative;
}

#vision .visual__title {
  font-size: 4.8rem;
  font-weight: bold;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 0;
  width: 100%;
  padding: 0 20px;
  -webkit-transform: translateY(-55%);
          transform: translateY(-55%);
  color: #fff;
}

@media screen and (max-width: 1299px) {
  #vision .visual__title {
    font-size: 3.69vw;
  }
}

@media screen and (max-width: 800px) {
  #vision .visual__title {
    font-size: 3.6rem;
  }
}

@media screen and (max-width: 670px) {
  #vision .visual__title {
    font-size: 2.4rem;
  }
}

#vision .visual__bg {
  position: relative;
  z-index: 0;
}

#vision .visual__bg img {
  width: 100%;
}

#vision .visual__main {
  min-height: 52.125vw;
  padding: 0 20px 280px;
  background: url(/assets/img/vision/thought_img02.jpg) no-repeat center bottom;
}

@media screen and (min-width: 1600px) {
  #vision .visual__main {
    padding-bottom: 17%;
    background-size: 100% auto;
  }
}

@media screen and (max-width: 670px) {
  #vision .visual__main {
    padding-bottom: 170px;
    background-size: 1056px auto;
  }
}

#vision .visual__lead {
  font-size: 2.8rem;
  font-weight: bold;
  margin-top: 35px;
}

@media screen and (max-width: 670px) {
  #vision .visual__lead {
    font-size: 1.6rem;
    margin-top: 35px;
  }
}

#vision .visual__text {
  margin-top: 25px;
}

@media screen and (max-width: 670px) {
  #vision .visual__text {
    margin-top: 5px;
  }
  #vision .visual__text .disp-inb {
    display: inline;
  }
}

#vision .ism {
  margin-top: 120px;
}

@media screen and (max-width: 670px) {
  #vision .ism {
    margin-top: 45px;
  }
}

#vision .ism__title {
  font-size: 4.8rem;
  font-weight: bold;
}

@media screen and (max-width: 670px) {
  #vision .ism__title {
    font-size: 2.4rem;
  }
}

#vision .ism__logo {
  margin-top: 40px;
  text-align: center;
}

@media screen and (max-width: 670px) {
  #vision .ism__logo {
    margin-top: 20px;
  }
  #vision .ism__logo img {
    width: auto;
    height: 20px;
  }
}

#vision .ism__text {
  margin-top: 50px;
}

@media screen and (max-width: 670px) {
  #vision .ism__text {
    margin-top: 20px;
  }
}

/*------------------------------
  トップ
------------------------------*/
#service .primary-page-title {
  height: 380px;
  background-image: url("/assets/img/service/service-mv.jpg");
  background-position: top center;
  background-size: cover;
}

@media screen and (max-width: 800px) {
  #service .primary-page-title {
    height: 240px;
    background-image: url("/assets/img/service/service-mv-sp.jpg");
  }
}

#service a {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#service a * {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#service a::after {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#service a:hover {
  opacity: .75;
}

.service-sect:not(:last-child) {
  margin-bottom: 85px;
}

.service-sect-sub:not(:last-child) {
  margin-bottom: 65px;
}

.service-sect.is-sub {
  background-color: #eee;
  padding: 85px 100px;
}

@media screen and (max-width: 1100px) {
  .service-sect {
    padding: 0;
  }
  .service-sect:not(:last-child) {
    margin-bottom: 50px;
  }
  .service-sect-sub {
    margin-bottom: 45px;
  }
  .service-sect-sub:not(:last-child) {
    margin-bottom: 45px;
  }
  .service-sect.is-sub {
    padding: 50px 20px;
  }
}

.service__sub {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.service__sub .service-sect-sub.is-youtube {
  width: calc(1000/1400 * 100%);
}

.service__sub .service-sect-sub.is-twitter {
  width: calc(320/1400 * 100%);
}

.service__sub .service-sect-sub.is-sns {
  width: 100%;
}

.service__sub__movie {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  width: 100%;
}

.service__sub__movie li {
  width: calc(242/1000 * 100%);
}

.service__sub__movie li .mov {
  padding-top: calc(137/245 * 100%);
  position: relative;
}

.service__sub__movie li .mov iframe {
  position: absolute;
  display: block;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.service__sub__movie li .txt {
  font-size: 1.2rem;
  line-height: 1.4;
  margin-top: 8px;
}

.service__sub__sns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: -20px -0.5%;
}

.service__sub__sns li.wrap {
  width: 32%;
  margin: 20px 0.5%;
}

.service__sub__sns li.wrap .name {
  font-size: 1.8rem;
  font-weight: bold;
}

.service__sub__sns li.wrap .text {
  margin: 10px 0;
}

.service__sub__sns li.wrap .icon {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 15px 0 0 0;
}

.service__sub__sns li.wrap .icon_item {
  margin-right: 20px;
  height: 30px;
}

.service__sub__sns li.wrap .icon_item img {
  height: 100%;
  width: auto;
}

.service__sub__sns li .wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.service__sub__sns li .wrap .img {
  height: 40px;
}

.service__sub__sns li .wrap .img img {
  height: 100%;
  width: auto;
}

.service__sub__sns li .wrap .txt {
  margin-left: 16px;
  color: #282828;
  font-size: 1.4rem;
}

.service__sub__twitter {
  width: 100%;
  left: 0;
  top: 0;
}

.service__sub__twitter .twitter-timeline {
  width: 100% !important;
}

@media screen and (max-width: 1920px) {
  .service__sub .service-sect-sub.is-youtube {
    width: calc(100% - 440px);
  }
  .service__sub .service-sect-sub.is-twitter {
    width: 360px;
  }
  .service__sub__movie {
    margin-top: -10px;
  }
  .service__sub__movie li {
    width: calc(488/1000 * 100%);
    margin: 10px 0;
  }
}

@media screen and (max-width: 1100px) {
  .service__sub .service-sect-sub.is-youtube, .service__sub .service-sect-sub.is-twitter {
    width: 100%;
  }
  .service__sub__movie {
    margin: -10px 0;
  }
  .service__sub__movie li {
    width: calc(167/355 * 100%);
    margin: 10px 0;
  }
  .service__sub__sns {
    margin: -8px 0;
  }
  .service__sub__sns li {
    margin: 8px 0;
  }
  .service__sub__sns li.wrap {
    width: 100%;
    margin: 8px 0 16px 0;
  }
  .service__sub__sns li.wrap:last-child {
    margin-bottom: 0;
  }
  .service__sub__sns li.wrap .name {
    font-size: 1.5rem;
  }
  .service__sub__sns li.wrap .text {
    font-size: 1.3rem;
    margin: 8px 0;
  }
  .service__sub__sns li.wrap .icon {
    margin: 12px 0 0 0;
  }
  .service__sub__sns li.wrap .icon_item {
    margin-right: 20px;
    height: 30px;
  }
  .service__sub__sns li .wrap .txt {
    margin-left: 16px;
    font-size: 1.2rem;
  }
}

.potal__main {
  text-align: center;
  padding: 85px 0;
}

.potal__main .copy {
  font-size: 4rem;
  margin-bottom: 30px;
}

.potal__main .text {
  margin: 30px 0;
  line-height: 2;
}

@media screen and (max-width: 800px) {
  .potal__main {
    padding: 32px 20px 50px 20px;
  }
  .potal__main .copy {
    font-size: 2.2rem;
    margin-bottom: 16px;
  }
  .potal__main .text {
    text-align: left;
    margin: 16px 0;
    font-size: 1.2rem;
  }
}

.potal__nav__main {
  background-color: #eee;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 80px;
}

.potal__nav__main li {
  width: 320px;
  height: 80px;
  margin: -35px 20px 0 20px;
  font-size: 1.8rem;
}

.potal__nav__main li a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #444;
  width: 100%;
  height: 100%;
  text-align: center;
  color: #fff;
  font-weight: bold;
  position: relative;
}

.potal__nav__main li a::after {
  position: absolute;
  left: 50%;
  bottom: -20px;
  content: "";
  display: block;
  background: url("/assets/img/common/nav-arrow-down.svg") left top no-repeat;
  background-size: 7px 28px;
  width: 7px;
  height: 28px;
}

.potal__nav__main li a:hover::after {
  bottom: -22px;
}

.potal__nav__sub {
  margin: 15px 100px 0 100px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.potal__nav__sub li {
  margin: 0 20px;
}

.potal__nav__sub li a {
  font-weight: bold;
  padding-right: 20px;
  display: inline-block;
  background: url("/assets/img/common/red-arrow-down.svg") right center no-repeat;
  background-size: 5px 15px;
}

@media screen and (max-width: 800px) {
  .potal__nav__main {
    height: 64px;
    margin: 0 -5px;
  }
  .potal__nav__main li {
    width: calc(162/375 * 100%);
    height: 64px;
    margin: -30px 5px 0 5px;
    font-size: 1.6rem;
  }
  .potal__nav__sub {
    margin: 15px 20px 0 20px;
  }
  .potal__nav__sub li {
    margin: 0 0 0 20px;
    font-size: 1.4rem;
  }
  .potal__nav__sub li a {
    padding-right: 15px;
  }
}

.potal__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: -12px calc(9/1360 * -100%);
}

.potal__list li {
  width: calc(322/1360 * 100%);
  margin: 12px calc(9/1360 * 100%);
}

.potal__list li .wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.potal__list li .wrap .txt {
  background: #eee url("/assets/img/common/blue-arrow-small.svg") 96% center no-repeat;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  width: 100%;
  color: #282828;
  padding: 15px 40px 15px 18px;
  line-height: 1.4;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: bold;
  min-height: 70px;
}

.potal__list li .wrap:hover .txt {
  background-position: 97% center;
}

.potal__list li .wrap .img {
  -webkit-box-ordinal-group: 1;
  -webkit-order: 0;
      -ms-flex-order: 0;
          order: 0;
  width: 100%;
}

.potal__list li .wrap .img img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 800px) {
  .potal__list {
    margin: -10px 0;
  }
  .potal__list li {
    width: 100%;
    margin: 10px;
    font-size: 1.4rem;
  }
  .potal__list li .wrap .txt {
    min-height: 0;
  }
}

.page-main__head.is-product .secondary-page-title {
  background-image: url("/assets/img/product/product-head.jpg");
  background-size: cover;
}

@media screen and (max-width: 800px) {
  .page-main__head.is-product .secondary-page-title {
    background-image: url("/assets/img/product/product-head-sp.jpg");
  }
}

/*------------------------------
  トップ
------------------------------*/
#product .primary-page-title {
  height: 380px;
  background-image: url("/assets/img/product/product-mv.jpg");
  background-position: top center;
  background-size: cover;
}

@media screen and (max-width: 800px) {
  #product .primary-page-title {
    height: 240px;
    background-image: url("/assets/img/product/product-mv-sp.jpg");
  }
}

#product .other-link {
  font-weight: bold;
  padding-bottom: 15px;
}

#product .other-link a {
  text-decoration: none;
}

#product .link-box-list {
  margin: 0 -10px;
  margin-top: 20px;
}

@media screen and (max-width: 1100px) {
  #product .link-box-list {
    display: block;
    margin: 0;
    margin-top: 10px;
  }
}

#product .link-box-list > li {
  min-width: 33.333%;
  max-width: 33.333%;
  padding: 0 10px;
}

@media screen and (max-width: 1100px) {
  #product .link-box-list > li {
    min-width: 100%;
    max-width: 100%;
    margin-bottom: 10px;
    padding: 0;
  }
}

#product .page-heading-level-1 {
  margin-top: 50px;
}

#product .product-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: -50px -20px 0;
  padding-bottom: 50px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

@media screen and (max-width: 1300px) {
  #product .product-list {
    margin-right: -10px;
    margin-left: -10px;
    padding-bottom: 0;
  }
}

@media screen and (max-width: 670px) {
  #product .product-list {
    margin: 0;
  }
}

#product .product-list > li {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 25%;
  margin-top: 50px;
  padding: 0 20px;
}

@media screen and (max-width: 1300px) {
  #product .product-list > li {
    padding-right: 10px;
    padding-left: 10px;
  }
}

@media screen and (max-width: 800px) {
  #product .product-list > li {
    width: 50%;
    margin: 0;
    margin-top: 30px;
    padding-right: 10px;
    padding-left: 10px;
  }
}

@media screen and (max-width: 670px) {
  #product .product-list > li {
    width: 100%;
    margin: 0;
    margin-top: 30px;
    padding: 0;
  }
  #product .product-list > li:first-child {
    margin-top: 0;
  }
}

#product .product-list > li a {
  display: block;
  color: inherit;
}

#product .product-list a:hover .product-list__thumb {
  -webkit-box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
          box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
}

#product .product-list a:hover .product-list__thumb img {
  -webkit-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1);
}

#product .product-list a:hover .product-list__title {
  opacity: 0.7;
}

#product .product-list__thumb {
  line-height: 1;
  overflow: hidden;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transition-property: -webkit-box-shadow;
  transition-property: -webkit-box-shadow;
  transition-property: box-shadow;
  transition-property: box-shadow, -webkit-box-shadow;
  border: 1px solid #ddd;
}

#product .product-list__thumb img {
  width: 100%;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  vertical-align: top;
}

#product .product-list__title {
  font-size: 1.8rem;
  font-weight: bold;
  margin-top: 20px;
  text-align: center;
  color: #0071be;
}

@media screen and (max-width: 670px) {
  #product .product-list__title {
    font-size: 1.2rem;
    margin-top: 10px;
  }
}

#product .product-list__category {
  font-size: 1.6rem;
  margin-top: 10px;
}

@media screen and (max-width: 670px) {
  #product .product-list__category {
    font-size: 1.2rem;
  }
}

.page-main__head.is-group .secondary-page-title {
  background-image: url("/assets/img/group/group-head.jpg");
  background-size: cover;
}

@media screen and (max-width: 800px) {
  .page-main__head.is-group .secondary-page-title {
    background-image: url("/assets/img/group/group-head-sp.jpg");
  }
}

/*------------------------------
  トップ
------------------------------*/
#group .primary-page-title {
  height: 380px;
  background-image: url("/assets/img/group/group-mv.jpg");
  background-position: top center;
  background-size: cover;
}

#group .primary-page-title .text-box {
  max-width: 600px;
}

@media screen and (max-width: 800px) {
  #group .primary-page-title .text-box .disp-inb {
    display: inline;
  }
}

@media screen and (max-width: 800px) {
  #group .primary-page-title {
    height: 240px;
    background-image: url("/assets/img/group/group-mv-sp.jpg");
  }
}

#group .about-sect {
  margin-top: 200px;
}

#group .field-sect {
  margin-top: 70px;
}

#group .field-sect .field-mainimg {
  text-align: center;
  text-align: left;
}

#group .field-sect .field-mainimg .image-box {
  border: 1px solid #ddd;
}

@media screen and (max-width: 800px) {
  #group .field-sect .field-mainimg .image-box a {
    display: block;
    padding: 5px;
  }
}

#group .field-sect .field-list {
  margin: 0 auto;
}

#group .field-sect .field-list__item {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: .5% .5%;
  text-align: center;
}

#group .field-sect .field-list__item:nth-child(1) .field-list__item__inner, #group .field-sect .field-list__item:nth-child(1) .field-list__item__inner:before, #group .field-sect .field-list__item:nth-child(1) .field-list__item__inner:after {
  background-color: #fce5e8;
}

#group .field-sect .field-list__item:nth-child(2) .field-list__item__inner, #group .field-sect .field-list__item:nth-child(2) .field-list__item__inner:before, #group .field-sect .field-list__item:nth-child(2) .field-list__item__inner:after {
  background-color: #f2f6e8;
}

#group .field-sect .field-list__item:nth-child(3) .field-list__item__inner, #group .field-sect .field-list__item:nth-child(3) .field-list__item__inner:before, #group .field-sect .field-list__item:nth-child(3) .field-list__item__inner:after {
  background-color: #ebf1fc;
}

#group .field-sect .field-list__item:nth-child(4) .field-list__item__inner, #group .field-sect .field-list__item:nth-child(4) .field-list__item__inner:before, #group .field-sect .field-list__item:nth-child(4) .field-list__item__inner:after {
  background-color: #fdf2e7;
}

#group .field-sect .field-list__item:nth-child(5) .field-list__item__inner, #group .field-sect .field-list__item:nth-child(5) .field-list__item__inner:before, #group .field-sect .field-list__item:nth-child(5) .field-list__item__inner:after {
  background-color: #f2edf5;
}

#group .field-sect .field-list__item__inner {
  position: relative;
  height: 0;
  padding-top: 57.8%;
}

#group .field-sect .field-list__item__inner:before, #group .field-sect .field-list__item__inner:after {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  content: '';
  left: 0;
  top: 0;
}

#group .field-sect .field-list__item__inner:before {
  -webkit-transform: rotate(-60deg);
          transform: rotate(-60deg);
}

#group .field-sect .field-list__item__inner:after {
  -webkit-transform: rotate(60deg);
          transform: rotate(60deg);
}

#group .field-sect .field-list__item__title {
  font-weight: bold;
}

#group .field-sect .field-list__item__text {
  position: absolute;
  z-index: 1;
  left: 0;
  width: 100%;
}

#group .field-sect .field-list__item__more .button-wrap .basic-button {
  position: relative;
  display: block;
  margin: 0 auto;
}

#group .field-sect .field-list__item__more .button-wrap .basic-button__label {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 100%;
}

@media screen and (min-width: 801px) {
  #group .field-sect .field-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    max-width: 1040px;
    margin-top: 50px;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  #group .field-sect .field-list__item {
    width: 33.333%;
    margin-top: 9.38%;
  }
  #group .field-sect .field-list__item__title {
    font-size: 2.4rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: 3.5em;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .is-IE #group .field-sect .field-list__item__title {
    height: 3.5em;
  }
}

@media screen and (min-width: 801px) and (max-width: 1100px) {
  #group .field-sect .field-list__item__title {
    font-size: 2.181vw;
  }
}

@media screen and (min-width: 801px) {
  #group .field-sect .field-list__item__text {
    bottom: 10%;
  }
  #group .field-sect .field-list__item__more {
    margin-top: 5%;
  }
  #group .field-sect .field-list__item__more .button-wrap .basic-button {
    width: 65%;
    min-width: 180px;
  }
}

@media screen and (min-width: 801px) and (max-width: 1100px) {
  #group .field-sect .field-list__item__more .button-wrap .basic-button img {
    right: 10px;
  }
}

@media screen and (min-width: 801px) {
  #group .field-sect .field-list__item__more .button-wrap .basic-button__label {
    padding-right: 40px;
    padding-left: 40px;
  }
  #group .field-sect .field-list__item:nth-child(4) {
    margin-left: 16.666%;
  }
}

@media screen and (max-width: 800px) {
  #group .field-sect .field-list {
    margin-top: 28%;
  }
  #group .field-sect .field-list__item {
    width: 66.666666%;
    margin-top: 19.2%;
  }
  #group .field-sect .field-list__item__title {
    font-size: 5vw;
  }
  #group .field-sect .field-list__item__text {
    bottom: 3%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #group .field-sect .field-list__item__more {
    margin-top: 7%;
  }
  #group .field-sect .field-list__item__more .button-wrap .basic-button {
    min-width: 150px;
    max-width: 65%;
  }
  #group .field-sect .field-list__item__more .button-wrap .basic-button img {
    right: 10px;
  }
  #group .field-sect .field-list__item__more .button-wrap .basic-button__label {
    padding-right: 30px;
    padding-left: 20px;
  }
  #group .field-sect .field-list__item:nth-child(2n) {
    margin-left: 33.333333%;
  }
}

#group .banner-sect {
  margin-top: 200px;
  padding-bottom: 60px;
}

@media screen and (max-width: 670px) {
  #group .banner-sect {
    margin-top: 100px;
    padding-bottom: 20px;
  }
}

/*------------------------------
  事業領域
------------------------------*/
#field .field-sect {
  padding-bottom: 20px;
}

#field .link-menu-list {
  margin-top: 40px;
}

@media screen and (max-width: 670px) {
  #field .link-menu-list {
    margin-top: 20px;
  }
}

@media screen and (min-width: 671px) {
  #field .link-menu-list > li {
    min-width: 33.333%;
    max-width: 33.333%;
  }
  #field .link-menu-list > li:nth-child(4n)::after {
    content: none;
  }
  #field .link-menu-list > li:nth-child(3n)::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    content: '';
    background: #282828;
  }
}

@media screen and (max-width: 670px) {
  #field .link-menu-list > li {
    width: 49.999%;
    min-width: 49.999%;
    max-width: 49.999%;
  }
  #field .link-menu-list > li:nth-child(3n)::after {
    content: none;
  }
  #field .link-menu-list > li:nth-child(2n)::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    content: '';
    background: #282828;
  }
}

#field .type-sect {
  margin-top: 80px;
}

@media screen and (max-width: 670px) {
  #field .type-sect {
    margin-top: 50px;
  }
}

#field .type-sect + .type-sect {
  margin-top: 100px;
}

@media screen and (max-width: 670px) {
  #field .type-sect + .type-sect {
    margin-top: 50px;
  }
}

#field .type-sect#Electric .page-heading-level-3,
#field .type-sect#Electric .page-heading-level-5 {
  border-bottom-color: #e6001a;
}

#field .type-sect#Architecture .page-heading-level-3,
#field .type-sect#Architecture .page-heading-level-5 {
  border-bottom-color: #7ba41d;
}

#field .type-sect#Movie .page-heading-level-3,
#field .type-sect#Movie .page-heading-level-5 {
  border-bottom-color: #3776dd;
}

#field .type-sect#Concert .page-heading-level-3,
#field .type-sect#Concert .page-heading-level-5 {
  border-bottom-color: #eb7e12;
}

#field .type-sect#Other .page-heading-level-3,
#field .type-sect#Other .page-heading-level-5 {
  border-bottom-color: #7f4f9f;
}

#field .type-sect .type-sect__title-block {
  padding: 20px 20px 20px 35px;
  background: #eee;
}

@media screen and (max-width: 800px) {
  #field .type-sect .type-sect__title-block {
    padding: 20px 10px 10px;
  }
}

#field .type-sect .type-sect__title-block .image-box {
  margin-top: 0;
}

#field .type-sect .type-sect__title-block .image-box img {
  width: 100%;
}

#field .type-sect .type-sect__title-block .page-heading-level-3 {
  font-size: 2.8rem;
  padding-right: 0;
  padding-bottom: .7em;
  padding-left: 0;
}

@media screen and (max-width: 670px) {
  #field .type-sect .type-sect__title-block .page-heading-level-3 {
    font-size: 1.6rem;
    margin-top: 0;
  }
}

#field .type-sect .type-sect__title-block .page-heading-level-4 {
  margin-top: 25px;
}

@media screen and (max-width: 670px) {
  #field .type-sect .type-sect__title-block .page-heading-level-4 {
    margin-top: 20px;
  }
}

#field .type-sect .type-sect__title-block .dot-list {
  margin-top: 5px;
}

#field .type-sect .page-content-level-2 {
  margin-top: 30px;
}

@media screen and (max-width: 670px) {
  #field .type-sect .page-content-level-2 {
    margin-top: 20px;
  }
}

#field .type-sect .shop-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 0 -15px -50px -15px;
}

@media screen and (max-width: 1299px) {
  #field .type-sect .shop-list {
    margin: 0 -10px -50px -10px;
  }
}

@media screen and (max-width: 670px) {
  #field .type-sect .shop-list {
    display: block;
  }
}

#field .type-sect .shop-list .shop-list__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 33.333%;
  padding: 0 15px;
  margin-bottom: 50px;
}

@media screen and (max-width: 1299px) {
  #field .type-sect .shop-list .shop-list__item {
    padding: 0 10px;
  }
}

@media screen and (max-width: 670px) {
  #field .type-sect .shop-list .shop-list__item {
    display: block;
    width: 100%;
    margin-top: 40px;
  }
  #field .type-sect .shop-list .shop-list__item:first-child {
    margin-top: 0;
  }
}

#field .type-sect .shop-list .shop-list__item .shop-list__item__thumb .image-box {
  margin-top: 0;
}

#field .type-sect .shop-list .shop-list__item .shop-list__title {
  font-size: 1.8rem;
  font-weight: bold;
  margin-top: 20px;
  text-align: center;
}

@media screen and (max-width: 1299px) and (min-width: 671px) {
  #field .type-sect .shop-list .shop-list__item .shop-list__title {
    font-size: 1.6rem;
    text-align: left;
  }
}

@media screen and (max-width: 670px) {
  #field .type-sect .shop-list .shop-list__item .shop-list__title {
    font-size: 1.2rem;
  }
}

#field .type-sect .shop-list .shop-list__item .shop-list__text {
  margin-top: 15px;
}

@media screen and (max-width: 670px) {
  #field .type-sect .shop-list .shop-list__item .shop-list__text {
    margin-top: 10px;
  }
}

#field .type-sect .shop-list .shop-list__item .shop-list__more {
  margin-top: auto;
  padding-top: 20px;
  text-align: center;
}

@media screen and (min-width: 671px) {
  #field .type-sect .shop-list .shop-list__item .shop-list__more .basic-button {
    width: 100%;
    max-width: 300px;
  }
}

@media screen and (min-width: 671px) {
  #field .type-sect .shop-list .shop-list__item .shop-list__more .basic-button .basic-button__label {
    min-width: 0;
  }
}

@media screen and (max-width: 800px) and (min-width: 671px) {
  #field .type-sect .shop-list .shop-list__item .shop-list__more .basic-button .basic-button__label {
    padding-right: 40px;
    padding-left: 15px;
  }
}

/*------------------------------
  取扱いブランド
------------------------------*/
#brand .tab-box {
  margin-top: 0;
}

#brand .tab-box .tab-list {
  padding: 0;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
}

#brand .tab-box .tab-list > li {
  width: 25%;
  margin-top: 6px;
  -webkit-box-flex: 0;
  -webkit-flex: none;
      -ms-flex: none;
          flex: none;
}

#brand .tab-box .tab-list > li a {
  line-height: 1.4;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 80px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 800px) {
  #brand .tab-box .tab-list > li a {
    padding-right: 15px;
    padding-left: 15px;
  }
}

#brand .tab-box .tab-list > li a:before {
  display: none;
}

#brand .tab-box .tab-list > li.is-current a:after {
  left: 50%;
  width: 60px;
  margin-bottom: 8px;
  margin-left: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

#brand .tab-box .tab-list:after {
  display: none;
}

@media screen and (max-width: 1299px) {
  #brand .tab-box .tab-list > li {
    width: 33.333%;
  }
  #brand .tab-box .tab-list > li a {
    height: 74px;
  }
}

@media screen and (max-width: 670px) {
  #brand .tab-box .tab-list > li {
    font-size: 1.2rem;
  }
  #brand .tab-box .tab-list > li a {
    padding-right: 3px;
    padding-left: 3px;
  }
  #brand .tab-box .tab-list > li.is-current a:after {
    width: 30px;
    margin-bottom: 4px;
  }
}

#brand .tab-box + .brand-sect {
  margin-top: 100px;
}

@media screen and (max-width: 670px) {
  #brand .tab-box + .brand-sect {
    margin-top: 50px;
  }
}

#brand .page-heading-level-1 {
  margin-top: 50px;
}

#brand .brand-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: -50px -20px 0;
  padding-bottom: 50px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

@media screen and (max-width: 1300px) {
  #brand .brand-list {
    margin-right: -10px;
    margin-left: -10px;
    padding-bottom: 0;
  }
}

@media screen and (max-width: 670px) {
  #brand .brand-list {
    margin: 0;
  }
}

#brand .brand-list > li {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 33.3333%;
  margin-top: 50px;
  padding: 0 20px;
}

@media screen and (max-width: 1300px) {
  #brand .brand-list > li {
    padding-right: 10px;
    padding-left: 10px;
  }
}

@media screen and (max-width: 800px) {
  #brand .brand-list > li {
    width: 50%;
    margin: 0;
    margin-top: 30px;
    padding-right: 10px;
    padding-left: 10px;
  }
}

@media screen and (max-width: 670px) {
  #brand .brand-list > li {
    width: 100%;
    margin: 0;
    margin-top: 30px;
    padding: 0;
  }
  #brand .brand-list > li:first-child {
    margin-top: 0;
  }
}

#brand .brand-list > li a {
  display: block;
  color: inherit;
}

#brand .brand-list a:hover .brand-list__thumb {
  -webkit-box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
          box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
}

#brand .brand-list a:hover .brand-list__thumb img {
  -webkit-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1);
}

#brand .brand-list a:hover .brand-list__title {
  opacity: 0.7;
}

#brand .brand-list a .brand-list__title {
  color: #0071be;
}

#brand .brand-list__thumb {
  line-height: 1;
  overflow: hidden;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transition-property: -webkit-box-shadow;
  transition-property: -webkit-box-shadow;
  transition-property: box-shadow;
  transition-property: box-shadow, -webkit-box-shadow;
  border: 1px solid #ddd;
  background-color: #fff;
}

#brand .brand-list__thumb img {
  width: 100%;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  vertical-align: top;
}

#brand .brand-list__title {
  font-size: 1.8rem;
  font-weight: bold;
  margin-top: 20px;
  text-align: center;
}

@media screen and (max-width: 670px) {
  #brand .brand-list__title {
    font-size: 1.2rem;
    margin-top: 10px;
  }
}

#brand .brand-list__category {
  font-size: 1.6rem;
  margin-top: 10px;
}

@media screen and (max-width: 670px) {
  #brand .brand-list__category {
    font-size: 1.2rem;
  }
}

/*------------------------------
  ヒビノグループ一覧
------------------------------*/
#list .icon {
  position: relative;
  width: .5em;
  height: .5em;
  border-radius: 50% 50%;
}

#list .icon.is-red {
  background-color: #e6001a;
}

#list .icon.is-green {
  background-color: #7ba41d;
}

#list .icon.is-blue {
  background-color: #3776dd;
}

#list .icon.is-orange {
  background-color: #eb7e12;
}

#list .icon.is-purple {
  background-color: #7f4f9f;
}

#list .list-sect .page-content-level-1 .column-layout:first-child .page-heading-level-2 {
  margin-top: 0;
}

#list .list-sect .group-list-box .page-heading-level-2 .icon {
  display: inline-block;
  margin-top: -.2em;
  margin-right: .5em;
  vertical-align: middle;
}

#list .list-sect .group-list-box .page-heading-level-3 {
  margin-top: 30px;
  padding-right: 0;
  padding-left: 0;
}

#list .list-sect .group-list-box .group-list > li {
  position: relative;
  margin-top: .5em;
  padding-left: 1em;
}

@media screen and (max-width: 670px) {
  #list .list-sect .group-list-box .group-list > li {
    font-size: 1.2rem;
  }
}

#list .list-sect .group-list-box .group-list > li:first-child {
  margin-top: 0;
}

#list .list-sect .group-list-box .group-list > li .iconWrap {
  line-height: 1;
  position: absolute;
  top: .8em;
  left: 0;
  width: .5em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

#list .list-sect .group-list-box .group-list > li .icon {
  display: block;
  margin-top: .2em;
}

#list .list-sect .group-list-box .group-list > li .icon:first-child {
  margin-top: 0;
}

#list .table-sect {
  margin-top: 100px;
}

@media screen and (max-width: 670px) {
  #list .table-sect {
    margin-top: 30px;
  }
}

#list .table-sect .sns-icons {
  margin-top: .5em;
}

#list .table-sect .sns-icons a {
  margin-right: .5em;
}

#list .table-sect .sns-icons img {
  width: 1.25em;
  border-radius: 50% 50%;
}

@media screen and (max-width: 670px) {
  #list .table-sect .sns-icons img {
    width: 25px;
    margin-top: 3px;
  }
}

#list .table-sect .group-table-box .page-heading-level-3 {
  padding-right: 0;
  padding-left: 0;
}

@media screen and (max-width: 670px) {
  #list .table-sect .group-table-box .page-heading-level-3 {
    font-size: 1.3rem;
  }
}

#list .table-sect .group-table-box .page-heading-level-3 .icon {
  display: inline-block;
  margin-top: -.2em;
  margin-right: .5em;
  vertical-align: middle;
}

@media screen and (min-width: 1101px) {
  #list .table-sect .group-table-box .basic-table th,
  #list .table-sect .group-table-box .basic-table td {
    width: 33.333%;
  }
}

@media screen and (max-width: 1100px) {
  #list .table-sect .group-table-box .basic-table thead {
    display: none;
  }
}

@media screen and (min-width: 1101px) {
  #list .table-sect .group-table-box .basic-table tbody th {
    background-color: #fff;
  }
}

#list .table-sect .group-table-box .basic-table tbody td + td {
  border-top: 0;
}

#list .table-sect .group-table-box .basic-table tbody td + td .text-box {
  padding-top: 0;
}

/*------------------------------------------------------------
  サステナビリティ
------------------------------------------------------------*/
/*------------------------------
  トップ
------------------------------*/
#sustainability .primary-page-title {
  height: 380px;
  background-image: url("/assets/img/sustainability/sustainability-mv.jpg");
  background-position: top center;
  background-size: cover;
}

@media screen and (max-width: 800px) {
  #sustainability .primary-page-title {
    height: 240px;
    background-image: url("/assets/img/sustainability/sustainability-mv-sp.jpg");
  }
}

#sustainability .content-box {
  letter-spacing: 0.008em;
}

#sustainability .content-box > section {
  margin-top: 96px;
}

@media screen and (max-width: 800px) {
  #sustainability .content-box > section {
    margin-top: 40px;
  }
}

@media screen and (max-width: 1599px) {
  #sustainability .ir-table.is-size-reset th, #sustainability .ir-table.is-size-reset td {
    font-size: 100%;
  }
}

@media screen and (max-width: 670px) {
  #sustainability .ir-table.is-size-reset th, #sustainability .ir-table.is-size-reset td {
    font-size: 1.2rem;
  }
}

.sustainability__main__visual {
  background: transparent url("/assets/img/sustainability/sustainability_visual.png") left top no-repeat;
  background-size: cover;
  padding-top: calc(600/1400 * 100%);
  position: relative;
  margin-bottom: 32px;
}

.sustainability__main__visual .copy {
  font-size: 2.625vw;
  font-weight: bold;
  color: #1f214b;
  letter-spacing: 0.1em;
  position: absolute;
  top: 50%;
  left: calc(698/1400 * 100%);
  line-height: 2;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

@media screen and (max-width: 800px) {
  .sustainability__main__visual {
    background-image: url("/assets/img/sustainability/sustainability_visual-sp.png");
    padding-top: calc(196/335 * 100%);
  }
  .sustainability__main__visual .copy {
    left: calc(186/335 * 100%);
    font-size: 4.26vw;
  }
}

.sustainability__navigation {
  margin: 40px auto 56px auto;
}

.sustainability__navigation > ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 -20px;
}

.sustainability__navigation > ul > li {
  width: 224px;
  height: 224px;
  font-size: 2.2rem;
  font-weight: bold;
  margin: 0 20px 16px 20px;
}

.sustainability__navigation > ul > li a {
  width: 100%;
  height: 100%;
  border-radius: 100%;
  background: #ebe1ff;
  background: linear-gradient(-45deg, #ebe1ff 0%, #c3ddf8 50%, #c2f9fb 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ebe1ff",endColorstr="#c2f9fb",GradientType=1);
  color: #1f214b;
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.sustainability__navigation > ul > li a::after {
  position: absolute;
  display: block;
  content: "";
  background: transparent url("/assets/img/sustainability/icon_arrow-bottom.svg") center center no-repeat;
  background-size: 7px 28px;
  width: 7px;
  height: 28px;
  bottom: -16px;
  left: 50%;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.sustainability__navigation > ul > li a:hover {
  opacity: .65;
}

.sustainability__navigation > ul > li a:hover::after {
  bottom: -20px;
}

@media screen and (max-width: 800px) {
  .sustainability__navigation > ul {
    margin: -12px -5px;
  }
  .sustainability__navigation > ul > li {
    width: 162px;
    height: 162px;
    font-size: 1.4rem;
    margin: 12px 5px 16px 5px;
  }
}

.sustainability__icon-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 20px 0 28px 0;
}

.sustainability__icon-list > li {
  width: 80px;
  height: auto;
  margin: 4px;
}

.sustainability__icon-list > li img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 800px) {
  .sustainability__icon-list {
    margin: 10px 0 17px 0;
  }
  .sustainability__icon-list > li {
    width: 62px;
    margin: 3px;
  }
}

.sustainability__theme {
  border: 4px #eee solid;
  padding: 32px 40px;
}

.sustainability__theme > dt {
  font-weight: bold;
  font-size: 1.8rem;
}

.sustainability__theme > dd {
  padding-left: 1em;
  margin-top: 8px;
  position: relative;
}

.sustainability__theme > dd .num {
  display: block;
  width: 1em;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 800px) {
  .sustainability__theme {
    border-width: 2px;
    padding: 24px 20px;
  }
  .sustainability__theme > dt {
    font-size: 1.3rem;
  }
  .sustainability__theme > dd {
    margin-top: 6px;
    font-size: 1.2rem;
  }
}

.sustainability-fig-max {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
}

/*------------------------------------------------------------
  企業情報
------------------------------------------------------------*/
/*------------------------------
  トップ
------------------------------*/
#company .primary-page-title {
  height: 380px;
  background-image: url("/assets/img/company/company-mv.jpg");
  background-position: top center;
  background-size: cover;
}

@media screen and (max-width: 800px) {
  #company .primary-page-title {
    height: 240px;
    background-image: url("/assets/img/company/company-mv-sp.jpg");
  }
}

.download-box {
  padding: 90px 20px 100px 20px;
  background: #f5f5f5;
}

@media screen and (max-width: 1400px) {
  .download-box {
    padding: 100px 200px;
  }
}

@media screen and (max-width: 1100px) {
  .download-box {
    padding: 50px 20px;
  }
}

.download-box__inner {
  max-width: 780px;
  margin: 0 auto;
}

.download-box__heading {
  font-size: 3.2rem;
  margin-bottom: 35px;
}

@media screen and (max-width: 1100px) {
  .download-box__heading {
    font-size: 1.8rem;
  }
}

.download-box__heading.is-visual-studio {
  text-align: center;
}

.download-data {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 1100px) {
  .download-data__image {
    display: none;
  }
}

.download-data__image img {
  width: 135px;
  max-width: 100%;
}

.download-data__image-sp {
  display: none;
}

@media screen and (max-width: 1100px) {
  .download-data__image-sp {
    display: block;
    padding: 20px 10px 0 10px;
    text-align: center;
  }
  .download-data__image-sp img {
    width: 130px;
    max-width: 50%;
  }
}

.download-data__text {
  padding-left: 30px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (max-width: 1100px) {
  .download-data__text {
    padding-left: 0;
  }
}

.download-data__title {
  font-size: 2.0rem;
  font-weight: bold;
  padding-bottom: 8px;
  border-bottom: 1px solid #e6001a;
}

@media screen and (max-width: 1100px) {
  .download-data__title {
    font-size: 1.3rem;
    padding-bottom: 11px;
  }
}

.download-data__link {
  margin-top: 18px;
}

.download-list > li {
  margin-top: 10px;
}

.download-list.is-visual-studio {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.download-list.is-visual-studio > li {
  width: 30%;
  text-align: center;
}

@media screen and (max-width: 800px) {
  .download-list.is-visual-studio > li {
    width: 100%;
  }
}

/*------------------------------
  会社概要
------------------------------*/
body[id*='company'] .secondary-page-title {
  background-image: url("/assets/img/company/company-head.jpg");
}

@media screen and (max-width: 800px) {
  body[id*='company'] .secondary-page-title {
    background-image: url("/assets/img/company/company-head-sp.jpg");
  }
}

body[id*='company'] .office-map.is-profile {
  margin-top: 20px;
  height: 400px;
  width: 600px;
  max-width: 100%;
}

.table-like-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.table-like-box + .table-like-box {
  border-top: 1px solid #ddd;
}

.table-like-box__item {
  border-right: 1px solid #ddd;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.table-like-box__item:last-child {
  border-right: none;
}

.table-like-box__label {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.6;
  padding: 20px;
  border-bottom: 1px solid #ddd;
  background: #eee;
}

@media screen and (max-width: 670px) {
  .table-like-box__label {
    font-size: 1.2rem;
    padding: 10px;
  }
}

.table-like-box__value {
  font-size: 1.6rem;
  line-height: 1.6;
  padding: 20px;
  background: #fff;
}

@media screen and (max-width: 670px) {
  .table-like-box__value {
    font-size: 1.2rem;
    padding: 10px;
  }
}

.cell-separated-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.cell-separated-box + .cell-separated-box {
  border-top: 1px solid #ddd;
}

.cell-separated-box .cell-separated-box__label {
  padding: 20px;
  border-right: 1px solid #ddd;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (max-width: 670px) {
  .cell-separated-box .cell-separated-box__label {
    padding: 10px;
  }
}

.cell-separated-box .cell-separated-box__value {
  padding: 20px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (max-width: 670px) {
  .cell-separated-box .cell-separated-box__value {
    padding: 10px;
  }
}

/*------------------------------
  ヒビノバス
------------------------------*/
#company-busservice .bus-info {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 800px) {
  #company-busservice .bus-info {
    display: block;
  }
}

#company-busservice .bus-info__item {
  width: calc(50% - 20px);
}

@media screen and (max-width: 800px) {
  #company-busservice .bus-info__item {
    width: 100%;
    margin-top: 30px;
  }
  #company-busservice .bus-info__item:first-child {
    margin-top: 0;
  }
}

#company-busservice .bus-info__title {
  font-size: 2.2rem;
  font-weight: bold;
}

#company-busservice .bus-info__title .arrow {
  position: relative;
  display: inline-block;
  width: 70px;
  height: 3px;
  margin: 0 10px;
  vertical-align: middle;
  text-indent: -9999px;
  background-color: #333;
}

#company-busservice .bus-info__title .arrow:after {
  position: absolute;
  display: block;
  width: 35%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  content: '';
  right: 0;
  top: 0;
  margin-right: 1px;
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
  -webkit-transform-origin: 100% 0;
          transform-origin: 100% 0;
  background-color: #333;
}

@media screen and (max-width: 1479px) {
  #company-busservice .bus-info__title {
    font-size: 1.8rem;
  }
  #company-busservice .bus-info__title .arrow {
    width: 40px;
  }
}

@media screen and (max-width: 1279px) and (min-width: 801px) {
  #company-busservice .bus-info__title .disp-inb {
    display: block;
  }
}

@media screen and (max-width: 670px) {
  #company-busservice .bus-info__title {
    font-size: 1.4rem;
  }
  #company-busservice .bus-info__title .arrow {
    width: 15px;
    height: 1px;
    margin: 0 3px;
  }
}

#company-busservice .bus-info__table {
  width: 100%;
  margin-top: 20px;
  table-layout: fixed;
  border-collapse: collapse;
}

@media screen and (max-width: 670px) {
  #company-busservice .bus-info__table {
    margin-top: 10px;
  }
}

#company-busservice .bus-info__table th,
#company-busservice .bus-info__table td {
  font-size: 1.8rem;
  padding: 10px 5px;
  text-align: center;
  border: 1px solid #ddd;
}

@media screen and (max-width: 670px) {
  #company-busservice .bus-info__table th,
  #company-busservice .bus-info__table td {
    font-size: 1.2rem;
  }
}

#company-busservice .bus-info__table th {
  width: 120px;
  color: #fff;
  background-color: #999;
}

@media screen and (max-width: 1300px) {
  #company-busservice .bus-info__table th {
    width: 80px;
  }
}

@media screen and (max-width: 800px) {
  #company-busservice .bus-info__table th {
    width: auto;
  }
}

#company-busservice .bus-info__table sup {
  color: #e6001a;
}

#company-busservice .bus-info__item.is-green .bus-info__table th {
  background-color: #078c9d;
}

#company-busservice .bus-info__item.is-blue .bus-info__table th {
  background-color: #6d9cca;
}

#company-busservice .bus-info__item.is-green .bus-info__title strong {
  color: #007281;
}

#company-busservice .bus-info__item.is-green .bus-info__title .arrow {
  background-color: #007281;
}

#company-busservice .bus-info__item.is-green .bus-info__title .arrow:after {
  background-color: #007281;
}

#company-busservice .bus-info__item.is-blue .bus-info__title strong {
  color: #074c90;
}

#company-busservice .bus-info__item.is-blue .bus-info__title .arrow {
  background-color: #074c90;
}

#company-busservice .bus-info__item.is-blue .bus-info__title .arrow:after {
  background-color: #074c90;
}

/*------------------------------
  メディア
------------------------------*/
#company-media .media-box__wrap {
  margin-top: 60px;
}

@media screen and (max-width: 670px) {
  #company-media .media-box__wrap {
    margin-top: 30px;
  }
}

#company-media .media-box__item {
  margin-top: 30px;
}

@media screen and (max-width: 670px) {
  #company-media .media-box__item {
    margin-top: 10px;
  }
}

#company-media .media-box__title {
  position: relative;
  margin-top: 0;
}

@media screen and (min-width: 671px) {
  #company-media .media-box__title {
    padding-left: 120px;
  }
}

#company-media .media-box__category {
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1;
  position: absolute;
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 70px;
  margin-top: .6em;
  margin-left: -100px;
  padding: .35em .5em;
  text-align: center;
  vertical-align: middle;
  color: #fff;
}

@media screen and (max-width: 670px) {
  #company-media .media-box__category {
    font-size: 1.0rem;
    position: relative;
    width: 45px;
    margin-top: -.2em;
    margin-right: 1em;
    margin-left: 0;
  }
}

#company-media .media-box__category.is-book {
  background-color: #c08091;
}

#company-media .media-box__category.is-magazine {
  background-color: #e4959d;
}

#company-media .media-box__category.is-newspaper {
  background-color: #6d9cca;
}

#company-media .media-box__category.is-radio {
  background-color: #9467d8;
}

#company-media .media-box__category.is-tv {
  background-color: #eda156;
}

#company-media .media-box__category.is-web {
  background-color: #6fb7ba;
}

#company-media .media-box__content {
  margin-top: 30px;
}

@media screen and (max-width: 670px) {
  #company-media .media-box__content {
    font-size: 1.2rem;
    margin-top: 20px;
  }
}

/*------------------------------
  経営理念
------------------------------*/
#company-philosophy .image-ci {
  padding: 15px 0;
  text-align: center;
}

@media screen and (max-width: 670px) {
  #company-philosophy .image-ci {
    padding: 0;
  }
}

#company-philosophy .image-ci img {
  max-width: 388px;
}

#company-philosophy .image-slogan {
  padding: 15px 0;
  text-align: center;
}

@media screen and (max-width: 670px) {
  #company-philosophy .image-slogan {
    padding: 0;
  }
}

#company-philosophy .image-slogan img {
  max-width: 500px;
}

@media screen and (max-width: 670px) {
  #company-philosophy .image-slogan img {
    max-width: 280px;
  }
}

#company-philosophy .image-symbol {
  padding: 30px 0;
  text-align: center;
}

@media screen and (max-width: 670px) {
  #company-philosophy .image-symbol {
    padding: 20px 0;
  }
}

#company-philosophy .image-symbol img {
  max-width: 400px;
}

@media screen and (max-width: 800px) {
  #company-philosophy .image-symbol img {
    max-width: 200px;
  }
}

.ci-text {
  text-align: center;
  font-weight: 700;
  line-height: 1.4;
  margin: 30px auto;
  color: #0071be;
  font-size: 4.2rem;
}

@media screen and (max-width: 800px) {
  .ci-text {
    margin-top: 20px;
    font-size: 2.4rem;
  }
}

.ci-text-main {
  font-size: 6.2rem;
}

.ci-text-main .small {
  font-size: 80%;
  margin: 0 0.1em;
}

@media screen and (max-width: 800px) {
  .ci-text-main {
    font-size: 3.6rem;
  }
}

.ci-text-sub {
  font-size: 2.8rem;
  color: #282828;
}

@media screen and (max-width: 800px) {
  .ci-text-sub {
    font-size: 1.6rem;
  }
}

.ci-figure {
  margin: 50px auto 0 auto;
  text-align: center;
}

.ci-figure img {
  max-width: 900px;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 800px) {
  .ci-figure {
    margin-top: 30px;
  }
}

/*------------------------------
  沿革
------------------------------*/
#company-history .history-year .page-content-level-1 {
  margin-top: 0;
}

#company-history .history-year__list {
  border-top: 1px solid #ddd;
}

#company-history .history-year__list > li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 20px 0;
  border-bottom: 1px solid #ddd;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

@media screen and (max-width: 670px) {
  #company-history .history-year__list > li {
    font-size: 1.2rem;
    padding: 15px 0;
  }
}

#company-history .history-year__list .date {
  font-size: 1.8rem;
  font-weight: bold;
  width: 170px;
}

@media screen and (max-width: 670px) {
  #company-history .history-year__list .date {
    font-size: inherit;
    width: 90px;
  }
}

#company-history .history-year__list .txt {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

#company-history .history-breaf {
  margin-top: 50px;
}

@media screen and (max-width: 670px) {
  #company-history .history-breaf {
    margin-top: 30px;
  }
}

#company-history .history-breaf .page-content-level-1 {
  margin-top: 0;
}

#company-history .history-step-box .column-layout__item--image {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

#company-history .history-step-box .column-layout__item--image > .image-box {
  width: 50%;
  padding: 0 10px;
}

@media screen and (max-width: 670px) {
  #company-history .history-step-box .column-layout__item--image > .image-box {
    padding: 0 5px;
  }
}

#company-history .history-step-box .column-layout__item--image > .image-box:first-child {
  padding-left: 0;
}

#company-history .history-step-box .column-layout__item--image > .image-box:nth-child(2) {
  padding-right: 0;
}

#company-history .history-other-nav {
  margin-top: 50px;
}

@media screen and (max-width: 670px) {
  #company-history .history-other-nav {
    margin-top: 30px;
  }
}

#company-history .history-other-nav__buttons .button-with-arrow__text {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 1300px) {
  #company-history .history-other-nav__buttons .button-with-arrow__text {
    -webkit-box-pack: start;
    -webkit-justify-content: start;
        -ms-flex-pack: start;
            justify-content: start;
  }
}

#company-history .history-other-nav__buttons .basic-heading {
  padding-left: 60px;
}

@media screen and (max-width: 1300px) {
  #company-history .history-other-nav__buttons .basic-heading {
    padding-left: 25px;
  }
}

@media screen and (max-width: 1100px) {
  #company-history .history-other-nav__buttons .basic-heading {
    padding-left: 20px;
  }
}

#company-history .history-other-nav__roots {
  margin-top: 60px;
}

@media screen and (max-width: 670px) {
  #company-history .history-other-nav__roots {
    margin-top: 25px;
  }
}

#company-history .history-other-nav__roots .image-with-arrow__image:after {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  content: '';
  left: 0;
  top: 0;
  background-color: rgba(40, 40, 40, 0.3);
}

/*------------------------------
  沿革 ヒビノの歩み
------------------------------*/
#company-history-business .link-menu-list {
  margin-top: 20px;
}

@media screen and (max-width: 670px) {
  #company-history-business .link-menu-list > li {
    min-width: 50%;
    max-width: 50%;
  }
  #company-history-business .link-menu-list > li:after {
    content: none;
  }
  #company-history-business .link-menu-list > li:nth-child(2n)::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    content: '';
    background: #282828;
  }
}

#company-history-business .history-step-box .column-layout__item--image {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

#company-history-business .history-step-box .column-layout__item--image > .image-box {
  width: 50%;
  padding: 0 10px;
}

@media screen and (max-width: 670px) {
  #company-history-business .history-step-box .column-layout__item--image > .image-box {
    padding: 0 5px;
  }
}

#company-history-business .history-step-box .column-layout__item--image > .image-box:first-child {
  padding-left: 0;
}

#company-history-business .history-step-box .column-layout__item--image > .image-box:nth-child(2) {
  padding-right: 0;
}

#company-history-business .history-box {
  margin-top: 0;
}

#company-history-business .history-box .column-layout__item {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

#company-history-business .history-box .column-layout__item--image {
  max-width: 300px;
  margin-right: 40px;
  -webkit-box-flex: 0;
  -webkit-flex: none;
      -ms-flex: none;
          flex: none;
}

@media screen and (min-width: 1301px) {
  #company-history-business .business-sect--history .tab-box .tab-list > li.is-current a:after {
    left: 22%;
    width: 56%;
    margin-left: 0;
  }
}

@media screen and (max-width: 1300px) {
  #company-history-business .business-sect--history .tab-box .tab-list {
    padding: 0;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  #company-history-business .business-sect--history .tab-box .tab-list:after {
    display: none;
  }
  #company-history-business .business-sect--history .tab-box .tab-list > li {
    width: 50%;
    margin-top: 6px;
    -webkit-box-flex: 1;
    -webkit-flex: auto;
        -ms-flex: auto;
            flex: auto;
  }
  #company-history-business .business-sect--history .tab-box .tab-list > li a:before {
    display: none;
  }
  #company-history-business .business-sect--history .tab-box .tab-list > li.is-current a:after {
    margin-bottom: 5px;
  }
}

@media screen and (max-width: 800px) {
  #company-history-business .business-sect--history .tab-box .tab-list > li {
    font-size: 1.2rem;
  }
  #company-history-business .business-sect--history .tab-box .tab-list > li a {
    padding-right: 3px;
    padding-left: 3px;
  }
}

#company-history-business .business-sect--history .page-content-level-2.is-page-accordion-target {
  padding-top: 20px;
}

@media screen and (max-width: 1300px) {
  #company-history-business .business-sect--history .page-content-level-2.is-page-accordion-target {
    padding-top: 0;
  }
}

#company-history-business .business-sect--history .page-content-level-2 section {
  margin-top: 30px;
}

#company-history-business .business-sect--history .history-table-box {
  border-top: 1px solid #ddd;
}

#company-history-business .business-sect--history .history-table-box .history-table {
  width: 100%;
  table-layout: fixed;
  border-bottom: 1px solid #ddd;
}

#company-history-business .business-sect--history .history-table-box .history-table th,
#company-history-business .business-sect--history .history-table-box .history-table td {
  padding: 20px 0;
}

@media screen and (max-width: 670px) {
  #company-history-business .business-sect--history .history-table-box .history-table th,
  #company-history-business .business-sect--history .history-table-box .history-table td {
    font-size: 1.2rem;
    padding: 10px 0;
  }
}

@media screen and (min-width: 671px) {
  #company-history-business .business-sect--history .history-table-box .history-table tr + tr th,
  #company-history-business .business-sect--history .history-table-box .history-table tr + tr td {
    padding-top: 0;
  }
}

#company-history-business .business-sect--history .history-table-box .history-table .history-table-year {
  font-weight: bold;
  width: 10em;
}

#company-history-business .business-sect--history .history-table-box .history-table .history-table-month {
  font-weight: bold;
  width: 4em;
}

@media screen and (max-width: 670px) {
  #company-history-business .business-sect--history .history-table-box .history-table,
  #company-history-business .business-sect--history .history-table-box .history-table tr,
  #company-history-business .business-sect--history .history-table-box .history-table th,
  #company-history-business .business-sect--history .history-table-box .history-table td {
    display: block;
    width: 100%;
  }
  #company-history-business .business-sect--history .history-table-box .history-table tr {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  #company-history-business .business-sect--history .history-table-box .history-table .history-table-year {
    font-size: 1.4rem;
    width: 10em;
    padding-bottom: 0;
  }
  #company-history-business .business-sect--history .history-table-box .history-table .history-table-month {
    font-size: 1.4rem;
    width: 5em;
    padding-bottom: 0;
  }
}

/*------------------------------
  沿革 資料・年表
------------------------------*/
#company-history-data .history-section + .history-section {
  margin-top: 60px;
}

@media screen and (max-width: 670px) {
  #company-history-data .history-section + .history-section {
    margin-top: 40px;
  }
}

/*------------------------------
  ヒビノのルーツ
------------------------------*/
#company-roots .button-wrap {
  margin-top: 50px;
}

@media screen and (max-width: 670px) {
  #company-roots .button-wrap {
    margin-top: 0;
  }
}

/*------------------------------
  ヒビノのルーツ 下層
------------------------------*/
body[id*='company-roots'] .link-box-list .link-box {
  height: 100%;
  min-height: 75px;
  background: #eee;
}

body[id*='company-roots'] .link-box-list .link-box__photo:after {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  content: '';
  left: 0;
  top: 0;
  background-color: rgba(40, 40, 40, 0.3);
}

body[id*='company-roots'] .link-box-list .link-box__label {
  padding-top: 10px;
  padding-bottom: 10px;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
}

@media screen and (min-width: 671px) and (max-width: 1300px) {
  body[id*='company-roots'] .link-box-list .link-box__label {
    font-size: 1.3rem;
    line-height: 1.3;
  }
}

body[id*='company-roots'] .roots-box {
  margin-top: 60px;
}

@media screen and (max-width: 670px) {
  body[id*='company-roots'] .roots-box {
    margin-top: 30px;
  }
}

body[id*='company-roots'] .roots-box__item {
  margin-top: 30px;
}

@media screen and (max-width: 670px) {
  body[id*='company-roots'] .roots-box__item {
    margin-top: 10px;
  }
}

body[id*='company-roots'] .roots-box__title {
  position: relative;
  margin-top: 0;
}

body[id*='company-roots'] .roots-box__content {
  margin-top: 30px;
}

@media screen and (max-width: 670px) {
  body[id*='company-roots'] .roots-box__content {
    font-size: 1.2rem;
    margin-top: 20px;
  }
}

body[id*='company-roots'] .roots-box__content small {
  font-size: 75%;
}

body[id*='company-roots'] .roots-box .img-float-layout__item {
  max-width: inherit;
}

body[id*='company-roots'] .roots-box .image-box {
  position: relative;
}

body[id*='company-roots'] .roots-box .image-box img {
  width: 100%;
}

body[id*='company-roots'] .roots-box .image-box figcaption {
  text-align: left;
}

body[id*='company-roots'] .roots-box .image-box .icon-arrow {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 40px;
  height: 40px;
  background-color: #eee;
}

body[id*='company-roots'] .roots-box .image-box .icon-arrow img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 70%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

body[id*='company-roots'] .history-detail-box > .image-box:first-child,
body[id*='company-roots'] .history-detail-box > .text-box:first-child {
  margin-top: 0;
}

body[id*='company-roots'] .history-detail-box .text-box > p {
  text-indent: 1em;
}

body[id*='company-roots'] .roots-other-button {
  margin-top: 100px;
  text-align: center;
}

@media screen and (max-width: 670px) {
  body[id*='company-roots'] .roots-other-button {
    margin-top: 50px;
  }
}

body[id*='company-roots'] .roots-other-button .basic-button {
  margin: 0 10px;
}

@media screen and (max-width: 670px) {
  body[id*='company-roots'] .roots-other-button .basic-button {
    margin: 10px 0 0;
  }
}

body[id*='company-roots'] .roots-other-button .basic-button:first-child {
  margin-top: 0;
}

body[id*='company-roots'] .img-float-layout,
body[id*='company-roots'] .column-layout {
  clear: both;
  margin-top: 2em;
}

body[id*='company-roots'] .img-float-layout:first-child,
body[id*='company-roots'] .column-layout:first-child {
  margin-top: 0;
}

body[id*='company-roots'] .img-float-layout .image-box,
body[id*='company-roots'] .column-layout .image-box {
  margin-top: 0;
}

body[id*='company-roots'] .img-float-layout .image-box + .image-box,
body[id*='company-roots'] .column-layout .image-box + .image-box {
  margin-top: 20px;
}

body[id*='company-roots'] .img-float-layout .image-box img,
body[id*='company-roots'] .column-layout .image-box img {
  width: 100%;
}

body[id*='company-roots'] .img-float-layout figcaption,
body[id*='company-roots'] .column-layout figcaption {
  text-align: left;
}

/*------------------------------
  事業所
------------------------------*/
@media screen and (max-width: 1300px) {
  #company-office .office-box .column-layout {
    display: block;
  }
}

@media screen and (max-width: 1300px) {
  #company-office .office-box .column-layout__item {
    width: 100%;
    margin-top: 20px;
  }
  #company-office .office-box .column-layout__item:first-child {
    margin-top: 0;
  }
}

#company-office .office-box .column-layout + .column-layout {
  padding-top: 40px;
  border-top: 1px solid #ddd;
}

@media screen and (max-width: 800px) {
  #company-office .office-box .column-layout + .column-layout {
    padding-top: 30px;
  }
}

#company-office .office-box__map {
  text-align: right;
}

#company-office .office-box__map iframe {
  max-width: 100%;
}

@media screen and (max-width: 1300px) {
  #company-office .office-box__map iframe {
    height: 300px;
  }
}

@media screen and (max-width: 800px) {
  #company-office .office-box__map iframe {
    height: 230px;
  }
}

.office-map {
  width: 100%;
  height: 400px;
}

/*------------------------------
  事業所
------------------------------*/
#company-social_contribution .page-heading-social {
  font-size: 2.4rem;
  margin-top: 50px;
}

@media screen and (max-width: 670px) {
  #company-social_contribution .page-heading-social {
    font-size: 1.3rem;
    margin-top: 30px;
  }
}

#company-social_contribution .social-box__wrap {
  margin-top: 60px;
}

@media screen and (max-width: 670px) {
  #company-social_contribution .social-box__wrap {
    margin-top: 30px;
  }
}

#company-social_contribution .social-box__item {
  margin-top: 30px;
}

@media screen and (max-width: 670px) {
  #company-social_contribution .social-box__item {
    margin-top: 10px;
  }
}

#company-social_contribution .social-box__title {
  position: relative;
  margin-top: 0;
}

#company-social_contribution .social-box__content {
  margin-top: 30px;
}

@media screen and (max-width: 670px) {
  #company-social_contribution .social-box__content {
    font-size: 1.2rem;
    margin-top: 20px;
  }
}

#company-social_contribution .social-box__content .img-float-layout:first-child,
#company-social_contribution .social-box__content .column-layout:first-child {
  margin-top: 0;
}

#company-social_contribution .social-box__content .basic-table {
  margin-top: 50px;
  table-layout: fixed;
}

@media screen and (max-width: 670px) {
  #company-social_contribution .social-box__content .basic-table {
    margin-top: 25px;
  }
}

#company-social_contribution .social-box__content .basic-table th {
  width: 140px;
  text-align: center;
}

@media screen and (max-width: 1300px) {
  #company-social_contribution .social-box__content .basic-table th {
    width: 120px;
    padding-right: 15px;
    padding-left: 15px;
  }
}

@media screen and (max-width: 1100px) {
  #company-social_contribution .social-box__content .basic-table th {
    width: auto;
    text-align: left;
  }
}

@media screen and (max-width: 1300px) {
  #company-social_contribution .social-box__content .basic-table .text-box {
    padding-right: 15px;
    padding-left: 15px;
  }
}

/*------------------------------
  採用情報
------------------------------*/
#company-job .job-main {
  text-align: center;
}

#company-job .job-main .image-box {
  margin-top: 0;
}

#company-job .job-main .text-box {
  margin-top: -115px;
}

@media screen and (max-width: 1300px) {
  #company-job .job-main .text-box {
    margin-top: 0;
    text-align: left;
  }
}

#company-job .job-info {
  margin-top: 90px;
}

@media screen and (max-width: 800px) {
  #company-job .job-info {
    margin-top: 40px;
  }
}

#company-job .job-newinfo .icon-logo img {
  width: auto;
  height: auto;
  max-width: 100%;
}

@media screen and (max-width: 800px) {
  #company-job .job-newinfo .icon-logo img {
    height: auto;
  }
}

#company-job .job-midinfo .basic-table {
  margin-top: 30px;
}

@media screen and (max-width: 670px) {
  #company-job .job-midinfo .basic-table {
    margin-top: 20px;
  }
}

#company-job .job-midinfo .basic-table + .basic-table {
  margin-top: 60px;
}

@media screen and (max-width: 670px) {
  #company-job .job-midinfo .basic-table + .basic-table {
    margin-top: 30px;
  }
}

#company-job .job-midinfo .basic-table th,
#company-job .job-midinfo .basic-table td {
  padding: 20px;
}

@media screen and (max-width: 670px) {
  #company-job .job-midinfo .basic-table th,
  #company-job .job-midinfo .basic-table td {
    padding: 10px;
  }
}

#company-job .job-midinfo .basic-table th th,
#company-job .job-midinfo .basic-table th td,
#company-job .job-midinfo .basic-table td th,
#company-job .job-midinfo .basic-table td td {
  padding: 0;
  border: 0;
}

#company-job .job-midinfo .basic-table .is-nowrap {
  white-space: nowrap;
}

@media screen and (max-width: 800px) {
  #company-job .job-contact .button-wrap {
    text-align: center;
  }
}

#company-job .job-contact .basic-button__label {
  min-width: 320px;
  max-width: inherit;
  padding-right: 80px;
}

@media screen and (max-width: 800px) {
  #company-job .job-contact .basic-button__label {
    min-width: 260px;
    padding-right: 60px;
    padding-left: 60px;
    text-align: left;
  }
  #company-job .job-contact .basic-button__label span {
    display: none;
  }
}

#company-job .job-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  margin: 30px 0;
}

#company-job .job-list > li {
  width: calc((100% - 80px)/3);
}

#company-job .job-list > li .wrap {
  background-color: #eee;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0 20px 60px 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

#company-job .job-list-ttl {
  width: 100%;
  font-size: 2rem;
  font-weight: bold;
  color: #0071be;
  position: relative;
  line-height: 1.4;
  padding-bottom: 17px;
  margin-bottom: 13px;
}

#company-job .job-list-ttl::after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: #282828;
  width: 48px;
  height: 2px;
}

#company-job .job-list-txt {
  width: 100%;
  color: #282828;
}

#company-job .job-list-ico {
  width: calc(100% + 40px);
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
  margin: 0 -20px 25px -20px;
}

@media screen and (max-width: 800px) {
  #company-job .job-list {
    gap: 20px;
    margin: 20px 0;
  }
  #company-job .job-list > li {
    width: 100%;
  }
  #company-job .job-list-ttl {
    font-size: 1.6rem;
  }
  #company-job .job-list-txt {
    font-size: 1.2rem;
  }
}

#company-job .job-detail-title {
  line-height: 1.6;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

#company-job .job-detail-title__text {
  width: calc(100% - 40px);
}

#company-job .job-detail-title__text .ttl {
  margin-right: 25px;
  display: inline-block;
}

#company-job .job-detail-title__text .ico {
  display: inline-block;
  vertical-align: text-bottom;
}

#company-job .job-detail-title__button {
  width: 300px;
}

#company-job .job-detail-image {
  max-width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 40px;
  margin-top: 30px;
}

#company-job .job-detail-image figure {
  width: 100%;
  max-width: 100%;
  text-align: center;
}

#company-job .job-detail-image figure img {
  max-width: 100%;
}

#company-job .job-detail-image2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 40px;
  margin-top: 30px;
}

#company-job .job-detail-image2 figure {
  max-width: calc(50% - 40px);
}

#company-job .job-detail-image2 figure img {
  max-width: 100%;
}

#company-job .job-detail-image2 figcaption {
  font-size: 1.2rem;
  display: block;
  margin-top: 5px;
}

#company-job .job-detail-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 40px;
  margin-bottom: 40px;
}

#company-job .job-detail-link > li {
  width: calc((100% - 80px)/3);
}

#company-job .job-detail-link > li .wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-transition: all 0.3s 0s ease;
  transition: all 0.3s 0s ease;
}

#company-job .job-detail-link > li .wrap .txt {
  -webkit-transition: all 0.3s 0s ease;
  transition: all 0.3s 0s ease;
  background: #eee url("/assets/img/common/blue-arrow-small.svg") 96% center no-repeat;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  width: 100%;
  color: #282828;
  padding: 15px 40px 15px 18px;
  line-height: 1.4;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: bold;
  min-height: 70px;
}

#company-job .job-detail-link > li .wrap:hover {
  opacity: .75;
}

#company-job .job-detail-link > li .wrap:hover .txt {
  background-position: 97% center;
}

#company-job .job-detail-link > li .wrap .img {
  -webkit-box-ordinal-group: 1;
  -webkit-order: 0;
      -ms-flex-order: 0;
          order: 0;
  width: 100%;
}

#company-job .job-detail-link > li .wrap .img img {
  width: 100%;
  height: auto;
}

#company-job .job-detail-apply {
  padding: 25px 0;
  background-color: rgba(0, 104, 183, 0.88);
  width: 100%;
  position: fixed;
  left: 0;
  bottom: 0;
  content: "";
  z-index: 100;
  display: none;
}

#company-job .job-detail-table table {
  width: 100% !important;
  border-collapse: collapse;
  height: auto !important;
}

#company-job .job-detail-table table tr {
  height: auto !important;
}

#company-job .job-detail-table table th, #company-job .job-detail-table table td {
  height: auto !important;
  padding: 20px;
  line-height: 1.6;
  border: 1px solid #ddd;
  vertical-align: top;
  text-align: left;
}

@media screen and (max-width: 670px) {
  #company-job .job-detail-table table th, #company-job .job-detail-table table td {
    padding: 10px;
  }
}

#company-job .job-detail-table table th {
  background: #eee;
}

@media screen and (min-width: 1101px) {
  #company-job .job-detail-table table th {
    width: 280px !important;
  }
}

#company-job .job-detail-table table td {
  background: #fff;
}

@media screen and (min-width: 1101px) {
  #company-job .job-detail-table table td {
    width: calc(100% - 280px) !important;
  }
}

@media screen and (max-width: 1100px) {
  #company-job .job-detail-table table {
    display: block;
  }
  #company-job .job-detail-table table tbody,
  #company-job .job-detail-table table tr,
  #company-job .job-detail-table table th,
  #company-job .job-detail-table table td {
    display: block;
    width: 100% !important;
  }
  #company-job .job-detail-table table th,
  #company-job .job-detail-table table td {
    margin-top: -1px;
  }
}

@media screen and (max-width: 670px) {
  #company-job .job-detail-table table th,
  #company-job .job-detail-table table td {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 800px) {
  #company-job .job-detail-title {
    gap: 0;
  }
  #company-job .job-detail-title__text {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 10px;
  }
  #company-job .job-detail-title__text .ttl {
    margin-right: 0;
    width: 100%;
  }
  #company-job .job-detail-title__text .ico {
    width: 100%;
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1;
  }
  #company-job .job-detail-title__button {
    display: none;
  }
  #company-job .job-detail-image {
    gap: 20px;
    margin-top: 20px;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  #company-job .job-detail-image2 {
    gap: 20px;
    margin-top: 20px;
  }
  #company-job .job-detail-image2 figure {
    max-width: 100%;
  }
  #company-job .job-detail-image2 figcaption {
    font-size: 1rem;
    margin-top: 3px;
  }
  #company-job .job-detail-link {
    gap: 20px;
    margin-bottom: 20px;
  }
  #company-job .job-detail-link > li {
    width: 100%;
  }
  #company-job .job-detail-link > li .wrap .txt {
    min-height: 0;
    font-size: 1.2rem;
  }
  #company-job .job-detail-apply {
    padding: 10px 20px;
    display: block;
  }
  #company-job .job-detail-apply .basic-button__label {
    min-width: 270px;
  }
}

#company-job .job-icon-box {
  font-size: 0;
  font-weight: normal;
}

#company-job .job-icon-box .job-icon {
  font-size: 1.6rem;
  display: inline-block;
  color: #fff;
  padding: 10px 15px;
  line-height: 1;
  margin-right: 1px;
}

#company-job .job-icon-box .job-icon.ico-black {
  background-color: #282828;
}

#company-job .job-icon-box .job-icon.ico-blue {
  background-color: #0071be;
}

@media screen and (max-width: 800px) {
  #company-job .job-icon-box .job-icon {
    font-size: 1.2rem;
    padding: 8px 12px;
  }
}

/*------------------------------
  役員及び執行役員・役員略歴共通
------------------------------*/
#company-executives .executives-info__box,
#company-executives-biography .executives-info__box {
  border-top: 1px solid #ddd;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding-top: 20px;
  padding-bottom: 20px;
  word-break: break-word;
}

@media screen and (max-width: 670px) {
  #company-executives .executives-info__box,
  #company-executives-biography .executives-info__box {
    font-size: 1.2rem;
  }
}

#company-executives .executives-info__box:last-of-type,
#company-executives-biography .executives-info__box:last-of-type {
  border-bottom: 1px solid #ddd;
}

#company-executives .executives-info__box dt,
#company-executives-biography .executives-info__box dt {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 175px;
}

@media screen and (max-width: 670px) {
  #company-executives .executives-info__box dt,
  #company-executives-biography .executives-info__box dt {
    width: 90px;
  }
}

#company-executives .executives-info__box dd,
#company-executives-biography .executives-info__box dd {
  padding-left: 40px;
}

@media screen and (max-width: 670px) {
  #company-executives .executives-info__box dd,
  #company-executives-biography .executives-info__box dd {
    padding-left: 0;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

#company-executives .executives-caption,
#company-executives-biography .executives-caption {
  font-size: 100%;
  margin-top: 18px;
}

@media screen and (max-width: 670px) {
  #company-executives .executives-caption,
  #company-executives-biography .executives-caption {
    font-size: 1.2rem;
  }
}

#company-executives .text-bold,
#company-executives-biography .text-bold {
  display: block;
  font-size: 2.0rem;
  font-weight: bold;
}

@media screen and (max-width: 670px) {
  #company-executives .text-bold,
  #company-executives-biography .text-bold {
    font-size: 1.6rem;
  }
}

#company-executives .text-thin,
#company-executives-biography .text-thin {
  display: block;
  font-size: 1.2rem;
}

@media screen and (max-width: 670px) {
  #company-executives .text-thin,
  #company-executives-biography .text-thin {
    font-size: 1.0rem;
  }
}

/*------------------------------
  役員及び執行役員
------------------------------*/
#company-executives .executives-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#company-executives .executives-list::before, #company-executives .executives-list::after {
  content: "";
  display: block;
  width: 21.96753%;
}

@media screen and (max-width: 800px) {
  #company-executives .executives-list::before, #company-executives .executives-list::after {
    content: none;
  }
}

#company-executives .executives-list::before {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}

#company-executives .executives-list > li {
  width: 21.96753%;
}

@media screen and (max-width: 800px) {
  #company-executives .executives-list > li {
    width: 47.16418%;
  }
}

#company-executives .executives-list > li:not(:nth-of-type(-n+4)) {
  margin-top: 40px;
}

@media screen and (max-width: 800px) {
  #company-executives .executives-list > li:not(:nth-of-type(-n+4)) {
    margin-top: 20px;
  }
}

@media screen and (max-width: 800px) {
  #company-executives .executives-list > li:not(:nth-of-type(-n+2)) {
    margin-top: 20px;
  }
}

@media screen and (max-width: 670px) {
  #company-executives .executives-list .text-box a {
    font-size: 1.2rem;
  }
}

#company-executives .executives-info__box dt {
  font-size: 1.8rem;
  font-weight: bold;
}

@media screen and (max-width: 670px) {
  #company-executives .executives-info__box dt {
    font-size: 1.2rem;
  }
}

/*------------------------------
  役員略歴共通
------------------------------*/
#company-executives-biography .biography-list > li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 1100px) {
  #company-executives-biography .biography-list > li {
    display: block;
  }
}

#company-executives-biography .biography-list > li + li {
  margin-top: 80px;
}

#company-executives-biography .biography-list .image-box {
  width: 21.96753%;
}

@media screen and (max-width: 1100px) {
  #company-executives-biography .biography-list .image-box {
    width: 100%;
  }
}

#company-executives-biography .biography-list .executives-info {
  width: 73.54346%;
}

@media screen and (max-width: 1100px) {
  #company-executives-biography .biography-list .executives-info {
    width: 100%;
  }
}

@media screen and (max-width: 1100px) {
  #company-executives-biography .biography-list .sp-column {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (max-width: 1100px) {
  #company-executives-biography .biography-list .sp-column .executives-caption {
    margin-top: 0;
    padding-left: 3.07692%;
  }
  #company-executives-biography .biography-list .sp-column .executives-caption .text-bold {
    margin-top: 10px;
  }
}

@media screen and (max-width: 1100px) {
  #company-executives-biography .biography-list .sp-column__item {
    width: 48.61538%;
  }
}

@media screen and (max-width: 1100px) {
  #company-executives-biography .executives-info {
    margin-top: 20px;
  }
}

#company-executives-biography .executives-info__box dt {
  color: #888;
  font-weight: normal;
  width: 135px;
}

@media screen and (max-width: 670px) {
  #company-executives-biography .executives-info__box dt {
    width: 90px;
  }
}

/*------------------------------
  サンプル
------------------------------*/
#company-example .secondary-page-title {
  background-image: url("/assets/img/company/profile-head.jpg");
  background-size: cover;
}

@media screen and (max-width: 800px) {
  #company-example .secondary-page-title {
    background-image: url("/assets/img/company/profile-head-sp.jpg");
  }
}

.page-main__head.is-ir .secondary-page-title {
  background-image: url("/assets/img/ir/ir-head.jpg");
  background-size: cover;
}

@media screen and (max-width: 800px) {
  .page-main__head.is-ir .secondary-page-title {
    background-image: url("/assets/img/ir/ir-head-sp.jpg");
  }
}

/*------------------------------
  トップ
------------------------------*/
#ir .primary-page-title {
  height: 380px;
  background-image: url("/assets/img/ir/ir-mv.jpg");
  background-position: top center;
  background-size: cover;
}

@media screen and (max-width: 800px) {
  #ir .primary-page-title {
    height: 240px;
    background-image: url("/assets/img/ir/ir-mv-sp.jpg");
  }
}

#ir .content-box {
  overflow: hidden;
}

.news-sect {
  margin-top: 50px;
}

.banner-sect {
  margin-top: 50px;
}

.irpickup-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -17px;
}

@media screen and (max-width: 1299px) {
  .irpickup-box {
    display: block;
  }
}

.irpickup-box__title {
  font-size: 2.4rem;
  line-height: 1.4;
  padding-bottom: 12px;
  border-bottom: 1px solid #e6001a;
}

@media screen and (max-width: 670px) {
  .irpickup-box__title {
    font-size: 1.6rem;
    padding-bottom: 11px;
  }
}

.irpickup-box__left {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 75%;
  padding: 0 17px;
}

@media screen and (max-width: 1299px) {
  .irpickup-box__left {
    width: auto;
  }
}

.irpickup-box__right {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 25%;
  padding: 0 17px;
}

@media screen and (min-width: 1300px) {
  .irpickup-box__right {
    min-width: 400px;
  }
}

@media screen and (max-width: 1299px) {
  .irpickup-box__right {
    width: auto;
    margin-top: 50px;
  }
}

.irpickup-box__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -13px;
  margin-top: 25px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

@media screen and (max-width: 1100px) {
  .irpickup-box__list {
    display: block;
  }
}

@media screen and (max-width: 1100px) {
  .irpickup-box__list {
    margin-right: -5px;
    margin-left: -5px;
  }
}

@media screen and (max-width: 800px) {
  .irpickup-box__list {
    margin: 20px 0 0;
  }
}

.irpickup-box__list > li {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 33.333%;
  padding: 0 13px;
}

@media screen and (max-width: 1100px) {
  .irpickup-box__list > li {
    padding: 0 5px;
  }
}

@media screen and (max-width: 1100px) {
  .irpickup-box__list > li {
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
    margin-top: 15px;
  }
  .irpickup-box__list > li:first-child {
    margin-top: 0;
  }
}

@media screen and (max-width: 800px) {
  .irpickup-box__list > li {
    padding: 0;
  }
}

.irpickup-box__list2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -2px;
  margin-top: 25px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

@media screen and (max-width: 800px) {
  .irpickup-box__list2 {
    margin-top: 20px;
  }
}

.irpickup-box__list2 > li {
  font-size: 1.6rem;
  font-weight: bold;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 50%;
  margin-bottom: 4px;
  padding: 0 2px;
}

@media screen and (max-width: 1100px) {
  .irpickup-box__list2 > li {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 800px) {
  .irpickup-box__list2 > li {
    font-size: 1.2rem;
  }
}

.irpickup-box__list2 > li:hover {
  z-index: 1;
}

.irpickup-box__list2 > li img {
  width: 20px;
}

.irpickup-box__list2 > li small {
  display: block;
  color: #888;
  font-size: 75%;
  font-weight: normal;
}

.irpickup-box__list2 > li a {
  position: relative;
  display: block;
  padding: 15px 42px 15px 20px;
  color: inherit;
  background-color: #eee;
}

@media screen and (max-width: 800px) {
  .irpickup-box__list2 > li a {
    padding: 15px 32px 15px 10px;
  }
}

.irpickup-box__list2 > li a:hover {
  -webkit-transition-duration: .2s;
          transition-duration: .2s;
  -webkit-box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
          box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
}

.irpickup-box__list2 > li a img {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (max-width: 800px) {
  .irpickup-box__list2 > li a img {
    right: 10px;
  }
}

.irpickup-box__alldl {
  margin-top: auto;
  text-align: center;
}

@media screen and (max-width: 800px) {
  .irpickup-box__alldl {
    margin-top: 15px;
  }
}

.irpickup-box__alldl .basic-button {
  width: 100%;
}

.irpickup-box__alldl .basic-button__label {
  min-width: inherit;
  max-width: inherit;
}

.irpickup-box__alldl small {
  display: inline-block;
  color: #aaa;
  margin-left: .5em;
  font-size: 75%;
  font-weight: normal;
}

.irpickup-box .irpickup-with-arrow {
  position: relative;
  display: block;
  color: inherit;
}

.irpickup-box .irpickup-with-arrow:hover {
  -webkit-transition-duration: .2s;
          transition-duration: .2s;
  -webkit-box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
          box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
}

.irpickup-box .irpickup-with-arrow:hover .irpickup-with-arrow__image figure picture {
  -webkit-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1);
}

.irpickup-box .irpickup-with-arrow__inner {
  position: relative;
}

.irpickup-box .irpickup-with-arrow__text {
  position: absolute;
  z-index: 400;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.irpickup-box .irpickup-with-arrow__text__inner {
  padding: 0 20px;
}

.irpickup-box .irpickup-with-arrow__sub {
  font-size: 1.2rem;
  font-weight: bold;
}

@media screen and (max-width: 1100px) {
  .irpickup-box .irpickup-with-arrow__sub {
    font-size: 1.0rem;
  }
}

@media screen and (max-width: 800px) {
  .irpickup-box .irpickup-with-arrow__sub {
    font-size: 1.0rem;
  }
}

.irpickup-box .irpickup-with-arrow__main {
  font-size: 2.4rem;
  font-weight: bold;
}

@media screen and (max-width: 1400px) {
  .irpickup-box .irpickup-with-arrow__main {
    font-size: 2.0rem;
  }
}

@media screen and (max-width: 1100px) {
  .irpickup-box .irpickup-with-arrow__main {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 800px) {
  .irpickup-box .irpickup-with-arrow__main {
    font-size: 1.6rem;
  }
}

.irpickup-box .irpickup-with-arrow__main small {
  font-size: 1.2rem;
  font-weight: normal;
  display: block;
}

@media screen and (max-width: 800px) {
  .irpickup-box .irpickup-with-arrow__main small {
    font-size: 1.0rem;
  }
}

.irpickup-box .irpickup-with-arrow__image {
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 1101px) {
  .irpickup-box .irpickup-with-arrow__image {
    height: 175px;
  }
}

.irpickup-box .irpickup-with-arrow__image figure {
  display: block;
  overflow: hidden;
}

@media screen and (min-width: 1101px) {
  .irpickup-box .irpickup-with-arrow__image figure {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

.irpickup-box .irpickup-with-arrow__image picture {
  position: relative;
  display: block;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}

@media screen and (min-width: 1101px) {
  .irpickup-box .irpickup-with-arrow__image picture {
    position: absolute;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-size: cover;
  }
}

.irpickup-box .irpickup-with-arrow__image img {
  width: 100%;
}

@media screen and (min-width: 1101px) {
  .irpickup-box .irpickup-with-arrow__image img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .is-IE .irpickup-box .irpickup-with-arrow__image img {
    opacity: 0;
  }
}

.irpickup-box .irpickup-with-arrow__button {
  font-size: 1.6rem;
  font-weight: bold;
  position: relative;
  padding: 18px 20px;
  background-color: #eee;
}

@media screen and (max-width: 1100px) {
  .irpickup-box .irpickup-with-arrow__button {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 800px) {
  .irpickup-box .irpickup-with-arrow__button {
    font-size: 1.2rem;
    padding: 15px 10px;
  }
}

.irpickup-box .irpickup-with-arrow__button img {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 20px;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (max-width: 800px) {
  .irpickup-box .irpickup-with-arrow__button img {
    right: 10px;
  }
}

.irpickup-with-arrow__text.is-white {
  color: #fff;
}

/*------------------------------------------------------------
  代表メッセージ
------------------------------------------------------------*/
.message-main__photo {
  text-align: center;
}

.message-main__photo img {
  width: 100%;
  max-width: 100%;
}

@media screen and (max-width: 800px) {
  .message-main > * {
    width: 100%;
  }
  .message-main__text {
    display: none;
  }
}

.message-box .text-box p + p {
  margin-top: 2em;
}

.message-other {
  position: relative;
}

.message-other:before {
  position: absolute;
  display: block;
  width: 200vw;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  content: '';
  left: 50%;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #f5f5f5;
}

.message-other__inner {
  position: relative;
  z-index: 1;
}

.message-other__main {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.message-other__item {
  font-weight: bold;
}

.message-other__item .pdf-icon {
  font-weight: normal;
}

@media screen and (min-width: 671px) {
  .message-other {
    padding: 100px 0;
  }
  .message-other__title {
    font-size: 2.8rem;
  }
  .message-other__main {
    margin-top: 25px;
  }
  .message-other__thumb {
    width: 300px;
    padding-right: 30px;
  }
  .message-other__text {
    min-width: 240px;
  }
  .message-other__name {
    font-size: 2.0rem;
  }
  .message-other__item {
    font-size: 1.6rem;
    margin-top: 20px;
    padding: 0 10px;
  }
}

@media screen and (max-width: 800px) {
  .message-other {
    padding: 50px 0;
  }
  .message-other__title {
    font-size: 1.6rem;
  }
  .message-other__main {
    display: block;
    margin-top: 10px;
  }
  .message-other__thumb {
    text-align: center;
  }
  .message-other__thumb img {
    max-width: 100%;
  }
  .message-other__text {
    min-width: 240px;
  }
  .message-other__name {
    font-size: 1.6rem;
  }
  .message-other__item {
    font-size: 1.4rem;
    margin-top: 20px;
    padding: 0 10px;
  }
}

/*------------------------------------------------------------
  経営方針
------------------------------------------------------------*/
#ir-policy .policy-box .text-box p + p {
  margin-top: 2em;
}

#ir-policy .policy-nav .column-layout__item {
  max-width: 525px;
}

#ir-policy .policy-nav .image-with-arrow__text .basic-heading {
  padding: 0 25px;
}

#ir-policy .policy-nav .image-with-arrow__text .basic-heading__main {
  font-size: 2.4rem;
}

@media screen and (max-width: 1100px) {
  #ir-policy .policy-nav .image-with-arrow__text .basic-heading__main {
    font-size: 2.0rem;
  }
}

@media screen and (max-width: 670px) {
  #ir-policy .policy-nav .image-with-arrow__text .basic-heading__main {
    font-size: 1.4rem;
  }
}

#ir-policy .plan-main {
  position: relative;
  margin: 0 auto;
  background-color: #fdf9f0;
}

#ir-policy .plan-main__thumb {
  text-align: right;
}

#ir-policy .plan-main__thumb img {
  width: auto;
  max-width: 100%;
}

#ir-policy .plan-main__text {
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding-right: 20%;
  text-align: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 800px) {
  #ir-policy .plan-main__text {
    padding-right: 0;
  }
}

#ir-policy .plan-main__text__title {
  font-size: 3.3rem;
  font-weight: bold;
  text-shadow: 1px 1px 0 rgba(253, 249, 240, 0.5), -1px -1px 0 rgba(253, 249, 240, 0.5), -1px 1px 0 rgba(253, 249, 240, 0.5), 1px -1px 0 rgba(253, 249, 240, 0.5), 0 1px 0 rgba(253, 249, 240, 0.5), -1px 0 rgba(253, 249, 240, 0.5), -1px 0 0 rgba(253, 249, 240, 0.5), 1px 0 0 rgba(253, 249, 240, 0.5);
}

@media screen and (max-width: 1599px) {
  #ir-policy .plan-main__text__title {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 670px) {
  #ir-policy .plan-main__text__title {
    font-size: 1.7rem;
  }
}

#ir-policy .plan-main__text__title small {
  font-size: 1.8rem;
  display: block;
  margin-top: 5px;
}

@media screen and (max-width: 1100px) {
  #ir-policy .plan-main__text__title small {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 670px) {
  #ir-policy .plan-main__text__title small {
    font-size: 1.0rem;
  }
}

#ir-policy .plan-theme .page-heading-level-3 {
  font-size: 2.0rem;
}

@media screen and (max-width: 670px) {
  #ir-policy .plan-theme .page-heading-level-3 {
    font-size: 1.3rem;
  }
}

#ir-policy .plan-theme .page-heading-level-3:first-child {
  margin-top: 0;
}

#ir-policy .plan-theme .page-heading-level-4 {
  margin-top: 20px;
}

#ir-policy .plan-theme .image-box {
  text-align: center;
  border: 1px solid #ddd;
}

#ir-policy .plan-theme .image-box img {
  width: auto;
  max-width: 100%;
}

#ir-policy .plan-doc .page-heading-level-3 {
  font-size: 2.0rem;
}

@media screen and (max-width: 670px) {
  #ir-policy .plan-doc .page-heading-level-3 {
    font-size: 1.3rem;
  }
}

#ir-policy .plan-doc__image {
  max-width: 280px;
}

#ir-policy .plan-doc__image img {
  max-width: 100%;
  border: 1px solid #ddd;
}

#ir-policy .plan-doc__text {
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: 10px;
}

#ir-policy .plan-doc__text .pdf-icon {
  font-weight: normal;
}

/*------------------------------------------------------------
  株主・株式情報
------------------------------------------------------------*/
@media screen and (max-width: 1299px) {
  .stocks-nav .image-with-arrow__text .basic-heading {
    padding-left: 20px;
  }
}

@media screen and (max-width: 374px) {
  .stocks-nav .image-with-arrow__text .basic-heading {
    padding: 0 40px 0 10px;
  }
}

.stocks-nav .image-with-arrow__text .basic-heading__main {
  font-size: 2.4rem;
}

@media screen and (max-width: 1299px) {
  .stocks-nav .image-with-arrow__text .basic-heading__main {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 670px) {
  .stocks-nav .image-with-arrow__text .basic-heading__main {
    font-size: 1.4rem;
  }
}

.stocks-nav .image-with-arrow__text .basic-heading__main small {
  font-size: 1.4rem;
  line-height: 1.4;
  display: block;
}

@media screen and (max-width: 1299px) {
  .stocks-nav .image-with-arrow__text .basic-heading__main small {
    font-size: 1.2rem;
    line-height: 1.2;
  }
}

@media screen and (max-width: 670px) {
  .stocks-nav .image-with-arrow__text .basic-heading__main small {
    font-size: 1.0rem;
  }
}

@media screen and (max-width: 374px) {
  .stocks-nav .image-with-arrow__text .basic-heading__main small {
    font-size: .9rem;
    line-height: 1.1;
  }
}

@media screen and (min-width: 1101px) {
  .stocks-custom-table .is-sp {
    display: none !important;
  }
}

@media screen and (max-width: 1100px) {
  .stocks-custom-table {
    display: block;
  }
  .stocks-custom-table .is-pc {
    display: none !important;
  }
  .stocks-custom-table tr {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .stocks-custom-table tr > th,
  .stocks-custom-table tr > td {
    display: block;
  }
  .stocks-custom-table tr > th {
    width: 100%;
  }
  .stocks-custom-table tr > th .js-cloneHead {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 20px -20px -20px;
  }
}

@media screen and (max-width: 1100px) and (max-width: 670px) {
  .stocks-custom-table tr > th .js-cloneHead {
    margin: 10px -10px -10px;
  }
}

@media screen and (max-width: 1100px) {
  .stocks-custom-table tr > th .js-cloneHead > * {
    display: block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 50%;
    border-width: 1px 1px 0 0;
  }
  .stocks-custom-table tr > th .js-cloneHead > *:last-child {
    border-right: 0;
  }
  .stocks-custom-table tr > th .js-cloneHead .empty {
    display: none;
  }
  .stocks-custom-table tr > td {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 50%;
  }
  .stocks-custom-table tr > td + td {
    border-left: 0;
  }
}

.stocks-info-img {
  border: 1px #dcdcdc solid;
  text-align: center;
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
          align-self: stretch;
  position: relative;
}

.stocks-info-img figure {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
  width: calc(370/540 * 100%);
  max-width: 450px;
  height: auto;
  margin: 0 auto;
}

.stocks-info-img figure img {
  width: 100%;
  height: auto;
}

.stocks-info-img a {
  display: inline-block;
  position: absolute;
  right: 10px;
  bottom: 10px;
  text-decoration: underline;
  font-size: 12px;
}

.stocks-info-img a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 800px) {
  .stocks-info-img figure {
    position: static;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    width: 90%;
    max-width: none;
    padding: 20px 20px 40px 20px;
  }
}

/*------------------------------------------------------------
netsale
------------------------------------------------------------*/
.netsale-color {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-top: -.1em;
  margin-right: .45em;
  vertical-align: middle;
}

.netsale-color.is-circle {
  border-radius: 100%;
}

.netsale-color.is-line {
  position: relative;
  width: 0.75em;
  height: 0.75em;
  margin-top: -0.2em;
}

.netsale-color.is-line::after {
  position: absolute;
  display: block;
  width: calc(100% + 8px);
  height: 2px;
  left: -4px;
  top: 50%;
  margin-top: -1px;
  content: "";
  background-color: inherit;
}

.is-light-orange {
  background-color: #ffbc80 !important;
}

.is-light-green {
  background-color: #a4e5cd !important;
}

.is-light-blue {
  background-color: #99d3ff !important;
}

.is-green {
  background-color: #2eb696 !important;
}

.is-light-green {
  background-color: #ddf3ee !important;
}

.is-blue {
  background-color: #5b85d4 !important;
}

.is-yellow {
  background-color: #f8f28a !important;
}

.is-purple {
  background-color: #837cbb !important;
}

.is-light-purple {
  background-color: #ebeaf4 !important;
}

.is-pink {
  background-color: #e46e8d !important;
}

.is-light-pink {
  background-color: #fbe8ed !important;
}

.is-orange {
  background-color: #F79646 !important;
}

.is-light-orange {
  background-color: #feeee1 !important;
}

.is-gray {
  background-color: #bfbfbf !important;
}

.is-navy {
  background-color: #002060 !important;
}

.is-transparent {
  background-color: transparent !important;
}

.netsale-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

@media screen and (max-width: 800px) {
  .netsale-box {
    display: block;
  }
}

.netsale-box .netsale-box__list {
  width: 25%;
  min-width: 200px;
  padding-left: 35px;
}

@media screen and (min-width: 801px) {
  .netsale-box .netsale-box__list {
    padding-top: 35px;
  }
}

@media screen and (max-width: 800px) {
  .netsale-box .netsale-box__list {
    width: auto;
    padding-left: 0;
  }
}

@media screen and (max-width: 670px) {
  .netsale-box .netsale-box__list {
    font-size: 1.2rem;
  }
}

.netsale-box .netsale-box__list li {
  margin-top: 1em;
  padding-left: calc(1em + 8px);
  text-indent: calc(-1em - 7px);
}

@media screen and (max-width: 800px) {
  .netsale-box .netsale-box__list li {
    margin-top: .5em;
  }
}

.netsale-box .netsale-box__list li:first-child {
  margin-top: 0;
}

.netsale-box .netsale-box__image {
  width: 78%;
  max-width: 872px;
}

@media screen and (max-width: 800px) {
  .netsale-box .netsale-box__image {
    width: 100%;
  }
}

.netsale-box .netsale-box__image img {
  max-width: 100%;
}

@media screen and (max-width: 800px) {
  .netsale-box .netsale-box__image .netsale-box__image__inner {
    overflow: auto;
    width: 100%;
    max-width: inherit;
    margin-top: 10px;
    border: 2px solid #ddd;
  }
}

.netsale-box .netsale-box__image .netsale-box__image__inner__sub {
  width: 100%;
}

@media screen and (max-width: 800px) {
  .netsale-box .netsale-box__image .netsale-box__image__inner__sub {
    min-width: 466px;
    padding: 15px;
    padding-bottom: 15px;
  }
}

/*------------------------------------------------------------
calendar
------------------------------------------------------------*/
#ir-calendar .calendar-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

@media screen and (max-width: 800px) {
  #ir-calendar .calendar-box {
    display: block;
  }
}

@media screen and (max-width: 800px) {
  #ir-calendar .calendar-box .calendar-box__image {
    width: 100%;
  }
}

#ir-calendar .calendar-box .calendar-box__image img {
  width: 100%;
}

@media screen and (max-width: 800px) {
  #ir-calendar .calendar-box .calendar-box__image .calendar-box__image__inner {
    overflow: auto;
    width: 100%;
    max-width: inherit;
    margin-top: 10px;
    border: 2px solid #ddd;
  }
}

#ir-calendar .calendar-box .calendar-box__image .calendar-box__image__inner__sub {
  width: 100%;
}

@media screen and (max-width: 800px) {
  #ir-calendar .calendar-box .calendar-box__image .calendar-box__image__inner__sub {
    min-width: 740px;
    padding-bottom: 15px;
  }
}

@media screen and (max-width: 670px) {
  #ir-calendar .calendar-box .calendar-box__image .calendar-box__image__inner__sub {
    min-width: 560px;
  }
}

#ir-calendar .link-box-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -1px;
  margin-top: 90px;
}

@media screen and (max-width: 800px) {
  #ir-calendar .link-box-list {
    margin-top: 40px;
  }
}

#ir-calendar .link-box-list > li {
  position: relative;
  width: 33.333%;
  min-width: inherit;
  max-width: inherit;
  margin: 0;
  padding: 1px;
  text-align: center;
}

@media screen and (max-width: 800px) {
  #ir-calendar .link-box-list > li {
    width: 33.3333%;
  }
}

@media screen and (max-width: 670px) {
  #ir-calendar .link-box-list > li {
    width: 50%;
  }
}

#ir-calendar .link-box-list > li:hover {
  z-index: 1;
}

#ir-calendar .link-box-list .link-box__label {
  padding: 12px 12px 12px;
  padding-right: 30px;
}

@media screen and (max-width: 670px) {
  #ir-calendar .link-box-list .link-box__label {
    padding: 10px 10px;
  }
}

#ir-calendar .link-box-list .link-box__icon {
  right: 20px;
}

@media screen and (max-width: 800px) {
  #ir-calendar .link-box-list .link-box__icon {
    right: 8px;
  }
}

/*------------------------------------------------------------

------------------------------------------------------------*/
#ir-stocks-benefit .benefit-custom-table .text-box {
  margin-top: 0;
}

@media screen and (min-width: 1101px) {
  #ir-stocks-benefit .benefit-custom-table .is-sp {
    display: none !important;
  }
}

@media screen and (max-width: 1100px) {
  #ir-stocks-benefit .benefit-custom-table {
    display: block;
    width: 100%;
  }
  #ir-stocks-benefit .benefit-custom-table .is-pc {
    display: none !important;
  }
  #ir-stocks-benefit .benefit-custom-table tr {
    display: block;
    width: 100%;
  }
  #ir-stocks-benefit .benefit-custom-table tr > th,
  #ir-stocks-benefit .benefit-custom-table tr > td {
    display: block;
    width: 100%;
  }
  #ir-stocks-benefit .benefit-custom-table tr > td {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #ir-stocks-benefit .benefit-custom-table tr .js-cloneHead1,
  #ir-stocks-benefit .benefit-custom-table tr .js-cloneHead2,
  #ir-stocks-benefit .benefit-custom-table tr .js-cloneHead3 {
    font-weight: bold;
    padding: 20px;
    border-bottom: 1px solid #ddd;
    background: #eee;
  }
}

@media screen and (max-width: 1100px) and (max-width: 670px) {
  #ir-stocks-benefit .benefit-custom-table tr .js-cloneHead1,
  #ir-stocks-benefit .benefit-custom-table tr .js-cloneHead2,
  #ir-stocks-benefit .benefit-custom-table tr .js-cloneHead3 {
    padding: 10px;
  }
}

/*-- 20200923 PCレイアウトでの見た目を調整 --*/
.benefit-custom-table-supplement {
  display: block;
}

@media screen and (max-width: 1100px) {
  .benefit-custom-table-supplement {
    display: inline-block;
    margin-left: 1em;
  }
}

@media screen and (min-width: 1101px) {
  .benefit-custom-table.custom-table1 th {
    text-align: center;
    vertical-align: middle;
  }
}

@media screen and (min-width: 1101px) {
  .benefit-custom-table.custom-table1.is-centering td {
    text-align: center;
  }
}

@media screen and (min-width: 1600px) {
  #ir-stocks-benefit .column-layout__item--image {
    width: 490px;
  }
  #ir-stocks-benefit .column-layout__item--image + .column-layout__item {
    padding-right: 40px;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

#ir-stocks-benefit .column-layout__item .image-box {
  text-align: right;
}

@media screen and (max-width: 800px) {
  #ir-stocks-benefit .column-layout__item .image-box {
    text-align: center;
  }
}

#ir-stocks-benefit .column-layout__item .image-box img {
  width: auto;
  max-width: 100%;
}

#ir-stocks-benefit .yutai-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 800px) {
  #ir-stocks-benefit .yutai-box {
    display: block;
  }
}

#ir-stocks-benefit .yutai-box .yutai-box__title {
  width: 4em;
}

#ir-stocks-benefit .yutai-box .yutai-box__main {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

#ir-stocks-benefit .yutai-box .num-list > li {
  margin-top: 1em;
}

#ir-stocks-benefit .yutai-box .num-list > li:first-child {
  margin-top: 0;
}

#ir-stocks-benefit .yutai-box .yutai-box__info {
  margin-top: 1em;
}

#ir-stocks-benefit .yutai-box .yutai-box__info ul {
  margin-top: 0;
  padding-left: 1em;
}

/*------------------------------------------------------------
  FAQ 
------------------------------------------------------------*/
.faq-box {
  border-bottom: 1px solid #ddd;
}

.faq-box a {
  text-decoration: underline;
}

.faq-box a:hover {
  text-decoration: none;
}

.faq-box .faq_box__txtinner {
  display: block;
  padding-left: 1.5em;
  text-indent: -1.5em;
}

.faq-box .faq-box__q {
  font-size: 2.4rem;
  line-height: 1.8;
  padding: 16px 50px 16px 15px;
}

@media screen and (max-width: 670px) {
  .faq-box .faq-box__q {
    font-size: 1.4rem;
    padding: 15px 30px 15px 5px;
  }
}

.faq-box .faq-box__q.is-page-accordion-trigger {
  position: relative;
  cursor: pointer;
}

.faq-box .faq-box__q.is-page-accordion-trigger::before, .faq-box .faq-box__q.is-page-accordion-trigger::after {
  position: absolute;
  top: calc(50% - 2px);
  right: 10px;
  right: 20px;
  width: 20px;
  height: 4px;
  content: '';
  background: #0071be;
}

@media screen and (max-width: 670px) {
  .faq-box .faq-box__q.is-page-accordion-trigger::before, .faq-box .faq-box__q.is-page-accordion-trigger::after {
    top: calc(50% - 1px);
    right: 10px;
    width: 15px;
    height: 2px;
  }
}

.faq-box .faq-box__q.is-page-accordion-trigger::before {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

.faq-box .faq-box__q.is-page-accordion-trigger::after {
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.faq-box .faq-box__q.is-page-accordion-trigger:hover {
  opacity: .7;
}

.faq-box .faq-box__q.is-page-accordion-trigger.is-opening::after {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

.faq-box .faq-box__a {
  font-size: 1.6rem;
  line-height: 1.8;
  display: none;
  padding: 0 50px 16px 20px;
}

@media screen and (max-width: 670px) {
  .faq-box .faq-box__a {
    font-size: 1.2rem;
  }
}

.faq-box .faq-box__a .faq-box__icon {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.faq-box .faq-box__icon {
  font-weight: bold;
  display: inline-block;
  width: 1.5em;
  text-indent: 0;
}

/*------------------------------------------------------------
  グラフ
------------------------------------------------------------*/
.graph-box .graph-box__info .graph-box__info-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.graph-box .graph-box__info .graph-box__info-list > li {
  font-size: 1.6rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 10px;
}

@media screen and (max-width: 800px) {
  .graph-box .graph-box__info .graph-box__info-list > li {
    font-size: 1.2rem;
    width: 50%;
    padding-left: 0;
  }
}

.graph-box .graph-box__info .graph-box__info-list > li span {
  display: inline-block;
  width: .8em;
  height: .8em;
  margin-top: -.1em;
  margin-right: .2em;
  vertical-align: middle;
}

.graph-box .graph-box__info .graph-box__info-list > li span.is-type1 {
  background-color: #b1e0c5;
}

.graph-box .graph-box__info .graph-box__info-list > li span.is-type2 {
  background-color: #a0cde1;
}

.graph-box .graph-box__info .graph-box__info-list > li span.is-type3 {
  background-color: #6d9cc9;
}

.graph-box .graph-box__info .graph-box__info-list > li span.is-type4 {
  background-color: #124482;
}

.graph-box .graph-box__main {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -20px;
  margin-top: 20px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

@media screen and (max-width: 1599px) {
  .graph-box .graph-box__main {
    margin: 0 -10px;
  }
}

@media screen and (max-width: 800px) {
  .graph-box .graph-box__main {
    display: block;
  }
}

.graph-box .graph-box__main .graph-box__item {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 50%;
  padding: 30px 20px;
}

@media screen and (max-width: 1599px) {
  .graph-box .graph-box__main .graph-box__item {
    padding: 15px 10px;
  }
}

@media screen and (max-width: 800px) {
  .graph-box .graph-box__main .graph-box__item {
    width: auto;
    margin-top: 30px;
  }
  .graph-box .graph-box__main .graph-box__item:first-child {
    margin-top: 0;
  }
}

.graph-box .graph-box__main .graph-box__item .graph-box__item__title {
  font-size: 1.8rem;
  font-weight: bold;
}

@media screen and (max-width: 800px) {
  .graph-box .graph-box__main .graph-box__item .graph-box__item__title {
    font-size: 1.2rem;
  }
}

.graph-box .graph-box__main .graph-box__item .graph-box__item__graph {
  margin-top: 5px;
}

.graph-box .graph-box__main .graph-box__item .graph-box__item__graph img {
  width: 100%;
  max-width: 100%;
}

.graph-box .graph-box__main .graph-box__item table {
  margin-top: 20px;
}

/* ------------------------------------------------------------
 ヒビノを知る
// 「こんなところにもヒビノ」は「ir_know_town.scss」に記述
 ------------------------------------------------------------ */
#ir-know .caution-text {
  margin-top: 30px;
}

#ir-know .caution-text p {
  line-height: 1.6;
}

@media screen and (min-width: 801px) {
  #ir-know .basic-button__label {
    min-width: 340px;
    max-width: 400px;
    padding: 0 60px 0 45px;
  }
}

@media screen and (max-width: 800px) {
  #ir-know .basic-button__label {
    min-width: 300px;
    max-width: 320px;
  }
}

@media screen and (max-width: 800px) {
  #ir-know #performance .page-content-level-3,
  #ir-know #figure .page-content-level-3 {
    margin-bottom: 30px;
  }
}

#ir-know #performance .image-box,
#ir-know #figure .image-box {
  text-align: center;
}

#ir-know #performance .image-box img {
  max-width: 500px;
}

#ir-know #figure .image-box img {
  max-width: 490px;
}

.ir-know-step {
  background-color: #eee;
}

@media screen and (min-width: 801px) {
  .ir-know-step {
    margin-top: 80px;
    margin-right: 20px;
    position: relative;
    margin-left: 0;
    padding-top: calc(470/1100 * 100%);
    min-height: 470px;
  }
}

.ir-know-step__text {
  background-color: #fff;
}

@media screen and (min-width: 801px) {
  .ir-know-step__text {
    min-width: 430px;
    width: calc(430/1080 * 100%);
    padding: 30px 25px;
    position: absolute;
    z-index: 1;
    left: 20px;
    top: calc(30/430 * 100%);
  }
}

@media screen and (min-width: 1601px) {
  .ir-know-step__text {
    top: calc(80/430 * 100%);
  }
}

@media screen and (min-width: 801px) {
  .ir-know-step__image {
    position: absolute;
    width: calc(720/1080 * 100%);
    top: -40px;
    right: -20px;
  }
}

.ir-know-step__image img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 800px) {
  .ir-know-step {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .ir-know-step__text {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
    margin: -20px 12px 15px 12px;
    padding: 15px;
  }
  .ir-know-step__image {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
        -ms-flex-order: 0;
            order: 0;
    width: 100%;
  }
}

.ir-know-biz .page-heading-level-2.is-sales-constr {
  color: #494191;
}

.ir-know-biz .page-heading-level-2.is-sales-constr.is-page-accordion-trigger::before, .ir-know-biz .page-heading-level-2.is-sales-constr.is-page-accordion-trigger::after {
  background: #494191;
}

.ir-know-biz .page-heading-level-2.is-arch-acoust-constr {
  color: #106450;
}

.ir-know-biz .page-heading-level-2.is-arch-acoust-constr.is-page-accordion-trigger::before, .ir-know-biz .page-heading-level-2.is-arch-acoust-constr.is-page-accordion-trigger::after {
  background: #106450;
}

.ir-know-biz .page-heading-level-2.is-concert-event {
  color: #87134D;
}

.ir-know-biz .page-heading-level-2.is-concert-event.is-page-accordion-trigger::before, .ir-know-biz .page-heading-level-2.is-concert-event.is-page-accordion-trigger::after {
  background: #87134D;
}

.ir-know-biz .page-content-level-2.is-page-accordion-target {
  margin-bottom: 0;
}

@media screen and (min-width: 801px) {
  .ir-know-biz .page-heading-level-3.is-biz-first-heading {
    font-size: 2.4rem;
  }
}

.ir-know-biz .page-heading-level-3.is-biz-first-heading.is-sales-constr {
  color: #494191;
}

.ir-know-biz .page-heading-level-3.is-biz-first-heading.is-arch-acoust-constr {
  color: #106450;
}

.ir-know-biz .page-heading-level-3.is-biz-first-heading.is-concert-event {
  color: #87134D;
}

.ir-know-biz .page-heading-level-3.is-sales-constr {
  border-color: #494191;
}

.ir-know-biz .page-heading-level-3.is-arch-acoust-constr {
  border-color: #106450;
}

.ir-know-biz .page-heading-level-3.is-concert-event {
  border-color: #87134D;
}

.ir-know-biz-elv {
  margin: 60px 0;
  padding: 25px 30px;
}

.ir-know-biz-elv .heading {
  font-size: 2rem;
  font-weight: bold;
}

.ir-know-biz-elv .text {
  margin-top: 15px;
}

.ir-know-biz-elv .dot-list > li {
  margin-top: 5px;
}

.ir-know-biz-elv.is-sales-constr {
  background-color: #F2F1F7;
}

.ir-know-biz-elv.is-sales-constr .heading {
  color: #494191;
}

.ir-know-biz-elv.is-sales-constr .dot-list > li::before {
  background-color: #494191;
}

.ir-know-biz-elv.is-arch-acoust-constr {
  background-color: #EEF4F2;
}

.ir-know-biz-elv.is-arch-acoust-constr .heading {
  color: #106450;
}

.ir-know-biz-elv.is-arch-acoust-constr .dot-list > li::before {
  background-color: #106450;
}

.ir-know-biz-elv.is-concert-event {
  background-color: #F7EEF2;
}

.ir-know-biz-elv.is-concert-event .heading {
  color: #87134D;
}

.ir-know-biz-elv.is-concert-event .dot-list > li::before {
  background-color: #87134D;
}

@media screen and (max-width: 800px) {
  .ir-know-biz-elv {
    margin: 40px 0;
    padding: 15px;
  }
  .ir-know-biz-elv .heading {
    font-size: 1.6rem;
  }
  .ir-know-biz-elv .text {
    margin-top: 10px;
    font-size: 1.4rem;
  }
}

.ir-know-biz-strengths {
  margin: 60px 0;
}

.ir-know-biz-strengths .heading {
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  background-color: #0071be;
  padding: 15px;
  position: relative;
  margin-bottom: 40px;
}

.ir-know-biz-strengths .heading::after {
  position: absolute;
  left: 50%;
  bottom: -16px;
  margin-left: -11px;
  display: block;
  content: "";
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #0071be;
  width: 22px;
  height: 16px;
}

.ir-know-biz-strengths-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 40px;
}

.ir-know-biz-strengths-list > li {
  width: calc(50% - 20px);
  position: relative;
  min-height: 136px;
  background: -webkit-gradient(linear, left top, right top, from(#ddeff1), color-stop(50%, #deedfe), to(#eae7f9));
  background: linear-gradient(to right, #ddeff1 0%, #deedfe 50%, #eae7f9 100%);
  padding: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.ir-know-biz-strengths-list > li .number {
  font-family: Noto Serif Japanese;
  font-size: 7.2rem;
  font-weight: bold;
  position: absolute;
  display: block;
  top: -40%;
  left: 5px;
  text-shadow: 6px 4px 0 #fff;
}

.ir-know-biz-strengths-list > li .text {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.ir-know-biz-strengths-list > li .text .sub {
  font-size: 1.6rem;
}

.ir-know-biz-strengths.is-sales-constr .heading {
  background-color: #494191;
}

.ir-know-biz-strengths.is-sales-constr .heading::after {
  background-color: #494191;
}

.ir-know-biz-strengths.is-sales-constr .ir-know-biz-strengths-list > li {
  color: #494191;
}

.ir-know-biz-strengths.is-arch-acoust-constr .heading {
  background-color: #106450;
}

.ir-know-biz-strengths.is-arch-acoust-constr .heading::after {
  background-color: #106450;
}

.ir-know-biz-strengths.is-arch-acoust-constr .ir-know-biz-strengths-list > li {
  color: #106450;
}

.ir-know-biz-strengths.is-concert-event .heading {
  background-color: #87134D;
}

.ir-know-biz-strengths.is-concert-event .heading::after {
  background-color: #87134D;
}

.ir-know-biz-strengths.is-concert-event .ir-know-biz-strengths-list > li {
  color: #87134D;
}

@media screen and (max-width: 800px) {
  .ir-know-biz-strengths {
    margin: 40px 0;
  }
  .ir-know-biz-strengths .heading {
    font-size: 2rem;
    padding: 10px;
    margin-bottom: 0;
  }
  .ir-know-biz-strengths .heading::after {
    bottom: -8px;
    margin-left: -6px;
    width: 12px;
    height: 8px;
  }
  .ir-know-biz-strengths-list {
    gap: 10px 0;
  }
  .ir-know-biz-strengths-list > li {
    width: 100%;
    min-height: 0;
    padding: 15px 0;
    min-height: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .ir-know-biz-strengths-list > li .number {
    font-size: 3rem;
    top: -20px;
    text-shadow: 3px 2px 0 #fff;
  }
  .ir-know-biz-strengths-list > li .text {
    font-size: 1.4rem;
  }
  .ir-know-biz-strengths-list > li .text .sub {
    font-size: 1rem;
  }
}

.ir-know-biz-companies-list {
  margin: 30px 0 0 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 30px 20px;
}

.ir-know-biz-companies-list > li {
  width: calc(32/100 * 100%);
}

.ir-know-biz-companies-list > li a:hover {
  opacity: .75;
}

.ir-know-biz-companies-list > li .wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  color: inherit;
}

.ir-know-biz-companies-list > li .wrap > .name {
  width: 100%;
  margin: 12px 0 5px 0;
  padding: 0px 8px;
  font-weight: bold;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  line-height: 1.4;
}

.ir-know-biz-companies-list > li .wrap > .text {
  width: 100%;
  padding: 0px 8px;
  font-size: 1.4rem;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}

.ir-know-biz-companies-list > li .wrap > .image {
  width: 100%;
  -webkit-box-ordinal-group: 1;
  -webkit-order: 0;
      -ms-flex-order: 0;
          order: 0;
  border: 1px #ddd solid;
}

.ir-know-biz-companies-list > li .wrap > .image img {
  width: 100%;
  height: auto;
}

.ir-know-biz-companies-list.is-sales-constr a.wrap .name {
  color: #494191;
}

.ir-know-biz-companies-list.is-arch-acoust-constr a.wrap .name {
  color: #106450;
}

.ir-know-biz-companies-list.is-concert-event a.wrap .name {
  color: #87134D;
}

@media screen and (max-width: 800px) {
  .ir-know-biz-companies-list {
    margin: 0;
    gap: 20px 16px;
  }
  .ir-know-biz-companies-list > li {
    width: calc(50% - 8px);
  }
  .ir-know-biz-companies-list > li .wrap > .name {
    margin: 8px 0 3px 0;
    padding: 0 5px;
    font-size: 1.2rem;
  }
  .ir-know-biz-companies-list > li .wrap > .text {
    padding: 0px 5px;
    font-size: 1rem;
  }
}

.page-main__head.is-case .secondary-page-title {
  background-image: url("/assets/img/case/case-head.jpg");
  background-size: cover;
}

@media screen and (max-width: 800px) {
  .page-main__head.is-case .secondary-page-title {
    background-image: url("/assets/img/case/case-head-sp.jpg");
  }
}

/*------------------------------
  トップ
------------------------------*/
#case .primary-page-title {
  height: 380px;
  background-image: url("/assets/img/case/case-mv.jpg");
  background-position: top center;
  background-size: cover;
}

@media screen and (max-width: 800px) {
  #case .primary-page-title {
    height: 240px;
    background-image: url("/assets/img/case/case-mv-sp.jpg");
  }
}

#case .content-box {
  overflow: hidden;
}

#case .case-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: -50px -20px 0;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

@media screen and (max-width: 1300px) {
  #case .case-list {
    margin-right: -10px;
    margin-left: -10px;
  }
}

#case .case-list > li {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 33.333%;
  margin-top: 50px;
  padding: 0 20px;
}

@media screen and (max-width: 1300px) {
  #case .case-list > li {
    padding-right: 10px;
    padding-left: 10px;
  }
}

@media screen and (max-width: 670px) {
  #case .case-list > li {
    width: 100%;
  }
}

#case .case-list > li a {
  position: relative;
  display: block;
  color: inherit;
}

#case .case-list__thumb {
  line-height: 1;
  overflow: hidden;
  margin-bottom: 20px;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transition-property: -webkit-box-shadow;
  transition-property: -webkit-box-shadow;
  transition-property: box-shadow;
  transition-property: box-shadow, -webkit-box-shadow;
}

#case .case-list__thumb img {
  width: 100%;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  vertical-align: top;
}

#case .case-list__new {
  font-size: 1.6rem;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 70px;
  height: 70px;
  color: #fff;
  background-color: #282828;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 670px) {
  #case .case-list__new {
    font-size: 1.2rem;
    width: 40px;
    height: 40px;
  }
}

#case .case-list__category {
  font-size: 1.0rem;
  line-height: 1;
  display: inline-block;
  float: left;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 60px;
  padding: .5em 1em;
  text-align: center;
  color: #fff;
  background-color: #21509e;
}

#case .case-list__date {
  font-size: 1.2rem;
  float: right;
  padding-top: .1em;
  text-align: right;
  color: #282828;
}

@media screen and (max-width: 1100px) and (min-width: 671px) {
  #case .case-list__date {
    width: 100%;
  }
}

@media screen and (max-width: 670px) {
  #case .case-list__date {
    font-size: 1.0rem;
  }
}

#case .case-list__type {
  font-size: 1.2rem;
  clear: both;
  padding-top: 5px;
  color: #999;
}

@media screen and (max-width: 670px) {
  #case .case-list__type {
    font-size: 1.0rem;
  }
}

#case .case-list__title {
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: 5px;
}

@media screen and (max-width: 670px) {
  #case .case-list__title {
    font-size: 1.2rem;
  }
}

/*-- サムネイル画像の縦横比の変動に対応 --*/
#case .case-list__thumb {
  padding-top: 71.428571%;
  overflow: hidden;
  position: relative;
}

#case .case-list__thumb img.object-fit-img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  font-family: 'object-fit: cover; object-position: center;';
}

/*-- hover --*/
@media screen and (min-width: 671px) {
  #case .case-list > li a:hover .case-list__title {
    text-decoration: underline;
  }
  #case .case-list > li a:hover .case-list__thumb {
    -webkit-box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
            box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
  }
  #case .case-list > li a:hover .case-list__thumb img {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
}

/*------------------------------
  ** 実績紹介
------------------------------*/
/*-- もっと見る --*/
.show-more-button {
  position: relative;
  display: block;
  width: 500px;
  margin: 50px auto 30px auto;
  padding: 24px 72px;
  font-size: 1.6rem;
  font-weight: bold;
  color: #282828;
  border: none;
  background-color: #EEE;
  cursor: pointer;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}

@media screen and (max-width: 670px) {
  .show-more-button {
    width: 100%;
    padding: 18px 40px;
  }
}

.show-more-button.is-none {
  display: none;
}

@media screen and (min-width: 671px) {
  .show-more-button:hover {
    opacity: 0.7;
  }
}

.show-more-button::before,
.show-more-button::after {
  position: absolute;
  right: 24px;
  top: calc(50% - 2px);
  content: '';
  display: block;
  width: 18px;
  height: 4px;
  background-color: #0071BE;
}

@media screen and (max-width: 670px) {
  .show-more-button::before,
  .show-more-button::after {
    right: 12px;
    top: calc(50% - 1px);
    width: 16px;
    height: 2px;
  }
}

.show-more-button::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.show-more-error {
  margin-top: 20px;
  padding: 20px;
  text-align: center;
  background-color: #EEE;
}

.show-more-error .button-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 20px;
}

.show-more-error.is-none {
  display: none;
}

#support .secondary-page-title {
  background-image: url("/assets/img/common/common-head.jpg");
}

@media screen and (max-width: 800px) {
  #support .secondary-page-title {
    background-image: url("/assets/img/common/common-head-sp.jpg");
  }
}

/*------------------------------
title
------------------------------*/
#support .support-sect .page-heading-level-1::before,
#support .tel-sect .page-heading-level-1::before,
#support .form-sect .page-heading-level-1::before {
  height: 2px;
  background-color: #e6001a;
}

#support .support-sect .page-heading-level-1::after,
#support .tel-sect .page-heading-level-1::after,
#support .form-sect .page-heading-level-1::after {
  display: none;
}

#support .support-sect .page-heading-level-3,
#support .tel-sect .page-heading-level-3 {
  border-bottom: 1px solid #ddd;
}

@media screen and (min-width: 671px) {
  #support .support-sect .page-heading-level-3,
  #support .tel-sect .page-heading-level-3 {
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 670px) {
  #support .support-sect .page-heading-level-3,
  #support .tel-sect .page-heading-level-3 {
    font-size: 1.4rem;
  }
}

/*------------------------------
ボタンを2カラムで並べるコンポーネント
------------------------------*/
#support .button-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  row-gap: 20px;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  max-width: 646px;
  margin-inline: auto;
  width: 100%;
}

@media screen and (max-width: 1200px) {
  #support .button-list {
    display: block;
  }
}

#support .button-list li {
  text-align: center;
  width: calc(50% - 20px);
}

@media screen and (max-width: 1200px) {
  #support .button-list li {
    margin-top: 20px;
    width: 100%;
  }
}

#support .button-list li .basic-button {
  height: 100%;
  width: 100%;
}

@media screen and (max-width: 1200px) {
  #support .button-list li .basic-button {
    height: auto;
    width: auto;
  }
}

#support .button-list li .basic-button__label {
  min-width: unset;
  max-width: unset;
  text-align: center;
}

@media screen and (max-width: 1200px) {
  #support .button-list li .basic-button__label {
    min-width: 300px;
    max-width: 320px;
  }
}

@media screen and (max-width: 670px) {
  #support .button-list li .basic-button__label {
    min-width: 220px;
    max-width: 280px;
  }
}

/*------------------------------
support-sect , tel-sect
------------------------------*/
@media screen and (min-width: 671px) {
  #support .support-sect .text-with-image .text-with-image__text .title-box,
  #support .tel-sect .text-with-image .text-with-image__text .title-box {
    font-size: 2.0rem;
  }
}

@media screen and (max-width: 670px) {
  #support .support-sect .text-with-image .text-with-image__text .title-box,
  #support .tel-sect .text-with-image .text-with-image__text .title-box {
    font-size: 1.3rem;
  }
}

@media screen and (min-width: 671px) {
  #support .support-sect .contact-box + .contact-box,
  #support .tel-sect .contact-box + .contact-box {
    margin-top: 80px;
  }
}

@media screen and (max-width: 670px) {
  #support .support-sect .contact-box + .contact-box,
  #support .tel-sect .contact-box + .contact-box {
    margin-top: 40px;
  }
}

#support .support-sect .custom-table1 th,
#support .support-sect .custom-table1 td,
#support .tel-sect .custom-table1 th,
#support .tel-sect .custom-table1 td {
  line-height: 1.8;
  vertical-align: middle;
}

#support .support-sect .custom-table1 th,
#support .tel-sect .custom-table1 th {
  font-weight: normal;
}

@media screen and (min-width: 1101px) {
  #support .support-sect .custom-table1 th,
  #support .tel-sect .custom-table1 th {
    width: 50%;
  }
}

#support .support-sect .custom-table1 th strong,
#support .tel-sect .custom-table1 th strong {
  font-weight: bold;
  display: block;
}

@media screen and (min-width: 671px) {
  #support .support-sect .custom-table1 th strong,
  #support .tel-sect .custom-table1 th strong {
    font-size: 2.0rem;
  }
}

@media screen and (max-width: 670px) {
  #support .support-sect .custom-table1 th strong,
  #support .tel-sect .custom-table1 th strong {
    font-size: 1.3rem;
  }
}

#support .support-sect .custom-table1 th ul.dot-list > li > strong,
#support .tel-sect .custom-table1 th ul.dot-list > li > strong {
  display: inline;
  line-height: 1.4;
}

#support .support-sect .custom-table1 th ul.dot-list > li + li,
#support .tel-sect .custom-table1 th ul.dot-list > li + li {
  margin-top: 8px;
}

/*------------------------------
  form 関連 reset
------------------------------*/
.ui-datepicker {
  background-color: #fff;
  border: 1px #ccc solid;
  padding: 10px;
}

.ui-datepicker-header {
  position: relative;
  text-align: center;
  margin-bottom: 3px;
}

.ui-datepicker-header select {
  margin: 0 1px;
}

.ui-datepicker-next, .ui-datepicker-prev {
  position: absolute;
  top: 0;
  text-decoration: underline;
  font-size: 1.4rem;
}

.ui-datepicker-next:hover, .ui-datepicker-prev:hover {
  cursor: pointer;
  text-decoration: none;
}

.ui-datepicker-next {
  right: 0;
}

.ui-datepicker-prev {
  left: 0;
}

.ui-datepicker-trigger {
  vertical-align: middle;
  cursor: pointer;
}

.ui-datepicker-trigger:hover {
  opacity: 0.65;
}

.ui-datepicker table {
  border-collapse: collapse;
}

.ui-datepicker table th, .ui-datepicker table td {
  border: #ccc 1px solid;
  padding: 2px;
  text-align: center;
}

.ui-datepicker table th {
  font-size: 1.2rem;
  background-color: #ddd;
  color: #666;
  font-weight: normal;
}

.ui-datepicker table td a {
  display: block;
  background-color: #eee;
  padding: 0 5px;
  border-radius: 3px;
  border: 1px #ddd solid;
  text-decoration: none;
  font-size: 1.4rem;
  font-weight: bold;
}

.ui-datepicker table td a:hover {
  opacity: 0.65;
}

@media screen and (max-width: 670px) {
  .ui-datepicker {
    width: calc(100% - 40px);
    left: 20px !important;
  }
  .ui-datepicker-header select {
    padding: 7px 0;
    height: 44px;
  }
  .ui-datepicker table {
    width: 100%;
  }
  .ui-datepicker table td a {
    line-height: 44px;
  }
}

#support .form-sect label {
  display: inline-block;
  cursor: pointer;
}

#support .form-sect input,
#support .form-sect textarea {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  border: 1px solid #ddd;
  border-radius: 0;
  background-color: #eee;
  -webkit-appearance: none;
}

#support .form-sect select {
  border: 1px solid #ddd;
  border-radius: 0;
  background-color: #eee;
}

#support .form-sect select.purchase_date + label {
  margin-right: 10px;
  margin-left: 5px;
}

#support .form-sect input[type='checkbox'],
#support .form-sect input[type='radio'] {
  position: relative;
  width: 1.7em;
  height: 1.7em;
  margin-top: -.2em;
  margin-right: .4em;
  padding: 0;
  cursor: pointer;
  vertical-align: middle;
}

@media screen and (max-width: 670px) {
  #support .form-sect input[type='checkbox'],
  #support .form-sect input[type='radio'] {
    width: 2em;
    height: 2em;
  }
}

#support .form-sect input[type='checkbox']:checked::after,
#support .form-sect input[type='radio']:checked::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  content: '';
}

#support .form-sect input[type='radio'] {
  border-radius: 50%;
}

#support .form-sect input[type='radio']:checked::after {
  width: 50%;
  height: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #282828;
}

#support .form-sect input[type='checkbox']:checked::after {
  width: 40%;
  height: 20%;
  -webkit-transform: translate(-50%, -70%) rotate(-45deg);
          transform: translate(-50%, -70%) rotate(-45deg);
  border: solid #000;
  border-width: 0 0 2px 2px;
}

#support .form-sect input[type='text'],
#support .form-sect input[type='email'],
#support .form-sect input[type='tel'],
#support .form-sect input[type='url'],
#support .form-sect input[type='number'],
#support .form-sect textarea,
#support .form-sect select {
  font-size: 1.8rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: 450px;
  padding: 15px;
}

@media screen and (max-width: 670px) {
  #support .form-sect input[type='text'],
  #support .form-sect input[type='email'],
  #support .form-sect input[type='tel'],
  #support .form-sect input[type='url'],
  #support .form-sect input[type='number'],
  #support .form-sect textarea,
  #support .form-sect select {
    font-size: 1.6rem;
    max-width: 100%;
    padding: 10px;
  }
}

#support .form-sect input[type='text'].is-typeS,
#support .form-sect input[type='email'].is-typeS,
#support .form-sect input[type='tel'].is-typeS,
#support .form-sect input[type='url'].is-typeS,
#support .form-sect input[type='number'].is-typeS,
#support .form-sect textarea.is-typeS,
#support .form-sect select.is-typeS {
  max-width: 200px;
}

@media screen and (max-width: 670px) {
  #support .form-sect input[type='text'].is-typeS,
  #support .form-sect input[type='email'].is-typeS,
  #support .form-sect input[type='tel'].is-typeS,
  #support .form-sect input[type='url'].is-typeS,
  #support .form-sect input[type='number'].is-typeS,
  #support .form-sect textarea.is-typeS,
  #support .form-sect select.is-typeS {
    max-width: 150px;
  }
}

#support .form-sect input[type='text'].is-typeSS,
#support .form-sect input[type='email'].is-typeSS,
#support .form-sect input[type='tel'].is-typeSS,
#support .form-sect input[type='url'].is-typeSS,
#support .form-sect input[type='number'].is-typeSS,
#support .form-sect textarea.is-typeSS,
#support .form-sect select.is-typeSS {
  max-width: 60px;
}

@media screen and (max-width: 670px) {
  #support .form-sect input[type='text'].is-typeSS,
  #support .form-sect input[type='email'].is-typeSS,
  #support .form-sect input[type='tel'].is-typeSS,
  #support .form-sect input[type='url'].is-typeSS,
  #support .form-sect input[type='number'].is-typeSS,
  #support .form-sect textarea.is-typeSS,
  #support .form-sect select.is-typeSS {
    max-width: 50px;
  }
}

#support .form-sect input[type='file'] {
  padding: 16px;
  width: 600px;
  font-size: inherit;
  border: none;
  background-color: #f6f6f6;
}

@media screen and (max-width: 1100px) {
  #support .form-sect input[type='file'] {
    width: 100%;
  }
}

#support .form-sect input[type='file']::file-selector-button {
  background-color: #444;
  color: #fff;
  border: #666 1px solid;
  padding: 8px 16px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  font-weight: bold;
  font-family: inherit;
  cursor: pointer;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  margin-right: 16px;
}

@media screen and (max-width: 1100px) {
  #support .form-sect input[type='file']::file-selector-button {
    display: block;
    margin-bottom: 8px;
    padding: 10px 16px;
  }
}

#support .form-sect input[type='file']::file-selector-button:hover {
  -webkit-box-shadow: 0 0 8px rgba(2, 0, 14, 0.5);
          box-shadow: 0 0 8px rgba(2, 0, 14, 0.5);
}

#support .form-sect select {
  width: auto;
  max-width: none;
  height: 59px;
}

@media screen and (max-width: 1100px) {
  #support .form-sect select {
    width: 100%;
  }
  #support .form-sect select.purchase_date {
    width: calc(100% - 2em);
    margin: 2px 0;
    display: inline-block;
    width: auto;
  }
  #support .form-sect select.purchase_date + label + span {
    text-align: right;
    display: block;
    margin-top: 10px;
  }
  #support .form-sect select.purchase_date + label + span::before {
    display: inline-block;
    content: "カレンダーから選択";
    color: #666;
    margin-right: 5px;
    vertical-align: middle;
  }
  #support .form-sect select.purchase_date + label + span .ui-datepicker-trigger {
    width: 25px;
    margin-right: 10px;
    padding-left: 5px;
  }
}

@media screen and (max-width: 670px) {
  #support .form-sect select {
    width: 100%;
    max-width: 100%;
    height: 46px;
  }
}

#support .form-sect textarea {
  max-width: 600px;
  resize: none;
}

#support .form-sect textarea {
  height: 190px;
}

@media screen and (max-width: 670px) {
  #support .form-sect textarea {
    height: 125px;
  }
}

#support .form-sect input[type='submit'] {
  cursor: pointer;
}

/*------------------------------
  form 関連
------------------------------*/
#support .form-sect .form-step {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 70px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 670px) {
  #support .form-sect .form-step {
    margin-right: -20px;
    margin-left: -20px;
    padding-bottom: 40px;
  }
}

#support .form-sect .form-step > li {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.3;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  color: #14134f;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 670px) {
  #support .form-sect .form-step > li {
    font-size: 1.2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    padding-right: 50px;
    text-align: center;
  }
}

#support .form-sect .form-step > li.is-current .form-step-icon {
  background-color: #14134f;
}

#support .form-sect .form-step > li:last-child {
  padding-right: 0;
}

#support .form-sect .form-step > li:last-child:after {
  display: none;
}

#support .form-sect .form-step > li:after {
  position: absolute;
  display: block;
  width: 125px;
  height: 4px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  content: '';
  position: relative;
  display: inline-block;
  margin: 0 1.2em 0 .8em;
  margin-top: -.1em;
  -webkit-transform: skewX(60deg);
          transform: skewX(60deg);
  vertical-align: middle;
  border: solid #14134f;
  border-width: 0 2px 1px 0;
}

@media screen and (max-width: 1100px) {
  #support .form-sect .form-step > li:after {
    width: 50px;
  }
}

@media screen and (max-width: 670px) {
  #support .form-sect .form-step > li:after {
    position: absolute;
    top: 50%;
    right: 15px;
    width: 25px;
    height: 3px;
    margin-right: 0;
  }
}

#support .form-sect .form-step > li .form-step-icon {
  position: relative;
  width: 36px;
  height: 36px;
  margin-right: .5em;
  border-radius: 50%;
  background-color: #eee;
}

#support .form-sect .form-step > li .form-step-icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 30%;
  height: 15%;
  content: '';
  -webkit-transform: translate(-50%, -70%) rotate(-45deg);
          transform: translate(-50%, -70%) rotate(-45deg);
  border: solid #fff;
  border-width: 0 0 3px 3px;
}

@media screen and (max-width: 670px) {
  #support .form-sect .form-step > li .form-step-icon {
    width: 24px;
    height: 24px;
    margin-top: 5px;
    margin-right: 0;
  }
}

#support .form-sect .form-step > li .form-step-text span {
  margin-left: .5em;
}

@media screen and (max-width: 1100px) {
  #support .form-sect .form-step > li .form-step-text span {
    display: block;
    margin-left: 0;
  }
}

#support .form-sect .form-lead strong {
  font-weight: normal;
  color: #e6001a;
}

#support .form-sect .form-wrap {
  margin-top: 50px;
}

@media screen and (max-width: 670px) {
  #support .form-sect .form-wrap {
    margin-top: 30px;
  }
}

#support .form-sect .form-table {
  width: 100%;
  border-top: 1px solid #ddd;
}

@media screen and (max-width: 670px) {
  #support .form-sect .form-table tbody,
  #support .form-sect .form-table tr,
  #support .form-sect .form-table th,
  #support .form-sect .form-table td {
    display: block;
    width: 100%;
  }
}

#support .form-sect .form-table th,
#support .form-sect .form-table td {
  padding: 30px 0;
  text-align: left;
  vertical-align: top;
}

@media screen and (max-width: 670px) {
  #support .form-sect .form-table th,
  #support .form-sect .form-table td {
    font-size: 1.2rem;
    padding: 25px 0;
  }
}

#support .form-sect .form-table th {
  font-weight: bold;
}

@media screen and (min-width: 671px) {
  #support .form-sect .form-table th {
    font-size: 1.8rem;
    width: 28%;
    padding-right: 20px;
    white-space: nowrap;
    border-bottom: 1px solid #ddd;
  }
}

@media screen and (max-width: 670px) {
  #support .form-sect .form-table th {
    padding-bottom: 0;
  }
}

#support .form-sect .form-table td {
  border-bottom: 1px solid #ddd;
}

@media screen and (max-width: 670px) {
  #support .form-sect .form-table td {
    padding-top: 15px;
  }
}

#support .form-sect .form-require {
  font-size: 75%;
  line-height: 1;
  display: inline-block;
  margin-left: 1.2em;
  padding: .4em .6em;
  color: #fff;
  background-color: #e6001a;
}

#support .form-sect .form-radiolist > li {
  margin-top: 20px;
}

#support .form-sect .form-radiolist > li:first-child {
  margin-top: 0;
}

#support .form-sect .form-exinfo {
  margin-top: 15px;
}

@media screen and (max-width: 670px) {
  #support .form-sect .form-exinfo {
    margin-top: 10px;
  }
}

@media screen and (min-width: 671px) {
  #support .form-sect .form-agree {
    margin-top: 50px;
  }
}

@media screen and (max-width: 670px) {
  #support .form-sect .form-agree {
    margin-top: 30px;
  }
}

@media screen and (min-width: 671px) {
  #support .form-sect .form-agree .form-agree-lead {
    text-align: center;
  }
}

#support .form-sect .form-agree .form-agree-term {
  overflow-y: scroll;
  border: 1px solid #282828;
}

#support .form-sect .form-agree .form-agree-term .tit {
  font-weight: bold;
  line-height: 1.4;
}

#support .form-sect .form-agree .form-agree-term table {
  margin: .5em 0;
}

#support .form-sect .form-agree .form-agree-term table th {
  font-weight: normal;
  text-align: left;
  white-space: nowrap;
}

@media screen and (min-width: 671px) {
  #support .form-sect .form-agree .form-agree-term {
    max-width: 1000px;
    height: 250px;
    margin: 30px auto 40px;
    padding: 20px 30px;
  }
  #support .form-sect .form-agree .form-agree-term .tit {
    font-size: 1.8rem;
  }
  #support .form-sect .form-agree .form-agree-term ul,
  #support .form-sect .form-agree .form-agree-term ol,
  #support .form-sect .form-agree .form-agree-term table {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 670px) {
  #support .form-sect .form-agree .form-agree-term {
    height: 250px;
    margin: 20px auto 20px;
    padding: 15px 15px;
  }
  #support .form-sect .form-agree .form-agree-term .tit {
    font-size: 1.3rem;
  }
  #support .form-sect .form-agree .form-agree-term ul,
  #support .form-sect .form-agree .form-agree-term ol,
  #support .form-sect .form-agree .form-agree-term table {
    font-size: 1.2rem;
  }
}

#support .form-sect .form-agree .form-agree-check {
  text-align: center;
}

@media screen and (min-width: 671px) {
  #support .form-sect .form-agree .form-agree-check {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 670px) {
  #support .form-sect .form-agree .form-agree-check {
    font-size: 1.2rem;
  }
}

#support .form-sect .form-submit {
  text-align: center;
}

#support .form-sect .form-submit .basic-button {
  margin: 10px 12px;
}

@media screen and (min-width: 671px) {
  #support .form-sect .form-submit {
    margin-top: 40px;
  }
}

@media screen and (max-width: 800px) {
  #support .form-sect .form-submit .basic-button {
    min-width: 40%;
  }
  #support .form-sect .form-submit .basic-button .basic-button__label {
    min-width: 250px;
  }
}

@media screen and (max-width: 670px) {
  #support .form-sect .form-submit {
    margin-top: 20px;
  }
}

@media screen and (min-width: 671px) {
  #support .form-sect .form-helpdesk {
    margin-top: 90px;
    text-align: center;
  }
}

@media screen and (max-width: 670px) {
  #support .form-sect .form-helpdesk {
    margin-top: 40px;
  }
}

/*-- フォームプラグインの編集不可なタグに対応-- */
#support .form-sect .aform-required {
  font-size: 75%;
  line-height: 1;
  display: inline-block;
  margin-left: 1.2em;
  padding: .4em .6em;
  color: #fff;
  background-color: #e6001a;
}

#support .form-sect .aform-error {
  color: #e6001a;
  margin-top: 5px;
}

#support .form-sect .aform-input-example {
  display: inline;
}

#support .form-sect .aform-validation {
  margin: 0 10px;
  color: #999;
}

#support .form-sect .aform-twice-note {
  display: block;
  margin-top: 15px;
}

#support .form-sect input.basic-button__label {
  border: none;
  border-radius: 0;
  background-color: #444;
  -webkit-appearance: none;
  font-size: inherit;
  font-weight: bold;
  cursor: pointer;
  color: #fff;
}

#support .form-sect input.basic-button__label.is-white {
  color: #444;
  background-color: #fff;
  border: none;
}

#support .form-sect .aform-vertical-ul > li {
  margin-top: 20px;
}

#support .form-sect .aform-vertical-ul > li:first-child {
  margin-top: 0;
}

#support .form-sect input[type="text"]#catalog_circulation {
  max-width: 60px;
}

#support .form-sect input[type="text"]#zipcode {
  max-width: 200px;
}

@media screen and (max-width: 670px) {
  #support .form-sect input[type="text"]#catalog_circulation {
    max-width: 50px;
  }
  #support .form-sect input[type="text"]#zipcode {
    max-width: 150px;
  }
}

/*-- 個人情報保護方針の微調整 --*/
#support .form-sect .form-agree .form-agree-term .text-box {
  padding-bottom: 20px;
}

#support .form-sect .form-agree .form-agree-term .text-box p {
  line-height: 1.6;
  letter-spacing: -0.025em;
}

#support .form-sect .form-agree .form-agree-term .text-box p.tit:not(:first-child) + p:not(.tit) {
  margin-top: 0.25em;
}

#support .form-sect .form-agree .form-agree-term .text-box .page-heading-level-2 {
  margin: 1em 0;
}

#support .form-sect .form-agree .form-agree-term .tit + table {
  margin-top: 0;
  margin-bottom: 1.5em;
}

.table-nostyle th, .table-nostyle td {
  border: none !important;
}

.table-nostyle th {
  padding: 0 0 30px 0 !important;
  width: auto !important;
}

.table-nostyle td {
  padding: 0 0 30px 10px !important;
}

.table-nostyle tr:last-child td {
  padding-bottom: 0 !important;
}

@media screen and (max-width: 670px) {
  .table-nostyle {
    width: 100%;
  }
  .table-nostyle th {
    padding-bottom: 0 !important;
  }
  .table-nostyle td {
    padding: 15px 0 25px 0 !important;
  }
}

#submit-button:disabled {
  opacity: .65;
  pointer-events: none;
}

/*-- 採用応募の編集不可フィールド --*/
input[type='text']#job_page_name, input[type='text']#job_page_url {
  pointer-events: none !important;
  background-color: #f6f6f6;
  border: none;
  color: #333;
  max-width: 600px !important;
  font-size: 1.6rem !important;
}

@media screen and (max-width: 670px) {
  input[type='text']#job_page_name, input[type='text']#job_page_url {
    font-size: 1.2rem !important;
  }
}

/*------------------------------
  お知らせ
------------------------------*/
#topics .secondary-page-title {
  background-image: url("/assets/img/topics/topics-head.jpg");
}

@media screen and (max-width: 800px) {
  #topics .secondary-page-title {
    background-image: url("/assets/img/topics/topics-head-sp.jpg");
  }
}

.js-modal-image {
  cursor: pointer;
}

#js-modal-detail {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 100% !important;
  height: 100%;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1000;
  text-align: center;
  padding: 16px;
}

@media screen and (max-width: 800px) {
  #js-modal-detail {
    padding: 8px;
  }
}

#js-modal-detail__inner {
  max-width: 100%;
  height: 100%;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  overflow-y: scroll;
  margin: 0 auto;
}

#js-modal-detail__inner img {
  max-width: 100%;
  height: auto;
}

#js-modal-detail__inner img.js-modal-image {
  cursor: auto;
}

/*------------------------------
  その他
------------------------------*/
#social_policy .secondary-page-title {
  background-image: url("/assets/img/social_policy/social_policy-head.jpg");
}

@media screen and (max-width: 800px) {
  #social_policy .secondary-page-title {
    background-image: url("/assets/img/social_policy/social_policy-head-sp.jpg");
  }
}

#about .secondary-page-title {
  background-image: url("/assets/img/about/about-head.jpg");
}

@media screen and (max-width: 800px) {
  #about .secondary-page-title {
    background-image: url("/assets/img/about/about-head-sp.jpg");
  }
}

#privacypolicy .secondary-page-title {
  background-image: url("/assets/img/privacypolicy/privacypolicy-head.jpg");
}

@media screen and (max-width: 800px) {
  #privacypolicy .secondary-page-title {
    background-image: url("/assets/img/privacypolicy/privacypolicy-head-sp.jpg");
  }
}

#privacypolicy_chroma .secondary-page-title {
  background-image: url("/assets/img/support/privacypolicy_chroma/privacypolicy_chroma-head.jpg");
}

@media screen and (max-width: 800px) {
  #privacypolicy_chroma .secondary-page-title {
    background-image: url("/assets/img/support/privacypolicy_chroma/privacypolicy_chroma-head-sp.jpg");
  }
}

#search .secondary-page-title {
  background-image: url("/assets/img/search/search-head.jpg");
}

@media screen and (max-width: 800px) {
  #search .secondary-page-title {
    background-image: url("/assets/img/search/search-head-sp.jpg");
  }
}

#sustainabilitypolicy .secondary-page-title {
  background-image: url("/assets/img/sustainabilitypolicy/sustainabilitypolicy-head.jpg");
}

@media screen and (max-width: 800px) {
  #sustainabilitypolicy .secondary-page-title {
    background-image: url("/assets/img/sustainabilitypolicy/sustainabilitypolicy-head-sp.jpg");
  }
}

#sitemap .secondary-page-title {
  background-image: url("/assets/img/common/common-head.jpg");
}

@media screen and (max-width: 800px) {
  #sitemap .secondary-page-title {
    background-image: url("/assets/img/common/common-head-sp.jpg");
  }
}

#communityguideline .secondary-page-title {
  background-image: url("/assets/img/common/common-head.jpg");
}

@media screen and (max-width: 800px) {
  #communityguideline .secondary-page-title {
    background-image: url("/assets/img/common/common-head-sp.jpg");
  }
}

/*------------------------------
  term 関連
------------------------------*/
#social_policy .page-heading-level-1::before,
#about .page-heading-level-1::before,
#privacypolicy .page-heading-level-1::before,
#privacypolicy_chroma .page-heading-level-1::before,
#communityguideline .page-heading-level-1::before {
  height: 2px;
  background-color: #e6001a;
}

#social_policy .page-heading-level-1::after,
#about .page-heading-level-1::after,
#privacypolicy .page-heading-level-1::after,
#privacypolicy_chroma .page-heading-level-1::after,
#communityguideline .page-heading-level-1::after {
  display: none;
}

#social_policy .page-heading-term,
#about .page-heading-term,
#privacypolicy .page-heading-term,
#privacypolicy_chroma .page-heading-term,
#communityguideline .page-heading-term {
  font-size: 2.4rem;
  margin-top: 50px;
  padding-bottom: 15px;
  border-bottom: 1px solid #ddd;
}

@media screen and (max-width: 670px) {
  #social_policy .page-heading-term,
  #about .page-heading-term,
  #privacypolicy .page-heading-term,
  #privacypolicy_chroma .page-heading-term,
  #communityguideline .page-heading-term {
    font-size: 1.4rem;
  }
}

#social_policy .page-heading-term img,
#about .page-heading-term img,
#privacypolicy .page-heading-term img,
#privacypolicy_chroma .page-heading-term img,
#communityguideline .page-heading-term img {
  width: 30px;
  margin-top: -.15em;
  margin-right: .5em;
  vertical-align: middle;
}

@media screen and (max-width: 670px) {
  #social_policy .page-heading-term img,
  #about .page-heading-term img,
  #privacypolicy .page-heading-term img,
  #privacypolicy_chroma .page-heading-term img,
  #communityguideline .page-heading-term img {
    width: 20px;
  }
}

#social_policy .term-sect + .term-sect,
#about .term-sect + .term-sect,
#privacypolicy .term-sect + .term-sect,
#privacypolicy_chroma .term-sect + .term-sect,
#communityguideline .term-sect + .term-sect {
  margin-top: 50px;
}

#social_policy .term-table th,
#social_policy .term-table td,
#about .term-table th,
#about .term-table td,
#privacypolicy .term-table th,
#privacypolicy .term-table td,
#privacypolicy_chroma .term-table th,
#privacypolicy_chroma .term-table td,
#communityguideline .term-table th,
#communityguideline .term-table td {
  text-align: left;
}

@media screen and (max-width: 670px) {
  #social_policy .term-table th,
  #social_policy .term-table td,
  #about .term-table th,
  #about .term-table td,
  #privacypolicy .term-table th,
  #privacypolicy .term-table td,
  #privacypolicy_chroma .term-table th,
  #privacypolicy_chroma .term-table td,
  #communityguideline .term-table th,
  #communityguideline .term-table td {
    font-size: 1.2rem;
  }
}

#social_policy .term-table th,
#about .term-table th,
#privacypolicy .term-table th,
#privacypolicy_chroma .term-table th,
#communityguideline .term-table th {
  font-weight: normal;
  padding-right: .5em;
  white-space: nowrap;
}

@media screen and (max-width: 670px) {
  #social_policy .term-table th,
  #about .term-table th,
  #privacypolicy .term-table th,
  #privacypolicy_chroma .term-table th,
  #communityguideline .term-table th {
    padding-right: .2em;
  }
}

#social_policy .privacy-mark,
#about .privacy-mark,
#privacypolicy .privacy-mark,
#privacypolicy_chroma .privacy-mark,
#communityguideline .privacy-mark {
  margin-top: 50px;
}

@media screen and (max-width: 670px) {
  #social_policy .privacy-mark,
  #about .privacy-mark,
  #privacypolicy .privacy-mark,
  #privacypolicy_chroma .privacy-mark,
  #communityguideline .privacy-mark {
    margin-top: 30px;
  }
}

/*------------------------------
  検索
------------------------------*/
#search .page-heading-level-4 {
  font-size: 2.4rem;
  padding-bottom: .5em;
  border-bottom: 1px solid #ddd;
}

@media screen and (max-width: 670px) {
  #search .page-heading-level-4 {
    font-size: 1.4rem;
    padding-bottom: 1em;
  }
}

#search .search-list {
  margin-top: 30px;
}

@media screen and (max-width: 670px) {
  #search .search-list {
    margin-top: 20px;
  }
}

#search .search-list > li {
  margin-top: 30px;
}

#search .search-list > li:first-child {
  margin-top: 0;
}

#search .search-list__title {
  font-size: 1.8rem;
  font-weight: bold;
}

@media screen and (max-width: 670px) {
  #search .search-list__title {
    font-size: 1.3rem;
  }
}

#search .search-list__title a {
  text-decoration: underline;
}

#search .search-list__title a:hover {
  text-decoration: none;
}

#search .search-list__text {
  font-size: 1.6rem;
  margin-top: 10px;
}

@media screen and (max-width: 670px) {
  #search .search-list__text {
    font-size: 1.2rem;
  }
}

#search .search-list__url {
  font-size: 1.2rem;
  margin-top: 10px;
  color: #999;
}

@media screen and (max-width: 670px) {
  #search .search-list__url {
    font-size: 1.0rem;
  }
}

#search .page-heading-level-4 {
  font-size: 2.4rem;
  margin-top: 0;
  padding-bottom: .5em;
  border-bottom: 1px solid #ddd;
}

@media screen and (max-width: 670px) {
  #search .page-heading-level-4 {
    font-size: 1.4rem;
    padding-bottom: 1em;
  }
}

#search .pbox-searchresult {
  margin-top: 30px;
}

@media screen and (max-width: 670px) {
  #search .pbox-searchresult {
    margin-top: 10px;
  }
}

#search .pbox-searchresult ._record {
  margin-top: 20px;
  padding-right: 0;
  padding-left: 0;
}

@media screen and (max-width: 670px) {
  #search .pbox-searchresult ._record {
    margin-top: 10px;
  }
}

#search .pbox-searchresult ._record:first-child {
  margin-top: 0;
}

#search .pbox-searchresult ._title {
  font-size: 1.8rem;
  font-weight: bold;
}

@media screen and (max-width: 670px) {
  #search .pbox-searchresult ._title {
    font-size: 1.3rem;
  }
}

#search .pbox-searchresult ._title a {
  text-decoration: underline;
}

#search .pbox-searchresult ._title a:hover {
  text-decoration: none;
}

#search .pbox-searchresult ._nearby {
  font-size: 1.6rem;
  margin-top: 10px;
}

@media screen and (max-width: 670px) {
  #search .pbox-searchresult ._nearby {
    font-size: 1.2rem;
    margin-top: 5px;
  }
}

#search .pbox-searchresult ._url {
  font-size: 1.2rem;
  margin-top: 10px;
}

#search .pbox-searchresult ._url a {
  color: #999;
}

@media screen and (max-width: 670px) {
  #search .pbox-searchresult ._url {
    font-size: 1.0rem;
    margin-top: 5px;
  }
}

#search ._pbox-pagenav {
  line-height: 1;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 700px;
  margin: 0 auto;
  margin-top: 80px;
  padding: 10px 70px;
  text-align: center;
}

#search ._pbox-pagenav ._navs a:hover {
  opacity: 0.7;
}

#search ._pbox-pagenav ._navs > span {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 40px;
  display: block;
  display: inline-block;
  width: 34px;
  margin: 2px 3px;
  padding: 0;
  list-style: none;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  text-indent: 0;
  background-color: #eee;
}

#search ._pbox-pagenav ._navs > span._prev, #search ._pbox-pagenav ._navs > span._next {
  width: 100px;
}

#search ._pbox-pagenav ._navs > span._prev a, #search ._pbox-pagenav ._navs > span._next a {
  overflow: hidden;
}

#search ._pbox-pagenav ._navs a {
  position: relative;
  display: block;
  height: 40px;
}

@media screen and (max-width: 670px) {
  #search ._pbox-pagenav {
    margin-top: 25px;
    padding: 10px 0;
  }
  #search ._pbox-pagenav ._navs > span {
    font-size: 1.4rem;
    line-height: 30px;
    width: 28px;
    margin: 2px 1px;
    padding: 0;
  }
  #search ._pbox-pagenav ._navs > span._prev, #search ._pbox-pagenav ._navs > span._next {
    font-size: 1.1rem;
    width: 30px;
  }
  #search ._pbox-pagenav ._navs > span._prev._noanc, #search ._pbox-pagenav ._navs > span._next._noanc {
    display: none;
  }
  #search ._pbox-pagenav ._navs > span._prev a, #search ._pbox-pagenav ._navs > span._next a {
    text-indent: -9999px;
  }
  #search ._pbox-pagenav ._navs > span._prev a:before, #search ._pbox-pagenav ._navs > span._prev a:after, #search ._pbox-pagenav ._navs > span._next a:before, #search ._pbox-pagenav ._navs > span._next a:after {
    position: absolute;
    display: block;
    width: 0.4em;
    height: 0.4em;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto;
    content: '';
    position: absolute;
    top: 50%;
    display: none;
    margin-top: -.3em;
    vertical-align: middle;
    border: solid #0071be;
    border-width: 2px 2px 0 0;
  }
  #search ._pbox-pagenav ._navs > span._prev a:before {
    right: 50%;
    display: inline-block;
    margin-right: -.4em;
    -webkit-transform: rotate(-135deg);
            transform: rotate(-135deg);
  }
  #search ._pbox-pagenav ._navs > span._next a:after {
    left: 50%;
    display: inline-block;
    margin-left: -.4em;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  #search ._pbox-pagenav ._navs a {
    height: 30px;
  }
}

/*------------------------------
  topics 
------------------------------*/
#topics .page-content-level-3 section:first-child .page-heading-level-4:first-child {
  margin-top: 0;
}

#topics .topics-back-button {
  margin-top: 70px;
}

@media screen and (max-width: 670px) {
  #topics .topics-back-button {
    margin-top: 50px;
  }
}

@media screen and (max-width: 670px) {
  #topics .topics-back-button .basic-button__label {
    min-width: 250px;
  }
}

/*-- 一覧にPDFアイコンを表示する際の調整 --*/
.news-list-item__text .pdf-icon {
  color: inherit;
}

#topics .page-content-level-1 > p {
  margin: 30px 10px;
  line-height: 2.0;
}

#topics .page-content-level-1 > p a {
  text-decoration: underline;
}

#topics .page-content-level-1 > p a:hover {
  text-decoration: none;
}

#topics .page-content-level-1 a:hover img {
  opacity: .75;
}

#topics .page-content-level-1 > h4 {
  font-size: 2.4rem;
  line-height: 1.4;
  margin-top: 54px;
  padding: 16px 20px;
  background: #eee;
}

#topics .page-content-level-1 > h5 {
  font-size: 2rem;
  line-height: 1.4;
  margin-top: 43px;
  padding: 0 10px 12px 10px;
  border-bottom: 2px solid #e6001a;
}

#topics .page-content-level-1 > h6 {
  font-size: 1.8rem;
  line-height: 1.4;
  margin: 40px 10px 0 10px;
  padding: 0 0 0 0;
}

#topics .page-content-level-1 > table {
  margin: 30px 10px;
  width: 100%;
  border-collapse: collapse;
}

#topics .page-content-level-1 > table td {
  line-height: 1.6;
  border: 1px solid #ddd;
  padding: 20px;
}

#topics .page-content-level-1 > table td p + p {
  margin-top: 15px;
}

#visual-rental.visual-piu #topics .page-content-level-1 > h5 {
  border-color: #0071be;
}

#topics .page-content-level-1.is-rich pre {
  background-color: #333;
  padding: 25px;
  color: #5889DF;
  font-size: 1.4rem;
  white-space: pre-wrap;
}

#topics .page-content-level-1.is-rich p::before, #topics .page-content-level-1.is-rich p::after {
  display: block;
  clear: both;
  content: "";
}

#topics .page-content-level-1.is-rich p > em {
  margin: 10px auto;
  display: block;
  text-align: center;
  font-size: 1.2rem;
  font-style: normal;
  line-height: 1.4;
}

@media screen and (max-width: 1100px) {
  #topics .page-content-level-1.is-rich p > em {
    font-size: 1.0rem;
    margin: 5px auto;
  }
}

@media screen and (max-width: 400px) {
  #topics .page-content-level-1.is-rich p > iframe {
    height: 200px;
  }
}

#topics .page-content-level-1.is-rich p iframe + em {
  margin: 0px auto;
}

#topics .page-content-level-1.is-rich p > img[style*="float: left"] {
  margin-right: 30px;
  margin-bottom: 10px;
  max-width: calc(50% - 15px);
  height: auto;
}

@media screen and (max-width: 1100px) {
  #topics .page-content-level-1.is-rich p > img[style*="float: left"] {
    margin-right: 15px;
  }
}

#topics .page-content-level-1.is-rich img[src*="pdf-icon.png"] {
  width: 14px;
  height: auto;
  margin: -3px 5px 0 5px;
  vertical-align: middle;
  display: inline-block;
}

#topics .page-content-level-1.is-rich span[style*="#7e8c8d"] {
  font-size: 1.2rem;
}

#topics .page-content-level-1.is-rich img[src*="blue-blank-icon.png"] {
  width: 11px;
  height: auto;
  margin-top: -3px;
  vertical-align: middle;
  display: inline-block;
  margin-right: 3px;
  margin-left: 5px;
}

#topics .page-content-level-1.is-rich ol {
  margin-left: 2em;
}

#topics .page-content-level-1.is-rich ol > li {
  list-style-type: decimal;
}

#topics .page-content-level-1.is-rich blockquote {
  margin: 30px 10px;
  padding: 30px 30px 30px 50px;
  color: #999;
  background-color: #f5f5f5;
  position: relative;
  display: block;
}

@media screen and (max-width: 1100px) {
  #topics .page-content-level-1.is-rich blockquote {
    font-size: 1.2rem;
    margin: 15px auto;
    padding: 15px 15px 15px 30px;
  }
}

#topics .page-content-level-1.is-rich blockquote::before {
  top: 30px;
  left: 30px;
  height: calc(100% - 60px);
  width: 2px;
  background-color: #ccc;
  display: block;
  position: absolute;
  content: "";
}

@media screen and (max-width: 1100px) {
  #topics .page-content-level-1.is-rich blockquote::before {
    height: calc(100% - 30px);
    top: 15px;
    left: 15px;
  }
}

#topics .page-content-level-1.is-rich table td {
  height: auto !important;
}

#topics .page-content-level-1.is-rich table td[style*="#ecf0f1"] {
  font-weight: bold;
}

@media screen and (min-width: 1101px) {
  #topics .page-content-level-1.is-rich table {
    width: calc(100% - 20px) !important;
  }
}

@media screen and (max-width: 1100px) {
  #topics .page-content-level-1.is-rich table {
    margin-right: auto;
    margin-left: auto;
  }
  #topics .page-content-level-1.is-rich table:not(.is-tbl-b) td {
    display: block;
    border-top: none;
    width: 100% !important;
  }
  #topics .page-content-level-1.is-rich table:not(.is-tbl-b) tr:first-child {
    border-top: 1px solid #ddd;
  }
}

#topics .page-content-level-1.is-rich table[border="0"] {
  border: none;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 1100px) {
  #topics .page-content-level-1.is-rich table[border="0"] {
    width: auto !important;
  }
}

#topics .page-content-level-1.is-rich table[border="0"] tr:first-child {
  border: none !important;
}

#topics .page-content-level-1.is-rich table[border="0"] th, #topics .page-content-level-1.is-rich table[border="0"] td {
  border: none;
  text-align: left;
  font-size: 1.2rem;
  vertical-align: top;
  line-height: 1.4;
}

#topics .page-content-level-1.is-rich table[border="0"] th > img, #topics .page-content-level-1.is-rich table[border="0"] td > img {
  margin: 0 auto 5px auto;
  max-width: 100%;
  height: auto;
}

#topics .page-content-level-1.is-rich table[border="0"] th > iframe, #topics .page-content-level-1.is-rich table[border="0"] td > iframe {
  display: block;
  margin: 0 auto 5px auto;
  max-width: 100%;
}

@media screen and (max-width: 1100px) {
  #topics .page-content-level-1.is-rich table[border="0"] th, #topics .page-content-level-1.is-rich table[border="0"] td {
    font-size: 1.0rem;
  }
}

@media screen and (min-width: 1101px) {
  #topics .page-content-level-1.is-rich table[border="0"] th, #topics .page-content-level-1.is-rich table[border="0"] td {
    padding: 15px 0;
    width: 50% !important;
  }
  #topics .page-content-level-1.is-rich table[border="0"] th:nth-child(odd), #topics .page-content-level-1.is-rich table[border="0"] td:nth-child(odd) {
    padding-right: 15px;
  }
  #topics .page-content-level-1.is-rich table[border="0"] th:nth-child(even), #topics .page-content-level-1.is-rich table[border="0"] td:nth-child(even) {
    padding-left: 15px;
  }
  #topics .page-content-level-1.is-rich table[border="0"] th > iframe, #topics .page-content-level-1.is-rich table[border="0"] td > iframe {
    width: 100%;
    height: 380px;
  }
}

@media screen and (max-width: 1100px) {
  #topics .page-content-level-1.is-rich table[border="0"] th, #topics .page-content-level-1.is-rich table[border="0"] td {
    width: 100% !important;
    display: block;
    padding: 10px 0;
  }
}

@media screen and (max-width: 400px) {
  #topics .page-content-level-1.is-rich table[border="0"] th > iframe, #topics .page-content-level-1.is-rich table[border="0"] td > iframe {
    height: 200px;
  }
}

#topics .page-content-level-1 > ol > li, #topics .page-content-level-1 > ul:not(.sns-box-list, .news-list, .link-box, .link-box-list) > li {
  font-size: 1.6rem;
  line-height: 2.0;
}

#topics .page-content-level-1 > ul:not(.sns-box-list, .news-list, .link-box, .link-box-list) > li {
  padding-left: 1em;
  text-indent: -1em;
}

#topics .page-content-level-1 > ul:not(.sns-box-list, .news-list, .link-box, .link-box-list) > li:before {
  width: 0.25em;
  height: 0.25em;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  content: '';
  position: relative;
  display: inline-block;
  margin: -.25em .37em 0;
  vertical-align: middle;
  background-color: #000;
}

#topics .page-content-level-1 > ol, #topics .page-content-level-1 > ul:not(.sns-box-list, .news-list, .link-box, .link-box-list) {
  margin: 1em 10px 0 10px;
}

#topics .page-content-level-1 > p img,
#topics .page-content-level-1 > img {
  height: auto;
  max-width: 100%;
}

@media screen and (max-width: 1100px) {
  #topics .page-content-level-1 > p img,
  #topics .page-content-level-1 > img {
    width: auto;
    display: block;
    margin-right: auto;
    margin-left: auto;
  }
}

#topics .page-content-level-1 iframe {
  max-width: 100%;
}

@media screen and (max-width: 670px) {
  #topics .page-content-level-1 > p {
    font-size: 1.2rem;
    margin: 15px auto;
  }
  #topics .page-content-level-1 > h4 {
    font-size: 1.4rem;
    margin-top: 40px;
    padding: 15px 10px;
  }
  #topics .page-content-level-1 > h5 {
    font-size: 1.4rem;
    margin-top: 20px;
    padding: 0 0 11px 0;
    border-bottom-width: 1px;
  }
  #topics .page-content-level-1 > h6 {
    font-size: 1.3rem;
    margin: 20px 0 15px 0;
    padding: 0 0 0 0;
  }
  #topics .page-content-level-1 > table {
    margin: 15px 0px;
    font-size: 1.2rem;
  }
  #topics .page-content-level-1 > table td {
    padding: 10px;
  }
  #topics .page-content-level-1 > table td p + p {
    margin-top: 10px;
  }
  #topics .page-content-level-1 > table td img {
    max-width: 100%;
    height: auto;
  }
  > ol, > ul:not(.sns-box-list), ul:not(.news-list), ul:not(.link-box), ul:not(.link-box-list) {
    margin: 0;
  }
  #topics .page-content-level-1 > ol > li, #topics .page-content-level-1 > ul:not(.sns-box-list, .news-list, .link-box, .link-box-list) > li {
    font-size: 1.2rem;
  }
}

/*------------------------------
  sitemap 
------------------------------*/
#sitemap .sitemap-sect {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: -60px -30px 0;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

@media screen and (max-width: 1100px) {
  #sitemap .sitemap-sect {
    margin-right: -15px;
    margin-left: -15px;
  }
}

@media screen and (max-width: 800px) {
  #sitemap .sitemap-sect {
    display: block;
    margin: 0;
  }
}

#sitemap .sitemap-sect .sitemap-block {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 50%;
  margin-top: 60px;
  padding: 0 30px;
}

@media screen and (max-width: 1100px) {
  #sitemap .sitemap-sect .sitemap-block {
    padding-right: 15px;
    padding-left: 15px;
  }
}

@media screen and (max-width: 800px) {
  #sitemap .sitemap-sect .sitemap-block {
    width: 100%;
    margin-top: 30px;
    padding: 0 0;
  }
  #sitemap .sitemap-sect .sitemap-block:first-child {
    margin-top: 0;
  }
}

#sitemap .sitemap-sect .page-heading-level-2 {
  position: relative;
  margin-top: 0;
}

@media screen and (max-width: 1100px) {
  #sitemap .sitemap-sect .page-heading-level-2 {
    font-size: 2.0rem;
  }
}

#sitemap .sitemap-sect .page-heading-level-2:hover {
  -webkit-box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
          box-shadow: 0 0 8px rgba(2, 0, 14, 0.3);
}

#sitemap .sitemap-sect .page-heading-level-2.is-noLink:hover {
  -webkit-box-shadow: none;
          box-shadow: none;
}

#sitemap .sitemap-sect .page-heading-level-2 a {
  display: block;
  color: inherit;
}

#sitemap .sitemap-sect .page-heading-level-2 a:before {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  content: '';
  left: 0;
  top: 0;
}

#sitemap .sitemap-sect .page-heading-level-2 img {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

#sitemap .sitemap-sect .page-heading-level-3 {
  margin-top: 0;
  margin-right: -10px;
  margin-left: -10px;
}

@media screen and (max-width: 670px) {
  #sitemap .sitemap-sect .page-heading-level-3 {
    font-size: 1.3rem;
    margin: 0;
  }
}

#sitemap .sitemap-sect .sitemap-list {
  margin-top: 20px;
}

@media screen and (max-width: 670px) {
  #sitemap .sitemap-sect .sitemap-list {
    margin-top: 10px;
  }
}

#sitemap .sitemap-sect .sitemap-list > li {
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: 10px;
}

@media screen and (max-width: 670px) {
  #sitemap .sitemap-sect .sitemap-list > li {
    font-size: 1.2rem;
  }
}

#sitemap .sitemap-sect .sitemap-list > li:first-child {
  margin-top: 0;
}

#sitemap .sitemap-sect .sitemap-innerlist {
  margin-top: 10px;
  padding-left: 20px;
}

@media screen and (max-width: 670px) {
  #sitemap .sitemap-sect .sitemap-innerlist {
    padding-left: 15px;
  }
}

#sitemap .sitemap-sect .sitemap-innerlist > li {
  font-weight: normal;
  margin-top: 10px;
}

#sitemap .sitemap-sect .sitemap-innerlist > li:first-child {
  margin-top: 0;
}

/*------------------------------------------------------------
  Season's Greetings
------------------------------------------------------------*/
/*------------------------------
  共通
------------------------------*/
#greetingpage .primary-page-title {
  height: 380px;
  background-image: url("/assets/img/company/company-mv.jpg");
  background-position: top center;
  background-size: cover;
}

@media screen and (max-width: 800px) {
  #greetingpage .primary-page-title {
    height: 240px;
    background-image: url("/assets/img/company/company-mv-sp.jpg");
  }
}

@-webkit-keyframes swing {
  0%, 100% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg);
    bottom: calc(28/540 * 100%);
  }
  25%, 75% {
    bottom: calc(36/540 * 100%);
  }
  50% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg);
    bottom: calc(28/540 * 100%);
  }
}

@keyframes swing {
  0%, 100% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg);
    bottom: calc(28/540 * 100%);
  }
  25%, 75% {
    bottom: calc(36/540 * 100%);
  }
  50% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg);
    bottom: calc(28/540 * 100%);
  }
}

.postcard {
  max-width: 800px;
  margin: 0 auto;
}

.postcard__cover {
  position: relative;
}

.postcard__cover img {
  width: 100%;
  height: auto;
}

.postcard__cover-note {
  -webkit-animation: swing 4s infinite ease-in-out;
          animation: swing 4s infinite ease-in-out;
  width: calc(361/800 * 100%);
  height: auto;
  position: absolute;
  right: calc(24/800 * 100%);
}

.postcard__cover-note img {
  width: 100%;
  height: auto;
}

#visual-business .primary-page-title, #visual-products .primary-page-title {
  height: 380px;
  background-image: url("/assets/img/visual/business/visualbusiness-head.jpg");
  background-position: top center;
  background-size: cover;
}

#visual-business .primary-page-title .text-box, #visual-products .primary-page-title .text-box {
  max-width: 600px;
}

@media screen and (max-width: 800px) {
  #visual-business .primary-page-title .text-box .disp-inb, #visual-products .primary-page-title .text-box .disp-inb {
    display: inline;
  }
}

@media screen and (max-width: 800px) {
  #visual-business .primary-page-title, #visual-products .primary-page-title {
    height: 240px;
    background-image: url("/assets/img/visual/business/visualbusiness-head-sp.jpg");
  }
}

#visual-rental .primary-page-title {
  height: 380px;
  background-image: url("/assets/img/visual/rental/visualrental-head.jpg");
  background-position: top center;
  background-size: cover;
}

#visual-rental .primary-page-title .text-box {
  max-width: 600px;
}

@media screen and (max-width: 800px) {
  #visual-rental .primary-page-title .text-box .disp-inb {
    display: inline;
  }
}

@media screen and (max-width: 800px) {
  #visual-rental .primary-page-title {
    height: 240px;
    background-image: url("/assets/img/visual/rental/visualrental-head-sp.jpg");
  }
}

#visual-rental .secondary-page-title {
  background-image: url("/assets/img/visual/rental/visualrental-head.jpg");
}

@media screen and (max-width: 800px) {
  #visual-rental .secondary-page-title {
    background-image: url("/assets/img/visual/rental/visualrental-head-sp.jpg");
  }
}

#visual-rental .primary-page-title.is-piu,
#visual-rental .secondary-page-title.is-piu {
  background-image: url("/assets/img/visual/rental/piu/visualrentalpiu-head.jpg");
}

@media screen and (max-width: 800px) {
  #visual-rental .primary-page-title.is-piu,
  #visual-rental .secondary-page-title.is-piu {
    background-image: url("/assets/img/visual/rental/piu/visualrentalpiu-head-sp.jpg");
  }
}

#visual-rental .primary-page-title.is-visual,
#visual-rental .secondary-page-title.is-visual {
  background-image: url("/assets/img/visual/rental/visual/visualrental-head.jpg");
}

@media screen and (max-width: 800px) {
  #visual-rental .primary-page-title.is-visual,
  #visual-rental .secondary-page-title.is-visual {
    background-image: url("/assets/img/visual/rental/visual/visualrental-head-sp.jpg");
  }
}

#visual-studio .primary-page-title {
  height: 380px;
  background-image: url("/assets/img/visual/studio/visualstudio-head.jpg");
  background-position: top center;
  background-size: cover;
}

#visual-studio .primary-page-title .text-box {
  max-width: 600px;
}

@media screen and (max-width: 800px) {
  #visual-studio .primary-page-title .text-box .disp-inb {
    display: inline;
  }
}

@media screen and (max-width: 800px) {
  #visual-studio .primary-page-title {
    height: 240px;
    background-image: url("/assets/img/visual/studio/visualstudio-head-sp.jpg");
  }
}

/*------------------------------
  新visual
-----------------------------*/
/* animation
-----------------------------*/
.js-anime-fadein-up,
.js-anime-fadein-down,
.js-anime-fadein-left,
.js-anime-fadein-right,
.js-anime-fadein {
  opacity: 0;
}

/* ベース
-----------------------------*/
#visual.visual a, #visual.visual a *, #visual.visual a::after, #visual.visual a::before {
  -webkit-transition: all 0.4s 0s ease;
  transition: all 0.4s 0s ease;
}

#visual.visual p {
  line-height: 2;
}

#visual.visual .main .content-box {
  padding: 0;
}

#visual.visual .is-font-roboto-c {
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

#visual.visual .heading-lv1 {
  font-size: 4.4rem;
  font-weight: 900;
  text-align: center;
  position: relative;
  padding-bottom: 28px;
  letter-spacing: 0.02em;
}

#visual.visual .heading-lv1::before {
  display: block;
  position: absolute;
  content: "";
  width: 80px;
  height: 4px;
  background-color: #e6001a;
  bottom: 0;
  left: calc(50% - 40px);
}

@media screen and (max-width: 800px) {
  #visual.visual .heading-lv1 {
    font-size: 2.8rem;
    padding-bottom: 18px;
  }
  #visual.visual .heading-lv1::before {
    width: 24px;
    height: 2px;
    left: calc(50% - 12px);
  }
}

#visual.visual .heading-lv2 {
  font-size: 4rem;
  font-weight: 900;
  position: relative;
  padding-left: 64px;
}

#visual.visual .heading-lv2.is-sub {
  font-size: 3.2rem;
}

#visual.visual .heading-lv2::before {
  display: block;
  position: absolute;
  content: "";
  width: 40px;
  height: 2px;
  background-color: #e6001a;
  top: calc(50% - 1px);
  left: 0;
}

@media screen and (max-width: 800px) {
  #visual.visual .heading-lv2 {
    font-size: 2.6rem;
    padding-left: 32px;
  }
  #visual.visual .heading-lv2.is-sub {
    font-size: 2rem;
  }
  #visual.visual .heading-lv2::before {
    width: 24px;
  }
}

#visual.visual .heading-lv3 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  width: 100%;
  font-weight: 700;
}

#visual.visual .heading-lv3.is-color-blue {
  color: #0071be;
}

#visual.visual .heading-lv3 .ttl-main {
  margin-top: 24px;
  font-size: 2.4rem;
  width: 100%;
  margin-right: auto;
  margin-left: 0;
  line-height: 1.4;
}

#visual.visual .heading-lv3 .ttl-sub {
  font-size: 12rem;
  line-height: 1;
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
  width: 100%;
  margin-right: auto;
  margin-left: 0;
}

@media screen and (min-width: 801px) {
  #visual.visual .heading-lv3.is-home-service .ttl-main {
    margin-top: 8px;
    font-size: 2rem;
  }
  #visual.visual .heading-lv3.is-home-service .ttl-sub {
    font-size: 8rem;
  }
}

@media screen and (min-width: 801px) and (max-width: 1280px) {
  #visual.visual .heading-lv3 .ttl-main {
    font-size: 1.875vw;
  }
  #visual.visual .heading-lv3 .ttl-sub {
    font-size: 9.375vw;
  }
}

#visual.visual .heading-lv3.is-align-center {
  text-align: center;
}

#visual.visual .heading-lv3.is-align-center .ttl-main,
#visual.visual .heading-lv3.is-align-center .ttl-sub {
  margin-right: auto;
  margin-left: auto;
}

#visual.visual .heading-lv3.is-align-right {
  text-align: right;
}

#visual.visual .heading-lv3.is-align-right .ttl-main,
#visual.visual .heading-lv3.is-align-right .ttl-sub {
  margin-right: 0;
  margin-left: auto;
}

@media screen and (min-width: 801px) {
  #visual.visual .heading-lv3.is-pc-align-right {
    text-align: right;
  }
  #visual.visual .heading-lv3.is-pc-align-right .ttl-main,
  #visual.visual .heading-lv3.is-pc-align-right .ttl-sub {
    margin-right: 0;
    margin-left: auto;
  }
}

#visual.visual .heading-lv3.is-bg-band {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}

#visual.visual .heading-lv3.is-bg-band .ttl-sub,
#visual.visual .heading-lv3.is-bg-band .ttl-main {
  background-color: rgba(255, 255, 255, 0.96);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  position: relative;
  margin-left: -16px;
}

#visual.visual .heading-lv3.is-bg-band .ttl-sub::before, #visual.visual .heading-lv3.is-bg-band .ttl-sub::after,
#visual.visual .heading-lv3.is-bg-band .ttl-main::before,
#visual.visual .heading-lv3.is-bg-band .ttl-main::after {
  position: absolute;
  content: "";
  top: 0;
  background-color: rgba(255, 255, 255, 0.96);
  height: 100%;
}

#visual.visual .heading-lv3.is-bg-band .ttl-sub::before,
#visual.visual .heading-lv3.is-bg-band .ttl-main::before {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%);
  display: none;
}

#visual.visual .heading-lv3.is-bg-band .ttl-sub::after,
#visual.visual .heading-lv3.is-bg-band .ttl-main::after {
  -webkit-clip-path: polygon(0 0, 100% 0, 0% 100%);
          clip-path: polygon(0 0, 100% 0, 0% 100%);
}

#visual.visual .heading-lv3.is-bg-band .ttl-main {
  margin-top: 8px;
  padding: 0 16px;
}

#visual.visual .heading-lv3.is-bg-band .ttl-main::before, #visual.visual .heading-lv3.is-bg-band .ttl-main::after {
  width: 16px;
}

#visual.visual .heading-lv3.is-bg-band .ttl-main::before {
  left: -16px;
}

#visual.visual .heading-lv3.is-bg-band .ttl-main::after {
  right: -16px;
}

#visual.visual .heading-lv3.is-bg-band .ttl-sub {
  padding: 32px 16px;
  line-height: 0.8;
}

#visual.visual .heading-lv3.is-bg-band .ttl-sub::before, #visual.visual .heading-lv3.is-bg-band .ttl-sub::after {
  width: 40.5px;
}

#visual.visual .heading-lv3.is-bg-band .ttl-sub::before {
  left: -40px;
}

#visual.visual .heading-lv3.is-bg-band .ttl-sub::after {
  right: -40px;
}

#visual.visual .heading-lv3.is-bg-band.is-align-right .ttl-main,
#visual.visual .heading-lv3.is-bg-band.is-align-right .ttl-sub {
  margin-left: auto;
  margin-right: -16px;
}

#visual.visual .heading-lv3.is-bg-band.is-align-right .ttl-main::before,
#visual.visual .heading-lv3.is-bg-band.is-align-right .ttl-sub::before {
  display: block;
}

#visual.visual .heading-lv3.is-bg-band.is-align-right .ttl-main::after,
#visual.visual .heading-lv3.is-bg-band.is-align-right .ttl-sub::after {
  display: none;
}

@media screen and (min-width: 801px) {
  #visual.visual .heading-lv3.is-bg-band.is-pc-align-right .ttl-main,
  #visual.visual .heading-lv3.is-bg-band.is-pc-align-right .ttl-sub {
    margin-left: auto;
    margin-right: -16px;
  }
  #visual.visual .heading-lv3.is-bg-band.is-pc-align-right .ttl-main::before,
  #visual.visual .heading-lv3.is-bg-band.is-pc-align-right .ttl-sub::before {
    display: block;
  }
  #visual.visual .heading-lv3.is-bg-band.is-pc-align-right .ttl-main::after,
  #visual.visual .heading-lv3.is-bg-band.is-pc-align-right .ttl-sub::after {
    display: none;
  }
}

#visual.visual .heading-lv3.is-bg-band.is-align-center .ttl-main,
#visual.visual .heading-lv3.is-bg-band.is-align-center .ttl-sub {
  margin-left: auto;
  margin-right: auto;
}

#visual.visual .heading-lv3.is-bg-band.is-align-center .ttl-main::before, #visual.visual .heading-lv3.is-bg-band.is-align-center .ttl-main::after,
#visual.visual .heading-lv3.is-bg-band.is-align-center .ttl-sub::before,
#visual.visual .heading-lv3.is-bg-band.is-align-center .ttl-sub::after {
  display: block;
}

#visual.visual .heading-lv3.is-bg-band.is-align-center .ttl-main::before,
#visual.visual .heading-lv3.is-bg-band.is-align-center .ttl-sub::before {
  -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%);
          clip-path: polygon(100% 0, 100% 100%, 0 100%);
}

@media screen and (max-width: 800px) {
  #visual.visual .heading-lv3 .ttl-main {
    margin-top: 6px;
    font-size: 2rem;
  }
  #visual.visual .heading-lv3 .ttl-sub {
    font-size: 5.6rem;
  }
  #visual.visual .heading-lv3.is-bg-band .ttl-sub,
  #visual.visual .heading-lv3.is-bg-band .ttl-main {
    margin-left: -8px;
  }
  #visual.visual .heading-lv3.is-bg-band .ttl-sub {
    padding: 8px;
    line-height: 1;
  }
  #visual.visual .heading-lv3.is-bg-band .ttl-sub::before, #visual.visual .heading-lv3.is-bg-band .ttl-sub::after {
    width: 16px;
  }
  #visual.visual .heading-lv3.is-bg-band .ttl-sub::before {
    left: -16px;
  }
  #visual.visual .heading-lv3.is-bg-band .ttl-sub::after {
    right: -16px;
  }
  #visual.visual .heading-lv3.is-bg-band .ttl-main {
    margin-top: 0;
    padding: 4px 8px;
  }
  #visual.visual .heading-lv3.is-bg-band.is-align-right .ttl-sub,
  #visual.visual .heading-lv3.is-bg-band .ttl-main {
    margin-right: -8px;
  }
}

#visual.visual .heading-lv4 {
  font-size: 3.2rem;
  padding: 12px 0 12px 24px;
  border-left: 4px #e6001a solid;
  line-height: 1.4;
  font-weight: 900;
  letter-spacing: 0.075em;
}

@media screen and (max-width: 800px) {
  #visual.visual .heading-lv4 {
    font-size: 2rem;
    padding: 8px 0 8px 12px;
    border-left-width: 2px;
  }
}

#visual.visual .heading-lv5 {
  font-size: 1.8rem;
  position: relative;
  padding-bottom: 16px;
}

#visual.visual .heading-lv5::after {
  display: block;
  content: "";
  position: absolute;
  background-color: #282828;
  width: 40px;
  height: 2px;
  left: 0;
  bottom: 0;
}

/* リンク
-----------------------------*/
.visual-link-arrow {
  width: 120px;
  height: 120px;
  border-radius: 80px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 1;
}

.visual-link-arrow img {
  width: 80px;
  height: auto;
  margin-top: -12px;
}

.visual-link-arrow::before {
  -webkit-transition: all 0.4s 0s ease;
  transition: all 0.4s 0s ease;
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 80px;
  background-color: #e6001a;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}

@media screen and (max-width: 800px) {
  .visual-link-arrow {
    width: 48px;
    height: 48px;
  }
  .visual-link-arrow img {
    width: 32px;
    margin-top: -6px;
  }
}

.visual-link-arrow.is-black::before {
  background-color: #282828;
}

.visual-link-arrow.is-white::before {
  background-color: #fff;
}

.visual-link-arrow.is-white + .txt {
  color: #fff;
}

@media screen and (min-width: 801px) {
  .visual-link-arrow.is-medium {
    width: 80px;
    height: 80px;
  }
  .visual-link-arrow.is-medium img {
    width: 40px;
    margin-top: -6px;
  }
  .visual-link-arrow.is-small {
    width: 64px;
    height: 64px;
  }
  .visual-link-arrow.is-small img {
    width: 43px;
    margin-top: -6px;
  }
  .visual-link-arrow.is-minimum {
    width: 40px;
    height: 40px;
  }
  .visual-link-arrow.is-minimum img {
    width: 25px;
    margin-top: -4px;
  }
}

@media screen and (min-width: 801px) {
  *:hover > .visual-link-arrow::before {
    width: 160px;
    height: 160px;
  }
  *:hover > .visual-link-arrow.is-medium::before {
    width: 100px;
    height: 100px;
  }
  *:hover > .visual-link-arrow.is-small::before {
    width: 80px;
    height: 80px;
  }
  *:hover > .visual-link-arrow.is-minimum::before {
    width: 52px;
    height: 52px;
  }
}

/* 共通コンポーネント
-----------------------------*/
.visual-decorate-link {
  font-size: 2rem;
  font-weight: bold;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  line-height: 1.3;
}

.visual-decorate-link .txt {
  color: #222;
}

.visual-decorate-link .txt:not(:first-child) {
  margin-left: 16px;
}

.visual-decorate-link .ico {
  display: inline-block;
  margin-left: 8px;
  width: 20px;
}

.visual-decorate-link .ico img {
  width: 100%;
  height: auto;
  vertical-align: unset;
}

@media screen and (max-width: 800px) {
  .visual-decorate-link {
    font-size: 1.8rem;
  }
  .visual-decorate-link .txt:not(:first-child) {
    margin-left: 12px;
  }
  .visual-decorate-link .ico {
    margin-left: 6px;
    width: 16px;
  }
}

.visual-page-link__inner {
  background-color: #222;
  height: 240px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
}

.visual-page-link__inner:hover {
  color: #fff;
  background-color: #666;
}

.visual-page-link__inner .wrap {
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 80px;
}

.visual-page-link__inner .wrap .title {
  font-weight: 700;
  line-height: 1;
  text-align: right;
}

.visual-page-link__inner .wrap .title .ttl-main {
  font-size: 2rem;
  margin-top: 16px;
}

.visual-page-link__inner .wrap .title .ttl-sub {
  font-size: 6.4rem;
}

.visual-page-link__inner .wrap .icon {
  margin-top: -7px;
}

.visual-page-link__inner .wrap .icon img {
  width: 80px;
  height: auto;
}

@media screen and (max-width: 800px) {
  .visual-page-link__inner {
    height: 160px;
  }
  .visual-page-link__inner .wrap {
    gap: 16px;
  }
  .visual-page-link__inner .wrap .title {
    text-align: center;
    width: 100%;
  }
  .visual-page-link__inner .wrap .title .ttl-main {
    font-size: 1.6rem;
    margin-top: 8px;
  }
  .visual-page-link__inner .wrap .title .ttl-sub {
    font-size: 4rem;
  }
  .visual-page-link__inner .wrap .icon {
    text-align: center;
    width: 100%;
    margin-top: 0;
  }
  .visual-page-link__inner .wrap .icon img {
    width: 48px;
    height: 13px;
    vertical-align: unset;
  }
}

/* バナー
-----------------------------*/
.visual-bnr-area {
  margin-top: 80px;
}

.visual-bnr-area .bnr-list > li {
  height: 505px;
}

.visual-bnr-area .bnr-list > li + li {
  margin-top: 2px;
}

.visual-bnr-area .bnr-list > li a:hover {
  opacity: .75;
}

.visual-bnr-area .bnr-list > li .wrap {
  width: 100%;
  height: 100%;
  color: #fff;
  display: block;
  position: relative;
  font-weight: 700;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.visual-bnr-area .bnr-list > li .wrap .icon-blank {
  position: absolute;
  display: block;
  top: 40px;
  right: 40px;
  z-index: 1;
  width: 40px;
}

.visual-bnr-area .bnr-list > li .wrap .icon-blank img {
  width: 100%;
  height: auto;
}

.visual-bnr-area .bnr-list > li .wrap .logo {
  width: 1280px;
  max-width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  text-align: center;
}

@media screen and (min-width: 801px) and (max-width: 1300px) {
  .visual-bnr-area .bnr-list > li .wrap .logo {
    width: 100%;
    margin-right: 24px;
    margin-left: 24px;
  }
}

.visual-bnr-area .bnr-list > li .wrap .logo .ttl {
  font-size: 9.6rem;
  line-height: 1.2;
}

.visual-bnr-area .bnr-list > li .wrap .logo .ttl-main {
  width: 100%;
}

.visual-bnr-area .bnr-list > li .wrap .logo .ttl-sub {
  width: 100%;
  font-size: 2.4rem;
  margin-top: 16px;
}

.visual-bnr-area .bnr-list > li .wrap .logo .img.is-sports {
  width: 395px;
  margin: 0 auto;
}

.visual-bnr-area .bnr-list > li .wrap .logo .img img {
  width: 100%;
  height: auto;
  margin: 0 auto;
}

.visual-bnr-area .bnr-list > li .wrap .logo.is-text-on {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: left;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.visual-bnr-area .bnr-list > li .wrap .logo.is-text-on .ttl {
  width: 50%;
}

.visual-bnr-area .bnr-list > li .wrap .logo.is-text-on .txt {
  font-size: 2rem;
  width: calc(560/1280 * 100%);
}

.visual-bnr-area .bnr-list > li .wrap .image {
  position: absolute;
  width: 100%;
  height: 100%;
}

.visual-bnr-area .bnr-list > li .wrap .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}

.visual-bnr-area .bnr-list > li.is-small {
  height: 320px;
}

.visual-bnr-area .bnr-list > li.is-small .wrap {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.visual-bnr-area .bnr-list > li.is-small .wrap .logo {
  text-align: left;
}

.visual-bnr-area .bnr-list > li.is-small .wrap .logo .ttl {
  font-size: 6.4rem;
}

.visual-bnr-area .bnr-list > li.is-small .wrap .logo .ttl-sub {
  font-size: 2rem;
}

.visual-bnr-area .bnr-list > li.is-large {
  height: 616px;
}

.visual-bnr-area .bnr-list > li.is-large .wrap {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.visual-bnr-area .bnr-list > li.is-large .wrap:hover {
  opacity: 1;
}

.visual-bnr-area .bnr-list > li.is-large .wrap:hover .image {
  opacity: 0.75;
}

.visual-bnr-area .bnr-list > li.is-large .wrap .logo {
  text-align: left;
}

.visual-bnr-area .bnr-list > li.is-large .wrap .logo .ttl-main {
  font-size: 9.6rem;
  line-height: 1;
}

.visual-bnr-area .bnr-list > li.is-large .wrap .logo .ttl-sub {
  font-size: 2.4rem;
  line-height: 1.4;
  margin-top: 24px;
}

.visual-bnr-area .bnr-list > li.is-large .wrap .logo .text {
  margin-top: 32px;
  font-size: 2rem;
  font-weight: bold;
}

.visual-bnr-area .bnr-list > li.is-large .wrap .icon-arrow {
  position: absolute;
  left: calc(50% + 640px - 120px);
  bottom: -60px;
}

@media screen and (max-width: 800px) {
  .visual-bnr-area {
    margin-top: 40px;
  }
  .visual-bnr-area .bnr-list > li {
    height: 375px;
  }
  .visual-bnr-area .bnr-list > li .wrap .icon-blank {
    top: 16px;
    right: 16px;
    width: 24px;
  }
  .visual-bnr-area .bnr-list > li .wrap .logo {
    padding: 0 16px;
  }
  .visual-bnr-area .bnr-list > li .wrap .logo .ttl {
    font-size: 6.4rem;
  }
  .visual-bnr-area .bnr-list > li .wrap .logo .ttl-sub {
    font-size: 2rem;
    margin-top: 4px;
  }
  .visual-bnr-area .bnr-list > li .wrap .logo .img.is-sports {
    width: 240px;
  }
  .visual-bnr-area .bnr-list > li .wrap .logo.is-text-on .ttl {
    width: 100%;
    text-align: center;
  }
  .visual-bnr-area .bnr-list > li .wrap .logo.is-text-on .txt {
    margin-top: 16px;
    width: 100%;
    font-size: 1.6rem;
    font-weight: 400;
  }
  .visual-bnr-area .bnr-list > li .wrap .image {
    position: absolute;
    width: 100%;
    height: 100%;
  }
  .visual-bnr-area .bnr-list > li .wrap .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
  }
  .visual-bnr-area .bnr-list > li.is-small {
    height: 280px;
  }
  .visual-bnr-area .bnr-list > li.is-small .wrap .logo .ttl {
    font-size: 4rem;
  }
  .visual-bnr-area .bnr-list > li.is-small .wrap .logo .ttl-sub {
    font-size: 1.6rem;
  }
  .visual-bnr-area .bnr-list > li.is-large {
    height: 464px;
  }
  .visual-bnr-area .bnr-list > li.is-large .wrap .logo .ttl-main {
    font-size: 4.8rem;
  }
  .visual-bnr-area .bnr-list > li.is-large .wrap .logo .ttl-sub {
    font-size: 1.6rem;
    margin-top: 8px;
  }
  .visual-bnr-area .bnr-list > li.is-large .wrap .logo .text {
    margin-top: 16px;
    font-size: 1.2rem;
    font-weight: normal;
  }
  .visual-bnr-area .bnr-list > li.is-large .wrap .icon-arrow {
    left: auto;
    right: calc(16/373 * 100%);
    bottom: -24px;
  }
}

/*------------------------------
  新トップ
-----------------------------*/
.visual-home__header {
  color: #fff;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  height: 1720px;
}

@media screen and (min-width: 801px) {
  .visual-home__header {
    background-image: url("/assets/img/visual/home/mv-pc.jpg");
    background-size: cover;
    background-position: center top;
  }
}

@media screen and (max-width: 800px) {
  .visual-home__header {
    height: 460vw;
    background-position: center 55px;
    background-image: url("/assets/img/visual/home/mv-sp.jpg");
    background-size: 100% auto;
  }
}

.visual-home__header__mv {
  height: 900px;
  max-width: 1280px;
  position: relative;
  margin: 0 auto;
}

.visual-home__header__mv .lead {
  width: calc(900/1280 * 100%);
  position: absolute;
  left: 0;
  bottom: 120px;
  -webkit-filter: drop-shadow(0 0 40px rgba(0, 0, 0, 0.4));
          filter: drop-shadow(0 0 40px rgba(0, 0, 0, 0.4));
}

.visual-home__header__mv .lead img {
  width: 100%;
}

@media screen and (min-width: 801px) and (max-width: 1300px) {
  .visual-home__header__mv .lead {
    margin-right: 24px;
    margin-left: 24px;
  }
}

@media screen and (max-width: 800px) {
  .visual-home__header__mv {
    height: 177.7vw;
  }
  .visual-home__header__mv .lead {
    left: 4.269vw;
    width: 343px;
    bottom: 10.666666666666668vw;
  }
}

.visual-home__header__service {
  height: 820px;
  overflow: hidden;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
}

@media screen and (min-width: 801px) {
  .visual-home__header__service {
    background-image: url("/assets/img/visual/home/mv_filter-pc.jpg");
    background-attachment: fixed;
  }
}

@media screen and (max-width: 1100px) {
  .visual-home__header__service {
    height: 282.93333333333334vw;
    background-position: center top;
    background-image: url("/assets/img/visual/home/mv_filter-sp.jpg");
  }
}

.visual-home__header__service .wrap {
  max-width: 1280px;
  position: relative;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding-top: 80px;
}

@media screen and (min-width: 801px) and (max-width: 1300px) {
  .visual-home__header__service .wrap {
    margin-right: 24px;
    margin-left: 24px;
    max-width: 100%;
  }
}

.visual-home__header__service .wrap .title {
  width: 100%;
  font-weight: 900;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  text-align: center;
  margin-bottom: 64px;
  line-height: 1;
}

.visual-home__header__service .wrap .title .ttl-main {
  width: 100%;
  font-size: 1.8rem;
  margin-top: 8px;
}

.visual-home__header__service .wrap .title .ttl-sub {
  width: 100%;
  font-size: 6.4rem;
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
}

.visual-home__header__service .wrap .text {
  font-size: 2.2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  width: 100%;
  width: 100%;
}

@media screen and (min-width: 671px) and (max-width: 1280px) {
  .visual-home__header__service .wrap .text {
    font-size: 1.71875vw;
  }
}

@media screen and (max-width: 880px) {
  .visual-home__header__service .wrap .text {
    font-size: 1.8rem;
  }
}

.visual-home__header__service .wrap .text > .txt {
  width: calc(600/1280 * 100%);
}

.visual-home__header__service .wrap .text > .txt p:not(:first-child) {
  margin-top: 40px;
}

.visual-home__header__service .wrap .text .lnk {
  width: calc(600/1280 * 100%);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
}

.visual-home__header__service .wrap .text .lnk_link {
  width: 100%;
  margin: 0;
}

.visual-home__header__service .wrap .text .lnk_link-ttl {
  font-size: 2.4rem;
  font-weight: bold;
}

.visual-home__header__service .wrap .text .lnk_link-lst {
  margin-top: 16px;
}

.visual-home__header__service .wrap .text .lnk_link-lst li {
  margin: 8px 0;
}

.visual-home__header__service .wrap .text .lnk_link-lst li a {
  font-weight: normal;
}

.visual-home__header__service .wrap .text .lnk_link-lst li a .txt {
  color: #fff;
}

.visual-home__header__service .wrap .text .lnk_link-lst li a:hover {
  opacity: .75;
}

.visual-home__header__service .wrap .text .lnk_img {
  width: 100%;
  margin-bottom: 40px;
}

.visual-home__header__service .wrap .text .lnk_img img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 800px) {
  .visual-home__header__service .wrap {
    padding: 21.333333333333336vw 4.266666666666667vw;
  }
  .visual-home__header__service .wrap .title {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 10.666666666666668vw;
    margin-bottom: 0;
  }
  .visual-home__header__service .wrap .title .ttl-main {
    font-size: 4.8vw;
  }
  .visual-home__header__service .wrap .title .ttl-sub {
    font-size: 12.8vw;
  }
  .visual-home__header__service .wrap .text {
    font-size: 4.533333333333333vw;
    width: 100%;
  }
  .visual-home__header__service .wrap .text > .txt {
    width: 100%;
  }
  .visual-home__header__service .wrap .text > .txt p:not(:first-child) {
    margin-top: 6.4vw;
  }
  .visual-home__header__service .wrap .text .lnk {
    width: 100%;
    margin-top: 6.4vw;
  }
  .visual-home__header__service .wrap .text .lnk_link {
    margin-top: 6.4vw;
    width: 100%;
  }
  .visual-home__header__service .wrap .text .lnk_link-ttl {
    font-size: 4.8vw;
  }
  .visual-home__header__service .wrap .text .lnk_img {
    width: 100%;
    margin: 3.2vw auto 0 auto;
  }
}

.visual-home-sect {
  position: relative;
  padding: 160px 0;
  overflow: hidden;
}

.visual-home-sect .inner {
  max-width: 1280px;
  margin: 0 auto;
}

.visual-home-sect.is-home-service {
  background: #fff url("/assets/img/visual/home/home_service_bg.jpg") center top repeat;
  background-size: cover;
}

@media screen and (min-width: 801px) {
  .visual-home-sect.is-home-service .inner {
    padding: 0 120px;
    max-width: 100%;
    margin: 0 auto;
  }
}

.visual-home-sect.office-sect {
  background-color: #f5f5f5;
}

.visual-home-sect.group-sect .group-sect-inner {
  margin: 120px 0 80px 0;
}

.visual-home-sect.group-sect .group-sect-inner:last-child {
  margin-bottom: 0;
}

.visual-home-sect.group-sect .group-sect-image {
  margin: 80px auto;
}

.visual-home-sect.group-sect .group-sect-image img {
  width: 100%;
  height: auto;
}

.visual-home-sect.group-sect .heading-lv2 + .group-sect-list {
  margin-top: 80px;
}

.visual-home-sect.group-sect .group-sect-list {
  text-align: left;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 16px 40px;
  margin: 24px 0 64px 0;
}

.visual-home-sect.group-sect .group-sect-list:last-child {
  margin-bottom: 0;
}

.visual-home-sect.group-sect .group-sect-list > li {
  position: relative;
  width: calc((100% - 80px)/3);
  padding-left: 0.75em;
}

@media screen and (max-width: 800px) {
  .visual-home-sect.group-sect .group-sect-list > li {
    width: 100%;
  }
}

.visual-home-sect.group-sect .group-sect-list > li::before {
  display: block;
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 6px;
  background-color: #e6001a;
  left: 0;
  top: 0.65em;
}

.visual-home-sect.group-sect .group-sect-list > li > a {
  color: inherit;
  text-decoration: underline;
}

.visual-home-sect.group-sect .group-sect-list > li > a:hover {
  text-decoration: none;
}

@media screen and (max-width: 1100px) {
  .visual-home-sect.group-sect .heading-lv2 + .group-sect-list {
    margin-top: 40px;
  }
  .visual-home-sect.group-sect .visual-page-lead {
    padding: 0;
  }
  .visual-home-sect.group-sect .group-sect-inner {
    margin: 64px 0 40px 0;
  }
  .visual-home-sect.group-sect .group-sect-list {
    margin: 16px 0 40px 0;
    gap: 20px;
  }
  .visual-home-sect.group-sect .group-sect-list > li {
    width: 100%;
  }
}

@media screen and (max-width: 1600px) {
  .visual-home-sect {
    padding: 80px 0 0 0;
    margin-bottom: 80px;
  }
  .visual-home-sect .inner {
    padding: 0 16px;
  }
}

.visual-home-sect__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  width: 100%;
}

.visual-home-sect__decoration {
  position: absolute;
  left: 0.85em;
  top: -18px;
  pointer-events: none;
  white-space: nowrap;
  font-size: 32rem;
  color: #E7E7E7;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  line-height: 1;
  z-index: -1;
}

.visual-home-sect__decoration.is-home-service {
  color: #fff;
}

.visual-home-sect__decoration.is-right {
  left: calc(100% + 0.15em);
}

@media screen and (max-width: 800px) {
  .visual-home-sect__decoration {
    font-size: 16rem;
    top: -10px;
  }
}

.visual-home-sect .home-field {
  position: relative;
}

@media screen and (min-width: 671px) {
  .visual-home-sect .home-field {
    width: calc(760/1680 * 100%);
    aspect-ratio: 740 / 465;
  }
  .visual-home-sect .home-field:nth-child(odd) {
    margin-top: 40px;
  }
  .visual-home-sect .home-field:nth-child(even) {
    margin-top: 160px;
  }
  .visual-home-sect .home-field:first-child {
    margin-top: 120px;
  }
  .visual-home-sect .home-field:nth-child(2) {
    margin-top: 240px;
  }
}

@media screen and (min-width: 671px) and (max-width: 1300px) {
  .visual-home-sect .home-field {
    width: calc(100% - 48px);
    margin-right: 24px;
    margin-left: 24px;
  }
  .visual-home-sect .home-field__header {
    padding-right: 160px;
  }
}

.visual-home-sect .home-field__header {
  z-index: 10;
  position: relative;
}

.visual-home-sect .home-field__header .title {
  text-shadow: 2px 2px 0 #fff;
}

.visual-home-sect .home-field__body .image {
  z-index: 1;
  position: absolute;
  width: 100%;
  left: 0;
  top: calc(24/740 * 100%);
}

.visual-home-sect .home-field__body .image img {
  width: 100%;
  height: auto;
}

.visual-home-sect .home-field__body .icon {
  z-index: 10;
  position: absolute;
  display: block;
  top: calc(385/762 * 100%);
  right: calc(40/1280 * 100%);
}

.visual-home-sect .home-field__footer {
  z-index: 10;
  width: 50%;
  position: absolute;
  display: block;
  top: calc(389/465 * 100%);
  right: 0;
}

@media screen and (max-width: 800px) {
  .visual-home-sect .home-field {
    aspect-ratio: auto;
    margin-top: 64px;
  }
  .visual-home-sect .home-field__header {
    padding-top: 0;
  }
  .visual-home-sect .home-field__body {
    margin-top: -4.664723032069971vw;
    position: relative;
    top: 0;
    aspect-ratio: 343 / 265;
  }
  .visual-home-sect .home-field__body .icon {
    top: calc(50% + 8.4vw);
    right: calc(16/343 * 100%);
  }
  .visual-home-sect .home-field__footer {
    margin-top: 20px;
    width: 100%;
    position: static;
  }
}

.visual-hash-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  font-weight: 700;
  gap: 8px 16px;
  line-height: 1.4;
}

.visual-hash-list > li {
  font-size: 1.8rem;
}

@media screen and (max-width: 800px) {
  .visual-hash-list {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 6px 16px;
  }
  .visual-hash-list > li {
    font-size: 1.6rem;
  }
  .visual-hash-list > li .is-font-roboto-c {
    font-size: 1.6rem;
  }
}

/*------------------------------
  新下層
-----------------------------*/
.visual__title {
  height: 500px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  padding-top: 100px;
}

.visual__title.is-service {
  background-image: url("/assets/img/visual/business/visual-service_head.jpg");
}

.visual__title__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}

.visual__title__inner .title {
  font-weight: 900;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  text-align: center;
  color: #fff;
  line-height: 1.2;
}

.visual__title__inner .title .ttl-main {
  width: 100%;
  font-size: 2.2rem;
}

.visual__title__inner .title .ttl-sub {
  width: 100%;
  font-size: 8rem;
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
}

@media screen and (max-width: 800px) {
  .visual__title {
    padding-top: 55px;
    height: 295px;
  }
  .visual__title__inner .title .ttl-main {
    font-size: 1.8rem;
  }
  .visual__title__inner .title .ttl-sub {
    font-size: 4.8rem;
  }
}

#visual.visual .main .visual-page-box {
  padding-top: 160px;
  padding-bottom: 160px;
}

@media screen and (max-width: 800px) {
  #visual.visual .main .visual-page-box {
    padding: 80px 0;
  }
}

.visual-page-box {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

@media screen and (min-width: 801px) {
  .visual-page-box {
    background: #fff url("/assets/img/visual/business/service_line-bg-pc.png") center 40px no-repeat;
    background-size: 1600px auto;
  }
}

.visual-page-box__decoration {
  position: absolute;
  left: -0.075em;
  top: -0.09em;
  pointer-events: none;
  white-space: nowrap;
  font-size: 32rem;
  color: #E7E7E7;
  line-height: 0.9;
  z-index: -1;
}

.visual-page-box__decoration.is-right {
  left: auto;
  right: -0.075em;
  text-align: right;
}

@media screen and (max-width: 800px) {
  .visual-page-box {
    background: #fff url("/assets/img/visual/business/service_line-bg-sp.png") center 0 no-repeat;
    background-size: 375px auto;
  }
  .visual-page-box__decoration {
    font-size: 8.8rem;
  }
}

.visual-page-lead {
  margin: 0 auto;
  max-width: 1280px;
  font-size: 2.4rem;
  text-align: center;
  line-height: 2.4;
}

@media screen and (min-width: 801px) and (max-width: 1300px) {
  .visual-page-lead {
    padding-right: 24px;
    padding-left: 24px;
  }
}

@media screen and (max-width: 1100px) {
  .visual-page-lead {
    font-size: 1.8rem;
    text-align: left;
    padding: 0 16px;
  }
}

.visual-page-sect {
  overflow: hidden;
  margin: 0;
}

.visual-page-sect .inner {
  padding: 0 160px;
  margin: 0 auto;
}

@media screen and (min-width: 801px) and (max-width: 1500px) {
  .visual-page-sect .inner {
    padding: 0;
  }
}

@media screen and (max-width: 1100px) {
  .visual-page-sect {
    margin: 0;
  }
  .visual-page-sect .inner {
    padding: 0;
  }
}

.visual-page-sect .service-field {
  margin: 120px 0;
  position: relative;
  min-height: 666px;
}

@media screen and (min-width: 801px) and (max-width: 1500px) {
  .visual-page-sect .service-field {
    padding-right: 24px;
    padding-left: 24px;
  }
}

.visual-page-sect .service-field p:not(:first-child) {
  margin-top: 24px;
}

.visual-page-sect .service-field__header {
  position: relative;
  z-index: 1;
}

.visual-page-sect .service-field__body {
  padding-top: 64px;
}

.visual-page-sect .service-field__body > .wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.visual-page-sect .service-field__body > .wrap .text {
  width: calc(520/1280 * 100%);
}

.visual-page-sect .service-field__body > .wrap .text .bnr {
  max-width: 520px;
  display: block;
}

.visual-page-sect .service-field__body > .wrap .text .bnr:hover {
  opacity: .75;
}

.visual-page-sect .service-field__body > .wrap .text img {
  max-width: 100%;
  height: auto;
}

.visual-page-sect .service-field__body > .wrap .text > p {
  font-size: 2rem;
}

.visual-page-sect .service-field__body > .wrap .text .sub-txt {
  margin-top: 40px;
}

.visual-page-sect .service-field__body > .wrap .text .sub-txt .sub-txt-ttl {
  margin-bottom: 24px;
}

.visual-page-sect .service-field__body > .wrap .image {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
  width: calc(720/1280 * 100%);
  min-height: 312px;
}

.visual-page-sect .service-field__body > .wrap .image .img {
  margin-top: 80px;
  width: calc(880/1600 * 100%);
  height: 590px;
  position: absolute;
  left: 0;
  top: 0;
}

.visual-page-sect .service-field__body > .wrap .image .img img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
}

.visual-page-sect .service-field__body__second {
  margin-top: 40px;
}

.visual-page-sect .service-field__body__second .title {
  margin-bottom: 40px;
}

.visual-page-sect .service-field__body__second .wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 40px;
}

.visual-page-sect .service-field__body__second .wrap .text {
  width: calc(100% - 440px);
}

.visual-page-sect .service-field__body__second .wrap .image {
  width: 400px;
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
}

.visual-page-sect .service-field__body__second .wrap .image img {
  width: 100%;
  height: auto;
}

@media screen and (min-width: 801px) {
  .visual-page-sect .service-field:nth-child(even) .service-field__header {
    position: relative;
    z-index: 1;
  }
  .visual-page-sect .service-field:nth-child(even) .service-field__body > .wrap .text {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1;
  }
  .visual-page-sect .service-field:nth-child(even) .service-field__body > .wrap .image {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
        -ms-flex-order: 0;
            order: 0;
  }
  .visual-page-sect .service-field:nth-child(even) .service-field__body > .wrap .image .img {
    left: auto;
    right: 0;
    top: 0;
  }
}

@media screen and (max-width: 800px) {
  .visual-page-sect .service-field {
    margin: 64px 0;
    min-height: 0;
    padding: 0 16px;
  }
  .visual-page-sect .service-field p:not(:first-child) {
    margin-top: 16px;
  }
  .visual-page-sect .service-field__header {
    margin-bottom: -16px;
  }
  .visual-page-sect .service-field__body {
    padding-top: 0;
  }
  .visual-page-sect .service-field__body > .wrap .text {
    width: 100%;
  }
  .visual-page-sect .service-field__body > .wrap .text .bnr {
    max-width: 100%;
  }
  .visual-page-sect .service-field__body > .wrap .text > p {
    font-size: 1.8rem;
  }
  .visual-page-sect .service-field__body > .wrap .text .sub-txt .sub-txt-ttl {
    margin-bottom: 20px;
  }
  .visual-page-sect .service-field__body > .wrap .image {
    width: 100%;
    min-height: 0;
    margin-bottom: 24px;
  }
  .visual-page-sect .service-field__body > .wrap .image .img {
    margin: 0 -16px;
    width: calc(100% + 32px);
    height: 250px;
    position: static;
  }
  .visual-page-sect .service-field__body__second {
    margin-top: 40px;
  }
  .visual-page-sect .service-field__body__second .title {
    margin-bottom: 32px;
  }
  .visual-page-sect .service-field__body__second .wrap {
    gap: 16px;
  }
  .visual-page-sect .service-field__body__second .wrap .text {
    width: 100%;
    font-size: 1.6rem;
  }
  .visual-page-sect .service-field__body__second .wrap .image {
    width: 100%;
  }
}

.visual-page-sect .service-blue-field {
  margin: 160px 0;
}

.visual-page-sect .service-blue-field__header {
  margin-bottom: -80px;
  position: relative;
  z-index: 1;
  position: relative;
  z-index: 2;
}

.visual-page-sect .service-blue-field__body {
  background: -webkit-gradient(linear, left top, right top, from(#040b50), color-stop(50%, #0071be), to(#4cacee));
  background: linear-gradient(to right, #040b50 0%, #0071be 50%, #4cacee 100%);
  color: #fff;
  position: relative;
  z-index: 1;
}

.visual-page-sect .service-blue-field__body .visual-decorate-link .txt {
  color: #fff;
}

.visual-page-sect .service-blue-field__body__inner {
  background: transparent url("/assets/img/visual/business/service_lead-to-success_bg.png") right bottom no-repeat;
  background-size: 1023px auto;
  padding: 140px 0 40px 0;
}

@media screen and (min-width: 801px) and (max-width: 1300px) {
  .visual-page-sect .service-blue-field__body__inner {
    padding-right: 24px;
    padding-left: 24px;
  }
}

.visual-page-sect .service-blue-field__body .wrap {
  max-width: 1280px;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.visual-page-sect .service-blue-field__body .wrap .text {
  width: calc(930/1280 * 100%);
  margin: 0 24px 24px 0;
}

.visual-page-sect .service-blue-field__body .wrap .text p {
  font-size: 2rem;
}

.visual-page-sect .service-blue-field__body .wrap .link {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: 0;
}

.visual-page-sect .service-blue-field__body .wrap .link-ttl {
  font-size: 2.4rem;
  font-weight: bold;
}

.visual-page-sect .service-blue-field__body .wrap .link-lst {
  margin-top: 16px;
}

.visual-page-sect .service-blue-field__body .wrap .link-lst li {
  margin: 8px 0;
}

.visual-page-sect .service-blue-field__body .wrap .link-lst li a {
  color: #fff;
  font-weight: normal;
}

.visual-page-sect .service-blue-field__body .wrap .link-lst li a:hover {
  opacity: .75;
}

.visual-page-sect .service-blue-field__body .image {
  max-width: 1280px;
  margin: 40px auto 0 auto;
}

.visual-page-sect .service-blue-field__body .image img {
  width: 50%;
  height: auto;
  margin-right: auto;
}

.visual-page-sect .service-blue-field__body .decoration {
  color: #0071be;
  opacity: .4;
  font-size: 16rem;
  position: absolute;
  left: 0.95em;
  top: -9px;
  pointer-events: none;
  white-space: nowrap;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  line-height: 1;
  z-index: -1;
}

.visual-page-sect .service-blue-field__body .copy {
  position: absolute;
  font-size: 1.4rem;
  text-shadow: 0 0 16px #000;
  bottom: 8px;
  right: 8px;
  font-weight: 900;
}

@media screen and (max-width: 800px) {
  .visual-page-sect .service-blue-field {
    margin: 80px 0;
  }
  .visual-page-sect .service-blue-field__header {
    margin-bottom: -16px;
  }
  .visual-page-sect .service-blue-field__header .heading-lv3 .ttl-sub {
    font-size: 4rem !important;
  }
  .visual-page-sect .service-blue-field__body__inner {
    background-size: auto 400px;
    padding: 56px 16px 278px 16px;
  }
  .visual-page-sect .service-blue-field__body .wrap .text {
    width: 100%;
  }
  .visual-page-sect .service-blue-field__body .wrap .text p {
    font-size: 1.8rem;
  }
  .visual-page-sect .service-blue-field__body .wrap .link {
    width: 100%;
  }
  .visual-page-sect .service-blue-field__body .wrap .link-ttl {
    font-size: 2rem;
  }
  .visual-page-sect .service-blue-field__body .wrap .link .visual-link-arrow::before {
    background-color: #fff;
  }
  .visual-page-sect .service-blue-field__body .wrap .link .visual-link-arrow img {
    -webkit-filter: invert(55%) sepia(100%) saturate(300%) hue-rotate(150deg) brightness(100%) contrast(100%);
            filter: invert(55%) sepia(100%) saturate(300%) hue-rotate(150deg) brightness(100%) contrast(100%);
  }
  .visual-page-sect .service-blue-field__body .image {
    margin: 24px auto 0 auto;
    max-width: 343px;
  }
  .visual-page-sect .service-blue-field__body .image img {
    width: 100%;
    height: auto;
    margin: 0 auto;
  }
  .visual-page-sect .service-blue-field__body .decoration {
    top: -7px;
    font-size: 12rem;
  }
  .visual-page-sect .service-blue-field__body .copy {
    font-size: 1.2rem;
  }
}

/*------------------------------
  トップ
-----------------------------*/
/* トップ-サービス
========================================================= */
#visual .service-sect {
  position: relative;
  color: #fff;
  background-color: #000;
}

#visual .service-sect__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

#visual .service-sect__main {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  text-align: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

#visual .service-sect__title {
  font-weight: bold;
}

#visual .service-sect__text {
  line-height: 2;
}

#visual .service-sect__bg {
  position: relative;
  width: 100%;
  margin-left: -100%;
}

#visual .service-sect__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.is-IE #visual .service-sect__bg img {
  height: auto;
}

#visual .service-sect__button {
  margin-top: 30px;
}

@media screen and (min-width: 801px) {
  #visual .service-sect .service-sect__main {
    padding: 50px 20px;
  }
  #visual .service-sect .service-sect__main .service-sect__title {
    font-size: 3.2rem;
  }
  #visual .service-sect .service-sect__main .service-sect__text {
    font-size: 1.6rem;
    margin-top: 20px;
  }
}

@media screen and (max-width: 800px) {
  #visual .service-sect .service-sect__main {
    padding: 50px 20px;
  }
  #visual .service-sect .service-sect__main .service-sect__title {
    font-size: 3.2rem;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #visual .service-sect .service-sect__main .service-sect__title {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 800px) {
  #visual .service-sect .service-sect__main .service-sect__text {
    font-size: 1.6rem;
    margin-top: 10px;
    text-align: left;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #visual .service-sect .service-sect__main .service-sect__text {
    font-size: 1.2rem;
  }
}

#visual .en-catch img {
  width: auto;
  max-width: 100%;
  height: auto;
}

@media screen and (min-width: 801px) {
  #visual .en-catch {
    max-width: 1302px;
    padding-top: 40px;
  }
  #visual .en-catch img {
    margin-bottom: -2%;
  }
  #visual .en-catch.is-new {
    padding-bottom: 40px;
    padding-top: 0px;
  }
  #visual .en-catch.is-new img {
    margin-top: -0.75%;
    margin-bottom: 0;
  }
}

@media screen and (max-width: 800px) {
  #visual .en-catch {
    max-width: 280px;
    padding-top: 15px;
  }
  #visual .en-catch img {
    margin-bottom: -4%;
  }
  #visual .en-catch.is-new {
    max-width: 280px;
    padding-top: 0px;
  }
  #visual .en-catch.is-new img {
    margin-top: -1.5%;
    margin-bottom: 0;
  }
}

/* トップ-Hibino VFX Studio
========================================================= */
#visual .main-sect {
  position: relative;
  width: 100%;
}

#visual .main-sect__bg {
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  height: 500px;
  background-image: url("/assets/img/visual/vfx_img01.jpg");
}

#visual .main-sect__bg img {
  width: auto;
  max-width: 100%;
  height: auto;
}

#visual .main-sect__inner {
  z-index: 1;
}

#visual .main-sect__main {
  color: #fff;
  background-color: #282828;
}

#visual .main-sect__title {
  font-weight: bold;
}

#visual .main-sect__lead {
  line-height: 2;
}

@media screen and (min-width: 801px) {
  #visual .main-sect__wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  #visual .main-sect__inner {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    padding-left: calc(60/530 * 100%);
  }
  #visual .main-sect__inner.is-vfx {
    width: calc(660/1600 * 100%);
    padding: 0;
    left: 0;
    right: auto;
  }
  #visual .main-sect__inner.is-vfx .main-sect__main {
    padding: 80px 100px;
  }
  #visual .main-sect__main {
    padding: 50px 60px;
  }
}

@media screen and (min-width: 801px) and (max-width: 1199px) {
  #visual .main-sect__main {
    padding: 20px 30px 30px;
  }
}

@media screen and (min-width: 801px) {
  #visual .main-sect__title {
    font-size: 3rem;
  }
}

@media screen and (min-width: 801px) and (max-width: 1199px) {
  #visual .main-sect__title {
    font-size: 2.6rem;
  }
}

@media screen and (min-width: 801px) {
  #visual .main-sect__lead {
    font-size: 1.6rem;
    min-height: 6em;
    margin-top: 25px;
  }
}

@media screen and (min-width: 801px) and (max-width: 1199px) {
  #visual .main-sect__lead {
    line-height: 1.6;
    margin-top: 10px;
  }
}

@media screen and (min-width: 801px) {
  #visual .main-sect__button {
    margin-top: 10px;
  }
  #visual .main-sect__button .basic-button__label {
    max-width: 100%;
  }
}

@media screen and (min-width: 801px) and (max-width: 1199px) {
  #visual .main-sect__button .basic-button__label {
    min-width: 200px;
    max-width: 100%;
    padding: 0 55px 0 35px;
  }
}

@media screen and (max-width: 800px) {
  #visual .main-sect {
    margin-top: 50px;
    background-color: #f5f5f5;
  }
  #visual .main-sect__bg {
    padding-top: calc(600/640 * 100%);
    height: auto;
  }
  #visual .main-sect__bg.is-vfx {
    background-position: 90% top;
    padding-top: calc(320/640 * 100%);
    background-size: 160% auto;
  }
  #visual .main-sect__inner {
    padding-left: 20px;
  }
  #visual .main-sect__inner.is-vfx {
    padding: 0;
  }
  #visual .main-sect__inner.is-vfx .main-sect__button {
    text-align: center;
  }
  #visual .main-sect__inner.is-vfx .main-sect__main {
    margin: 0;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #visual .main-sect__inner.is-vfx .main-sect__main {
    margin: 0;
  }
}

@media screen and (max-width: 800px) {
  #visual .main-sect__main {
    position: relative;
    margin-top: -20%;
    padding: 35px 35px 40px;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #visual .main-sect__main {
    margin-top: -120px;
  }
}

@media screen and (max-width: 800px) {
  #visual .main-sect__title {
    font-size: 3.2rem;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #visual .main-sect__title {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 800px) {
  #visual .main-sect__lead {
    font-size: 1.6rem;
    margin-top: 25px;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #visual .main-sect__lead {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 800px) {
  #visual .main-sect__button {
    margin-top: 20px;
  }
}

/* トップ-レンタル機器
========================================================= */
#visual .rental-sect {
  background: #ddd url("/assets/img/visual/rental_img_bg.svg") right top no-repeat;
  background-size: 50% auto;
  padding-top: 100px;
}

#visual .rental-sect__inner {
  background: #666 url("/assets/img/visual/rental_img.jpg") center center no-repeat;
  background-size: cover;
}

#visual .rental-sect__title {
  font-weight: bold;
  text-align: center;
  font-size: 3.2rem;
  color: #fff;
}

#visual .rental-sect__main {
  max-width: 1400px;
  margin: 0 auto;
}

#visual .rental-sect__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}

#visual .rental-sect__item {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#visual .rental-sect__item .bnr {
  display: block;
}

#visual .rental-sect__item .bnr img {
  width: 100%;
  height: auto;
}

#visual .rental-sect__item a:hover {
  opacity: .65;
}

#visual .rental-sect__item .wrap {
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 32px;
  text-align: center;
}

#visual .rental-sect__item .wrap a {
  color: #fff;
}

#visual .rental-sect__item .wrap__inner {
  width: calc(320/680 * 100%);
}

#visual .rental-sect__item .wrap__title {
  position: relative;
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  padding-bottom: 16px;
}

#visual .rental-sect__item .wrap__title::after {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  width: 100%;
  content: "";
  background: white;
  background: -webkit-gradient(linear, left top, right top, from(white), to(rgba(255, 255, 255, 0.15)));
  background: linear-gradient(90deg, white 0%, rgba(255, 255, 255, 0.15) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1);
}

#visual .rental-sect__item .wrap__tel {
  font-size: 3.4rem;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  letter-spacing: 0.08em;
  margin-top: 32px;
  line-height: 1;
}

@media screen and (max-width: 1400px) {
  #visual .rental-sect__item .wrap__tel {
    font-size: 2.125vw;
  }
}

#visual .rental-sect__item .wrap__tel .icon-tel {
  display: inline-block;
}

#visual .rental-sect__item .wrap__tel .icon-tel img {
  width: 32px;
  height: 28px;
  margin-bottom: 5px;
  vertical-align: middle;
}

#visual .rental-sect__item .wrap__button {
  margin-top: 24px;
}

#visual .rental-sect__item .wrap__button .basic-button,
#visual .rental-sect__item .wrap__button .basic-button__label {
  max-width: 100%;
  width: 100%;
  min-width: 0;
}

#visual .rental-sect__item .wrap__button .basic-button__label {
  padding: 0 45px;
}

@media screen and (max-width: 1100px) {
  #visual .rental-sect__item .wrap {
    margin-top: 24px;
  }
  #visual .rental-sect__item .wrap__inner {
    width: 100%;
  }
  #visual .rental-sect__item .wrap__title {
    font-size: 1.6rem;
    padding-bottom: 8px;
  }
  #visual .rental-sect__item .wrap__tel {
    font-size: 2.8rem;
    margin-top: 10px;
    margin-bottom: 24px;
  }
  #visual .rental-sect__item .wrap__tel .icon-tel img {
    width: 25px;
    height: 23px;
    margin-bottom: 3px;
  }
  #visual .rental-sect__item .wrap__button {
    margin-top: 15px;
  }
  #visual .rental-sect__item .wrap__button .basic-button__label {
    padding: 0 45px;
  }
}

@media screen and (max-width: 800px) {
  #visual .rental-sect__item .wrap__title {
    text-align: left;
  }
}

@media screen and (max-width: 1600px) {
  #visual .rental-sect__main {
    padding-right: 50px;
    padding-left: 50px;
  }
}

@media screen and (min-width: 801px) {
  #visual .rental-sect__inner {
    padding: 100px 0;
  }
  #visual .rental-sect__main {
    margin-top: 50px;
  }
  #visual .rental-sect__item {
    width: calc(680/1400 * 100%);
  }
}

@media screen and (max-width: 800px) {
  #visual .rental-sect {
    padding-top: 80px;
  }
  #visual .rental-sect__inner {
    padding: 70px 0;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #visual .rental-sect__title {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 800px) {
  #visual .rental-sect__main {
    margin-top: 5px;
    padding-right: 20px;
    padding-left: 20px;
  }
  #visual .rental-sect__item {
    margin: 32px auto 30px auto;
  }
}

/* トップ-カタログ
========================================================= */
#visual .catalogw-sect {
  background-color: #f5f5f5;
}

#visual .catalogw-sect__inner {
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1400px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

#visual .catalogw-sect__title {
  font-weight: bold;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  width: 12.5%;
  font-size: 3.2rem;
}

#visual .catalogw-sect__main {
  width: 87.5%;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}

#visual .catalogw-sect__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}

#visual .catalogw-sect__list > li {
  width: calc(550/1132 * 100%);
}

#visual .catalogw-sect__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#visual .catalogw-sect__thumb {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  width: calc(229/550 * 100%);
}

#visual .catalogw-sect__thumb img {
  width: 100%;
  height: auto;
}

#visual .catalogw-sect__lead {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  line-height: 1.6;
  width: calc(290/550 * 100%);
}

#visual .catalogw-sect__lead__tit {
  font-size: 2.2rem;
  line-height: 1.4;
  margin-bottom: 20px;
}

#visual .catalogw-sect__lead .basic-button {
  width: 90%;
}

#visual .catalogw-sect__lead .basic-button__label {
  min-width: 0;
  width: 100%;
}

#visual .catalogw-sect__other a {
  text-decoration: underline;
}

#visual .catalogw-sect__other a:hover {
  text-decoration: none;
}

#visual .catalog-sect,
#visual-rental .catalog-sect {
  background-color: #f5f5f5;
}

#visual .catalog-sect .catalog-sect__inner,
#visual-rental .catalog-sect .catalog-sect__inner {
  margin: 0 auto;
}

#visual .catalog-sect .catalog-sect__thumb img,
#visual-rental .catalog-sect .catalog-sect__thumb img {
  width: 100%;
  height: auto;
}

#visual .catalog-sect .catalog-sect__textblock .catalog-sect__title,
#visual-rental .catalog-sect .catalog-sect__textblock .catalog-sect__title {
  font-weight: bold;
}

#visual .catalog-sect .catalog-sect__textblock .catalog-sect__lead,
#visual-rental .catalog-sect .catalog-sect__textblock .catalog-sect__lead {
  line-height: 2;
}

#visual .catalog-sect .catalog-sect__textblock .catalog-sect__other a,
#visual-rental .catalog-sect .catalog-sect__textblock .catalog-sect__other a {
  text-decoration: underline;
}

#visual .catalog-sect .catalog-sect__textblock .catalog-sect__other a:hover,
#visual-rental .catalog-sect .catalog-sect__textblock .catalog-sect__other a:hover {
  text-decoration: none;
}

@media screen and (min-width: 801px) {
  #visual .catalogw-sect {
    padding: 100px 40px;
  }
  #visual .catalogw-sect__lead {
    font-size: 1.6rem;
    margin-top: 10px;
  }
  #visual .catalogw-sect__button {
    margin-top: 30px;
  }
  #visual .catalogw-sect__pdflink {
    font-size: 1.6rem;
    margin-top: 25px;
  }
  #visual .catalogw-sect__other {
    font-size: 1.6rem;
    margin-top: 10px;
  }
  #visual .catalog-sect,
  #visual-rental .catalog-sect {
    padding: 100px 40px;
  }
  #visual .catalog-sect .catalog-sect__inner,
  #visual-rental .catalog-sect .catalog-sect__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    max-width: 1040px;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #visual .catalog-sect .catalog-sect__thumb,
  #visual-rental .catalog-sect .catalog-sect__thumb {
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    width: 260px;
    padding-right: 80px;
  }
}

@media screen and (min-width: 801px) and (max-width: 1100px) {
  #visual .catalog-sect .catalog-sect__thumb,
  #visual-rental .catalog-sect .catalog-sect__thumb {
    width: 200px;
    padding-right: 20px;
  }
}

@media screen and (min-width: 801px) {
  #visual .catalog-sect .catalog-sect__textblock,
  #visual-rental .catalog-sect .catalog-sect__textblock {
    padding-right: 20px;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  #visual .catalog-sect .catalog-sect__textblock .catalog-sect__title,
  #visual-rental .catalog-sect .catalog-sect__textblock .catalog-sect__title {
    font-size: 3.2rem;
  }
  #visual .catalog-sect .catalog-sect__textblock .catalog-sect__lead,
  #visual-rental .catalog-sect .catalog-sect__textblock .catalog-sect__lead {
    font-size: 1.6rem;
    margin-top: 10px;
  }
  #visual .catalog-sect .catalog-sect__textblock .catalog-sect__button,
  #visual-rental .catalog-sect .catalog-sect__textblock .catalog-sect__button {
    margin-top: 30px;
  }
  #visual .catalog-sect .catalog-sect__textblock .catalog-sect__pdflink,
  #visual-rental .catalog-sect .catalog-sect__textblock .catalog-sect__pdflink {
    font-size: 1.6rem;
    margin-top: 25px;
  }
  #visual .catalog-sect .catalog-sect__textblock .catalog-sect__other,
  #visual-rental .catalog-sect .catalog-sect__textblock .catalog-sect__other {
    font-size: 1.6rem;
    margin-top: 10px;
  }
  #visual-rental.visual-piu .catalog-sect {
    padding: 40px;
  }
  #visual-rental.visual-piu .catalog-sect .catalog-sect__inner {
    max-width: 1000px;
  }
  #visual-rental.visual-piu .catalog-sect .catalog-sect__thumb {
    width: 200px;
    padding-right: 0;
  }
}

@media screen and (min-width: 801px) and (max-width: 1100px) {
  #visual-rental.visual-piu .catalog-sect .catalog-sect__thumb {
    padding-right: 0;
  }
}

@media screen and (min-width: 801px) {
  #visual-rental.visual-piu .catalog-sect .catalog-sect__textblock .catalog-sect__title {
    font-size: 2.4rem;
  }
  #visual-rental.visual-piu .catalog-sect .catalog-sect__textblock .catalog-sect__lead {
    margin-right: 48px;
  }
}

@media screen and (max-width: 800px) {
  #visual .catalogw-sect {
    padding: 50px 20px;
  }
  #visual .catalogw-sect__title {
    width: 100%;
    text-align: center;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #visual .catalogw-sect__title {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 800px) {
  #visual .catalogw-sect__main {
    width: 100%;
  }
  #visual .catalogw-sect__list {
    width: 100%;
  }
  #visual .catalogw-sect__list > li {
    width: 100%;
    margin-top: 30px;
  }
  #visual .catalogw-sect__lead {
    font-size: 1.6rem;
    margin-top: 15px;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #visual .catalogw-sect__lead {
    width: 55%;
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 800px) {
  #visual .catalogw-sect__lead__tit {
    font-size: 1.6rem;
    margin-bottom: 0;
  }
  #visual .catalogw-sect__thumb {
    margin-top: 15px;
    text-align: center;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #visual .catalogw-sect__thumb {
    width: 42%;
  }
}

@media screen and (max-width: 800px) {
  #visual .catalogw-sect__button {
    margin-top: 10px;
    text-align: center;
  }
  #visual .catalogw-sect__button .basic-button__label {
    padding: 0 15px;
    max-width: 100%;
  }
  #visual .catalogw-sect__pdflink {
    font-size: 1.6rem;
    margin-top: 10px;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #visual .catalogw-sect__pdflink {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 800px) {
  #visual .catalogw-sect__other {
    font-size: 1.6rem;
    margin-top: 10px;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #visual .catalogw-sect__other {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 800px) {
  #visual .catalog-sect,
  #visual-rental .catalog-sect {
    padding: 70px 20px;
  }
  #visual .catalog-sect .catalog-sect__thumb,
  #visual-rental .catalog-sect .catalog-sect__thumb {
    margin-top: 15px;
    text-align: center;
  }
  #visual .catalog-sect .catalog-sect__thumb img,
  #visual-rental .catalog-sect .catalog-sect__thumb img {
    width: 140px;
  }
  #visual .catalog-sect .catalog-sect__textblock .catalog-sect__title,
  #visual-rental .catalog-sect .catalog-sect__textblock .catalog-sect__title {
    font-size: 3.2rem;
    text-align: center;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #visual .catalog-sect .catalog-sect__textblock .catalog-sect__title,
  #visual-rental .catalog-sect .catalog-sect__textblock .catalog-sect__title {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 800px) {
  #visual .catalog-sect .catalog-sect__textblock .catalog-sect__lead,
  #visual-rental .catalog-sect .catalog-sect__textblock .catalog-sect__lead {
    font-size: 1.6rem;
    margin-top: 15px;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #visual .catalog-sect .catalog-sect__textblock .catalog-sect__lead,
  #visual-rental .catalog-sect .catalog-sect__textblock .catalog-sect__lead {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 800px) {
  #visual .catalog-sect .catalog-sect__textblock .catalog-sect__button,
  #visual-rental .catalog-sect .catalog-sect__textblock .catalog-sect__button {
    margin-top: 15px;
    text-align: center;
  }
  #visual .catalog-sect .catalog-sect__textblock .catalog-sect__pdflink,
  #visual-rental .catalog-sect .catalog-sect__textblock .catalog-sect__pdflink {
    font-size: 1.6rem;
    margin-top: 25px;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #visual .catalog-sect .catalog-sect__textblock .catalog-sect__pdflink,
  #visual-rental .catalog-sect .catalog-sect__textblock .catalog-sect__pdflink {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 800px) {
  #visual .catalog-sect .catalog-sect__textblock .catalog-sect__other,
  #visual-rental .catalog-sect .catalog-sect__textblock .catalog-sect__other {
    font-size: 1.6rem;
    margin-top: 15px;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #visual .catalog-sect .catalog-sect__textblock .catalog-sect__other,
  #visual-rental .catalog-sect .catalog-sect__textblock .catalog-sect__other {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 800px) {
  #visual-rental.visual-piu .catalog-sect {
    padding: 24px;
  }
}

/* トップ-事業所
========================================================= */
#visual .office-sect__title {
  font-weight: bold;
  text-align: center;
}

#visual .office-sect__list.is-new .office-sect__item__tit {
  border-bottom: 2px solid #fff;
}

#visual .office-sect__item {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#visual .office-sect__item__txtbox {
  color: #fff;
  background-color: #282828;
}

#visual .office-sect__item__tit {
  font-weight: bold;
}

#visual .office-sect__item__address {
  line-height: 2;
}

#visual .office-sect__item__address b {
  display: block;
}

#visual .office-sect__item__button {
  text-align: center;
  background-color: #eee;
}

#visual .office-sect__item__button a {
  display: block;
}

#visual .office-sect__item__button a .pdf-icon__link {
  opacity: 1;
  color: #0071be;
}

#visual .office-sect__item__button a:hover {
  opacity: .7;
}

#visual .office-sect__item__map {
  line-height: 1;
  background-color: #282828;
}

#visual .office-sect__item__map iframe {
  width: 100%;
  height: 100%;
  vertical-align: top;
}

#visual .office-sect__item__mapcamvas {
  position: relative;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 801px) {
  #visual .office-sect {
    padding-top: 240px;
  }
  #visual .office-sect__inner {
    margin-right: -56px;
    margin-left: -56px;
  }
}

@media screen and (min-width: 801px) and (min-width: 801px) and (max-width: 1300px) {
  #visual .office-sect__inner {
    margin-right: 0;
    margin-left: 0;
    padding-right: 32px;
    padding-left: 32px;
  }
}

@media screen and (min-width: 801px) {
  #visual .office-sect__title {
    font-size: 3.2rem;
  }
  #visual .office-sect__main {
    margin-top: 80px;
  }
  #visual .office-sect__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 0 -30px;
    margin-top: -60px;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}

@media screen and (min-width: 801px) and (max-width: 1100px) {
  #visual .office-sect__list {
    margin-right: -10px;
    margin-left: -10px;
  }
}

@media screen and (min-width: 801px) {
  #visual .office-sect__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 50%;
    margin-top: 60px;
    padding: 0 30px;
  }
}

@media screen and (min-width: 801px) and (min-width: 801px) and (max-width: 1300px) {
  #visual .office-sect__item {
    padding: 0 15px;
  }
}

@media screen and (min-width: 801px) and (max-width: 1100px) {
  #visual .office-sect__item {
    display: block;
    padding: 0 10px;
  }
}

@media screen and (min-width: 801px) {
  #visual .office-sect__item__txtbox {
    width: 50%;
    height: 100%;
    padding: 50px 40px;
  }
}

@media screen and (min-width: 801px) and (max-width: 1299px) {
  #visual .office-sect__item__txtbox {
    padding: 20px 20px;
  }
}

@media screen and (min-width: 801px) and (max-width: 1100px) {
  #visual .office-sect__item__txtbox {
    width: auto;
    height: auto;
  }
}

@media screen and (min-width: 801px) {
  #visual .office-sect__item__tit {
    font-size: 2.8rem;
    padding-bottom: 10px;
  }
}

@media screen and (min-width: 801px) and (max-width: 1299px) {
  #visual .office-sect__item__tit {
    font-size: 2.2rem;
    padding-left: 0;
  }
}

@media screen and (min-width: 801px) {
  #visual .office-sect__item__address {
    font-size: 1.6rem;
    margin-top: 20px;
  }
  #visual .office-sect__item__address b {
    display: block;
    line-height: 1.4;
    margin: 20px 0 15px 0;
  }
  #visual .office-sect__item__button {
    font-size: 1.6rem;
    margin-top: 30px;
  }
  #visual .office-sect__item__button a {
    padding: 18px 10px;
  }
  #visual .office-sect__item__map {
    width: 50%;
    height: 100%;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

@media screen and (min-width: 801px) and (max-width: 1100px) {
  #visual .office-sect__item__map {
    width: auto;
    height: 300px;
  }
}

@media screen and (max-width: 800px) {
  #visual .office-sect {
    margin-top: 0;
  }
  #visual .office-sect__title {
    font-size: 3.2rem;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #visual .office-sect__title {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 800px) {
  #visual .office-sect__main {
    margin-top: 64px;
  }
  #visual .office-sect__item {
    margin-top: 30px;
    border: 1px solid #282828;
  }
  #visual .office-sect__item:first-child {
    margin-top: 0;
  }
  #visual .office-sect__item__txtbox {
    padding: 30px 30px;
  }
  #visual .office-sect__item__tit {
    font-size: 2.8rem;
    padding-bottom: 10px;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #visual .office-sect__item__tit {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 800px) {
  #visual .office-sect__item__address {
    font-size: 1.6rem;
    margin-top: 20px;
  }
  #visual .office-sect__item__address b {
    margin: 10px 0;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #visual .office-sect__item__address {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 800px) {
  #visual .office-sect__item__button {
    font-size: 1.6rem;
    margin-top: 20px;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #visual .office-sect__item__button {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 800px) {
  #visual .office-sect__item__button a {
    padding: 18px 18px;
  }
  #visual .office-sect__item__map iframe {
    height: 200px;
  }
  #visual .office-sect__item__mapcamvas {
    height: 200px;
  }
}

/*------------------------------
  レンタル
-----------------------------*/
@media screen and (max-width: 1299px) and (min-width: 1101px) {
  #visual-rental .tab-box .tab-list {
    padding-right: 5px;
    padding-left: 5px;
  }
}

@media screen and (max-width: 1100px) {
  #visual-rental .tab-box .tab-list {
    padding-left: 0;
    padding-right: 0;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  #visual-rental .tab-box .tab-list:after {
    display: none;
  }
}

#visual-rental .tab-box .tab-list > li {
  font-size: 1.5rem;
  line-height: 1.4;
}

#visual-rental .tab-box .tab-list > li a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  padding: 25px 10px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 1299px) and (min-width: 671px) {
  #visual-rental .tab-box .tab-list > li {
    font-size: 1.3rem;
    padding-right: 2px;
    padding-left: 2px;
  }
  #visual-rental .tab-box .tab-list > li a {
    padding: 15px 5px;
  }
}

@media screen and (max-width: 1100px) and (min-width: 671px) {
  #visual-rental .tab-box .tab-list > li {
    font-size: 1.2rem;
    width: 25%;
    margin-top: 2px;
    -webkit-box-flex: 0;
    -webkit-flex: none;
        -ms-flex: none;
            flex: none;
  }
  #visual-rental .tab-box .tab-list > li.is-current a:before {
    display: none;
  }
  #visual-rental .tab-box .tab-list > li.is-current a:after {
    margin-bottom: 5px;
  }
}

@media screen and (max-width: 800px) {
  #visual-rental .tab-box .tab-list > li {
    font-size: 1.2rem;
    -webkit-box-flex: 0;
    -webkit-flex: none;
        -ms-flex: none;
            flex: none;
  }
  #visual-rental .tab-box .tab-list > li a {
    min-height: 5em;
    padding: 10px 5px;
  }
}

@media screen and (max-width: 670px) {
  #visual-rental .tab-box .tab-list > li {
    width: 50%;
  }
}

@media screen and (max-width: 374px) {
  #visual-rental .tab-box .tab-list > li {
    font-size: 1.1rem;
    -webkit-box-flex: 0;
    -webkit-flex: none;
        -ms-flex: none;
            flex: none;
  }
  #visual-rental .tab-box .tab-list > li a {
    padding: 10px 5px;
  }
}

#visual-rental .page-heading-level-2 {
  margin-top: 20px;
}

@media screen and (max-width: 670px) {
  #visual-rental .page-heading-level-2 {
    margin-top: 15px;
  }
}

#visual-rental .column-layout__item--image .image-box {
  margin-top: 25px;
}

@media screen and (max-width: 670px) {
  #visual-rental .column-layout__item--image .image-box {
    margin-top: 20px;
  }
}

#visual-rental .page-heading-level-2 {
  margin-top: 20px;
}

#visual-rental .link-menu-list {
  margin-bottom: 80px;
}

#visual-rental .link-menu-list.is-piu {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

#visual-rental .link-menu-list.is-piu > li {
  min-width: 33.333%;
  max-width: 33.333%;
  font-size: 1.8rem;
}

#visual-rental .link-menu-list.is-piu > li a {
  color: #001F51;
}

#visual-rental .link-menu-list.is-piu .link-menu__icon {
  width: 12px;
  top: calc(50% - 15px);
  right: 16px;
}

@media screen and (max-width: 670px) {
  #visual-rental .link-menu-list.is-piu .link-menu__icon {
    width: 8px;
    right: 8px;
    top: calc(50% - 10px);
  }
}

@media screen and (max-width: 800px) {
  #visual-rental .link-menu-list {
    margin-bottom: 30px;
  }
  #visual-rental .link-menu-list > li {
    width: 49.999%;
    min-width: 49.999%;
    max-width: 49.999%;
  }
  #visual-rental .link-menu-list > li:nth-child(2n)::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    content: '';
    background: #282828;
  }
  #visual-rental .link-menu-list > li:nth-child(3n)::after {
    display: none;
  }
  #visual-rental .link-menu-list.is-piu > li {
    width: 49.999%;
    min-width: 49.999%;
    max-width: 49.999%;
  }
  #visual-rental .link-menu-list.is-piu > li:nth-child(3n)::after {
    display: block;
  }
  #visual-rental .page-heading-level-2 {
    margin-top: 20px;
  }
}

@media screen and (max-width: 670px) {
  .catalog-item-name {
    font-size: 2.2rem;
    display: block;
  }
}

.catalog-item-maker {
  font-size: 1.8rem;
}

@media screen and (min-width: 1101px) {
  .catalog-item-maker::before {
    content: " / ";
    margin-left: 1em;
  }
}

@media screen and (max-width: 1100px) {
  .catalog-item-maker {
    display: block;
    margin-top: 5px;
  }
}

@media screen and (max-width: 670px) {
  .catalog-item-maker {
    font-size: 1.6rem;
    bottom: 20px;
  }
}

.catalog-item__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin: 20px 0 30px 0;
}

@media screen and (max-width: 1100px) {
  .catalog-item__head {
    display: block;
  }
}

@media screen and (max-width: 670px) {
  .catalog-item__head {
    margin: 5px 0 10px 0;
  }
}

.catalog-item-category {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-right: 5px;
}

@media screen and (max-width: 670px) {
  .catalog-item-category {
    font-size: 1.1rem;
  }
}

.catalog-item-category > li a {
  color: inherit;
}

.catalog-item-category > li a:hover {
  text-decoration: underline;
}

.catalog-item-category > li + li::before {
  content: ">";
  margin: 0 10px;
  color: #ccc;
}

.catalog-item-tag {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 10px;
}

@media screen and (max-width: 1100px) {
  .catalog-item-tag {
    margin-top: 15px;
  }
}

@media screen and (max-width: 670px) {
  .catalog-item-tag {
    margin-top: 5px;
  }
}

.catalog-item-tag > li {
  margin-right: 5px;
  margin-bottom: 5px;
}

.catalog-item-tag > li:last-child {
  margin-right: 0;
}

.catalog-item-tag > li a {
  display: block;
  color: #0071be;
  border: 1px #0071be solid;
  font-size: 1.4rem;
  padding: 5px 8px;
  line-height: 1;
}

.catalog-item-tag > li a:hover {
  opacity: .65;
}

@media screen and (max-width: 670px) {
  .catalog-item-tag > li a {
    font-size: 1.1rem;
  }
}

.catalog-item-copy > li {
  font-size: 2.0rem;
  font-weight: bold;
  position: relative;
  margin: 10px 0 10px 1.25em;
}

@media screen and (max-width: 670px) {
  .catalog-item-copy > li {
    font-size: 1.5rem;
  }
}

.catalog-item-copy > li::before {
  position: absolute;
  content: "";
  display: block;
  background-color: #e6001a;
  width: 6px;
  height: 6px;
  left: -0.75em;
  top: 0.675em;
}

.catalog-item-list {
  margin: 0 10px;
}

.catalog-item-list > li {
  position: relative;
  padding-left: 1em;
  margin-bottom: 10px;
}

.catalog-item-list > li::before {
  display: block;
  position: absolute;
  content: "";
  width: 4px;
  height: 4px;
  background-color: #282828;
  top: 12px;
  left: 5px;
}

.catalog-item-movie {
  max-width: 800px;
  margin: 30px auto;
}

@media screen and (max-width: 670px) {
  .catalog-item-movie {
    margin-top: 15px;
  }
}

.catalog-item-movie .movie {
  width: 100%;
  position: relative;
  padding-top: calc(465/800 * 100%);
}

.catalog-item-movie .movie iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.catalog-item__body {
  margin-bottom: 30px;
}

.catalog-item__body .page-heading-level-3 {
  margin-bottom: 20px;
}

@media screen and (max-width: 670px) {
  .catalog-item__body .page-heading-level-3 {
    margin-bottom: 10px;
  }
}

.catalog-item__body .has-table {
  margin-right: 10px;
  margin-left: 10px;
}

.catalog-item__body.is-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.catalog-item__body.is-flex .is-flex-inner {
  width: 100%;
}

.catalog-item__body.is-flex .is-flex-inner + .is-flex-inner {
  margin-left: 4%;
}

@media screen and (max-width: 670px) {
  .catalog-item__body {
    margin-bottom: 30px;
  }
}

.catalog-item-tableimage {
  margin: 30px 0;
  overflow-y: auto;
}

.catalog-item-tableimage img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-width: 110%;
}

@media screen and (max-width: 1600px) {
  .catalog-item-tableimage img {
    max-width: 140%;
  }
}

@media screen and (max-width: 800px) {
  .catalog-item-tableimage img {
    max-width: 240%;
  }
}

@media screen and (max-width: 400px) {
  .catalog-item-tableimage img {
    max-width: 400%;
  }
}

.catalog-item-slider {
  position: relative;
  padding-top: calc(340/540 * 100%);
  border: 1px #282828 solid;
  overflow: hidden;
  max-height: 380px;
}

.catalog-item-slider > ul {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

.catalog-item-slider > ul > li {
  position: absolute;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  opacity: 0;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.catalog-item-slider > ul > li.is-active {
  opacity: 1;
}

.catalog-item-slider > ul > li img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}

.catalog-item-image {
  width: 100%;
  position: relative;
  display: block;
}

.catalog-item-image > ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.catalog-item-image > ul.is-3col > li {
  width: calc(33.333% - 6px);
}

.catalog-item-image > ul.is-3col > li + li {
  margin-left: 9px;
}

.catalog-item-image > ul > li {
  width: calc(25% - 6px);
  margin-top: 20px;
  border: 1px #282828 solid;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  max-height: 100px;
}

.catalog-item-image > ul > li:hover {
  cursor: pointer;
}

.catalog-item-image > ul > li + li {
  margin-left: 8px;
}

.catalog-item-image > ul > li img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}

.catalog-item-image > ul > li:not(.is-current) {
  opacity: .65;
  border-color: #ccc;
}

.catalog-contact {
  background: #282828 url("/assets/img/visual/visual-contact_bg.svg") right top no-repeat;
  background-size: contain;
  text-align: center;
  color: #fff;
  padding: 52px 0;
  margin: 60px 0;
  position: relative;
  overflow: hidden;
}

.catalog-contact a {
  color: #fff;
}

.catalog-contact__title {
  font-size: 2.4rem;
  margin-bottom: 40px;
  position: relative;
  z-index: 10;
  line-height: 1.4;
}

.catalog-contact__deco {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 13.5rem;
  color: #444;
  position: absolute;
  left: -10px;
  top: -30px;
  line-height: 1;
  z-index: 1;
}

.catalog-contact__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.catalog-contact__body .tel {
  border-right: 1px #fff solid;
  padding-right: 40px;
}

.catalog-contact__body .tel__title {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 16px;
}

.catalog-contact__body .tel__number {
  font-size: 3.4rem;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
}

.catalog-contact__body .tel__number .icon-tel {
  display: inline-block;
}

.catalog-contact__body .tel__number .icon-tel img {
  width: 32px;
  height: 28px;
  margin-bottom: 5px;
  vertical-align: middle;
}

.catalog-contact__body .tel__text {
  margin-top: 10px;
  font-size: 1.4rem;
}

.catalog-contact__body .tel__text .note {
  font-size: 1.2rem;
}

.catalog-contact__body .mail {
  padding-left: 40px;
}

.catalog-contact__body .mail__title {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 16px;
}

.catalog-contact__body .mail__button a {
  display: block;
}

.catalog-contact__body .mail__button .basic-button__label {
  padding: 0 45px;
}

@media screen and (max-width: 800px) {
  .catalog-contact {
    background-image: url("/assets/img/visual/visual-contact_bg-sp.svg");
    padding: 64px 15px 30px 15px;
    margin: 30px 0;
  }
  .catalog-contact__title {
    font-size: 1.8rem;
    margin-bottom: 0;
  }
  .catalog-contact__deco {
    font-size: 8rem;
    left: -5px;
    top: -18px;
  }
  .catalog-contact__body > * {
    padding: 0 0 38px 0;
    width: 100%;
    margin: 35px 0 0 0;
  }
  .catalog-contact__body .tel {
    border-right: none;
    border-bottom: 1px #fff solid;
    padding-right: 0;
  }
  .catalog-contact__body .tel__title {
    font-size: 1.6rem;
    margin-bottom: 10px;
  }
  .catalog-contact__body .tel__number {
    font-size: 2.8rem;
  }
  .catalog-contact__body .tel__number .icon-tel img {
    width: 26px;
    height: 24px;
  }
  .catalog-contact__body .tel__text {
    margin-top: 8px;
    font-size: 1.2rem;
    line-height: 2;
  }
  .catalog-contact__body .tel__text .note {
    font-size: 1rem;
  }
  .catalog-contact__body .mail {
    padding-left: 0;
  }
  .catalog-contact__body .mail__title {
    font-size: 1.6rem;
    margin-bottom: 10px;
  }
  .catalog-contact__body .mail__button .basic-button__label {
    width: 100%;
    max-width: 100%;
  }
}

/*------------------------------
  レンタル映像機器の調整
------------------------------*/
/*-- 注意事項上余白の調整 --*/
#visual-rental .is-tablefoot {
  margin-top: 10px !important;
}

/*-- 前後のブロックの間に罫線を追加 --*/
#visual-rental .page-content-level-1 + .page-content-level-1 {
  padding-top: 40px;
  border-top: 1px solid #282828;
}

/*-- より細かいデータの余白を調整 --*/
.visual-rental-detail-content {
  margin-top: 40px;
}

@media screen and (max-width: 670px) {
  .visual-rental-detail-content {
    margin-top: 20px;
  }
}

.visual-rental-detail-content:first-child {
  margin-top: 0;
}

.visual-rental-detail-content h5 {
  margin-bottom: 5px;
}

.visual-rental-detail-content .custom-table1 + .text-box {
  margin-top: 10px !important;
}

.visual-rental-detail-content + .text-box {
  margin-top: 40px !important;
}

@media screen and (max-width: 670px) {
  .visual-rental-detail-content + .text-box {
    margin-top: 20px !important;
  }
}

/*-- 仕様表 --*/
.has-table {
  margin-bottom: 30px;
}

.has-table h5 {
  font-size: 1.8rem;
  margin-bottom: 7px;
}

@media screen and (max-width: 670px) {
  .has-table h5 {
    font-size: 1.4rem;
  }
}

.has-table table {
  width: 100%;
  border-collapse: collapse;
}

.has-table table + table {
  margin-top: 30px;
}

.has-table table th {
  line-height: 1.6;
  width: 280px;
  padding: 10px 15px;
  vertical-align: top;
  border: 1px solid #ddd;
  background: #eee;
}

.has-table table th[colspan] {
  background-color: #ccc;
  border-color: #bbb;
}

.has-table table td {
  line-height: 1.6;
  border: 1px solid #ddd;
  background: #fff;
  padding: 10px 15px;
}

.has-table table th,
.has-table table td {
  text-align: left;
}

.has-table table th.center,
.has-table table td.center {
  text-align: center !important;
}

.has-table table th.right,
.has-table table td.right {
  text-align: right !important;
}

.has-table table th.empty,
.has-table table td.empty {
  padding: 0;
  border: 0;
}

@media screen and (max-width: 1100px) {
  .has-table.is-spec table {
    display: block;
  }
  .has-table.is-spec table tbody,
  .has-table.is-spec table tr,
  .has-table.is-spec table th,
  .has-table.is-spec table td {
    display: block;
    width: 100%;
  }
  .has-table.is-spec table th,
  .has-table.is-spec table td {
    margin-top: -1px;
  }
}

@media screen and (max-width: 670px) {
  .has-table {
    margin-bottom: 20px;
  }
  .has-table table th,
  .has-table table td {
    font-size: 1.5rem;
    padding: 10px;
  }
  .has-table.is-price table th {
    padding: 10px 5px;
  }
  .has-table.is-price table td {
    padding: 10px 2px;
  }
}

/*-- 一覧 --*/
.rental-item-sect__title {
  font-size: 3.2rem;
  text-align: center;
  padding-bottom: 15px;
}

.rental-item-sect__main {
  margin-top: 30px;
  margin-bottom: 65px;
}

.rental-item-sect__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 0 -1%;
}

.rental-item-sect__list > li {
  margin: 1%;
  position: relative;
  width: 18%;
  padding: 0;
}

.rental-item-sect__list > li a {
  color: inherit;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.rental-item-sect__list > li .tit {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  width: 100%;
  font-size: 1.8rem;
  font-weight: bold;
  margin-top: 15px;
  line-height: 1.2;
  word-wrap: break-word;
}

@media screen and (max-width: 1280px) {
  .rental-item-sect__list > li .tit {
    font-size: 1.6rem;
  }
}

.rental-item-sect__list > li .txt {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
  width: 100%;
  margin-top: 5px;
}

.rental-item-sect__list > li .img {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  width: 100%;
  height: 200px;
  text-align: center;
  border: 1px #ddd solid;
  position: relative;
  padding: 5px;
}

.rental-item-sect__list > li .img > img {
  position: relative;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  top: 50%;
}

.rental-item-sect__list > li .button-wrap {
  text-align: right;
  position: absolute;
  right: 0;
  bottom: 0;
}

.rental-item-sect__list > li .basic-button.is-icon {
  background-color: #eee;
  width: 30px;
  height: 30px;
}

.rental-item-sect__list > li .basic-button.is-icon .basic-button-inner img {
  width: 80%;
  margin-top: 3px;
}

@media screen and (min-width: 801px) {
  .rental-item-sect__list.is-index {
    margin: 0 -0.4%;
  }
  .rental-item-sect__list.is-index > li {
    margin: 0.4%;
    width: 13.48%;
  }
}

.rental-item-sect__list.is-index > li a {
  display: block;
}

.rental-item-sect__list.is-index > li .tit {
  position: absolute;
  text-align: center;
  top: 10px;
  padding: 0 5px;
}

.rental-item-sect__list.is-index > li .img {
  height: 225px;
  padding: 65px 20px 20px 20px;
}

.rental-item-sect__button {
  margin: 40px auto;
  text-align: center;
}

@media screen and (max-width: 800px) {
  .rental-item-sect__title {
    font-size: 1.8rem;
  }
  .rental-item-sect__main {
    margin-top: 10px;
  }
  .rental-item-sect__list > li {
    width: 48%;
    margin-top: 10px;
  }
  .rental-item-sect__list > li .tit {
    font-size: 1.2rem;
    margin-top: 10px;
  }
  .rental-item-sect__list > li .txt {
    font-size: 1.2rem;
    margin-top: 0;
  }
  .rental-item-sect__list > li .img {
    height: 105px;
    padding: 2px;
  }
  .rental-item-sect__list > li .basic-button.is-icon {
    width: 20px;
    height: 20px;
  }
  .rental-item-sect__list.is-index > li .tit {
    top: 5px;
  }
  .rental-item-sect__list.is-index > li .img {
    height: 135px;
    padding-top: 40px;
    padding-bottom: 10px;
  }
  .rental-item-sect__button {
    margin: 30px auto;
  }
}

@media screen and (max-width: 670px) {
  .rental-item-sect__title {
    font-size: 1.8rem;
  }
  .rental-item-sect__main {
    margin-bottom: 40px;
  }
}

/* --検索枠-- */
section:not(:first-child) .search-input-area {
  margin-top: 60px;
  margin-bottom: 0;
}

@media screen and (max-width: 800px) {
  section:not(:first-child) .search-input-area {
    margin-top: 30px;
  }
}

.search-input-area {
  background-color: #eee;
  padding: 15px 20px 20px 20px;
  margin-bottom: 60px;
}

.search-input-area__title {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 10px;
}

.search-input-area__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.search-input-area__inner .search-select {
  width: 25%;
  padding-right: 10px;
  position: relative;
}

.search-input-area__inner .search-select::after {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  right: 20px;
  width: 10px;
  height: 10px;
  margin-top: -7px;
  border-top: 2px solid #0071be;
  border-right: 2px solid #0071be;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  pointer-events: none;
}

.search-input-area__inner .search-select.is-disabled::after {
  opacity: 0.5;
}

.search-input-area__inner .search-select select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  padding: 15px 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #fff;
  border-radius: 0;
  background-color: #fff;
  font-size: 1.6rem;
}

.search-input-area__inner .search-select select:disabled {
  border-color: #F8F8F8;
  background-color: #F8F8F8;
  color: #999;
}

.search-input-area__inner .search-name {
  width: 30%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding-right: 10px;
}

.search-input-area__inner .search-name .ttl {
  font-weight: bold;
  width: 55px;
}

.search-input-area__inner .search-name .txt {
  width: calc(100% - 55px);
}

.search-input-area__inner .search-name .txt input {
  font-size: 1.6rem;
  width: 100%;
  padding: 15px 10px;
  border: none;
}

.search-input-area__inner .search-button {
  width: 19%;
  position: relative;
}

.search-input-area__inner .search-button::after {
  display: block;
  position: absolute;
  background: transparent url(/assets/img/common/white-search-icon.svg) left center no-repeat;
  width: 16px;
  height: 16px;
  background-size: 16px 16px;
  content: "";
  right: 7%;
  top: 50%;
  left: auto;
  margin-top: -8px;
}

.search-input-area__inner .search-button button {
  font-size: 1.6rem;
  font-weight: bold;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  border-radius: 0;
  width: 100%;
  padding: 15px 25px 15px 15px;
  background-color: #444;
  color: #fff;
  cursor: pointer;
  -webkit-transition: all 0.3s 0s ease;
  transition: all 0.3s 0s ease;
}

.search-input-area__inner .search-button button:hover {
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
          box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
}

@media screen and (max-width: 800px) {
  .search-input-area {
    padding: 15px;
    margin-bottom: 30px;
  }
  .search-input-area__title {
    font-size: 1.4rem;
  }
  .search-input-area__inner .search-select, .search-input-area__inner .search-name, .search-input-area__inner .search-button {
    width: 100%;
    margin-bottom: 10px;
    padding-right: 0;
  }
  .search-input-area__inner .search-select::after {
    right: 10px;
    width: 8px;
    height: 8px;
    margin-top: -6px;
  }
  .search-input-area__inner .search-select select {
    font-size: 1.2rem;
    padding-left: 5px;
  }
  .search-input-area__inner .search-name .ttl {
    width: 100%;
    font-size: 1.2rem;
    margin-bottom: 5px;
  }
  .search-input-area__inner .search-name .txt {
    width: 100%;
  }
  .search-input-area__inner .search-name .txt input {
    font-size: 1.2rem;
  }
  .search-input-area__inner .search-button {
    margin-bottom: 0;
  }
  .search-input-area__inner .search-button button {
    font-size: 1.2rem;
  }
}

.js-list-item > li {
  opacity: 1;
}

.js-list-item > li.is-hidden {
  visibility: hidden;
  opacity: 0;
  height: 0;
  margin: 0 10px;
  padding: 0;
}

.js-list-item-btn {
  display: none;
}

.js-accordion-btn {
  position: relative;
  padding-right: 35px;
}

.js-accordion-btn:hover {
  cursor: pointer;
}

.js-accordion-btn::after {
  display: block;
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -13px;
  content: "＋";
}

.js-accordion-btn.is-open::after {
  content: "－";
}

.js-accordion-menu {
  display: none;
}

/*------------------------------
  SPサブカテゴリーメニュー
-----------------------------*/
.sub-nav {
  position: relative;
  height: 58px;
  width: 100%;
}

.sub-nav__base {
  border: 4px solid #ddd;
  margin: 0 auto 30px auto;
  background-color: #fff;
  overflow-y: scroll;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 910;
  -webkit-transition: height 0.1s linear;
  transition: height 0.1s linear;
  height: 58px;
}

.sub-nav__base.is-fixed {
  position: fixed;
  top: 55px;
  left: 0;
  max-height: calc(100% - 55px);
  border-width: 4px 0;
}

.sub-nav__base.is-fixed .sub-nav-title {
  line-height: 44px;
}

.sub-nav-title {
  font-weight: bold;
  padding: 0 19px;
  line-height: 50px;
  cursor: pointer;
}

.sub-nav-list {
  font-size: 1.4rem;
  display: none;
  position: absolute;
  width: 100%;
}

.sub-nav-list.is-open {
  display: block;
}

.sub-nav-list_group {
  font-weight: bold;
  cursor: pointer;
  display: block;
  padding: 15px 20px;
  position: relative;
}

.sub-nav-list_group::after {
  content: "＋";
  display: block;
  position: absolute;
  top: 14px;
  right: 18px;
}

.sub-nav-list_group.is-open::after {
  content: "－";
}

.sub-nav-list > li {
  line-height: 1.6;
}

.sub-nav-list > li a {
  color: inherit;
  padding: 15px 20px;
  display: block;
}

.sub-nav-list > li > ul {
  padding-left: 15px;
  display: none;
}

.sub-nav-list > li > ul > li:first-child {
  font-weight: bold;
}

.js-category-sp.is-open {
  height: 400px;
}

.js-category-sp.is-open.is-fixed {
  height: 500px;
}

.js-hamburger {
  position: relative;
}

.js-hamburger-btn {
  position: absolute;
  width: 15px;
  height: 12px;
  cursor: pointer;
  display: inline-block;
  right: 15px;
  top: 18px;
}

.js-hamburger-btn span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #282828;
  display: inline-block;
  -webkit-transition: all .5s;
  transition: all .5s;
}

.js-hamburger-btn span:nth-of-type(1) {
  top: 0;
}

.js-hamburger-btn span:nth-of-type(2) {
  top: 5px;
}

.js-hamburger-btn span:nth-of-type(3) {
  bottom: 0;
}

.js-hamburger-btn.is-active span:nth-of-type(1) {
  -webkit-transform: translateY(5px) rotate(45deg);
  transform: translateY(5px) rotate(45deg);
}

.js-hamburger-btn.is-active span:nth-of-type(2) {
  opacity: 0;
}

.js-hamburger-btn.is-active span:nth-of-type(3) {
  -webkit-transform: translateY(-5px) rotate(-45deg);
  transform: translateY(-5px) rotate(-45deg);
}

/* ベース
===================================================== */
#visual-rental.visual-visual {
  font-family: "Roboto Condensed", "NotoSansCJK", sans-serif;
  color: #fff;
}

#visual-rental.visual-visual a:not(.cc-btn) {
  -webkit-transition: all 0.4s 0s ease;
  transition: all 0.4s 0s ease;
  color: #fff;
}

#visual-rental.visual-visual .breadcrumb-box {
  background-color: transparent;
  padding: 20px 0 0 0;
}

#visual-rental.visual-visual .breadcrumb-box a {
  color: #888;
}

#visual-rental.visual-visual .breadcrumb-box li:last-child a {
  color: #fff;
}

#visual-rental.visual-visual .is-page-accordion-trigger {
  cursor: pointer;
}

#visual-rental.visual-visual .is-page-accordion-target {
  display: none;
}

#visual-rental.visual-visual .is-page-accordion-target.is-opening {
  display: block;
}

#visual-rental.visual-visual .is-opening .is-accordion img.plus {
  display: none;
}

#visual-rental.visual-visual .is-opening .is-accordion img.minus {
  display: block;
}

/* 共通コンポーネント
===================================================== */
/* 見出し ------------------- */
.visual-visual-heading-lv2 {
  font-size: 4.4rem;
  font-weight: bold;
  position: relative;
}

.visual-visual-heading-lv2::after {
  display: block;
  position: absolute;
  content: "";
  left: 50%;
  bottom: -24px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 80px;
  height: 4px;
  background-color: #e6001a;
  margin: 0 auto;
}

@media screen and (max-width: 800px) {
  .visual-visual-heading-lv2 {
    font-size: 2.8rem;
  }
  .visual-visual-heading-lv2::after {
    width: 40px;
    height: 2px;
    bottom: -16px;
  }
}

.visual-visual-heading-lv3 {
  font-size: 4rem;
  font-weight: bold;
  position: relative;
  text-align: center;
  line-height: 1.4;
}

.visual-visual-heading-lv3-text {
  display: block;
  font-size: 1.8rem;
  font-weight: bold;
  color: #666;
  text-align: center;
}

@media screen and (max-width: 800px) {
  .visual-visual-heading-lv3 {
    font-size: 2.4rem;
  }
  .visual-visual-heading-lv3-text {
    font-size: 1.4rem;
    margin-top: 4px;
  }
}

.visual-visual-heading-lv3-detail {
  font-size: 2.8rem;
  padding-bottom: 16px;
  line-height: 1.4;
  border-bottom: 2px #fff solid;
}

@media screen and (max-width: 800px) {
  .visual-visual-heading-lv3-detail {
    font-size: 2.4rem;
  }
}

.visual-visual-heading-lv4 {
  font-size: 2.8rem;
  font-weight: bold;
  position: relative;
  padding-left: 40px;
}

.visual-visual-heading-lv4::after {
  display: block;
  position: absolute;
  content: "";
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 28px;
  height: 2px;
  background-color: #e6001a;
  margin: 0 auto;
}

@media screen and (max-width: 800px) {
  .visual-visual-heading-lv4 {
    font-size: 2rem;
    padding-left: 32px;
  }
  .visual-visual-heading-lv4::after {
    width: 16px;
  }
}

/* ボックス ------------------- */
.visual-visual-sect {
  background: #000 url("/assets/img/visual/rental/visual/bg_detail-mono.jpg") center top repeat;
  padding: 0 0 160px 0;
  position: relative;
  z-index: 1;
}

.visual-visual-sect.is-color {
  background-image: url("/assets/img/visual/rental/visual/bg_detail-color.jpg");
}

.visual-visual-sect__decoration {
  display: block;
  position: absolute;
  top: -0.15em;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  color: #000;
  font-size: 32rem;
  font-weight: bold;
  line-height: 1;
  z-index: -1;
}

.visual-visual-sect__header {
  padding: 160px 0 0 0;
  text-align: center;
}

.visual-visual-sect__body {
  width: 1280px;
  margin: 0 auto;
}

@media screen and (max-width: 1366px) {
  .visual-visual-sect__body {
    width: 100%;
    padding: 0 44px;
  }
}

@media screen and (max-width: 1100px) {
  .visual-visual-sect {
    padding-bottom: 80px;
  }
  .visual-visual-sect__decoration {
    font-size: 18.8rem;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transform-origin: left top;
            transform-origin: left top;
    left: calc(100% + 0.15em);
  }
  .visual-visual-sect__header {
    padding: 80px 0 0 0;
  }
  .visual-visual-sect__body {
    padding: 0 16px;
  }
}

/* リンク ------------------- */
.visual-visual-link-icon {
  cursor: pointer;
  width: 48px;
  height: 48px;
  border-radius: 56px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 1;
}

.visual-visual-link-icon img {
  width: 25px;
  height: 25px;
}

.visual-visual-link-icon::before {
  -webkit-transition: all 0.4s 0s ease;
  transition: all 0.4s 0s ease;
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 56px;
  background-color: #e6001a;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}

.visual-visual-link-icon.is-white::before {
  background-color: #fff;
}

.visual-visual-link-icon.is-accordion img.plus {
  display: block;
}

.visual-visual-link-icon.is-accordion img.minus {
  display: none;
}

.visual-visual-link-icon.is-small {
  width: 32px;
  height: 32px;
}

.visual-visual-link-icon.is-small img {
  width: 17px;
}

@media screen and (max-width: 800px) {
  .visual-visual-link-icon {
    width: 48px;
    height: 48px;
  }
  .visual-visual-link-icon img {
    width: 32px;
  }
}

@media screen and (min-width: 801px) {
  *:hover > .visual-visual-link-icon::before {
    width: 56px;
    height: 56px;
  }
  *:hover > .visual-visual-link-icon.is-small::before {
    width: 40px;
    height: 40px;
  }
}

.visual-visual-decorate-link {
  cursor: pointer;
  font-size: 2.4rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  line-height: 1.3;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  gap: 16px;
}

.visual-visual-decorate-link .pdf-txt {
  font-size: 1.6rem;
  font-weight: bold;
}

.visual-visual-decorate-link .pdf-txt .byte {
  font-size: 1.2rem;
  font-weight: normal;
  margin-left: 4px;
}

.visual-visual-decorate-link .order0 {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
}

.visual-visual-decorate-link:hover .link-txt, .visual-visual-decorate-link:hover .pdf-txt {
  opacity: .75;
}

@media screen and (max-width: 800px) {
  .visual-visual-decorate-link {
    font-size: 1.8rem;
    gap: 12px;
  }
  .visual-visual-decorate-link .link-txt {
    font-size: 1.6rem;
  }
  .visual-visual-decorate-link.is-sp-small {
    gap: 6px;
  }
  .visual-visual-decorate-link.is-sp-small .link-txt {
    font-size: 1.4rem;
  }
  .visual-visual-decorate-link.is-sp-small .visual-visual-link-icon {
    width: 32px;
    height: 32px;
  }
  .visual-visual-decorate-link.is-sp-small .visual-visual-link-icon img {
    width: 17px;
  }
}

/* メインビジュアル
===================================================== */
.visual-visual-mv {
  position: relative;
  height: 100vh;
  background: #000 url("/assets/img/visual/rental/visual/mv_bg.jpg") center center no-repeat;
  background-size: cover;
}

.visual-visual-mv__visual {
  position: absolute;
  top: calc(50% - 96px);
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 80vw;
  margin: 100px auto 0 auto;
}

.visual-visual-mv__visual .visual {
  text-shadow: 0px 0px 24px rgba(0, 0, 0, 0.8);
}

.visual-visual-mv__visual .visual > li {
  padding-left: 10vw;
  line-height: 1.2;
}

.visual-visual-mv__visual .visual-text {
  width: 61.25vw;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.visual-visual-mv__visual .visual-text .title {
  font-weight: bold;
  font-size: 5vw;
}

.visual-visual-mv__visual .visual-text .copy {
  font-size: 1.25vw;
  margin: 1.5vw 0 2.5vw 0;
}

.visual-visual-mv__visual .visual-text .links {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 0.5vw 2vw;
  font-weight: bold;
  margin-left: 0.35vw;
}

.visual-visual-mv__visual .visual-text .links .visual-visual-decorate-link {
  font-size: 1.5vw;
}

.visual-visual-mv__visual .visual-image {
  aspect-ratio: 16 / 9;
}

.visual-visual-mv__visual .visual-image img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
}

.visual-visual-mv__visual .visual-arrow-left, .visual-visual-mv__visual .visual-arrow-right {
  top: 50%;
  width: 2.5vw;
  height: 7vw;
  position: absolute;
  cursor: pointer;
}

.visual-visual-mv__visual .visual-arrow-left img, .visual-visual-mv__visual .visual-arrow-right img {
  width: 100%;
  height: 100%;
}

.visual-visual-mv__visual .visual-arrow-left {
  left: -7.5vw;
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
  -webkit-transform-origin: center;
          transform-origin: center;
}

.visual-visual-mv__visual .visual-arrow-right {
  right: -7.5vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.visual-visual-mv__visual .visual-scroll-down {
  position: relative;
  left: 50%;
  bottom: -4.5vw;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  text-align: center;
  z-index: 1;
}

.visual-visual-mv__visual .visual-scroll-down .text {
  width: 5.5vw;
  position: absolute;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  left: 50%;
  top: 1.5vw;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.visual-visual-mv__visual .visual-scroll-down .text span {
  font-size: 0.75vw;
}

.visual-visual-mv__visual .visual-scroll-down .text span.scroll {
  padding-right: 1vw;
  margin-left: -0.5vw;
}

.visual-visual-mv__visual .visual-scroll-down .pict img {
  width: auto;
  height: 5vw;
}

@media screen and (min-width: 1601px) {
  .visual-visual-mv__visual {
    width: 1280px;
  }
  .visual-visual-mv__visual .visual > li {
    padding-left: 160px;
  }
  .visual-visual-mv__visual .visual-text {
    width: 980px;
  }
  .visual-visual-mv__visual .visual-text .title {
    font-size: 8rem;
  }
  .visual-visual-mv__visual .visual-text .copy {
    font-size: 24px 0 40px 0;
  }
  .visual-visual-mv__visual .visual-text .links {
    gap: 8px 32px;
    margin-left: 4px;
  }
  .visual-visual-mv__visual .visual-text .links .visual-visual-decorate-link {
    font-size: 2.4rem;
  }
  .visual-visual-mv__visual .visual-arrow-left, .visual-visual-mv__visual .visual-arrow-right {
    width: 40px;
    height: 112px;
  }
  .visual-visual-mv__visual .visual-arrow-left {
    left: -120px;
  }
  .visual-visual-mv__visual .visual-arrow-right {
    right: -120px;
  }
  .visual-visual-mv__visual .visual-scroll-down {
    bottom: -72px;
  }
  .visual-visual-mv__visual .visual-scroll-down .text {
    width: 88px;
    left: 50%;
    top: 24px;
  }
  .visual-visual-mv__visual .visual-scroll-down .text span {
    font-size: 1.2rem;
  }
  .visual-visual-mv__visual .visual-scroll-down .text span.scroll {
    padding-right: 16px;
    margin-left: -8px;
  }
  .visual-visual-mv__visual .visual-scroll-down .pict img {
    height: 80px;
  }
}

@media screen and (min-width: 1400px) {
  .visual-visual-mv.is-detail {
    min-height: 800px;
  }
}

@media screen and (max-height: 800px) {
  .visual-visual-mv.is-detail {
    height: calc(100vh + 32px);
  }
}

.visual-visual-mv.is-detail .visual-visual-mv__visual .visual {
  position: relative;
  margin-top: 4vw;
  padding: 0 6.25vw;
  line-height: 1.2;
}

.visual-visual-mv.is-detail .visual-visual-mv__visual .visual-text {
  width: 47.5vw;
}

.visual-visual-mv.is-detail .visual-visual-mv__visual .visual-text .title {
  font-size: 3.5vw;
}

.visual-visual-mv.is-detail .visual-visual-mv__visual .visual-series {
  position: absolute;
  left: 0;
  top: -4vw;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}

.visual-visual-mv.is-detail .visual-visual-mv__visual .visual-series .series-title {
  font-size: 1.75vw;
  font-weight: bold;
}

.visual-visual-mv.is-detail .visual-visual-mv__visual .visual-series .series-copy {
  font-size: 0.875vw;
}

.visual-visual-mv.is-detail .visual-visual-mv__visual .visual-slider {
  position: absolute;
  width: 32.5vw;
  bottom: -56px;
  right: 0;
  padding: 0 2.5vw;
}

.visual-visual-mv.is-detail .visual-visual-mv__visual .visual-slider .no-slide img {
  width: 100%;
  height: auto;
}

.visual-visual-mv.is-detail .visual-visual-mv__visual .visual-slider ul > li {
  aspect-ratio: 16 / 9;
}

.visual-visual-mv.is-detail .visual-visual-mv__visual .visual-slider ul > li img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}

.visual-visual-mv.is-detail .visual-visual-mv__visual .visual-arrow-left, .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-arrow-right {
  width: 1.5vw;
  height: 4.2vw;
}

.visual-visual-mv.is-detail .visual-visual-mv__visual .visual-arrow-left {
  left: 0;
}

.visual-visual-mv.is-detail .visual-visual-mv__visual .visual-arrow-right {
  right: 0;
}

.visual-visual-mv.is-detail .visual-visual-mv__visual .visual-pagination {
  padding: 0 2.5vw;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0.5vw;
  bottom: -1vw;
}

.visual-visual-mv.is-detail .visual-visual-mv__visual .visual-pagination .swiper-pagination-bullet {
  margin: 0;
  padding: 0;
  width: 1.5vw;
  height: 1vw;
  border-radius: 0;
  background-color: transparent;
  position: relative;
}

.visual-visual-mv.is-detail .visual-visual-mv__visual .visual-pagination .swiper-pagination-bullet::after {
  display: block;
  position: absolute;
  content: "";
  width: 1.5vw;
  height: 1px;
  background-color: #fff;
  left: 0;
  top: 50%;
}

@media screen and (min-width: 1601px) {
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual {
    margin-top: 64px;
    padding-right: 100px;
    padding-left: 100px;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-text {
    width: 760px;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-text .title {
    font-size: 5.6rem;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-series {
    top: -64px;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-series .series-title {
    font-size: 2.8rem;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-series .series-copy {
    font-size: 1.4rem;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-slider {
    width: 520px;
    padding: 0 40px;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-arrow-left, .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-arrow-right {
    width: 24px;
    height: 67px;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-pagination {
    padding: 0 40px;
    gap: 8px;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-pagination .swiper-pagination-bullet {
    width: 24px;
    height: 16px;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-pagination .swiper-pagination-bullet::after {
    width: 24px;
  }
}

@media screen and (max-height: 800px) {
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual {
    margin-top: 4vh;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-series {
    top: -5.8vh;
  }
}

@media screen and (max-width: 800px) {
  .visual-visual-mv {
    min-height: calc(100vh - 55px);
    height: auto;
    margin-top: 55px;
    width: 100%;
    overflow: hidden;
  }
  .visual-visual-mv__visual {
    position: static;
    -webkit-transform: translate(0);
            transform: translate(0);
    width: 100%;
    height: 100%;
    margin: 0 auto;
    padding: 40px 0 96px 0;
  }
  .visual-visual-mv__visual .swiper {
    overflow: visible;
  }
  .visual-visual-mv__visual .visual {
    text-shadow: 0px 0px 12px rgba(0, 0, 0, 0.8);
  }
  .visual-visual-mv__visual .visual > li {
    padding: 0 2.1333333333333333vw;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    width: 100%;
  }
  .visual-visual-mv__visual .visual-text {
    position: static;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    margin-top: -20px;
  }
  .visual-visual-mv__visual .visual-text .title {
    font-size: 4.8rem;
    line-height: 1.1;
    text-align: center;
    padding: 0 16px;
  }
  .visual-visual-mv__visual .visual-text .copy {
    font-size: 1.6rem;
    text-align: center;
    margin: 12px 0 20px 0;
    padding: 0 16px;
  }
  .visual-visual-mv__visual .visual-text .links {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 16px 24px;
  }
  .visual-visual-mv__visual .visual-image {
    width: 100%;
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
        -ms-flex-order: 0;
            order: 0;
  }
  .visual-visual-mv__visual .visual-arrow-left, .visual-visual-mv__visual .visual-arrow-right {
    top: calc(53.333333333333336vw + 72px);
    width: 10px;
    height: 27px;
    z-index: 1;
  }
  .visual-visual-mv__visual .visual-arrow-left {
    left: 2.1333333333333333vw;
    -webkit-transform: translateY(-50%) rotate(180deg);
            transform: translateY(-50%) rotate(180deg);
    -webkit-transform-origin: center;
            transform-origin: center;
  }
  .visual-visual-mv__visual .visual-arrow-right {
    right: 2.1333333333333333vw;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .visual-visual-mv__visual .visual-scroll-down {
    bottom: 12px;
  }
  .visual-visual-mv__visual .visual-scroll-down .text {
    width: 77px;
    top: 2px;
  }
  .visual-visual-mv__visual .visual-scroll-down .text span {
    font-size: 1rem;
  }
  .visual-visual-mv__visual .visual-scroll-down .text span.scroll {
    padding-right: 16px;
    margin-left: -4px;
  }
  .visual-visual-mv__visual .visual-scroll-down .pict img {
    height: 48px;
  }
  .visual-visual-mv.is-detail {
    height: auto;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual {
    padding: 32px 0 64px 0;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual {
    padding: 0 2.1333333333333333vw;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    width: 100%;
    position: static;
    margin: 0;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-text {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-text .title {
    font-size: 4rem;
    padding: 0;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-series {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
        -ms-flex-order: 0;
            order: 0;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    position: static;
    gap: 4px;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-series .series-title {
    font-size: 2.2rem;
    width: 100%;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-series .series-copy {
    font-size: 1.1rem;
    width: 100%;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-image {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    margin-top: 16px;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-slider {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
    position: relative;
    bottom: auto;
    width: 100%;
    padding: 0 11.733333333333333vw 16px 11.733333333333333vw;
    margin: 4px auto 0 auto;
    overflow: hidden;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-slider .swiper {
    overflow: hidden;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-slider .no-slide img {
    width: 100%;
    height: auto;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-arrow-left, .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-arrow-right {
    width: 12px;
    height: 32px;
    z-index: 1;
    top: 50%;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-arrow-left {
    left: 4.266666666666667vw;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-arrow-right {
    right: 4.266666666666667vw;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-pagination {
    padding: 0 24px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.1333333333333333vw;
    bottom: 1px;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-pagination .swiper-pagination-bullet {
    margin: 0;
    padding: 0;
    width: 4.266666666666667vw;
    height: 1px;
    border-radius: 0;
    background-color: transparent;
    position: relative;
  }
  .visual-visual-mv.is-detail .visual-visual-mv__visual .visual-pagination .swiper-pagination-bullet::after {
    display: block;
    position: absolute;
    content: "";
    width: 4.266666666666667vw;
    height: 1px;
    background-color: #fff;
    left: 0;
    top: 50%;
  }
}

/* 機材トップ
===================================================== */
/* 一覧 ------------------- */
.visual-visual-products-list-shoulder {
  margin: 80px 0 40px 0;
}

.visual-visual-products-list-shoulder .visual-visual-decorate-link {
  font-size: 1.6rem;
  margin: 0 auto;
}

@media screen and (max-width: 800px) {
  .visual-visual-products-list-shoulder {
    margin: 60px 0 40px 0;
  }
}

.visual-visual-products-list .products-item {
  border-top: 1px #fff solid;
  -webkit-transition: all 0.4s 0s ease;
  transition: all 0.4s 0s ease;
}

.visual-visual-products-list .products-item:hover {
  background-color: rgba(0, 0, 0, 0.6);
}

.visual-visual-products-list .products-item:last-child {
  border-bottom: 1px #fff solid;
}

.visual-visual-products-list .products-item-header {
  height: 160px;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.visual-visual-products-list .products-item-header__inner {
  width: 100%;
  padding-top: 2px;
}

.visual-visual-products-list .products-item-header-icon {
  position: absolute;
  right: 40px;
  top: calc(50% - 24px);
}

.visual-visual-products-list .products-item-body {
  margin-bottom: 120px;
}

.visual-visual-products-list .products-item-body__title {
  margin: 32px 0;
}

@media screen and (max-width: 1100px) {
  .visual-visual-products-list .products-item-header {
    height: auto;
    min-height: 110px;
    padding: 20px 50px 20px 0;
  }
  .visual-visual-products-list .products-item-header-icon {
    right: 0;
  }
  .visual-visual-products-list .products-item-body {
    margin-bottom: 80px;
  }
  .visual-visual-products-list .products-item-body__title {
    margin: 24px 0;
  }
}

.visual-visual .products-item-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 4vw 3.979166666666667vw;
  margin-top: 32px;
}

.visual-visual .products-item-list:not(:last-child) {
  margin-bottom: 96px;
}

.visual-visual .products-item-list > li {
  width: calc(272/1280 * 100%);
}

.visual-visual .products-item-list > li .wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: calc(40/1280 * 100%);
}

.visual-visual .products-item-list > li .wrap .text {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}

.visual-visual .products-item-list > li .wrap .text .name {
  -webkit-transition: all 0.4s 0s ease;
  transition: all 0.4s 0s ease;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.2;
  margin-left: -32px;
  padding-left: 32px;
  width: calc(100% + 32px);
  background: transparent left 4px no-repeat;
  background-image: none;
  background-size: 25px 25px;
}

.visual-visual .products-item-list > li .wrap .text .brand {
  margin-top: 0.5vw;
  line-height: 1.4;
}

.visual-visual .products-item-list > li .wrap .text .copy {
  margin-top: 1.5vw;
  line-height: 1.6;
}

.visual-visual .products-item-list > li .wrap .image {
  aspect-ratio: 1 / 1;
  -webkit-box-ordinal-group: 1;
  -webkit-order: 0;
      -ms-flex-order: 0;
          order: 0;
  overflow: hidden;
}

.visual-visual .products-item-list > li .wrap .image img {
  -webkit-transition: all 0.4s 0s ease;
  transition: all 0.4s 0s ease;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}

.visual-visual .products-item-list > li .wrap:hover .text .name {
  margin-left: 0;
  margin-right: -32px;
  background-image: url("/assets/img/visual/rental/visual/icon_arrow.svg");
}

.visual-visual .products-item-list > li .wrap:hover .image img {
  width: 120%;
  height: 120%;
  margin-left: -10%;
  margin-top: -10%;
}

@media screen and (min-width: 1601px) {
  .visual-visual .products-item-list {
    gap: 64px 63.6px;
  }
  .visual-visual .products-item-list > li .wrap {
    gap: 16px;
  }
  .visual-visual .products-item-list > li .wrap .text .brand {
    margin-top: 8px;
  }
  .visual-visual .products-item-list > li .wrap .text .txt {
    margin-top: 24px;
  }
}

.visual-visual .products-item-list.is-series {
  gap: calc(4/88 * 100%);
}

.visual-visual .products-item-list.is-series > li {
  width: calc(19/88 * 100%);
}

.visual-visual .products-item-list.is-series > li .wrap .text .name {
  font-size: 2.2rem;
}

.visual-visual .products-item-list.is-series > li .wrap .text .brand {
  font-size: 1.2rem;
}

.visual-visual .products-item-list.is-series > li .wrap .text .copy {
  margin-top: 16px;
  font-size: 1.4rem;
}

@media screen and (max-width: 800px) {
  .visual-visual .products-item-list {
    gap: 10.66667vw calc(16/343 * 100%);
    margin-top: 24px;
  }
  .visual-visual .products-item-list:not(:last-child) {
    margin-bottom: 80px;
  }
  .visual-visual .products-item-list > li {
    width: calc(163/343 * 100%);
  }
  .visual-visual .products-item-list > li .wrap {
    gap: 1vw;
  }
  .visual-visual .products-item-list > li .wrap .text .name {
    font-size: 2rem;
  }
  .visual-visual .products-item-list > li .wrap .text .brand {
    margin-top: 8px;
    font-size: 1rem;
  }
  .visual-visual .products-item-list > li .wrap .text .copy {
    margin-top: 12px;
    font-size: 1.4rem;
  }
  .visual-visual .products-item-list.is-series {
    gap: 10.66667vw calc(16/343 * 100%);
  }
  .visual-visual .products-item-list.is-series > li {
    width: calc(163/343 * 100%);
  }
  .visual-visual .products-item-list.is-series > li .wrap .text .name {
    font-size: 2.2rem;
  }
  .visual-visual .products-item-list.is-series > li .wrap .text .brand {
    font-size: 1.2rem;
  }
  .visual-visual .products-item-list.is-series > li .wrap .text .copy {
    margin-top: 16px;
    font-size: 1.4rem;
  }
}

/* カタログ ------------------- */
.visual-visual-catalog__inner {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 160px auto 0 auto;
  gap: 40px;
}

.visual-visual-catalog__inner .text {
  width: 320px;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}

.visual-visual-catalog__inner .text .ttl {
  font-size: 2rem;
}

.visual-visual-catalog__inner .text .btn {
  margin: 24px 0;
}

.visual-visual-catalog__inner .text .txt {
  font-size: 1.4rem;
}

.visual-visual-catalog__inner .image {
  width: 280px;
  -webkit-box-ordinal-group: 1;
  -webkit-order: 0;
      -ms-flex-order: 0;
          order: 0;
}

.visual-visual-catalog__inner .image img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 800px) {
  .visual-visual-catalog__inner {
    width: 100%;
    margin: 80px auto 0 auto;
  }
  .visual-visual-catalog__inner .text {
    width: 100%;
  }
  .visual-visual-catalog__inner .text .ttl {
    font-size: 1.8rem;
    text-align: center;
  }
  .visual-visual-catalog__inner .text .btn {
    margin: 16px auto;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
  .visual-visual-catalog__inner .text .txt {
    font-size: 1.4rem;
  }
  .visual-visual-catalog__inner .image {
    width: calc(160/343 * 100%);
    margin: 0 auto;
  }
  .visual-visual-catalog__inner .image img {
    width: 100%;
    height: auto;
  }
}

/* 機材詳細
===================================================== */
.visual-visual-products-detail {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 120px;
}

@media screen and (max-width: 800px) {
  .visual-visual-products-detail {
    margin-top: 40px;
  }
}

.visual-visual-products-detail .products-main {
  width: calc(88/128 * 100%);
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}

.visual-visual-products-detail .products-main__header {
  margin-bottom: 120px;
}

.visual-visual-products-detail .products-main-title {
  font-size: 4rem;
  font-weight: bold;
  line-height: 1.4;
}

.visual-visual-products-detail .products-main-title .brand {
  font-size: 2rem;
  display: inline-block;
  position: relative;
  font-weight: normal;
  padding-left: 20px;
  margin-left: 16px;
}

.visual-visual-products-detail .products-main-title .brand::before {
  content: "";
  width: 1.5px;
  height: 40px;
  top: -0.5em;
  left: 0;
  display: block;
  position: absolute;
  background-color: #e6001a;
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}

.visual-visual-products-detail .products-main-category {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 24px 0 16px 0;
}

.visual-visual-products-detail .products-main-category > li {
  font-size: 1.4rem;
}

.visual-visual-products-detail .products-main-category > li:not(:first-child) {
  border-left: 1px #666 solid;
  padding-left: 12px;
}

.visual-visual-products-detail .products-main-category > li:not(:last-child) {
  padding-right: 12px;
}

.visual-visual-products-detail .products-main-tag {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px;
}

.visual-visual-products-detail .products-main-tag > li {
  background-color: rgba(255, 255, 255, 0.2);
  color: #fff;
  line-height: 1;
  padding: 6px 16px;
}

.visual-visual-products-detail .products-main__body__main {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(4/88 * 100%);
  margin-bottom: 64px;
}

.visual-visual-products-detail .products-main__body__main .text {
  width: calc(42/88 * 100%);
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}

.visual-visual-products-detail .products-main__body__main .image {
  width: calc(42/88 * 100%);
  -webkit-box-ordinal-group: 1;
  -webkit-order: 0;
      -ms-flex-order: 0;
          order: 0;
}

.visual-visual-products-detail .products-main__body__main .image img {
  max-width: 100%;
  height: auto;
}

.visual-visual-products-detail .products-main__body .point-list:not(:first-child),
.visual-visual-products-detail .products-main__body .point-text:not(:first-child),
.visual-visual-products-detail .products-main__body .basic-image:not(:first-child),
.visual-visual-products-detail .products-main__body .basic-table:not(:first-child),
.visual-visual-products-detail .products-main__body .basic-movie:not(:first-child),
.visual-visual-products-detail .products-main__body .basic-column-two:not(:first-child),
.visual-visual-products-detail .products-main__body .basic-column-three:not(:first-child),
.visual-visual-products-detail .products-main__body .basic-list-dot:not(:first-child),
.visual-visual-products-detail .products-main__body .basic-list-number:not(:first-child),
.visual-visual-products-detail .products-main__body .is-free .figure:not(:first-child),
.visual-visual-products-detail .products-main__body .is-free ul:not(:first-child),
.visual-visual-products-detail .products-main__body .is-free ol:not(:first-child) {
  margin-top: 64px;
}

.visual-visual-products-detail .products-main__body .point-list:not(:last-child),
.visual-visual-products-detail .products-main__body .point-text:not(:last-child),
.visual-visual-products-detail .products-main__body .basic-image:not(:last-child),
.visual-visual-products-detail .products-main__body .basic-table:not(:last-child),
.visual-visual-products-detail .products-main__body .basic-movie:not(:last-child),
.visual-visual-products-detail .products-main__body .basic-column-two:not(:last-child),
.visual-visual-products-detail .products-main__body .basic-column-three:not(:last-child),
.visual-visual-products-detail .products-main__body .basic-list-dot:not(:last-child),
.visual-visual-products-detail .products-main__body .basic-list-number:not(:last-child),
.visual-visual-products-detail .products-main__body .is-free .figure:not(:last-child),
.visual-visual-products-detail .products-main__body .is-free ul:not(:last-child),
.visual-visual-products-detail .products-main__body .is-free ol:not(:last-child) {
  margin-bottom: 64px;
}

.visual-visual-products-detail .products-main__body .point-list {
  font-size: 2rem;
  font-weight: bold;
}

.visual-visual-products-detail .products-main__body .point-list > li {
  padding-left: 38px;
  background: transparent url("/assets/img/visual/rental/visual/icon_check.svg") left top no-repeat;
  background-size: 32px 32px;
}

.visual-visual-products-detail .products-main__body .point-list > li:not(:first-child) {
  margin-top: 40px;
}

.visual-visual-products-detail .products-main__body .point-text {
  font-size: 1.8rem;
}

.visual-visual-products-detail .products-main__body .point-text p:not(:first-child) {
  margin-top: 24px;
}

.visual-visual-products-detail .products-main__body__basic {
  margin-top: 96px;
}

.visual-visual-products-detail .products-main__body__basic p:not(:first-child) {
  margin-top: 24px;
}

.visual-visual-products-detail .products-main__body__basic.is-free a {
  text-decoration: underline;
}

.visual-visual-products-detail .products-main__body__basic.is-free a:hover {
  text-decoration: none;
}

.visual-visual-products-detail .products-main__body__basic.is-free a[target="_blank"] {
  padding-right: 16px;
  background: transparent url("/assets/img/common/white-blank-icon.png") right center no-repeat;
  background-size: 11px 8px;
  margin-right: 4px;
}

.visual-visual-products-detail .products-main__body__basic.is-free a[href$=".pdf"] {
  padding-right: 20px;
  background: transparent url("/assets/img/common/pdf-icon.png") right center no-repeat;
  background-size: 14px 18px;
  margin-right: 4px;
}

.visual-visual-products-detail .products-main__body__basic .basic-table table {
  border-collapse: collapse;
  border: 1px #999 solid;
  width: 100%;
}

@media screen and (max-width: 1100px) {
  .visual-visual-products-detail .products-main__body__basic .basic-table table tbody {
    display: table-row-group;
  }
  .visual-visual-products-detail .products-main__body__basic .basic-table table tr {
    display: table-row;
  }
  .visual-visual-products-detail .products-main__body__basic .basic-table table th, .visual-visual-products-detail .products-main__body__basic .basic-table table td {
    display: table-cell;
  }
}

.visual-visual-products-detail .products-main__body__basic .basic-table table th, .visual-visual-products-detail .products-main__body__basic .basic-table table td {
  border: 1px #999 solid;
  padding: 16px;
}

.visual-visual-products-detail .products-main__body__basic .basic-table table th {
  font-weight: bold;
  background-color: rgba(255, 255, 255, 0.1);
  text-align: left;
  width: 27% !important;
}

.visual-visual-products-detail .products-main__body__basic .basic-table table td {
  background-color: transparent;
}

.visual-visual-products-detail .products-main__body__basic .basic-table.is-scroll {
  overflow-y: scroll;
  overflow-y: hidden;
}

.visual-visual-products-detail .products-main__body__basic .basic-table.is-scroll table tr:first-child th {
  background-color: rgba(255, 255, 255, 0.2);
}

.visual-visual-products-detail .products-main__body__basic .basic-table.is-scroll table th, .visual-visual-products-detail .products-main__body__basic .basic-table.is-scroll table td {
  min-width: 200px;
}

.visual-visual-products-detail .products-main__body__basic .figure {
  width: 100%;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

.visual-visual-products-detail .products-main__body__basic .figure img {
  width: 100%;
  height: auto;
}

.visual-visual-products-detail .products-main__body__basic .figure .figcaption {
  margin-top: 8px;
  font-size: 1.2rem;
}

.visual-visual-products-detail .products-main__body__basic .basic-movie {
  width: 100%;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

.visual-visual-products-detail .products-main__body__basic .basic-movie iframe {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  vertical-align: bottom;
}

.visual-visual-products-detail .products-main__body__basic .basic-movie .figcaption {
  margin-top: 8px;
  font-size: 1.2rem;
}

.visual-visual-products-detail .products-main__body__basic .basic-title {
  margin-bottom: 64px;
}

.visual-visual-products-detail .products-main__body__basic .basic-title:not(:first-child) {
  margin-top: 96px;
}

.visual-visual-products-detail .products-main__body__basic .basic-column-two {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(4/88 * 100%);
}

.visual-visual-products-detail .products-main__body__basic .basic-column-two .column-item {
  width: calc(42/88 * 100%);
  margin-top: 24px;
}

.visual-visual-products-detail .products-main__body__basic .basic-column-two .column-item .basic-title {
  margin-bottom: 40px;
}

.visual-visual-products-detail .products-main__body__basic .basic-column-two .column-item:first-child, .visual-visual-products-detail .products-main__body__basic .basic-column-two .column-item:nth-child(2) {
  margin-top: 0;
}

.visual-visual-products-detail .products-main__body__basic .basic-column-three {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.visual-visual-products-detail .products-main__body__basic .basic-column-three .column-item {
  width: calc(266/880 * 100%);
}

.visual-visual-products-detail .products-main__body__basic .basic-list-dot:not(.point-list) > li,
.visual-visual-products-detail .products-main__body__basic.is-free ul:not(.point-list) > li {
  position: relative;
  padding-left: 1em;
}

.visual-visual-products-detail .products-main__body__basic .basic-list-dot:not(.point-list) > li:not(:first-child),
.visual-visual-products-detail .products-main__body__basic.is-free ul:not(.point-list) > li:not(:first-child) {
  margin-top: 24px;
}

.visual-visual-products-detail .products-main__body__basic .basic-list-dot:not(.point-list) > li::before,
.visual-visual-products-detail .products-main__body__basic.is-free ul:not(.point-list) > li::before {
  position: absolute;
  display: block;
  content: "";
  width: 6px;
  height: 6px;
  background-color: #e6001a;
  border-radius: 6px;
  left: 0;
  top: 0.5em;
}

.visual-visual-products-detail .products-main__body__basic .basic-list-number > li,
.visual-visual-products-detail .products-main__body__basic.is-free ol > li {
  list-style-type: decimal;
  margin-left: 1em;
}

.visual-visual-products-detail .products-main__body__basic .basic-list-number > li:not(:first-child),
.visual-visual-products-detail .products-main__body__basic.is-free ol > li:not(:first-child) {
  margin-top: 24px;
}

@media screen and (max-width: 800px) {
  .visual-visual-products-detail .products-main {
    width: 100%;
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
        -ms-flex-order: 0;
            order: 0;
  }
  .visual-visual-products-detail .products-main__header {
    margin-bottom: 24px;
  }
  .visual-visual-products-detail .products-main-title {
    font-size: 2.4rem;
  }
  .visual-visual-products-detail .products-main-title .brand {
    font-size: 1.8rem;
    padding-left: 16px;
    margin-left: 16px;
  }
  .visual-visual-products-detail .products-main-title .brand::before {
    height: 32px;
    top: -0.3em;
    left: 0;
  }
  .visual-visual-products-detail .products-main-category {
    margin: 24px 0 12px 0;
  }
  .visual-visual-products-detail .products-main-category > li {
    font-size: 1.1rem;
  }
  .visual-visual-products-detail .products-main-category > li:not(:first-child) {
    padding-left: 8px;
  }
  .visual-visual-products-detail .products-main-category > li:not(:last-child) {
    padding-right: 8px;
  }
  .visual-visual-products-detail .products-main-tag {
    gap: 4px;
    font-size: 1.1rem;
  }
  .visual-visual-products-detail .products-main-tag > li {
    padding: 4px 12px;
  }
  .visual-visual-products-detail .products-main__body__main {
    margin-bottom: 40px;
  }
  .visual-visual-products-detail .products-main__body__main .text {
    width: 100%;
  }
  .visual-visual-products-detail .products-main__body__main .image {
    width: 100%;
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
        -ms-flex-order: 0;
            order: 0;
  }
  .visual-visual-products-detail .products-main__body .point-list:not(:first-child),
  .visual-visual-products-detail .products-main__body .point-text:not(:first-child),
  .visual-visual-products-detail .products-main__body .basic-image:not(:first-child),
  .visual-visual-products-detail .products-main__body .basic-table:not(:first-child),
  .visual-visual-products-detail .products-main__body .basic-movie:not(:first-child),
  .visual-visual-products-detail .products-main__body .basic-column-two:not(:first-child),
  .visual-visual-products-detail .products-main__body .basic-column-three:not(:first-child),
  .visual-visual-products-detail .products-main__body .basic-list-dot:not(:first-child),
  .visual-visual-products-detail .products-main__body .basic-list-number:not(:first-child),
  .visual-visual-products-detail .products-main__body .is-free .figure:not(:first-child),
  .visual-visual-products-detail .products-main__body .is-free ul:not(:first-child),
  .visual-visual-products-detail .products-main__body .is-free ol:not(:first-child) {
    margin-top: 40px;
  }
  .visual-visual-products-detail .products-main__body .point-list:not(:last-child),
  .visual-visual-products-detail .products-main__body .point-text:not(:last-child),
  .visual-visual-products-detail .products-main__body .basic-image:not(:last-child),
  .visual-visual-products-detail .products-main__body .basic-table:not(:last-child),
  .visual-visual-products-detail .products-main__body .basic-movie:not(:last-child),
  .visual-visual-products-detail .products-main__body .basic-column-two:not(:last-child),
  .visual-visual-products-detail .products-main__body .basic-column-three:not(:last-child),
  .visual-visual-products-detail .products-main__body .basic-list-dot:not(:last-child),
  .visual-visual-products-detail .products-main__body .basic-list-number:not(:last-child),
  .visual-visual-products-detail .products-main__body .is-free .figure:not(:last-child),
  .visual-visual-products-detail .products-main__body .is-free ul:not(:last-child),
  .visual-visual-products-detail .products-main__body .is-free ol:not(:last-child) {
    margin-bottom: 40px;
  }
  .visual-visual-products-detail .products-main__body .point-list {
    font-size: 1.7rem;
  }
  .visual-visual-products-detail .products-main__body .point-list > li:not(:first-child) {
    margin-top: 24px;
  }
  .visual-visual-products-detail .products-main__body .point-text {
    font-size: 1.6rem;
  }
  .visual-visual-products-detail .products-main__body__basic {
    margin-top: 80px;
    font-size: 1.5rem;
  }
  .visual-visual-products-detail .products-main__body__basic .basic-table table th, .visual-visual-products-detail .products-main__body__basic .basic-table table td {
    padding: 12px;
    font-size: 1.4rem;
  }
  .visual-visual-products-detail .products-main__body__basic .basic-table.is-scroll table th, .visual-visual-products-detail .products-main__body__basic .basic-table.is-scroll table td {
    min-width: 140px;
  }
  .visual-visual-products-detail .products-main__body__basic .figure .figcaption {
    font-size: 1.1rem;
  }
  .visual-visual-products-detail .products-main__body__basic .basic-movie .figcaption {
    font-size: 1.1rem;
  }
  .visual-visual-products-detail .products-main__body__basic .basic-title {
    margin-bottom: 40px;
  }
  .visual-visual-products-detail .products-main__body__basic .basic-title:not(:first-child) {
    margin-top: 80px;
  }
  .visual-visual-products-detail .products-main__body__basic .basic-column-two {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 24px;
  }
  .visual-visual-products-detail .products-main__body__basic .basic-column-two .column-item {
    width: 100%;
  }
  .visual-visual-products-detail .products-main__body__basic .basic-column-two .column-item .basic-title {
    margin-bottom: 40px;
  }
  .visual-visual-products-detail .products-main__body__basic .basic-column-three {
    gap: 24px 4.533333333333333vw;
  }
  .visual-visual-products-detail .products-main__body__basic .basic-column-three .column-item {
    width: calc(50% - 2.27vw);
  }
  .visual-visual-products-detail .products-main__body__basic .basic-list-dot:not(.point-list) > li,
  .visual-visual-products-detail .products-main__body__basic.is-free ul:not(.point-list) > li {
    position: relative;
    padding-left: 1em;
  }
  .visual-visual-products-detail .products-main__body__basic .basic-list-dot:not(.point-list) > li:not(:first-child),
  .visual-visual-products-detail .products-main__body__basic.is-free ul:not(.point-list) > li:not(:first-child) {
    margin-top: 24px;
  }
  .visual-visual-products-detail .products-main__body__basic .basic-list-dot:not(.point-list) > li::before,
  .visual-visual-products-detail .products-main__body__basic.is-free ul:not(.point-list) > li::before {
    position: absolute;
    display: block;
    content: "";
    width: 6px;
    height: 6px;
    background-color: #e6001a;
    border-radius: 6px;
    left: 0;
    top: 0.5em;
  }
  .visual-visual-products-detail .products-main__body__basic .basic-list-number > li,
  .visual-visual-products-detail .products-main__body__basic.is-free ol > li {
    list-style-type: decimal;
    margin-left: 1em;
  }
  .visual-visual-products-detail .products-main__body__basic .basic-list-number > li:not(:first-child),
  .visual-visual-products-detail .products-main__body__basic.is-free ol > li:not(:first-child) {
    margin-top: 24px;
  }
}

.visual-visual-products-detail .products-side {
  width: calc(32/128 * 100%);
  -webkit-box-ordinal-group: 1;
  -webkit-order: 0;
      -ms-flex-order: 0;
          order: 0;
}

@media screen and (max-width: 800px) {
  .visual-visual-products-detail .products-side {
    width: 100%;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    margin-top: 80px;
  }
}

.visual-visual-products-detail .products-side .category-list {
  font-weight: bold;
}

.visual-visual-products-detail .products-side .category-list > li {
  border-top: 1px #fff solid;
}

.visual-visual-products-detail .products-side .category-list > li:last-child {
  border-bottom: 1px #fff solid;
}

.visual-visual-products-detail .products-side .category-list-name {
  min-height: 80px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 8px 0 16px;
  -webkit-transition: all 0.4s 0s ease;
  transition: all 0.4s 0s ease;
  gap: 8px;
}

.visual-visual-products-detail .products-side .category-list-name .name {
  font-size: 2rem;
  line-height: 1.4;
}

.visual-visual-products-detail .products-side .category-list-name:hover {
  background-color: rgba(0, 0, 0, 0.6);
}

.visual-visual-products-detail .products-side .category-list .sub-category-list-title {
  position: relative;
  padding: 16px;
  font-size: 1.8rem;
  border-bottom: 1px #666 solid;
}

.visual-visual-products-detail .products-side .category-list .sub-category-list-title:first-child {
  margin-top: -16px;
}

.visual-visual-products-detail .products-side .category-list .sub-category-list-title::before {
  position: absolute;
  content: "";
  display: block;
  width: 12px;
  height: 1px;
  background-color: #e6001a;
  left: 0;
  top: 50%;
}

.visual-visual-products-detail .products-side .category-list .sub-category-list-item {
  line-height: 1.2;
}

.visual-visual-products-detail .products-side .category-list .sub-category-list-item:not(:last-child) {
  border-bottom: 1px #666 solid;
}

.visual-visual-products-detail .products-side .category-list .sub-category-list-item .link {
  display: block;
  padding: 16px;
  background: transparent url("/assets/img/visual/rental/visual/icon_arrow.svg") -26px center no-repeat;
  background-size: 25px 25px;
}

.visual-visual-products-detail .products-side .category-list .sub-category-list-item .link .brand {
  font-weight: normal;
  font-size: 1.2rem;
  color: #999;
}

.visual-visual-products-detail .products-side .category-list .sub-category-list-item .link:hover {
  background-position: 16px center;
  padding-left: 48px;
  padding-right: 32px;
  margin-right: -48px;
}

@media screen and (max-width: 800px) {
  .visual-visual-products-detail .products-side .category-list-name {
    padding: 0 8px 0 16px;
  }
  .visual-visual-products-detail .products-side .category-list-name .name {
    font-size: 1.8rem;
  }
  .visual-visual-products-detail .products-side .category-list .sub-category-list-title {
    font-size: 1.4rem;
  }
}

@-webkit-keyframes piuMvTextAnime {
  0% {
    -webkit-transform: translateX(-160px);
            transform: translateX(-160px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}

@keyframes piuMvTextAnime {
  0% {
    -webkit-transform: translateX(-160px);
            transform: translateX(-160px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}

#visual-rental.visual-piu a.tel-link {
  color: inherit;
}

#visual-rental.visual-piu a, #visual-rental.visual-piu a * {
  -webkit-transition: all 0.4s 0s ease;
  transition: all 0.4s 0s ease;
}

#visual-rental.visual-piu header {
  position: relative;
  z-index: 1000;
}

@media screen and (min-width: 1101px) {
  #visual-rental.visual-piu .main {
    padding-top: 96px;
  }
}

#visual-rental.visual-piu .page-heading-level-1::after {
  background: #0071be;
}

#visual-rental.visual-piu .page-heading-level-2 {
  margin-top: 56px;
}

@media screen and (max-width: 1100px) {
  #visual-rental.visual-piu .page-heading-level-2 {
    margin-top: 20px;
  }
}

#visual-rental.visual-piu .page-heading-level-3 {
  border-bottom-color: #0071be;
}

#visual-rental.visual-piu .basic-heading__sub {
  color: #0071be;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-style: italic;
}

#visual-rental.visual-piu .basic-heading__sub::before {
  background: #0071be;
}

#visual-rental.visual-piu .column-layout .column-layout__item--image .image-box {
  margin-top: 0;
}

#visual-rental.visual-piu .local-nav-list > li.is-current::before {
  background: #0071be;
}

#visual-rental.visual-piu .catalog-item-copy > li::before {
  background-color: #0071be;
}

#visual-rental.visual-piu .catalog-item__body .text-box {
  margin-top: 20px;
}

@media screen and (max-width: 1100px) {
  #visual-rental.visual-piu .catalog-item__body .text-box {
    margin-top: 15px;
  }
}

#visual-rental.visual-piu .text-box p:not(:first-child) {
  margin-top: 16px;
}

@media screen and (max-width: 1100px) {
  #visual-rental.visual-piu .text-box p:not(:first-child) {
    margin-top: 12px;
  }
}

#visual-rental.visual-piu .text-box p:not(:last-child) {
  margin-bottom: 16px;
}

@media screen and (max-width: 1100px) {
  #visual-rental.visual-piu .text-box p:not(:last-child) {
    margin-bottom: 12px;
  }
}

.piu-home.is-header-transp .piu-header {
  background-color: transparent;
}

@media screen and (max-width: 1100px) {
  .piu-home.is-header-transp .piu-header {
    background-color: rgba(0, 0, 0, 0.48);
  }
}

.piu-home.is-header-transp .piu-header__nav__list {
  background-color: rgba(0, 0, 0, 0.24);
}

.piu-home.is-header-transp .piu-header__nav__list > li.is-contact::after {
  opacity: 0.75;
}

.piu-header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #282828;
  -webkit-transition: all 0.3s 0s ease;
  transition: all 0.3s 0s ease;
}

@media screen and (max-width: 1100px) {
  .piu-header {
    z-index: 2;
    height: 55px;
  }
}

.piu-header__logo {
  padding: 26px 0 0 32px;
  width: 478px;
}

.piu-header__logo img {
  width: 100%;
  height: auto;
}

.piu-header__logo a {
  display: block;
}

.piu-header__logo a:hover {
  opacity: .75;
}

@media screen and (min-width: 1101px) and (max-width: 1340px) {
  .piu-header__logo {
    width: 36vw;
  }
}

@media screen and (max-width: 1100px) {
  .piu-header__logo {
    padding: 16px 0 0 14px;
    width: 254px;
  }
}

.piu-header__nav {
  color: #fff;
}

@media screen and (max-width: 1100px) {
  .piu-header__nav {
    display: none;
  }
}

.piu-header__nav__list {
  padding: 0 0 0 32px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
}

.piu-header__nav__list > li {
  padding: 28px 0;
  text-align: center;
  line-height: 1.3;
}

.piu-header__nav__list > li a {
  color: inherit;
}

.piu-header__nav__list > li a:hover {
  opacity: .75;
}

.piu-header__nav__list > li .label-sub {
  font-size: 1.1rem;
  display: block;
}

.piu-header__nav__list > li .label-main {
  font-size: 2rem;
  display: block;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-style: italic;
}

.piu-header__nav__list > li .tel {
  display: block;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-style: italic;
}

.piu-header__nav__list > li .tel .label-name {
  font-size: 1.6rem;
  margin-right: 2px;
}

.piu-header__nav__list > li .tel .label-number {
  font-size: 2.4rem;
}

.piu-header__nav__list > li .btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  border: 2px #fff solid;
  height: 30px;
}

.piu-header__nav__list > li .btn .ico {
  margin-right: 8px;
}

.piu-header__nav__list > li .btn .ico-mail-header {
  width: 18px;
  height: 13px;
  vertical-align: unset;
}

.piu-header__nav__list > li .btn .txt {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-style: italic;
  display: inline;
}

.piu-header__nav__list > li.is-contact {
  padding: 8px 24px 12px 24px;
  position: relative;
}

.piu-header__nav__list > li.is-contact::after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(#000000), to(#001f51));
  background: linear-gradient(to right, #000000 0%, #001f51 100%);
  left: 0;
  top: 0;
  z-index: -1;
}

@media screen and (min-width: 1101px) and (max-width: 1340px) {
  .piu-header__nav__list {
    gap: 24px;
  }
  .piu-header__nav__list > li .label-sub {
    font-size: 0.82vw;
  }
  .piu-header__nav__list > li .label-main {
    font-size: 1.49vw;
  }
  .piu-header__nav__list > li .tel .label-name {
    font-size: 1.19vw;
  }
  .piu-header__nav__list > li .tel .label-number {
    font-size: 1.79vw;
  }
  .piu-header__nav__list > li .btn .txt {
    font-size: 1.19vw;
  }
  .piu-header__nav__list > li.is-contact {
    padding-right: 12px;
    padding-left: 12px;
  }
}

.piu-sp-button {
  right: 0;
  top: 0;
  position: fixed;
  z-index: 10;
}

.piu-sp-button.is-opening .sp-menu-opener {
  color: #fff;
  z-index: 1;
}

.piu-sp-button.is-opening .sp-menu-opener .sp-menu-opener__icon > span {
  background: #fff;
}

.l-piu-section {
  padding: 80px 100px;
  position: relative;
}

@media screen and (max-width: 1100px) {
  .l-piu-section {
    padding: 32px 16px 40px 16px;
  }
}

.l-piu-section.is-bg-grad {
  background: -webkit-gradient(linear, left top, right top, from(#000000), to(#001f51));
  background: linear-gradient(to right, #000000 0%, #001f51 100%);
}

.l-piu-section.is-bg-light {
  background-color: #E6EEF3;
}

.l-piu-detail-section {
  margin-top: 80px;
}

@media screen and (max-width: 1100px) {
  .l-piu-detail-section {
    margin-top: 40px;
  }
}

.c-piu-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  position: relative;
  line-height: 1;
  padding-bottom: 12px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.c-piu-title::after {
  display: block;
  position: absolute;
  width: 64px;
  height: 6px;
  content: "";
  left: -4px;
  bottom: 0;
  background-color: #0071be;
}

.c-piu-title.is-border-red::after {
  background-color: #e6001a;
}

.c-piu-title.is-border-white::after {
  background-color: #fff;
}

.c-piu-title.is-color-white {
  color: #fff;
}

.c-piu-title .ttl-jp {
  margin-left: 12px;
  padding-bottom: 10px;
  font-size: 1.6rem;
}

.c-piu-title .ttl-en {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: 4.8rem;
}

.c-piu-title.is-lines {
  position: relative;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding-bottom: 16px;
}

.c-piu-title.is-lines .ttl-jp {
  text-align: right;
  margin-left: 0;
  position: absolute;
  right: 0;
  bottom: -16px;
}

.c-piu-title.is-lines .ttl-en {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.c-piu-title.is-large {
  padding-bottom: 20px;
}

.c-piu-title.is-large::after {
  width: 80px;
  height: 8px;
  left: -8px;
}

.c-piu-title.is-large .ttl-jp {
  font-size: 1.8rem;
}

.c-piu-title.is-large .ttl-en {
  font-size: 6.4rem;
}

.c-piu-title.is-small::after {
  width: 48px;
  left: 0;
}

.c-piu-title.is-small .ttl-jp {
  width: 100%;
  font-size: 1.4rem;
  margin-left: 0;
  margin-top: 8px;
}

.c-piu-title.is-small .ttl-en {
  width: 100%;
  font-size: 3.2rem;
}

@media screen and (max-width: 1100px) {
  .c-piu-title {
    padding-bottom: 10px;
  }
  .c-piu-title::after {
    height: 4px;
    bottom: 0;
  }
  .c-piu-title .ttl-jp {
    margin-left: 0;
    margin-top: 8px;
    padding-bottom: 6px;
    font-size: 1.4rem;
    width: 100%;
  }
  .c-piu-title .ttl-en {
    font-size: 2.8rem;
    width: 100%;
  }
  .c-piu-title.is-lines {
    padding-bottom: 12px;
  }
  .c-piu-title.is-lines .ttl-jp {
    bottom: -12px;
    text-align: left;
    position: static;
    margin-top: 8px;
  }
  .c-piu-title.is-large {
    padding-bottom: 20px;
  }
  .c-piu-title.is-large::after {
    width: 80px;
    height: 6px;
    left: -4px;
  }
  .c-piu-title.is-large .ttl-jp {
    font-size: 1.6rem;
    margin-top: 10px;
    bottom: auto;
  }
  .c-piu-title.is-large .ttl-en {
    font-size: 4rem;
  }
  .c-piu-title.is-small::after {
    width: 48px;
    left: 0;
  }
  .c-piu-title.is-small .ttl-jp {
    width: 100%;
    font-size: 1rem;
  }
  .c-piu-title.is-small .ttl-en {
    width: 100%;
    font-size: 2rem;
  }
}

.c-piu-decoration {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: 16rem;
  overflow: hidden;
  line-height: 1;
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  pointer-events: none;
}

.c-piu-decoration .c-piu-decoration__text {
  opacity: .1;
  color: #A8C3D4;
  margin: 0  -12px -24px -12px;
}

.c-piu-decoration .c-piu-decoration__text.is-color-white {
  color: #fff;
}

.c-piu-decoration .c-piu-decoration__text.is-center {
  text-align: center;
}

.c-piu-decoration .c-piu-decoration__text.is-right {
  text-align: right;
}

@media screen and (max-width: 1100px) {
  .c-piu-decoration {
    font-size: 10rem;
    pointer-events: none;
  }
  .c-piu-decoration .c-piu-decoration__text {
    margin: 0  -12px -24px -12px;
  }
}

.c-piu-button {
  border: 1px #fff solid;
  font-size: 1.8rem;
  width: 400px;
  max-width: 100%;
  height: 64px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  background: -webkit-gradient(linear, left top, right top, from(#000000), to(#001f51));
  background: linear-gradient(to right, #000000 0%, #001f51 100%);
  margin: 0 auto;
}

.c-piu-button.is-left {
  margin: 0 auto 0 0;
}

.c-piu-button .txt {
  margin: 0 4px;
  color: #fff;
  font-weight: bold;
}

.c-piu-button .ico {
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
}

.c-piu-button .ico img {
  vertical-align: unset;
  display: block;
}

.c-piu-button .ico-mail {
  left: 24px;
}

.c-piu-button .ico-arrow-right {
  right: 18px;
}

.c-piu-button .ico-arrow-left {
  left: 18px;
}

.c-piu-button .ico-download {
  right: 16px;
}

.c-piu-button:hover {
  opacity: .75;
}

.c-piu-button:hover .ico-arrow-right {
  right: 14px;
}

.c-piu-button:hover .ico-arrow-left {
  left: 14px;
}

.c-piu-button .pdf-icon {
  color: #999;
}

@media screen and (max-width: 1100px) {
  .c-piu-button {
    font-size: 1.4rem;
  }
}

.c-piu-guide-banner {
  display: block;
  background: -webkit-gradient(linear, left top, right top, from(#000000), to(#001f51));
  background: linear-gradient(to right, #000000 0%, #001f51 100%);
  padding: 16px;
  position: relative;
}

.c-piu-guide-banner__title {
  position: relative;
}

.c-piu-guide-banner__text {
  margin-top: 12px;
  color: #fff;
}

@media screen and (max-width: 1100px) {
  .c-piu-guide-banner__text {
    font-size: 1.2rem;
  }
}

.c-piu-guide-banner__icon {
  width: 30px;
  height: 12px;
  position: absolute;
  right: 16px;
  top: 24px;
}

.c-piu-guide-banner__icon img {
  width: 100%;
  height: auto;
}

.c-piu-guide-banner:hover {
  opacity: .75;
}

.c-piu-guide-banner:hover .c-piu-guide-banner__icon {
  right: 12px;
}

.c-piu-text-navy {
  color: #001F51;
}

.piu-contact {
  text-align: center;
}

.piu-contact__title {
  margin-bottom: 32px;
}

.piu-contact__title .c-piu-title {
  margin: 0 auto;
}

.piu-contact__title .txt-ttl {
  font-size: 2.4rem;
  text-align: center;
  line-height: 1.4;
}

.piu-contact__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  max-width: 1000px;
  line-height: 1.4;
  margin: 0 auto;
}

.piu-contact__body .ttl {
  font-size: 2.4rem;
  font-weight: bold;
}

.piu-contact__body .txt .sml {
  font-size: 1.4rem;
}

.piu-contact__body .btn {
  margin-top: 24px;
}

.piu-contact__body__tel {
  width: 50%;
}

.piu-contact__body__tel .num {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-style: italic;
  line-height: 1;
  margin-top: 8px;
}

.piu-contact__body__tel .num .num-label {
  font-size: 3.6rem;
}

.piu-contact__body__tel .num .num-number {
  font-size: 4.8rem;
}

.piu-contact__body__tel .num .num-note {
  margin: 2px 0 8px 0;
  font-size: 1.6rem;
  font-style: normal;
  display: block;
}

.piu-contact__body__form {
  width: 50%;
  border-left: 1px #001F51 solid;
}

@media screen and (min-width: 1101px) {
  .piu-contact.is-small .piu-contact__title {
    margin-bottom: 12px;
  }
  .piu-contact.is-small .piu-contact__body .ttl {
    font-size: 1.6rem;
  }
  .piu-contact.is-small .piu-contact__body .txt .sml {
    font-size: 1.2rem;
  }
  .piu-contact.is-small .piu-contact__body .btn {
    margin-top: 18px;
  }
  .piu-contact.is-small .piu-contact__body__tel {
    padding: 0 24px;
  }
  .piu-contact.is-small .piu-contact__body__tel .num .num-label {
    font-size: 2.4rem;
  }
  .piu-contact.is-small .piu-contact__body__tel .num .num-number {
    font-size: 3.6rem;
  }
  .piu-contact.is-small .piu-contact__body__tel .num .num-note {
    font-size: 1.4rem;
  }
  .piu-contact.is-small .piu-contact__body__tel .txt {
    font-size: 1.2rem;
  }
  .piu-contact.is-small .piu-contact__body__form {
    padding-right: 24px;
    padding-left: 24px;
  }
}

@media screen and (max-width: 1100px) {
  .piu-contact__title {
    text-align: left;
    margin-bottom: 20px;
  }
  .piu-contact__title .txt-ttl {
    font-size: 1.6rem;
  }
  .piu-contact__body {
    max-width: 100%;
    padding: 0 16px;
  }
  .piu-contact__body .ttl {
    font-size: 2rem;
  }
  .piu-contact__body .txt .sml {
    font-size: 1rem;
  }
  .piu-contact__body .btn {
    margin-top: 16px;
  }
  .piu-contact__body__tel {
    width: 100%;
  }
  .piu-contact__body__tel .num .num-label {
    font-size: 1.8rem;
  }
  .piu-contact__body__tel .num .num-number {
    font-size: 2.4rem;
  }
  .piu-contact__body__tel .num .num-number a {
    color: inherit;
  }
  .piu-contact__body__tel .num .num-note {
    font-size: 1.2rem;
  }
  .piu-contact__body__tel .txt {
    font-size: 1.2rem;
  }
  .piu-contact__body__form {
    border-top: 1px #001F51 solid;
    width: 100%;
    border-left: none;
    border-top: 1px #ccc solid;
    margin-top: 24px;
    padding-top: 24px;
  }
  .piu-contact.is-small {
    padding: 0 16px;
  }
  .piu-contact.is-small .piu-contact__title {
    margin-bottom: 12px;
  }
  .piu-contact.is-small .piu-contact__body .ttl {
    font-size: 1.4rem;
  }
  .piu-contact.is-small .piu-contact__body .txt .sml {
    font-size: 1rem;
  }
  .piu-contact.is-small .piu-contact__body .btn {
    margin-top: 8px;
  }
  .piu-contact.is-small .piu-contact__body__tel .num .num-label {
    font-size: 1.8rem;
  }
  .piu-contact.is-small .piu-contact__body__tel .num .num-number {
    font-size: 2.4rem;
  }
  .piu-contact.is-small .piu-contact__body__tel .txt {
    font-size: 1rem;
  }
  .piu-contact.is-small .piu-contact__body__form {
    margin-top: 16px;
    padding-top: 16px;
    padding-right: 8px;
    padding-left: 8px;
  }
  .piu-contact.is-small .piu-contact__body__form .btn .c-piu-button {
    height: 44px;
  }
}

.piu-home-visual {
  position: relative;
}

.piu-home-visual img {
  width: 100%;
  height: auto;
}

.piu-home-visual__text {
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  padding-top: 96px;
}

.piu-home-visual__text .txt {
  opacity: 0;
  height: 6.563vw;
  margin-top: 2px;
}

.piu-home-visual__text .txt img {
  height: 100%;
  width: auto;
}

.piu-home-visual__text .move01 {
  -webkit-animation: piuMvTextAnime 1.5s ease 0.3s forwards normal;
          animation: piuMvTextAnime 1.5s ease 0.3s forwards normal;
}

.piu-home-visual__text .move02 {
  -webkit-animation: piuMvTextAnime 1.2s ease 0.6s forwards normal;
          animation: piuMvTextAnime 1.2s ease 0.6s forwards normal;
}

.piu-home-visual__text .move03 {
  -webkit-animation: piuMvTextAnime 1s ease 0.9s forwards normal;
          animation: piuMvTextAnime 1s ease 0.9s forwards normal;
}

@media screen and (max-width: 1100px) {
  .piu-home-visual {
    margin-top: -55px;
  }
  .piu-home-visual__text {
    padding-top: 55px;
    top: auto;
    bottom: 32px;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  .piu-home-visual__text .txt {
    height: 11vw;
  }
  .piu-home-visual__text .move01 {
    -webkit-animation: piuMvTextAnime 1.5s ease 0.3s forwards normal;
            animation: piuMvTextAnime 1.5s ease 0.3s forwards normal;
  }
  .piu-home-visual__text .move02 {
    -webkit-animation: piuMvTextAnime 1.2s ease 0.6s forwards normal;
            animation: piuMvTextAnime 1.2s ease 0.6s forwards normal;
  }
  .piu-home-visual__text .move03 {
    -webkit-animation: piuMvTextAnime 1s ease 0.9s forwards normal;
            animation: piuMvTextAnime 1s ease 0.9s forwards normal;
  }
}

.piu-home-news {
  padding: 24px 100px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px 40px;
}

.piu-home-news__news {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  max-width: 920px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.piu-home-news__news__title {
  width: 144px;
}

.piu-home-news__news__list {
  width: calc(100% - 144px);
}

.piu-home-news__news__list ul > li + li {
  margin-top: 8px;
}

.piu-home-news__news__list ul > li .wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  color: #001F51;
  gap: 16px;
}

.piu-home-news__news__list ul > li .wrap .dat {
  font-size: 1.4rem;
  font-weight: bold;
}

.piu-home-news__news__list ul > li .wrap .ttl {
  font-size: 1.6rem;
  text-decoration: underline;
}

.piu-home-news__news__list ul > li .wrap:hover {
  opacity: .75;
}

.piu-home-news__news__list ul > li .wrap:hover .ttl {
  text-decoration: none;
}

@media screen and (max-width: 1100px) {
  .piu-home-news {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding: 16px;
  }
  .piu-home-news__news {
    max-width: 100%;
    width: 100%;
  }
  .piu-home-news__news__title {
    width: 100%;
  }
  .piu-home-news__news__list {
    margin: 12px 0;
    width: 100%;
  }
  .piu-home-news__news__list ul > li .wrap .dat {
    font-size: 1.2rem;
  }
  .piu-home-news__news__list ul > li .wrap .ttl {
    font-size: 1.2rem;
  }
  .piu-home-news__guide {
    max-width: 100%;
    width: 100%;
  }
}

.piu-home-recommend {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.piu-home-recommend__title {
  width: 480px;
  padding-top: 40px;
}

.piu-home-recommend__list {
  width: calc(100% - 480px);
}

.piu-home-recommend__list ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 16px;
}

.piu-home-recommend__list ul > li {
  min-width: 200px;
  width: calc((100% - 48px)/4);
  line-height: 1.4;
}

.piu-home-recommend__list ul > li .wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  width: 100%;
  padding: 12px;
  height: 100%;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  background: #fff url("/assets/img/visual/rental/piu/icon_arrow-blue.svg") calc(100% - 12px) calc(100% - 14px) no-repeat;
  background-size: 30px 12px;
}

.piu-home-recommend__list ul > li .wrap:hover {
  opacity: 0.75;
  background-position: calc(100% - 8px) calc(100% - 14px);
}

.piu-home-recommend__list ul > li .wrap .ttl {
  width: 100%;
  font-weight: bold;
  color: #282828;
}

.piu-home-recommend__list ul > li .wrap .maker {
  width: 100%;
  color: #999;
  font-size: 1.4rem;
}

.piu-home-recommend__list ul > li .wrap .img {
  width: 100%;
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
  padding: 8px 12px 12px 12px;
  text-align: center;
}

.piu-home-recommend__list ul > li .wrap .img img {
  max-width: 200px;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 1100px) {
  .piu-home-recommend__title {
    width: 100%;
    padding-top: 0;
  }
  .piu-home-recommend__list {
    width: 100%;
    margin-top: 32px;
  }
  .piu-home-recommend__list ul {
    gap: 8px;
  }
  .piu-home-recommend__list ul > li {
    min-width: 0;
    width: calc(50% - 4px);
  }
  .piu-home-recommend__list ul > li .wrap {
    padding: 8px;
    background-position: calc(100% - 10px) calc(100% - 14px);
    background-size: 20px 8px;
  }
  .piu-home-recommend__list ul > li .wrap .ttl {
    font-size: 1.2rem;
  }
  .piu-home-recommend__list ul > li .wrap .maker {
    font-size: 1rem;
  }
  .piu-home-recommend__list ul > li .wrap .img {
    padding: 4px 12px;
  }
  .piu-home-recommend__list ul > li .wrap .img img {
    max-width: 104px;
  }
}

.piu-home-equipment .search-input-area {
  position: relative;
  z-index: 1;
}

.piu-home-equipment__list {
  background-color: #001F51;
  margin: -64px -100px 50px -100px;
  padding: 124px 100px 56px 100px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.piu-home-equipment__list__title {
  width: 220px;
}

.piu-home-equipment__list__body {
  width: calc(100% - 220px);
}

.piu-home-equipment__list__body .rental-item-sect__list.is-index > li {
  width: 15.86%;
}

.piu-home-equipment__list__body .rental-item-sect__list.is-index > li a {
  background-color: #fff;
}

.piu-home-equipment__list__body .rental-item-sect__list.is-index > li a:hover {
  opacity: .75;
}

.piu-home-equipment__list__body .rental-item-sect__list.is-index > li .tit {
  font-size: 1.7rem;
}

@media screen and (max-width: 1100px) {
  .piu-home-equipment__list {
    background-color: #001F51;
    margin: -64px -16px 0 -16px;
    padding: 96px 16px 40px 16px;
  }
  .piu-home-equipment__list__title {
    width: 100%;
  }
  .piu-home-equipment__list__body {
    margin-top: 16px;
    width: 100%;
  }
  .piu-home-equipment__list__body .rental-item-sect__list.is-index > li {
    width: calc(94% / 3);
  }
  .piu-home-equipment__list__body .rental-item-sect__list.is-index > li .tit {
    font-size: 1.2rem;
    margin-top: 4px;
  }
}

@media screen and (max-width: 1100px) {
  .piu-home-equipment__catalogue {
    margin-top: 16px;
  }
}

.piu-home-guide__step ol {
  max-width: 1100px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 80px auto 48px auto;
  gap: 15px;
}

.piu-home-guide__step ol > li {
  background-color: #fff;
  padding: 32px 12px 20px 12px;
  width: calc((100% - 60px)/5);
  position: relative;
}

.piu-home-guide__step ol > li .num {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: 9.6rem;
  position: absolute;
  line-height: 1;
  left: -8px;
  top: -45px;
  display: inline-block;
  background: -webkit-gradient(linear, left bottom, left top, from(#486475), to(#99B0A7));
  background: linear-gradient(to top, #486475 0%, #99B0A7 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-filter: drop-shadow(-1px 0 0 #fff) drop-shadow(1px 0 0 #fff) drop-shadow(0 -1px 0 #fff) drop-shadow(0 1px 0 #fff);
          filter: drop-shadow(-1px 0 0 #fff) drop-shadow(1px 0 0 #fff) drop-shadow(0 -1px 0 #fff) drop-shadow(0 1px 0 #fff);
}

.piu-home-guide__step ol > li .ttl {
  font-size: 2.4rem;
  font-weight: bold;
  color: #001F51;
  text-align: center;
}

.piu-home-guide__step ol > li .ico {
  width: 96px;
  margin: 4px auto 8px auto;
}

.piu-home-guide__step ol > li .ico img {
  height: auto;
  width: 100%;
}

.piu-home-guide__button {
  text-align: center;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 1100px) {
  .piu-home-guide__step ol {
    max-width: 100%;
    margin: 32px auto;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 16px;
  }
  .piu-home-guide__step ol > li {
    padding: 16px 8px 8px 8px;
    width: calc(50% - 8px);
  }
  .piu-home-guide__step ol > li .num {
    font-size: 5.6rem;
    left: -8px;
    top: -16px;
  }
  .piu-home-guide__step ol > li .ttl {
    font-size: 1.8rem;
  }
  .piu-home-guide__step ol > li .ico {
    width: 80px;
    margin: 4px auto;
  }
  .piu-home-guide__step ol > li .txt {
    font-size: 1.2rem;
  }
  .piu-home-guide__button {
    text-align: center;
    margin: 0 auto;
    position: relative;
    z-index: 1;
  }
}

.piu-home-about__title {
  margin-bottom: 32px;
}

@media screen and (min-width: 1101px) {
  .piu-home-about__text {
    padding-bottom: 40px;
  }
}

.piu-home-about__access {
  margin-top: 80px;
  background-color: #f5f5f5;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.piu-home-about__access__text {
  width: 50%;
  padding: 40px 10%;
}

.piu-home-about__access__text .c-piu-title {
  margin-bottom: 24px;
}

.piu-home-about__access__map {
  width: 50%;
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
}

@media screen and (max-width: 1100px) {
  .piu-home-about .page-heading-level-1 {
    margin-top: 24px;
  }
  .piu-home-about__title {
    margin-bottom: 16px;
  }
  .piu-home-about__access {
    margin-top: 32px;
  }
  .piu-home-about__access__text {
    width: 100%;
    padding: 24px 16px;
  }
  .piu-home-about__access__text .c-piu-title {
    margin-bottom: 16px;
  }
  .piu-home-about__access__map {
    width: 100%;
    height: 280px;
  }
}

#map-piu {
  width: 100%;
  height: 100%;
}

.piu-detail-contact {
  margin-top: 56px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.piu-detail-contact__inquiry {
  padding: 18px 0;
  width: calc(696/1120 * 100%);
  background-color: #E6EEF3;
}

.piu-detail-contact__guide {
  width: calc(400/1120 * 100%);
}

.piu-detail-contact__guide a {
  height: 100%;
}

@media screen and (min-width: 1281px) and (max-width: 1600px) {
  .piu-detail-contact__inquiry {
    width: 660px;
  }
  .piu-detail-contact__guide {
    width: calc(100% - 704px);
    min-width: 248px;
  }
  .piu-detail-contact__guide .c-piu-guide-banner__icon {
    top: 56px;
  }
}

@media screen and (max-width: 1280px) {
  .piu-detail-contact__inquiry {
    width: 100%;
  }
  .piu-detail-contact__guide {
    width: 100%;
    margin-top: 8px;
  }
}

.piu-guide-step {
  margin: 24px 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 16px 24px;
}

.piu-guide-step dt {
  background-color: #001F51;
  color: #fff;
  font-weight: bold;
  width: 240px;
  padding: 16px;
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.piu-guide-step dt .step-num {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: 2rem;
  border: 1px #fff solid;
  line-height: 1;
  padding: 4px;
  margin-bottom: 8px;
}

.piu-guide-step dt .step-ttl {
  font-size: 2.8rem;
}

.piu-guide-step dt .step-sml {
  font-size: 1.6rem;
}

.piu-guide-step dd {
  width: calc(100% - 264px);
  text-align: left;
  padding: 16px 0;
}

.piu-guide-step dd .text-box p {
  line-height: 1.8;
}

@media screen and (max-width: 1100px) {
  .piu-guide-step {
    gap: 8px;
  }
  .piu-guide-step dt {
    padding: 16px;
    width: 100%;
  }
  .piu-guide-step dt .step-num {
    font-size: 1.2rem;
  }
  .piu-guide-step dt .step-ttl {
    font-size: 1.8rem;
  }
  .piu-guide-step dt .step-sml {
    font-size: 1.2rem;
  }
  .piu-guide-step dd {
    padding: 0 8px 16px 8px;
    width: 100%;
  }
}

.piu-guide-table {
  border-collapse: separate;
  border-spacing: 1px;
  width: 100%;
  font-size: 1.8rem;
}

.piu-guide-table th, .piu-guide-table td {
  text-align: center;
  padding: 8px 2px;
}

.piu-guide-table th {
  background-color: #485467;
  color: #fff;
  font-weight: bold;
}

.piu-guide-table th.sub-th {
  background-color: #778BAA;
}

.piu-guide-table td {
  background-color: #E6EEF3;
  min-width: 24px;
}

@media screen and (max-width: 1100px) {
  .piu-guide-table {
    font-size: 1.2rem;
    line-height: 1.4;
  }
  .piu-guide-table th, .piu-guide-table td {
    vertical-align: middle;
  }
  .piu-guide-table .th-sp-left {
    text-align: left;
    padding-right: 1em;
    padding-left: 1em;
  }
}

.piu-guide-table.is-decorative th, .piu-guide-table.is-decorative td {
  font-weight: bold;
}

@media screen and (min-width: 1101px) {
  .piu-guide-table.is-decorative th, .piu-guide-table.is-decorative td {
    font-size: 1.6rem;
  }
}

.piu-guide-table.is-decorative th {
  background-color: #A8C3D4;
  color: #333;
}

.piu-guide-table.is-decorative td {
  color: #485467;
}

.piu-guide-table.is-decorative td.deco-cell {
  background-color: #fff !important;
  padding: 6px;
  border: 2px #A8C3D4 solid;
  vertical-align: top;
}

.piu-guide-table.is-decorative td.deco-cell .cell-ttl {
  background-color: #485467;
  color: #fff;
  line-height: 40px;
}

.piu-guide-table.is-decorative td.deco-cell .cell-txt {
  color: #485467;
  padding: 8px 0 4px 0;
}

.piu-guide-table.is-decorative td.deco-cell.is-red .cell-ttl {
  background-color: #e6001a;
}

.piu-guide-table.is-decorative td.deco-cell.is-red .cell-txt {
  color: #e6001a;
}

.piu-guide-table.is-decorative td.deco-cell.is-blue .cell-ttl {
  background-color: #0071be;
  font-size: 2.4rem;
}

.piu-guide-table.is-decorative td.deco-cell.is-blue .cell-txt {
  color: #0071be;
}

@media screen and (max-width: 1100px) {
  .piu-guide-table.is-decorative td.deco-cell {
    padding: 2px;
    border-width: 1px;
  }
  .piu-guide-table.is-decorative td.deco-cell .cell-ttl {
    line-height: 1.2;
    min-height: 44px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .piu-guide-table.is-decorative td.deco-cell .cell-txt {
    padding: 2px 0  4px 0;
  }
  .piu-guide-table.is-decorative td.deco-cell.is-blue .cell-ttl {
    font-size: 1.6rem;
  }
}

.piu-guide-note {
  color: #DB989F;
  font-size: 1.4rem !important;
}

@media screen and (max-width: 1100px) {
  .piu-guide-note {
    font-size: 1rem !important;
  }
}

.piu-guide-gray {
  color: #888;
  font-size: 1.4rem !important;
}

@media screen and (max-width: 1100px) {
  .piu-guide-gray {
    font-size: 1rem !important;
  }
}

.piu-pdf-gray {
  color: #aaa;
  font-size: 1.2rem !important;
  margin: 0 0.25em;
  text-decoration: none !important;
  font-weight: normal;
}

@media screen and (max-width: 1100px) {
  .piu-pdf-gray {
    font-size: 1rem !important;
  }
}

@media screen and (min-width: 1101px) {
  .is-piu-pc-txtbig p {
    font-size: 1.8rem;
  }
}

.piu-guide-map {
  height: 480px !important;
}

@media screen and (max-width: 1100px) {
  .piu-guide-map {
    height: 320px !important;
  }
}

.pagetop {
  position: relative;
  z-index: 100;
}

#sound-business .primary-page-title {
  height: 380px;
  background-image: url("/assets/img/sound/business/soundbusiness-head.jpg");
  background-position: top center;
  background-size: cover;
}

#sound-business .primary-page-title .text-box {
  max-width: 600px;
}

@media screen and (max-width: 800px) {
  #sound-business .primary-page-title .text-box .disp-inb {
    display: inline;
  }
}

@media screen and (max-width: 800px) {
  #sound-business .primary-page-title {
    height: 240px;
    background-image: url("/assets/img/sound/business/soundbusiness-head-sp.jpg");
  }
}

#sound-recording .primary-page-title {
  height: 380px;
  background-image: url("/assets/img/sound/recording/soundrecording-head.jpg");
  background-position: top center;
  background-size: cover;
}

#sound-recording .primary-page-title .text-box {
  max-width: 600px;
}

@media screen and (max-width: 800px) {
  #sound-recording .primary-page-title .text-box .disp-inb {
    display: inline;
  }
}

@media screen and (max-width: 800px) {
  #sound-recording .primary-page-title {
    height: 240px;
    background-image: url("/assets/img/sound/recording/soundrecording-head-sp.jpg");
  }
}

/*------------------------------
  トップ
------------------------------*/
#sound .main-sect {
  position: relative;
}

#sound .main-sect__wrap {
  padding-top: 0;
}

#sound .main-sect .main-sect__bg {
  overflow: hidden;
  width: 100%;
  height: 100%;
}

#sound .main-sect .main-sect__bg img {
  width: auto;
  max-width: 100%;
  height: auto;
}

#sound .main-sect .main-sect__inner {
  position: relative;
  z-index: 1;
}

#sound .main-sect .main-sect__inner .main-sect__main {
  color: #fff;
  background-color: #282828;
}

#sound .main-sect .main-sect__inner .main-sect__main .main-sect__title {
  font-weight: bold;
}

#sound .main-sect .main-sect__inner .main-sect__main .main-sect__title small {
  font-weight: normal;
}

#sound .main-sect .main-sect__inner .main-sect__main .main-sect__lead {
  line-height: 2;
}

@media screen and (min-width: 801px) {
  #sound .main-sect {
    margin: 0 -100px;
    margin-top: 4px;
  }
  #sound .main-sect-business .main-sect__bg {
    padding-right: 100px;
  }
  #sound .main-sect-business .main-sect__inner {
    margin: 0 0 0 auto;
  }
  #sound .main-sect--facility .main-sect__bg {
    padding-left: 100px;
  }
  #sound .main-sect--facility .main-sect__inner {
    margin: 0 auto 0 0;
  }
  #sound .main-sect .main-sect__bg {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 100%;
  }
  #sound .main-sect .main-sect__bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .is-IE #sound .main-sect .main-sect__bg img {
    position: relative;
    height: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  #sound .main-sect .main-sect__inner {
    width: 680px;
    padding-top: 100px;
  }
  #sound .main-sect .main-sect__inner .main-sect__main {
    padding: 75px 100px 70px;
  }
  #sound .main-sect .main-sect__inner .main-sect__main .main-sect__title {
    font-size: 3.2rem;
    line-height: 1.1;
  }
  #sound .main-sect .main-sect__inner .main-sect__main .main-sect__title small {
    font-size: 1.6rem;
  }
  #sound .main-sect .main-sect__inner .main-sect__main .main-sect__lead {
    font-size: 1.6rem;
    margin-top: 35px;
  }
  #sound .main-sect .main-sect__inner .main-sect__main .main-sect__button {
    margin-top: 30px;
  }
}

@media screen and (max-width: 800px) {
  #sound .main-sect {
    margin: 0 -20px;
  }
  #sound .main-sect--facility {
    margin-top: 50px;
  }
  #sound .main-sect .main-sect__inner {
    padding-left: 20px;
  }
  #sound .main-sect .main-sect__inner .main-sect__main {
    position: relative;
    margin-top: -20%;
    padding: 35px 35px 40px;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #sound .main-sect .main-sect__inner .main-sect__main {
    margin-top: -120px;
  }
}

@media screen and (max-width: 800px) {
  #sound .main-sect .main-sect__inner .main-sect__main .main-sect__title {
    font-size: 3.2rem;
    line-height: 1.3;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #sound .main-sect .main-sect__inner .main-sect__main .main-sect__title {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 800px) {
  #sound .main-sect .main-sect__inner .main-sect__main .main-sect__title small {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #sound .main-sect .main-sect__inner .main-sect__main .main-sect__title small {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 800px) {
  #sound .main-sect .main-sect__inner .main-sect__main .main-sect__lead {
    font-size: 1.6rem;
    margin-top: 25px;
  }
}

@media screen and (max-width: 800px) and (max-width: 670px) {
  #sound .main-sect .main-sect__inner .main-sect__main .main-sect__lead {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 800px) {
  #sound .main-sect .main-sect__inner .main-sect__main .main-sect__button {
    margin-top: 20px;
  }
}

/*------------------------------
  業務内容
-----------------------------*/
#sound-business .strength-sect {
  margin-top: 80px;
}

@media screen and (max-width: 670px) {
  #sound-business .strength-sect {
    margin-top: 40px;
  }
}

#sound-business .strength-sect .strength-inner-sect {
  margin-top: 80px;
}

@media screen and (max-width: 670px) {
  #sound-business .strength-sect .strength-inner-sect {
    margin-top: 50px;
  }
}

#sound-business .strength-sect .strength-inner-sect:first-child {
  margin-top: 0;
}

#sound-business .relate-sect {
  margin-top: 100px;
}

@media screen and (max-width: 670px) {
  #sound-business .relate-sect {
    margin-top: 40px;
  }
}

/*------------------------------
  レコーディング設備
-----------------------------*/
#sound-recording .odyssey-sect {
  margin-top: 80px;
}

@media screen and (max-width: 670px) {
  #sound-recording .odyssey-sect {
    margin-top: 40px;
  }
}

#sound-recording .studio-sect {
  margin-top: 80px;
}

@media screen and (max-width: 670px) {
  #sound-recording .studio-sect {
    margin-top: 40px;
  }
}
