@import url("//fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400;1,700&display=swap");

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%
}

body {
  margin: 0
}

* {
  margin: 0;
  padding: 0;
  font-style: normal;
  box-sizing: border-box
}

main {
  display: block
}

li {
  list-style: none
}

ol,
ul,
dl,
p {
  margin-top: 0;
  margin-bottom: 0
}

iframe {
  border: none
}

h1 {
  font-size: 2em;
  margin: 0
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible
}

pre {
  font-family: monospace, monospace;
  font-size: 1em
}

a {
  background-color: transparent
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted
}

b,
strong {
  font-weight: bolder
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em
}

small {
  font-size: 80%
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sub {
  bottom: -0.25em
}

sup {
  top: -0.5em
}

img {
  border-style: none
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0
}

button,
input {
  overflow: visible
}

button,
select {
  text-transform: none
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0
}

fieldset {
  padding: 0.35em 0.75em 0.625em
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal
}

progress {
  vertical-align: baseline
}

textarea {
  overflow: auto
}

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto
}

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

details {
  display: block
}

summary {
  display: list-item
}

template {
  display: none
}

[hidden] {
  display: none
}

body {
  position: relative;
  color: #1A1A1A;
  font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Noto Sans JP', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  font-feature-settings: "palt";
  letter-spacing: 0.02em;
  background: #fff;
  overflow-y: auto;
  min-height: 100vh
}

@media screen and (min-width: 961px) {
  body {
    min-width: 1100px
  }
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  body {
    font-size: 14px
  }
}

@media screen and (max-width: 520px) {
  body {
    font-size: 14px;
    line-height: 1.8;
    border-top: 1px solid #fff
  }
}

a {
  color: #1A1A1A;
  text-decoration: none
}

a:hover {
  color: #7E13AB
}

#container {
  position: relative;
  margin: 0 auto
}

#main {
  position: relative;
  margin: 0 auto;
  text-align: left;
  min-height: 400px;
  line-height: 1.85;
  letter-spacing: 0.04em
}

.inner-max {
  position: relative;
  max-width: 1280px;
  margin: 0 auto
}

.inner {
  position: relative;
  max-width: 1200px;
  padding: 0px 50px;
  margin: 0 auto
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .inner {
    padding: 0px 20px
  }
}

@media screen and (max-width: 520px) {
  .inner {
    padding: 0px 15px
  }
}

.inner .inner-flex2,
.inner .inner-flex2-s,
.inner .inner-flex3 {
  padding-left: 0 !important;
  padding-right: 0 !important
}

.inner-flex {
  display: flex
}

.inner-flex2 {
  position: relative;
  max-width: 1200px;
  padding: 0px 50px;
  margin: 0 auto
}

.inner-flex2__inner {
  display: flex;
  flex-wrap: wrap;
  margin-left: -40px;
  margin-right: -40px
}

.inner-flex2__item {
  width: calc(50% - 80px);
  margin: 0 40px
}

.inner-flex2__item .cate-top-box {
  margin-top: 0px;
  margin-bottom: 0px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .inner-flex2 {
    padding: 0px 20px
  }

  .inner-flex2__inner {
    margin-left: -20px;
    margin-right: -20px
  }

  .inner-flex2__item {
    width: calc(50% - 40px);
    margin: 0 20px
  }
}

@media screen and (max-width: 520px) {
  .inner-flex2 {
    padding: 0px 15px
  }

  .inner-flex2__inner {
    display: block;
    margin-left: 0px;
    margin-right: 0px
  }

  .inner-flex2__item {
    width: auto !important;
    margin: 0 0 4px 0
  }

  .inner-flex2__item .cate-top-box {
    margin-top: 60px;
    margin-bottom: 60px
  }
}

.inner-flex2-s {
  position: relative;
  max-width: 1200px;
  padding: 0px 50px;
  margin: 0 auto
}

.inner-flex2-s__inner {
  display: flex;
  margin-left: -1px;
  margin-right: -1px
}

.inner-flex2-s__item {
  width: calc(50% - 2px);
  margin: 0 1px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .inner-flex2-s {
    padding: 0px 20px
  }
}

@media screen and (max-width: 520px) {
  .inner-flex2-s {
    padding: 0px 15px
  }

  .inner-flex2-s__inner {
    display: block;
    margin-left: 0px;
    margin-right: 0px
  }

  .inner-flex2-s__item {
    width: auto !important;
    margin: 0 0 4px 0
  }
}

.inner-flex3 {
  position: relative;
  max-width: 1200px;
  padding: 0px 50px;
  margin: 0 auto
}

.inner-flex3__inner {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px
}

.inner-flex3__item {
  width: calc(33.333% - 30px);
  margin: 0 15px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .inner-flex3 {
    padding: 0px 20px
  }

  .inner-flex3__inner {
    display: block;
    margin-left: 0px;
    margin-right: 0px
  }

  .inner-flex3__item {
    width: auto !important;
    margin: 0 0 4px 0
  }
}

@media screen and (max-width: 520px) {
  .inner-flex3 {
    padding: 0px 15px
  }

  .inner-flex3__inner {
    display: block;
    margin-left: 0px;
    margin-right: 0px
  }

  .inner-flex3__item {
    width: auto !important;
    margin: 0 0 4px 0
  }
}

.breadcrumb-wrap {
  position: relative;
  z-index: 10;
  width: 100%;
  padding: 15px 0
}

@media screen and (max-width: 520px) {
  .breadcrumb-wrap {
    padding: 10px 0px
  }
}

.breadcrumb-wrap.for-kv {
  position: absolute;
  top: 0;
  left: 0
}

.breadcrumb-wrap.for-kv .breadcrumb .breadcrumb-item {
  color: #FFFFFF
}

.breadcrumb-wrap.for-kv .breadcrumb .breadcrumb-item::after {
  border-color: #FFFFFF !important
}

.breadcrumb-wrap.for-kv .breadcrumb .breadcrumb-item a {
  color: #FFFFFF
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  max-width: 1200px;
  padding: 0px 50px;
  margin: 0 auto
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .breadcrumb {
    padding: 0px 20px
  }
}

@media screen and (max-width: 520px) {
  .breadcrumb {
    padding: 0px 15px
  }
}

.breadcrumb .breadcrumb-item {
  position: relative;
  margin-right: 10px;
  padding-right: 16px;
  color: #000000;
  font-size: .8125rem
}

@media screen and (max-width: 520px) {
  .breadcrumb .breadcrumb-item {
    font-size: 12px
  }
}

.breadcrumb .breadcrumb-item::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0px;
  margin: auto;
  width: 6px;
  height: 6px;
  border-left: 2px solid #000000;
  border-bottom: 2px solid #000000;
  transform: rotate(-135deg)
}

@media screen and (max-width: 520px) {
  .breadcrumb .breadcrumb-item::after {
    border-width: 1px !important
  }
}

.breadcrumb .breadcrumb-item a {
  color: #000000;
  text-decoration: underline
}

.breadcrumb .breadcrumb-item a:hover {
  text-decoration: none
}

.breadcrumb .breadcrumb-item:last-child {
  margin-right: 0;
  padding-right: 0
}

.breadcrumb .breadcrumb-item:last-child::after {
  display: none
}

#header-emergency {
  position: relative;
  z-index: 1
}

.emergency-view #header-emergency {
  display: block !important
}

.emergency-item {
  background: #BD1515;
  color: #fff;
  padding: 14px 25px 14px 0px;
  display: flex;
  align-items: center
}

@media screen and (max-width: 520px) {
  .emergency-item {
    display: block;
    padding: 14px 15px 10px 15px
  }
}

.emergency-item>dt {
  padding: 0 14px;
  display: flex;
  white-space: nowrap;
  min-width: 205px
}

@media screen and (max-width: 520px) {
  .emergency-item>dt {
    display: block;
    padding: 0;
    margin-bottom: 5px
  }
}

.emergency-item>dt strong {
  font-size: .875rem;
  padding: 0 8px 0 20px;
  background: url(/images/common/icon_attention_w.svg) 0 50% no-repeat;
  background-size: 14px 14px
}

.emergency-item>dt .btn-rss {
  font-size: .75rem;
  font-weight: 700;
  padding: 5px 8px 5px 20px;
  background: rgba(0, 0, 0, 0.25) url(/images/common/icon_rss_w.svg) 7px 50% no-repeat;
  background-size: 10px 10px !important
}

.emergency-item>dt .btn-rss:hover {
  color: #AC3434;
  background: #fff url(/images/common/icon_rss_red.svg) 7px 50% no-repeat !important
}

.emergency-item>dd {
  width: calc(100% - 205px);
  border-left: 1px solid #fff;
  padding: 0 14px
}

.emergency-item>dd dl {
  display: flex;
  margin-bottom: 1px
}

.emergency-item>dd dl dt {
  min-width: 80px;
  padding-right: 10px;
  white-space: nowrap
}

.emergency-item>dd dl dd {
  width: calc(100% - 80px);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis
}

.emergency-item>dd dl dd a {
  color: #fff;
  text-decoration: underline
}

.emergency-item>dd dl dd a:hover {
  color: #fff;
  text-decoration: none
}

@media screen and (max-width: 520px) {
  .emergency-item>dd {
    width: auto;
    padding: 0;
    border-left: none
  }

  .emergency-item>dd dl {
    display: block;
    margin-bottom: 5px
  }

  .emergency-item>dd dl dt {
    display: none
  }

  .emergency-item>dd dl dd {
    width: auto;
    overflow: inherit;
    white-space: normal;
    line-height: 1.5
  }
}

#js-header-emergency__close-btn {
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  width: 25px;
  height: 25px;
  border: none;
  background: rgba(0, 0, 0, 0.25) url(/images/common/icon_close_w.svg) 50% 50% no-repeat;
  background-size: 10px 10px !important
}

#js-visitor-nav {
  position: fixed;
  z-index: 2000;
  top: 210px;
  right: 0;
  transform: translateX(0)
}

#js-visitor-nav.motion {
  transition: transform 0.25s ease-out
}

@media screen and (max-width: 960px) {
  #js-visitor-nav {
    display: none !important
  }
}

#js-visitor-nav.close {
  transform: translateX(calc(100% - 50px))
}

#js-visitor-nav.close #js-visitor-nav__btn::after {
  background: url(/images/common/icon_plus_w.svg) 0 0 no-repeat
}

#js-visitor-nav #js-visitor-nav__btn {
  -webkit-appearance: none;
  appearance: none;
  position: relative;
  cursor: pointer;
  padding: 20px 0px;
  width: 50px;
  height: 100%;
  color: #fff;
  font-size: .875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  background: none;
  border: none
}

#js-visitor-nav #js-visitor-nav__btn::after {
  content: " ";
  display: block;
  width: 12px;
  height: 12px;
  position: absolute;
  bottom: 15px;
  left: calc(50% - 6px);
  background: url(/images/common/icon_minus_w.svg) 0 0 no-repeat;
  background-size: 100% 100% !important
}

#js-visitor-nav #js-visitor-nav__btn span {
  writing-mode: vertical-rl;
  position: absolute;
  top: 20px;
  left: calc(50% - 0.5em)
}

#js-visitor-nav dl {
  border-radius: 6px 0 0 6px;
  background: #606;
  display: flex
}

#js-visitor-nav dl dt {
  width: 50px;
  border-right: 1px solid rgba(204, 204, 204, 0.3)
}

#js-visitor-nav dl dd {
  min-width: 130px
}

#js-visitor-nav dl dd ul li {
  border-bottom: 1px solid rgba(204, 204, 204, 0.3)
}

#js-visitor-nav dl dd ul li:last-child {
  border-bottom: none
}

#js-visitor-nav dl dd ul li a {
  position: relative;
  display: block;
  line-height: 1;
  padding: 20px 20px 20px 30px;
  color: #fff;
  font-size: .8125rem
}

#js-visitor-nav dl dd ul li a:hover {
  background-color: #4F004F
}

#js-visitor-nav dl dd ul li a::after {
  content: " ";
  position: absolute;
  top: calc(50% - 4px);
  left: 15px;
  width: 5px;
  height: 5px;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: rotate(-135deg)
}

#gdpr-box {
  pointer-events: all
}

@media print {
  #header-wrap {
    display: none !important
  }

  .header-nav01,
  .header-nav02 {
    display: none !important
  }

  #js-visitor-nav,
  #page-top {
    display: none !important
  }

  #gdpr-box {
    display: none !important
  }

  .footer-nav,
  .footer-nav01,
  .footer-nav02-wrap,
  .footer-nav03 {
    display: none !important
  }

  #footer-inner02 {
    background: none !important;
    border-top: 1px solid #DDDDDD !important
  }

  .copyright {
    position: static !important;
    padding: 0px 0 20px 0 !important;
    text-align: center !important;
    width: 100% !important;
    color: #000 !important
  }

  .copyright .sp-view {
    display: none !important
  }

  #js-kv-thumb-swiper .swiper-slide {
    max-width: 25% !important
  }
}

@media screen and (min-width: 961px) {
  body.drawer-open {
    top: 0 !important
  }
}

@media screen and (max-width: 960px) {
  body.drawer-open {
    overflow: auto;
    height: 100%;
    left: 0px;
    bottom: 0;
    top: 0;
    width: 100%;
    position: fixed;
    pointer-events: none
  }
}

body.drawer-open #js-drawer-menu button {
  background: #F0F0F0 url(/images/common/header_menu_close.svg) 50% 50% no-repeat;
  background-size: 17px 17px
}

#js-drawer-menu {
  display: none;
  position: absolute;
  z-index: 10011;
  top: 0px;
  right: 0px
}

@media screen and (max-width: 960px) {
  #js-drawer-menu {
    display: block !important
  }
}

#js-drawer-menu button {
  position: relative;
  -webkit-appearance: none;
  appearance: none;
  display: block;
  border: none;
  width: 84px;
  height: 88px;
  background: #F0F0F0 url(/images/common/header_menu.svg) 50% 50% no-repeat;
  background-size: 20px 18px;
  cursor: pointer
}

@media screen and (max-width: 520px) {
  #js-drawer-menu button {
    width: 68px;
    height: 94px
  }
}

#header-wrap {
  min-height: 110px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  #header-wrap {
    min-height: 88px
  }
}

@media screen and (max-width: 520px) {
  #header-wrap {
    min-height: 94px
  }
}

#header {
  position: relative;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  min-height: 110px;
  background: #fff;
  pointer-events: all;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.03)
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  #header {
    min-height: 88px
  }
}

@media screen and (max-width: 520px) {
  #header {
    min-height: 94px
  }
}

body.header-fixed #header {
  position: fixed !important
}

#header-inner {
  position: relative;
  z-index: 10010;
  min-height: 110px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  #header-inner {
    min-height: 88px
  }
}

@media screen and (max-width: 520px) {
  #header-inner {
    min-height: 94px
  }
}

.header-nav01 {
  background: #F0F0F0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end
}

.header-nav01__01 {
  display: flex;
  order: 2
}

.header-nav01__01 li {
  margin-left: 1px
}

.header-nav01__01 li:first-child {
  margin-left: 0
}

.header-nav01__01 li a {
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #4D4D4D;
  padding: 3px 23px;
  font-size: .8125rem;
  color: #fff
}

.header-nav01__01 li a span {
  display: inline-block;
  min-height: 14px
}

.header-nav01__01 li a:hover {
  background: #606
}

.header-nav01__02 {
  display: flex;
  order: 1
}

.header-nav01__02 li {
  position: relative
}

.header-nav01__02 li::before {
  content: " ";
  display: block;
  width: 1px;
  height: 20px;
  background: #CCCCCC;
  position: absolute;
  left: 0px;
  top: calc(50% - 10px)
}

.header-nav01__02 li:first-child::before {
  display: none
}

.header-nav01__02 li a {
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3px 23px;
  font-size: .8125rem;
  font-weight: 700
}

.header-nav01__02 li a span {
  display: inline-block;
  min-height: 15px
}

.header-nav01__02 li a:hover {
  color: #7E13AB
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .header-nav01 {
    background: none
  }

  .header-nav01__01 {
    order: 1;
    width: 100%;
    justify-content: flex-end;
    padding-right: 84px
  }

  .header-nav01__01 li a {
    min-height: 44px;
    background: #606
  }

  .header-nav01__02 {
    order: 2;
    width: 100%;
    justify-content: flex-end;
    padding-right: 84px;
    position: relative;
    z-index: 10
  }

  .header-nav01__02 li a {
    min-height: 44px
  }
}

@media screen and (max-width: 590px) {

  .header-nav01__01 li a,
  .header-nav01__02 li a {
    padding: 3px 12px
  }
}

@media screen and (max-width: 520px) {
  .header-nav01__01 {
    order: 1;
    width: 100%;
    justify-content: flex-end;
    padding-right: 64px
  }

  .header-nav01__01 li {
    width: 50%
  }

  .header-nav01__01 li a {
    min-height: 36px;
    background: #606
  }

  .header-nav01__02 {
    display: none
  }
}

.header-nav01__01__01 a span {
  background: url(/images/common/icon_note_w.svg) 0 50% no-repeat;
  background-size: 12px 14px;
  padding-left: 20px
}

.header-nav01__01__02 a span {
  background: url(/images/common/icon_mail_w.svg) 0 50% no-repeat;
  background-size: 15px 11px;
  padding-left: 24px
}

.header-nav01__02__01 a span {
  background: url(/images/common/icon_point.svg) 0 50% no-repeat;
  background-size: 11px 15px;
  padding-left: 20px
}

.header-nav01__02__01 a:hover span {
  background: url(/images/common/icon_point_purple.svg) 0 50% no-repeat;
  background-size: 11px 15px
}

.header-nav01__02__02 a span {
  background: url(/images/common/icon_searh.svg) 0 50% no-repeat;
  background-size: 14px 14px;
  padding-left: 22px
}

.header-nav01__02__02 a:hover span {
  background: url(/images/common/icon_searh_purple.svg) 0 50% no-repeat;
  background-size: 14px 14px
}

.header-nav01__02__03 a span {
  background: url(/images/common/icon_heart.svg) 0 50% no-repeat;
  background-size: 15px 13px;
  padding-left: 24px
}

.header-nav01__02__03 a:hover span {
  background: url(/images/common/icon_heart_purple.svg) 0 50% no-repeat;
  background-size: 15px 13px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .header-nav01__02__03 {
    display: none
  }
}

.header-nav01__02__04 a span {
  background: url(/images/common/icon_global.svg) 0 50% no-repeat;
  background-size: 15px 15px;
  padding-left: 24px
}

.header-nav01__02__04 a:hover span {
  background: url(/images/common/icon_global_purple.svg) 0 50% no-repeat;
  background-size: 15px 15px
}

.header-logo {
  position: absolute;
  z-index: 10020;
  top: 0;
  left: 0;
  line-height: 0;
  padding: 35px 30px 20px;
  background: #fff;
  max-height: 110px;
  height: 110px
}

.header-logo a,
.header-logo strong {
  position: relative;
  display: block;
  width: 205px;
  height: 40px;
  background: url(/images/common/logo.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .header-logo {
    z-index: 1;
    padding: 20px;
    max-height: 88px;
    height: 88px
  }

  .header-logo a,
  .header-logo strong {
    width: 188px;
    height: 46px
  }
}

@media screen and (max-width: 590px) {
  .header-logo {
    padding: 20px 8px
  }
}

@media screen and (max-width: 520px) {
  .header-logo {
    top: 36px;
    padding: 14px 15px 8px;
    max-height: 58px;
    height: 58px
  }

  .header-logo a,
  .header-logo strong {
    width: 154px;
    height: 30px
  }
}

@media screen and (min-width: 961px) {
  .header-nav02 {
    display: block !important;
    height: auto !important;
    position: relative;
    z-index: 10011;
    background: #fff
  }
}

@media screen and (max-width: 960px) {
  .header-nav02 {
    display: none;
    z-index: 20000
  }
}

.js-header-megamenu-close {
  display: none
}

@media screen and (min-width: 961px) {
  .header-nav02__nav {
    padding-left: 260px
  }

  .header-nav02__nav>ul {
    display: flex;
    justify-content: flex-end;
    padding-right: 20px
  }

  .header-nav02__nav>ul>li {
    padding: 5px 16px
  }

  .header-nav02__nav>ul>li .js-sp-drawer__nav__accordion-btn {
    min-height: 60px
  }

  .header-nav02__nav>ul>li .js-sp-drawer__nav__accordion-btn a {
    color: #1A1A1A !important;
    width: 100%;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .8125rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: center
  }

  .header-nav02__nav>ul>li .js-sp-drawer__nav__accordion-btn a span {
    position: relative;
    display: inline-block;
    padding: 5px 0
  }

  .header-nav02__nav>ul>li .header-nav02__nav__normal-link {
    color: #1A1A1A !important;
    width: 100%;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .8125rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: center
  }

  .header-nav02__nav>ul>li .header-nav02__nav__normal-link span {
    position: relative;
    display: inline-block;
    padding: 5px 0
  }

  .header-nav02__nav>ul>li.header-nav02__nav__item:hover .js-sp-drawer__nav__accordion-btn a span::before {
    content: " ";
    display: block;
    width: 100%;
    height: 2px;
    background: #606;
    position: absolute;
    left: 0px;
    bottom: -2px
  }

  .header-nav02__nav>ul>li.header-nav02__nav__item:hover .js-sp-drawer__nav__accordion-btn a span::after {
    content: " ";
    position: absolute;
    z-index: 10200;
    left: calc(50% - 7px);
    top: calc(50% + 30px);
    width: 0px;
    height: 0px;
    border-style: solid;
    border-color: #606 transparent transparent transparent;
    border-width: 10px 7px 0 7px
  }

  .header-megamenu-body {
    display: none !important
  }

  .header-megamenu-body.menu-view {
    display: block !important;
    position: absolute;
    z-index: 10100;
    top: 100%;
    left: 0;
    width: 100%;
    overflow: auto;
    max-height: calc(100vh - 110px);
    opacity: 0;
    transition: opacity 0.3s ease-out
  }

  .header-megamenu-body.menu-view.menu-op {
    opacity: 1
  }

  #js-header-megamenu-body-bg {
    position: absolute;
    z-index: 10001;
    top: 100%;
    left: 0;
    width: 100%;
    background: #fff;
    height: 0
  }

  #js-header-megamenu-bg {
    display: none;
    pointer-events: none;
    position: absolute;
    z-index: 10000;
    top: 100%;
    left: 0;
    width: 100%;
    height: calc(100vh - 100%);
    background: rgba(0, 0, 0, 0.5)
  }

  .header-megamenu-body__inner {
    display: flex;
    align-items: flex-start;
    margin: 0 auto;
    max-width: 1200px;
    padding: 40px 50px
  }

  .header-megamenu-body__photo {
    width: 260px;
    margin-right: 60px;
    line-height: 0
  }

  .header-megamenu-body__text {
    width: calc(100% - 320px);
    display: flex;
    flex-wrap: wrap
  }

  .header-megamenu-body__text__l {
    width: calc(50% - 20px)
  }

  .header-megamenu-body__text__r {
    width: calc(50% - 20px);
    margin-left: 40px
  }

  .header-megamenu-body__link-type01-wrap {
    width: 100%;
    margin-bottom: 30px
  }

  .header-megamenu-body__link-type01-wrap a.header-megamenu-body__link-type01 {
    display: block;
    padding-bottom: 15px;
    padding-right: 40px;
    line-height: 1.2;
    font-size: 1.25rem;
    font-weight: 700;
    color: #1A1A1A;
    background: url(/images/common/arror_r01_w.svg) calc(100% - 1px) 2px no-repeat;
    background-size: 25px 25px;
    border-bottom: 1px solid #1A1A1A
  }

  .header-megamenu-body__link-type01-wrap a.header-megamenu-body__link-type01:hover {
    background: url(/images/common/arror_r01_hover.svg) calc(100% - 1px) 2px no-repeat;
    background-size: 25px 25px;
    border-bottom: 1px solid #606
  }

  .header-megamenu-body__linklist-type01 {
    display: flex;
    flex-wrap: wrap;
    width: 100%
  }

  .header-megamenu-body__linklist-type01 li {
    margin: 0 20px 15px 0;
    width: calc(50% - 10px)
  }

  .header-megamenu-body__linklist-type01 li:nth-child(2n) {
    margin-right: 0
  }

  .header-megamenu-body__linklist-type01 li a {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    padding: 5px 45px 5px 15px;
    border: 1px solid #DDDDDD;
    background-color: #fff;
    font-size: .875rem;
    font-weight: 700;
    text-align: left;
    line-height: 1.4;
    color: #1A1A1A;
    text-decoration: none;
    min-height: 60px
  }

  .header-megamenu-body__linklist-type01 li a::before {
    content: "";
    position: absolute;
    top: calc(50% - 13px);
    right: 10px;
    width: 25px;
    height: 25px;
    background: url(/images/common/arror_r01_w.svg) 0 0 no-repeat;
    background-size: 100% 100%
  }

  .header-megamenu-body__linklist-type01 li a:hover {
    color: #7E13AB
  }

  .header-megamenu-body__linklist-type01 li a:hover::before {
    background: url(/images/common/arror_r01_hover.svg) 0 0 no-repeat;
    background-size: 100% 100%
  }

  .header-megamenu-body__linklist-type01 li a.header-nav02__blank-iconlink02::before {
    background: url(/images/common/icon_otherlink02.svg) 50% 50% no-repeat;
    background-size: 17px 17px !important
  }

  .header-megamenu-body__linklist-type01 li a.header-nav02__blank-iconlink02:hover::before {
    background: url(/images/common/icon_otherlink02_purple.svg) 50% 50% no-repeat
  }

  .header-megamenu-body__linklist-type02 {
    display: flex;
    flex-wrap: wrap
  }

  .header-megamenu-body__linklist-type02 li {
    width: calc(50% - 10px);
    margin: 0 20px 20px 0;
    border: 1px solid #DDDDDD
  }

  .header-megamenu-body__linklist-type02 li:nth-child(2n) {
    margin-right: 0
  }

  .header-megamenu-body__linklist-type02 li a {
    display: block
  }

  .header-megamenu-body__linklist-type02 li a figure {
    line-height: 0;
    text-align: center
  }

  .header-megamenu-body__linklist-type02 li a figure img {
    width: 100%
  }

  .header-megamenu-body__linklist-type02 li a span {
    display: flex;
    align-items: center;
    min-height: 60px;
    padding: 5px 40px 5px 15px;
    font-size: .875rem;
    font-weight: 700;
    line-height: 1.4;
    background: url(/images/common/arror_r01_w.svg) calc(100% - 10px) 50% no-repeat;
    background-size: 25px 25px
  }

  .header-megamenu-body__linklist-type02 li a:hover span {
    background: url(/images/common/arror_r01_hover.svg) calc(100% - 10px) 50% no-repeat;
    background-size: 25px 25px
  }

  .header-megamenu-body__linklist-type02 li a.header-nav02__blank-iconlink02 span {
    background: url(/images/common/icon_otherlink02.svg) calc(100% - 13px) 50% no-repeat;
    background-size: 17px 17px !important
  }

  .header-megamenu-body__linklist-type02 li a.header-nav02__blank-iconlink02:hover {
    color: #7E13AB
  }

  .header-megamenu-body__linklist-type02 li a.header-nav02__blank-iconlink02:hover span {
    background: url(/images/common/icon_otherlink02_purple.svg) calc(100% - 13px) 50% no-repeat
  }

  .header-megamenu-body__linklist-type03 li a {
    display: inline-block;
    position: relative;
    color: #1A1A1A;
    font-size: .875rem;
    padding-left: 14px
  }

  .header-megamenu-body__linklist-type03 li a::before {
    content: " ";
    display: block;
    width: 8px;
    height: 1px;
    background: #CCCCCC;
    position: absolute;
    top: 0.75em;
    left: 0
  }

  .header-megamenu-body__linklist-type03 li a:hover {
    color: #7E13AB
  }

  .header-megamenu-body__linklist-type03 li a:hover::before {
    background: #606
  }

  .js-header-megamenu-body__accordion-sp-btn {
    display: none
  }

  .js-header-megamenu-body__accordion-sp-body .header-megamenu-body__link-type01-wrap {
    margin-bottom: 20px
  }

  .header-megamenu-body__text__l__flex {
    display: flex
  }

  .header-megamenu-body__text__l__flex .header-megamenu-body__linklist-type03:nth-child(1) {
    width: 125px
  }

  .header-megamenu-body__text__l__flex .header-megamenu-body__linklist-type03:nth-child(2) {
    width: calc(100% - 125px)
  }

  .header-megamenu-body__text__dl {
    margin-bottom: 20px
  }

  .header-megamenu-body__text__dl:last-child {
    margin-bottom: 0
  }

  .header-megamenu-body__text__dl dt {
    color: #888888;
    font-size: .9375rem;
    margin-bottom: 3px;
    display: block !important
  }

  .header-megamenu-body__text__dl dd {
    display: block !important
  }

  .header-megamenu-body__text__dl dd ul li a {
    display: inline-block;
    position: relative;
    color: #1A1A1A;
    font-size: .875rem;
    padding-left: 14px
  }

  .header-megamenu-body__text__dl dd ul li a::before {
    content: " ";
    display: block;
    width: 8px;
    height: 1px;
    background: #CCCCCC;
    position: absolute;
    top: 0.75em;
    left: 0
  }

  .header-megamenu-body__text__dl dd ul li a:hover {
    color: #7E13AB
  }

  .header-megamenu-body__text__dl dd ul li a:hover::before {
    background: #606
  }

  .js-header-megamenu-body__accordion-sp-body {
    display: block !important
  }

  .js-header-megamenu-close {
    position: absolute;
    top: 0;
    right: 0;
    -webkit-appearance: none;
    appearance: none;
    display: block;
    border: none;
    width: 50px;
    height: 50px;
    background: url(/images/common/header_search_close.svg) 0 0 no-repeat;
    background-size: 100% 100%;
    cursor: pointer
  }

  .js-header-megamenu-close:hover {
    opacity: 1;
    background: url(/images/common/header_search_close_o.svg) 0 0 no-repeat;
    background-size: 100% 100%
  }

  .header-nav02__blank-iconlink {
    padding-right: 20px;
    background: url(/images/common/icon_otherlink.svg) calc(100% - 1px) 50% no-repeat;
    background-size: 13px 13px !important
  }

  .header-nav02__blank-iconlink:hover {
    background: url(/images/common/icon_otherlink_purple.svg) calc(100% - 1px) 50% no-repeat
  }
}

