@charset "UTF-8";
/* -----------------------------------------------------------
©PFU Limited 2021
----------------------------------------------------------- */
/* -----------------------------------------------------------
Sass Definition
----------------------------------------------------------- */
html {
  font-size: 10px;
  color: #4C4C4C;
}

h1, h2, h3, h4, h5 {
  line-height: 1.4em;
  margin: 0 auto;
  color: #333;
  width: 100%;
  font-weight: bold;
}
@media all and (-ms-high-contrast: none) {
  h1, h2, h3, h4, h5 {
    font-family: "游ゴシック";
  }
}
@media screen and (min-width: 561px) and (max-width: 1279px) {
  h1, h2, h3, h4, h5 {
    line-height: 1.6em;
  }
}

h2, h3, h4, h5 {
  margin: 0 auto;
  max-width: 960px;
  width: calc(100% - (6.22% * 2));
}
@media screen and (min-width: 1367px) {
  h2, h3, h4, h5 {
    max-width: 1200px;
  }
}
@media screen and (min-width: 1024px) {
  h2, h3, h4, h5 {
    width: 100%;
  }
}

h1 {
  font-size: 2.4rem;
}
@media screen and (min-width: 561px) {
  h1 {
    font-size: 3.4rem;
  }
}
@media screen and (min-width: 1280px) {
  h1 {
    font-size: 4.2rem;
  }
}

h2 {
  font-size: 2rem;
  text-align: center;
}
@media screen and (min-width: 561px) {
  h2 {
    font-size: 3.4rem;
    margin: 0 auto;
  }
}
h2.cc .small {
  font-size: 2rem;
}
h2.cc .small:after {
  content: "\a";
  white-space: pre;
}
h2.accent {
  position: relative;
}
h2.accent.short {
  padding: 0 0 20px;
}
h2.accent.short:before {
  content: "";
  position: absolute;
  bottom: 0;
  width: 100px;
  height: 6px;
  left: 50%;
  transform: translateX(-50%);
  background: #163182;
}

h3 {
  font-size: 1.8rem;
}
@media screen and (min-width: 561px) {
  h3 {
    font-size: 2.8rem;
  }
}
h3.accent {
  position: relative;
}
h3.accent.num {
  padding: 0.5rem 0 0.5rem 4.6rem;
  border-bottom: 4px solid;
  border-color: #163182;
}
@media screen and (min-width: 561px) {
  h3.accent.num {
    padding: 1.2rem 0 1.2rem 8.2rem;
  }
}
h3.accent.num .number {
  position: absolute;
  height: 100%;
  background-color: #163182;
  padding: 0.8rem 1.2rem 0;
  color: #fff;
  font-size: 2.2rem;
  left: 0;
  bottom: 0;
}
@media screen and (min-width: 561px) {
  h3.accent.num .number {
    padding: 1.4rem 2.1rem 0;
    font-size: 3.4rem;
  }
}
h3.accent.sideline {
  padding: 0.5rem 0 0.5rem 1rem;
  border-left: 20px solid;
  border-bottom: 4px solid;
  border-color: #163182;
}
@media screen and (min-width: 561px) {
  h3.accent.sideline {
    padding: 1.2rem 0 1.2rem 2rem;
  }
}
h3.accent.underline {
  padding: 0 0 0.5rem;
  border-bottom: 4px solid;
  border-color: #163182;
}
@media screen and (min-width: 561px) {
  h3.accent.underline {
    padding: 0 0 1.2rem;
  }
}

h4 {
  font-size: 1.6rem;
}
@media screen and (min-width: 561px) {
  h4 {
    font-size: 2.4rem;
  }
}
h4.accent {
  position: relative;
}
h4.accent.num {
  padding: 0.5rem 0 0.5rem 4.6rem;
  border-bottom: 4px solid;
  border-color: #163182;
}
@media screen and (min-width: 561px) {
  h4.accent.num {
    padding: 1.2rem 0 1.2rem 8.2rem;
  }
}
h4.accent.num .number {
  position: absolute;
  height: 100%;
  background-color: #163182;
  padding: 0.8rem 1.2rem 0;
  color: #fff;
  font-size: 2.2rem;
  left: 0;
  bottom: 0;
}
@media screen and (min-width: 561px) {
  h4.accent.num .number {
    padding: 1.4rem 2.1rem 0;
    font-size: 3.4rem;
  }
}
h4.accent.sideline {
  padding: 0.5rem 0 0.5rem 1rem;
  border-left: 20px solid;
  border-bottom: 4px solid;
  border-color: #163182;
}
@media screen and (min-width: 561px) {
  h4.accent.sideline {
    padding: 1.2rem 0 1.2rem 2rem;
  }
}
h4.accent.underline {
  padding: 0 0 0.5rem;
  border-bottom: 4px solid;
  border-color: #163182;
}
@media screen and (min-width: 561px) {
  h4.accent.underline {
    padding: 0 0 1.2rem;
  }
}
h4.accent.horizon {
  padding: 0 0 0 42px;
}
h4.accent.horizon:before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: 0;
  bottom: 0;
  width: 30px;
  height: 6px;
  background: #163182;
  margin: auto;
}

h5 {
  font-size: 1.8rem;
}
@media screen and (min-width: 561px) {
  h5 {
    font-size: 2rem;
  }
}
h5.accent {
  position: relative;
}
h5.accent.horizon {
  padding: 0 0 0 32px;
}
h5.accent.horizon:before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: 0;
  bottom: 0;
  width: 20px;
  height: 6px;
  background: #163182;
  margin: auto;
}

p, th, td, li {
  font-size: 1.6rem;
  line-height: 1.4;
}
@media screen and (min-width: 561px) {
  p, th, td, li {
    font-size: 1.6rem;
    line-height: 1.6;
  }
}

/* common */
.mt_80 {
  margin-top: 40px !important;
}
@media screen and (min-width: 561px) {
  .mt_80 {
    margin-top: 80px !important;
  }
}
.mt_60 {
  margin-top: 30px !important;
}
@media screen and (min-width: 561px) {
  .mt_60 {
    margin-top: 60px !important;
  }
}
.mt_40 {
  margin-top: 20px !important;
}
@media screen and (min-width: 561px) {
  .mt_40 {
    margin-top: 40px !important;
  }
}
.mt_40-30 {
  margin-top: 30px !important;
}
@media screen and (min-width: 561px) {
  .mt_40-30 {
    margin-top: 40px !important;
  }
}
.mt_30 {
  margin-top: 20px !important;
}
@media screen and (min-width: 561px) {
  .mt_30 {
    margin-top: 30px !important;
  }
}
.mt_20 {
  margin-top: 10px !important;
}
@media screen and (min-width: 561px) {
  .mt_20 {
    margin-top: 20px !important;
  }
}

.mb_80 {
  margin-bottom: 40px !important;
}
@media screen and (min-width: 561px) {
  .mb_80 {
    margin-bottom: 80px !important;
  }
}
.mb_60 {
  margin-bottom: 30px !important;
}
@media screen and (min-width: 561px) {
  .mb_60 {
    margin-bottom: 60px !important;
  }
}
.mb_40 {
  margin-bottom: 20px !important;
}
@media screen and (min-width: 561px) {
  .mb_40 {
    margin-bottom: 40px !important;
  }
}
.mb_30 {
  margin-bottom: 20px !important;
}
@media screen and (min-width: 561px) {
  .mb_30 {
    margin-bottom: 30px !important;
  }
}
.mb_20 {
  margin-bottom: 10px !important;
}
@media screen and (min-width: 561px) {
  .mb_20 {
    margin-bottom: 20px !important;
  }
}

/* preset */
.section_basic .inner h2 + *,
.section_color .inner h2 + * {
  margin: 30px auto 0;
}
@media screen and (min-width: 561px) {
  .section_basic .inner h2 + *,
  .section_color .inner h2 + * {
    margin: 60px auto 0;
  }
}
.section_basic .inner h2 + .anchor_link,
.section_basic .inner h2 + .anchor_link2,
.section_basic .inner h2 + .anchor_link3,
.section_color .inner h2 + .anchor_link,
.section_color .inner h2 + .anchor_link2,
.section_color .inner h2 + .anchor_link3 {
  margin: 20px auto 0;
}
@media screen and (min-width: 561px) {
  .section_basic .inner h2 + .anchor_link,
  .section_basic .inner h2 + .anchor_link2,
  .section_basic .inner h2 + .anchor_link3,
  .section_color .inner h2 + .anchor_link,
  .section_color .inner h2 + .anchor_link2,
  .section_color .inner h2 + .anchor_link3 {
    margin: 40px auto 0;
  }
}
.section_basic .inner h2 + h3,
.section_color .inner h2 + h3 {
  margin: 40px auto 0;
}
@media screen and (min-width: 561px) {
  .section_basic .inner h2 + h3,
  .section_color .inner h2 + h3 {
    margin: 80px auto 0;
  }
}
.section_basic .inner h2.accent.short + h3,
.section_color .inner h2.accent.short + h3 {
  margin: 60px auto 0;
}
@media screen and (min-width: 561px) {
  .section_basic .inner h2.accent.short + h3,
  .section_color .inner h2.accent.short + h3 {
    margin: 94px auto 0;
  }
}
.section_basic .inner h3 + *,
.section_color .inner h3 + * {
  margin: 20px auto 0;
}
@media screen and (min-width: 561px) {
  .section_basic .inner h3 + *,
  .section_color .inner h3 + * {
    margin: 30px auto 0;
  }
}
.section_basic .inner h3 + h3,
.section_color .inner h3 + h3 {
  margin: 20px auto 0;
}
@media screen and (min-width: 561px) {
  .section_basic .inner h3 + h3,
  .section_color .inner h3 + h3 {
    margin: 40px auto 0;
  }
}
.section_basic .inner h3 + h4,
.section_color .inner h3 + h4 {
  margin: 30px auto 0;
}
@media screen and (min-width: 561px) {
  .section_basic .inner h3 + h4,
  .section_color .inner h3 + h4 {
    margin: 60px auto 0;
  }
}
.section_basic .inner h4 + *,
.section_color .inner h4 + * {
  margin: 10px auto 0;
}
@media screen and (min-width: 561px) {
  .section_basic .inner h4 + *,
  .section_color .inner h4 + * {
    margin: 20px auto 0;
  }
}
.section_basic .inner h4 + h4,
.section_color .inner h4 + h4 {
  margin: 15px auto 0;
}
@media screen and (min-width: 561px) {
  .section_basic .inner h4 + h4,
  .section_color .inner h4 + h4 {
    margin: 30px auto 0;
  }
}
.section_basic .inner h4 + h5,
.section_color .inner h4 + h5 {
  margin: 20px auto 0;
}
@media screen and (min-width: 561px) {
  .section_basic .inner h4 + h5,
  .section_color .inner h4 + h5 {
    margin: 40px auto 0;
  }
}
.section_basic .inner h5 + *,
.section_color .inner h5 + * {
  margin: 10px auto 0;
}
@media screen and (min-width: 561px) {
  .section_basic .inner h5 + *,
  .section_color .inner h5 + * {
    margin: 20px auto 0;
  }
}
.section_basic .inner h5 + h5,
.section_color .inner h5 + h5 {
  margin: 10px auto 0;
}
@media screen and (min-width: 561px) {
  .section_basic .inner h5 + h5,
  .section_color .inner h5 + h5 {
    margin: 20px auto 0;
  }
}
.section_basic .inner > div + h3,
.section_basic .inner > section + h3,
.section_color .inner > div + h3,
.section_color .inner > section + h3 {
  margin: 40px auto 0;
}
@media screen and (min-width: 561px) {
  .section_basic .inner > div + h3,
  .section_basic .inner > section + h3,
  .section_color .inner > div + h3,
  .section_color .inner > section + h3 {
    margin: 80px auto 0;
  }
}
.section_basic .inner > div + h4,
.section_basic .inner > section + h4,
.section_color .inner > div + h4,
.section_color .inner > section + h4 {
  margin: 30px auto 0;
}
@media screen and (min-width: 561px) {
  .section_basic .inner > div + h4,
  .section_basic .inner > section + h4,
  .section_color .inner > div + h4,
  .section_color .inner > section + h4 {
    margin: 60px auto 0;
  }
}
.section_basic .inner > div + h5,
.section_basic .inner > section + h5,
.section_color .inner > div + h5,
.section_color .inner > section + h5 {
  margin: 20px auto 0;
}
@media screen and (min-width: 561px) {
  .section_basic .inner > div + h5,
  .section_basic .inner > section + h5,
  .section_color .inner > div + h5,
  .section_color .inner > section + h5 {
    margin: 30px auto 0;
  }
}
.section_basic .inner > div > h3,
.section_basic .inner > section > h3,
.section_color .inner > div > h3,
.section_color .inner > section > h3 {
  margin: 40px auto 0;
}
@media screen and (min-width: 561px) {
  .section_basic .inner > div > h3,
  .section_basic .inner > section > h3,
  .section_color .inner > div > h3,
  .section_color .inner > section > h3 {
    margin: 80px auto 0;
  }
}
.section_basic .inner > div + div,
.section_basic .inner > div + section,
.section_basic .inner > section + div,
.section_basic .inner > section + section,
.section_color .inner > div + div,
.section_color .inner > div + section,
.section_color .inner > section + div,
.section_color .inner > section + section {
  margin: 20px auto 0;
}
@media screen and (min-width: 561px) {
  .section_basic .inner > div + div,
  .section_basic .inner > div + section,
  .section_basic .inner > section + div,
  .section_basic .inner > section + section,
  .section_color .inner > div + div,
  .section_color .inner > div + section,
  .section_color .inner > section + div,
  .section_color .inner > section + section {
    margin: 30px auto 0;
  }
}
.section_basic .inner > div ul, .section_basic .inner > div ol,
.section_basic .inner > section ul,
.section_basic .inner > section ol,
.section_color .inner > div ul,
.section_color .inner > div ol,
.section_color .inner > section ul,
.section_color .inner > section ol {
  margin: 20px auto 0;
}
@media screen and (min-width: 561px) {
  .section_basic .inner > div ul, .section_basic .inner > div ol,
  .section_basic .inner > section ul,
  .section_basic .inner > section ol,
  .section_color .inner > div ul,
  .section_color .inner > div ol,
  .section_color .inner > section ul,
  .section_color .inner > section ol {
    margin: 30px auto 0;
  }
}
.section_basic .inner > div > section > h3,
.section_basic .inner > section > section > h3,
.section_color .inner > div > section > h3,
.section_color .inner > section > section > h3 {
  margin: 40px auto 0;
}
@media screen and (min-width: 561px) {
  .section_basic .inner > div > section > h3,
  .section_basic .inner > section > section > h3,
  .section_color .inner > div > section > h3,
  .section_color .inner > section > section > h3 {
    margin: 80px auto 0;
  }
}
.section_basic .inner > div > section > div,
.section_basic .inner > div > section > section,
.section_basic .inner > section > section > div,
.section_basic .inner > section > section > section,
.section_color .inner > div > section > div,
.section_color .inner > div > section > section,
.section_color .inner > section > section > div,
.section_color .inner > section > section > section {
  margin: 20px auto 0;
}
@media screen and (min-width: 561px) {
  .section_basic .inner > div > section > div,
  .section_basic .inner > div > section > section,
  .section_basic .inner > section > section > div,
  .section_basic .inner > section > section > section,
  .section_color .inner > div > section > div,
  .section_color .inner > div > section > section,
  .section_color .inner > section > section > div,
  .section_color .inner > section > section > section {
    margin: 30px auto 0;
  }
}