@media screen and (min-width: 961px) and (max-width: 1213px) {
  .header-nav02__nav>ul {
    padding-right: 10px
  }

  .header-nav02__nav>ul>li {
    padding-left: 13px;
    padding-right: 13px
  }
}

@media screen and (min-width: 961px) and (max-width: 1160px) {
  .header-nav02__nav>ul {
    padding-right: 5px
  }

  .header-nav02__nav>ul>li {
    padding-left: 9px;
    padding-right: 9px
  }
}

@media screen and (min-width: 961px) and (max-width: 1070px) {
  .header-nav02__nav>ul>li {
    padding-left: 7px;
    padding-right: 7px
  }
}

#js-header-search {
  display: none;
  background: #fff;
  border-top: 1px solid #E7EEED;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 9999
}

.header-search {
  max-width: 800px;
  margin: 0 auto;
  padding: 40px 50px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .header-search {
    padding: 35px 50px
  }
}

@media screen and (min-width: 521px) {
  .header-search form {
    display: flex
  }

  .header-search input[type="text"] {
    -webkit-appearance: none;
    appearance: none;
    width: calc(100% - 100px);
    height: 56px;
    border: 1px solid #DDDDDD;
    border-right: none;
    color: #1A1A1A;
    font-size: 13px;
    padding: 0 20px
  }

  .header-search button[type="submit"] {
    -webkit-appearance: none;
    appearance: none;
    display: block;
    border: none;
    width: 100px;
    height: 56px;
    background: #606 url(/images/common/icon_searh_w.svg) 25px 50% no-repeat;
    background-size: 14px 14px;
    cursor: pointer;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    text-align: left;
    padding-left: 47px
  }
}

@media screen and (min-width: 961px) {
  #js-header-search__close-btn {
    position: absolute;
    top: 0;
    right: 0;
    -webkit-appearance: none;
    appearance: none;
    display: block;
    border: none;
    width: 50px;
    height: 50px;
    background: url(/images/common/header_search_close.svg) 0 0 no-repeat;
    background-size: 100% 100%;
    cursor: pointer
  }

  #js-header-search__close-btn span {
    display: none
  }

  #js-header-search__close-btn:hover {
    opacity: 1;
    background: url(/images/common/header_search_close_o.svg) 0 0 no-repeat;
    background-size: 100% 100%
  }
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .header-search__close-btn-wrap {
    text-align: center;
    padding-top: 23px
  }

  #js-header-search__close-btn {
    -webkit-appearance: none;
    appearance: none;
    display: inline-block;
    border: none;
    min-height: 20px;
    background: url(/images/common/header_menu_close.svg) 0 50% no-repeat;
    background-size: 17px 17px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    color: #1A1A1A
  }

  #js-header-search__close-btn span {
    padding-left: 30px
  }
}

.sp-drawer__keyword {
  display: none
}

.sp-drawer__other-nav {
  display: none
}

.sp-drawer__lang-nav {
  display: none
}

.sp-drawer__sns-nav {
  display: none
}

.sp-drawer__close {
  display: none
}

#js-sp-drawer-bg {
  display: none;
  position: absolute;
  z-index: 20000;
  top: 0;
  left: 0;
  width: 100%;
  height: 120vh;
  pointer-events: all;
  background-color: rgba(0, 0, 0, 0.75)
}

@media screen and (min-width: 961px) {
  #js-sp-drawer-bg {
    display: none !important
  }
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  #js-sp-drawer-bg {
    top: 88px
  }
}

@media screen and (max-width: 520px) {
  #js-sp-drawer-bg {
    top: 94px
  }
}

@media screen and (max-width: 960px) {
  #js-sp-drawer {
    z-index: 20001;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: #F0F0F0;
    pointer-events: all;
    overflow: auto
  }
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  #js-sp-drawer {
    top: 88px;
    max-height: calc(100vh - 88px)
  }
}

@media screen and (max-width: 520px) {
  #js-sp-drawer {
    top: 94px;
    max-height: calc(100vh - 94px)
  }
}

@media screen and (max-width: 960px) {
  body.header-fixed #js-sp-drawer {
    position: fixed
  }
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  body.header-fixed #js-sp-drawer {
    top: 88px;
    max-height: calc(100% - 88px) !important
  }
}

@media screen and (max-width: 520px) {
  body.header-fixed #js-sp-drawer {
    top: 94px;
    max-height: calc(100% - 94px) !important
  }
}

@media screen and (max-width: 960px) {
  .sp-drawer__other-nav {
    display: block
  }

  .sp-drawer__other-nav__01 {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #CCCCCC
  }

  .sp-drawer__other-nav__01 li {
    position: relative;
    width: 25%;
    height: 58px
  }

  .sp-drawer__other-nav__01 li::before {
    content: " ";
    display: block;
    width: 1px;
    height: 20px;
    background: #CCCCCC;
    position: absolute;
    left: 0px;
    top: calc(50% - 10px)
  }

  .sp-drawer__other-nav__01 li:first-child::before {
    display: none
  }

  .sp-drawer__other-nav__01 li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    padding: 0 10px
  }

  .sp-drawer__other-nav__02 {
    display: flex;
    border-bottom: 1px solid #CCCCCC
  }

  .sp-drawer__other-nav__02 li {
    position: relative;
    width: 50%;
    height: 58px
  }

  .sp-drawer__other-nav__02 li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 13px;
    font-weight: 700
  }

  .sp-drawer__other-nav__02__01 span {
    display: inline-block;
    padding: 0 19px 0 19px;
    background: url(/images/common/icon_point.svg) 0 50% no-repeat;
    background-size: 11px 15px
  }

  .sp-drawer__other-nav__02__02 span {
    display: inline-block;
    padding: 0 20px 0 22px;
    background: url(/images/common/icon_heart.svg) 0 50% no-repeat;
    background-size: 15px 13px
  }

  .js-sp-drawer__nav__accordion-btn {
    position: relative;
    pointer-events: all;
    cursor: pointer;
    display: flex;
    align-items: center;
    height: 55px;
    padding: 0 20px;
    font-size: 14px;
    font-weight: 700;
    border-bottom: 1px solid #CCCCCC
  }

  .js-sp-drawer__nav__accordion-btn::after {
    content: " ";
    display: block;
    position: absolute;
    right: 20px;
    top: calc(50% - 10px);
    width: 16px;
    height: 16px;
    background: url(/images/common/icon_plus_purple.svg) 0 0 no-repeat;
    background-size: 100% 100%
  }

  .js-sp-drawer__nav__accordion-btn.open::after {
    background: url(/images/common/icon_minus_purple.svg) 0 0 no-repeat;
    background-size: 100% 100%
  }

  .js-sp-drawer__nav__accordion-btn a {
    pointer-events: none;
    display: block
  }

  .js-sp-drawer__nav__accordion-body {
    display: none;
    background: #fff
  }

  .sp-drawer__sns-nav {
    display: block;
    border-bottom: 1px solid #CCCCCC
  }

  .sp-drawer__sns-nav ul {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 30px 0
  }

  .sp-drawer__sns-nav ul li {
    width: 28px;
    margin: 0 10px;
    line-height: 0
  }

  .sp-drawer__sns-nav ul li a {
    display: block
  }

  .sp-drawer__sns-nav ul li a img {
    width: 28px;
    height: 28px
  }

  .sp-drawer__close {
    display: block;
    padding: 25px 0;
    text-align: center;
    line-height: 1
  }

  .sp-drawer__close button {
    position: relative;
    -webkit-appearance: none;
    appearance: none;
    display: inline-block;
    border: none;
    min-width: 80px;
    height: 30px;
    padding-left: 35px;
    padding-right: 10px;
    background: url(/images/common/header_menu_close.svg) 5px 50% no-repeat;
    background-size: 17px 17px;
    cursor: pointer;
    color: #1A1A1A;
    font-size: 13px;
    font-weight: 700
  }

  #js-header-megamenu-body-bg {
    display: none !important
  }

  .header-megamenu-body__photo {
    display: none !important
  }

  .header-megamenu-body__text {
    background: #DEDEDE
  }

  .header-nav02__nav__normal-link {
    position: relative;
    display: flex;
    align-items: center;
    text-align: left;
    width: 100%;
    height: 55px;
    color: #1A1A1A;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    padding: 0 35px 0 15px;
    border-bottom: 1px solid #CCCCCC
  }

  .header-nav02__nav__normal-link::before {
    content: "";
    position: absolute;
    top: calc(50% - 3px);
    right: 19px;
    width: 7px;
    height: 7px;
    border-left: 1px solid #606;
    border-bottom: 1px solid #606;
    transform: rotate(-135deg)
  }

  .header-nav02__nav__normal-link:hover {
    color: #1A1A1A
  }

  .header-megamenu-body__link-type01 {
    position: relative;
    display: flex;
    align-items: center;
    text-align: left;
    width: 100%;
    height: 50px;
    color: #1A1A1A;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    padding: 0 35px 0 15px;
    border-bottom: 1px solid #fff
  }

  .header-megamenu-body__link-type01::before {
    content: "";
    position: absolute;
    top: calc(50% - 3px);
    right: 19px;
    width: 7px;
    height: 7px;
    border-left: 1px solid #606;
    border-bottom: 1px solid #606;
    transform: rotate(-135deg)
  }

  .header-megamenu-body__link-type01:hover {
    color: #1A1A1A
  }

  .header-megamenu-body__linklist-type01,
  .header-megamenu-body__linklist-type03 {
    position: relative;
    display: flex;
    flex-wrap: wrap
  }

  .header-megamenu-body__linklist-type01::after,
  .header-megamenu-body__linklist-type03::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #fff
  }

  .header-megamenu-body__linklist-type01 li,
  .header-megamenu-body__linklist-type03 li {
    width: 50%;
    height: 50px;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff
  }

  .header-megamenu-body__linklist-type01 li a,
  .header-megamenu-body__linklist-type03 li a {
    display: flex;
    align-items: center;
    text-align: left;
    width: 100%;
    height: 50px;
    color: #4D4D4D;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.2;
    padding: 0 15px 0 15px
  }

  .header-megamenu-body__linklist-type01 li a.header-nav02__blank-iconlink02 span,
  .header-megamenu-body__linklist-type03 li a.header-nav02__blank-iconlink02 span {
    padding-right: 20px;
    background: url(/images/common/icon_otherlink.svg) 100% 50% no-repeat;
    background-size: 14px 14px
  }

  .header-megamenu-body__linklist-type02 {
    position: relative;
    display: flex;
    flex-wrap: wrap
  }

  .header-megamenu-body__linklist-type02::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #fff
  }

  .header-megamenu-body__linklist-type02 li {
    width: 50%;
    min-height: 50px;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff
  }

  .header-megamenu-body__linklist-type02 li figure {
    display: none
  }

  .header-megamenu-body__linklist-type02 li a {
    display: flex;
    align-items: center;
    text-align: left;
    width: 100%;
    height: 100%;
    color: #4D4D4D;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.2;
    padding: 1px 15px 1px 15px
  }

  .header-megamenu-body__linklist-type02 li a.header-nav02__blank-iconlink02 span {
    padding-right: 20px;
    background: url(/images/common/icon_otherlink.svg) 100% 50% no-repeat;
    background-size: 14px 14px
  }

  .js-header-megamenu-body__accordion-sp-btn {
    cursor: pointer;
    padding: 0 15px;
    position: relative;
    pointer-events: all;
    display: flex;
    align-items: center;
    text-align: left;
    width: 100%;
    height: 50px;
    color: #1A1A1A;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    padding: 0 35px 0 15px;
    background: #E6E6E6;
    border-bottom: 1px solid #CCCCCC
  }

  .js-header-megamenu-body__accordion-sp-btn::after {
    content: " ";
    display: block;
    position: absolute;
    right: 15px;
    top: calc(50% - 10px);
    width: 15px;
    height: 15px;
    background: url(/images/common/icon_plus_purple02.svg) 0 0 no-repeat;
    background-size: 100% 100%
  }

  .js-header-megamenu-body__accordion-sp-btn.open::after {
    background: url(/images/common/icon_minus_purple02.svg) 0 0 no-repeat;
    background-size: 100% 100%
  }

  .js-header-megamenu-body__accordion-sp-body {
    display: none
  }

  .js-header-megamenu-body__accordion-sp-body .header-megamenu-body__link-type01 {
    color: #4D4D4D !important
  }

  .header-megamenu-body__text__dl dt {
    position: relative;
    cursor: pointer;
    display: flex;
    align-items: center;
    text-align: left;
    width: 100%;
    height: 50px;
    color: #4D4D4D;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.2;
    padding: 0 35px 0 15px;
    background: #E6E6E6;
    border-bottom: 1px solid #fff
  }

  .header-megamenu-body__text__dl dt::after {
    content: " ";
    display: block;
    position: absolute;
    right: 15px;
    top: calc(50% - 10px);
    width: 15px;
    height: 15px;
    background: url(/images/common/icon_plus_purple02.svg) 0 0 no-repeat;
    background-size: 100% 100%
  }

  .header-megamenu-body__text__dl dt.open::after {
    background: url(/images/common/icon_minus_purple02.svg) 0 0 no-repeat;
    background-size: 100% 100%
  }

  .header-megamenu-body__text__dl dd {
    display: none
  }

  .header-megamenu-body__text__dl dd ul {
    position: relative;
    display: flex;
    flex-wrap: wrap
  }

  .header-megamenu-body__text__dl dd ul::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #fff
  }

  .header-megamenu-body__text__dl dd ul li {
    width: 50%;
    min-height: 50px;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff
  }

  .header-megamenu-body__text__dl dd ul li a {
    display: flex;
    align-items: center;
    text-align: left;
    width: 100%;
    height: 100%;
    color: #4D4D4D;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.2;
    padding: 1px 15px 1px 15px
  }

  .header-megamenu-body__text__dl dd ul li a.header-nav02__blank-iconlink span {
    padding-right: 20px;
    background: url(/images/common/icon_otherlink.svg) 100% 50% no-repeat;
    background-size: 14px 14px
  }

  .header-megamenu-body__text__dl.header-megamenu-body__text__dl__sp-type01 dt {
    display: none !important
  }

  .header-megamenu-body__text__dl.header-megamenu-body__text__dl__sp-type01 dd {
    display: block !important
  }

  .header-megamenu-body__text__dl.header-megamenu-body__text__dl__sp-type01 dd ul li {
    width: 100%
  }
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .sp-drawer__other-nav__02__01 {
    display: none !important
  }

  .sp-drawer__other-nav__02__02 {
    width: 100% !important
  }

  .header-megamenu-body__linklist-type01 li,
  .header-megamenu-body__linklist-type03 li {
    width: 25%
  }

  .header-megamenu-body__linklist-type01 li:nth-child(4n),
  .header-megamenu-body__linklist-type03 li:nth-child(4n) {
    border-right: none
  }
}

@media screen and (max-width: 520px) {
  #js-header-search {
    display: none !important
  }

  .sp-drawer__keyword {
    display: block !important;
    padding: 18px 15px 28px;
    margin: 0;
    border-bottom: 1px solid #CCCCCC
  }

  .sp-drawer__keyword form {
    display: flex;
    border-bottom: 1px solid #1A1A1A
  }

  .sp-drawer__keyword input[type="text"] {
    -webkit-appearance: none;
    appearance: none;
    width: calc(100% - 45px);
    height: 36px;
    border: none;
    color: #1A1A1A;
    font-size: 16px;
    padding-left: 30px;
    background: url(/images/common/icon_searh.svg) 9px 50% no-repeat;
    background-size: 14px 14px
  }

  .sp-drawer__keyword button[type="submit"] {
    -webkit-appearance: none;
    appearance: none;
    display: block;
    border: none;
    width: 45px;
    height: 36px;
    background: none;
    cursor: pointer;
    color: #1A1A1A;
    font-size: 13px;
    font-weight: 700
  }

  .sp-drawer__other-nav__01 {
    border-bottom: none;
    position: relative;
    display: flex;
    flex-wrap: wrap
  }

  .sp-drawer__other-nav__01::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #CCCCCC;
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0
  }

  .sp-drawer__other-nav__01 li {
    position: relative;
    z-index: 2;
    width: 50%;
    height: 58px;
    border-bottom: 1px solid #CCCCCC;
    border-right: 1px solid #CCCCCC
  }

  .sp-drawer__other-nav__01 li:nth-child(2n) {
    border-right: none
  }

  .sp-drawer__other-nav__01 li::before {
    display: none
  }

  .sp-drawer__other-nav__02 {
    border-bottom: none;
    position: relative;
    display: flex;
    flex-wrap: wrap
  }

  .sp-drawer__other-nav__02::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #CCCCCC;
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0
  }

  .sp-drawer__other-nav__02 li {
    position: relative;
    z-index: 2;
    width: 50%;
    height: 58px;
    border-bottom: 1px solid #CCCCCC;
    border-right: 1px solid #CCCCCC
  }

  .sp-drawer__other-nav__02 li:nth-child(2n) {
    border-right: none
  }

  .sp-drawer__other-nav__02 li::before {
    display: none
  }

  .js-sp-drawer__nav__accordion-btn {
    padding: 0 15px
  }

  .js-sp-drawer__nav__accordion-btn::after {
    right: 15px
  }

  .sp-drawer__lang-nav {
    display: block;
    border-bottom: 1px solid #CCCCCC
  }

  .sp-drawer__lang-nav dl {
    padding: 20px 15px;
    display: flex;
    align-items: center
  }

  .sp-drawer__lang-nav dl dt {
    position: relative;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    padding-left: 23px;
    padding-right: 10px;
    min-width: 70px;
    background: url(/images/common/icon_global.svg) 0 50% no-repeat;
    background-size: 15px 15px
  }

  .sp-drawer__lang-nav dl dt::after {
    content: " ";
    display: block;
    width: 1px;
    height: 14px;
    background: #CCCCCC;
    position: absolute;
    right: 0px;
    top: calc(50% - 7px)
  }

  .sp-drawer__lang-nav dl dd {
    padding-left: 20px;
    line-height: 1.1
  }

  .sp-drawer__lang-nav dl dd a {
    display: inline-block;
    margin-right: 30px;
    padding: 2px 0;
    color: #757575;
    font-size: 13px;
    font-weight: 700
  }

  .sp-drawer__lang-nav dl dd a.current {
    color: #1A1A1A;
    border-bottom: 1px solid #1A1A1A
  }
}

#page-top {
  position: fixed;
  bottom: 0px;
  left: 0;
  z-index: 1999;
  width: 100%;
  margin-bottom: 20px;
  pointer-events: none
}

#page-top #page-top-inner {
  position: relative;
  margin: 0 auto
}

#page-top.view a {
  pointer-events: all;
  opacity: 1
}

#page-top a {
  position: absolute;
  bottom: 0;
  right: 50px;
  display: block;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background-color: #606;
  padding-top: 39px;
  line-height: 1;
  text-align: center;
  color: #fff;
  font-weight: 700;
  font-size: .75rem;
  opacity: 0;
  transition: opacity 0.3s ease-out
}

#page-top a::after {
  content: " ";
  display: block;
  width: 12px;
  height: 14px;
  background: url(/images/common/pagetop_arrow.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  position: absolute;
  top: 16px;
  left: calc(50% - 6px);
  transition: top 0.3s ease-out
}

#page-top a:hover::after {
  top: 11px
}

@media screen and (max-width: 960px) {
  #page-top a {
    right: 20px;
    width: 60px;
    height: 60px;
    padding-top: 30px
  }

  #page-top a::after {
    left: calc(50% - 5px);
    width: 10px;
    height: 11.65px;
    top: 12px !important
  }
}

@media screen and (max-width: 520px) {
  #page-top a {
    right: 15px
  }
}

#page-top a i {
  display: block;
  font-style: normal
}

#page-top a i::after {
  content: "TOP";
  display: block;
  text-align: center
}

#footer-wrap {
  margin-top: 115px
}

@media screen and (max-width: 520px) {
  #footer-wrap {
    margin-top: 100px
  }
}

#footer {
  border-top: 1px solid #DDDDDD
}

#footer-inner01 {
  position: relative;
  max-width: 1200px;
  padding: 30px 50px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center
}

@media screen and (max-width: 960px) {
  #footer-inner01 {
    padding: 30px 20px
  }
}

@media screen and (max-width: 520px) {
  #footer-inner01 {
    display: block;
    padding: 30px 15px 20px
  }
}

.footer-logo {
  width: 141px;
  line-height: 0;
  order: 1
}

.footer-logo a {
  display: block
}

.footer-logo img {
  width: 100%
}

@media screen and (max-width: 520px) {
  .footer-logo {
    width: 164px;
    margin: 0 auto
  }
}

.footer-address {
  order: 2;
  width: calc(100% - 141px);
  padding-left: 40px;
  padding-right: 145px;
  font-size: .75rem
}

@media screen and (max-width: 960px) {
  .footer-address {
    width: calc(100%);
    padding-left: 0px;
    padding-right: 0px;
    margin-top: 22px;
    margin-bottom: 5px
  }
}

@media screen and (max-width: 520px) {
  .footer-address p {
    margin-bottom: 5px
  }
}

.footer-sns {
  position: absolute;
  top: calc(50% - 14px);
  right: 50px;
  display: flex
}

.footer-sns li {
  width: 28px;
  line-height: 0;
  margin-left: 20px
}

.footer-sns li a {
  display: block
}

@media screen and (min-width: 961px) {
  .footer-sns a:hover img {
    opacity: 0
  }

  .footer-sns__twitter:hover {
    background: url(/images/common/icon_sns_twitter_on.svg) 0 0 no-repeat;
    background-size: 100% 100%
  }

  .footer-sns__facebook:hover {
    background: url(/images/common/icon_sns_facebook_on.svg) 0 0 no-repeat;
    background-size: 100% 100%
  }

  .footer-sns__youtube:hover {
    background: url(/images/common/icon_sns_youtube_on.svg) 0 0 no-repeat;
    background-size: 100% 100%
  }
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .footer-sns {
    top: 30px;
    right: 20px
  }
}

@media screen and (max-width: 520px) {
  .footer-sns {
    position: static;
    justify-content: center
  }

  .footer-sns li {
    margin: 30px 10px 10px
  }
}

#footer-inner02 {
  position: relative;
  background: #F0F0F0
}

#footer-inner02 nav {
  position: relative;
  display: block;
  max-width: 1200px;
  padding: 30px 50px 0;
  margin: 0 auto
}

@media screen and (max-width: 960px) {
  #footer-inner02 {
    border-top: 1px solid #CCCCCC
  }

  #footer-inner02 nav {
    padding: 0
  }
}

.footer-nav {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -7px
}

@media screen and (max-width: 960px) {
  .footer-nav {
    margin: 0
  }
}

.footer-nav li {
  width: calc(25% - 14px);
  margin: 0 7px
}

.footer-nav li a {
  position: relative;
  display: flex;
  align-items: center;
  height: 70px;
  padding-right: 25px;
  font-size: .9375rem;
  font-weight: 700;
  line-height: 1.2;
  border-bottom: 1px solid #CCCCCC
}

.footer-nav li a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
  width: 6px;
  height: 6px;
  border-left: 1px solid #000000;
  border-bottom: 1px solid #000000;
  transform: rotate(-135deg);
  transition: right .3s
}

.footer-nav li a::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 1px;
  background: #606;
  transition: transform .3s;
  transform: scale(0, 1);
  transform-origin: left top
}

@media screen and (max-width: 520px) {
  .footer-nav li a::after {
    display: none !important
  }
}

@media screen and (min-width: 961px) {
  .footer-nav li a:hover::before {
    right: 2px;
    border-color: #606 !important
  }

  .footer-nav li a:hover::after {
    transform: scale(1, 1)
  }
}

@media screen and (max-width: 960px) {
  .footer-nav li {
    width: 50%;
    margin: 0px;
    overflow: hidden
  }

  .footer-nav li:nth-child(2n) {
    border-left: 1px solid #CCCCCC
  }

  .footer-nav li a {
    height: 56px;
    padding-right: 25px;
    padding-left: 20px;
    font-size: .875rem
  }

  .footer-nav li a::before {
    right: 20px !important;
    border-color: #606 !important
  }
}

@media screen and (max-width: 520px) {
  .footer-nav li a {
    padding-right: 25px;
    padding-left: 15px
  }

  .footer-nav li a::before {
    right: 15px !important
  }
}

.footer-nav01 {
  display: flex;
  flex-wrap: wrap;
  padding: 30px 0
}

.footer-nav01 li {
  margin-right: 20px
}

.footer-nav01 li a {
  position: relative;
  display: flex;
  align-items: center;
  font-size: .9375rem;
  font-weight: 700;
  padding-right: 37px;
  min-height: 25px;
  background: url(/images/common/arror_r01_alpha_b.svg) calc(100% - 1px) 50% no-repeat;
  background-size: 25px 25px
}

@media screen and (min-width: 961px) {
  .footer-nav01 li a:hover {
    background: url(/images/common/arror_r01_hover.svg) calc(100% - 1px) 50% no-repeat;
    background-size: 25px 25px
  }
}

@media screen and (max-width: 960px) {
  .footer-nav01 {
    padding: 0
  }

  .footer-nav01 li {
    width: 50%;
    margin: 0px;
    border-bottom: 1px solid #CCCCCC
  }

  .footer-nav01 li:nth-child(2n) {
    border-left: 1px solid #CCCCCC
  }

  .footer-nav01 li a {
    position: relative;
    display: flex;
    align-items: center;
    height: 56px;
    padding-right: 25px;
    padding-left: 20px;
    font-size: .875rem;
    background: none
  }

  .footer-nav01 li a::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    width: 6px;
    height: 6px;
    border-left: 1px solid #606;
    border-bottom: 1px solid #606;
    transform: rotate(-135deg)
  }
}

@media screen and (max-width: 520px) {
  .footer-nav01 li a::before {
    right: 15px !important
  }
}

.footer-nav02-wrap {
  position: relative;
  padding-right: 170px;
  padding-bottom: 35px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .footer-nav02-wrap {
    padding: 35px 200px 35px 20px
  }
}

@media screen and (max-width: 520px) {
  .footer-nav02-wrap {
    padding: 40px 15px 20px 15px
  }
}

.footer-nav02 {
  display: flex;
  flex-wrap: wrap
}

.footer-nav02 li {
  margin-right: 20px;
  margin-bottom: 15px
}

.footer-nav02 li a {
  position: relative;
  display: block;
  padding-left: 13px;
  line-height: 1;
  font-size: .875rem
}

@media screen and (max-width: 520px) {
  .footer-nav02 li a {
    font-size: .75rem
  }
}

.footer-nav02 li a::before {
  content: "";
  position: absolute;
  top: calc(50% - 4px);
  left: -1px;
  width: 6px;
  height: 6px;
  border-left: 1px solid #000000;
  border-bottom: 1px solid #000000;
  transform: rotate(-135deg)
}

@media screen and (min-width: 521px) {
  .footer-nav02 li a:hover::before {
    border-color: #606 !important
  }
}

@media screen and (max-width: 520px) {
  .footer-nav02 {
    justify-content: center
  }
}

.footer-nav-voice {
  position: absolute;
  top: -60px;
  right: 0
}

.footer-nav-voice a {
  display: block;
  background: #4D4D4D;
  font-size: .9375rem;
  color: #fff;
  line-height: 1;
  padding: 13px 22px
}

.footer-nav-voice a span {
  padding-left: 24px;
  background: url(/images/common/icon_speaker_w.svg) 0 50% no-repeat;
  background-size: 17px 14px
}

@media screen and (min-width: 961px) {
  .footer-nav-voice a:hover {
    background: #606
  }
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .footer-nav-voice {
    top: 30px;
    right: 20px
  }

  .footer-nav-voice a {
    padding: 13px 32px
  }
}

@media screen and (max-width: 520px) {
  .footer-nav-voice {
    display: none
  }
}

.footer-nav03 {
  border-top: 1px solid #FFFFFF;
  padding-top: 32px;
  padding-bottom: 32px;
  padding-right: 40%;
  display: flex;
  flex-wrap: wrap
}

.footer-nav03 li {
  line-height: 1;
  padding-right: 16px;
  margin-right: 16px;
  border-right: 1px solid #808080
}

.footer-nav03 li:last-child {
  padding-right: 0px;
  margin-right: 0px;
  border-right: none
}

.footer-nav03 li a {
  color: #808080;
  font-size: .75rem
}

@media screen and (min-width: 961px) {
  .footer-nav03 li a:hover {
    text-decoration: underline
  }
}

@media screen and (max-width: 960px) {
  .footer-nav03 {
    border-top: none;
    padding-top: 0;
    padding-bottom: 15px;
    padding-right: 0;
    justify-content: center
  }

  .footer-nav03 li {
    margin-bottom: 15px
  }
}

.copyright {
  position: absolute;
  bottom: 32px;
  right: 0;
  padding-right: 50px;
  text-align: center;
  color: #808080
}

.copyright small {
  font-size: .75rem;
  display: block;
  line-height: 1.1
}

@media screen and (max-width: 960px) {
  .copyright {
    position: static;
    padding-right: 0px;
    padding-bottom: 35px
  }

  .copyright small {
    line-height: 1.8
  }
}

.eng {
  font-family: 'Lato', sans-serif !important
}

figure figcaption {
  line-height: 1.3 !important;
  margin-bottom: 8px
}

figure img+figcaption {
  margin-top: 8px;
  margin-bottom: 0px
}

.trans-motion-on {
  transition: transform 0.25s ease-out !important
}

.hr-type01 {
  border: none;
  border-top: 1px solid #DDDDDD;
  margin: 30px 0 50px
}

.hr-type02 {
  border: none;
  width: 100%;
  height: 1px;
  margin: 0 0 40px 0
}

.hr-type03 {
  border: none;
  border-top: 1px solid #DDDDDD;
  width: 100%;
  height: 1px;
  margin: 20px auto 20px auto
}

.hr-type04 {
  border: none;
  border-top: 1px solid #DDDDDD;
  width: 70%;
  height: 1px;
  margin: 20px auto 20px auto
}

.spacer {
  width: 100%;
  height: 60px
}

@media screen and (max-width: 520px) {
  .spacer {
    height: 30px
  }
}

.redirect-text {
  padding-top: 50px;
  text-align: center
}

@media screen and (max-width: 520px) {
  .redirect-text {
    padding-top: 30px
  }
}

.ov-hidden100 {
  overflow: hidden;
  width: 100%
}

.news-icon01,
.news-icon02,
.news-icon03,
.news-icon04 {
  display: inline-block;
  background: #fff;
  min-width: 86px;
  padding: 4px 10px;
  line-height: 1.1;
  font-size: .75rem;
  font-weight: 700;
  text-align: center;
  border: 1px solid #736445;
  color: #736445
}

.news-icon02 {
  border-color: #35826D !important;
  color: #35826D !important
}

.news-icon03 {
  border-color: #AC3434 !important;
  color: #AC3434 !important
}

.news-icon04 {
  border-color: #597FC1 !important;
  color: #597FC1 !important
}

.event-icon01,
.event-icon02,
.event-icon03,
.event-icon04,
.event-icon05 {
  display: inline-block;
  min-width: 86px;
  padding: 4px;
  line-height: 1.1;
  font-size: .75rem;
  font-weight: 700;
  text-align: center;
  color: #1A1A1A;
  border: 1px solid #1A1A1A
}

.event-icon01 {
  border-color: #736445 !important;
  color: #736445 !important
}

.event-icon02 {
  border-color: #35826D !important;
  color: #35826D !important
}

.event-icon03 {
  border-color: #4E6FA8 !important;
  color: #4E6FA8 !important
}

.event-icon04 {
  border-color: #A66125 !important;
  color: #A66125 !important
}

.event-icon05 {
  border-color: #808080 !important;
  color: #808080 !important
}

.t-weight {
  font-weight: 700 !important
}

.text-underline {
  text-decoration: underline !important
}

.t-col-defo {
  color: #1A1A1A !important
}

.t-col-secondary {
  color: #4D4D4D
}

.t-col01 {
  color: #7E13AB !important
}

.t-col02 {
  color: #BD1515 !important
}

.t-col03 {
  color: #FFBE00 !important
}

.t-col04 {
  color: #4DB56A !important
}

.t-col05 {
  color: #03C !important
}

.text-explanation {
  color: #888888;
  font-size: .8125rem
}

.catchphrase-text {
  font-size: 1.25rem
}

@media screen and (max-width: 520px) {
  .catchphrase-text {
    font-size: 17px
  }
}

.dl-text-indent {
  display: flex
}

.dl-text-indent dt {
  white-space: nowrap;
  padding-right: 0.5em
}

.dl-text-indent dd {
  width: 100%
}

.dl-text-indent dd p {
  margin: 0
}

.link-underline {
  text-decoration: underline !important
}

.t-col01-link {
  text-decoration: underline;
  color: #7E13AB !important
}

.t-col01-link:hover {
  text-decoration: none
}

.arrow-link02 {
  position: relative;
  color: #7E13AB;
  padding-left: 15px;
  text-decoration: underline
}

.arrow-link02::before {
  content: "";
  position: absolute;
  top: 0.38em;
  left: 0px;
  width: 6px;
  height: 6px;
  border-left: 1px solid #606;
  border-bottom: 1px solid #606;
  transform: rotate(-135deg)
}

.arrow-link02:hover {
  text-decoration: none
}

.arrow-link02.current {
  pointer-events: none !important;
  color: #1A1A1A !important;
  text-decoration: none !important
}

.arrow-link02.current::before {
  border-color: #1A1A1A !important
}

.arrow-link02.blank-iconlink {
  padding-left: 28px
}

.arrow-link02.blank-iconlink::before {
  display: none !important
}

.arrow-link03 {
  position: relative;
  color: #7E13AB;
  text-decoration: underline
}

.arrow-link03::after {
  position: relative;
  top: -0.23em;
  content: " ";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-left: 1px solid #606;
  border-bottom: 1px solid #606;
  transform: rotate(-45deg);
  margin-left: 5px
}

.arrow-link03:hover {
  text-decoration: none
}

a:not(:has(>img)).blank-iconlink {
  color: #7E13AB;
  padding: 1px 0;
  padding-left: 28px;
  background: url(/images/common/icon_otherlink02.svg) 3px 52% no-repeat;
  background-size: 17px 17px;
  text-decoration: underline
}

a:not(:has(>img)).blank-iconlink:hover {
  text-decoration: none;
  background: url(/images/common/icon_otherlink02_purple.svg) 3px 52% no-repeat;
  background-size: 17px 17px
}


.pdf-iconlink {
  color: #7E13AB;
  padding: 1px 0;
  padding-left: 25px;
  background: url(/images/common/icon_pdf.png) 3px 50% no-repeat;
  text-decoration: underline
}

.pdf-iconlink:hover {
  text-decoration: none
}

.excel-iconlink {
  color: #7E13AB;
  padding: 1px 0;
  padding-left: 24px;
  background: url(/images/common/icon_excel.svg) 3px 50% no-repeat;
  background-size: 13px 15px;
  text-decoration: underline
}

.excel-iconlink:hover {
  text-decoration: none
}

.word-iconlink {
  color: #7E13AB;
  padding: 1px 0;
  padding-left: 24px;
  background: url(/images/common/icon_word.svg) 3px 50% no-repeat;
  background-size: 13px 15px;
  text-decoration: underline
}

.word-iconlink:hover {
  text-decoration: none
}

.zip-iconlink {
  color: #7E13AB;
  padding: 1px 0;
  padding-left: 24px;
  background: url(/images/common/icon_zip.svg) 3px 50% no-repeat;
  background-size: 13px 15px;
  text-decoration: underline
}

.zip-iconlink:hover {
  text-decoration: none
}

.img-iconlink {
  color: #7E13AB;
  padding: 1px 0;
  padding-left: 24px;
  background: url(/images/common/icon_img.svg) 3px 50% no-repeat;
  background-size: 13px 15px;
  text-decoration: underline
}

.img-iconlink:hover {
  text-decoration: none
}

.btn-wrap {
  margin-bottom: 30px
}

@media screen and (max-width: 520px) {
  .btn-wrap {
    margin-bottom: 25px
  }
}

.btn-wrap02 {
  margin-bottom: 80px
}

@media screen and (max-width: 520px) {
  .btn-wrap02 {
    margin-bottom: 50px
  }
}

.btn-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 8px
}

.btn-list li {
  width: 320px;
  margin: 0 22px 22px 0
}

@media screen and (max-width: 520px) {
  .btn-list li {
    width: 100%;
    margin: 0 0px 20px 0
  }
}

.btn-rss {
  display: inline-block;
  border-radius: 3px;
  color: #fff;
  white-space: nowrap;
  font-size: .8125rem;
  line-height: 1;
  padding: 6px 10px 6px 25px;
  background: #4D4D4D url(/images/common/icon_rss_w.svg) 10px 50% no-repeat;
  background-size: 11px 11px
}

.btn-rss:hover {
  color: #fff;
  background-color: #606 !important
}

.btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 380px;
  padding: 5px 35px;
  border: 1px solid transparent;
  background-color: #606;
  font-size: .875rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
  color: #fff !important;
  text-decoration: none;
  min-height: 60px
}

.btn:hover {
  background-color: #4F004F
}

@media screen and (max-width: 520px) {
  .btn {
    max-width: inherit;
    font-size: 14px
  }
}

.btn.btn-arrow::before {
  content: "";
  position: absolute;
  top: calc(50% - 3px);
  right: 20px;
  width: 6px;
  height: 6px;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: rotate(-135deg)
}