/* -----------------------------------------------------------
Fonts
----------------------------------------------------------- */
@font-face {
  font-family: "Spartan";
  font-style: normal;
  font-weight: 500;
  src: url("/common/fonts/spartan-v3-latin-500/spartan-v3-latin-500.eot"); /* IE9 Compat Modes */
  src: local(""), url("/common/fonts/spartan-v3-latin-500/spartan-v3-latin-500.eot?#iefix") format("embedded-opentype"), url("/common/fonts/spartan-v3-latin-500/spartan-v3-latin-500.woff2") format("woff2"), url("/common/fonts/spartan-v3-latin-500/spartan-v3-latin-500.woff") format("woff"), url("/common/fonts/spartan-v3-latin-500/spartan-v3-latin-500.ttf") format("truetype"), url("/common/fonts/spartan-v3-latin-500/spartan-v3-latin-500.svg#Spartan") format("svg"); /* Legacy iOS */
}
@font-face {
  font-family: "Spartan Bold";
  font-style: normal;
  font-weight: 700;
  src: url("/common/fonts/spartan-v3-latin-700/spartan-v3-latin-700.eot"); /* IE9 Compat Modes */
  src: local(""), url("/common/fonts/spartan-v3-latin-700/spartan-v3-latin-700.eot?#iefix") format("embedded-opentype"), url("/common/fonts/spartan-v3-latin-700/spartan-v3-latin-700.woff2") format("woff2"), url("/common/fonts/spartan-v3-latin-700/spartan-v3-latin-700.woff") format("woff"), url("/common/fonts/spartan-v3-latin-700/spartan-v3-latin-700.ttf") format("truetype"), url("/common/fonts/spartan-v3-latin-700/spartan-v3-latin-700.svg#Spartan") format("svg"); /* Legacy iOS */
}
/* noto-serif-jp-500 - latin_japanese */
@font-face {
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 500;
  src: url("/common/fonts/noto-serif-jp-v8-latin_japanese-500/noto-serif-jp-v8-latin_japanese-500.eot"); /* IE9 Compat Modes */
  src: local(""), url("/common/fonts/noto-serif-jp-v8-latin_japanese-500/noto-serif-jp-v8-latin_japanese-500.eot?#iefix") format("embedded-opentype"), url("/common/fonts/noto-serif-jp-v8-latin_japanese-500/noto-serif-jp-v8-latin_japanese-500.woff2") format("woff2"), url("/common/fonts/noto-serif-jp-v8-latin_japanese-500/noto-serif-jp-v8-latin_japanese-500.woff") format("woff"), url("/common/fonts/noto-serif-jp-v8-latin_japanese-500/noto-serif-jp-v8-latin_japanese-500.ttf") format("truetype"), url("/common/fonts/noto-serif-jp-v8-latin_japanese-500/noto-serif-jp-v8-latin_japanese-500.svg#NotoSerifJP") format("svg"); /* Legacy iOS */
}
/* -----------------------------------------------------------
Definition
----------------------------------------------------------- */
body {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "游ゴシック体", "メイリオ", sans-serif, "Droid Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif, FontAwesome;
  overflow-wrap: break-word;
}

a {
  color: #163182;
}
a:hover {
  text-decoration: underline;
}

.fit {
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}

.pfu_main {
  position: relative;
}

.contents-area {
  position: relative;
  background: #fff;
}

#container {
  position: relative;
}

#logo {
  float: left;
  padding: 4px 0 4px 9px;
}
@media screen and (min-width: 1024px) {
  #logo {
    padding: 0 0 0 45px;
  }
}
#logo img {
  width: 87.52px;
  height: auto;
}
@media screen and (min-width: 1024px) {
  #logo img {
    width: 120px;
    height: auto;
    padding-top: 10px;
  }
}

@media screen and (min-width: 1024px) {
  #headlink {
    height: 100%;
    float: right;
    text-align: right;
  }
}

#guideNav {
  float: right;
  padding: 12px 75px 0 0;
  color: #4C4C4C;
}
@media screen and (min-width: 1024px) {
  #guideNav {
    padding: 9px 45px 0 0;
  }
}
#guideNav li {
  text-align: center;
  font-size: 0.9rem;
}
@media screen and (min-width: 1024px) {
  #guideNav li {
    width: 109px;
    display: flex;
    font-size: 1.2rem;
    padding: 0 10px;
  }
}
#guideNav li a {
  font-family: "Spartan", sans-serif;
  height: 100%;
  color: #666666;
}
@media screen and (min-width: 1024px) {
  #guideNav li a {
    position: relative;
  }
}
#guideNav li a:after {
  content: "EN";
}
@media screen and (min-width: 1024px) {
  #guideNav li a:after {
    content: "ENGLISH";
    position: absolute;
    top: 0;
    right: -5.6em;
    padding: 2px 0 0 0;
  }
}
#guideNav li img {
  display: block;
  padding: 0 0 6px;
}
@media screen and (min-width: 1024px) {
  #guideNav li img {
    width: 18px;
    margin: 0 6px 0 0;
    width: auto;
  }
}
#guideNav li:hover a {
  color: #000;
  text-decoration: none;
}
#guideNav li:hover .svg .path {
  fill: #000;
}
#guideNav .mb {
  display: block;
}
@media screen and (min-width: 1024px) {
  #guideNav .mb {
    display: none;
  }
}
#guideNav .pc {
  display: none;
}
@media screen and (min-width: 1024px) {
  #guideNav .pc {
    display: block;
  }
}

#toggleMenu {
  position: fixed;
  top: 0;
  right: 0;
  width: 55px;
  height: 66px;
  overflow-y: auto;
  z-index: 10000;
}
@media screen and (min-width: 1024px) {
  #toggleMenu {
    background: #00f;
    display: none;
  }
}
#toggleMenu .toggle_icon {
  position: absolute;
  top: 14px;
  right: 22px;
  z-index: 10000;
  cursor: pointer;
  font-size: 0.9rem;
  text-align: center;
  display: block;
  font-family: "Spartan", sans-serif;
  color: #666666;
}
#toggleMenu .toggle_icon img {
  width: 24px;
  height: auto;
  padding-bottom: 10px;
}
#toggleMenu .menu-head {
  width: 100%;
  height: 66px;
}
#toggleMenu .menu-head .svg {
  margin-top: 20px;
  margin-left: 20px;
  width: 24px;
  height: 24px;
}
#toggleMenu .menu-head .svg .path {
  fill: #fff;
}
#toggleMenu .menu-list {
  height: 100%;
  background: #163182;
}
#toggleMenu ul .t06:first-child {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
}
#toggleMenu ul li {
  position: relative;
}
#toggleMenu ul li a {
  display: block;
  position: relative;
  padding: 15px 0 14px 20px;
  font-size: 1.4rem;
  line-height: 1.4em;
  color: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  font-weight: bold;
}
@media all and (-ms-high-contrast: none) {
  #toggleMenu ul li a {
    font-family: "游ゴシック";
  }
}
#toggleMenu ul li a:hover {
  text-decoration: none;
}
#toggleMenu ul li a::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  right: 24px;
  top: calc(50% - 1px);
  border-top: solid 1px;
  border-right: solid 1px;
  transform: rotate(45deg) translateY(-50%);
  color: #fff;
}
#toggleMenu ul li span.linknone {
  display: block;
  width: 100%;
  color: #fff;
  padding: 6px 10px;
  box-sizing: border-box;
}
#toggleMenu ul.submenu .pcttl, #toggleMenu ul.submenu .pickup {
  display: none;
}
#toggleMenu ul.submenu li.subttl span {
  background: rgba(0, 0, 0, 0.2);
}
#toggleMenu ul.submenu li.subttl span a {
  padding: 15px 0 14px 30px;
}
#toggleMenu ul.submenu li.subttl2 span {
  background: rgba(0, 0, 0, 0.4);
  font-size: 81.2%;
  font-weight: normal;
}
#toggleMenu ul.submenu li.subttl2 dfn {
  display: none;
}
#toggleMenu .is-open::after, #toggleMenu .is-close::after {
  position: absolute;
  top: calc(50% - 8px);
  right: 16px;
  cursor: pointer;
}
#toggleMenu .open_close {
  display: block;
}
#toggleMenu .close_open {
  display: none;
}

#smart_search {
  display: block;
  width: 100%;
  background: #163182;
  position: relative;
}
#smart_search #SS_searchForm1 {
  width: 100%;
  margin: 0 auto;
  padding: 10px 20px 20px;
}
#smart_search #SS_searchQuery1 {
  width: 100%;
  vertical-align: middle;
  background: #fff;
  height: 34px;
  padding: 0 0 0 8px;
  font-size: 1.4rem;
}
#smart_search #submit1 {
  height: 34px;
  width: 54px;
  padding: 8px;
  position: absolute;
  right: 20px;
  top: 10px;
  background: #666;
}

/*========================
■5: search
========================*/
#search {
  display: none;
}
@media screen and (min-width: 1024px) {
  #search {
    display: inline-block;
    margin: 0 28px 0 0;
    text-align: left;
  }
  #search .SS_searchForm {
    position: relative;
    width: 130px;
    height: 36px;
    background-color: #F5F5F5;
    transition-duration: 0.3s;
  }
  #search .SS_searchForm .submit {
    position: absolute;
    top: 5.7px;
    left: 20.7px;
  }
  #search .SS_searchForm .input {
    font-family: "Spartan", sans-serif;
    width: 100%;
    padding: 0;
  }
  #search .SS_searchForm input[type=text] {
    border: none;
    font-size: 1.2rem;
    padding: 10px 0px 10px 48px;
    color: #4C4C4C;
  }
  #search .SS_searchForm input[type=text]:focus {
    outline: 0;
  }
  #search input:hover::-webkit-input-placeholder, #search input:hover::-moz-placeholder, #search input:hover::-ms-input-placeholder, #search input:hover::placeholder {
    color: transparent;
  }
  #search img {
    display: none;
  }
}

@media screen and (min-width: 1024px) {
  #SS_searchQuery {
    width: 100%;
    vertical-align: middle;
    border: solid 1px #999;
    padding: 5px 2px;
    font-size: 1.4rem;
  }
}