.btn.btn-blank::before {
  content: "";
  position: absolute;
  top: calc(50% - 7px) !important;
  right: 19px;
  width: 14px;
  height: 14px;
  background: url(/images/common/icon_otherlink_w.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  border: none !important;
  transform: rotate(0) !important
}

.btn-type01 {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 5px 45px 5px 15px;
  border: 1px solid #DDDDDD;
  background-color: #fff;
  font-size: .875rem;
  font-weight: 700;
  text-align: left;
  line-height: 1.4;
  color: #1A1A1A;
  text-decoration: none;
  min-height: 60px
}

.btn-type01:hover {
  color: #7E13AB
}

@media screen and (max-width: 520px) {
  .btn-type01 {
    font-size: 13px;
    min-height: 70px
  }
}

.btn-type01.btn-arrow::before {
  content: "";
  position: absolute;
  top: calc(50% - 13px);
  right: 10px;
  width: 25px;
  height: 25px;
  background: url(/images/common/arror_r01_w.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

@media screen and (max-width: 520px) {
  .btn-type01.btn-arrow::before {
    right: 10px
  }
}

.btn-type01.btn-arrow:hover::before {
  background: url(/images/common/arror_r01_hover.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

.btn-type01.btn-blank::before {
  content: "";
  position: absolute;
  top: calc(50% - 7px);
  right: 19px;
  width: 14px;
  height: 14px;
  background: url(/images/common/icon_otherlink.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

@media screen and (max-width: 520px) {
  .btn-type01.btn-blank::before {
    right: 10px
  }
}

.btn-type01.btn-blank:hover::before {
  background: url(/images/common/icon_otherlink_purple.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

.btn-type02 {
  display: block;
  width: 100%;
  min-height: 75px;
  padding: 10px 20px 10px 50px !important;
  display: flex;
  align-items: center;
  color: #1A1A1A;
  font-size: .8125rem;
  font-weight: 700;
  line-height: 1.5;
  background: #F7F7F7 url(/images/common/arror_r01_alpha_b.svg) 15px 50% no-repeat !important;
  background-size: 25px 25px !important;
  border-bottom: 2px solid #DDDDDD
}

.btn-type02:hover {
  color: #7E13AB;
  background: #F7F7F7 url(/images/common/arror_r01_hover.svg) 15px 50% no-repeat !important;
  background-size: 25px 25px !important;
  border-color: #606
}

.btn-type02.blank-iconlink {
  color: #1A1A1A;
  text-decoration: none
}

.btn-type02.blank-iconlink span::after {
  content: " ";
  display: inline-block;
  position: relative;
  top: 1px;
  width: 13px;
  height: 13px;
  margin-left: 4px;
  background: url(/images/common/icon_otherlink.svg) 0 0 no-repeat;
  background-size: 13px 13px
}

.btn-type02.blank-iconlink:hover {
  color: #7E13AB
}

.btn-type02.blank-iconlink:hover span::after {
  background: url(/images/common/icon_otherlink_purple.svg) 0 0 no-repeat;
  background-size: 13px 13px
}

.page-ttl {
  position: relative;
  width: 100%;
  max-width: 1200px;
  padding: 35px 50px 60px;
  margin: 0 auto
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .page-ttl {
    padding: 35px 20px 60px
  }
}

@media screen and (max-width: 520px) {
  .page-ttl {
    padding: 25px 15px 45px
  }
}

.page-ttl__category {
  font-size: .8125rem;
  font-weight: 400;
  margin-bottom: 20px
}

@media screen and (max-width: 520px) {
  .page-ttl__category {
    font-size: 12px;
    margin-bottom: 0px
  }
}

.page-ttl__ttl {
  font-size: 2.125rem;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 20px
}

@media screen and (max-width: 520px) {
  .page-ttl__ttl {
    font-size: 27px;
    line-height: 1.4;
    margin-bottom: 0px;
    margin-top: 10px
  }
}

.page-ttl__desc {
  font-size: .875rem;
  font-weight: 400
}

@media screen and (max-width: 520px) {
  .page-ttl__desc {
    font-size: 13px;
    margin-top: 10px
  }
}

.page-ky-ttl {
  position: relative;
  height: 460px;
  margin-bottom: 80px
}

@media screen and (max-width: 520px) {
  .page-ky-ttl {
    height: 320px;
    margin-bottom: 40px
  }
}

.page-ky-ttl::before {
  content: " ";
  display: block;
  min-width: 700px;
  width: 50%;
  height: 100%;
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  background: linear-gradient(to right, #1a1a1a, #1a1a1a 6%, rgba(26, 26, 26, 0))
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .page-ky-ttl::before {
    min-width: inherit;
    width: 90%
  }
}

@media screen and (max-width: 520px) {
  .page-ky-ttl::before {
    min-width: inherit;
    width: 100%;
    height: 60%;
    top: inherit;
    bottom: 0;
    background: linear-gradient(rgba(26, 26, 26, 0), #1a1a1a 90%, #1a1a1a)
  }
}

@media screen and (max-width: 520px) {
  .page-ky-ttl::after {
    content: " ";
    display: block;
    width: 100%;
    height: 100px;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    background: linear-gradient(rgba(26, 26, 26, 0.8), rgba(26, 26, 26, 0))
  }
}

.page-ky-ttl__inner {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  max-width: 1200px;
  padding: 0px 50px;
  margin: 0 auto
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .page-ky-ttl__inner {
    padding: 0px 20px
  }
}

@media screen and (max-width: 520px) {
  .page-ky-ttl__inner {
    padding: 0px 15px 25px;
    align-items: flex-end
  }
}

.page-ky-ttl__ph {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  line-height: 0;
  width: 100%;
  height: 100%
}

.page-ky-ttl__ph img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  object-position: center center
}

.page-ky-ttl .page-ttl {
  position: relative;
  z-index: 5;
  display: block;
  padding: 0 !important;
  margin: 0 !important;
  color: #fff
}

.ttl-type01-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  padding: 0px 50px;
  margin: 0 auto 40px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .ttl-type01-wrap {
    padding: 0px 20px;
    margin-bottom: 25px
  }
}

@media screen and (max-width: 520px) {
  .ttl-type01-wrap {
    padding: 0px 15px;
    margin-bottom: 20px
  }
}

.ttl-type01 {
  position: relative;
  z-index: 2;
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.17em;
  margin: 0
}

.ttl-type01__eng {
  font-family: 'Lato', sans-serif;
  font-style: italic;
  font-size: .875rem;
  font-weight: 700;
  color: #606;
  letter-spacing: 0.05em;
  padding-left: 0.5em
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .ttl-type01 {
    font-size: 26px;
    letter-spacing: 0.13em
  }

  .ttl-type01__eng {
    font-size: 12px
  }
}

@media screen and (max-width: 520px) {
  .ttl-type01 {
    font-size: 24px;
    letter-spacing: 0.13em
  }

  .ttl-type01__eng {
    font-size: 12px
  }
}

.ttl-type01-linkbox {
  display: flex;
  align-items: center;
  padding-top: 5px
}

.ttl-type01-linkbox ul {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center
}

.ttl-type01-linkbox ul li {
  margin-left: 24px
}

.ttl-type01-linkbox .btn-rss {
  position: relative;
  z-index: 3;
  margin-left: 20px
}

.ttl-type02 {
  position: relative;
  z-index: 2;
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
  font-size: 1.5625rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.45;
  margin-bottom: 20px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .ttl-type02 {
    font-size: 25px
  }
}

@media screen and (max-width: 520px) {
  .ttl-type02 {
    font-size: 22px
  }
}

.ttl-type03 {
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
  font-size: 1.4375rem;
  font-weight: 500;
  line-height: 1.5;
  padding-left: 27px;
  background: url(/images/common/icon_en_purple.svg) 0 0.43em no-repeat;
  background-size: 17px 17px;
  margin-bottom: 20px
}

.ttl-type03.no-mark {
  background: none;
  padding-left: 0px !important
}

@media screen and (max-width: 520px) {
  .ttl-type03 {
    background-size: 15px 15px !important;
    font-size: 20px;
    padding-left: 25px;
    margin-bottom: 20px
  }
}

.ttl-type-line01 {
  position: relative;
  z-index: 2;
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.45;
  padding-top: 30px;
  margin-bottom: 30px
}

.ttl-type-line01::before {
  content: " ";
  display: block;
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #DDDDDD
}

.ttl-type-line01::after {
  content: " ";
  display: block;
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  width: 100px;
  height: 1px;
  background: #606
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .ttl-type-line01 {
    font-size: 28px
  }
}

@media screen and (max-width: 520px) {
  .ttl-type-line01 {
    padding-top: 25px;
    font-size: 25px;
    margin-bottom: 30px
  }
}

.ttl-type-line02 {
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
  font-size: 1.4375rem;
  font-weight: 500;
  line-height: 1.5;
  background: #F0F0F0;
  padding: 15px 15px 15px 22px;
  border-left: 1px solid #606;
  margin-bottom: 25px
}

@media screen and (max-width: 520px) {
  .ttl-type-line02 {
    font-size: 20px;
    padding: 13px 10px 13px 20px;
    margin-bottom: 20px
  }
}

.ttl-type04 {
  position: relative;
  color: #1A1A1A;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  padding-left: 25px;
  margin-bottom: 15px
}

.ttl-type04::before {
  content: " ";
  display: block;
  width: 15px;
  height: 2px;
  background: #606;
  position: absolute;
  top: 0.7em;
  left: 0
}

@media screen and (max-width: 520px) {
  .ttl-type04 {
    font-size: 17px;
    margin-bottom: 10px
  }
}

.ttl-type05 {
  position: relative;
  color: #606;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 15px
}

@media screen and (max-width: 520px) {
  .ttl-type05 {
    font-size: 17px;
    margin-bottom: 10px
  }
}

ul.nomark-list {
  margin-bottom: 40px
}

ul.nomark-list>li {
  margin-bottom: 10px
}

@media screen and (max-width: 520px) {
  ul.nomark-list {
    margin-bottom: 30px
  }
}

ul.basic-list>li {
  margin-left: 1.5em;
  list-style-type: disc;
  margin-bottom: 10px
}

ol.basic-list>li {
  margin-left: 1.5em;
  list-style-type: decimal;
  margin-bottom: 10px
}

ol.basic-list>li ul.basic-list {
  margin-bottom: 15px
}

ol.basic-list>li ul.basic-list>li {
  margin-bottom: 5px
}

ol.alpha-list>li {
  margin-left: 1.5em;
  list-style-type: lower-alpha;
  margin-bottom: 10px
}

ol.alpha-list>li ul.basic-list {
  margin-bottom: 15px
}

ol.alpha-list>li ul.basic-list>li {
  margin-bottom: 5px
}

ol.iroha-list>li {
  margin-left: 1.5em;
  list-style-type: katakana-iroha;
  margin-bottom: 10px
}

ol.iroha-list>li ul.basic-list {
  margin-bottom: 15px
}

ol.iroha-list>li ul.basic-list>li {
  margin-bottom: 5px
}

ol.bracket-num-list>li {
  padding-left: 2.5em;
  position: relative;
  list-style-type: none;
  counter-increment: cnt
}

ol.bracket-num-list>li::before {
  content: "(" counter(cnt) ")";
  display: inline-block;
  position: absolute;
  left: -0.5em;
  width: 2.5em;
  text-align: right
}

.anchor-list-wrap {
  margin-bottom: 70px
}

@media screen and (max-width: 520px) {
  .anchor-list-wrap {
    margin-bottom: 50px
  }
}

.anchor-list {
  position: relative;
  z-index: 10;
  display: flex;
  flex-wrap: wrap;
  background: #fff
}

.anchor-list li {
  width: 20%;
  border-right: 1px solid #fff;
  border-left: 1px solid #fff;
  border-bottom: 2px solid #fff
}

.anchor-list li a {
  position: relative;
  display: flex;
  align-items: center;
  padding: 10px 40px 10px 10px;
  min-height: 68px;
  background: #F5F5F5
}

.anchor-list li a::after {
  position: absolute;
  top: 50%;
  right: 16px;
  bottom: 0;
  margin-top: -5px;
  width: 6px;
  height: 6px;
  border-left: 1px solid #000000;
  border-bottom: 1px solid #000000;
  transform: rotate(-45deg);
  content: ""
}

.anchor-list li a figure {
  position: relative;
  line-height: 0;
  width: 64px;
  height: 64px
}

.anchor-list li a figure img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  object-position: center center;
  backface-visibility: hidden
}

.anchor-list li a p {
  width: auto;
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0
}

.anchor-list li a figure+p {
  width: calc(100% - 64px);
  padding-left: 15px;
  font-size: .875rem
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .anchor-list li {
    width: 25%
  }

  .anchor-list li a {
    padding: 10px 35px 10px 10px
  }

  .anchor-list li a figure {
    width: 50px;
    height: 50px
  }

  .anchor-list li a p {
    font-size: 12px
  }

  .anchor-list li a figure+p {
    width: calc(100% - 50px);
    padding-left: 10px
  }
}

@media screen and (max-width: 520px) {
  .anchor-list li {
    width: 50% !important
  }

  .anchor-list li a {
    padding: 5px 35px 5px 15px
  }

  .anchor-list li a figure {
    display: none
  }

  .anchor-list li a p {
    width: auto !important;
    padding-left: 0px !important;
    font-size: 13px
  }
}

.anchor-list.anchor-list-4column li {
  width: 25%
}

.anchor-list.anchor-list-3column li {
  width: 33.333%
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .anchor-list.anchor-list-3column li {
    width: 33.333%
  }
}

.anchor-list.anchor-list-2column li {
  width: 50%
}

@media screen and (max-width: 520px) {
  .anchor-list.anchor-list-2column li {
    width: 100% !important
  }
}

.link-list-ph-large,
.link-list-ph {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -12px 31px
}

.link-list-ph-large li,
.link-list-ph li {
  position: relative;
  width: calc(33.333% - 24px);
  margin: 0 12px 20px;
  background: #fff;
  border-left: 1px solid #DDDDDD;
  border-right: 1px solid #DDDDDD;
  border-bottom: 1px solid #DDDDDD;
  border-top: 1px solid #DDDDDD
}

.link-list-ph-large li figure,
.link-list-ph li figure {
  position: relative;
  overflow: hidden;
  line-height: 0
}

.link-list-ph-large li figure::before,
.link-list-ph li figure::before {
  content: " ";
  display: block;
  width: 100%;
  padding-top: 61.596%
}

.link-list-ph-large li figure img,
.link-list-ph li figure img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  object-fit: cover;
  object-position: center center
}

.link-list-ph-large li span,
.link-list-ph li span {
  display: flex;
  align-items: center;
  min-height: 60px;
  padding: 5px 40px 5px 15px;
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.4
}

.link-list-ph-large li a,
.link-list-ph li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0 !important;
  background: #fff !important
}

.link-list-ph-large li a span,
.link-list-ph li a span {
  background: url(/images/common/arror_r01_w.svg) calc(100% - 10px) 50% no-repeat;
  background-size: 25px 25px
}

.link-list-ph-large li a:hover span,
.link-list-ph li a:hover span {
  background: url(/images/common/arror_r01_hover.svg) calc(100% - 10px) 50% no-repeat;
  background-size: 25px 25px
}

.link-list-ph-large li a:hover figure img,
.link-list-ph li a:hover figure img {
  transform: translate(-50%, -50%) scale(1.1)
}

.link-list-ph-large li a.blank-iconlink,
.link-list-ph li a.blank-iconlink {
  color: #1A1A1A;
  text-decoration: none
}

.link-list-ph-large li a.blank-iconlink span,
.link-list-ph li a.blank-iconlink span {
  background: url(/images/common/icon_otherlink02.svg) calc(100% - 13px) 50% no-repeat;
  background-size: 17px 17px !important
}

.link-list-ph-large li a.blank-iconlink:hover,
.link-list-ph li a.blank-iconlink:hover {
  color: #7E13AB
}

.link-list-ph-large li a.blank-iconlink:hover span,
.link-list-ph li a.blank-iconlink:hover span {
  background: url(/images/common/icon_otherlink02_purple.svg) calc(100% - 13px) 50% no-repeat
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .link-list-ph-large {
    margin: 0 -5px 20px
  }

  .link-list-ph-large li {
    width: calc(50% - 10px);
    margin: 0 5px 10px
  }

  .link-list-ph-large li a span {
    min-height: 50px;
    padding-left: 10px;
    font-size: 13px;
    background-size: 20px 20px
  }

  .link-list-ph-large li a:hover span {
    background-size: 20px 20px
  }

  .link-list-ph-large li a[target="_blank"] span {
    background-position: calc(100% - 10px) 50% !important
  }
}

@media screen and (max-width: 520px) {
  .link-list-ph-large {
    border-top: 1px solid #DDDDDD;
    margin: 0 0px 20px;
    display: block
  }

  .link-list-ph-large li {
    width: auto;
    margin: -1px 0 0 0
  }

  .link-list-ph-large li a {
    display: flex
  }

  .link-list-ph-large li a figure {
    width: 130px
  }

  .link-list-ph-large li a span {
    width: calc(100% - 130px);
    min-height: 50px;
    padding-left: 14px;
    font-size: 13px;
    background-size: 20px 20px
  }

  .link-list-ph-large li a:hover span {
    background-size: 20px 20px
  }

  .link-list-ph-large li a[target="_blank"] span {
    background-position: calc(100% - 10px) 50% !important
  }
}

.link-list-ph li {
  width: calc(25% - 24px)
}

@media screen and (max-width: 960px) {
  .link-list-ph {
    border-top: 1px solid #DDDDDD;
    margin: 0 0px 20px;
    display: block
  }

  .link-list-ph li {
    width: auto;
    margin: -1px 0 0 0
  }

  .link-list-ph li a {
    display: flex
  }

  .link-list-ph li a figure {
    width: 130px
  }

  .link-list-ph li span {
    width: calc(100% - 130px);
    min-height: 50px;
    padding-left: 14px;
    font-size: 13px;
    background-size: 20px 20px !important
  }
}

.link-list-ph02 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -12px 31px
}

.link-list-ph02 li {
  position: relative;
  width: calc(25% - 24px);
  margin: 0 12px 30px;
  background: #fff;
  text-align: center
}

.link-list-ph02 li figure {
  position: relative;
  overflow: hidden;
  line-height: 0;
  margin: 0 0 10px 0
}

.link-list-ph02 li figure img {
  width: 100%;
  border: 1px solid #DDDDDD;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease
}

.link-list-ph02 li figure a {
  display: block
}

.link-list-ph02 li figure a:hover img {
  opacity: 0.7
}

.link-list-ph02 li figure:last-child {
  margin-bottom: 0 !important
}

.link-list-ph02 li a {
  color: #7E13AB;
  text-decoration: underline
}

.link-list-ph02 li a:hover {
  text-decoration: none
}

.link-list-ph02 li div {
  margin-top: 6px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .link-list-ph02 {
    margin: 0 -5px 20px
  }

  .link-list-ph02 li {
    width: calc(33.333% - 10px);
    margin: 0 5px 30px
  }
}

@media screen and (max-width: 520px) {
  .link-list-ph02 {
    margin: 0 -5px 20px
  }

  .link-list-ph02 li {
    width: calc(50% - 10px);
    margin: 0 5px 30px
  }
}

.link-list-ph03 {
  border-left: 1px solid #DDDDDD;
  display: flex;
  flex-wrap: wrap;
  margin: 30px 0 30px
}

.link-list-ph03 li {
  position: relative;
  width: 25%;
  margin: -1px 0 0 0;
  background: #fff;
  padding: 9px;
  border-top: 1px solid #DDDDDD;
  border-bottom: 1px solid #DDDDDD;
  border-right: 1px solid #DDDDDD
}

.link-list-ph03 li figure {
  position: relative;
  overflow: hidden;
  line-height: 0;
  margin: 0
}

.link-list-ph03 li figure img {
  width: 100%
}

.link-list-ph03 li dl dt {
  text-align: center;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
  padding-top: 18px;
  margin-bottom: 12px
}

.link-list-ph03 li dl dd {
  text-align: left
}

.link-list-ph03 li dl dd p {
  margin: 0 0 5px 0
}

.link-list-ph03 li dl dd p a+a {
  margin-left: 10px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .link-list-ph03 li {
    width: 33.3333%;
    padding: 8px
  }

  .link-list-ph03 li dl dt {
    font-size: 14px
  }

  .link-list-ph03 li dl dd p {
    font-size: 13px
  }

  .link-list-ph03 li dl dd p a+a {
    margin-left: 7px
  }
}

@media screen and (max-width: 520px) {
  .link-list-ph03 li {
    width: 50%;
    padding: 8px
  }

  .link-list-ph03 li dl dt {
    font-size: 14px
  }

  .link-list-ph03 li dl dd p {
    font-size: 14px
  }

  .link-list-ph03 li dl dd p a+a {
    margin-left: 7px
  }
}

.tab-link-list-wrap {
  position: relative;
  margin-bottom: 40px
}

@media screen and (max-width: 520px) {
  .tab-link-list-wrap {
    overflow: auto;
    overflow-x: scroll;
    padding-bottom: 0px;
    margin-bottom: 25px
  }

  .tab-link-list-wrap::-webkit-scrollbar {
    width: 2px;
    height: 2px
  }

  .tab-link-list-wrap::-webkit-scrollbar-track {
    background-color: #DDDDDD
  }

  .tab-link-list-wrap::-webkit-scrollbar-thumb {
    background-color: #4D4D4D
  }
}

@media screen and (min-width: 521px) {
  .tab-link-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -5px
  }

  .tab-link-list li {
    width: calc(20% - 10px);
    min-height: 70px;
    margin: 0 5px 10px;
    border-bottom: 1px solid #1A1A1A
  }

  .tab-link-list li a {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 5px 10px;
    color: #888888;
    font-size: .9375rem;
    font-weight: 400;
    line-height: 1.4
  }

  .tab-link-list li a:hover {
    color: #1A1A1A
  }

  .tab-link-list li.current a {
    color: #1A1A1A;
    font-weight: 700;
    pointer-events: none
  }
}

@media screen and (max-width: 520px) {
  .tab-link-list {
    display: flex;
    margin: 0;
    width: 100%
  }

  .tab-link-list li {
    margin: 0 10px 0 0
  }

  .tab-link-list li a {
    position: relative;
    display: block;
    text-align: center;
    width: 100%;
    min-height: 70px;
    white-space: nowrap;
    padding: 28px 15px 5px 15px;
    color: #888888;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4
  }

  .tab-link-list li.current a {
    color: #1A1A1A;
    font-weight: 700;
    pointer-events: none
  }
}

@media screen and (max-width: 520px) {
  .inner .tab-link-list-wrap {
    margin-left: -15px;
    margin-right: -15px
  }
}

.link-list01 {
  margin: 40px 0
}

.link-list01 li {
  margin: 0 0 20px
}

@media screen and (max-width: 520px) {
  .link-list01 {
    margin: 40px 0px
  }

  .link-list01 li {
    width: auto;
    margin: -1px 0px 0px 0
  }
}

.link-list02 {
  display: flex;
  flex-wrap: wrap;
  margin: 40px -12px
}

.link-list02 li {
  width: calc(50% - 24px);
  margin: 0 12px 20px
}

@media screen and (max-width: 520px) {
  .link-list02 {
    display: block;
    margin: 40px 0px
  }

  .link-list02 li {
    width: auto;
    margin: -1px 0px 0px 0
  }
}

.link-list03 {
  display: flex;
  flex-wrap: wrap;
  margin: 40px -12px
}

.link-list03 li {
  width: calc(33.333% - 24px);
  margin: 0 12px 20px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .link-list03 li {
    width: calc(50% - 24px)
  }
}

@media screen and (max-width: 520px) {
  .link-list03 {
    display: block;
    margin: 40px 0px
  }

  .link-list03 li {
    width: auto;
    margin: -1px 0px 0px 0
  }
}

.link-list04 {
  display: flex;
  flex-wrap: wrap;
  margin: 40px -12px
}

.link-list04 li {
  width: calc(25% - 24px);
  margin: 0 12px 20px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .link-list04 li {
    width: calc(50% - 24px)
  }
}

@media screen and (max-width: 520px) {
  .link-list04 {
    display: block;
    margin: 40px 0px
  }

  .link-list04 li {
    width: auto;
    margin: -1px 0px 0px 0
  }
}

.list-type01 {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px
}

.list-type01>li {
  position: relative;
  width: 25%;
  line-height: 1.35;
  margin-bottom: 13px;
  padding-right: 20px;
  padding-left: 12px
}

.list-type01>li::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0px;
  width: 5px;
  height: 5px;
  border-radius: 5px;
  background: #CCCCCC
}

@media screen and (max-width: 520px) {
  .list-type01>li {
    width: 50%;
    padding-right: 15px
  }
}

.list-type02 {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
  margin-bottom: 40px;
  background: #F5F5F5;
  padding: 20px 5px 10px 20px
}

.list-type02>li {
  position: relative;
  line-height: 1.35;
  margin: 0 15px 10px 0;
  padding-left: 12px;
  color: #4D4D4D
}

.list-type02>li::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0px;
  width: 5px;
  height: 5px;
  border-radius: 5px;
  background: #CCCCCC
}

@media screen and (max-width: 520px) {
  .list-type02 {
    margin-top: 30px;
    margin-bottom: 30px
  }

  .list-type02>li {
    font-size: 14px
  }
}

.list-type03 {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px
}

.list-type03>li {
  position: relative;
  width: 33.333%;
  line-height: 1.35;
  margin-bottom: 20px;
  padding-right: 20px
}

@media screen and (max-width: 520px) {
  .list-type03>li {
    width: 50%
  }
}

@media screen and (max-width: 520px) {
  .news-event-list-contents .news-event-header-area ul {
    width: calc(100% + 30px);
    margin: 0 -15px 20px
  }

  .news-event-list-contents .news-list {
    margin-left: -15px;
    margin-right: -15px
  }
}

.news-list-wrap.original-custom {
  overflow: hidden;
  margin: 0 auto
}

@media screen and (max-width: 520px) {
  .news-list-wrap.original-custom {
    margin-bottom: -1px
  }
}

.news-list {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #DDDDDD;
  border-left: 1px solid #DDDDDD;
  background: #fff;
  max-width: 1280px;
  margin: 0 auto
}

.news-list.news-list-line-none {
  border-left: none
}

.news-list.news-list-line-none .news-list__item {
  border-right: none
}

.news-list.original-custom {
  border-left: none
}

.news-list.original-custom .news-list__item {
  border-right: none
}

.news-list.original-custom .news-list__item a {
  padding-left: 0;
  padding-right: 0
}

@media screen and (min-width: 521px) {
  .news-list.original-custom {
    border-top: none
  }

  .news-list.original-custom .news-list__item {
    width: calc(33.333% - 22px);
    margin-right: 33px;
    margin-bottom: 30px;
    border-bottom: none
  }

  .news-list.original-custom .news-list__item:nth-child(3n) {
    margin-right: 0
  }

  .news-list.original-custom .news-list__item a {
    padding: 0 0 0 0 !important
  }

  .news-list.original-custom .news-list__item a.blank-iconlink::after {
    display: none
  }

  .news-list.original-custom .news-list__item a.blank-iconlink .news-list__more-text {
    padding-right: 20px;
    background: url(/images/common/icon_otherlink.svg) 100% 50% no-repeat;
    background-size: 13px 13px
  }
}

.news-list__item {
  position: relative;
  width: 50%;
  border-right: 1px solid #DDDDDD;
  border-bottom: 1px solid #DDDDDD
}

.news-list__item a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 12px;
  color: #1A1A1A
}

@media screen and (max-width: 520px) {
  .news-list__item a {
    padding: 15px
  }
}

@media screen and (min-width: 961px) {
  .news-list__item a:hover .news-list__ph img {
    transform: translate(-50%, -50%) scale(1.1)
  }

  .news-list__item a:hover .news-list__info h3 {
    color: #7E13AB
  }
}

.news-list__item a.blank-iconlink {
  color: #1A1A1A;
  padding: 12px;
  background: none !important;
  text-decoration: none
}

.news-list__item a.blank-iconlink::after {
  content: " ";
  display: block;
  position: absolute;
  bottom: 12px;
  right: 12px;
  width: 13px;
  height: 13px;
  background: url(/images/common/icon_otherlink.svg) 0 0 no-repeat;
  background-size: 13px 13px
}

.news-list__item a.blank-iconlink:hover::after {
  background: url(/images/common/icon_otherlink_purple.svg) 0 0 no-repeat;
  background-size: 13px 13px
}

@media screen and (max-width: 520px) {
  .news-list__item a.blank-iconlink {
    padding: 15px
  }
}

.news-list__item .news-list__ph {
  position: relative;
  line-height: 0;
  overflow: hidden
}

.news-list__item .news-list__ph::before {
  content: " ";
  display: block;
  width: 100%;
  padding-top: 56.25%
}

.news-list__item .news-list__ph img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  object-fit: cover;
  object-position: center center
}

.news-list__item .news-list__info {
  padding-top: 15px;
  margin-bottom: 12px
}

.news-list__item .news-list__info dl {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 3px
}

.news-list__item .news-list__info dl dt {
  font-family: 'Lato', sans-serif;
  font-size: .875rem;
  font-weight: 700;
  line-height: 1;
  margin: 0 10px 5px 0
}

.news-list__item .news-list__info dl dd {
  margin: 0 0 5px 0
}

.news-list__item .news-list__info h3 {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 10px
}

.news-list__item .news-list__external-text {
  font-size: .8125rem
}

.news-list__item .news-list__tag {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 13px;
  margin-bottom: 13px
}

.news-list__item .news-list__tag i {
  font-style: normal;
  display: block;
  font-size: .75rem;
  color: #666666;
  line-height: 1;
  border-radius: 20px;
  border: 1px solid #E6E6E6;
  padding: 6px 10px;
  margin: 0 3px 3px 0
}

.news-list__item .news-list__more-text {
  display: block;
  position: relative;
  text-align: right;
  color: #7E13AB;
  font-size: .75rem;
  line-height: 1.1
}

.news-list__item .news-list__more-text span {
  text-decoration: underline
}

@media screen and (max-width: 520px) {
  .news-list__item .news-list__more-text {
    display: none
  }
}

.news-list__item .news-list__category {
  font-size: .875rem;
  color: #666666;
  line-height: 1.3;
  margin-top: 10px;
  margin-bottom: 10px
}

@media screen and (max-width: 520px) {
  .news-list__item .news-list__category {
    font-size: 13px
  }
}

.news-list__item.news-list__item-type-m {
  width: 33.333%
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .news-list__item.news-list__item-type-m .news-list__ph::before {
    padding-top: 226px
  }
}

@media screen and (max-width: 520px) {
  .news-list__item.news-list__item-type-m {
    width: 100%
  }

  .news-list__item.news-list__item-type-m a {
    display: flex;
    align-items: flex-start
  }

  .news-list__item.news-list__item-type-m a .news-list__ph {
    width: 130px;
    height: 130px
  }

  .news-list__item.news-list__item-type-m a .news-list__info {
    width: calc(100% - 130px);
    padding: 0 0 10px 10px;
    margin-bottom: 0
  }

  .news-list__item.news-list__item-type-m a .news-list__info dl {
    display: flex;
    align-items: center;
    margin-bottom: 8px
  }

  .news-list__item.news-list__item-type-m a .news-list__info dl dt {
    font-size: 13px
  }

  .news-list__item.news-list__item-type-m a .news-list__info h3 {
    font-size: 14px;
    line-height: 1.65
  }

  .news-list__item.news-list__item-type-m a .news-list__info dl:last-child,
  .news-list__item.news-list__item-type-m a .news-list__info h3:last-child,
  .news-list__item.news-list__item-type-m a .news-list__info .news-list__tag:last-child {
    margin-bottom: 0 !important
  }

  .news-list__item.news-list__item-type-m a .news-list__external-text {
    font-size: 13px
  }

  .news-list__item.news-list__item-type-m a .news-list__tag {
    margin-right: -3px
  }

  .news-list__item.news-list__item-type-m a .news-list__tag i {
    padding: 5px 8px
  }
}

.news-list__item.news-list__item-type-s {
  width: 50%
}

@media screen and (max-width: 520px) {
  .news-list__item.news-list__item-type-s {
    width: 100%
  }

  .news-list__item.news-list__item-type-s .news-list__info {
    padding-top: 5px;
    margin-bottom: 10px
  }
}

.news-list__item.news-list__item-type-s100 {
  width: 100%
}

.news-list__item.news-list__item-type-s100 .news-list__external-text {
  position: absolute;
  right: 35px;
  bottom: 13px;
  line-height: 1
}

@media screen and (max-width: 960px) {
  .news-list__item.news-list__item-type-s100 {
    width: 100%
  }

  .news-list__item.news-list__item-type-s100 .news-list__external-text {
    position: static;
    line-height: 1.3;
    margin-top: 15px
  }

  .news-list__item.news-list__item-type-s100 .news-list__info {
    padding-top: 5px;
    margin-bottom: 10px
  }
}

.news-list-type01 {
  border-top: 1px solid #DDDDDD;
  margin-bottom: 80px
}

.news-list-type01>li {
  border-bottom: 1px solid #DDDDDD;
  margin: 0
}

.news-list-type01>li .news-list-type01__link {
  display: flex;
  align-items: flex-start;
  padding: 20px 10px
}

.news-list-type01>li .news-list-type01__date {
  display: flex;
  align-items: center;
  min-width: 220px
}

.news-list-type01>li .news-list-type01__date dt {
  white-space: nowrap;
  font-family: 'Lato', sans-serif;
  font-size: .875rem;
  font-weight: 400;
  padding-right: 6px;
  min-width: 123px
}

.news-list-type01>li .news-list-type01__date dd .news-icon01,
.news-list-type01>li .news-list-type01__date dd .news-icon02,
.news-list-type01>li .news-list-type01__date dd .news-icon03,
.news-list-type01>li .news-list-type01__date dd .news-icon04 {
  min-width: 95px;
  padding-left: 5px;
  padding-right: 5px
}

.news-list-type01>li .news-list-type01__date.no-icon {
  min-width: 125px
}

.news-list-type01>li .news-list-type01__date.no-icon dd {
  display: none
}

.news-list-type01>li .news-list-type01__text {
  width: 100%;
  padding-left: 10px;
  font-weight: 700
}

.news-list-type01>li .news-list-type01__text p {
  display: inline-block
}

.news-list-type01>li .news-list-type01__external-text {
  position: absolute;
  right: 35px;
  bottom: 20px;
  font-size: .8125rem;
  font-weight: 400;
  line-height: 1
}

.news-list-type01>li .news-list-type01__tag {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 10px
}

.news-list-type01>li .news-list-type01__tag i {
  font-style: normal;
  display: block;
  font-size: .75rem;
  color: #666666;
  line-height: 1;
  border-radius: 20px;
  border: 1px solid #E6E6E6;
  padding: 6px 10px;
  margin: 0 3px 3px 0
}

.news-list-type01>li a.blank-iconlink {
  position: relative;
  color: #1A1A1A;
  text-decoration: none;
  padding: 20px 10px 40px;
  background: url(/images/common/icon_otherlink.svg) calc(100% - 10px) calc(100% - 20px) no-repeat;
  background-size: 13px 13px
}

.news-list-type01>li a.blank-iconlink:hover {
  color: #7E13AB
}

@media screen and (max-width: 960px) {
  .news-list-type01 {
    margin-bottom: 0px
  }

  .news-list-type01>li .news-list-type01__link {
    display: block;
    padding: 15px 10px;
    min-height: inherit
  }

  .news-list-type01>li .news-list-type01__date {
    width: auto;
    margin-bottom: 7px
  }

  .news-list-type01>li .news-list-type01__date dt {
    padding-right: 10px;
    min-width: auto
  }

  .news-list-type01>li .news-list-type01__text {
    width: auto;
    padding-left: 0px
  }

  .news-list-type01>li .news-list-type01__external-text {
    position: static;
    margin-top: 10px
  }

  .news-list-type01>li .news-list-type01__tag {
    margin-top: 15px
  }

  .news-list-type01>li a.blank-iconlink {
    padding: 15px 10px 40px;
    background-position: calc(100% - 10px) calc(100% - 15px)
  }
}

.interview-list,
.content-block .interview-list {
  margin-bottom: 50px;
  border-top: 1px solid #DDDDDD
}

.interview-list>li,
.content-block .interview-list>li {
  margin: 0;
  padding: 30px 0;
  display: flex;
  border-bottom: 1px solid #DDDDDD
}

.interview-list__ph,
.content-block .interview-list__ph {
  line-height: 0;
  width: 200px;
  margin: 0;
  margin-right: 30px
}

.interview-list__ph img,
.content-block .interview-list__ph img {
  width: 100%;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease
}

.interview-list__ph a:hover img,
.content-block .interview-list__ph a:hover img {
  opacity: 0.7
}

.interview-list__info,
.content-block .interview-list__info {
  width: calc(100% - 230px)
}

.interview-list__info p,
.content-block .interview-list__info p {
  margin-bottom: 10px
}

.interview-list__info a,
.content-block .interview-list__info a {
  font-size: 1rem;
  font-weight: 700
}

.interview-list__info dl dt,
.content-block .interview-list__info dl dt {
  font-weight: 700;
  font-size: .875rem
}

.interview-list__info dl dd,
.content-block .interview-list__info dl dd {
  font-size: .8125rem
}

@media screen and (max-width: 520px) {

  .interview-list>li,
  .content-block .interview-list>li {
    padding: 15px 0
  }

  .interview-list__ph,
  .content-block .interview-list__ph {
    line-height: 0;
    width: 140px;
    margin-right: 15px
  }

  .interview-list__info,
  .content-block .interview-list__info {
    width: calc(100% - 155px)
  }

  .interview-list__info p,
  .content-block .interview-list__info p {
    margin-bottom: 5px
  }

  .interview-list__info a,
  .content-block .interview-list__info a {
    font-size: 14px
  }

  .interview-list__info dl dt,
  .content-block .interview-list__info dl dt {
    font-size: 13px
  }

  .interview-list__info dl dd,
  .content-block .interview-list__info dl dd {
    font-size: 12px
  }
}

.news-list-type02 {
  border-top: 1px solid #DDDDDD;
  margin-bottom: 50px
}

.news-list-type02>li {
  border-bottom: 1px solid #DDDDDD;
  margin: 0;
  padding: 15px 0
}

.news-list-type02>li dl dt {
  margin-bottom: 5px
}

.news-list-type02>li dl dd a {
  color: #7E13AB;
  text-decoration: underline
}

.news-list-type02>li dl dd a:hover {
  text-decoration: none
}

.news-list-important-box {
  position: relative;
  z-index: 2;
  background: #F7F7F7;
  max-width: 1280px;
  margin: 0 auto 80px;
  padding: 0px 50px 1px
}

@media screen and (min-width: 521px) {
  .news-list-important-box.next-news-list-type01 {
    max-width: 1200px;
    background: #fff
  }

  .news-list-important-box.next-news-list-type01 .news-list-type01 {
    background: #F7F7F7
  }
}

.news-list-important-box .news-list-type01 {
  border-top: none;
  margin-bottom: 0
}

.news-list-important-box .news-list-type01>li a.blank-iconlink {
  padding: 20px 10px 20px;
  background: none
}

.news-list-important-box .news-list-type01>li a.blank-iconlink .news-list-type01__text {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center
}

.news-list-important-box .news-list-type01>li a.blank-iconlink .news-list-type01__external-text {
  position: static;
  line-height: 1.7;
  padding-left: 30px;
  padding-right: 20px;
  background: url(/images/common/icon_otherlink.svg) calc(100% - 1px) 50% no-repeat;
  background-size: 13px 13px;
  align-self: flex-end;
  margin-left: auto;
  margin-bottom: 2px
}

.news-list-important-box .news-list-type01>li:last-child {
  border-bottom: none
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .news-list-important-box {
    padding: 0px 20px 1px;
    margin-bottom: 60px
  }
}

@media screen and (max-width: 520px) {
  .news-list-important-box {
    padding: 0px 15px 1px;
    margin-bottom: 40px
  }
}

.qa-list-type01 {
  border-top: 1px solid #DDDDDD;
  margin-bottom: 50px
}

.qa-list-type01>li {
  border-bottom: 1px solid #DDDDDD;
  margin: 0;
  padding: 15px 0
}

.qa-list-type01>li dl dt {
  margin-bottom: 5px
}

.qa-list-type01>li dl dd a {
  color: #7E13AB;
  text-decoration: underline
}

.qa-list-type01>li dl dd a:hover {
  text-decoration: none
}

.definition-list {
  border-left: 1px solid #DDDDDD;
  display: flex;
  flex-wrap: wrap;
  margin: 30px 0 30px
}

.definition-list li {
  position: relative;
  width: 33.333%;
  margin: -1px 0 0 0;
  background: #fff;
  padding: 32px;
  border-top: 1px solid #DDDDDD;
  border-right: 1px solid #DDDDDD;
  border-bottom: 1px solid #DDDDDD;
  text-align: left
}

.definition-list li dl dt {
  position: relative;
  color: #1A1A1A;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  padding-left: 25px;
  margin-bottom: 15px
}

.definition-list li dl dt::before {
  content: " ";
  display: block;
  width: 15px;
  height: 2px;
  background: #606;
  position: absolute;
  top: 0.7em;
  left: 0
}

.definition-list li dl dd p {
  margin-bottom: 20px
}

.definition-list li dl dd p:last-child {
  margin-bottom: 0
}

@media screen and (max-width: 520px) {
  .definition-list {
    display: block;
    border: none
  }

  .definition-list li {
    width: auto;
    padding: 25px 15px;
    border-right: none
  }

  .definition-list li dl dt {
    font-size: 17px
  }

  .definition-list li dl dd {
    font-size: 14px
  }
}

@media screen and (max-width: 520px) {
  .inner .definition-list {
    margin-left: -15px;
    margin-right: -15px
  }
}

.banner-list01 {
  margin: 40px 0
}

.banner-list01 li {
  margin: 0 0 10px
}

@media screen and (max-width: 520px) {
  .banner-list01 {
    margin: 40px 0px
  }

  .banner-list01 li {
    width: auto;
    margin: 0px 0px 7px 0
  }
}

.banner-list02 {
  display: flex;
  flex-wrap: wrap;
  margin: 40px -5px
}

.banner-list02 li {
  width: calc(50% - 10px);
  margin: 0 5px 10px
}

@media screen and (max-width: 520px) {
  .banner-list02 {
    display: block;
    margin: 40px 0px
  }

  .banner-list02 li {
    width: auto;
    margin: 0px 0px 7px 0
  }
}

.banner-list03 {
  display: flex;
  flex-wrap: wrap;
  margin: 40px -5px
}

.banner-list03 li {
  width: calc(33.333% - 10px);
  margin: 0 5px 20px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .banner-list03 li {
    width: calc(50% - 5px)
  }
}

@media screen and (max-width: 520px) {
  .banner-list03 {
    display: block;
    margin: 40px 0px
  }

  .banner-list03 li {
    width: auto;
    margin: 0px 0px 7px 0
  }
}

.tbl-type01 {
  border-top: 1px solid #DDDDDD;
  width: 100%;
  margin-bottom: 50px;
  border-collapse: collapse;
  background: #fff
}

.tbl-type01 tr th {
  width: 200px;
  text-align: left;
  vertical-align: top;
  font-weight: 700;
  padding: 25px 20px;
  border-bottom: 1px solid #DDDDDD
}

.tbl-type01 tr td {
  text-align: left;
  vertical-align: top;
  color: #4D4D4D;
  padding: 25px 10px;
  border-bottom: 1px solid #DDDDDD
}

.tbl-type01 tr td img {
  max-width: 100%
}

@media screen and (max-width: 520px) {
  .tbl-type01 {
    display: block
  }

  .tbl-type01 thead,
  .tbl-type01 tbody,
  .tbl-type01 tr,
  .tbl-type01 th,
  .tbl-type01 td {
    display: block;
    width: 100% !important
  }

  .tbl-type01 tr th {
    padding: 20px 10px 7px 10px;
    border-bottom: none
  }

  .tbl-type01 tr td {
    padding: 0px 10px 20px 10px
  }
}

.tbl-type02 {
  border-top: 1px solid #DDDDDD;
  border-left: 1px solid #DDDDDD;
  width: 100%;
  margin-bottom: 50px;
  border-collapse: collapse
}

.tbl-type02 tr th {
  width: 200px;
  text-align: center;
  vertical-align: middle;
  background: #F0F0F0;
  font-weight: 700;
  padding: 20px 10px;
  border-bottom: 1px solid #DDDDDD
}

.tbl-type02 tr th.short-th {
  width: 100px
}

.tbl-type02 tr td {
  text-align: left;
  vertical-align: top;
  color: #4D4D4D;
  padding: 20px 20px;
  border-bottom: 1px solid #DDDDDD;
  border-right: 1px solid #DDDDDD
}

.tbl-type02 tr td img {
  max-width: 100%
}

.tbl-type02 tr td p {
  margin-bottom: 10px
}

.tbl-type02 tr td p:last-child {
  margin-bottom: 0
}

.tbl-type02 tr td .box-type01 {
  margin: 20px 0
}

.tbl-type02 tr td .tbl-type04 {
  margin: -20px -20px 20px -20px;
  width: calc(100% + 40px)
}

.tbl-type02 tr td .arrow-link02 {
  display: inline-block
}

.tbl-type02 tr td .arrow-link02::before {
  top: 0.6em
}

.tbl-type02 .tbl-type02__contact p {
  margin-bottom: 15px
}

.tbl-type02 .tbl-type02__contact__ttl {
  background: #F0F0F0;
  padding: 12px 15px;
  color: #1A1A1A;
  font-weight: 700;
  margin-bottom: 20px
}

.tbl-type02 .tbl-type02__contact p+.tbl-type02__contact__ttl {
  margin-top: 25px
}

.tbl-type02 .tbl-type02__contact p:last-child {
  margin-bottom: 0
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .tbl-type02 tr th {
    width: 130px
  }
}

@media screen and (max-width: 520px) {
  .tbl-type02 {
    display: block
  }

  .tbl-type02>thead {
    display: block;
    width: 100% !important
  }

  .tbl-type02>tbody {
    display: block;
    width: 100% !important
  }

  .tbl-type02 tr,
  .tbl-type02 th,
  .tbl-type02 td {
    display: block;
    width: 100% !important
  }

  .tbl-type02 tr th {
    padding: 12px 15px 12px 15px;
    border-bottom: none;
    text-align: left
  }

  .tbl-type02 tr td {
    padding: 15px 15px 15px 15px
  }

  .tbl-type02 tr td .tbl-type04 {
    margin: -15px -15px 15px -15px;
    width: calc(100% + 30px);
    table-layout: fixed
  }

  .tbl-type02 tr td .tbl-type04 tr {
    display: table-row
  }

  .tbl-type02 tr td .tbl-type04 th,
  .tbl-type02 tr td .tbl-type04 td {
    display: table-cell
  }

  .tbl-type02 tr>*:last-child {
    border-bottom: 1px solid #DDDDDD !important
  }

  .tbl-type02 .tbl-type02__contact__ttl {
    padding: 9px 13px
  }
}

.tbl-type03 {
  border-top: 1px solid #DDDDDD;
  border-left: 1px solid #DDDDDD;
  border-right: 1px solid #DDDDDD;
  width: 100%;
  margin-bottom: 50px;
  border-collapse: collapse
}

.tbl-type03 tr th {
  text-align: left;
  vertical-align: middle;
  background: #F0F0F0;
  font-weight: 400;
  padding: 10px 15px
}

.tbl-type03 tr td {
  text-align: left;
  vertical-align: top;
  color: #4D4D4D;
  padding: 20px 20px;
  border-bottom: 1px solid #DDDDDD
}

.tbl-type03 tr td img {
  max-width: 100%
}

@media screen and (max-width: 520px) {
  .tbl-type03 {
    display: block
  }

  .tbl-type03 thead,
  .tbl-type03 tbody,
  .tbl-type03 tr,
  .tbl-type03 th,
  .tbl-type03 td {
    display: block;
    width: 100% !important
  }

  .tbl-type03 tr th {
    padding: 12px 15px 12px 15px;
    border-bottom: none;
    text-align: left
  }

  .tbl-type03 tr td {
    padding: 15px 15px 15px 15px
  }
}

.tbl-type03__inner {
  display: flex
}

.tbl-type03__inner .tbl-type03__info {
  width: calc(100% - 280px);
  padding-right: 20px
}

.tbl-type03__inner .tbl-type03__info p {
  margin-bottom: 15px
}

.tbl-type03__inner .tbl-type03__ph {
  width: 280px;
  text-align: right;
  line-height: 0
}

.tbl-type03__inner .tbl-type03__ph img {
  max-width: 100%;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease
}

.tbl-type03__inner .tbl-type03__ph a:hover img {
  opacity: 0.7
}

.tbl-type03__inner .tbl-type03__info__list {
  display: table
}

.tbl-type03__inner .tbl-type03__info__list ul {
  display: table-row
}

.tbl-type03__inner .tbl-type03__info__list ul li {
  display: table-cell;
  min-width: 150px;
  max-width: 370px;
  padding-right: 20px;
  padding-bottom: 5px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .tbl-type03__inner .tbl-type03__info__list {
    display: block
  }

  .tbl-type03__inner .tbl-type03__info__list ul {
    display: block
  }

  .tbl-type03__inner .tbl-type03__info__list ul li {
    display: block;
    margin: 0 0 0 0;
    min-width: inherit;
    max-width: inherit;
    padding-right: 0px;
    padding-bottom: 2px
  }
}

@media screen and (max-width: 520px) {
  .tbl-type03__inner {
    display: block
  }

  .tbl-type03__inner .tbl-type03__info {
    width: auto;
    padding-right: 0px;
    margin-bottom: 20px
  }

  .tbl-type03__inner .tbl-type03__ph {
    width: auto;
    text-align: center
  }

  .tbl-type03__inner .tbl-type03__info__list {
    display: block
  }

  .tbl-type03__inner .tbl-type03__info__list ul {
    display: block
  }

  .tbl-type03__inner .tbl-type03__info__list ul li {
    display: block;
    margin: 0 0 0 0;
    min-width: inherit;
    max-width: inherit;
    padding-right: 0px;
    padding-bottom: 2px
  }
}

.tbl-type04 {
  border-top: 1px solid #DDDDDD;
  border-left: 1px solid #DDDDDD;
  width: 100%;
  margin-bottom: 50px;
  border-collapse: collapse
}

.tbl-type04 thead tr th {
  text-align: center;
  vertical-align: middle;
  background: #787878;
  color: #fff;
  font-weight: 700;
  white-space: nowrap;
  padding: 10px 10px;
  border-bottom: 1px solid #DDDDDD;
  border-right: 1px solid #DDDDDD
}

.tbl-type04 thead tr th.space-normal-th {
  white-space: normal !important
}

.tbl-type04 tbody tr th {
  width: 200px;
  text-align: left;
  vertical-align: middle;
  background: #F0F0F0;
  font-weight: 700;
  white-space: nowrap;
  padding: 20px 15px;
  border-bottom: 1px solid #DDDDDD;
  border-right: 1px solid #DDDDDD
}

.tbl-type04 tbody tr th.long-th {
  width: calc(100% - 100px) !important
}

.tbl-type04 tbody tr th.short-th {
  width: 90px !important
}

.tbl-type04 tbody tr th.short-th02 {
  width: 60px !important
}

.tbl-type04 tbody tr th.other-th {
  background: #787878;
  color: #fff;
  vertical-align: top
}

.tbl-type04 tbody tr th.other-th02 {
  background: #787878;
  color: #fff;
  width: 100%;
  padding: 15px 15px
}

.tbl-type04 tbody tr th.space-normal-th {
  white-space: normal !important
}

.tbl-type04 tbody tr td {
  text-align: left;
  vertical-align: top;
  color: #4D4D4D;
  padding: 20px 15px;
  border-bottom: 1px solid #DDDDDD;
  border-right: 1px solid #DDDDDD
}

.tbl-type04 tbody tr td img {
  max-width: 100%
}

.tbl-type04 tbody tr td p {
  margin-bottom: 10px
}

.tbl-type04 tbody tr td p:last-child {
  margin-bottom: 0
}

.tbl-type04 tbody tr td.long-td {
  width: calc(100% - 100px) !important
}

.tbl-type04 tbody tr td.short-td {
  width: 200px
}

.tbl-type04 tbody tr td.short-td02 {
  width: 150px
}

.tbl-type04 tbody tr td.td-nowrap {
  width: 12%;
  text-align: center;
  white-space: nowrap
}

.tbl-type04 tbody tr td.td-nowrap02 {
  white-space: nowrap
}

@media screen and (min-width: 521px) {
  .tbl-type04 tbody tr th.long-th-pc-tab {
    width: 83%
  }

  .tbl-type04 tbody tr td.long-td-pc-tab {
    width: 83%
  }
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .tbl-type04 thead tr th {
    white-space: normal
  }

  .tbl-type04 tbody tr th {
    width: 150px;
    white-space: normal
  }
}

@media screen and (max-width: 520px) {
  .tbl-type04 thead tr th {
    font-size: 13px;
    padding: 7px;
    white-space: normal
  }

  .tbl-type04 tbody tr th {
    width: 110px;
    font-size: 13px;
    white-space: normal;
    padding: 7px;
    text-align: left
  }

  .tbl-type04 tbody tr th.other-th02 {
    width: 100% !important
  }

  .tbl-type04 tbody tr th.short-th {
    width: 70px !important
  }

  .tbl-type04 tbody tr th.short-th02 {
    width: 40px !important
  }

  .tbl-type04 tbody tr td {
    font-size: 13px;
    padding: 7px
  }

  .tbl-type04 tbody tr td.short-td {
    width: 130px;
    min-width: 130px
  }

  .tbl-type04 tbody tr td.short-td02 {
    width: 100px;
    min-width: 100px
  }

  .tbl-type04 tbody tr td.td-nowrap {
    max-width: 70px;
    width: 20%
  }
}

.tbl-type04-sp-wrap {
  margin-bottom: 50px
}

.tbl-type04-sp-wrap .tbl-type04 {
  margin-bottom: 0px
}

.tbl-type04-sp-wrap .tbl-type04-flick-icon {
  display: none
}

@media screen and (max-width: 520px) {
  .tbl-type04-sp-wrap {
    position: relative;
    width: 100%;
    overflow-y: hidden;
    overflow-x: auto;
    margin-bottom: 50px
  }

  .tbl-type04-sp-wrap .tbl-type04 {
    margin-bottom: 0px
  }

  .tbl-type04-sp-wrap .tbl-type04 thead tr th {
    white-space: nowrap
  }

  .tbl-type04-sp-wrap .tbl-type04 tbody tr th {
    min-width: 110px
  }

  .tbl-type04-sp-wrap .tbl-type04 tbody tr th.long-th-sp {
    min-width: 230px
  }

  .tbl-type04-sp-wrap .tbl-type04 tbody tr th.long-th-sp02 {
    min-width: 130px
  }

  .tbl-type04-sp-wrap .tbl-type04 tbody tr th.long-th-sp03 {
    min-width: 180px
  }

  .tbl-type04-sp-wrap .tbl-type04 tbody tr td {
    min-width: 100px
  }

  .tbl-type04-sp-wrap .tbl-type04 tbody tr td.short-td {
    min-width: 130px
  }

  .tbl-type04-sp-wrap .tbl-type04 tbody tr td.short-td02 {
    min-width: 100px
  }

  .tbl-type04-sp-wrap .tbl-type04 tbody tr td.long-td-sp {
    min-width: 250px
  }

  .tbl-type04-sp-wrap .tbl-type04 tbody tr td.long-td-sp02 {
    min-width: 130px
  }

  .tbl-type04-sp-wrap .tbl-type04 tbody tr td.long-td-sp03 {
    min-width: 180px
  }

  .tbl-type04-sp-wrap .tbl-type04-sp-nowrap {
    white-space: nowrap
  }

  .tbl-type04-sp-wrap .tbl-type04-sp-nowrap tbody tr th {
    white-space: nowrap
  }

  .tbl-type04-sp-wrap .tbl-type04-sp-nowrap tbody tr td {
    white-space: nowrap
  }

  .tbl-type04-sp-wrap .tbl-type04-flick-icon {
    display: block;
    position: absolute;
    z-index: 10;
    pointer-events: none;
    top: 100px;
    left: calc(50vw - 15px - 38px);
    width: 76px;
    height: 76px;
    background: url(/images/common/icon_flick_sp.svg) 0 0 no-repeat;
    background-size: 100% 100%
  }

  .tbl-type04-sp-wrap .tbl-type04-flick-icon.tbl-type04-flick-icon__type01 {
    top: 50%;
    margin-top: -38px
  }
}