/*========================
■6: dropdownMenu / globalNav
========================*/
#dropdownMenu {
  display: none;
}
@media screen and (min-width: 1024px) {
  #dropdownMenu {
    position: relative;
    clear: both;
    display: block;
    width: 100%;
    margin: 0 0 0 auto;
    padding: 14px 35px 0 0;
  }
}
@media screen and (min-width: 900px) {
  #dropdownMenu #dropdownMenu li.c3w > ul.submenu, #dropdownMenu #dropdownMenu li.c4 > ul.submenu {
    width: 880px;
  }
}
@media screen and (min-width: 1000px) {
  #dropdownMenu #dropdownMenu li.c3w > ul.submenu, #dropdownMenu #dropdownMenu li.c4 > ul.submenu {
    width: 980px;
  }
  #dropdownMenu.c3w > ul.submenu, #dropdownMenu.c4 > ul.submenu, #dropdownMenu.t01 > ul.submenu {
    left: -155px;
  }
}
#dropdownMenu .pickup {
  position: relative;
  display: none;
  width: 180px !important;
  height: 390px;
  margin: -41.67px 0 0 30px;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  #dropdownMenu .pickup {
    display: block;
  }
}
@media screen and (min-width: 1140px) {
  #dropdownMenu .pickup {
    width: 300px !important;
  }
}
#dropdownMenu .pickup .slick-dotted.slick-slider {
  margin-bottom: 0;
}
#dropdownMenu .pickup .slick-dots li {
  width: 20px;
  bottom: -100%;
}
#dropdownMenu .pickup .slick-dots li.slick-active button:before {
  color: #fff;
}
#dropdownMenu .pickup .pickup_slick {
  width: 100%;
  height: 100%;
}
#dropdownMenu .pickup .pickup_slick a {
  color: #fff;
  display: block;
  float: left;
  width: 100%;
  height: 100%;
}
#dropdownMenu .pickup img {
  display: block;
  width: 100%;
  max-height: 128px;
  height: 100%;
  margin-bottom: 20px;
}
@media screen and (min-width: 1140px) {
  #dropdownMenu .pickup img {
    max-height: 214px;
  }
}
#dropdownMenu .pickup .pickup_t {
  font-size: 2rem;
  margin-bottom: 20px;
}
#dropdownMenu .pickup .category {
  display: inline-block;
  font-size: 1rem;
  padding: 3px 10px;
  margin-bottom: 9px;
}
#dropdownMenu .pickup .title {
  font-size: 1.2rem;
  line-height: 1.6em;
}
#dropdownMenu .pickup .news {
  background-color: #D6466B;
}
#dropdownMenu .pickup .news::before {
  content: "ニュース";
}
#dropdownMenu .pickup .product {
  background-color: #5678CE;
}
#dropdownMenu .pickup .product::before {
  content: "イノベーション";
}
#dropdownMenu .pickup .service {
  background-color: #5678CE;
}
#dropdownMenu .pickup .service::before {
  content: "サービス";
}
#dropdownMenu .pickup .sustainability {
  background-color: #5678CE;
}
#dropdownMenu .pickup .sustainability::before {
  content: "サスティナビリティ";
}
#dropdownMenu .pickup .topic {
  background-color: #BC9E4D;
}
#dropdownMenu .pickup .topic::before {
  content: "トピックス";
}
#dropdownMenu .pickup .event {
  background-color: #1c9c9c;
}
#dropdownMenu .pickup .event::before {
  content: "イベント";
}
#dropdownMenu .pickup .journal {
  background-color: #A154A7;
}
#dropdownMenu .pickup .journal::before {
  content: "PFUジャーナル";
}
#dropdownMenu .open_close {
  display: inline-block;
}
#dropdownMenu .ttl {
  position: relative;
  color: #4C4C4C;
}
#dropdownMenu .ttl::after {
  content: "";
  position: absolute;
  bottom: 8px;
  left: 0;
  width: 100%;
  height: 4px;
  background: #163182;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
}
#dropdownMenu .ttl:hover::after {
  transform: scale(1, 1);
}
#dropdownMenu ul li.t01, #dropdownMenu ul li.t03, #dropdownMenu ul li.t02, #dropdownMenu ul li.t04, #dropdownMenu ul li.t05, #dropdownMenu ul li.t06 {
  font-size: 1.5rem;
  padding: 10px 24px 12px;
}
#dropdownMenu ul li.ttl > span > a {
  padding: 6px 0;
}
#dropdownMenu ul li:hover > span > a.mainttl {
  text-decoration: none !important;
}
#dropdownMenu ul li ul {
  visibility: hidden;
  opacity: 0;
  transition: 0;
}
#dropdownMenu ul li:hover ul, #dropdownMenu ul li:active ul {
  visibility: visible;
  opacity: 1;
  transition: 0.5s;
}
#dropdownMenu ul li.t06 {
  display: none;
}
#dropdownMenu ul.submenu {
  clear: both;
  position: fixed;
  top: 100px;
  left: 0;
  text-align: left;
  margin: 0 auto;
  width: 100%;
  padding: 38px 0px 60px 60px;
  z-index: 9999 !important;
  background: #163182;
}
#dropdownMenu ul.submenu .pcttl {
  float: none;
  display: block;
  margin-bottom: 18px;
}
#dropdownMenu ul.submenu .pcttl a {
  font-size: 133.3%;
  font-weight: bold;
  color: #fff;
}
#dropdownMenu ul.submenu .pcttl a:hover {
  text-decoration: underline;
}
#dropdownMenu ul.submenu > li:last-child {
  margin-right: 0;
}
#dropdownMenu ul.submenu > li > a {
  padding: 0;
}
#dropdownMenu ul.submenu > li.subttl {
  position: relative;
}
#dropdownMenu ul.submenu > li.subttl > span {
  padding: 0;
  margin-bottom: 3px;
  font-size: 93.3%;
  font-weight: bold;
}
#dropdownMenu ul.submenu > li.subttl > span > a {
  display: block;
  padding: 10px 0 11px 12px;
  background-color: rgba(255, 255, 255, 0.1);
  transition: 0.3s;
}
#dropdownMenu ul.submenu > li.subttl > span > a:hover {
  background-color: rgba(255, 255, 255, 0.4);
}
#dropdownMenu ul.submenu > li.subttl > span::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  right: 16px;
  top: 16px;
  border-top: solid 1px;
  border-right: solid 1px;
  transform: rotate(45deg) translateY(-50%);
  color: #fff;
}
#dropdownMenu ul.submenu > li.subttl a {
  color: #fff;
  padding: 6px 0 7px 10px;
  transition: 0.3s;
}
#dropdownMenu ul.submenu > li.subttl a:hover {
  text-decoration: none;
}
#dropdownMenu ul.submenu > li.subttl ul {
  position: relative;
  width: 100%;
  padding: 0;
}
#dropdownMenu ul.submenu > li {
  float: left;
  width: calc((100% - 274px) / 2);
  border: none;
  margin-right: 2px;
}
@media screen and (min-width: 1140px) {
  #dropdownMenu ul.submenu > li {
    width: calc((100% - 394px) / 2);
  }
}
#dropdownMenu li.subttl2 {
  line-height: 1.4em;
  position: relative;
  float: none;
  border: none;
  width: 100%;
  margin-left: 0;
}
#dropdownMenu li.subttl2 span {
  padding: 0;
  width: calc(100% - 2em);
  min-width: 10em;
  margin-bottom: 1px;
  font-size: 86.6%;
  font-weight: normal;
}
#dropdownMenu li.subttl2 dfn {
  font-size: inherit;
  font-style: normal;
  display: block;
}
#dropdownMenu li.subttl2::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  right: 16px;
  top: calc(50% - 1px);
  border-top: solid 1px;
  border-right: solid 1px;
  transform: rotate(45deg) translateY(-50%);
  color: #fff;
}
#dropdownMenu li.subttl2:hover {
  background-color: rgba(255, 255, 255, 0.2);
}
#dropdownMenu span {
  display: block;
  width: 100%;
}
#dropdownMenu a {
  display: block;
  width: 100%;
}

@media screen and (min-width: 1024px) {
  #globalNav {
    position: absolute;
    width: 100%;
    max-width: 1280px;
    top: 99px;
    left: 50%;
    transform: translateY(0%) translateX(-50%);
    -webkit-transform: translateY(0) translateX(-50%);
    margin: -36px auto 4px;
    padding-left: 130px;
    font-size: 13px;
  }
  #globalNav ul {
    max-width: 780px;
    margin-left: 0;
  }
}
@media screen and (min-width: 1024px) and (min-width: 960px) {
  #globalNav ul {
    margin-left: 1.9%;
  }
}
@media screen and (min-width: 1024px) and (min-width: 1030px) {
  #globalNav ul {
    margin-left: 5.3%;
  }
}
@media screen and (min-width: 1024px) {
  #globalNav ul li.m01 {
    display: none;
  }
  #globalNav ul li.m02, #globalNav ul li.m04 {
    width: 100%;
  }
  #globalNav ul li.m03, #globalNav ul li.m05 {
    width: 13.33%;
    max-width: 104px;
  }
  #globalNav ul li.m06 {
    border-right: 1px solid #999;
  }
  #globalNav a {
    color: #333;
    display: block;
    width: 100%;
    padding: 6px 0;
  }
  #globalNav a:hover {
    text-decoration: underline;
  }
}

@media screen and (min-width: 1024px) {
  #dropdownMenu ul li.ttl, #globalNav ul li {
    float: left;
    text-align: center;
  }
}

#dropdownMenu li.c3w > ul.submenu > li, #dropdownMenu li.c4 > ul.submenu > li {
  width: calc((100% - 274px) / 4);
}
@media screen and (min-width: 1140px) {
  #dropdownMenu li.c3w > ul.submenu > li, #dropdownMenu li.c4 > ul.submenu > li {
    width: calc((100% - 394px) / 4);
  }
}

.clearfix {
  display: inline-block;
}
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

/* Hides from IE-mac */
* html .clearfix {
  height: 1%;
}

/*========================
 ■16: suggest
 ========================*/
div.SS_suggest {
  font-weight: normal;
  z-index: 9;
  display: none;
  position: absolute;
  border-bottom: 1px solid #CCC;
  border-right: 1px solid #CCC;
  border-left: 1px solid #CCC;
  padding: 0px 5px 5px;
  background: rgb(255, 255, 255);
  line-height: 1.4em;
}

div.SS_suggest div.SS_suggestItemOff {
  background-color: #FFF;
  border-top: 1px solid #CCC;
  padding: 2px 0px 2px 0px;
  width: 100%;
}

div.SS_suggest div.SS_suggestItemOn {
  background-color: #ECF5FA;
  border-top: 1px solid #CCC;
  padding: 2px 0px 2px 0px;
  width: 100%;
}

div.SS_suggest span.SS_suggestKey {
  font-size: 0.8em;
  padding: 4px;
  background: #fff !important;
}

div.SS_suggest span.SS_suggestRate {
  width: 100px;
}

/* -----------------------------------------------------------
パンくず
----------------------------------------------------------- */
.location {
  width: calc(100% - 12.44%);
  position: fixed;
  left: 6.22%;
  z-index: 1;
}
@media screen and (min-width: 1024px) {
  .location {
    left: 10%;
  }
}
.location a {
  position: relative;
  color: inherit;
}
.location a:hover {
  text-decoration: none;
}
.location ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.location ul li {
  position: relative;
  font-size: 1.1rem;
  margin: 0 20px 0 0;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .location ul li {
    font-size: 1.3rem;
  }
}
.location ul li:last-child {
  color: #fff;
  font-weight: bold;
  margin-right: 0;
}
.location ul li:not(.end)::after {
  content: "";
  position: absolute;
  display: block;
  width: 5px;
  height: 5px;
  top: 7px;
  right: -10px;
  border-top: solid 1px;
  border-right: solid 1px;
  transform: rotate(45deg) translateY(-50%);
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .location ul li:not(.end)::after {
    top: 9px;
  }
}
.location.black ul li {
  color: #333333;
}
.location.black ul li:last-child {
  color: #333333;
}
.location.black ul li:not(.end)::after {
  color: #333333;
}

/* -----------------------------------------------------------
 Common
----------------------------------------------------------- */
@media screen and (min-width: 561px) {
  .flexbox {
    display: flex;
    justify-content: space-between;
  }
}

.bold {
  font-weight: bold;
}
@media all and (-ms-high-contrast: none) {
  .bold {
    font-family: "游ゴシック";
  }
}

.breakpoint {
  display: inline-block;
}

.align_right {
  text-align: right;
}
.align_center {
  text-align: center;
}
.align_left {
  text-align: left;
}

.font_black {
  color: #333333 !important;
}
.font_white {
  color: #ffffff !important;
}
.font_gray {
  color: #4c4c4c !important;
}
.font_red {
  color: #cc3333 !important;
}
.font_blue {
  color: #163182 !important;
}
.font_skyblue {
  color: #00c6ff !important;
}
.font_pink {
  color: #fdf2f2 !important;
}

.pc_on {
  display: none !important;
}
@media screen and (min-width: 561px) {
  .pc_on {
    display: block !important;
  }
}

.tab_on {
  display: none !important;
}
@media screen and (min-width: 769px) {
  .tab_on {
    display: block !important;
  }
}

.sp_on {
  display: block !important;
}
@media screen and (min-width: 561px) {
  .sp_on {
    display: none !important;
  }
}

.thumnail_column3 {
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
  padding: 0 20px;
}
.thumnail_column3 div {
  width: calc((100% - 20px) / 2);
  margin-bottom: 20px;
  border-radius: 10px;
  overflow: hidden;
}
.thumnail_column3 div img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 561px) {
  .thumnail_column3 div {
    width: 32%;
    margin-bottom: 2%;
    border-radius: 10px;
  }
}
@media screen and (min-width: 769px) {
  .thumnail_column3 {
    padding: 0;
  }
}

.accordion_list .submenu {
  display: none;
}
.accordion_list_button {
  padding-right: 45px;
}
.accordion_list_button::before {
  content: "";
  display: block;
  position: absolute;
  top: 30%;
  right: 1%;
  width: 18px;
  height: 18px;
  border-top: 4px solid #163182;
  border-right: 4px solid #163182;
  transform: translateX(-50%) rotate(135deg);
  transition-duration: 0.3s;
}
.accordion_list_button.on::before {
  transform: translateX(-50%) rotate(315deg);
  top: 43%;
}