.news-topics-content {
  position: relative;
  overflow: hidden;
  padding-top: 60px;
  padding-bottom: 1px
}

.news-topics-content .inner {
  position: static
}

@media screen and (max-width: 520px) {
  .news-topics-content {
    overflow: hidden;
    padding-top: 50px;
    padding-bottom: 85px
  }

  .news-topics-content .ttl-type01-linkbox ul {
    position: absolute;
    bottom: 35px;
    right: 15px
  }
}

.cate-top-box {
  margin-top: 100px;
  margin-bottom: 100px
}

@media screen and (max-width: 520px) {
  .cate-top-box {
    margin-top: 60px;
    margin-bottom: 60px
  }
}

.content-obj-bg {
  overflow: hidden;
  position: relative;
  max-width: 1200px;
  padding: 0px 50px;
  padding-bottom: 25px;
  margin: 0 auto
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .content-obj-bg {
    padding: 0px 20px 25px
  }
}

@media screen and (max-width: 520px) {
  .content-obj-bg {
    padding: 0px 15px 5px
  }
}

.content-obj-bg::after {
  content: " ";
  display: block;
  width: 180px;
  height: 156px;
  background: url(/images/common/bg_illu.png) 0 0 no-repeat;
  background-size: 100% 100%;
  position: absolute;
  z-index: 0;
  bottom: 0px;
  right: 0
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .content-obj-bg::after {
    right: 20px
  }
}

@media screen and (max-width: 520px) {
  .content-obj-bg::after {
    right: -15px;
    width: 124px;
    height: 107px
  }
}

.content-obj-bg .content-block {
  position: relative;
  z-index: 2
}

.content-block p {
  margin-bottom: 35px
}

.content-block figure {
  line-height: 0;
  text-align: center;
  margin: 40px 0
}

.content-block figure img {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease
}

.content-block figure a:hover img {
  opacity: 0.7
}

.text-ph-block {
  overflow: hidden
}

.text-ph-block p {
  margin-bottom: 35px
}

.text-ph-block .basic-list {
  margin-bottom: 35px
}

.text-ph-block .box-type01 {
  display: flex
}

.text-ph-block .tbl-type02 {
  width: auto
}

.text-ph-block .inner-flex .tbl-type02 {
  width: 100%
}

.text-ph-block figure {
  float: right;
  max-width: 50%;
  margin: 0 0 30px 30px;
  padding-top: 5px;
  text-align: center
}

.text-ph-block figure span {
  display: block;
  line-height: 1.4;
  font-size: .75rem;
  text-align: center;
  margin: 8px 0 10px
}

.text-ph-block figure .pdf-iconlink-wrap {
  margin-top: 20px;
  margin-bottom: 10px;
  line-height: 1.4;
  font-size: .9375rem;
  text-align: left
}

.text-ph-block figure .pdf-iconlink {
  display: inline-block;
  text-align: left;
  background-position: 3px 1px
}

.text-ph-block figure img {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease
}

.text-ph-block figure a:hover img {
  opacity: 0.7
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .text-ph-block figure {
    max-width: 45%;
    margin: 0 0 20px 20px
  }
}

@media screen and (max-width: 520px) {
  .text-ph-block {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px
  }

  .text-ph-block p {
    order: 1;
    width: 100%;
    margin-bottom: 25px
  }

  .text-ph-block .basic-list {
    order: 1;
    width: 100%;
    margin-bottom: 25px
  }

  .text-ph-block .ttl-type03,
  .text-ph-block .ttl-type04,
  .text-ph-block .ttl-type05 {
    order: 1;
    width: 100%
  }

  .text-ph-block .box-type01 {
    order: 1;
    display: block;
    width: 100%
  }

  .text-ph-block .inner-flex,
  .text-ph-block .tbl-type02 {
    order: 1;
    width: 100%
  }

  .text-ph-block figure {
    order: 3;
    width: 100%;
    max-width: inherit;
    float: none;
    margin: 0px 0 20px 0
  }

  .text-ph-block figure .pdf-iconlink-wrap {
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 15px;
    text-align: center
  }

  .text-ph-block figure .pdf-iconlink {
    display: table;
    margin: 0 auto
  }
}

.ph-text-block {
  overflow: hidden
}

.ph-text-block figure {
  float: left;
  max-width: 50%;
  margin: 0 30px 30px 0px;
  padding-top: 5px;
  text-align: left
}

.ph-text-block figure span {
  display: block;
  line-height: 1.4;
  font-size: .75rem;
  text-align: center;
  margin: 8px 0 10px
}

.ph-text-block figure .pdf-iconlink-wrap {
  margin-top: 20px;
  margin-bottom: 10px;
  line-height: 1.4;
  font-size: .9375rem;
  text-align: left
}

.ph-text-block figure .pdf-iconlink {
  display: inline-block;
  text-align: left;
  background-position: 3px 1px
}

.ph-text-block figure img {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease
}

.ph-text-block figure a:hover img {
  opacity: 0.7
}

.ph-text-block p {
  margin-bottom: 35px
}

.ph-text-block .basic-list {
  margin-bottom: 35px
}

.ph-text-block .box-type01 {
  display: flex
}

.ph-text-block .tbl-type02 {
  width: auto
}

.ph-text-block .inner-flex .tbl-type02 {
  width: 100%
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .ph-text-block figure {
    max-width: 45%;
    margin: 0 20px 20px 0px
  }
}

@media screen and (max-width: 520px) {
  .ph-text-block {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px
  }

  .ph-text-block figure {
    width: 100%;
    max-width: inherit;
    float: none;
    text-align: center;
    margin: 0px 0 20px 0
  }

  .ph-text-block figure .pdf-iconlink-wrap {
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 15px;
    text-align: center
  }

  .ph-text-block figure .pdf-iconlink {
    display: table;
    margin: 0 auto
  }

  .ph-text-block p {
    width: 100%;
    margin-bottom: 25px
  }

  .ph-text-block .basic-list {
    width: 100%;
    margin-bottom: 25px
  }

  .ph-text-block .ttl-type03,
  .ph-text-block .ttl-type04,
  .ph-text-block .ttl-type05 {
    width: 100%
  }

  .ph-text-block .box-type01 {
    display: block;
    width: 100%
  }

  .ph-text-block .inner-flex,
  .ph-text-block .tbl-type02 {
    width: 100%
  }
}

.content-block .paper-box,
.paper-box {
  display: flex;
  margin-bottom: 50px
}

.content-block .paper-box__ph,
.paper-box__ph {
  width: 150px;
  line-height: 0;
  margin: 0 50px 0px 0px;
  text-align: left
}

.content-block .paper-box__ph img,
.paper-box__ph img {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease
}

.content-block .paper-box__ph a:hover img,
.paper-box__ph a:hover img {
  opacity: 0.7
}

.content-block .paper-box__info,
.paper-box__info {
  width: calc(100% - 200px)
}

.content-block .paper-box__info table,
.paper-box__info table {
  width: 70%;
  border-top: 1px solid #DDDDDD;
  border-left: 1px solid #DDDDDD;
  margin-bottom: 20px;
  border-collapse: collapse
}

.content-block .paper-box__info table tr th,
.paper-box__info table tr th {
  width: 150px;
  white-space: nowrap;
  text-align: left;
  vertical-align: top;
  background: #F0F0F0;
  font-weight: 400;
  padding: 10px 10px;
  border-bottom: 1px solid #DDDDDD
}

.content-block .paper-box__info table tr td,
.paper-box__info table tr td {
  text-align: left;
  vertical-align: top;
  color: #4D4D4D;
  padding: 10px 10px;
  border-bottom: 1px solid #DDDDDD;
  border-right: 1px solid #DDDDDD
}

.content-block .paper-box__info p,
.paper-box__info p {
  margin-bottom: 5px
}

.content-block .paper-box.paper-box-new .paper-box__ph,
.paper-box.paper-box-new .paper-box__ph {
  width: 350px
}

.content-block .paper-box.paper-box-new .paper-box__info,
.paper-box.paper-box-new .paper-box__info {
  width: calc(100% - 400px)
}

@media screen and (min-width: 521px) and (max-width: 960px) {

  .content-block .paper-box__info table,
  .paper-box__info table {
    width: 100%
  }

  .content-block .paper-box.paper-box-new .paper-box__ph,
  .paper-box.paper-box-new .paper-box__ph {
    width: 45%
  }

  .content-block .paper-box.paper-box-new .paper-box__info,
  .paper-box.paper-box-new .paper-box__info {
    width: calc(55% - 50px)
  }
}

@media screen and (max-width: 520px) {

  .content-block .paper-box,
  .paper-box {
    flex-wrap: wrap;
    margin-bottom: 20px
  }

  .content-block .paper-box__ph,
  .paper-box__ph {
    text-align: center;
    width: 100%;
    margin: 0 0px 30px 0px
  }

  .content-block .paper-box__info,
  .paper-box__info {
    width: 100%
  }

  .content-block .paper-box__info table,
  .paper-box__info table {
    width: 100%
  }

  .content-block .paper-box__info table tr th,
  .paper-box__info table tr th {
    width: 120px;
    font-size: 13px
  }

  .content-block .paper-box__info table tr td,
  .paper-box__info table tr td {
    font-size: 13px
  }

  .content-block .paper-box.paper-box-new .paper-box__ph,
  .paper-box.paper-box-new .paper-box__ph {
    width: 100%
  }

  .content-block .paper-box.paper-box-new .paper-box__info,
  .paper-box.paper-box-new .paper-box__info {
    width: 100%
  }
}

.content-block .pdf-box,
.pdf-box {
  display: flex;
  margin: 40px 0;
  padding: 40px;
  border: 1px solid #DDDDDD;
  text-align: left
}

.content-block .pdf-box__ph,
.pdf-box__ph {
  max-width: 50%;
  line-height: 0;
  display: flex;
  white-space: nowrap
}

.content-block .pdf-box__ph li,
.pdf-box__ph li {
  width: 257px
}

.content-block .pdf-box__ph li+li,
.pdf-box__ph li+li {
  margin-left: 16px
}

.content-block .pdf-box__info,
.pdf-box__info {
  padding-left: 40px
}

.content-block .pdf-box__info dt,
.pdf-box__info dt {
  font-size: 20px;
  font-weight: 700;
  border-bottom: 1px solid #DDDDDD;
  padding-bottom: 15px;
  margin-bottom: 40px
}

.content-block .pdf-box__info dd p,
.pdf-box__info dd p {
  margin-bottom: 15px
}

.content-block .pdf-box__info dd .pdf-box__link,
.pdf-box__info dd .pdf-box__link {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 320px;
  padding: 5px 35px;
  border: 1px solid transparent;
  background-color: #606;
  font-size: .875rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
  color: #fff;
  text-decoration: none;
  min-height: 60px
}

.content-block .pdf-box__info dd .pdf-box__link span,
.pdf-box__info dd .pdf-box__link span {
  padding-left: 25px;
  background: url(/images/common/icon_pdf.png) 1px 50% no-repeat
}

.content-block .pdf-box__info dd .pdf-box__link:hover,
.pdf-box__info dd .pdf-box__link:hover {
  background-color: #4F004F
}

@media screen and (min-width: 521px) and (max-width: 960px) {

  .content-block .pdf-box,
  .pdf-box {
    padding: 25px
  }

  .content-block .pdf-box__info,
  .pdf-box__info {
    padding-left: 20px
  }

  .content-block .pdf-box__info dt,
  .pdf-box__info dt {
    font-size: 18px;
    padding-bottom: 10px;
    margin-bottom: 20px
  }
}

@media screen and (max-width: 520px) {

  .content-block .pdf-box,
  .pdf-box {
    padding: 30px 12px 10px;
    display: block
  }

  .content-block .pdf-box__ph,
  .pdf-box__ph {
    max-width: none;
    justify-content: center;
    margin-bottom: 20px
  }

  .content-block .pdf-box__ph li,
  .pdf-box__ph li {
    width: 170px;
    max-width: calc(50% - 10px)
  }

  .content-block .pdf-box__ph li+li,
  .pdf-box__ph li+li {
    margin-left: 20px
  }

  .content-block .pdf-box__info,
  .pdf-box__info {
    padding-left: 0px
  }

  .content-block .pdf-box__info dt,
  .pdf-box__info dt {
    font-size: 18px;
    padding-bottom: 10px;
    margin-bottom: 20px;
    text-align: center
  }

  .content-block .pdf-box__info dd,
  .pdf-box__info dd {
    font-size: 14px
  }

  .content-block .pdf-box__info dd .pdf-box__link,
  .pdf-box__info dd .pdf-box__link {
    margin-left: auto;
    margin-right: auto;
    font-size: 14px
  }
}

.g-map,
.g-map02 {
  position: relative;
  margin: 30px auto
}

.g-map::after,
.g-map02::after {
  pointer-events: none;
  content: " ";
  display: block;
  position: relative;
  width: 100%;
  padding-top: 400px
}

.g-map iframe,
.g-map02 iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none
}

@media screen and (max-width: 520px) {

  .g-map,
  .g-map02 {
    width: auto !important
  }

  .g-map::after,
  .g-map02::after {
    padding-top: 60% !important
  }
}

.g-map02 {
  width: 700px;
  max-width: 100%
}

.g-map02::after {
  padding-top: 60%
}

.youtube-movie-box {
  position: relative;
  margin: 30px auto;
  width: 560px;
  max-width: 100%
}

.youtube-movie-box::after {
  pointer-events: none;
  content: " ";
  display: block;
  position: relative;
  width: 100%;
  padding-top: 56.25%
}

.youtube-movie-box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none
}

@media screen and (max-width: 520px) {
  .youtube-movie-box {
    width: auto !important
  }
}

.event-content {
  position: relative;
  overflow: hidden;
  padding-top: 55px;
  padding-bottom: 40px;
  background: #F0F0F0
}

.event-content .inner {
  position: static
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .event-content {
    padding-top: 45px
  }
}

@media screen and (max-width: 520px) {
  .event-content {
    padding-top: 40px;
    padding-bottom: 80px
  }

  .event-content .ttl-type01-linkbox ul {
    position: absolute;
    bottom: 35px;
    right: 15px
  }
}

.event-list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px
}

.event-list>li {
  width: calc(25% - 20px);
  margin: 0 10px 20px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .event-list>li {
    width: calc(50% - 20px)
  }
}

@media screen and (max-width: 520px) {
  .event-list {
    display: block;
    margin-left: 0px;
    margin-right: 0px
  }

  .event-list>li {
    width: auto;
    margin: 0 0px 10px
  }

  .event-list .event-date {
    font-size: 13px
  }

  .event-list .event-info-text {
    font-size: 13px
  }
}

@media screen and (max-width: 520px) {

  .news-event-list-contents .event-list-type01,
  .news-event-list-contents .event-list-type02 {
    margin-left: -15px;
    margin-right: -15px
  }
}

.event-list-type01 {
  border-top: 1px solid #DDDDDD;
  margin-bottom: 0px
}

.event-list-type01>li {
  border-bottom: 1px solid #DDDDDD;
  margin: 0;
  padding: 25px 0
}

.event-list-type01>li a {
  display: block;
  position: relative;
  padding: 0 25px 0 10px;
  text-decoration: none !important
}

@media screen and (min-width: 961px) {
  .event-list-type01>li a:hover .event-info dt {
    color: #7E13AB
  }
}

.event-list-type01>li a .event-icon-wrap {
  position: absolute;
  top: 0;
  right: 0
}

.event-list-type01>li a.blank-iconlink {
  padding: 0 25px 0 10px;
  background: none
}

.event-list-type01>li a.blank-iconlink::after {
  content: " ";
  display: block;
  position: absolute;
  bottom: 0px;
  right: 10px;
  width: 13px;
  height: 13px;
  background: url(/images/common/icon_otherlink.svg) 0 0 no-repeat;
  background-size: 13px 13px
}

@media screen and (min-width: 961px) {
  .event-list-type01>li a.blank-iconlink .event-info__external-text {
    position: absolute;
    right: 30px;
    bottom: -1px;
    line-height: 1.2;
    text-align: right
  }
}

@media screen and (max-width: 520px) {
  .event-list-type01 {
    border-top: 1px solid #DDDDDD
  }

  .event-list-type01>li {
    padding: 0
  }

  .event-list-type01>li a {
    padding: 20px 15px !important
  }

  .event-list-type01>li a .event-icon-wrap {
    position: static
  }

  .event-list-type01>li a.blank-iconlink::after {
    right: 15px;
    bottom: 15px
  }
}

.event-list-type02 {
  border-top: 1px solid #DDDDDD;
  border-left: 1px solid #DDDDDD;
  margin-bottom: 0px;
  display: flex;
  flex-wrap: wrap
}

.event-list-type02>li {
  width: 33.333%;
  border-right: 1px solid #DDDDDD;
  border-bottom: 1px solid #DDDDDD;
  margin: 0;
  padding: 0
}

.event-list-type02>li a {
  display: block;
  position: relative;
  padding: 15px;
  text-decoration: none !important
}

@media screen and (min-width: 961px) {
  .event-list-type02>li a:hover .event-info dt {
    color: #7E13AB
  }

  .event-list-type02>li a:hover .event-ph img {
    transform: translate(-50%, -50%) scale(1.1)
  }
}

.event-list-type02>li a.blank-iconlink {
  padding: 15px 15px 20px 15px;
  background: none
}

.event-list-type02>li a.blank-iconlink::after {
  content: " ";
  display: block;
  position: absolute;
  bottom: 15px;
  right: 15px;
  width: 13px;
  height: 13px;
  background: url(/images/common/icon_otherlink.svg) 0 0 no-repeat;
  background-size: 13px 13px
}

@media screen and (max-width: 520px) {
  .event-list-type02 {
    display: block
  }

  .event-list-type02>li {
    width: auto;
    padding: 0
  }

  .event-list-type02>li a {
    padding: 20px 15px 10px;
    overflow: hidden
  }

  .event-list-type02>li a .event-ph {
    width: 120px;
    height: 120px;
    float: left
  }

  .event-list-type02>li a .event-ph~.event-icon-wrap {
    margin-left: 135px
  }

  .event-list-type02>li a .event-ph~.event-date {
    margin-left: 135px
  }

  .event-list-type02>li a .event-ph~.event-info {
    margin-left: 135px
  }

  .event-list-type02>li a .event-icon-wrap {
    margin-bottom: 5px
  }

  .event-list-type02>li a .event-date {
    margin-bottom: 5px
  }

  .event-list-type02>li a .event-info dt {
    margin-bottom: 5px
  }

  .event-list-type02>li a.blank-iconlink {
    padding: 20px 15px
  }

  .event-list-type02>li a.blank-iconlink::after {
    right: 15px;
    bottom: 15px
  }
}

.event-list-type02.original-custom {
  border: none
}

.event-list-type02.original-custom>li {
  width: calc(50% - 10px);
  margin: 0 20px 20px 0;
  border: none;
  background: #fff
}

.event-list-type02.original-custom>li:nth-child(2n) {
  margin-right: 0
}

.event-list-type02.original-custom>li a {
  padding: 30px;
  height: 100%
}

@media screen and (max-width: 520px) {
  .event-list-type02.original-custom>li {
    width: auto;
    padding: 0;
    margin: 0 0 10px 0
  }
}

.event-link {
  position: relative;
  display: block;
  padding: 30px;
  height: 100%;
  border: 1px solid #DDDDDD;
  color: #1A1A1A;
  background: #fff
}

@media screen and (max-width: 520px) {
  .event-link {
    padding: 24px
  }
}

.event-link::before,
.event-link::after {
  content: "";
  position: absolute;
  z-index: 4;
  background: #606;
  width: 0;
  height: 1px;
  transition: all 0.2s ease-out
}

.event-link::before {
  right: 0;
  bottom: 0
}

.event-link::after {
  left: 0;
  top: 0
}

.event-link .event-hover-line {
  pointer-events: none;
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.event-link .event-hover-line::before,
.event-link .event-hover-line::after {
  content: "";
  position: absolute;
  z-index: 4;
  background: #606;
  width: 1px;
  height: 0;
  transition: all 0.1s ease-out
}

.event-link .event-hover-line::before {
  left: 0;
  bottom: 0
}

.event-link .event-hover-line::after {
  right: 0;
  top: 0
}

.event-link:hover::after {
  width: 100%;
  transition-delay: 0s
}

.event-link:hover::before {
  width: 100%;
  transition-delay: 0.3s
}

.event-link:hover .event-hover-line::after {
  height: 100%;
  transition-delay: 0.2s
}

.event-link:hover .event-hover-line::before {
  height: 100%;
  transition-delay: 0.5s
}

.event-link.blank-iconlink {
  text-decoration: none;
  padding: 30px;
  background: #fff url(/images/common/icon_otherlink.svg) calc(100% - 12px) calc(100% - 12px) no-repeat;
  background-size: 13px 13px
}

.event-link.blank-iconlink:hover {
  background: #fff url(/images/common/icon_otherlink_purple.svg) calc(100% - 12px) calc(100% - 12px) no-repeat;
  background-size: 13px 13px
}

.event-ph {
  position: relative;
  line-height: 0;
  overflow: hidden;
  margin-bottom: 15px
}

.event-ph::before {
  content: " ";
  display: block;
  width: 100%;
  padding-top: 56.25%
}

.event-ph img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  object-fit: cover;
  object-position: center center
}

.event-icon-wrap {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 10px
}

.event-icon-wrap i {
  margin: 0 5px 5px 0
}

.event-date {
  color: #606;
  font-size: .875rem;
  font-weight: 700;
  margin-bottom: 10px;
  padding-left: 21px;
  background: url(/images/common/icon_calendar_purple.svg) 0 0.3em no-repeat;
  background-size: 13.5px 15px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .event-date {
    font-size: 13px
  }
}

@media screen and (max-width: 520px) {
  .event-date {
    font-size: 12px
  }
}

.event-info {
  color: #1A1A1A
}

.event-info dt {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 10px
}

.event-info dd {
  font-size: .8125rem;
  font-weight: 400;
  margin-bottom: 10px
}

.event-info dd p {
  line-height: 2;
  margin-bottom: 15px
}

.event-info dd p:last-child {
  margin-bottom: 0
}

@media screen and (max-width: 520px) {
  .event-info dt {
    font-size: 14px
  }

  .event-info dd {
    font-size: 13px
  }
}

.event-info-text {
  color: #1A1A1A;
  font-size: .875rem;
  font-weight: 700
}

.box-type01 {
  margin: 40px 0;
  padding: 20px 20px;
  border: 1px solid #DDDDDD;
  text-align: left
}

.box-type01 p {
  margin-bottom: 20px
}

.box-type01 .hr-type01 {
  margin: 30px 0
}

.box-type01>*:last-child {
  margin-bottom: 0
}

@media screen and (max-width: 520px) {
  .box-type01 {
    margin: 30px 0
  }

  .box-type01 .hr-type01 {
    margin: 20px 0
  }
}

.box-type02 {
  position: relative;
  padding: 30px;
  background: #F7F7F7;
  text-align: left;
  margin: 15px 0
}

.box-type02 p {
  margin-bottom: 10px
}

.box-type02>*:last-child {
  margin-bottom: 0
}

@media screen and (max-width: 520px) {
  .box-type02 {
    padding: 25px
  }
}

.user-comment-wrap {
  margin-bottom: 40px
}

@media screen and (max-width: 520px) {
  .user-comment-wrap {
    margin-bottom: 30px
  }
}

.user-comment {
  width: 100%;
  margin: 0 0 10px 0
}

.user-comment>dt {
  display: table-cell;
  width: 1px;
  white-space: nowrap;
  min-width: 3.5em;
  padding-right: 0.5em;
  margin: 0;
  font-weight: 700
}

.user-comment>dt.user-comment__col01 {
  color: #4DB56A
}

.user-comment>dt.user-comment__col02 {
  color: #A260BF
}

.user-comment>dd {
  display: table-cell;
  width: 100%;
  margin: 0
}

.important-info-content {
  position: relative;
  max-width: 1200px;
  padding: 0px 50px;
  margin: 0 auto
}

.important-info-content .ttl-type01-wrap {
  padding: 0;
  margin-bottom: 20px
}

.important-info-content .ttl-type01.important-info-ttl {
  color: #AC3434;
  font-size: 1.25rem
}

.important-info-content .important-info-content__inner {
  position: relative;
  border: 1px solid #AC3434;
  background: #fff;
  padding: 35px 40px 30px
}

.important-info-content .news-list-type01 {
  margin-bottom: 0
}

@media screen and (min-width: 521px) {
  .important-info-content .news-list-type01>li:last-child {
    border-bottom: none
  }
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .important-info-content {
    padding: 0px 20px
  }
}

@media screen and (max-width: 520px) {
  .important-info-content {
    padding: 0px 15px
  }

  .important-info-content .ttl-type01-wrap {
    margin-bottom: 15px
  }

  .important-info-content .important-info-content__inner {
    overflow: hidden;
    padding: 30px 30px 80px
  }

  .important-info-content .important-info-content__inner .ttl-type01-linkbox ul {
    position: absolute;
    bottom: 30px;
    right: 30px
  }
}

.img-arrange1 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 20px 0 0 0
}

.img-arrange1 figure {
  width: 100%;
  margin: 0 auto 20px;
  text-align: center;
  line-height: 0
}

.img-arrange2 {
  display: flex;
  flex-wrap: wrap;
  margin: 20px 0 0 0
}

.img-arrange2 figure {
  width: calc(50% - 10px);
  margin: 0 20px 20px 0;
  text-align: center;
  line-height: 0
}

.img-arrange2 figure:nth-child(2n) {
  margin-right: 0
}

@media screen and (max-width: 520px) {
  .img-arrange2 figure {
    width: 100%;
    margin: 0 auto 20px
  }

  .img-arrange2 figure:nth-child(2n) {
    margin-right: auto
  }
}

.img-arrange3 {
  display: flex;
  flex-wrap: wrap;
  margin: 20px 0 0 0
}

.img-arrange3 figure {
  width: calc(33.333% - 10px);
  margin: 0 15px 15px 0;
  text-align: center;
  line-height: 0
}

.img-arrange3 figure:nth-child(3n) {
  margin-right: 0
}

@media screen and (max-width: 520px) {
  .img-arrange3 figure {
    width: 100%;
    margin: 0 auto 20px
  }

  .img-arrange3 figure:nth-child(3n) {
    margin-right: auto
  }
}

.pager-wrap-header {
  display: flex;
  align-items: center;
  justify-content: flex-end
}

.pager-wrap-header .pager-text.pager-text-no-item {
  margin: 80px 0 70px;
  text-align: left;
  width: 100%
}

.pager-wrap-header .pager-text.pager-text-no-item+.pager-wrap {
  display: none
}

.pager-wrap-header .pager-wrap {
  margin-left: auto
}

@media screen and (max-width: 520px) {
  .pager-wrap-header {
    display: block
  }

  .pager-wrap-header .pager-text.pager-text-no-item {
    margin: 40px 0 40px;
    text-align: left
  }
}

.pager-wrap-footer {
  padding: 15px 0 0;
  display: flex;
  align-items: center;
  justify-content: flex-end
}

.pager-wrap-footer .pager-wrap-footer-selects {
  display: flex
}

.pager-wrap-footer .pager-wrap-footer-selects .select-type01 {
  margin-right: 10px
}

.pager-wrap-footer .pager-wrap {
  margin-left: auto
}

@media screen and (max-width: 520px) {
  .pager-wrap-footer {
    padding-top: 30px;
    display: block
  }

  .pager-wrap-footer .pager-wrap-footer-selects {
    display: block;
    width: 100%
  }

  .pager-wrap-footer .pager-wrap-footer-selects .select-type01 {
    margin-right: 0;
    margin-bottom: 10px
  }
}

.pager-text {
  margin: 0;
  text-align: left
}

@media screen and (max-width: 767px) {
  .pager-text {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 20px
  }

  .pager-text+.pager-wrap {
    margin-top: 20px
  }
}

.pager-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 30px 0 30px
}

@media screen and (max-width: 767px) {
  .pager-wrap {
    margin-bottom: 40px
  }
}

.pager-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding: 0 7px
}

.pager-list li {
  margin: 0 4px;
  width: 30px;
  line-height: 1
}

.pager-list li a,
.pager-list li span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #fff;
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #1A1A1A;
  text-align: center;
  text-decoration: none !important
}

.pager-list li a:hover,
.pager-list li span:hover {
  color: #fff;
  background: #606
}

.pager-list li.current span {
  color: #fff;
  background: #606
}

@media screen and (max-width: 767px) {
  .pager-list li {
    margin: 0 3px;
    width: 36px
  }

  .pager-list li a,
  .pager-list li span {
    width: 36px;
    height: 36px
  }
}

.pager-btn a {
  display: block;
  width: 20px;
  height: 30px
}

.pager-btn a span {
  display: none
}

.pager-btn a:hover {
  opacity: 0.7
}

.pager-btn.pager-btn-prev a {
  background: url(/images/common/pager_arrow_l.svg) 50% 50% no-repeat;
  background-size: 6.5px 12px
}

.pager-btn.pager-btn-next a {
  background: url(/images/common/pager_arrow_r.svg) 50% 50% no-repeat;
  background-size: 6.5px 12px
}

.pager-btn.pager-btn-prev-first {
  margin-right: 10px
}

.pager-btn.pager-btn-prev-first a {
  background: url(/images/common/pager_arrow_l_last.svg) 50% 50% no-repeat;
  background-size: 13px 13px
}

.pager-btn.pager-btn-next-last {
  margin-left: 10px
}

.pager-btn.pager-btn-next-last a {
  background: url(/images/common/pager_arrow_r_last.svg) 50% 50% no-repeat;
  background-size: 13px 13px
}

@media screen and (max-width: 767px) {
  .pager-btn a {
    width: 26px;
    height: 36px
  }

  .pager-btn.pager-btn-prev-first {
    margin-right: 6px
  }

  .pager-btn.pager-btn-next-last {
    margin-left: 6px
  }
}

.modaal-image-link {
  position: relative;
  display: inline-block;
  line-height: 0;
  border: solid 1px #606;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease
}

.modaal-image-link::before {
  content: " ";
  display: inline-block;
  position: absolute;
  width: auto;
  height: auto;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  top: 0;
  left: 0;
  width: 17px;
  height: 17px;
  background: url(/images/common/icon_expansion.png) no-repeat 0 0;
  z-index: 2
}

.modaal-image-link:hover {
  opacity: 0.7
}

button,
input,
select,
textarea {
  font-family: 'Lato', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Noto Sans JP', sans-serif
}

@media screen and (max-width: 520px) {

  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="password"],
  select,
  textarea {
    font-size: 16px !important
  }
}

@media screen and (min-width: 961px) {
  button {
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease
  }

  button:hover {
    opacity: 0.7
  }
}

.select-type01 {
  -webkit-appearance: none;
  appearance: none;
  display: inline-block;
  position: relative;
  width: 234px;
  max-width: 100%;
  overflow: hidden;
  height: 45px;
  padding: 0px 30px 0px 15px;
  border: none;
  line-height: 1.2;
  border-radius: 0px;
  background: #F7F7F7 url(/images/common/icon_select_arrow.svg) calc(100% - 14px) 50% no-repeat;
  background-size: 9.3px 5px;
  color: #4D4D4D;
  font-size: 13px
}

.select-type01:focus>option:checked {
  color: #fff;
  background: #606 !important
}

@media screen and (max-width: 520px) {
  .select-type01 {
    width: 100%;
    height: 50px
  }
}

.search-keyword {
  max-width: 670px;
  margin: 0 auto 30px
}

.search-keyword form {
  display: flex
}

.search-keyword input[type="text"] {
  -webkit-appearance: none;
  appearance: none;
  width: calc(100% - 100px);
  height: 56px;
  border: 1px solid #DDDDDD;
  border-right: none;
  color: #1A1A1A;
  font-size: 13px;
  padding: 0 20px
}

.search-keyword button[type="submit"] {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  border: none;
  width: 100px;
  height: 56px;
  background: #606 url(/images/common/icon_searh_w.svg) 25px 50% no-repeat;
  background-size: 14px 14px;
  cursor: pointer;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-align: left;
  padding-left: 47px
}

@media screen and (max-width: 520px) {
  .search-keyword input[type="text"] {
    height: 46px;
    width: calc(100% - 80px)
  }

  .search-keyword button[type="submit"] {
    height: 46px;
    width: 80px;
    background-position: 13px 50%;
    padding-left: 35px
  }
}

.search-keyword-comment {
  max-width: 670px;
  margin: 0 auto 30px
}

.fb_iframe_widget {
  line-height: 1
}

.js-news-list-swiper {
  position: relative;
  padding-bottom: 70px
}

@media screen and (max-width: 520px) {
  .js-news-list-swiper {
    padding-bottom: 0px
  }
}

.js-news-list-swiper .swiper-slide {
  width: 286px;
  padding-right: 30px;
  margin-right: 30px;
  border-right: 1px solid #DDDDDD
}

.js-news-list-swiper .swiper-slide:last-child {
  width: 256px;
  padding-right: 0px !important;
  margin-right: 0px !important;
  border-right: none !important
}

@media screen and (max-width: 520px) {
  .js-news-list-swiper .swiper-slide {
    width: 265px;
    padding-right: 25px;
    margin-right: 25px
  }

  .js-news-list-swiper .swiper-slide:last-child {
    width: 240px
  }
}

.js-news-list-swiper .swiper-slide a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0px !important;
  color: #1A1A1A
}

@media screen and (min-width: 961px) {
  .js-news-list-swiper .swiper-slide a:hover .news-list__info h3 {
    color: #7E13AB
  }
}

.js-news-list-swiper .swiper-slide a.blank-iconlink {
  color: #1A1A1A;
  padding: 0px;
  background: none !important;
  text-decoration: none
}

.js-news-list-swiper .swiper-slide .news-list__ph {
  position: relative;
  line-height: 0;
  overflow: hidden
}

.js-news-list-swiper .swiper-slide .news-list__ph::before {
  content: " ";
  display: block;
  width: 100%;
  padding-top: 56.25%
}

.js-news-list-swiper .swiper-slide .news-list__ph img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  object-fit: cover;
  object-position: center center
}

.js-news-list-swiper .swiper-slide .news-list__info {
  padding-top: 15px;
  margin-bottom: 12px
}

.js-news-list-swiper .swiper-slide .news-list__info dl {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 3px
}

.js-news-list-swiper .swiper-slide .news-list__info dl dt {
  font-family: 'Lato', sans-serif;
  font-size: .875rem;
  font-weight: 700;
  line-height: 1;
  margin: 0 10px 5px 0
}

.js-news-list-swiper .swiper-slide .news-list__info dl dd {
  margin: 0 0 5px 0
}

.js-news-list-swiper .swiper-slide .news-list__info h3 {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 10px
}

.js-news-list-swiper .swiper-slide .news-list__more-text {
  display: block;
  position: relative;
  text-align: right;
  color: #7E13AB;
  font-size: .75rem;
  line-height: 1.1
}

.js-news-list-swiper .swiper-slide .news-list__more-text span {
  text-decoration: underline
}

.js-news-list-swiper .swiper-pagination {
  display: none !important;
  bottom: 7px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 1;
  font-family: 'Lato', sans-serif !important;
  font-size: .875rem;
  width: 54px;
  left: inherit;
  right: 40px
}

@media screen and (max-width: 520px) {
  .js-news-list-swiper .swiper-pagination {
    display: none !important
  }
}

.js-news-list-swiper .swiper-pagination-bullet {
  position: relative;
  background: #fff
}

.js-news-list-swiper .swiper-button-disabled {
  display: none !important
}