.accent02 {
  margin-top: 60px;
  border-bottom: #163182 solid 4px;
  border-left: #163182 solid 20px;
  position: relative;
  padding: 6px 10px;
  text-align: left;
  cursor: pointer;
}
.accent02:hover {
  text-decoration: underline;
  color: #163182;
}
.accent02.numbered {
  padding-left: 45px;
  border-left: none;
}
.accent02.numbered .number {
  padding: 10px;
  background-color: #163182;
  color: #fff;
  position: absolute;
  left: 0;
  bottom: -1px;
  height: 100%;
  font-size: 118%;
}
@media screen and (min-width: 561px) {
  .accent02.numbered {
    padding: 22px 50px 15px 85px;
  }
  .accent02.numbered .number {
    padding: 17px 22px;
  }
}
@media screen and (min-width: 561px) and (max-width: 768px) {
  .accent02 {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (min-width: 561px) {
  .lay2col {
    display: flex;
    justify-content: space-between;
    flex-flow: row wrap;
  }
}
.lay2col > * {
  margin-bottom: 20px;
}
@media screen and (min-width: 561px) {
  .lay2col > * {
    width: calc((100% - 20px) / 2);
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .lay2col > * {
    width: calc((100% - 30px) / 2);
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 561px) {
  .lay2col > div:nth-last-child(-n+2) {
    margin-bottom: 0;
  }
}
.lay2col > div:last-child {
  margin-bottom: 0 !important;
}

.lay3col {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}
@media screen and (min-width: 561px) {
  .lay3col {
    justify-content: flex-start;
  }
}
.lay3col > * {
  width: calc((100% - 20px) / 2);
  margin-bottom: 20px;
}
@media screen and (min-width: 561px) {
  .lay3col > * {
    width: calc((100% - 40px - 0.1px) / 3);
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .lay3col > * {
    width: calc((100% - 60px - 0.1px) / 3);
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 561px) {
  .lay3col > *:nth-child(3n), .lay3col > *:nth-child(3n-1) {
    margin-left: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .lay3col > *:nth-child(3n), .lay3col > *:nth-child(3n-1) {
    margin-left: 30px;
  }
}
@media screen and (min-width: 561px) {
  .lay3col > *:nth-last-child(-n+3) {
    margin-bottom: 0;
  }
}
.lay3col > *:last-child {
  margin-bottom: 0;
}

.table01 {
  margin-bottom: 100px;
}
.table01 table {
  width: 100%;
}
.table01 table thead th {
  border-width: 1px 1px 1px 0;
  border-color: #fff;
  border-style: solid;
  background-color: #EDEDED;
  text-align: center;
  position: relative;
}
.table01 table thead th:last-child {
  border-right: none;
}
.table01 table thead th:before {
  content: "";
  width: 100%;
  height: calc(100% + 6px);
  border-width: 1px 0;
  border-style: solid;
  border-color: #CCCCCC;
  position: absolute;
  left: 0;
  top: -3px;
}
.table01 table tbody th {
  background-color: #FAFAFA;
}
.table01 table tr {
  border-width: 0 0 1px 0;
  border-color: #ccc;
  border-style: solid;
}
.table01 table tr th, .table01 table tr td {
  padding: 23px 10px;
}

/* -----------------------------------------------------------
ページトップボタン
----------------------------------------------------------- */
.pagetop-auto {
  display: none;
  position: fixed;
  bottom: 0;
  right: 0px;
  z-index: 9999;
}
.pagetop-auto a {
  display: block;
}
.pagetop-auto a:hover {
  filter: alpha(opacity=80);
  opacity: 0.8;
  -moz-opacity: 0.8;
}

/* -----------------------------------------------------------
メインビジュアル 2階層
----------------------------------------------------------- */
.main_visual {
  z-index: 0;
  width: 100%;
  position: relative;
}
.main_visual_inner {
  z-index: -1;
  position: fixed;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.main_visual_inner.bg_center {
  background-position: bottom center;
}
@media screen and (min-width: 561px) {
  .main_visual_inner.bg_right {
    background-position: bottom right;
  }
}
@media screen and (min-width: 561px) {
  .main_visual_inner.bg_left {
    background-position: bottom left;
  }
}
.main_visual h1 {
  position: fixed;
  width: 100%;
  text-align: center;
  padding: 0 6.22% 0;
}
.main_visual .location {
  display: none;
}
@media screen and (min-width: 561px) {
  .main_visual .location {
    display: block;
  }
}
.main_visual.level2 .main_visual_inner {
  background-size: cover;
  background-position: bottom center;
  background-repeat: no-repeat;
  background-image: url("/samples/images/ver2.0/page_title_sp.jpg");
}
@media screen and (min-width: 561px) {
  .main_visual.level2 .main_visual_inner {
    background-image: url("/samples/images/ver2.0/page_title_pc.jpg");
  }
}
@media screen and (min-width: 1024px) {
  .main_visual.level2 .main_visual_inner {
    background-size: contain;
  }
}
.main_visual.level2 h1 {
  top: 130px;
  left: 0;
}
@media screen and (min-width: 561px) {
  .main_visual.level2 h1 {
    text-align: left;
    top: 150px;
  }
}
@media screen and (min-width: 1024px) {
  .main_visual.level2 h1 {
    top: 191px;
    padding: 0 10% 0;
    font-size: 3.4rem;
  }
}
@media screen and (min-width: 1280px) {
  .main_visual.level2 h1 {
    font-size: 4.2rem;
  }
}
.main_visual.level2 .location {
  top: 90px;
}
@media screen and (min-width: 561px) {
  .main_visual.level2 .location {
    top: 110px;
  }
}
@media screen and (min-width: 1024px) {
  .main_visual.level2 .location {
    top: 151px;
  }
}
.main_visual.level2_small .main_visual_inner {
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  background-image: url("/samples/images/ver2.0/page_title_sp.jpg");
}
@media screen and (min-width: 561px) {
  .main_visual.level2_small .main_visual_inner {
    background-image: url("/samples/images/ver2.0/page_title_pc.jpg");
  }
}
.main_visual.level2_small h1 {
  top: 130px;
  left: 0;
}
@media screen and (min-width: 561px) {
  .main_visual.level2_small h1 {
    text-align: left;
    top: 150px;
  }
}
@media screen and (min-width: 1024px) {
  .main_visual.level2_small h1 {
    top: 148px;
    padding: 0 10% 0;
    font-size: 3.4rem;
  }
}
@media screen and (min-width: 1280px) {
  .main_visual.level2_small h1 {
    font-size: 4.2rem;
  }
}
.main_visual.level2_small .location {
  top: 90px;
}
@media screen and (min-width: 561px) {
  .main_visual.level2_small .location {
    top: 110px;
  }
}
.main_visual.level3 .main_visual_inner {
  background-size: cover;
  background-position: bottom center;
  background-repeat: no-repeat;
  background-image: url("/samples/images/ver2.0/page_title_sp_level3.jpg");
}
@media screen and (min-width: 561px) {
  .main_visual.level3 .main_visual_inner {
    background-image: url("/samples/images/ver2.0/page_title_pc_level3.jpg");
  }
}
.main_visual.level3 h1 {
  color: #fff;
  top: 130px;
  left: 0;
}
@media screen and (min-width: 561px) {
  .main_visual.level3 h1 {
    text-align: left;
    top: 150px;
  }
}
@media screen and (min-width: 1024px) {
  .main_visual.level3 h1 {
    top: 191px;
    padding: 0 10% 0;
    font-size: 3.4rem;
  }
}
@media screen and (min-width: 1280px) {
  .main_visual.level3 h1 {
    font-size: 4.2rem;
  }
}
.main_visual.level3 .location {
  top: 90px;
}
@media screen and (min-width: 561px) {
  .main_visual.level3 .location {
    top: 110px;
  }
}
@media screen and (min-width: 1024px) {
  .main_visual.level3 .location {
    top: 151px;
  }
}
.main_visual.level3_small .main_visual_inner {
  background-size: cover;
  background-position: bottom center;
  background-repeat: no-repeat;
}
.main_visual.level3_small h1 {
  color: #fff;
  top: 130px;
  left: 0;
}
@media screen and (min-width: 561px) {
  .main_visual.level3_small h1 {
    text-align: left;
    top: 150px;
  }
}
@media screen and (min-width: 1024px) {
  .main_visual.level3_small h1 {
    top: 191px;
    padding: 0 10% 0;
    font-size: 3.4rem;
  }
}
@media screen and (min-width: 1280px) {
  .main_visual.level3_small h1 {
    font-size: 4.2rem;
  }
}
.main_visual.level3_small .location {
  top: 90px;
}
@media screen and (min-width: 561px) {
  .main_visual.level3_small .location {
    top: 110px;
  }
}
@media screen and (min-width: 1024px) {
  .main_visual.level3_small .location {
    top: 151px;
  }
}
.main_visual.level4 {
  position: relative;
}
.main_visual.level4 .main_visual_inner {
  background: linear-gradient(to left, #0b1941 0%, #163182 100%);
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100% !important;
}
@media screen and (min-width: 561px) {
  .main_visual.level4 .main_visual_inner {
    position: static;
  }
}
@media screen and (min-width: 1024px) {
  .main_visual.level4 .main_visual_inner {
    position: static;
  }
}
.main_visual.level4 h1 {
  color: #fff;
  top: auto;
  left: 0;
  text-align: center;
  font-weight: 500;
}
@media screen and (min-width: 561px) {
  .main_visual.level4 h1 {
    text-align: left;
    top: 135px;
  }
}
@media screen and (min-width: 1024px) {
  .main_visual.level4 h1 {
    top: 205px;
    padding: 0 10% 0;
  }
}
.main_visual.level4 .location {
  top: 90px;
}
@media screen and (min-width: 561px) {
  .main_visual.level4 .location {
    top: 110px;
  }
}
@media screen and (min-width: 769px) {
  .main_visual.level4 .location {
    top: 96px;
  }
}
@media screen and (min-width: 1024px) {
  .main_visual.level4 .location {
    top: 151px;
  }
}

/* -----------------------------------------------------------
お問い合わせボタン 画面固定
----------------------------------------------------------- */
.fixed_contact {
  position: fixed;
  display: none;
  width: calc(100% - 44px);
  background: rgb(22, 49, 130);
  height: 44px;
  bottom: 0;
  left: 0;
  color: #fff;
  padding: 10px 0;
  font-size: 1.4rem;
  line-height: 1.6em;
  transition-duration: 0.3s;
  z-index: 9999;
  text-align: center;
}
@media screen and (min-width: 561px) {
  .fixed_contact {
    padding: 14px 91px 12px 18px;
    text-align: left;
    display: block;
    width: 263px;
    left: 25px;
    bottom: 20px;
    height: auto;
    background: rgba(22, 49, 130, 0.8);
  }
}
.fixed_contact:hover {
  background: #3366CC;
  text-decoration: none;
}
@media screen and (min-width: 561px) {
  .fixed_contact::after {
    content: "";
    position: absolute;
    display: block;
    width: 16px;
    height: 16px;
    right: 24px;
    top: calc(50% - 1px);
    border-top: solid 1px;
    border-right: solid 1px;
    transform: rotate(45deg) translateY(-50%);
    color: #999;
    transition-duration: 0.3s;
  }
}
.fixed_contact:hover::after {
  color: #fff;
}

/* -----------------------------------------------------------
基幹ブロック
----------------------------------------------------------- */
.section_basic,
.section_color {
  width: 100%;
  background: #ffffff;
}
.section_basic section:last-child,
.section_color section:last-child {
  margin: 0;
}
.section_basic .inner,
.section_color .inner {
  width: 100%;
  margin: 0 auto;
}
.section_basic:not(.erase_side_padding) .inner,
.section_color:not(.erase_side_padding) .inner {
  margin: 0 auto;
  max-width: 960px;
}
@media screen and (min-width: 1367px) {
  .section_basic:not(.erase_side_padding) .inner,
  .section_color:not(.erase_side_padding) .inner {
    max-width: 1200px;
  }
}
.section_basic:not(.erase_side_padding) h2, .section_basic:not(.erase_side_padding) h3, .section_basic:not(.erase_side_padding) h4, .section_basic:not(.erase_side_padding) h5,
.section_color:not(.erase_side_padding) h2,
.section_color:not(.erase_side_padding) h3,
.section_color:not(.erase_side_padding) h4,
.section_color:not(.erase_side_padding) h5 {
  width: 100%;
}
.section_basic p.indent_1em,
.section_color p.indent_1em {
  margin-left: 1em !important;
  text-indent: -1em;
}
.section_basic p.indent_3em,
.section_color p.indent_3em {
  margin-left: 3em !important;
  text-indent: -3em;
}
.section_basic p.overview,
.section_color p.overview {
  font-size: 1.8rem;
  line-height: 1.8em;
  margin: 20px 0 0;
}
@media screen and (min-width: 561px) {
  .section_basic p.overview,
  .section_color p.overview {
    line-height: 2em;
    margin: 30px 0 0;
  }
}
.section_basic p.text_main_default,
.section_color p.text_main_default {
  margin: 10px 0 0;
}
@media screen and (min-width: 561px) {
  .section_basic p.text_main_default,
  .section_color p.text_main_default {
    margin: 20px 0 0;
  }
}
.section_basic p.text_main_small,
.section_color p.text_main_small {
  font-size: 1.4rem;
  margin: 10px 0 0;
}
@media screen and (min-width: 561px) {
  .section_basic p.text_main_small,
  .section_color p.text_main_small {
    margin: 20px 0 0;
  }
}
.section_basic p.caption,
.section_color p.caption {
  font-size: 1.3rem;
  line-height: 1.4em;
  margin: 10px 0 0;
}
@media screen and (min-width: 561px) {
  .section_basic p.caption,
  .section_color p.caption {
    line-height: 1.6em;
    margin: 16px 0 0;
  }
}
.section_basic section.overview p,
.section_color section.overview p {
  font-size: 1.8rem;
  line-height: 1.8em;
}
@media screen and (min-width: 561px) {
  .section_basic section.overview p,
  .section_color section.overview p {
    line-height: 2em;
  }
}
.section_basic section.text_main_default p,
.section_color section.text_main_default p {
  margin: 10px 0 0;
}
@media screen and (min-width: 561px) {
  .section_basic section.text_main_default p,
  .section_color section.text_main_default p {
    margin: 20px 0 0;
  }
}
.section_basic section.text_main_small p,
.section_color section.text_main_small p {
  font-size: 1.4rem;
  margin: 10px 0 0;
}
@media screen and (min-width: 561px) {
  .section_basic section.text_main_small p,
  .section_color section.text_main_small p {
    margin: 20px 0 0;
  }
}
.section_basic section.caption p,
.section_color section.caption p {
  font-size: 1.3rem;
  line-height: 1.4em;
  margin: 10px 0 0;
}
@media screen and (min-width: 561px) {
  .section_basic section.caption p,
  .section_color section.caption p {
    line-height: 1.6em;
    margin: 16px 0 0;
  }
}
.section_basic li,
.section_color li {
  margin: 1em 0 0 1em;
}
.section_basic li li,
.section_color li li {
  margin: 1em 0 0 20px;
}
.section_basic li li:first-child,
.section_color li li:first-child {
  margin: 0 0 0 20px;
}
.section_basic li li li,
.section_color li li li {
  margin: 0 0 0 8px;
}
@media screen and (min-width: 561px) {
  .section_basic li li li,
  .section_color li li li {
    margin: 0 0 0 40px;
  }
}
.section_basic li li li:first-child,
.section_color li li li:first-child {
  margin: 0 0 0 8px;
}
@media screen and (min-width: 561px) {
  .section_basic li li li:first-child,
  .section_color li li li:first-child {
    margin: 0 0 0 40px;
  }
}
.section_basic li > ul, .section_basic li ol,
.section_color li > ul,
.section_color li ol {
  margin: 1em 0 0 !important;
}
.section_basic li.caption,
.section_color li.caption {
  font-size: 1.3rem;
  line-height: 1.4em;
  margin: 10px 0 0;
}
@media screen and (min-width: 561px) {
  .section_basic li.caption,
  .section_color li.caption {
    line-height: 1.6em;
    margin: 16px 0 0;
  }
}
.section_basic ul,
.section_color ul {
  list-style: disc;
  margin-left: 1em !important;
}
.section_basic ul.none,
.section_color ul.none {
  list-style: none;
  margin-left: 0 !important;
}
.section_basic ul.none li,
.section_color ul.none li {
  margin-left: 0 !important;
}
.section_basic ul.none li ul, .section_basic ul.none li ol,
.section_color ul.none li ul,
.section_color ul.none li ol {
  margin-left: 2em !important;
}
.section_basic ul.gt,
.section_color ul.gt {
  list-style: none;
}
.section_basic ul.gt li,
.section_color ul.gt li {
  position: relative;
}
.section_basic ul.gt li::before,
.section_color ul.gt li::before {
  content: "";
  position: absolute;
  display: block;
  width: 8px;
  height: 8px;
  left: calc(-1em - 8px);
  top: 12px;
  border-top: solid 1px;
  border-right: solid 1px;
  transform: rotate(45deg) translateY(-50%);
  color: #163182;
}
.section_basic ul.gt li ul,
.section_color ul.gt li ul {
  list-style: none;
}
.section_basic ol,
.section_color ol {
  list-style: decimal;
  margin-left: 1em !important;
}
.section_basic ol.none,
.section_color ol.none {
  list-style: none;
  margin-left: 0 !important;
}
.section_basic ol.none li,
.section_color ol.none li {
  margin-left: 0 !important;
}
.section_basic ol.none li ul, .section_basic ol.none li ol,
.section_color ol.none li ul,
.section_color ol.none li ol {
  margin-left: 2em !important;
}
.section_basic ol.annotation,
.section_color ol.annotation {
  color: #4c4c4c;
  list-style: none;
  margin-left: 4em !important;
}
.section_basic ol.annotation > li,
.section_color ol.annotation > li {
  position: relative;
  counter-increment: num;
}
.section_basic ol.annotation > li::before,
.section_color ol.annotation > li::before {
  content: "(注" counter(num) ")";
  position: absolute;
  display: block;
  left: -3em;
}
.section_basic ol.annotation li,
.section_color ol.annotation li {
  font-size: 1.3rem;
  text-align: 1.6em;
}
.section_basic ol.annotation.num_red li::before,
.section_color ol.annotation.num_red li::before {
  color: #cc3333;
}
.section_basic.overview p,
.section_color.overview p {
  font-size: 1.8rem;
  line-height: 1.8em;
}
@media screen and (min-width: 561px) {
  .section_basic.overview p,
  .section_color.overview p {
    line-height: 2em;
  }
}
.section_basic.trademark,
.section_color.trademark {
  padding-top: 30px;
}
.section_basic.trademark h2,
.section_color.trademark h2 {
  font-size: 1.4rem;
}
@media screen and (min-width: 561px) {
  .section_basic.trademark h2,
  .section_color.trademark h2 {
    font-size: 1.8rem;
  }
}
.section_basic.trademark ul,
.section_color.trademark ul {
  margin-top: 20px;
}
.section_basic.trademark ul li,
.section_color.trademark ul li {
  font-size: 1.3rem;
  line-height: 1.4em;
}
@media screen and (min-width: 561px) {
  .section_basic.trademark ul li,
  .section_color.trademark ul li {
    line-height: 1.6em;
  }
}
.section_basic.text_main_default p:not(:first-of-type),
.section_color.text_main_default p:not(:first-of-type) {
  margin: 10px 0 0;
}
@media screen and (min-width: 561px) {
  .section_basic.text_main_default p:not(:first-of-type),
  .section_color.text_main_default p:not(:first-of-type) {
    margin: 20px 0 0;
  }
}
.section_basic.text_main_small p:not(:first-of-type),
.section_color.text_main_small p:not(:first-of-type) {
  font-size: 1.4rem;
  margin: 10px 0 0;
}
@media screen and (min-width: 561px) {
  .section_basic.text_main_small p:not(:first-of-type),
  .section_color.text_main_small p:not(:first-of-type) {
    margin: 20px 0 0;
  }
}
.section_basic.caption li,
.section_basic.caption p,
.section_color.caption li,
.section_color.caption p {
  font-size: 1.3rem;
  line-height: 1.4em;
  margin: 10px 0 0;
}
@media screen and (min-width: 561px) {
  .section_basic.caption li,
  .section_basic.caption p,
  .section_color.caption li,
  .section_color.caption p {
    line-height: 1.6em;
    margin: 16px 0 0;
  }
}
.section_basic.caption ul,
.section_color.caption ul {
  margin: 30px 0 0;
}
.section_basic.caption ul.list_style,
.section_color.caption ul.list_style {
  list-style: disc;
  margin: 30px 0 0 1.6em;
}
.section_basic.caption ul.list_style li,
.section_color.caption ul.list_style li {
  margin: 10px 0 0 0;
}
@media screen and (min-width: 561px) {
  .section_basic.caption ul.list_style li,
  .section_color.caption ul.list_style li {
    margin: 16px 0 0 0;
  }
}
.section_basic.caption ul.indent_1em li,
.section_color.caption ul.indent_1em li {
  margin: 10px 0 0 1em;
  text-indent: -1em;
}
@media screen and (min-width: 561px) {
  .section_basic.caption ul.indent_1em li,
  .section_color.caption ul.indent_1em li {
    margin: 16px 0 0 1me;
  }
}
.section_basic.caption ul.indent_3em li,
.section_color.caption ul.indent_3em li {
  margin: 10px 0 0 2.4em;
  text-indent: -2.4em;
}
@media screen and (min-width: 561px) {
  .section_basic.caption ul.indent_3em li,
  .section_color.caption ul.indent_3em li {
    margin: 16px 0 0 2.4em;
  }
}

.section_basic {
  padding: 100px 6.22%;
}
@media screen and (min-width: 561px) {
  .section_basic {
    padding: 160px 6.22%;
  }
}
.section_basic.erase_side_padding {
  padding: 100px 0;
}
@media screen and (min-width: 561px) {
  .section_basic.erase_side_padding {
    padding: 160px 0;
  }
}
.section_basic:first-child {
  padding-top: 80px;
}
@media screen and (min-width: 561px) {
  .section_basic:first-child {
    padding-top: 120px;
  }
}
.section_basic.erase_tb_padding {
  padding-top: 0;
  padding-bottom: 0;
}
.section_basic + .section_basic {
  padding: 0 6.22% 100px;
}
@media screen and (min-width: 561px) {
  .section_basic + .section_basic {
    padding: 0 6.22% 160px;
  }
}
.section_basic + .section_basic.erase_side_padding {
  padding: 0 0 100px;
}
@media screen and (min-width: 561px) {
  .section_basic + .section_basic.erase_side_padding {
    padding: 0 0 160px;
  }
}

.section_color {
  padding: 80px 6.22%;
}
@media screen and (min-width: 561px) {
  .section_color {
    padding: 120px 6.22%;
  }
}
.section_color.erase_side_padding {
  padding: 80px 0;
}
@media screen and (min-width: 561px) {
  .section_color.erase_side_padding {
    padding: 120px 0;
  }
}
.section_color.gray {
  background: #EBEAE5;
}

.erase_side_padding .contents_box {
  width: calc(100% - 12.44%);
  margin: 0 auto;
}
@media screen and (min-width: 1024px) {
  .erase_side_padding .contents_box {
    max-width: 960px;
    width: 100%;
  }
}
@media screen and (min-width: 1367px) {
  .erase_side_padding .contents_box {
    max-width: 1200px;
  }
}
.erase_side_padding .contents_box_pc {
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 561px) {
  .erase_side_padding .contents_box_pc {
    width: calc(100% - 12.44%);
  }
}
@media screen and (min-width: 1024px) {
  .erase_side_padding .contents_box_pc {
    max-width: 960px;
    width: 100%;
  }
}
@media screen and (min-width: 1367px) {
  .erase_side_padding .contents_box_pc {
    max-width: 1200px;
  }
}

/* -----------------------------------------------------------
タイル並び 1列
----------------------------------------------------------- */
.img_tile1 > * {
  position: relative;
  opacity: 1;
  overflow: hidden;
}
.img_tile1 > * h4 {
  margin-left: 0;
  margin-right: 0;
  font-size: 1.8rem;
  line-height: 1.8em;
}
@media screen and (min-width: 561px) {
  .img_tile1 > * h4 {
    font-size: 2.4rem;
  }
}
.img_tile1 > * a h4::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  border-top: 1px solid #333333;
  border-right: 1px solid #333333;
  transform: rotate(45deg);
  margin-left: 10px;
  vertical-align: middle;
}
.img_tile1 > * p {
  top: calc(11.9% + 50px);
  font-size: 1.6rem;
  font-weight: normal;
}
.img_tile1 > * .image {
  background-color: #000;
}
.img_tile1 > * .image img {
  opacity: 0.8;
}
@media screen and (min-width: 769px) {
  .img_tile1 > * .image {
    height: 388px;
  }
}
@media screen and (min-width: 1280px) {
  .img_tile1 > * .image {
    height: auto;
  }
}
.img_tile1 > * .image img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  transition-duration: 0.3s;
}
.img_tile1 > * .image::before {
  content: "";
  display: block;
  padding-top: 121%;
}
@media screen and (min-width: 561px) {
  .img_tile1 > * .image::before {
    padding-top: 41.4%;
  }
}
@media screen and (min-width: 769px) {
  .img_tile1 > * .image::before {
    padding: 0;
  }
}
@media screen and (min-width: 1280px) {
  .img_tile1 > * .image::before {
    padding-top: 30.3%;
  }
}
.img_tile1 > * .text {
  position: absolute;
  color: #fff;
  padding: 0 9.3%;
  width: 100%;
  margin: 0;
  top: 11.9%;
  left: 0;
  font-size: 2.6rem;
  line-height: 1.4em;
  font-weight: bold;
}
@media all and (-ms-high-contrast: none) {
  .img_tile1 > * .text {
    font-family: "游ゴシック";
  }
}
@media screen and (min-width: 561px) {
  .img_tile1 > * .text {
    padding: 0;
    left: 9.3%;
    max-width: 440px;
  }
}
.img_tile1 > *:hover img {
  transform: scale(1.05);
  opacity: 1;
}
.img_tile1 + .img_tile2,
.img_tile1 + .img_tile3 {
  margin-top: 0 !important;
}

/* -----------------------------------------------------------
タイル並び 2列
----------------------------------------------------------- */
.img_tile2 > * {
  position: relative;
  opacity: 1;
  overflow: hidden;
}
.img_tile2 > * .image img {
  width: 100%;
  height: auto;
  transition-duration: 0.3s;
}
.img_tile2 > * .image img:hover {
  transform: scale(1.1);
}
@media screen and (max-width: 560px) {
  .img_tile2 > * .image img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .img_tile2 > * .image::before {
    content: "";
    display: block;
    padding-top: 70.6%;
  }
}
.img_tile2 > * .text {
  position: absolute;
  color: #fff;
  top: 20%;
  left: 9.3%;
  font-size: 2rem;
  line-height: 1.4em;
  font-weight: bold;
}
@media all and (-ms-high-contrast: none) {
  .img_tile2 > * .text {
    font-family: "游ゴシック";
  }
}
.img_tile2 > * .text::after {
  content: "";
  display: block;
  padding-top: 56.2%;
}
@media screen and (min-width: 561px) {
  .img_tile2 {
    display: flex;
    flex-wrap: wrap;
  }
  .img_tile2 > * {
    width: 50%;
  }
  .img_tile2 > * .image img {
    width: 100%;
    height: auto;
  }
  .img_tile2 > * .text {
    font-size: 2.4rem;
    line-height: 1.6em;
  }
}
@media screen and (min-width: 1024px) {
  .img_tile2 > * .text {
    top: 28%;
    left: 15.8%;
  }
}
.img_tile2 + .img_tile1,
.img_tile2 + .img_tile3 {
  margin-top: 0 !important;
}

/* -----------------------------------------------------------
タイル並び 3列
----------------------------------------------------------- */
.img_tile3 {
  padding: 20px 0;
}
.img_tile3 > * {
  width: calc(100% - (12.44%));
  position: relative;
  overflow: hidden;
  padding: 0;
  margin: 0 auto 20px;
}
.img_tile3 > * .image img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition-duration: 0.3s;
}
@media screen and (min-width: 561px) {
  .img_tile3 > * .image img {
    width: 100%;
  }
}
.img_tile3 > * .image::before {
  content: "";
  display: block;
  padding-top: 61.8%;
}
.img_tile3 > * .text {
  position: absolute;
  color: #fff;
  text-align: center;
  width: calc(100% - 2em);
  top: 22.5%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  font-size: 2rem;
  line-height: 1.6em;
  font-weight: bold;
}
@media all and (-ms-high-contrast: none) {
  .img_tile3 > * .text {
    font-family: "游ゴシック";
  }
}
.img_tile3 > *:hover img {
  transform: scale(1.1);
}
.img_tile3 > *:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 561px) {
  .img_tile3 {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
  }
  .img_tile3 > * {
    width: calc((100% - 0.1px) / 3);
    padding: 0;
    margin: 0;
  }
  .img_tile3 > * .image::before {
    padding-top: 81.03%;
  }
  .img_tile3 > * .text {
    font-size: 2.4rem;
    line-height: 1.6em;
  }
}
.img_tile3 + .img_tile1,
.img_tile3 + .img_tile2 {
  margin-top: 0 !important;
}

/* -----------------------------------------------------------
画像並び 画像1点
----------------------------------------------------------- */
.img1col .image {
  overflow: hidden;
}
.img1col .image img {
  width: 100%;
  height: auto;
  transition-duration: 0.3s;
}
@media screen and (max-width: 560px) {
  .img1col > div {
    position: relative;
    opacity: 1;
    overflow: hidden;
  }
  .img1col > div .image img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .img1col > div .image::before {
    content: "";
    display: block;
    padding-top: 104.6%;
  }
}
.img1col a {
  display: block;
}
.img1col a:hover img {
  transform: scale(1.1);
}

/* -----------------------------------------------------------
画像並び 画像2点
----------------------------------------------------------- */
@media screen and (min-width: 561px) {
  .img2col {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.img2col > div {
  margin-bottom: 20px;
}
.img2col > div .image {
  overflow: hidden;
}
.img2col > div .image img {
  width: 100%;
  height: auto;
  transition-duration: 0.3s;
}
@media screen and (min-width: 561px) {
  .img2col > div {
    width: calc((100% - 30px) / 2);
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 561px) {
  .img2col > div:nth-last-child(-n+2) {
    margin-bottom: 0;
  }
}
.img2col > div:last-child {
  margin-bottom: 0;
}
.img2col a {
  display: inline-block;
}
.img2col a img:hover {
  transform: scale(1.05);
}
.img2col.add_title > div {
  position: relative;
}
.img2col.add_title > div .image {
  background-color: #000;
}
.img2col.add_title > div .image img {
  opacity: 0.8;
}
.img2col.add_title > div .text {
  position: absolute;
  top: 20px;
  left: 20px;
  width: calc(100% - 40px);
}
@media screen and (min-width: 561px) {
  .img2col.add_title > div .text {
    top: 30px;
    left: 30px;
    width: calc(100% - 60px);
  }
}
.img2col.add_title > div h4 {
  font-size: 1.6rem;
}
@media screen and (min-width: 561px) {
  .img2col.add_title > div h4 {
    font-size: calc(1.8rem + (1vw - 5.61px) * 1.296);
  }
}
@media screen and (min-width: 1024px) {
  .img2col.add_title > div h4 {
    font-size: 2.4rem;
  }
}
.img2col.add_title a:hover img {
  opacity: 1;
}

/* -----------------------------------------------------------
画像並び 画像3点
----------------------------------------------------------- */
@media screen and (min-width: 561px) {
  .img3col {
    display: flex;
    flex-wrap: wrap;
  }
}
.img3col > * {
  position: relative;
  overflow: hidden;
  margin-top: 20px;
}
@media screen and (min-width: 561px) {
  .img3col > * {
    width: calc((100% - 60px - 0.1px) / 3);
    padding: 0;
    margin-top: 30px;
  }
}
@media screen and (min-width: 561px) {
  .img3col > *:nth-child(-n+3) {
    margin-top: 0;
  }
}
@media screen and (min-width: 561px) {
  .img3col > *:nth-child(3n), .img3col > *:nth-child(3n-1) {
    margin-left: 30px;
  }
}
.img3col > * .image {
  overflow: hidden;
}
.img3col > * .image img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  transition-duration: 0.3s;
}
.img3col > * .image::before {
  content: "";
  display: block;
  padding-top: 61.7%;
}
@media screen and (min-width: 561px) {
  .img3col > * .image::before {
    padding-top: 81.03%;
  }
}
@media screen and (max-width: 560px) {
  .img3col.sp2col {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .img3col.sp2col > * {
    width: calc((100% - 20px) / 2);
    padding: 0;
    margin-top: 20px;
  }
  .img3col.sp2col > *:nth-child(-n+2) {
    margin-top: 0;
  }
  .img3col.sp2col > * .image::before {
    padding-top: 80.7%;
  }
}
.img3col.golden {
  overflow: hidden;
}
.img3col.golden .image::before {
  padding-top: 61.8%;
}
.img3col a img {
  transition-duration: 0.3s;
}
.img3col a:hover img {
  transform: scale(1.1);
}
.img3col p {
  position: absolute;
  color: #ffffff;
  width: 100%;
  font-size: calc(1.3rem + (1vw - 3.2px) * 4.5833);
  font-weight: bold;
}
@media all and (-ms-high-contrast: none) {
  .img3col p {
    font-family: "游ゴシック";
  }
}
@media screen and (min-width: 561px) {
  .img3col p {
    font-size: calc(1.4rem + (1vw - 5.61px) * 0.9625);
  }
}
@media screen and (min-width: 1280px) {
  .img3col p {
    font-size: 2.4rem;
  }
}
.img3col p.center {
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.img3col p.top_left {
  top: 10px;
  left: 10px;
}
.img3col p.sup_txt {
  background: linear-gradient(to bottom, rgba(229, 229, 229, 0) 0%, rgba(229, 229, 229, 0.01) 1%, black 100%);
  padding: 0 10px 10px;
  bottom: 0;
  left: 0;
  font-weight: normal;
  font-size: calc(1rem + (1vw - 3.2px) * 0.8333);
}
@media screen and (min-width: 561px) {
  .img3col p.sup_txt {
    font-size: calc(1rem + (1vw - 5.61px) * 0.8333);
  }
}
@media screen and (min-width: 1280px) {
  .img3col p.sup_txt {
    font-size: 1.6rem;
  }
}
.img3col.hover_opacity > * {
  background: #000000;
}
.img3col.hover_opacity > *:hover img {
  transform: scale(1);
  opacity: 0.8;
}
.img3col.hover_bright > * {
  background: #000000;
}
.img3col.hover_bright > * img {
  opacity: 0.8;
}
.img3col.hover_bright > *:hover img {
  transform: scale(1.05);
  opacity: 1;
}

/* -----------------------------------------------------------
ボタン
----------------------------------------------------------- */
.btn_a, .btn_b, .btn_sec, .btn_dis {
  padding: 1em 2em;
  color: #fff;
  display: inline-block;
  text-decoration: none;
  font-size: 1.4rem;
  font-weight: bold;
}
@media all and (-ms-high-contrast: none) {
  .btn_a, .btn_b, .btn_sec, .btn_dis {
    font-family: "游ゴシック";
  }
}
@media screen and (max-width: 560px) {
  .btn_a, .btn_b, .btn_sec, .btn_dis {
    display: block;
    width: 100%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 561px) {
  .btn_a, .btn_b, .btn_sec, .btn_dis {
    font-size: 1.6rem;
  }
}
.btn_a:hover, .btn_b:hover, .btn_sec:hover, .btn_dis:hover {
  text-decoration: none;
}
.btn_a {
  margin: 0;
  padding: calc(1em + 2px) calc(2em + 2px);
  background-color: #163182;
}
.btn_a:hover {
  background-color: #3366CC;
}
@media screen and (max-width: 560px) {
  .btn_a + .btn_a {
    margin: 20px 0 0;
  }
}
.btn_b {
  padding: calc(1em + 2px) calc(2em + 2px);
  background-color: #0A86D5;
}
.btn_b:hover {
  background-color: #05BCF3;
}
.btn_sec {
  border: #999999 solid 2px;
  color: #333333;
}
.btn_sec:hover {
  border-color: #05BCF3;
  color: #05BCF3;
  text-decoration: none;
}
.btn_sec:hover:hover a {
  color: #05BCF3;
  text-decoration: none;
}
.btn_sec.blk {
  color: #fff;
}
.btn_sec.blk:hover {
  color: #05BCF3;
}
.btn_sec a {
  color: #333333;
}
.btn_dis {
  color: rgba(33, 33, 33, 0.4);
  background: rgba(0, 0, 0, 0.04);
  border: solid 2px rgba(0, 0, 0, 0.1);
}
.btn_dis.blk {
  color: rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.1);
  border: solid 2px rgba(255, 255, 255, 0.2);
}

.btn_arrow {
  border: #CCC solid 1px;
  padding: 2px 13px 0 27px;
  background: url("/common/img/arrow_b.svg") no-repeat 10px 50%;
  display: inline-block;
  color: #4C4C4C;
}
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .btn_arrow {
    padding: 6px 13px 0 27px;
  }
}
@media screen and (min-width: 561px) {
  .btn_arrow {
    transition-duration: 0.3s;
  }
}
.btn_arrow:hover {
  color: #000;
  border: #163182 solid 1px;
  text-decoration: none;
}

.link_arrow {
  position: relative;
  padding: 12px 20px 11px 0;
  color: #4C4C4C;
  display: inline-block;
}
.link_arrow:hover {
  text-decoration: none;
  font-weight: bold;
  color: #000;
}
@media all and (-ms-high-contrast: none) {
  .link_arrow:hover {
    font-family: "游ゴシック";
  }
}
.link_arrow:hover::after {
  border-color: #000;
}
.link_arrow::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  right: 4px;
  top: calc(50% - 2px);
  border-top: solid 1px;
  border-right: solid 1px;
  transform: rotate(45deg) translateY(-50%);
  border-color: #4C4C4C;
}

.btn_arrow2 {
  position: relative;
  display: inline-block;
  font-weight: bold;
  color: #4C4C4C;
  text-decoration: none;
  outline: none;
  transition: 0.6s;
}
@media all and (-ms-high-contrast: none) {
  .btn_arrow2 {
    font-family: "游ゴシック";
  }
}
.btn_arrow2::before {
  content: "";
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: 0;
  border: 1px solid transparent;
  border-bottom-color: #163182;
}
.btn_arrow2::after {
  content: "";
  position: absolute;
  top: 0px;
  left: 0px;
  width: 0;
  height: 0;
  border: 1px solid transparent;
}
.btn_arrow2:hover {
  color: #000;
  text-decoration: none;
}
.btn_arrow2:hover::before {
  height: 100%;
  border-left-color: #163182;
  transition: height 0.15s ease-out 0.2s;
}
.btn_arrow2:hover::after {
  width: 100%;
  height: 100%;
  border-top-color: #163182;
  border-right-color: #163182;
  transition: border-color 0s ease-out 0.45s, width 0.2s ease-out 0.45s, height 0.2s ease-out 0.7s;
}
.btn_arrow2:hover span::after {
  content: "";
  animation-name: sizeScale;
  animation-duration: 0.6s;
  animation-fill-mode: forwards;
}
@keyframes sizeScale {
  0% {
    width: 0px;
    opacity: 0;
  }
  100% {
    width: 60px;
    opacity: 1;
  }
}
.btn_arrow2 span {
  display: block;
  padding: 8px 22px;
}
.btn_arrow2 span::after {
  content: none;
  height: 8px;
  display: inline-block;
  border-bottom: 1px solid #163182;
  border-right: 1px solid #163182;
  transition-duration: 0.6s;
  transform: skew(45deg);
  position: absolute;
  left: 90%;
  top: 30%;
}
.btn_arrow2.white {
  color: #fff;
}
.btn_arrow2.white::before {
  border-bottom-color: #fff;
}
.btn_arrow2.white span::after {
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
}
.btn_arrow2.white:hover::after {
  border-top-color: #fff;
  border-right-color: #fff;
}
.btn_arrow2.white:hover::before {
  border-left-color: #fff;
}

/* -----------------------------------------------------------
テーブル
----------------------------------------------------------- */
.table_basic table {
  width: 100%;
  border-top: #ccc solid 1px;
}
.table_basic table tr {
  border-bottom: #ccc solid 1px;
}
.table_basic table tr th, .table_basic table tr td {
  padding: 29px 30px;
}

.table_small table {
  width: 100%;
  border-top: #ccc solid 1px;
}
.table_small table tr {
  border-bottom: #ccc solid 1px;
}
.table_small table tr th, .table_small table tr td {
  padding: 10px;
}

.table_basic, .table_small {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 10px auto 0;
}
@media screen and (min-width: 561px) {
  .table_basic, .table_small {
    margin: 20px auto 0;
  }
}
.table_basic th, .table_small th {
  white-space: nowrap;
}
.table_basic.-normal th, .table_small.-normal th {
  white-space: normal;
}
.table_basic::-webkit-scrollbar, .table_small::-webkit-scrollbar {
  height: 8px;
}
.table_basic::-webkit-scrollbar-track, .table_small::-webkit-scrollbar-track {
  margin: 0;
  background: #F2F2F2;
  border-radius: 4px;
}
.table_basic::-webkit-scrollbar-thumb, .table_small::-webkit-scrollbar-thumb {
  background: #CCCCCC;
  border-radius: 4px;
}
.table_basic.scroll_off, .table_small.scroll_off {
  overflow-x: visible;
}
@media screen and (max-width: 768px) {
  .table_basic.sp_block tr, .table_small.sp_block tr {
    border-bottom: none;
  }
  .table_basic.sp_block tr th, .table_basic.sp_block tr td, .table_small.sp_block tr th, .table_small.sp_block tr td {
    padding: 20px 6.22%;
    display: block;
  }
  .table_basic.sp_block tr th, .table_small.sp_block tr th {
    border-bottom: #ccc dotted 1px;
  }
  .table_basic.sp_block tr td, .table_small.sp_block tr td {
    border-bottom: #ccc solid 1px;
  }
}
@media screen and (max-width: 768px) {
  .table_basic.sp_block.side_th, .table_small.sp_block.side_th {
    border-top: none;
  }
  .table_basic.sp_block.side_th thead, .table_small.sp_block.side_th thead {
    display: none;
  }
  .table_basic.sp_block.side_th tbody tr, .table_small.sp_block.side_th tbody tr {
    margin-top: 20px;
    display: block;
  }
  .table_basic.sp_block.side_th tbody tr:first-of-type, .table_small.sp_block.side_th tbody tr:first-of-type {
    margin-top: 0;
  }
  .table_basic.sp_block.side_th tbody tr th, .table_basic.sp_block.side_th tbody tr td, .table_small.sp_block.side_th tbody tr th, .table_small.sp_block.side_th tbody tr td {
    position: relative;
    padding-left: 120px !important;
  }
  .table_basic.sp_block.side_th tbody tr th::before, .table_basic.sp_block.side_th tbody tr td::before, .table_small.sp_block.side_th tbody tr th::before, .table_small.sp_block.side_th tbody tr td::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    height: 100%;
    background: #EBEBE6;
  }
  .table_basic.sp_block.side_th tbody tr th::after, .table_basic.sp_block.side_th tbody tr td::after, .table_small.sp_block.side_th tbody tr th::after, .table_small.sp_block.side_th tbody tr td::after {
    content: attr(data-label);
    position: absolute;
    left: 10px;
    top: 20px;
    display: inline-block;
    width: 80px;
    height: calc(100% - 20px);
    font-weight: bold;
  }
}
@media screen and (max-width: 768px) and (-ms-high-contrast: none) {
  .table_basic.sp_block.side_th tbody tr th::after, .table_basic.sp_block.side_th tbody tr td::after, .table_small.sp_block.side_th tbody tr th::after, .table_small.sp_block.side_th tbody tr td::after {
    font-family: "游ゴシック";
  }
}
.table_basic.sp_block.side_th.blue tbody th::before, .table_basic.sp_block.side_th.blue tbody td::before, .table_small.sp_block.side_th.blue tbody th::before, .table_small.sp_block.side_th.blue tbody td::before {
  background: #D0D5E6;
}
.table_basic.gray thead th, .table_small.gray thead th {
  background-color: #EDEDED;
}
.table_basic.gray th, .table_small.gray th {
  background-color: #F5F5F5;
}
.table_basic.gray .sub_header, .table_small.gray .sub_header {
  background-color: #FAFAFA;
}
.table_basic.gray2 thead th, .table_small.gray2 thead th {
  background-color: #7F7F7F;
  color: #fff;
}
.table_basic.gray2 th, .table_small.gray2 th {
  background-color: #CCCCCC;
}
.table_basic.gray2 .sub_header, .table_small.gray2 .sub_header {
  background-color: #E6E6E6;
}
.table_basic.white thead th, .table_small.white thead th {
  background-color: #EBEBE6;
}
.table_basic.white th, .table_small.white th {
  background-color: #F5F5F2;
}
.table_basic.white .sub_header, .table_small.white .sub_header {
  background-color: #FAFAF8;
}
.table_basic.blue thead th, .table_small.blue thead th {
  background-color: #D0D5E6;
}
.table_basic.blue th, .table_small.blue th {
  background-color: #E7EAF2;
}
.table_basic.blue .sub_header, .table_small.blue .sub_header {
  background-color: #F3F4F9;
}

/* -----------------------------------------------------------
記事一覧 上下罫線
----------------------------------------------------------- */
.article_list {
  width: 100%;
  margin-left: auto !important;
}
@media screen and (min-width: 561px) {
  .article_list {
    margin: 0 auto;
    max-width: 960px;
  }
}
@media screen and (min-width: 561px) and (min-width: 1367px) {
  .article_list {
    max-width: 1200px;
  }
}
@media screen and (min-width: 1024px) {
  .article_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
.article_list li {
  margin: 0;
}
.article_list .article_list_item {
  width: 100%;
  padding: 20px;
  border-top: 1px solid #E6E6E6;
}
.article_list .article_list_item:last-child {
  border-bottom: 1px solid #E6E6E6;
}
@media screen and (min-width: 1280px) {
  .article_list .article_list_item {
    width: calc((100% - 40px) / 2);
    padding: 40px 30px;
  }
  .article_list .article_list_item:nth-last-child(2) {
    border-bottom: 1px solid #E6E6E6;
  }
}
.article_list .infomation_date {
  font-size: 1.2rem;
  color: #666666;
}
@media screen and (min-width: 561px) {
  .article_list .infomation_date {
    font-size: 1.4rem;
  }
}
.article_list .infomation_date .date {
  display: flex;
  align-items: center;
}
.article_list .infomation_date .date .category {
  font-size: 1rem;
  font-weight: bold;
  color: #ffffff;
  margin-left: 12px;
}
@media all and (-ms-high-contrast: none) {
  .article_list .infomation_date .date .category {
    font-family: "游ゴシック";
  }
}
@media screen and (min-width: 561px) {
  .article_list .infomation_date .date .category {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 1280px) {
  .article_list .infomation_date .date .category {
    margin-left: 20px;
  }
}
.article_list .infomation_date .date .press::after,
.article_list .infomation_date .date .news::after,
.article_list .infomation_date .date .event::after,
.article_list .infomation_date .date .campaign::after,
.article_list .infomation_date .date .notice::after {
  padding: 3px 5px 2px 6px;
  border-radius: 2px;
}
.article_list .infomation_date .date .press::after {
  content: "プレスリリース";
  background-color: #4C4C4C;
}
.article_list .infomation_date .date .news::after {
  content: "お知らせ";
  background-color: #4C4C4C;
}
.article_list .infomation_date .date .event::after {
  content: "イベント";
  background-color: #4C4C4C;
}
.article_list .infomation_date .date .campaign::after {
  content: "キャンペーン";
  background-color: #4C4C4C;
}
.article_list .infomation_date .date .notice::after {
  content: "重要なお知らせ";
  background-color: #CC3333;
}
.article_list .infomation_date p:not(.category) {
  width: 5.2em;
}
.article_list .inner_text {
  margin: 10px 0 0;
}
@media screen and (min-width: 561px) {
  .article_list .inner_text {
    margin: 12px 0 0;
  }
}
@media screen and (min-width: 1280px) {
  .article_list .inner_text {
    margin: 20px 0 0;
  }
}
.article_list .inner_text a {
  color: inherit;
}

/* -----------------------------------------------------------
画像 + テキスト
----------------------------------------------------------- */
.tile_alternation {
  width: 100%;
  height: auto;
  background: #EDEDED;
  margin-top: 30px;
}
@media screen and (min-width: 769px) {
  .tile_alternation_item {
    display: flex;
    align-items: center;
  }
}
@media screen and (min-width: 769px) {
  .tile_alternation_item:nth-child(2n) {
    flex-direction: row-reverse;
    justify-content: flex-end;
  }
  .tile_alternation_item:nth-child(2n) .text_area_inner {
    float: right;
  }
}
.tile_alternation .img_area {
  width: 100%;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .tile_alternation .img_area {
    width: 50%;
  }
}
.tile_alternation .img_area img {
  display: block;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .tile_alternation .img_area img {
    min-height: 400px;
  }
}
.tile_alternation .text_area {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .tile_alternation .text_area {
    width: 50%;
  }
}
.tile_alternation .text_area .text_area_inner {
  width: 100%;
  display: block;
  padding: 20px 6.22% 40px;
}
@media screen and (min-width: 769px) {
  .tile_alternation .text_area .text_area_inner {
    padding: 50px 35px 45px;
    display: inline-block;
    max-width: 510px;
  }
}
@media screen and (min-width: 1367px) {
  .tile_alternation .text_area .text_area_inner {
    max-width: 630px;
  }
}
.tile_alternation .text_area .text_area_inner h3 {
  width: 100% !important;
  margin: 0 0 10px;
}
@media screen and (min-width: 769px) {
  .tile_alternation .text_area .text_area_inner h3 {
    margin: 0 0 20px;
  }
}
.tile_alternation .text_area .text_area_inner p:first-child {
  margin-top: 0 !important;
}
.tile_alternation .text_area .text_area_inner.small h3 {
  font-size: 2.4rem;
}
.tile_alternation .text_area .text_area_inner.small p {
  font-size: 1.4rem;
}
.tile_alternation > a img {
  transition-duration: 0.3s;
}
.tile_alternation > a:hover {
  text-decoration: none;
}
.tile_alternation > a:hover img {
  transform: scale(1.1);
}
.tile_alternation > a .text_area {
  color: #333333;
}

.flex_text_2column,
.flex_text_3column {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .flex_text_2column,
  .flex_text_3column {
    margin: 0 auto;
    max-width: 960px;
  }
}
@media screen and (min-width: 1024px) and (min-width: 1367px) {
  .flex_text_2column,
  .flex_text_3column {
    max-width: 1200px;
  }
}
.flex_text_2column a,
.flex_text_3column a {
  color: inherit;
}
.flex_text_2column a:hover,
.flex_text_3column a:hover {
  text-decoration: none;
}
.flex_text_2column a:hover h5,
.flex_text_3column a:hover h5 {
  text-decoration: underline;
}
.flex_text_2column h5,
.flex_text_3column h5 {
  position: relative;
  padding-left: 28px;
}
.flex_text_2column h5::before,
.flex_text_3column h5::before {
  position: absolute;
  left: 0;
  content: url("/common/img/icon_anchor_arrow.svg");
  transform: rotate(-90deg);
}
.flex_text_2column .item,
.flex_text_3column .item {
  width: 100%;
  display: inline-block;
  margin-top: 40px;
}
.flex_text_2column .flex_2column_right,
.flex_text_2column .flex_3column_right,
.flex_text_3column .flex_2column_right,
.flex_text_3column .flex_3column_right {
  margin-top: 30px;
  text-decoration: none !important;
}

@media screen and (min-width: 561px) {
  .flex_text_2column {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 561px) {
  .flex_text_2column .item {
    width: calc((100% - 30px) / 2);
  }
}
@media screen and (min-width: 561px) {
  .flex_text_2column .item:nth-child(-n+2) {
    margin-top: 0;
  }
}

@media screen and (min-width: 561px) {
  .flex_text_3column {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 769px) {
  .flex_text_3column {
    justify-content: flex-start;
  }
}
@media screen and (min-width: 561px) {
  .flex_text_3column .item {
    width: calc((100% - 30px) / 2);
  }
}
@media screen and (min-width: 561px) and (max-width: 768px) {
  .flex_text_3column .item:nth-child(-n+2) {
    margin-top: 0;
  }
}
@media screen and (min-width: 769px) {
  .flex_text_3column .item {
    margin-right: 30px;
    width: calc((100% - 60px - 0.1px) / 3);
  }
  .flex_text_3column .item:nth-child(3n) {
    margin: 60px 0 0;
  }
  .flex_text_3column .item:nth-child(-n+3) {
    margin-top: 0;
  }
}
@media screen and (min-width: 1024px) {
  .flex_text_3column .item {
    margin: 60px 30px 0 0;
    padding: 0;
    display: block;
    width: calc((100% - 60px - 0.1px) / 3);
  }
  .flex_text_3column .item:nth-child(3n) {
    margin: 60px 0 0;
  }
  .flex_text_3column .item:nth-child(-n+3) {
    margin-top: 0;
  }
}
@media screen and (min-width: 1024px) {
  .flex_text_3column_img, .flex_text_3column_txt {
    width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .flex_text_3column_txt h5 {
    margin: 30px 0 20px;
  }
}

.flex_2column,
.flex_3column,
.flex_1column {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .flex_2column,
  .flex_3column,
  .flex_1column {
    margin: 0 auto;
    max-width: 960px;
  }
}
@media screen and (min-width: 1024px) and (min-width: 1367px) {
  .flex_2column,
  .flex_3column,
  .flex_1column {
    max-width: 1200px;
  }
}
.flex_2column .item,
.flex_3column .item,
.flex_1column .item {
  width: 100%;
  margin: 0 auto 40px;
  display: block;
}
@media screen and (min-width: 561px) {
  .flex_2column .item,
  .flex_3column .item,
  .flex_1column .item {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
}
.flex_2column .item:last-child,
.flex_3column .item:last-child,
.flex_1column .item:last-child {
  margin-bottom: 0;
}
.flex_2column_img,
.flex_3column_img,
.flex_1column_img {
  overflow: hidden;
  width: 100%;
}
.flex_2column_img img,
.flex_3column_img img,
.flex_1column_img img {
  width: 100%;
  height: auto;
  transition-duration: 0.3s;
}
@media screen and (min-width: 561px) {
  .flex_2column_img,
  .flex_3column_img,
  .flex_1column_img {
    width: 300px;
  }
}
@media screen and (min-width: 561px) {
  .flex_2column_txt,
  .flex_3column_txt,
  .flex_1column_txt {
    width: calc(100% - 330px);
  }
}
.flex_2column_txt h5,
.flex_3column_txt h5,
.flex_1column_txt h5 {
  color: #333;
  margin: 20px 0 0;
}
@media screen and (min-width: 561px) {
  .flex_2column_txt h5,
  .flex_3column_txt h5,
  .flex_1column_txt h5 {
    margin: 0;
  }
}
.flex_2column_txt h3, .flex_2column_txt h4, .flex_2column_txt h5,
.flex_3column_txt h3,
.flex_3column_txt h4,
.flex_3column_txt h5,
.flex_1column_txt h3,
.flex_1column_txt h4,
.flex_1column_txt h5 {
  word-break: break-all;
}
.flex_2column_txt p, .flex_2column_txt li,
.flex_3column_txt p,
.flex_3column_txt li,
.flex_1column_txt p,
.flex_1column_txt li {
  color: #4C4C4C;
}
@media screen and (min-width: 769px) {
  .flex_2column_txt p,
  .flex_3column_txt p,
  .flex_1column_txt p {
    margin: 20px 0 0;
  }
}
.flex_2column_txt a,
.flex_3column_txt a,
.flex_1column_txt a {
  display: inline;
}
.flex_2column_txt ul,
.flex_3column_txt ul,
.flex_1column_txt ul {
  margin-top: 20px !important;
}
.flex_2column_txt li,
.flex_3column_txt li,
.flex_1column_txt li {
  font-size: 1.4rem;
}
.flex_2column_txt:last-child,
.flex_3column_txt:last-child,
.flex_1column_txt:last-child {
  margin-bottom: 0 !important;
}
.flex_2column > a:hover,
.flex_3column > a:hover,
.flex_1column > a:hover {
  text-decoration: none;
}
.flex_2column > a:hover img,
.flex_3column > a:hover img,
.flex_1column > a:hover img {
  transform: scale(1.05);
}
.flex_2column > a:hover h5,
.flex_3column > a:hover h5,
.flex_1column > a:hover h5 {
  text-decoration: underline;
}
.flex_2column.hover_opacity .flex_1column_img,
.flex_2column.hover_opacity .flex_2column_img,
.flex_2column.hover_opacity .flex_3column_img,
.flex_3column.hover_opacity .flex_1column_img,
.flex_3column.hover_opacity .flex_2column_img,
.flex_3column.hover_opacity .flex_3column_img,
.flex_1column.hover_opacity .flex_1column_img,
.flex_1column.hover_opacity .flex_2column_img,
.flex_1column.hover_opacity .flex_3column_img {
  background: #000000;
}
.flex_2column.hover_opacity > a:hover img,
.flex_3column.hover_opacity > a:hover img,
.flex_1column.hover_opacity > a:hover img {
  transform: scale(1);
  opacity: 0.8;
}
.flex_2column.hover_bright .flex_2column_img,
.flex_3column.hover_bright .flex_2column_img,
.flex_1column.hover_bright .flex_2column_img {
  background: #000000;
}
.flex_2column.hover_bright > a img,
.flex_3column.hover_bright > a img,
.flex_1column.hover_bright > a img {
  opacity: 0.8;
}
.flex_2column.hover_bright > a:hover img,
.flex_3column.hover_bright > a:hover img,
.flex_1column.hover_bright > a:hover img {
  transform: scale(1.05);
  opacity: 1;
}

@media screen and (min-width: 769px) {
  .flex_2column {
    display: flex;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 769px) {
  .flex_2column .item {
    margin: 60px 30px 0 0;
    padding: 0;
    display: block;
    width: calc((100% - 30px) / 2);
  }
  .flex_2column .item:nth-child(2n) {
    margin: 60px 0 0;
  }
  .flex_2column .item:nth-child(-n+2) {
    margin-top: 0;
  }
}
@media screen and (min-width: 769px) {
  .flex_2column_img, .flex_2column_txt {
    width: 100%;
  }
}
@media screen and (min-width: 769px) {
  .flex_2column_txt h5 {
    margin: 30px 0 0;
  }
}

@media screen and (min-width: 1024px) {
  .flex_3column {
    display: flex;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 1024px) {
  .flex_3column .item {
    margin: 60px 30px 0 0;
    padding: 0;
    display: block;
    width: calc((100% - 60px - 0.1px) / 3);
  }
  .flex_3column .item:nth-child(3n) {
    margin: 60px 0 0;
  }
  .flex_3column .item:nth-child(-n+3) {
    margin-top: 0;
  }
}
@media screen and (min-width: 1024px) {
  .flex_3column_img, .flex_3column_txt {
    width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .flex_3column_txt h5 {
    margin: 30px 0 0;
  }
}

/* -----------------------------------------------------------
ボックス
----------------------------------------------------------- */
.linebox {
  padding: 20px;
  margin: 15px 0 0;
  word-break: break-all;
}
@media screen and (min-width: 561px) {
  .linebox {
    padding: 30px;
    margin: 30px 0 0 !important;
  }
}
.linebox.white {
  border: #cccccc solid 1px;
}
.linebox.gray {
  border: #666666 solid 1px;
}
.linebox.red {
  border: #CC0000 solid 1px;
}
.linebox.blue {
  border: #163182 solid 1px;
}
.linebox.bg-none {
  background: #ffffff;
}
.linebox.bg-white {
  background: #F5F5F5;
}
.linebox.bg-gray {
  background: #666666;
  color: #fff;
}
.linebox.bg-red {
  background: #FDF2F2;
}
.linebox.bg-blue {
  background: #F3F4F9;
}
.linebox.bg-beige {
  background: #FAFAF8;
}

/* -----------------------------------------------------------
リンク
----------------------------------------------------------- */
.txt, .exe, .zip, .ppt, .doc, .xls, .pdf {
  color: #4C4C4C;
  margin-left: 0;
}
.txt:hover, .exe:hover, .zip:hover, .ppt:hover, .doc:hover, .xls:hover, .pdf:hover {
  color: #000;
}
.txt::before, .exe::before, .zip::before, .ppt::before, .doc::before, .xls::before, .pdf::before {
  content: "";
  display: inline-block;
  text-align: center;
  font-size: 65%;
  color: #FFF;
  padding: 2px 2px 1px;
  min-width: 30px;
  margin: 4px 5px 0 0;
  line-height: 1;
  float: left;
}
.txt a, .exe a, .zip a, .ppt a, .doc a, .xls a, .pdf a {
  color: inherit;
}

.txt::before {
  content: "TXT";
  background-color: #0075CB;
}

.exe::before {
  content: "EXE";
  background-color: #4D178D;
}

.zip::before {
  content: "ZIP";
  background-color: #666666;
}

.ppt::before {
  content: "PPT";
  background-color: #C47100;
}

.doc::before {
  content: "DOC";
  background-color: #103F91;
}

.xls::before {
  content: "XLS";
  background-color: #185C37;
}

.pdf::before {
  content: "PDF";
  background-color: #CC3333;
}

.dl, .ex, .nw, .ml, .tl, .fx {
  color: #4C4C4C;
  padding-left: 30px;
}
.dl:hover, .ex:hover, .nw:hover, .ml:hover, .tl:hover, .fx:hover {
  color: #000;
}
.dl a, .ex a, .nw a, .ml a, .tl a, .fx a {
  color: inherit;
}

.dl {
  background: url("/common/img/icon_download.svg") no-repeat;
}

.ex {
  background: url("/common/img/icon_ex.svg") no-repeat;
}

.nw {
  background: url("/common/img/icon_nw.svg") no-repeat;
}

.ml {
  background: url("/common/img/icon_mail.svg") no-repeat;
}

.tl {
  background: url("/common/img/icon_tel.svg") no-repeat;
}

.fx {
  background: url("/common/img/icon_fax.svg") no-repeat;
}

.section_basic .others, .section_color .others {
  position: relative;
  z-index: 20;
  width: 100%;
  background-color: #ffffff;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  text-align: center;
  list-style: none;
  margin: 0 !important;
}
@media screen and (min-width: 561px) {
  .section_basic .others, .section_color .others {
    max-width: 628px;
    flex-wrap: nowrap;
    justify-content: center;
    margin: 0 auto !important;
  }
}
.section_basic .others li, .section_color .others li {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin: 0 0 30px;
  align-items: center;
  text-align: center;
}
.section_basic .others li > *:first-child, .section_color .others li > *:first-child {
  margin-bottom: 20px;
}
@media screen and (min-width: 561px) {
  .section_basic .others li, .section_color .others li {
    width: auto;
    margin-bottom: 0px;
    margin: 0 calc(10px + (1vw - 5.61px) * 4.319);
  }
}
@media screen and (min-width: 561px) and (min-width: 1024px) {
  .section_basic .others li, .section_color .others li {
    margin: 0 30px;
  }
}
.section_basic .others li .off, .section_color .others li .off {
  display: block;
}
.section_basic .others li .on, .section_color .others li .on {
  display: none;
}
.section_basic .others li p, .section_color .others li p {
  font-size: 100%;
  font-weight: bold;
}
.section_basic .others li p a, .section_color .others li p a {
  color: #4c4c4c;
}
.section_basic .others li p a:active, .section_basic .others li p a:hover, .section_color .others li p a:active, .section_color .others li p a:hover {
  text-decoration: none;
}
.section_basic .others li:last-child, .section_color .others li:last-child {
  margin-right: 0;
}
.section_basic .others li:hover .off, .section_color .others li:hover .off {
  display: none;
}
.section_basic .others li:hover .on, .section_color .others li:hover .on {
  display: block;
}

.ico_filelist {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: -35px;
}
.ico_filelist li {
  width: 140px;
  margin: 35px 0 0 0;
  text-align: center;
}
.ico_filelist li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  height: 100%;
  transition-duration: 0.3s !important;
  color: #4C4C4C;
}
.ico_filelist li a:hover {
  color: #000;
  text-decoration: none;
}
.ico_filelist li img {
  margin-bottom: 20px;
}
.ico_filelist li p {
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .ico_filelist {
    justify-content: center;
  }
  .ico_filelist li {
    margin-bottom: 0;
  }
}

.rollover .off {
  display: inline-block;
}
.rollover .on {
  display: none;
}
.rollover > *:hover .off {
  display: none;
}
.rollover > *:hover .on {
  display: inline-block;
}

.anchor_link,
.anchor_link2,
.anchor_link3 {
  font-weight: bold;
}
@media all and (-ms-high-contrast: none) {
  .anchor_link,
  .anchor_link2,
  .anchor_link3 {
    font-family: "游ゴシック";
  }
}
.anchor_link li,
.anchor_link2 li,
.anchor_link3 li {
  margin: 10px 14px 0;
  display: inline-block;
}
@media screen and (min-width: 561px) {
  .anchor_link li,
  .anchor_link2 li,
  .anchor_link3 li {
    margin: 20px 18px 0;
  }
}
.anchor_link li a,
.anchor_link2 li a,
.anchor_link3 li a {
  display: inline-block;
  font-size: 1.4rem;
  padding: 0 0 0 30px;
  color: #333333;
}
@media screen and (min-width: 561px) {
  .anchor_link li a,
  .anchor_link2 li a,
  .anchor_link3 li a {
    font-size: 2rem;
  }
}
.anchor_link li a:hover,
.anchor_link2 li a:hover,
.anchor_link3 li a:hover {
  color: #000;
}

.anchor_link a {
  background: url("/common/img/icon_anchor_arrow.svg") no-repeat left 50%;
}

.anchor_link2 li a {
  background: url("/common/img/icon_anchor_arrow2.svg") no-repeat left 50%;
}

.anchor_link3 li a {
  background: url("/common/img/icon_anchor_arrow3.svg") no-repeat left 50%;
}

.txtLink {
  color: #163182;
  font-size: 1.6rem;
  line-height: 1.5em;
  text-decoration: underline;
  cursor: pointer;
}
.txtLink:hover {
  color: #3366CC;
  text-decoration: underline;
}

/* -----------------------------------------------------------
モーダルウィンドウ
----------------------------------------------------------- */
.modal_area {
  display: none;
  position: fixed;
  z-index: 99999999; /*サイトによってここの数値は調整 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modal_bg {
  width: 100%;
  height: 100%;
  background-color: rgba(30, 30, 30, 0.9);
}

.modal_wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
}

.close_modal {
  position: absolute;
  top: 1rem;
  right: 1rem;
  color: #fff;
  font-size: 2.8rem;
  font-weight: bold;
  cursor: pointer;
}
@media all and (-ms-high-contrast: none) {
  .close_modal {
    font-family: "游ゴシック";
  }
}

.movie_wrap {
  margin: 60px auto;
  max-width: 560px;
}
@media screen and (min-width: 1024px) {
  .movie_wrap {
    margin: 40px auto;
  }
}
.movie_wrap .inner {
  position: relative;
  overflow: hidden;
}
.movie_wrap .inner::after {
  padding-bottom: 56.25%;
  display: block;
  content: "";
}
.movie_wrap .inner + * {
  margin-top: 20px;
}
@media screen and (min-width: 561px) {
  .movie_wrap .inner + * {
    margin-top: 30px;
  }
}
.movie_wrap .inner iframe {
  position: absolute;
  top: auto;
  left: auto;
  width: 100%;
  height: 100%;
}

.anc_list_visible {
  visibility: hidden;
}

.anc_list_none {
  display: none;
}

.cp_ipselect {
  position: relative;
  overflow: hidden;
  z-index: 9998;
  background: rgba(0, 0, 0, 0.8);
  width: 100%;
  text-align: center;
  padding: 17px 20px;
}
@media screen and (min-width: 561px) {
  .cp_ipselect {
    padding: 10px 20px 17px;
  }
}
@media screen and (max-width: 560px) {
  .cp_ipselect::before {
    content: "";
    position: absolute;
    z-index: 9999;
    top: calc(50% - 2px);
    right: calc(6.22% + 17px);
    width: 8px;
    height: 8px;
    transform: translateY(-50%) rotate(135deg);
    border-top: solid 1px;
    border-right: solid 1px;
    border-color: #4C4C4C;
    pointer-events: none;
  }
}
.cp_ipselect select {
  padding-right: 1em;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.cp_ipselect select::-ms-expand {
  display: none;
}
.cp_ipselect .cp_sl01 {
  width: 100%;
  position: relative;
  border: 1px solid #999999;
  border-radius: 2px;
  background: #ffffff;
  font-size: 1.6rem;
  padding: 13px 0 13px 16px;
}
@media screen and (min-width: 561px) {
  .cp_ipselect ul {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.cp_ipselect ul li {
  margin-top: 7px !important;
}
.cp_ipselect ul li a {
  font-size: 1.5rem;
  color: #ffffff;
}
.cp_ipselect .anchor_link li {
  margin-top: 17px;
}
.cp_ipselect .anchor_link li:hover a {
  text-decoration: underline;
  color: #ffffff;
}
.cp_ipselect .anchor_link a {
  background: url("/common/img/icon_anchor_arrow_white.svg") no-repeat left 50%;
}

.item_img {
  width: 100%;
  height: auto;
}

/* -----------------------------------------------------------
会社紹介資料
----------------------------------------------------------- */
.pamphletArea {
  position: relative;
  margin-top: 60px;
  background-image: url("/common/img/bg_pamphlet.jpg");
  background-color: rgba(255, 255, 255, 0);
  background-size: cover;
  background-position: right center;
  transition-duration: 0.3s;
  padding: 20px;
}
@media screen and (min-width: 561px) {
  .pamphletArea {
    max-width: 620px;
    margin: 80px auto 0;
    padding: 14px;
  }
}
.pamphletArea:hover {
  background-color: rgba(255, 255, 255, 0.2);
  background-blend-mode: lighten;
}
.pamphletArea:hover .pamphletArea_company {
  text-decoration: underline;
  color: #000;
}

.pamphletArea_inner {
  width: 100%;
}

.pamphletArea_linkArea {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.pamphletArea_company {
  font-size: 1.8rem;
  font-weight: bold;
}

.pamphletArea_text {
  margin-top: 4px;
  line-height: 1.75em;
}

/* -----------------------------------------------------------
simpleHeader
----------------------------------------------------------- */
#simple_header .header {
  position: absolute;
  top: 0;
  left: 0;
  background: none;
  width: 100%;
  height: 66px;
  z-index: 9999;
}
@media screen and (min-width: 1024px) {
  #simple_header .header {
    height: 100px;
    padding: 0;
    margin: 0 auto;
  }
}
#simple_header .logo {
  padding: 6px 0 0 20px;
}
#simple_header .logo img {
  width: 62px;
  height: auto;
}

.simpleHeader {
  position: absolute;
  top: 0;
  z-index: 10000;
  width: 100%;
  padding: 0 5px 0 20px;
  box-sizing: border-box;
  box-shadow: 0 3px rgba(255, 255, 255, 0);
  background-color: rgba(255, 255, 255, 0);
  font-family: "Noto Sans JP", "メイリオ", "Droid Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
}
@media screen and (min-width: 1024px) {
  .simpleHeader {
    padding: 0 3.125%;
  }
}
.simpleHeader.-whiteTxt .corpLogo_main,
.simpleHeader.-whiteTxt .corpLogo_caption {
  fill: #fff;
}

.corpLogo {
  width: 62px;
}

.simpleHeaderInner {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
  height: 66px;
}
@media screen and (min-width: 1024px) {
  .simpleHeaderInner {
    height: 54px;
  }
}
@media screen and (min-width: 1024px) {
  .simpleHeaderInner {
    max-width: 1600px;
    margin: 0 auto;
  }
}

.simpleHeader_logo {
  padding: 17px 0;
}
@media screen and (min-width: 1024px) {
  .simpleHeader_logo {
    padding: 11px 0;
  }
}
.simpleHeader_logo:hover {
  text-decoration: none;
}
.simpleHeader_logo.-withTxt {
  display: flex;
  gap: 25px;
}

/* -----------------------------------------------------------
simpleFooter
----------------------------------------------------------- */
.simpleFooter {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 20;
  width: 100%;
  padding: 30px 0 60px;
  background-color: #333;
}
@media screen and (min-width: 561px) {
  .simpleFooter {
    padding: 50px 0 100px;
  }
}

.copyright {
  margin: 0;
  color: #e6e6e6;
  font-size: 1.3rem;
}