.js-news-list-swiper .swiper-button-prev {
  width: 40px;
  height: 40px;
  margin-top: 0px;
  top: inherit;
  bottom: 0;
  left: inherit;
  right: 60px;
  background: url(/images/common/slider_arrow_l_purple.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

.js-news-list-swiper .swiper-button-prev:hover {
  background: url(/images/common/slider_arrow_l.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

@media screen and (max-width: 520px) {
  .js-news-list-swiper .swiper-button-prev {
    display: none !important
  }
}

.js-news-list-swiper .swiper-button-next {
  width: 40px;
  height: 40px;
  margin-top: 0px;
  top: inherit;
  bottom: 0;
  right: 0;
  background: url(/images/common/slider_arrow_r_purple.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

.js-news-list-swiper .swiper-button-next:hover {
  background: url(/images/common/slider_arrow_r.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

@media screen and (max-width: 520px) {
  .js-news-list-swiper .swiper-button-next {
    display: none !important
  }
}

.js-news-list-swiper .swiper-button-prev:after,
.js-news-list-swiper .swiper-button-next:after {
  display: none
}

.js-event-list-swiper01 {
  position: relative;
  padding-bottom: 70px
}

@media screen and (max-width: 520px) {
  .js-event-list-swiper01 {
    padding-bottom: 0px
  }
}

.js-event-list-swiper01 .swiper-slide {
  width: 350px;
  height: auto;
  margin-right: 25px
}

.js-event-list-swiper01 .swiper-slide:last-child {
  margin-right: 0px !important
}

@media screen and (max-width: 520px) {
  .js-event-list-swiper01 .swiper-slide {
    width: 240px;
    margin-right: 15px
  }
}

.js-event-list-swiper01 .event-link {
  padding: 15px
}

@media screen and (max-width: 520px) {
  .js-event-list-swiper01 .event-link {
    padding: 10px
  }
}

.js-event-list-swiper01 .event-ph {
  margin-bottom: 20px
}

@media screen and (max-width: 520px) {
  .js-event-list-swiper01 .event-ph {
    margin-bottom: 15px
  }
}

.js-event-list-swiper01 .swiper-pagination {
  display: none !important;
  bottom: 7px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 1;
  font-family: 'Lato', sans-serif !important;
  font-size: .875rem;
  width: 54px;
  left: inherit;
  right: 40px
}

@media screen and (max-width: 520px) {
  .js-event-list-swiper01 .swiper-pagination {
    display: none !important
  }
}

.js-event-list-swiper01 .swiper-pagination-bullet {
  position: relative;
  background: #fff
}

.js-event-list-swiper01 .swiper-button-disabled {
  display: none !important
}

.js-event-list-swiper01 .swiper-button-prev {
  width: 40px;
  height: 40px;
  margin-top: 0px;
  top: inherit;
  bottom: 0;
  left: inherit;
  right: 60px;
  background: url(/images/common/slider_arrow_l_purple.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

.js-event-list-swiper01 .swiper-button-prev:hover {
  background: url(/images/common/slider_arrow_l.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

@media screen and (max-width: 520px) {
  .js-event-list-swiper01 .swiper-button-prev {
    display: none !important
  }
}

.js-event-list-swiper01 .swiper-button-next {
  width: 40px;
  height: 40px;
  margin-top: 0px;
  top: inherit;
  bottom: 0;
  right: 0;
  background: url(/images/common/slider_arrow_r_purple.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

.js-event-list-swiper01 .swiper-button-next:hover {
  background: url(/images/common/slider_arrow_r.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

@media screen and (max-width: 520px) {
  .js-event-list-swiper01 .swiper-button-next {
    display: none !important
  }
}

.js-event-list-swiper01 .swiper-button-prev:after,
.js-event-list-swiper01 .swiper-button-next:after {
  display: none
}

.js-event-list-swiper02 {
  position: relative;
  padding-bottom: 70px
}

@media screen and (max-width: 520px) {
  .js-event-list-swiper02 {
    padding-bottom: 0px
  }
}

.js-event-list-swiper02 .swiper-slide {
  width: 293px;
  height: auto;
  margin-right: 20px
}

.js-event-list-swiper02 .swiper-slide:last-child {
  margin-right: 0px !important
}

@media screen and (max-width: 520px) {
  .js-event-list-swiper02 .swiper-slide {
    width: 270px;
    margin-right: 10px
  }
}

.js-event-list-swiper02 .swiper-pagination {
  display: none !important;
  bottom: 7px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 1;
  font-family: 'Lato', sans-serif !important;
  font-size: .875rem;
  width: 54px;
  left: inherit;
  right: 40px
}

@media screen and (max-width: 520px) {
  .js-event-list-swiper02 .swiper-pagination {
    display: none !important
  }
}

.js-event-list-swiper02 .swiper-pagination-bullet {
  position: relative;
  background: #fff
}

.js-event-list-swiper02 .swiper-button-disabled {
  display: none !important
}

.js-event-list-swiper02 .swiper-button-prev {
  width: 40px;
  height: 40px;
  margin-top: 0px;
  top: inherit;
  bottom: 0;
  left: inherit;
  right: 60px;
  background: url(/images/common/slider_arrow_l_purple.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

.js-event-list-swiper02 .swiper-button-prev:hover {
  background: url(/images/common/slider_arrow_l.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

@media screen and (max-width: 520px) {
  .js-event-list-swiper02 .swiper-button-prev {
    display: none !important
  }
}

.js-event-list-swiper02 .swiper-button-next {
  width: 40px;
  height: 40px;
  margin-top: 0px;
  top: inherit;
  bottom: 0;
  right: 0;
  background: url(/images/common/slider_arrow_r_purple.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

.js-event-list-swiper02 .swiper-button-next:hover {
  background: url(/images/common/slider_arrow_r.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

@media screen and (max-width: 520px) {
  .js-event-list-swiper02 .swiper-button-next {
    display: none !important
  }
}

.js-event-list-swiper02 .swiper-button-prev:after,
.js-event-list-swiper02 .swiper-button-next:after {
  display: none
}

.js-banner-swiper {
  position: relative;
  padding-bottom: 70px
}

@media screen and (max-width: 520px) {
  .js-banner-swiper {
    padding-bottom: 0px
  }
}

.js-banner-swiper .swiper-slide {
  width: 300px;
  height: auto;
  margin-right: 10px
}

.js-banner-swiper .swiper-slide:last-child {
  margin-right: 0px !important
}

@media screen and (max-width: 520px) {
  .js-banner-swiper .swiper-slide {
    width: 270px;
    margin-right: 0px
  }
}

.js-banner-swiper .swiper-pagination {
  display: none !important;
  bottom: 7px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 1;
  font-family: 'Lato', sans-serif !important;
  font-size: .875rem;
  width: 54px;
  left: inherit;
  right: 40px
}

@media screen and (max-width: 520px) {
  .js-banner-swiper .swiper-pagination {
    display: none !important
  }
}

.js-banner-swiper .swiper-pagination-bullet {
  position: relative;
  background: #fff
}

.js-banner-swiper .swiper-button-disabled {
  display: none !important
}

.js-banner-swiper .swiper-button-prev {
  width: 40px;
  height: 40px;
  margin-top: 0px;
  top: inherit;
  bottom: 0;
  left: inherit;
  right: 60px;
  background: url(/images/common/slider_arrow_l_purple.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

.js-banner-swiper .swiper-button-prev:hover {
  background: url(/images/common/slider_arrow_l.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

@media screen and (max-width: 520px) {
  .js-banner-swiper .swiper-button-prev {
    display: none !important
  }
}

.js-banner-swiper .swiper-button-next {
  width: 40px;
  height: 40px;
  margin-top: 0px;
  top: inherit;
  bottom: 0;
  right: 0;
  background: url(/images/common/slider_arrow_r_purple.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

.js-banner-swiper .swiper-button-next:hover {
  background: url(/images/common/slider_arrow_r.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

@media screen and (max-width: 520px) {
  .js-banner-swiper .swiper-button-next {
    display: none !important
  }
}

.js-banner-swiper .swiper-button-prev:after,
.js-banner-swiper .swiper-button-next:after {
  display: none
}

#js-event-swiper {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
  padding-bottom: 35px
}

@media screen and (max-width: 520px) {
  #js-event-swiper {
    max-width: inherit
  }
}

#js-event-swiper .swiper-slide {
  width: 350px;
  min-width: 350px;
  max-width: 350px;
  margin: 0;
  height: auto;
  background: #fff;
  opacity: 0.45
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  #js-event-swiper .swiper-slide {
    width: 303px;
    min-width: 303px;
    max-width: 303px
  }
}

@media screen and (max-width: 520px) {
  #js-event-swiper .swiper-slide {
    width: 270px;
    min-width: 270px;
    max-width: 270px
  }
}

#js-event-swiper .swiper-slide.swiper-slide-visible {
  opacity: 1
}

#js-event-swiper .swiper-pagination {
  bottom: 0px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center
}

#js-event-swiper .swiper-pagination-bullet {
  position: relative;
  background: #fff
}

#js-event-swiper .swiper-button-disabled {
  display: none !important
}

#js-event-swiper .swiper-button-prev {
  width: 50px;
  height: 50px;
  margin-top: -40px;
  left: inherit;
  right: calc(50% + 565px);
  background: url(/images/common/slider_arrow_l_purple.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

#js-event-swiper .swiper-button-prev:hover {
  background: url(/images/common/slider_arrow_l.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

@media screen and (max-width: 960px) {
  #js-event-swiper .swiper-button-prev {
    display: none !important
  }
}

#js-event-swiper .swiper-button-next {
  width: 50px;
  height: 50px;
  margin-top: -40px;
  right: inherit;
  left: calc(50% + 565px);
  background: url(/images/common/slider_arrow_r_purple.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

#js-event-swiper .swiper-button-next:hover {
  background: url(/images/common/slider_arrow_r.svg) 0 0 no-repeat;
  background-size: 100% 100%
}

@media screen and (max-width: 960px) {
  #js-event-swiper .swiper-button-next {
    display: none !important
  }
}

#js-event-swiper .swiper-button-prev:after,
#js-event-swiper .swiper-button-next:after {
  display: none
}

#index-pickup {
  position: relative;
  overflow: hidden;
  padding-top: 90px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  #index-pickup {
    padding-top: 60px
  }
}

@media screen and (max-width: 520px) {
  #index-pickup {
    padding-top: 45px
  }
}

@media screen and (max-width: 520px) {
  #index-pickup .ttl-type01-wrap .ttl-type01__eng {
    display: block;
    padding-left: 0em
  }
}

.pickup-list {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #DDDDDD;
  border-left: 1px solid #DDDDDD;
  background: #fff;
  max-width: 1280px;
  margin: 0 auto 64px
}

@media screen and (max-width: 960px) {
  .pickup-list {
    margin-bottom: 50px
  }
}

@media screen and (max-width: 520px) {
  .pickup-list {
    margin-bottom: 40px
  }
}

.pickup-list__item {
  position: relative;
  width: 50%;
  border-right: 1px solid #DDDDDD;
  border-bottom: 1px solid #DDDDDD
}

.pickup-list__item a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 12px;
  color: #1A1A1A
}

.pickup-list__item a figure {
  position: relative;
  line-height: 0;
  overflow: hidden
}

.pickup-list__item a figure::before {
  content: " ";
  display: block;
  width: 100%;
  padding-top: 66.25%
}

.pickup-list__item a figure img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  object-fit: cover;
  object-position: center center;
  transition: transform 0.25s ease-out
}

@media screen and (min-width: 961px) {
  .pickup-list__item a:hover figure img {
    transform: translate(-50%, -50%) scale(1.1)
  }

  .pickup-list__item a:hover .pickup-list__more {
    color: #7E13AB
  }

  .pickup-list__item a:hover .pickup-list__more span {
    background: url(/images/common/arror_r01_hover.svg) calc(100% - 1px) 0 no-repeat;
    background-size: 25px 25px
  }
}

@media screen and (max-width: 520px) {
  .pickup-list__item a {
    padding: 15px !important
  }
}

.pickup-list__item a.blank-iconlink {
  padding: 12px;
  color: #1A1A1A;
  text-decoration: none;
  background: none !important
}

.pickup-list__item a.blank-iconlink .pickup-list__more span {
  display: block;
  min-height: 25px;
  padding-right: 35px;
  background: url(/images/common/icon_otherlink02.svg) calc(100% - 6px) calc(50% - 1px) no-repeat;
  background-size: 17px 17px
}

@media screen and (min-width: 961px) {
  .pickup-list__item a.blank-iconlink:hover .pickup-list__more span {
    background: url(/images/common/icon_otherlink02_purple.svg) calc(100% - 6px) calc(50% - 1px) no-repeat;
    background-size: 17px 17px
  }
}

.pickup-list__item .pickup-list__more {
  position: absolute;
  bottom: 20px;
  right: 20px
}

.pickup-list__item .pickup-list__more span {
  display: block;
  min-height: 25px;
  padding-right: 35px;
  background: url(/images/common/arror_r01_alpha_b.svg) calc(100% - 1px) 0 no-repeat;
  background-size: 25px 25px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .pickup-list__item .pickup-list__more {
    right: 15px;
    bottom: 15px
  }
}

@media screen and (max-width: 520px) {
  .pickup-list__item .pickup-list__more {
    right: 15px;
    bottom: 18px
  }
}

.pickup-list__item dl dt {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.45;
  margin-bottom: 8px
}

.pickup-list__item dl dd {
  font-size: .875rem
}

.pickup-list__item.pickup-list__item-type-xl {
  width: 33.333%
}

.pickup-list__item.pickup-list__item-type-xl dl {
  padding: 15px 8px 70px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .pickup-list__item.pickup-list__item-type-xl {
    width: 100%
  }

  .pickup-list__item.pickup-list__item-type-xl a {
    display: flex;
    align-items: center
  }

  .pickup-list__item.pickup-list__item-type-xl a figure {
    width: calc(50% - 12px)
  }

  .pickup-list__item.pickup-list__item-type-xl dl {
    width: calc(50% + 12px);
    padding-left: 24px;
    padding: 20px 10px 30px 24px
  }
}

@media screen and (max-width: 520px) {
  .pickup-list__item.pickup-list__item-type-xl {
    width: 100%
  }

  .pickup-list__item.pickup-list__item-type-xl dl {
    padding: 15px 8px 40px
  }

  .pickup-list__item.pickup-list__item-type-xl dl dt {
    font-size: 18px;
    margin-bottom: 8px
  }

  .pickup-list__item.pickup-list__item-type-xl dl dd {
    font-size: 14px
  }
}

.pickup-list__item.pickup-list__item-type-l {
  width: 33.333%
}

.pickup-list__item.pickup-list__item-type-l dl {
  padding: 15px 8px 70px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .pickup-list__item.pickup-list__item-type-l {
    width: 50%
  }

  .pickup-list__item.pickup-list__item-type-l dl {
    padding: 15px 8px 40px
  }
}

@media screen and (max-width: 520px) {
  .pickup-list__item.pickup-list__item-type-l {
    width: 100%
  }

  .pickup-list__item.pickup-list__item-type-l dl {
    padding: 15px 8px 40px
  }

  .pickup-list__item.pickup-list__item-type-l dl dt {
    font-size: 18px;
    margin-bottom: 8px
  }

  .pickup-list__item.pickup-list__item-type-l dl dd {
    font-size: 14px
  }
}

.pickup-list__item.pickup-list__item-type-m {
  width: 50%
}

.pickup-list__item.pickup-list__item-type-m a {
  display: flex;
  align-items: center
}

.pickup-list__item.pickup-list__item-type-m figure {
  width: 45%
}

.pickup-list__item.pickup-list__item-type-m dl {
  width: 55%;
  padding: 20px 0 25px 20px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .pickup-list__item.pickup-list__item-type-m a {
    display: block
  }

  .pickup-list__item.pickup-list__item-type-m figure {
    float: left;
    margin-right: 12px;
    margin-bottom: 5px
  }

  .pickup-list__item.pickup-list__item-type-m dl {
    width: auto;
    padding: 10px 0 10px 0px
  }

  .pickup-list__item.pickup-list__item-type-m dl dt {
    font-size: 18px
  }

  .pickup-list__item.pickup-list__item-type-m dl dd {
    clear: both;
    padding-top: 10px;
    padding-bottom: 30px
  }
}

@media screen and (max-width: 520px) {
  .pickup-list__item.pickup-list__item-type-m {
    width: 100%
  }

  .pickup-list__item.pickup-list__item-type-m a {
    display: block
  }

  .pickup-list__item.pickup-list__item-type-m figure {
    float: left;
    margin-right: 12px;
    margin-bottom: 5px
  }

  .pickup-list__item.pickup-list__item-type-m dl {
    width: auto;
    padding: 10px 0 10px 0px
  }

  .pickup-list__item.pickup-list__item-type-m dl dt {
    font-size: 16px
  }

  .pickup-list__item.pickup-list__item-type-m dl dd {
    clear: both;
    padding-top: 10px;
    padding-bottom: 30px;
    font-size: 14px
  }
}

.pickup-list__item.pickup-list__item-type-s {
  width: 50%
}

.pickup-list__item.pickup-list__item-type-s dl {
  padding: 10px 8px 50px
}

.pickup-list__item.pickup-list__item-type-s dl dt {
  font-size: 1rem
}

.pickup-list__item.pickup-list__item-type-s dl dd {
  font-size: .8125rem
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .pickup-list__item.pickup-list__item-type-s dl {
    padding: 10px 3px 40px
  }
}

@media screen and (max-width: 520px) {
  .pickup-list__item.pickup-list__item-type-s {
    width: 100%
  }

  .pickup-list__item.pickup-list__item-type-s dl {
    padding: 10px 0px 40px
  }

  .pickup-list__item.pickup-list__item-type-s dl dt {
    font-size: 14px
  }

  .pickup-list__item.pickup-list__item-type-s dl dd {
    font-size: 13px
  }
}

#js-pickup-swiper {
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  padding-bottom: 35px;
  padding-top: 1px
}

@media screen and (max-width: 520px) {
  #js-pickup-swiper {
    max-width: inherit
  }
}

#js-pickup-swiper .swiper-slide {
  width: 260px;
  min-width: 260px;
  max-width: 260px;
  height: auto;
  margin: 0 0px;
  min-height: 75px
}

#js-pickup-swiper .swiper-slide a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 10px 20px 10px 50px !important;
  display: flex;
  align-items: center;
  color: #1A1A1A;
  font-size: .8125rem;
  font-weight: 700;
  line-height: 1.5;
  background: #F7F7F7 url(/images/common/arror_r01_alpha_b.svg) 15px 50% no-repeat;
  background-size: 25px 25px;
  border-bottom: 1px solid #DDDDDD
}

#js-pickup-swiper .swiper-slide a:hover {
  color: #7E13AB;
  background: #F7F7F7 url(/images/common/arror_r01_hover.svg) 15px 50% no-repeat;
  background-size: 25px 25px;
  border-bottom: 1px solid #606
}

#js-pickup-swiper .swiper-slide a.blank-iconlink {
  text-decoration: none
}

#js-pickup-swiper .swiper-slide a.blank-iconlink span::after {
  content: " ";
  display: inline-block;
  position: relative;
  top: 1px;
  width: 13px;
  height: 13px;
  margin-left: 4px;
  background: url(/images/common/icon_otherlink.svg) 0 0 no-repeat;
  background-size: 13px 13px
}

#js-pickup-swiper .swiper-slide a.blank-iconlink:hover span::after {
  background: url(/images/common/icon_otherlink_purple.svg) 0 0 no-repeat;
  background-size: 13px 13px
}

#js-pickup-swiper .swiper-pagination {
  bottom: 0px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center
}

#js-pickup-swiper .swiper-pagination-bullet {
  position: relative
}

.pos-rela {
  position: relative !important
}

.op-view {
  opacity: 1 !important
}

.none {
  display: none !important
}

.visible {
  display: block !important
}

figure {
  line-height: 0
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important
}

.block-skip {
  position: relative;
  background: #EFEEEB;
  text-align: center
}

.block-skip a {
  display: inline-block;
  margin: 0.7em auto;
  line-height: 1
}

.block-skip a:not(:focus) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important
}

img {
  max-width: 100%;
  height: auto
}

th img,
td img {
  max-width: inherit;
  height: inherit
}

.cl {
  clear: both !important
}

.align-r_all {
  text-align: right !important
}

.align-c_all {
  text-align: center !important
}

.align-l_all {
  text-align: left !important
}

.v-align-middle {
  vertical-align: middle !important
}

.v-align-top {
  vertical-align: top !important
}

.v-align-bottom {
  vertical-align: bottom !important
}

.mt0_all {
  margin-top: 0 !important
}

.mt5_all {
  margin-top: 5px !important
}

.mt10_all {
  margin-top: 10px !important
}

.mt20_all {
  margin-top: 20px !important
}

.mt30_all {
  margin-top: 30px !important
}

.mt40_all {
  margin-top: 40px !important
}

.mt50_all {
  margin-top: 50px !important
}

.mt60_all {
  margin-top: 60px !important
}

.mt80_all {
  margin-top: 80px !important
}

.mt100_all {
  margin-top: 100px !important
}

.mb0_all {
  margin-bottom: 0 !important
}

.mb5_all {
  margin-bottom: 5px !important
}

.mb10_all {
  margin-bottom: 10px !important
}

.mb15_all {
  margin-bottom: 15px !important
}

.mb20_all {
  margin-bottom: 20px !important
}

.mb30_all {
  margin-bottom: 30px !important
}

.mb40_all {
  margin-bottom: 40px !important
}

.mb50_all {
  margin-bottom: 50px !important
}

.mb60_all {
  margin-bottom: 60px !important
}

.mb80_all {
  margin-bottom: 80px !important
}

.mb100_all {
  margin-bottom: 100px !important
}

.mr_auto_all {
  margin-right: auto !important
}

.mr0_all {
  margin-right: 0 !important
}

.mr5_all {
  margin-right: 5px !important
}

.mr10_all {
  margin-right: 10px !important
}

.mr15_all {
  margin-right: 15px !important
}

.mr20_all {
  margin-right: 20px !important
}

.mr30_all {
  margin-right: 30px !important
}

.mr40_all {
  margin-right: 40px !important
}

.mr50_all {
  margin-right: 50px !important
}

.ml_auto_all {
  margin-left: auto !important
}

.ml0_all {
  margin-left: 0 !important
}

.ml5_all {
  margin-left: 5px !important
}

.ml10_all {
  margin-left: 10px !important
}

.ml15_all {
  margin-left: 15px !important
}

.ml20_all {
  margin-left: 20px !important
}

.ml25_all {
  margin-left: 25px !important
}

.ml30_all {
  margin-left: 30px !important
}

.ml40_all {
  margin-left: 40px !important
}

.ml50_all {
  margin-left: 50px !important
}

.w100p_all {
  width: 100% !important;
  max-width: 100% !important
}

.w50p_all {
  width: 50% !important;
  max-width: 50% !important
}

.w33p_all {
  width: 33.3333% !important;
  max-width: 50% !important
}

.w25p_all {
  width: 25% !important;
  max-width: 50% !important
}

.w100_all {
  width: 100px !important;
  max-width: 50% !important
}

@media screen and (min-width: 961px) {
  .sp-view {
    display: none !important
  }

  .tablet-view {
    display: none !important
  }

  .align-r_pc {
    text-align: right !important
  }

  .align-c_pc {
    text-align: center !important
  }

  .align-l_pc {
    text-align: left !important
  }

  .fs10_pc {
    font-size: .625rem !important
  }

  .fs12_pc {
    font-size: .75rem !important
  }

  .fs14_pc {
    font-size: .875rem !important
  }

  .fs15_pc {
    font-size: .9375rem !important
  }

  .fs16_pc {
    font-size: 1rem !important
  }

  .fs18_pc {
    font-size: 1.125rem !important
  }

  .fs20_pc {
    font-size: 1.25rem !important
  }

  .fs24_pc {
    font-size: 1.5rem !important
  }

  .fs32_pc {
    font-size: 2rem !important
  }

  .mt0_pc {
    margin-top: 0 !important
  }

  .mt5_pc {
    margin-top: 5px !important
  }

  .mt10_pc {
    margin-top: 10px !important
  }

  .mt20_pc {
    margin-top: 20px !important
  }

  .mt30_pc {
    margin-top: 30px !important
  }

  .mt40_pc {
    margin-top: 40px !important
  }

  .mt50_pc {
    margin-top: 50px !important
  }

  .mt60_pc {
    margin-top: 60px !important
  }

  .mt80_pc {
    margin-top: 80px !important
  }

  .mt100_pc {
    margin-top: 100px !important
  }

  .mb0_pc {
    margin-bottom: 0 !important
  }

  .mb5_pc {
    margin-bottom: 5px !important
  }

  .mb10_pc {
    margin-bottom: 10px !important
  }

  .mb20_pc {
    margin-bottom: 20px !important
  }

  .mb30_pc {
    margin-bottom: 30px !important
  }

  .mb40_pc {
    margin-bottom: 40px !important
  }

  .mb50_pc {
    margin-bottom: 50px !important
  }

  .mb60_pc {
    margin-bottom: 60px !important
  }

  .mb80_pc {
    margin-bottom: 80px !important
  }

  .mb100_pc {
    margin-bottom: 100px !important
  }

  .mr0_pc {
    margin-right: 0 !important
  }

  .mr5_pc {
    margin-right: 5px !important
  }

  .mr10_pc {
    margin-right: 10px !important
  }

  .mr15_pc {
    margin-right: 15px !important
  }

  .mr20_pc {
    margin-right: 20px !important
  }

  .mr30_pc {
    margin-right: 30px !important
  }

  .mr40_pc {
    margin-right: 40px !important
  }

  .mr50_pc {
    margin-right: 50px !important
  }

  .ml0_pc {
    margin-left: 0 !important
  }

  .ml5_pc {
    margin-left: 5px !important
  }

  .ml10_pc {
    margin-left: 10px !important
  }

  .ml15_pc {
    margin-left: 15px !important
  }

  .ml20_pc {
    margin-left: 20px !important
  }

  .ml25_pc {
    margin-left: 25px !important
  }

  .ml30_pc {
    margin-left: 30px !important
  }

  .ml40_pc {
    margin-left: 40px !important
  }

  .ml50_pc {
    margin-left: 50px !important
  }

  .pt0_pc {
    padding-top: 0 !important
  }

  .pt5_pc {
    padding-top: 5px !important
  }

  .pt10_pc {
    padding-top: 10px !important
  }

  .pb0_pc {
    padding-bottom: 0 !important
  }

  .pb5_pc {
    padding-bottom: 5px !important
  }

  .pb10_pc {
    padding-bottom: 10px !important
  }

  .w100_pc {
    width: 100px !important;
    max-width: 100px !important
  }

  .w200_pc {
    width: 200px !important;
    max-width: 200px !important
  }

  .w250_pc {
    width: 250px !important;
    max-width: 250px !important
  }

  .w300_pc {
    width: 300px !important;
    max-width: 300px !important
  }

  .w380_pc {
    width: 380px !important;
    max-width: 380px !important
  }

  .w410_pc {
    width: 410px !important;
    max-width: 410px !important
  }

  .w450_pc {
    width: 450px !important;
    max-width: 450px !important
  }

  .w100p_pc {
    width: 100% !important;
    max-width: 100% !important
  }

  .w75p_pc {
    width: 75% !important
  }

  .w50p_pc {
    width: 50% !important
  }

  .w40p_pc {
    width: 40% !important
  }

  .w33p_pc {
    width: 33.33% !important
  }

  .w25p_pc {
    width: 25% !important
  }

  .w20p_pc {
    width: 20% !important
  }
}

@media screen and (min-width: 521px) and (max-width: 960px) {
  .sp-view {
    display: none !important
  }

  .tablet-view {
    display: block !important
  }

  .pc-view {
    display: none !important
  }

  .align-r_tablet {
    text-align: right !important
  }

  .align-c_tablet {
    text-align: center !important
  }

  .align-l_tablet {
    text-align: left !important
  }

  .fs9_tablet {
    font-size: 9px !important
  }

  .fs10_tablet {
    font-size: 10px !important
  }

  .fs11_tablet {
    font-size: 11px !important
  }

  .fs12_tablet {
    font-size: 12px !important
  }

  .fs13_tablet {
    font-size: 13px !important
  }

  .fs14_tablet {
    font-size: 14px !important
  }

  .fs15_tablet {
    font-size: 15px !important
  }

  .fs16_tablet {
    font-size: 16px !important
  }

  .fs18_tablet {
    font-size: 18px !important
  }

  .fs20_tablet {
    font-size: 20px !important
  }

  .fs24_tablet {
    font-size: 24px !important
  }

  .fs28_tablet {
    font-size: 28px !important
  }

  .mt0_tablet {
    margin-top: 0px !important
  }

  .mt5_tablet {
    margin-top: 5px !important
  }

  .mt10_tablet {
    margin-top: 10px !important
  }

  .mt20_tablet {
    margin-top: 20px !important
  }

  .mt30_tablet {
    margin-top: 30px !important
  }

  .mt40_tablet {
    margin-top: 40px !important
  }

  .mt50_tablet {
    margin-top: 50px !important
  }

  .mt60_tablet {
    margin-top: 60px !important
  }

  .mt80_tablet {
    margin-top: 80px !important
  }

  .mt100_tablet {
    margin-top: 100px !important
  }

  .mb0_tablet {
    margin-bottom: 0 !important
  }

  .mb5_tablet {
    margin-bottom: 5px !important
  }

  .mb10_tablet {
    margin-bottom: 10px !important
  }

  .mb20_tablet {
    margin-bottom: 20px !important
  }

  .mb30_tablet {
    margin-bottom: 30px !important
  }

  .mb40_tablet {
    margin-bottom: 40px !important
  }

  .mb50_tablet {
    margin-bottom: 50px !important
  }

  .mb60_tablet {
    margin-bottom: 60px !important
  }

  .mb80_tablet {
    margin-bottom: 80px !important
  }

  .mb100_tablet {
    margin-bottom: 100px !important
  }

  .mr0_tablet {
    margin-right: 0 !important
  }

  .mr5_tablet {
    margin-right: 5px !important
  }

  .mr10_tablet {
    margin-right: 10px !important
  }

  .mr15_tablet {
    margin-right: 15px !important
  }

  .mr20_tablet {
    margin-right: 20px !important
  }

  .mr30_tablet {
    margin-right: 30px !important
  }

  .mr40_tablet {
    margin-right: 40px !important
  }

  .mr50_tablet {
    margin-right: 50px !important
  }

  .ml0_tablet {
    margin-left: 0 !important
  }

  .ml5_tablet {
    margin-left: 5px !important
  }

  .ml10_tablet {
    margin-left: 10px !important
  }

  .ml15_tablet {
    margin-left: 15px !important
  }

  .ml20_tablet {
    margin-left: 20px !important
  }

  .ml25_tablet {
    margin-left: 25px !important
  }

  .ml30_tablet {
    margin-left: 30px !important
  }

  .ml40_tablet {
    margin-left: 40px !important
  }

  .ml50_tablet {
    margin-left: 50px !important
  }

  .pt0_tablet {
    padding-top: 0 !important
  }

  .pt5_tablet {
    padding-top: 5px !important
  }

  .pt10_tablet {
    padding-top: 10px !important
  }

  .pt15_tablet {
    padding-top: 15px !important
  }

  .pt20_tablet {
    padding-top: 20px !important
  }

  .pt25_tablet {
    padding-top: 25px !important
  }

  .pt30_tablet {
    padding-top: 30px !important
  }

  .pb0_tablet {
    padding-bottom: 0px !important
  }

  .pb10_tablet {
    padding-bottom: 10px !important
  }

  .pb20_tablet {
    padding-bottom: 20px !important
  }

  .w100_tablet {
    width: 100px !important;
    max-width: 100px !important
  }

  .w200_tablet {
    width: 200px !important;
    max-width: 200px !important
  }

  .w250_tablet {
    width: 250px !important;
    max-width: 250px !important
  }

  .w300_tablet {
    width: 300px !important;
    max-width: 300px !important
  }

  .w380_tablet {
    width: 380px !important;
    max-width: 380px !important
  }

  .w410_tablet {
    width: 410px !important;
    max-width: 410px !important
  }

  .w100p_tablet {
    width: 100% !important;
    max-width: 100% !important
  }

  .w75p_tablet {
    width: 75% !important
  }

  .w50p_tablet {
    width: 50% !important
  }

  .w40p_tablet {
    width: 40% !important
  }

  .w33p_tablet {
    width: 33.33% !important
  }

  .w25p_tablet {
    width: 25% !important
  }

  .w20p_tablet {
    width: 20% !important
  }
}

@media screen and (max-width: 520px) {
  .sp-view {
    display: block !important
  }

  .tablet-view {
    display: none !important
  }

  .pc-view {
    display: none !important
  }

  .sp-none {
    display: none !important
  }

  .align-r_sp {
    text-align: right !important
  }

  .align-c_sp {
    text-align: center !important
  }

  .align-l_sp {
    text-align: left !important
  }

  .fs9_sp {
    font-size: 9px !important
  }

  .fs10_sp {
    font-size: 10px !important
  }

  .fs11_sp {
    font-size: 11px !important
  }

  .fs12_sp {
    font-size: 12px !important
  }

  .fs13_sp {
    font-size: 13px !important
  }

  .fs14_sp {
    font-size: 14px !important
  }

  .fs15_sp {
    font-size: 15px !important
  }

  .fs16_sp {
    font-size: 16px !important
  }

  .fs18_sp {
    font-size: 18px !important
  }

  .fs20_sp {
    font-size: 20px !important
  }

  .fs24_sp {
    font-size: 24px !important
  }

  .fs28_sp {
    font-size: 28px !important
  }

  .mt0_sp {
    margin-top: 0px !important
  }

  .mt5_sp {
    margin-top: 5px !important
  }

  .mt10_sp {
    margin-top: 10px !important
  }

  .mt15_sp {
    margin-top: 15px !important
  }

  .mt20_sp {
    margin-top: 20px !important
  }

  .mt25_sp {
    margin-top: 25px !important
  }

  .mt30_sp {
    margin-top: 30px !important
  }

  .mt40_sp {
    margin-top: 40px !important
  }

  .mt50_sp {
    margin-top: 50px !important
  }

  .mt60_sp {
    margin-top: 60px !important
  }

  .mt80_sp {
    margin-top: 80px !important
  }

  .mt100_sp {
    margin-top: 100px !important
  }

  .mb0_sp {
    margin-bottom: 0 !important
  }

  .mb5_sp {
    margin-bottom: 5px !important
  }

  .mb10_sp {
    margin-bottom: 10px !important
  }

  .mb15_sp {
    margin-bottom: 15px !important
  }

  .mb20_sp {
    margin-bottom: 20px !important
  }

  .mb25_sp {
    margin-bottom: 25px !important
  }

  .mb30_sp {
    margin-bottom: 30px !important
  }

  .mb40_sp {
    margin-bottom: 40px !important
  }

  .mb50_sp {
    margin-bottom: 50px !important
  }

  .mb60_sp {
    margin-bottom: 60px !important
  }

  .mb80_sp {
    margin-bottom: 80px !important
  }

  .mb100_sp {
    margin-bottom: 100px !important
  }

  .mr0_sp {
    margin-right: 0 !important
  }

  .mr5_sp {
    margin-right: 5px !important
  }

  .mr10_sp {
    margin-right: 10px !important
  }

  .mr15_sp {
    margin-right: 15px !important
  }

  .mr20_sp {
    margin-right: 20px !important
  }

  .mr30_sp {
    margin-right: 30px !important
  }

  .mr40_sp {
    margin-right: 40px !important
  }

  .mr50_sp {
    margin-right: 50px !important
  }

  .ml0_sp {
    margin-left: 0 !important
  }

  .ml5_sp {
    margin-left: 5px !important
  }

  .ml10_sp {
    margin-left: 10px !important
  }

  .ml15_sp {
    margin-left: 15px !important
  }

  .ml20_sp {
    margin-left: 20px !important
  }

  .ml25_sp {
    margin-left: 25px !important
  }

  .ml30_sp {
    margin-left: 30px !important
  }

  .ml40_sp {
    margin-left: 40px !important
  }

  .ml50_sp {
    margin-left: 50px !important
  }

  .pt0_sp {
    padding-top: 0 !important
  }

  .pt5_sp {
    padding-top: 5px !important
  }

  .pt10_sp {
    padding-top: 10px !important
  }

  .pt15_sp {
    padding-top: 15px !important
  }

  .pt20_sp {
    padding-top: 20px !important
  }

  .pt25_sp {
    padding-top: 25px !important
  }

  .pt30_sp {
    padding-top: 30px !important
  }

  .pb0_sp {
    padding-bottom: 0px !important
  }

  .pb10_sp {
    padding-bottom: 10px !important
  }

  .pb20_sp {
    padding-bottom: 20px !important
  }

  .w100p_sp {
    width: 100% !important;
    max-width: 100% !important
  }

  .w75p_sp {
    width: 75% !important
  }

  .w50p_sp {
    width: 50% !important
  }

  .w40p_sp {
    width: 40% !important
  }

  .w33p_sp {
    width: 33.33% !important
  }

  .w25p_sp {
    width: 25% !important
  }

  .w20p_sp {
    width: 20% !important
  }

  .order1_sp {
    order: 1 !important
  }

  .order2_sp {
    order: 2 !important
  }

  .order3_sp {
    order: 3 !important
  }

  .order4_sp {
    order: 4 !important
  }

  .order5_sp {
    order: 5 !important
  }
}


/*# sourceMappingURL=common.css.map */

