@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700|Roboto:400,700&subset=japanese");

@-webkit-keyframes iconMove {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }

  50.0% {
    -webkit-transform: translate3d(60%, 0, 0);
    transform: translate3d(60%, 0, 0);
    opacity: 0
  }

  50.1% {
    -webkit-transform: translate3d(-60%, 0, 0);
    transform: translate3d(-60%, 0, 0);
    opacity: 0
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1
  }
}

@keyframes iconMove {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1
  }

  50.0% {
    -webkit-transform: translate3d(60%, 0, 0);
    transform: translate3d(60%, 0, 0);
    opacity: 0
  }

  50.1% {
    -webkit-transform: translate3d(-60%, 0, 0);
    transform: translate3d(-60%, 0, 0);
    opacity: 0
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1
  }
}

a {
  color: #333;
  text-decoration: none
}

a:hover {
  text-decoration: none
}

a,
button {
  -webkit-transition: color 80ms ease-out;
  transition: color 80ms ease-out;
}

@media only screen and (min-width: 801px) {

  a:hover,
  button:hover {
    color: #CD0004
  }
}

blockquote,
body,
button,
dd,
div,
dl,
dt,
fieldset,
figcaption,
figure,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
legend,
li,
ol,
p,
td,
textarea,
th,
ul {
  margin: 0;
  padding: 0
}

address {
  font-style: normal
}

th {
  font-weight: 400
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%
}

th {
  text-align: left
}

aside,
main {
  display: block
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: 400
}

fieldset,
img {
  border: 0
}

img {
  border: 0;
  height: auto;
  max-width: 100%;
  vertical-align: top
}

li {
  list-style-type: none
}

button,
input[type=email],
input[type=number],
input[type=password],
input[type=date],
input[type=search],
input[type=submit],
input[type=tel],
input[type=text],
input[type=url],
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

button,
input[type=submit],
label,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

br {
  line-height: 0
}

*,
:after,
:before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.clearfix:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}

body {
  color: #333;
  font-size: 1rem;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
  line-height: 1.75;
  overflow-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  background-color: #FDFBF7;
}

:root {
  --scrollW: 17.5px;
}

@media only screen and (max-width: 1110px) {
  body {
    font-size: .875rem
  }
}

button,
input,
select,
textarea {
  color: #333;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
  line-height: 1.75;
  font-size: 100%
}

.container {
  margin-left: auto;
  margin-right: auto;
  max-width: 1064px;
  padding-left: 32px;
  padding-right: 32px
}

@media only screen and (max-width: 1110px) {
  .container {
    padding-left: min(7.8vw, 60px);
    padding-right: min(7.8vw, 60px);
  }
}

.container.-small {
  max-width: 864px
}

.container.-big {
  max-width: 1184px
}

@media only screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

@media only screen and (min-width: 769px) {
  .sp {
    display: none;
  }
}

@media only screen and (min-width: 601px) {
  a[href*="tel:"] {
    pointer-events: none
  }
}

.section+.section {
  margin-top: 100px
}

@media only screen and (max-width: 800px) {
  .section+.section {
    margin-top: 80px
  }
}

.gHeader {
  background-color: #FDFBF7;
  -webkit-box-shadow: 0 2px 10px transparent;
  box-shadow: 0 2px 10px transparent;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 11;
  -webkit-transition: -webkit-box-shadow .3s;
  transition: -webkit-box-shadow .3s;
  transition: box-shadow .3s;
  transition: box-shadow .3s, -webkit-box-shadow .3s;
}

.gHeader.-moved {
  -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, .05);
  box-shadow: 0 2px 10px rgba(0, 0, 0, .05);
}

@media only screen and (min-width: 1251px) {
  .gHeader__container {
    max-width: none;
    padding: 0 30px;
  }
}

.gHeader__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  height: 78px;
  gap: 0 28px
}

.gHeader__logo {
  width: 183px;
  margin: 0 auto 0 0;
}

.gHeader__logo img {
  width: 100%;
}

.gHeader__list01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-transition: opacity .5s, visibility .5s;
  transition: opacity .5s, visibility .5s;
}

body[data-nav__is_open=true] .gHeader__list01 {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

.gHeader__list01-item {
  position: relative;
}

.gHeader__list01-item.-small {
  display: none;
}

.gHeader__list01-itemInner {
  position: relative;
  height: 100%;
  padding-bottom: 2px;
  z-index: 2;
}

.gHeader__list01-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  height: 100%;
  padding: 0 15px;
  font-size: 14px;
}

.gHeader__list01-link::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #CD0004;
  opacity: 0;
  position: absolute;
  bottom: 17px;
  left: calc(50% - 2.5px);
  pointer-events: none;
  -webkit-transition: opacity 80ms ease-out;
  transition: opacity 80ms ease-out;
}

.gHeader__list02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: opacity .5s, visibility .5s;
  transition: opacity .5s, visibility .5s;
  font-size: 14px;
}

@media only screen and (min-width: 1251px) {
  .gHeader__list02 {
    gap: 0 10px;
  }

  .gHeader__listSP {
    display: none;
  }
}

@media only screen and (max-width: 1250px) {
  .gHeader__list02 {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

body[data-nav__is_open=true] .gHeader__list02 {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

@media only screen and (min-width: 1251px) {
  .gHeader__list02-item {
    color: #CD0004;
  }
}

@media only screen and (max-width: 1250px) {
  .gHeader__list02-item {
    color: #fff;
  }
}

.gHeader__list02-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  color: inherit;
}

.gHeader__list02-link::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: -2px;
  right: -2px;
  bottom: -2px;
  left: -2px;
  margin: auto;
  border-radius: 999999px;
  opacity: 0;
  -webkit-transition: opacity .35s cubic-bezier(.23, 1, .58, 1), -webkit-transform .5s cubic-bezier(.23, 1, .58, 1);
  transition: opacity .35s cubic-bezier(.23, 1, .58, 1), -webkit-transform .5s cubic-bezier(.23, 1, .58, 1);
  transition: opacity .35s cubic-bezier(.23, 1, .58, 1), transform .5s cubic-bezier(.23, 1, .58, 1);
  transition: opacity .35s cubic-bezier(.23, 1, .58, 1), transform .5s cubic-bezier(.23, 1, .58, 1), -webkit-transform .5s cubic-bezier(.23, 1, .58, 1);
  -webkit-transform: scale(0);
  transform: scale(0);
  background-color: #CD0004;
  will-change: transform;
}

.gHeader__list02-link::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -2;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  border-radius: 999999px;
  background-color: #fff;
}

.gHeader__list02_2-link {
  color: #fff;
}

.gHeader__list02_2-link::after {
  background-color: #CD0004;
}

@media only screen and (min-width: 1251px) {
  .gHeader__list01-link:hover::before {
    opacity: 1
  }

  .gHeader__list02-link {
    border: 2px solid #CD0004;
    border-radius: 30px;
    padding: 4px 5px 6px;
    width: 150px;
    justify-content: center;
  }

  .gHeader__list02-link:hover {
    -webkit-transition: background-color .1s .15s cubic-bezier(.23, 1, .58, 1);
    transition: background-color .1s .15s cubic-bezier(.23, 1, .58, 1);
    opacity: 1;
    color: #fff;
  }

  .gHeader__list02-link:hover::before {
    opacity: 1;
    -webkit-transition: all .3s cubic-bezier(.23, 1, .58, 1);
    transition: all .3s cubic-bezier(.23, 1, .58, 1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  .gHeader__list02_2-link:hover {
    -webkit-transition: background-color .1s .15s cubic-bezier(.23, 1, .58, 1);
    transition: background-color .1s .15s cubic-bezier(.23, 1, .58, 1);
    opacity: 1;
    color: #CD0004
  }

  .gHeader__list02_2-link:hover::before {
    background-color: #fff
  }

  .gHeader__list02-link:hover::after {
    opacity: 0
  }
}

@media only screen and (max-width: 1250px) {
  .gHeader__list02-link {
    background-color: #CD0004;
    border-radius: 40px;
    font-size: 1rem;
    padding: 25px 30px 27px;
  }
}

@-webkit-keyframes topHeaderMoved {
  0% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    opacity: 0;
  }

  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1
  }
}

@keyframes topHeaderMoved {
  0% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    opacity: 0
  }

  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1
  }
}

.gHeader__language {
  position: relative;
  width: 100px;
}

#google_language_translator select.goog-te-combo {
  width: 100% !important;
}

.gHeader__language:after {
  content: '';
  border-top: 6px solid #333;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  position: absolute;
  top: 50%;
  margin-top: -3px;
  right: 8px;
}

.gHeader__language select {
  padding: 0 20px 0 15px;
  font-size: 12px;
  height: 28px;
  display: block;
  border: 1px solid #333;
  border-radius: 5px;
  outline: none;
}

.gNav {
  background-color: #f5f2f2;
  position: fixed;
  top: 100px;
  left: 0;
  right: 0;
  max-height: calc(100vh - 100px);
  padding: 60px 0 60px;
  overflow: auto;
}

body[data-ready] .gNav {
  -webkit-transition: .5s;
  transition: .5s;
}

@media only screen and (max-width: 800px) {
  .gNav {
    top: 76px;
    max-height: calc(100vh - 76px);
    padding: 0 0 100px;
  }
}

body:not([data-nav__is_open=true]) .gNav {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

@media only screen and (min-width: 801px) {
  .gNav__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 60px 0
  }
}

@media only screen and (min-width: 801px) {
  .gNavBlock {
    width: calc(33.3333% - 21.3333333333px)
  }

  .gNavBlock.-type02 {
    width: 100%
  }

  .gNavBlock.-type02 .gNavBlock__group {
    width: calc(33.3333% - 21.3333333333px)
  }

  .gNavBlock.-type02 .gNavBlock__item:not(:last-child) {
    margin-bottom: 20px
  }
}

@media only screen and (max-width: 800px) {
  .gNavBlock {
    margin: 0
  }
}

@media only screen and (min-width: 801px) {
  .gNavBlock__body {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    height: auto !important
  }
}

.gNavBlock__group {
  position: relative;
  width: 100%
}

@media only screen and (max-width: 1110px) {
  .gNavBlock__body {
    display: none
  }
}

@media only screen and (max-width: 800px) {
  .gNavBlock__group:not(:last-child)::after {
    content: "";
    background-color: #ddd;
    position: absolute;
    bottom: 0;
    left: 20px;
    right: 20px;
    height: 1px
  }
}

.gNavBlock__list {
  overflow: hidden
}

.gNavBlock__title {
  position: relative;
  letter-spacing: .03em
}

@media only screen and (min-width: 801px) {
  .gNavBlock__title {
    border-bottom: 1px solid #ddd;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1.25rem;
    margin-bottom: 20px;
    padding-bottom: 20px
  }
}

@media only screen and (max-width: 800px) {
  .gNavBlock__title {
    font-size: .9875rem;
    padding: 0 20px
  }
}

.gNavBlock__title-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  font-size: 28px;
  line-height: 38px;
  color: #CD0004;
}

@media only screen and (min-width: 801px) {
  .gNavBlock__title-link:hover .gNavBlock__title-icon::after {
    -webkit-animation: iconMove .5s cubic-bezier(.215, .61, .355, 1) 0s 1 forwards;
    animation: iconMove .5s cubic-bezier(.215, .61, .355, 1) 0s 1 forwards
  }
}

@media only screen and (max-width: 800px) {
  .gNavBlock__title-link {
    padding: 24px 0 23px
  }
}

.gNavBlock__title-icon {
  position: relative;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-left: 20px;
  overflow: hidden;
}

.gNavBlock__title-icon::after {
  content: "";
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/arrow.svg) no-repeat center/contain;
  background-size: 5px;
  position: absolute;
  top: 0;
  left: 0;
  width: inherit;
  height: inherit
}

@media only screen and (max-width: 800px) {
  .gNavBlock__title-icon {
    display: none
  }
}

.gNavBlock__item {
  position: relative
}

@media only screen and (min-width: 801px) {
  .gNavBlock__item:not(:last-child) {
    margin-bottom: 10px
  }
}

@media only screen and (max-width: 800px) {
  .gNavBlock__item {
    background-color: #fff;
    padding: 0 20px
  }

  .gNavBlock__item:not(:last-child)::after {
    content: "";
    background-color: #ddd;
    position: absolute;
    bottom: 0;
    left: 20px;
    right: 20px;
    height: 1px
  }
}

.gNavBlock__icon {
  position: absolute
}

@media only screen and (max-width: 800px) {
  .gNavBlock__icon {
    display: none
  }
}

.gNavBlock__link {
  position: relative;
  font-weight: 700
}

@media only screen and (min-width: 801px) {
  .gNavBlock__link {
    display: inline-block;
    padding-left: 15px
  }

  /* .gNavBlock__link::before {    content: ""; background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/ico_arrow02.svg) no-repeat center/contain; position: absolute; top: .55em; bottom: 0; left: 0; width: 7px; height: 12px
    } */
}

@media only screen and (max-width: 800px) {
  .gNavBlock__link {
    display: block;
    padding: 20px 0 21px
  }
}

@media only screen and (max-width: 800px) {
  .gNavBlock__toggle {
    border: none;
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 64.5px
  }

  .gNavBlock__toggle::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: calc(100vw - 40px);
    height: 100%
  }

  .gNavBlock__toggle::after {
    content: "";
    background-color: #CD0004;
    -webkit-mask: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/ico_arrow02.svg) no-repeat center/7px;
    mask: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/ico_arrow02.svg) no-repeat center/7px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: -webkit-transform .15s;
    transition: -webkit-transform .15s;
    transition: transform .15s;
    transition: transform .15s, -webkit-transform .15s
  }

  .gNavBlock__toggle.-blank::after {
    -webkit-mask-image: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/ico_blank.svg);
    mask-image: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/ico_blank.svg);
    -webkit-mask-size: 14px;
    mask-size: 14px
  }
}

.gNavBlock__toggle:not([data-acc=btn]) {
  pointer-events: none;
  -webkit-transform: none;
  transform: none
}

.gNavBlock__toggle[data-acc=btn] {
  cursor: pointer
}

.gNavBlock__toggle[data-acc=btn]::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg)
}

.gNavBlock__toggle[data-acc=btn][aria-expanded=true]::after {
  background-color: #777;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg)
}

@media only screen and (min-width: 801px) {
  .gNavBlock__child {
    display: block !important;
    padding: 10px 0 0 17px
  }
}

@media only screen and (max-width: 800px) {
  .gNavBlock__child {
    display: none;
    padding-bottom: 20px
  }
}

.gNavBlock__child-item:not(:last-child) {
  margin-bottom: 10px
}

@media only screen and (max-width: 800px) {
  .gNavBlock__child-item:not(:last-child) {
    margin-bottom: 15px
  }
}

.gNavBlock__child-icon {
  position: absolute;
  width: 10px;
  height: 10px;
  margin: .55em 0 0 5px
}

.gNavBlock__child-icon.-blank::after {
  content: "";
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/ico_blank.svg) no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 0;
  width: inherit;
  height: inherit;
  -webkit-transition: .45s cubic-bezier(.19, .82, .27, 1);
  transition: .45s cubic-bezier(.19, .82, .27, 1)
}

@media only screen and (min-width: 801px) {
  .gNavBlock__child-link:hover .gNavBlock__child-icon.-blank::after {
    -webkit-transform: scale(-1, -1);
    transform: scale(-1, -1)
  }
}

.gNavBlock__child-link {
  display: inline-block;
  position: relative
}

@media only screen and (min-width: 801px) {
  .gNavBlock__child-link {
    font-size: .875rem;
    padding-left: 18px
  }
}

@media only screen and (max-width: 800px) {
  .gNavBlock__child-link {
    padding-left: 16px
  }
}

.gNavBlock__child-link::before {
  content: "";
  position: absolute;
  left: 0
}

@media only screen and (min-width: 801px) {
  .gNavBlock__child-link::before {
    background-color: #777;
    top: .875em;
    width: 8px;
    height: 1px
  }
}

@media only screen and (max-width: 800px) {
  .gNavBlock__child-link::before {
    background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/ico_arrow02.svg) no-repeat center/contain;
    position: absolute;
    top: .55em;
    bottom: 0;
    left: 0;
    width: 6px;
    height: 10px
  }
}

@media only screen and (min-width: 801px) {
  .gNav__list01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 0 32px;
    width: 100%
  }
}

@media only screen and (max-width: 800px) {
  .gNav__list01 {
    margin-top: 40px
  }
}

.gNav__list01-item {
  color: #fff;
  text-align: center
}

@media only screen and (min-width: 801px) {
  .gNav__list01-item {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%
  }
}

@media only screen and (max-width: 800px) {
  .gNav__list01-item {
    font-size: .875rem
  }

  .gNav__list01-item:not(:last-child) {
    margin-bottom: 10px
  }
}

.gNav__list01-link {
  background-color: #CD0004;
  border-radius: 40px;
  display: block;
  position: relative;
  color: inherit;
  padding: 25px 30px 27px
}

@media only screen and (max-width: 800px) {
  .gNav__list01-link {
    padding-top: 18px;
    padding-bottom: 21px
  }
}

.gNav__list01-link.-blank::after {
  content: "";
  background-color: #fff;
  -webkit-mask: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/ico_blank.svg) no-repeat center/cover;
  mask: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/ico_blank.svg) no-repeat center/cover;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 40px;
  width: 16px;
  height: 16px;
  margin: auto
}

@media only screen and (max-width: 800px) {
  .gNav__list01-link.-blank::after {
    right: 25px;
    width: 14px;
    height: 14px
  }
}

.gNav__list02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%
}

@media only screen and (min-width: 801px) {
  .gNav__list02 {
    border-top: 1px solid #ddd;
    padding-top: 40px;
    gap: 20px 40px
  }
}

@media only screen and (max-width: 800px) {
  .gNav__list02 {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 10px 0;
    margin-top: 40px
  }
}

.gNav__list02-item {
  font-size: .875rem
}

@media only screen and (max-width: 800px) {
  .gNav__list02-item {
    width: calc(50% - 10px);
    font-size: .75rem
  }
}

.gNav__list02-link {
  display: block;
  position: relative;
  padding-left: 14px
}

.gNav__list02-link::before {
  content: "";
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/ico_arrow02.svg) no-repeat center/contain;
  position: absolute;
  top: .55em;
  bottom: 0;
  left: 0;
  width: 6px;
  height: 10px
}

@media (hover: hover) and (min-width: 1251px) {
  body:not([data-nav__is_open=true]) .gHeaderNav.-active .gHeaderNav__outer {
    opacity: 1;
    background-size: 100% 100%;
    pointer-events: auto;
    visibility: visible
  }

  body[data-ready] body:not([data-nav__is_open=true]) .gHeaderNav.-active .gHeaderNav__outer {
    -webkit-transition: background-size .2s cubic-bezier(.215, .61, .355, 1);
    transition: background-size .2s cubic-bezier(.215, .61, .355, 1)
  }

  body:not([data-nav__is_open=true]) .gHeaderNav.-active+.gHeaderNav__overlay {
    opacity: 1;
    visibility: visible
  }

  body:not([data-nav__is_open=true]) .gHeaderNav.-active .gNavBlock__body,
  body:not([data-nav__is_open=true]) .gHeaderNav.-active .gNavBlock__title {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }

  body[data-ready] body:not([data-nav__is_open=true]) .gHeaderNav.-active .gNavBlock__title {
    -webkit-transition: .2s .2s;
    transition: .2s .2s
  }

  body[data-ready] body:not([data-nav__is_open=true]) .gHeaderNav.-active .gNavBlock__body {
    -webkit-transition: .2s .35s;
    transition: .2s .35s
  }
}

.gHeaderNav__outer,
.gHeaderNav__overlay {
  pointer-events: none;
  visibility: hidden
}

.gHeaderNav__outer {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(100%, #f5f2f2), to(#f5f2f2)) no-repeat;
  background: linear-gradient(to bottom, #f5f2f2 100%, #f5f2f2 100%) no-repeat;
  background-size: 100% 75%;
  opacity: 0;
  position: fixed;
  top: 78px;
  left: 0;
  right: 0;
  max-height: calc(100vh - 100px);
  padding: 60px 0 60px;
  overflow-y: scroll;
  overflow-x: hidden;
  scrollbar-gutter: stable;
}

body[data-ready] .gHeaderNav__outer {
  -webkit-transition: .15s;
  transition: .15s
}

@media only screen and (min-width: 1251px) {
  .gHeaderNav__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 60px 0;
    max-width: 1009px;
    margin: 0 auto
  }

  .gHeaderNav.-active .gHeader__list01-link {
    color: #CD0004
  }

  .gHeaderNav.-active .gHeader__list01-link::before {
    opacity: 1
  }
}

.gHeaderNav .gNavBlock {
  width: 100%
}

.gHeaderNav .gNavBlock__body,
.gHeaderNav .gNavBlock__title {
  opacity: 0;
  -webkit-transition: opacity .15s, -webkit-transform .15s .15s;
  transition: opacity .15s, -webkit-transform .15s .15s;
  transition: opacity .15s, transform .15s .15s;
  transition: opacity .15s, transform .15s .15s, -webkit-transform .15s .15s;
  -webkit-transform: translateY(20px);
  transform: translateY(20px)
}

.gHeaderNav .gNavBlock__title {
  border-bottom: none;
  margin-bottom: 15px;
  padding-bottom: 0
}

.gHeaderNav .gNavBlock__title-icon {
  width: 24px;
  height: 24px;
  margin-top: 5px;
  margin-left: 10px
}

.gHeaderNav .gNavBlock__item:not(:last-child) {
  margin-bottom: 0
}

.gHeaderNav .gNavBlock__group:only-child .gNavBlock__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0 20px
}

.gHeaderNav .gNavBlock__group:only-child .gNavBlock__item {
  width: calc(25% - 15px);
  position: relative;
}

.gHeaderNav .gNavBlock__group .gNavBlock__icon {
  position: absolute;
  top: 0;
  bottom: 0;
  left: auto;
  right: 18px;
  width: 12px;
  height: 12px;
  margin: auto
}

.gHeaderNav .gNavBlock__group .gNavBlock__icon::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  top: 0;
  left: 0;
  width: inherit;
  height: inherit
}

.gHeaderNav .gNavBlock__group .gNavBlock__icon:not(.-blank)::after {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/arrow.svg) no-repeat center/contain;
  background-size: 5px;
}

.gHeaderNav .gNavBlock__group .gNavBlock__icon.-blank {
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto
}

.gHeaderNav .gNavBlock__group .gNavBlock__link {
  border-bottom: 1px solid #ddd;
  display: block;
  padding: 19px 26px 19px 0;
  font-weight: normal;
}

.gHeaderNav .gNavBlock__group .gNavBlock__link::before {
  content: none
}

.gHeaderNav .gNavBlock__group .gNavBlock__link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 1px;
  -webkit-transition: width 200ms ease-out;
  transition: width 200ms ease-out;
  background-color: #CD0004;
}

@media only screen and (min-width: 1251px) {
  .gHeaderNav .gNavBlock__group .gNavBlock__link:hover::after {
    width: 100%
  }
}

.gHeaderNav .gNavBlock.-type02 .gNavBlock__item:not(:last-child) {
  margin-bottom: 0
}

.gHeaderNav .gNavBlock.-type02 .gNavBlock__child {
  padding: 20px 0 10px
}

.gHeaderNav__overlay {
  background-color: rgba(51, 51, 51, .25);
  opacity: 0;
  position: fixed;
  top: 78px;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1
}

body[data-ready] .gHeaderNav__overlay {
  -webkit-transition: .5s;
  transition: .5s
}

.gNav__overlay {
  background-color: rgba(51, 51, 51, .25);
  position: fixed;
  top: 78px;
  bottom: 0;
  left: 0;
  right: 0;
  cursor: pointer;
  -webkit-transition: .5s;
  transition: .5s
}

@media only screen and (max-width: 800px) {
  .gNav__overlay {
    top: 78px
  }
}

body:not([data-nav__is_open=true]) .gNav__overlay {
  opacity: 0;
  pointer-events: none;
  visibility: hidden
}

.gNav__toggle {
  background: 0 0;
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  width: 70px;
  height: 78px;
  display: none;
  z-index: 20;
}

.gNav__toggle::before {
  content: "";
  /* background-color: #CD0004; */
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: background-color .5s, -webkit-transform .2s cubic-bezier(.2, 1, .8, 1);
  transition: background-color .5s, -webkit-transform .2s cubic-bezier(.2, 1, .8, 1);
  transition: background-color .5s, transform .2s cubic-bezier(.2, 1, .8, 1);
  transition: background-color .5s, transform .2s cubic-bezier(.2, 1, .8, 1), -webkit-transform .2s cubic-bezier(.2, 1, .8, 1)
}

@media only screen and (min-width: 801px) {
  .gNav__toggle:hover::before {
    -webkit-transform: scale(1.1429);
    transform: scale(1.1429)
  }
}

@media only screen and (max-width: 800px) {
  .gNav__toggle {
    width: 40px;
    height: 56px;
  }
}

.gNav__toggle[aria-expanded=true]::before {
  background-color: #777;
}

.gNav__toggle-barbox {
  position: relative;
  width: 5px;
  height: 5px;
}

@media only screen and (max-width: 800px) {
  .gNav__toggle-barbox {
    width: 5px;
    height: 5px;
  }
}

.gNav__toggle-bar {
  background-color: #CD0004;
  border-radius: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 5px;
  height: 5px;
  margin: auto;
  -webkit-transition: -webkit-transform .5s;
  transition: -webkit-transform .5s;
  transition: transform .5s;
  transition: transform .5s, -webkit-transform .5s
}

.gNav__toggle-bar:nth-child(1) {
  -webkit-transform: translateY(-3.5px);
  transform: translateY(-3.5px)
}

.gNav__toggle[aria-expanded=true] .gNav__toggle-bar:nth-child(1) {
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg)
}

.gNav__toggle-bar:nth-child(2) {
  -webkit-transform: translateY(3.5px);
  transform: translateY(3.5px)
}

.gNav__toggle[aria-expanded=true] .gNav__toggle-bar:nth-child(2) {
  -webkit-transform: rotate(-30deg);
  transform: rotate(-30deg)
}

.gNav__toggle-label {
  position: relative;
  font-size: 1rem;
  line-height: 1.3125;
  color: #CD0004;
}

@media only screen and (max-width: 800px) {
  .gNav__toggle-label {
    -webkit-transform: scale(.8);
    transform: scale(.8)
  }
}

.gNav__toggle[aria-expanded=true] .gNav__toggle-label.-open {
  display: none
}

.gNav__toggle[aria-expanded=false] .gNav__toggle-label.-close {
  display: none
}

.gWrapper {
  padding-top: 78px;
}

input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
select,
textarea,
input[type=date] {
  background-color: #fff;
  border: solid 1px #c3c3c3;
  border-radius: 6px;
  padding: 8px 20px
}

input[type=email].error,
input[type=number].error,
input[type=password].error,
input[type=search].error,
input[type=tel].error,
input[type=text].error,
input[type=url].error,
select.error,
textarea.error {
  background-color: #fef5f5;
  border-color: #CD0004
}

input[type=email]::-webkit-input-placeholder,
input[type=number]::-webkit-input-placeholder,
input[type=password]::-webkit-input-placeholder,
input[type=search]::-webkit-input-placeholder,
input[type=tel]::-webkit-input-placeholder,
input[type=text]::-webkit-input-placeholder,
input[type=url]::-webkit-input-placeholder,
select::-webkit-input-placeholder,
textarea::-webkit-input-placeholder,
input[type=date]::-webkit-input-placeholder {
  color: #C3C3C3
}

input[type=email]::-moz-placeholder,
input[type=number]::-moz-placeholder,
input[type=password]::-moz-placeholder,
input[type=search]::-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=text]::-moz-placeholder,
input[type=url]::-moz-placeholder,
select::-moz-placeholder,
textarea::-moz-placeholder,
input[type=date]::-moz-input-placeholder {
  color: #C3C3C3
}

input[type=email]:-ms-input-placeholder,
input[type=number]:-ms-input-placeholder,
input[type=password]:-ms-input-placeholder,
input[type=search]:-ms-input-placeholder,
input[type=tel]:-ms-input-placeholder,
input[type=text]:-ms-input-placeholder,
input[type=url]:-ms-input-placeholder,
select:-ms-input-placeholder,
textarea:-ms-input-placeholder,
input[type=date]::-ms-input-placeholder {
  color: #C3C3C3
}

input[type=email]::-ms-input-placeholder,
input[type=number]::-ms-input-placeholder,
input[type=password]::-ms-input-placeholder,
input[type=search]::-ms-input-placeholder,
input[type=tel]::-ms-input-placeholder,
input[type=text]::-ms-input-placeholder,
input[type=url]::-ms-input-placeholder,
select::-ms-input-placeholder,
textarea::-ms-input-placeholder,
input[type=date]::-ms-input-placeholder {
  color: #C3C3C3
}

input[type=email]::placeholder,
input[type=number]::placeholder,
input[type=password]::placeholder,
input[type=search]::placeholder,
input[type=tel]::placeholder,
input[type=text]::placeholder,
input[type=url]::placeholder,
select::placeholder,
textarea::placeholder,
input[type=date]::placeholder {
  color: #C3C3C3
}

input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
select,
textarea,
input[type=date] {
  width: 100%
}

input[type=email].-middle,
input[type=number].-middle,
input[type=password].-middle,
input[type=search].-middle,
input[type=tel].-middle,
input[type=text].-middle,
input[type=url].-middle,
select.-middle,
textarea.-middle {
  max-width: 384px
}

/*----------------------------------------------------
    cm-loading
----------------------------------------------------*/
.gm-loading {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  overflow: auto;
  z-index: 500;
  overflow: hidden;
  animation: fadeOut .2s 6s ease-in-out;
  animation-fill-mode: forwards;
}

.gm-loading__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100%;
  background-color: #fff;
  animation: slideDown2 2s 3.5s ease-in-out;
  animation-fill-mode: forwards;
}

@media screen and (min-width: 1024px) {
  .gm-loading__wrapper {
    padding-bottom: 1.5625rem;
  }
}

.gm-loading__logo {
  opacity: 0;
  animation: fadeIn 2s ease-in-out;
  animation-fill-mode: forwards;
}

.gm-loading__logo img {
  width: 236px;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    display: none;
    z-index: 0
  }
}

@keyframes slideTop {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(100%);
  }
}

@keyframes slideDown2 {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(-100%);
  }
}

@keyframes slideDown {
  0% {
    transform: translateY(100%);
    opacity: 1;
  }

  100% {
    transform: translateY(-100%);
    opacity: 1;
  }
}

@keyframes slideCircle {
  0% {
    transform: translate(30vw, -145vw);
    opacity: 1;
  }

  100% {
    transform: translate(-167vw, 167vw);
    opacity: 1;
  }
}

.gm-loading__wave {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/kv-wave.png) no-repeat center top;
  background-size: 100%;
  opacity: 0;
  overflow: hidden;
  animation: slideDown 4s 2s ease-in-out;
  animation-fill-mode: forwards;
}

.gm-loading__wave::before {
  content: '';
  width: 100%;
  height: calc(100% - 5vw);
  background-color: #CD0004;
  position: absolute;
  left: 0;
  bottom: 0;
}

.kv {
  position: relative;
  height: 100vh;
  overflow: hidden;
}

.kv>img,
.kv>video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kv-text {
  position: absolute;
  right: min(9.5vw, 150px);
  top: 50%;
  transform: translateY(-50%);
}

.kv-text h2 {
  font-size: 40px;
  line-height: 80px;
  color: #fff;
  margin-bottom: 20px;
}

.kv-text p {
  font-size: 20px;
  line-height: 30px;
  color: #fff;
}

.title h3 {
  color: #CD0004;
  font-size: 24px;
  line-height: 32px;
  padding-left: 14px;
  position: relative;
  margin-bottom: 20px;
}

.title h3::before {
  content: '';
  width: 4px;
  height: 4px;
  border-radius: 4px;
  background-color: #CD0004;
  position: absolute;
  left: 0;
  top: 14px;
}

.title2 {
  padding-left: 12px;
  position: relative;
  margin-bottom: 20px;
}

.title2 h2 {
  font-size: 48px;
  line-height: 64px;
  margin-bottom: 3px;
  color: #CD0004;
}

.title2 h2::before {
  content: '';
  width: 4px;
  height: 4px;
  border-radius: 4px;
  background-color: #CD0004;
  position: absolute;
  left: 0;
  top: 30px;
}

.title2 h5 {
  font-size: 16px;
  line-height: 21px;
}

.title3 {
  padding-left: 15px;
  position: relative;
  margin-bottom: 40px;
}

.title3 h4 {
  font-size: 24px;
  line-height: 32px;
  margin-bottom: 6px;
  color: #CD0004;
}

.title3 h4::before {
  content: '';
  width: 4px;
  height: 4px;
  border-radius: 4px;
  background-color: #CD0004;
  position: absolute;
  left: 0;
  top: 14px;
}

.title3 h3 {
  font-size: 34px;
  line-height: 46px;
}

.title3_1 {
  margin-bottom: 25px;
}

.title3_1 h4 {
  font-size: 16px;
  line-height: 24px;
}

.title3_1 h3 {
  font-size: 28px;
  line-height: 38px;
}

.title3_2 {
  padding-left: 0;
}

.title3_2 h3 {
  font-size: 28px;
  line-height: 38px;
}

.d-flex {
  display: flex;
}

.ai-c {
  align-items: center;
}

.kv-wave {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/kv-wave_2.png) no-repeat center top;
  background-size: 100%;
  height: 4.2vw;
  overflow: hidden;
}

.kv-wave-line {
  transform: translateX(-14%);
  animation: slide-left 5s linear infinite;
  position: relative;
}

.kv-wave-line img:first-child {
  position: absolute;
  left: -99vw;
  top: 0;
}

.kv-wave-line img:last-child {
  position: absolute;
  left: 99vw;
  top: 0;
}

@keyframes slide-left {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(100%);
  }
}

.home-more {
  margin-top: 40px;
  text-align: center;
}

.home-more a,
.home-more button {
  display: inline-block;
  border: 1px solid #CD0004;
  border-radius: 30px;
  padding: 11px 20px 11px 58px;
  background: #fff;
  position: relative;
  color: #CD0004;
}

.home-more a::before,
.home-more button::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  top: 1px;
  right: 1px;
  bottom: 1px;
  left: 1px;
  margin: auto;
  border-radius: 999999px;
  opacity: 0;
  -webkit-transition: opacity .35s cubic-bezier(.23, 1, .58, 1), -webkit-transform .5s cubic-bezier(.23, 1, .58, 1);
  transition: opacity .35s cubic-bezier(.23, 1, .58, 1), -webkit-transform .5s cubic-bezier(.23, 1, .58, 1);
  transition: opacity .35s cubic-bezier(.23, 1, .58, 1), transform .5s cubic-bezier(.23, 1, .58, 1);
  transition: opacity .35s cubic-bezier(.23, 1, .58, 1), transform .5s cubic-bezier(.23, 1, .58, 1), -webkit-transform .5s cubic-bezier(.23, 1, .58, 1);
  -webkit-transform: scale(0);
  transform: scale(0);
  background-color: #CD0004;
  will-change: transform;
}

.home-more a span,
.home-more button span {
  display: flex;
  align-items: center;
  padding-left: 24px;
  position: relative;
  z-index: 2;
}

.home-more a span::before,
.home-more button span::before {
  content: '';
  width: 4px;
  height: 4px;
  border-radius: 4px;
  background-color: #CD0004;
  position: absolute;
  left: 0;
  top: 12px;
}

.home-more a img,
.home-more button img {
  margin-left: 40px;
}

.home-more img.on {
  display: none;
}

@media only screen and (min-width: 801px) {

  .home-more a:hover,
  .home-more button:hover {
    color: #fff;
    border-color: #fff
  }

  .home-more a:hover::before,
  .home-more button:hover::before {
    opacity: 1;
    -webkit-transition: all .3s cubic-bezier(.23, 1, .58, 1);
    transition: all .3s cubic-bezier(.23, 1, .58, 1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  .home-more a:hover span::before,
  .home-more button:hover span::before {
    background-color: #fff
  }

  .home-more a:hover img.off,
  .home-more button:hover img.off {
    display: none
  }

  .home-more a:hover img.on,
  .home-more button:hover img.on {
    display: block
  }
}

/* message */
.message {
  /* background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/index/bg_nami.png) no-repeat center top;background-size: 100%;margin-top: -4.2vw; */
  background-color: #fff;
  position: relative;
  z-index: 2;
  padding: 64px 0 0;
}

.message-box {
  padding-bottom: 125px;
}

.message-flex {
  justify-content: space-between;
}

.message-box .home-more {
  text-align: right;
}

.message-title {
  width: 450px;
}

.message-title h2 {
  font-size: 34px;
  line-height: 74px;
  color: #CD0004;
}

.message-text {
  width: 450px;
}

.message-text p {
  font-size: 16px;
  line-height: 38px;
}

.message-banner img {
  width: 100%;
}

/* menu-banner */
.menu-banner {
  margin-top: 90px;
}

.menu-item {
  position: relative;
  width: 25%;
}

.menu-item a {
  display: block;
  position: relative;
}

.menu-item-wrap {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(51, 51, 51, .6);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.menu-box {
  position: relative;
  z-index: 3;
}

.menu-box h3 {
  font-size: 28px;
  line-height: 38px;
  color: #fff;
}

.menu-item-icon {
  width: 52px;
  display: block;
  margin: 25px auto 0;
}

.menu-item-icon img {
  width: 100%;
}

.menu-item-wrap::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  opacity: 0;
  -webkit-transition: opacity .6s cubic-bezier(.23, 1, .58, 1), -webkit-transform .5s cubic-bezier(.23, 1, .58, 1);
  transition: opacity .6s cubic-bezier(.23, 1, .58, 1), -webkit-transform .5s cubic-bezier(.23, 1, .58, 1);
  transition: opacity .6s cubic-bezier(.23, 1, .58, 1), transform .5s cubic-bezier(.23, 1, .58, 1);
  transition: opacity .6s cubic-bezier(.23, 1, .58, 1), transform .5s cubic-bezier(.23, 1, .58, 1), -webkit-transform .5s cubic-bezier(.23, 1, .58, 1);
  -webkit-transform: scale(0);
  transform: scale(0);
  background-color: #CD0004;
  will-change: transform;
}

@media only screen and (min-width: 801px) {
  .menu-item-wrap:hover::before {
    opacity: 1;
    -webkit-transition: all .6s cubic-bezier(.23, 1, .58, 1);
    transition: all .6s cubic-bezier(.23, 1, .58, 1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

/* information-ir */
.information-ir {
  padding: 90px 0;
}

.information-ir-flex {
  margin: 0 -30px;
}

.information-box,
.ir-box {
  width: calc(50% - 60px);
  margin: 0 30px;
}

.info-item {
  border-bottom: 1px solid #C3C3C3;
  padding: 20px 0;
  position: relative;
}

.info-item:first-child {
  border-top: 1px solid #C3C3C3;
}

.info-date-cat {
  display: flex;
}

.info-date-cat .date {
  width: 115px;
  font-size: 14px;
}

.info-date-cat .cat {
  padding: 0 14px;
  font-size: 12px;
  line-height: 20px;
  background-color: #CD0004;
  color: #fff;
}

.info-title {
  margin-top: 20px;
}

.info-title h3 {
  font-size: 16px;
  line-height: 26px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

.brand-menu-title h3 {
  font-weight: bold;
}

.info-item::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 0;
  height: 1px;
  -webkit-transition: width 200ms ease-out;
  transition: width 200ms ease-out;
  background-color: #CD0004;
}

.info-title h3 img {
  margin-left: 1.5em;
  margin-top: 5px;
}

@media only screen and (min-width: 801px) {
  .info-item:hover {
    border-bottom-color: transparent
  }

  .info-item:hover::after {
    width: 100%;
  }
}

/* brand */
.brand {
  padding-left: min(calc(50% - 500px), 6.4vw);
  position: relative;
  overflow: hidden;
}

.brand::before {
  content: '';
  width: 100%;
  height: 75px;
  background-color: #151515;
  position: absolute;
  left: 0;
  bottom: 0;
}

.brand-wrap {
  background-color: #fff;
  padding: 75px 60px 40px;
  border-radius: 20px 0 0 20px;
  box-shadow: 0 0 20px rgba(0, 0, 0, .08);
  position: relative;
  overflow: hidden;
}

.brand-item {
  width: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 126px;
  overflow: hidden;
}

.brand-item img {
  max-width: 100%;
  transition: all .3s;
}

.swiper-button-prev,
.swiper-button-next {
  top: 95px;
  margin-top: 0;
  width: 52px;
  height: 52px;
  border: 1px solid #CD0004;
  border-radius: 30px;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: 88px;
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: auto;
  right: 161px;
  transform: rotate(180deg);
}

.swiper-button-prev:after,
.swiper-button-next:after {
  font-size: 0;
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/arrow.svg) no-repeat center center;
  background-size: 5px;
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.swiper-button-next::before,
.swiper-button-prev::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: 100px;
  margin: auto;
  opacity: 0;
  -webkit-transition: opacity .35s cubic-bezier(.23, 1, .58, 1), -webkit-transform .5s cubic-bezier(.23, 1, .58, 1);
  transition: opacity .35s cubic-bezier(.23, 1, .58, 1), -webkit-transform .5s cubic-bezier(.23, 1, .58, 1);
  transition: opacity .35s cubic-bezier(.23, 1, .58, 1), transform .5s cubic-bezier(.23, 1, .58, 1);
  transition: opacity .35s cubic-bezier(.23, 1, .58, 1), transform .5s cubic-bezier(.23, 1, .58, 1), -webkit-transform .5s cubic-bezier(.23, 1, .58, 1);
  -webkit-transform: scale(0);
  transform: scale(0);
  background-color: #CD0004;
  will-change: transform;
}

@media only screen and (min-width: 801px) {
  .brand-item:hover {
    opacity: .64
  }

  .swiper-button-next:hover:after,
  .swiper-button-prev:hover:after {
    background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/arrow_w.svg) no-repeat center center;
    background-size: 5px
  }

  .swiper-button-next:hover::before,
  .swiper-button-prev:hover::before {
    opacity: 1;
    -webkit-transition: all .3s cubic-bezier(.23, 1, .58, 1);
    transition: all .3s cubic-bezier(.23, 1, .58, 1);
    -webkit-transform: scale(1);
    transform: scale(1)
  }
}

.gFooter {
  padding: 75px 0 35px;
  background-color: #151515;
}

.gFooter-flex {
  justify-content: space-between;
}

.gFooter-r {
  max-width: 650px;
}

.gFooter-address {
  color: #fff;
  margin-top: 18px;
}

.gFooter-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 0 35px;
}

.gFooter-menu a {
  color: #fff;
  padding-left: 10px;
  position: relative;
  transition: all .3s;
}

.gFooter-menu a::before {
  content: '';
  width: 4px;
  height: 4px;
  border-radius: 4px;
  background-color: #CD0004;
  position: absolute;
  left: 0;
  top: 12px;
}

.copyright {
  color: #fff;
  text-align: right;
  margin-top: 32px;
  font-size: 12px;
}

@media only screen and (min-width: 801px) {
  .gFooter-menu a:hover {
    color: #CD0004
  }
}

.page-top {
  width: 52px;
  height: 52px;
  border: 1px solid #fff;
  border-radius: 30px;
  background-color: #151515;
  font-size: 0;
  position: fixed;
  right: 20px;
  bottom: 40px;
  z-index: 10;
}

.page-top a {
  display: block;
  border-radius: 50%;
  width: 100%;
  height: 100%;
}

.page-top a:after {
  content: '';
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/arrow_w.svg) no-repeat center center;
  background-size: 5px;
  transform: rotate(-90deg);
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.page-top a:before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  border-radius: 100px;
  margin: auto;
  opacity: 0;
  -webkit-transition: opacity .35s cubic-bezier(.23, 1, .58, 1), -webkit-transform .5s cubic-bezier(.23, 1, .58, 1);
  transition: opacity .35s cubic-bezier(.23, 1, .58, 1), -webkit-transform .5s cubic-bezier(.23, 1, .58, 1);
  transition: opacity .35s cubic-bezier(.23, 1, .58, 1), transform .5s cubic-bezier(.23, 1, .58, 1);
  transition: opacity .35s cubic-bezier(.23, 1, .58, 1), transform .5s cubic-bezier(.23, 1, .58, 1), -webkit-transform .5s cubic-bezier(.23, 1, .58, 1);
  -webkit-transform: scale(0);
  transform: scale(0);
  background-color: #CD0004;
  will-change: transform;
}

@media only screen and (min-width: 801px) {
  .page-top a:hover:after {
    transform: rotate(450deg)
  }

  .page-top a:hover::before {
    opacity: 1;
    -webkit-transition: all .3s cubic-bezier(.23, 1, .58, 1);
    transition: all .3s cubic-bezier(.23, 1, .58, 1);
    -webkit-transform: scale(1);
    transform: scale(1)
  }
}

.page-scroll {
  position: absolute;
  z-index: 4;
  right: 18px;
  bottom: 2.6vw;
}

.page-scroll span {
  font-size: 12px;
  line-height: 16px;
  display: inline-block;
  color: #fff;
}

.page-scroll i {
  display: block;
  background-color: #C3C3C3;
  height: 110px;
  width: 1px;
  margin: 5px auto 0;
  position: relative;
  overflow: hidden;
}

.page-scroll i::after {
  content: '';
  width: 100%;
  height: 50%;
  background-color: #CD0004;
  position: absolute;
  left: 0;
  top: -10%;
  animation: slideDown3 1.7s linear infinite;
}

@keyframes slideDown3 {
  0% {
    top: -10%;
  }

  100% {
    top: 100%;
  }
}


/**company**/
.sub-title-bg {
  background-color: #CD0004;
  margin: 70px max(calc(50% - 560px), 120px) 120px 0;
  padding: 65px 0 65px max(calc(50% - 560px), 120px);
  border-radius: 0 20px 20px 0;
}

.sub-title-bg .title2 {
  margin-bottom: 0;
}

.sub-title-bg .title2 h2,
.sub-title-bg .title2 h5 {
  color: #fff;
}

.sub-title-bg .title2 h2::before {
  background-color: #fff;
}

.sub-bg {
  position: relative;
}

.sub-bg::before {
  content: '';
  width: 100%;
  height: calc(50% + 70px);
  top: -70px;
  left: 0;
  background-color: transparent;
  position: absolute;
  z-index: -1;
}

.sub-title-bg2 {
  background-color: #fff;
  margin: 70px max(calc(50% - 560px), 120px) 120px 0;
  padding: 35px 0 35px max(calc(50% - 560px), 120px);
  border-radius: 0 20px 20px 0;
  box-shadow: 0 0 20px rgba(0, 0, 0, .08);
  position: relative;
}

.sub-title-bg2 .title2 {
  margin-bottom: 0;
}

.sub-title-bg2 .title2 h2::before {
  background-color: #CD0004;
  top: 17px;
}

.sub-title-bg2 .title2 h2 {
  font-size: 28px;
  line-height: 38px;
  margin-bottom: 20px;
  color: #333333;
}

.sub-title-bg2 .title2 h5 {
  font-size: 16px;
  line-height: 26px;
  color: #333333;
}

.sub-title-bg3 {
  background-color: transparent;
  border-bottom: 1px solid #CD0004;
  border-radius: 0;
  box-shadow: none;
  margin-bottom: 60px;
}

.sub-title-bg3 .title2 h2,
.sub-title-bg3 .title2 h5 {
  color: #CD0004;
}

.sub-title-bg3 .title2 h2::before {
  background-color: #CD0004;
}

.sub-main {
  padding-bottom: 100px;
}

.sub-main-box {
  position: relative;
}

.sub-slide {
  position: absolute;
  z-index: 3;
  left: 0;
  top: 0;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0 0 20px rgba(0, 0, 0, .08);
}

.sub-slide>ul {
  padding: 30px 20px;
  width: 200px;
}

.sub-slide ul ul {
  padding: 0 0 0 20px;
}

.sub-slide li {
  margin: 10px 0;
}

.sub-slide li a {
  padding-left: 10px;
  position: relative;
  display: block;
  line-height: 30px;
  font-size: 16px;
  color: #C3C3C3;
  -webkit-transition: all .3s cubic-bezier(.23, 1, .58, 1);
  transition: all .3s cubic-bezier(.23, 1, .58, 1);
}

.sub-slide li a::before {
  content: '';
  width: 4px;
  height: 4px;
  background-color: #CD0004;
  position: absolute;
  left: 0;
  top: 13px;
  border-radius: 50%;
  transform: scale(0);
  -webkit-transition: all .3s cubic-bezier(.23, 1, .58, 1);
  transition: all .3s cubic-bezier(.23, 1, .58, 1);
}

.sub-slide ul ul a {
  font-size: 14px;
  line-height: 22px;
}

.sub-slide ul ul a::before {
  top: 9px;
}

.sub-slide li.active a::before {
  transform: scale(1);
}

.sub-slide li.active a {
  color: #CD0004;
}

.sub-slide li a:hover {
  color: #CD0004;
}

.sub-slide li a:hover::before {
  /* transform: scale(1); */
}

.sub-content {
  padding-left: 280px;
}

.sub-item+.sub-item {
  margin-top: 120px;
}

.company-message {
  align-items: center;
}

.company-message-img img {
  width: 100%;
}

.company-message-text {
  background-color: #fff;
  padding: 40px;
  border-radius: 20px;
  width: calc(100% - 150px);
  margin-top: -60px;
  margin-right: -40px;
  margin-left: auto;
  position: relative;
}

.company-message-text p {
  color: #CD0004;
  font-size: 20px;
  line-height: 36px;
}

.company-tabbox {
  width: calc(100vw - (50vw - 500px) - 280px - 8.5px);
}

.company-tab {
  width: 275px;
  margin-right: 80px;
  display: flex;
  align-items: center;
}

.company-tab ul {
  width: 100%;
}

.company-tab li {
  padding: 30px 40px 30px 15px;
  border-bottom: 1px solid #C3C3C3;
  font-size: 24px;
  line-height: 32px;
  cursor: pointer;
  position: relative;
  -webkit-transition: all .3s cubic-bezier(.23, 1, .58, 1);
  transition: all .3s cubic-bezier(.23, 1, .58, 1);
}

.company-tab li:last-child {
  border-bottom: none;
}

.company-tab li::before {
  content: '';
  width: 5px;
  height: 5px;
  background-color: #CD0004;
  border-radius: 50%;
  margin-right: 7px;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -2.5px;
}

.company-tab li::after {
  content: '';
  width: 0;
  height: 1px;
  background-color: #CD0004;
  position: absolute;
  left: 0;
  bottom: -1px;
  -webkit-transition: all .3s cubic-bezier(.23, 1, .58, 1);
  transition: all .3s cubic-bezier(.23, 1, .58, 1);
}

.company-tab li i {
  width: 36px;
  height: 36px;
  position: absolute;
  right: 0;
  top: 28px;
  -webkit-transition: all .3s cubic-bezier(.23, 1, .58, 1);
  transition: all .3s cubic-bezier(.23, 1, .58, 1);
}

.company-tab li i .off {
  display: block;
}

.company-tab li i .on {
  opacity: 0;
  visibility: hidden;
}

.company-tab li.-active {
  color: #CD0004;
}

.company-tab li.-active::after {
  width: 100%;
}

.company-tab li.-active i .off {
  display: none;
}

.company-tab li.-active i .on {
  opacity: 1;
  visibility: visible;
}

@media only screen and (min-width: 1111px) {
  .company-tab li:hover {
    color: #CD0004
  }

  .company-tab li:hover::after {
    width: 100%
  }

  .company-tab li:hover i .off {
    display: none
  }

  .company-tab li:hover i .on {
    opacity: 1;
    visibility: visible
  }
}

.company-tab-content {
  width: calc(100% - 355px);
  border-radius: 20px 0 0 20px;
  overflow: hidden;
}

.company-tab-content img {
  width: 100%;
}

.company-tab-item {
  display: none;
}

.company-sustainability {
  flex-wrap: wrap;
  margin: -20px -10px 0;
}

.sustainability-item {
  width: calc(100%/3 - 20px);
  margin: 20px 10px 0;
  background-color: #fff;
  border: 1px solid #CD0004;
  border-radius: 10px;
  text-align: center;
  position: relative;
}

.sustainability-item::before {
  content: '';
  width: 100%;
  height: 100%;
  background-color: #CD0004;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: 0;
  border-radius: 10px;
  transform: scale(0);
  -webkit-transition: all .3s cubic-bezier(.23, 1, .58, 1);
  transition: all .3s cubic-bezier(.23, 1, .58, 1);
  z-index: 0;
}

.sustainability-item a {
  display: block;
  padding: 20px 7px;
}

.sustainability-item01 a {
  padding: 30px 20px;
}

.sustainability-item-img {
  width: 110px;
  height: 110px;
  margin: 0 auto 20px;
  -webkit-transition: all .3s cubic-bezier(.23, 1, .58, 1);
  transition: all .3s cubic-bezier(.23, 1, .58, 1);
}

.sustainability-item-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sustainability-item h4 {
  color: #CD0004;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 30px;
  position: relative;
  -webkit-transition: all .3s cubic-bezier(.23, 1, .58, 1);
  transition: all .3s cubic-bezier(.23, 1, .58, 1);
}

.sustainability-item h4::before {
  content: '';
  width: 5px;
  height: 5px;
  background-color: #CD0004;
  border-radius: 5px;
  display: inline-block;
  margin-right: 7px;
  -webkit-transition: all .3s cubic-bezier(.23, 1, .58, 1);
  transition: all .3s cubic-bezier(.23, 1, .58, 1);
}

.sustainability-item h4 img {
  display: block;
  margin-left: 5px;
  -webkit-transition: all .3s cubic-bezier(.23, 1, .58, 1);
  transition: all .3s cubic-bezier(.23, 1, .58, 1);
}

.sustainability-item01 h4 {
  display: block;
}

.sustainability-item01 h4::before {
  display: block;
  margin: 0 auto 5px;
}

.info-select {
  margin-bottom: 42px;
  max-width: 295px;
}

@media only screen and (min-width: 1111px) {
  .sustainability-item:hover::before {
    transform: scale(1)
  }

  .sustainability-item:hover .sustainability-item-img img {
    filter: grayscale(100%) brightness(500%);
  }

  .sustainability-item:hover h4 {
    color: #fff
  }

  .sustainability-item:hover h4::before {
    background-color: #fff
  }

  .sustainability-item:hover h4 img {
    filter: grayscale(100%) brightness(500%);
  }
}

.corona-infection {
  background-color: #fff;
  border-radius: 20px 0 0 20px;
  box-shadow: 0 0 20px rgba(0, 0, 0, .08);
  padding: 50px calc(50vw - 500px) 50px 100px;
}

.corona-infection-flex {
  align-items: center;
  justify-content: space-between;
}

.corona-infection-flex h2 {
  font-size: 24px;
  line-height: 32px;
  padding-left: 15px;
  position: relative;
}

.corona-infection-flex h2::before {
  content: '';
  width: 5px;
  height: 5px;
  background-color: #CD0004;
  border-radius: 50%;
  margin-right: 7px;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -2.5px;
}

.corona-infection-flex .home-more {
  margin-top: 0;
}

.breadcrumbs {
  background-color: #fff;
  padding: 21px 0;
}

.breadcrumbs ul {
  display: flex;
  align-items: center;
}

.breadcrumbs ul li a,
.breadcrumbs ul li span {
  display: block;
  font-size: 12px;
  line-height: 20px;
  -webkit-transition: all .3s cubic-bezier(.23, 1, .58, 1);
  transition: all .3s cubic-bezier(.23, 1, .58, 1);
}

.breadcrumbs ul li:not(:first-child) {
  padding-left: 25px;
  position: relative;
}

.breadcrumbs ul li:not(:first-child)::before {
  content: '';
  width: 5px;
  height: 5px;
  background-color: #333333;
  border-radius: 50%;
  margin-right: 7px;
  position: absolute;
  left: 10px;
  top: 50%;
  margin-top: -2.5px;
}

.breadcrumbs li.active a,
.breadcrumbs li.active span {
  color: #CD0004;
}

.breadcrumbs li.active:not(:first-child)::before {
  background-color: #CD0004;
}

@media only screen and (min-width: 1111px) {

  .breadcrumbs ul li a:hover,
  .breadcrumbs ul li span:hover {
    color: #CD0004;
  }

  .breadcrumbs ul li:not(:first-child):hover::before {
    background-color: #CD0004;
  }
}

.sub-footer-menu {
  padding: 70px 0 50px;
  background-color: #151515;
  border-bottom: 1px solid #C3C3C3;
}

.sub-footer-menu ul {
  justify-content: space-between;
}

.sub-footer-menu a {
  color: #fff;
}

.sub-footer-menu ul dl {
  padding-left: 10px;
}

.sub-footer-menu ul dt {
  position: relative;
  margin-bottom: 10px;
}

.sub-footer-menu ul dt::before {
  content: '';
  width: 5px;
  height: 5px;
  background-color: #CD0004;
  border-radius: 50%;
  position: absolute;
  left: -10px;
  top: 50%;
  margin-top: -2.5px;
}

.sub-footer-menu ul dt a {
  font-size: 16px;
  line-height: 26px;
}

.sub-footer-menu ul dd a {
  font-size: 14px;
  line-height: 32px;
}

.bg-w-boxshow {
  background-color: #fff;
  border-radius: 20px;
  padding: 50px 60px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.08);
}

.sub-search-box {
  margin-bottom: 120px;
}

.sub-search-box .bg-w-boxshow {
  margin-bottom: 120px;
}

.search-item+.search-item {
  margin-top: 25px;
}

.search-item dt {
  font-size: 16px;
  line-height: 21px;
  margin-bottom: 9px;
}

.search-item .d-flex01 {
  margin: 0 -15px;
}

.w-50 {
  width: calc(50% - 30px);
  margin: 0 15px;
}

.search-item .d-flex02 {
  margin: 0 -10px;
  flex-wrap: wrap;
}

.w-25 {
  width: calc(50% - 20px);
  margin: 0 10px;
}

.address-box {
  display: flex;
}

.address-box button {
  width: 46px;
  height: 46px;
  background-color: #CD0004;
  border: none;
  border-radius: 6px;
  margin-left: 10px;
}

.address-box button img {
  display: block;
  width: 23px;
  margin: 0 auto;
}

.address-search-link {
  background-color: #CD0004;
  border-radius: 6px;
}

.address-search-link a {
  color: #fff;
  display: flex;
  height: 100%;
  align-items: center;
  padding: 0 20px;
}

.address-search-link a img {
  width: 13px;
  margin-right: 10px;
}

.select-box {
  position: relative;
}

.select-box::after {
  content: '';
  width: 10px;
  height: 10px;
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/arrow.svg) no-repeat center;
  background-size: contain;
  transform: rotate(90deg);
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -5px;
}

.filter-search span {
  background-color: #fff;
  border: solid 1px #c3c3c3;
  border-radius: 6px;
  padding: 8px 20px;
  width: 100%;
  display: block;
  color: #C3C3C3;
  cursor: pointer;
}

.filter-search span.active {
  outline: 2px solid #CD0004;
  color: #CD0004;
  border-color: transparent;
}

.search-addbox {
  text-align: center;
  margin-top: 20px;
}

.search-addbox a {
  display: inline-block;
}

.search-addbox img {
  width: 42px;
}

.search-result {
  background-color: #fff;
  padding: 100px 0;
}

.search-result-title {
  text-align: center;
  margin-bottom: 35px;
}

.search-result-title h3 {
  font-size: 34px;
  line-height: 46px;
}

.search-result-list {
  display: flex;
  flex-wrap: wrap;
  margin: -20px -10px 0;
}

.search-result-item {
  width: calc(33.3333% - 20px);
  margin: 20px 10px 0;
  border: 1px solid #C3C3C3;
  padding: 20px;
  border-radius: 20px;
}

.search-result-logo {
  text-align: center;
  min-height: 100px;
  height: 150px;
  margin-bottom: 20px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

img.cards-shop__logo {
  max-height: 95px;
}

.search-result-item-title {
  padding-bottom: 15px;
  margin-bottom: 15px;
  border-bottom: 1px solid #C3C3C3;
}

.search-result-item-title h4,
.search-result-item-title h4 a {
  color: #CD0004;
  min-height: 4rem;
}

.search-result-text p {
  padding-left: 20px;
  position: relative;
  font-size: 16px;
  line-height: 2;
}

.search-result-address {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/icon_pin_r.svg) no-repeat left 8px;
  background-size: auto 16px;
  text-decoration: underline;
}

.search-result-tel {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/icon_tel.svg) no-repeat left 8px;
  background-size: auto 16px;
  margin-top: 5px;
}

.search-result-link {
  margin-top: 20px;
}

.search-result-link a {
  display: block;
  text-align: center;
  color: #fff;
  border-radius: 100px;
  line-height: 22px;
  padding: 10px;
  position: relative;
}

.search-result-link a::after {
  content: '';
  width: 5px;
  height: 100%;
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/arrow_w.svg) no-repeat center;
  background-size: 5px;
  position: absolute;
  right: 30px;
  top: 0;
  z-index: 2;
}

.search-result-link a::before {
  content: '';
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  background: #fff;
  position: absolute;
  left: 1px;
  top: 1px;
  transform: scale(0);
  -webkit-transition: all .3s cubic-bezier(.23, 1, .58, 1);
  transition: all .3s cubic-bezier(.23, 1, .58, 1);
  z-index: 1;
  border-radius: 100px;
}

.search-result-link a span {
  color: #fff;
  position: relative;
  z-index: 2;
}

@media only screen and (min-width: 1111px) {
  .search-result-link a:hover::before {
    transform: scale(1)
  }

  .search-result-link a:hover::after {
    background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/arrow.svg) no-repeat center
  }

  .search-result-link a:hover span {
    color: #CD0004
  }
}

.search-result-link a+a {
  margin-top: 20px;
}

.link-web {
  background-color: #CD0004;
}

.link-line {
  background-color: #06C755;
}

.pagenav,
.page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 50px;
}

.pagenav li,
.page-numbers li {
  width: 52px;
  text-align: center;
}

.pagenav li span,
.pagenav li a,
.page-numbers li a,
.page-numbers li span {
  display: block;
  width: 100%;
  font-size: 24px;
  line-height: 32px;
  color: #C3C3C3;
}

.pagenav li a,
.page-numbers li a {
  text-decoration: none;
}

.pagenav li a:hover,
.page-numbers li a:hover {
  color: #CD0004;
}

.pagenav li.active span,
.pagenav li.active a,
.page-numbers li span.current {
  color: #CD0004;
}

.pagenav li.pagenav-btn a,
a.page-numbers.next,
a.page-numbers.prev {
  width: 52px;
  height: 52px;
  display: block;
  text-align: center;
  padding-bottom: 0;
  background: #fff;
  border-radius: 50%;
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/arrow_en_r.svg) no-repeat center;
  background-size: 100%;
  -webkit-transition: all .3s cubic-bezier(.23, 1, .58, 1);
  transition: all .3s cubic-bezier(.23, 1, .58, 1);
}

@media only screen and (min-width: 1111px) {

  .pagenav li.pagenav-btn a:not(.invalid):hover,
  .page-numbers.next:hover,
  a.page-numbers.prev:hover {
    background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/arrow_en_r2.svg) no-repeat center;
    background-size: 100%
  }
}

.pagenav li.invalid a {
  pointer-events: none;
}

.pagenav li.invalid a {
  filter: brightness(0);
  opacity: .5;
}

.pagenav li.prev,
.page-numbers.prev {
  margin-right: 20px;
  transform: rotate(180deg);
}

.pagenav li.next,
.page-numbers.next {
  margin-left: 20px
}

.store-list {
  flex-wrap: wrap;
  margin: -20px -10px 0;
}

.store-item {
  width: calc(25% - 20px);
  height: 150px;
  margin: 20px 10px 0;
  padding: 20px;
  border: 1px solid #C3C3C3;
  border-radius: 10px;
  background-color: #fff;
  position: relative;
}

.store-item::before {
  content: '';
  position: absolute;
  left: -1px;
  right: -1px;
  top: -1px;
  bottom: -1px;
  border: 2px solid #fff;
  opacity: 0;
  border-radius: 10px;
  -webkit-transition: border .3s cubic-bezier(.23, 1, .58, 1);
  transition: border .3s cubic-bezier(.23, 1, .58, 1);
}

@media only screen and (min-width: 1111px) {
  .store-item:hover::before {
    opacity: 1;
    border-color: #CD0004
  }
}

.store-item a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  position: relative;
}

.store-item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.scene-list {
  flex-wrap: wrap;
  margin: -20px -10px 0;
}

.scene-item {
  width: calc(100%/3 - 20px);
  margin: 20px 10px 0;
  overflow: hidden;
}

.scene-item a {
  display: block;
}

.sence-img {
  width: 100%;
  height: 360px;
  border-radius: 20px 20px 0 0;
  overflow: hidden;
}

.sence-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
  -webkit-transition: all .5s cubic-bezier(.23, 1, .58, 1);
  transition: all .5s cubic-bezier(.23, 1, .58, 1);
}

.sence-text {
  background-color: #CD0004;
  padding: 15px 40px;
  text-align: center;
  position: relative;
  border-radius: 0 0 20px 20px;
}

.sence-text::after {
  content: '';
  width: 5px;
  height: 100%;
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/arrow_w.svg) no-repeat center;
  background-size: 5px;
  position: absolute;
  right: 30px;
  top: 0;
  z-index: 2;
}

.sence-text::before {
  content: '';
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  background: #fff;
  position: absolute;
  left: -1px;
  right: -1px;
  top: -1px;
  bottom: -1px;
  margin: auto;
  transform: scale(0);
  -webkit-transition: all .3s cubic-bezier(.23, 1, .58, 1);
  transition: all .3s cubic-bezier(.23, 1, .58, 1);
  z-index: 1;
  border-radius: 0 0 20px 20px;
}

.sence-text p {
  color: #fff;
  position: relative;
  z-index: 2;
}

@media only screen and (min-width: 1111px) {
  .scene-item:hover .sence-img img {
    transform: scale(1.2)
  }

  .scene-item:hover .sence-text::before {
    transform: scale(1)
  }

  .scene-item:hover .sence-text p {
    color: #CD0004
  }

  .scene-item:hover .sence-text::after {
    background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/arrow.svg) no-repeat center
  }
}

.obsession-box .sence-img {
  border-radius: 0;
  height: 320px;
}

/*********brand*********/
.brand-logo {
  text-align: center;
  padding: 40px 0 30px;
}

.brand-logo img {
  height: 71px;
}

.brand-mvwrap {
  position: relative;
}

.brand-mvwrap .page-scroll {
  right: 10px;
  bottom: 0;
}

.brand-mvwrap .page-scroll span {
  color: #CD0004;
}

.brand-mvbox {
  margin-right: 51px;
  position: relative;
}

.swiper-pagination.brandMv-swiper-pagination {
  bottom: auto;
  top: 30%;
  right: -50px;
  left: auto;
  width: 50px;
  height: auto;
  display: block;
}

.brandMv-swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
  display: block;
  margin: 10px auto;
}

.brandMv-swiper-pagination .swiper-pagination-bullet {
  width: 13px;
  height: 13px;
  background-color: transparent;
  opacity: 1;
  position: relative;
}

.brandMv-swiper-pagination .swiper-pagination-bullet::before {
  content: '';
  width: 5px;
  height: 5px;
  position: absolute;
  left: calc(50% - 2.5px);
  top: calc(50% - 2.5px);
  border-radius: 50%;
  background-color: #C3C3C3;
}

.brandMv-swiper-pagination .swiper-pagination-bullet-active {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/icon_pagination.png) no-repeat center;
  background-size: 100%;
}

.brandMv-swiper-pagination .swiper-pagination-bullet-active::before {
  background-color: #CD0004;
}

.brandinfo-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}

.brandinfo-img {
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 20px;
}

.brandinfo-list .info-title h3 {
  font-size: 18px;
  line-height: 36px;
  overflow: auto;
  display: block;
}

.brand-information,
.brand-menu,
.newOpen-renewal {
  margin-top: 120px;
}

.store-search {
  margin-top: 120px;
  background-color: #F4F2EF;
  padding: 80px 0;
}

.store-brand {
  margin-top: 120px;
  padding-left: calc(50% - 560px);
}

.store-brand::before {
  display: none;
}

.brand-concept-item {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-bottom: 20px;
}

.brand-concept-img {
  flex: 1;
}

.brand-concept-img img {
  width: 100%;
  border-radius: 10px;
}

.brand-concept-text {
  flex: 2;
}

/*********shopDetail*********/
.shopDetail__container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.shop-detail-menu {
  /* margin-top: -20px;position: relative;z-index: 11; */
  /* background-color: #fff; */
}

@media only screen and (min-width: 1111px) {
  .shopDetail__container {
    max-width: none;
    padding: 0 30px;
  }
}

.shopDetail-l {
  display: flex;
  align-items: center;
}

.shopDetail_logo {
  padding: 12px 0;
  margin-right: 30px;
}

.shopDetail_logo img {
  width: 110px;
}

.shopDetail_menu {
  display: flex;
  align-items: center;
}

.shopDetail_menu li {
  margin-right: 1em;
}

.shopDetail_menu li a {
  font-size: 18px;
  line-height: 36px;
}

.gHeader__list02_2-link_2 {
  border-color: #06C755;
}

.gHeader__list02_2-link_2::before {
  background-color: #06C755;
}

.gHeader__list02_2-link_2::after {
  background-color: #06C755;
}

@media only screen and (min-width: 1111px) {
  .gHeader__list02_2-link_2:hover {
    color: #06C755
  }
}

.pick-up {
  padding-bottom: 100px;
  position: relative;
}

.pick-up::before {
  content: '';
  width: calc(100% - 44px);
  height: 370px;
  background-color: #fff;
  border-radius: 20px 0 0 0;
  position: absolute;
  left: 44px;
  bottom: 0;
}

.pickUp-container {
  margin-left: max(calc(50% - 500px), 60px);
}

.pick-up .swiper-slide {
  max-width: 1030px;
  border-radius: 20px;
  overflow: hidden;
}

.pick-up .swiper-slide img {
  width: 100%;
  height: 392px;
  object-fit: cover;
}

.pick-up .shopDetail-prev,
.pick-up .shopDetail-next {
  top: 32px;
}

.pick-up .shopDetail-prev {
  right: 188px;
}

.pick-up .shopDetail-next {
  right: 42px;
}

.shopDetail-pagination {
  right: 115px;
  top: 42px;
  width: 52px;
  left: auto;
  color: #C3C3C3;
  font-size: 22px;
  line-height: 32px;
  height: 32px;
}

.swiper-pagination-current {
  color: #CD0004;
}

.linkbox {
  background-color: #F4F2EF;
  padding: 50px 0;
}

.linkbox .home-more {
  margin-top: 0;
}

.linkbox .home-more a {
  width: 320px;
  padding: 21px 20px 21px 58px;
  border-radius: 50px;
  margin: 0 50px;
}

.shopDetail-feature {
  margin-top: 100px;
}

.shopDetail-feature .bg-w-boxshow {
  padding: 30px 50px 40px;
}

.feature-title {
  text-align: center;
  margin-bottom: 25px;
}

.feature-title h3 {
  font-size: 16px;
  line-height: 26px;
}

.feature-list {
  justify-content: center;
  flex-wrap: wrap;
}

.feature-item {
  text-align: center;
  width: 112px;
  margin: 16px;
}

.feature-img {
  width: 120px;
  margin: 0 auto;
}

.feature-text {
  margin-top: 8px;
}

.feature-text p {
  color: #CD0004;
  font-size: 12px;
  line-height: 18px;
}

.shopDetail-table {
  margin-top: 30px;
}

.shopDetail-table tr {
  border-bottom: 1px solid #C3C3C3;
}

.shopDetail-table tr:last-child {
  border-bottom: none;
}

.shopDetail-table th {
  padding: 45px 80px;
}

.shopDetail-table td {
  padding: 45px 40px;
}

.shopDetail-map {
  margin-top: 60px;
}

.shopDetail-map iframe {
  width: 100%;
  height: 310px;
}

.shopDetail-scenelist {
  margin: 0 -10px;
}

.shopDetail-sceneitem {
  border-radius: 20px;
  width: calc(50% - 20px);
  margin: 0 10px;
  overflow: hidden;
  height: 320px;
}

.shopDetail-sceneitem img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 65%;
}

.scene2 {
  margin-left: max(calc(50% - 500px), 60px);
}

.scene2 .title3 {
  width: 385px;
}

.scene2 .bg-w-boxshow {
  width: calc(100% - 385px);
  border-radius: 20px 0 0 20px;
  padding: 60px calc(50vw - 500px - 8.5px) 60px 100px;
}

.specs-list {
  padding: 0 60px 0 40px;
  position: relative;
}

.specs-item {
  position: relative;
}

.specs-item::before {
  content: '';
  width: 10px;
  height: 10px;
  background-color: #CD0004;
  top: 130px;
  position: absolute;
  left: -42px;
  border-radius: 10px;
  z-index: 2;
}

.specs-item::after {
  content: '';
  width: 1px;
  height: 140%;
  background-color: #CD0004;
  top: 130px;
  position: absolute;
  left: -37.5px;
}

.specs-item:last-child::after {
  background-color: #fff;
  height: 130px;
}

.specs-item+.specs-item {
  margin-top: 50px;
}

.scene2-img {
  border-radius: 20px;
  overflow: hidden;
  height: 270px;
}

.scene2-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.scene2-text {
  margin-top: 18px;
}

.scene2-text h3 {
  color: #CD0004;
  position: relative;
  padding-left: 15px;
  font-size: 24px;
  line-height: 32px;
  margin-bottom: 12px;
}

.scene2-text h3::before {
  content: '';
  width: 4px;
  height: 4px;
  border-radius: 4px;
  background-color: #CD0004;
  position: absolute;
  left: 0;
  top: 16px;
}

.share-title {
  text-align: center;
  margin-bottom: 30px;
}

.share-title img {
  height: 50px;
}

.ins-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}

.share-item+.share-item {
  margin-top: 80px;
}

.twitter-box {
  border: 1px solid #C3C3C3;
  border-radius: 20px;
  padding: 10px;
  height: 550px;
  overflow-y: scroll;
}

.twitter-box img {
  display: block;
}

.home-more a.go-top {
  border-color: #333333;
  background-color: #333333;
  color: #fff;
}

.home-more a.go-top span::before {
  background-color: #fff;
}

@media only screen and (min-width: 1111px) {
  .home-more a.go-top:hover {
    border-color: #fff;
    background-color: #fff
  }
}

.shopDetail-share {
  margin-bottom: 120px;
}

.sub-main2 {
  padding-bottom: 0;
}

/******staff*******/
.bg-fff {
  background-color: #fff;
}

body.bg-fff .gHeader {
  background-color: #fff;
}

.gHeader__list01_001 .gHeader__list01-link::before {
  display: none;
}

.gHeader__list01-item.-active .gHeader__list01-link {
  color: #CD0004;
}

.staff-l {
  display: flex;
  align-items: flex-end;
}

.shopDetail-l span {
  color: #CD0004;
  font-size: 14px;
  margin-left: 22px;
}

.staff-topmenu {
  padding-bottom: 14px;
}

.sub-desc p {
  line-height: 40px;
}

.staff-list {
  margin-top: 90px;
}

.staff-item {
  display: flex;
  align-items: center;
}

.staff-item+.staff-item {
  margin-top: 70px;
}

.staff-img {
  width: 51%;
  margin-right: 5%;
  border-radius: 20px;
  overflow: hidden;
}

.staff-content {
  flex: 1;
  order: 0;
}

.staff-motto {
  font-size: 28px;
  line-height: 38px;
  margin-bottom: 20px;
}

.staff-link .home-more {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.staff-link .home-more a {
  width: 210px;
}

.staff-link .home-more a span {
  padding-left: 16px;
}

.staff-link .home-more a img {
  margin-left: 0;
  position: absolute;
  right: 0;
}

.staff-banner {
  padding: 70px 0;
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/staff/banner_bg.jpg) no-repeat center top;
  background-size: cover;
}

.title4 {
  text-align: center;
}

.title4 h3 {
  color: #fff;
  font-size: 56px;
  line-height: 74px;
}

.title4 h5 {
  color: #fff;
  font-size: 18px;
  line-height: 24px;
  margin-top: 20px;
}

.staff-banner-link {
  margin-top: 60px;
}

.staff-banner-link .home-more {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}

.staff-banner-link .home-more a {
  background-color: rgba(0, 0, 0, .5);
  border-color: #fff;
  color: #fff;
  padding: 36px;
  border-radius: 100px;
}

.staff-banner-link .home-more a span {
  padding-left: 0;
  width: 100%;
  justify-content: center;
  font-size: 22px;
  line-height: 36px;
}

.staff-banner-link .home-more a span::before {
  display: none;
}

.staff-banner-link .home-more a img {
  margin-left: 0;
  position: absolute;
  right: 0;
}

.staff_top_bnr img {
  width: 100%;
}

.staff_top_content {
  margin-top: 90px;
}

.staff_top_text {
  text-align: center;
}

.staff_top_text h3 {
  font-size: 34px;
  line-height: 46px;
  margin-bottom: 15px;
}

.staff_top_text h5 {
  font-size: 16px;
  line-height: 26px;
  margin-bottom: 22px;
}

.staff_top_movie {
  margin-top: 60px;
  text-align: center;
}

.staff_detail_list .title3 {
  padding-left: 0;
}

.staff_detail_list .title3 h4::before {
  display: none;
}

.staff_detail_list .staff-img {
  margin-right: 0;
}

.staff_detail_list .staff-item>*:first-child {
  margin-right: 5%;
}

.staff_detail_list .staff-item+.staff-item {
  border-top: 1px solid #C3C3C3;
  padding-top: 70px;
}

.other-people {
  background-color: #CD0004;
  padding: 90px 0;
  margin-top: 120px;
}

.title5 {
  margin-bottom: 40px;
}

.title5 h3 {
  color: #fff;
  font-size: 34px;
  line-height: 46px;
}

.other-people-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}

.other-people-img {
  border-radius: 20px;
  overflow: hidden;
}

.other-people-text {
  margin: 20px 0 10px;
  text-align: center;
}

.other-people-text p {
  color: #fff;
  font-size: 18px;
  line-height: 24px;
}

/**********contact************/
.radioitem,
.vertical-item,
.horizontal-item {
  padding-left: 30px;
}

.radioitem+.radioitem {
  margin-top: 25px;
}

.radioitem input,
.vertical-item input:not([type="checkbox"]),
.horizontal-item input:not([type="checkbox"]) {
  position: absolute;
  display: none;
}

.radioitem-text,
.mwform-radio-field-text {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  font-size: 18px;
  line-height: 28px;
  left: -30px;
}

.radioitem-text::before,
.mwform-radio-field-text::before {
  content: '';
  display: block;
  width: 22px;
  height: 22px;
  border-radius: 22px;
  margin-top: 6px;
  margin-right: 10px;
  flex-shrink: 0;
  background: #fff;
  border: 1px solid #C3C3C3;
}

.radioitem input:checked+span.radioitem-text::before,
.radioitem input:checked+span.radioitem-text::before {
  border-color: #CD0004;
}

.radioitem input:checked+span.radioitem-text::after,
.vertical-item input:checked+span.mwform-radio-field-text::after,
.horizontal-item input:checked+span.mwform-radio-field-text::after {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  position: absolute;
  background: #CD0004;
  border-radius: 12px;
  top: 5px;
  left: 5px;
  margin-top: 6px;
}

.radioitem-desc {
  width: 100%;
  font-size: 14px;
  line-height: 28px;
  margin-top: 4px;
}

.contact-form {
  margin-top: 75px;
}

.form-dl {
  display: flex;
  flex-wrap: wrap;
}

.ai-c {
  align-items: center;
}

.form-dl+.form-dl {
  margin-top: 30px;
}

.form-dl dt {
  width: 300px;
  font-size: 16px;
  line-height: 26px;
  margin-top: 10px;
}

.form-dl.ai-c dt {
  margin-top: 0;
}

.form-dl dt .required {
  display: inline-block;
  font-size: 12px;
  line-height: 18px;
  border-radius: 4px;
  color: #CD0004;
  border: 1px solid #cd0004;
  margin-left: 15px;
  padding: 0 6px;
}

.form-dl dt .form-en {
  display: inline-block;
  width: 100%;
  font-size: 13px;
}

.form-dl dd {
  width: 580px;
}

.form-dl dd .ipt-ttl {
  font-size: 14px;
  line-height: 24px;
  margin-bottom: 5px;
}

.form-dl dd .ipt-ttl .form-en {
  display: inline-block;
  font-size: 13px;
  margin-left: 5px;
}

.mt-15 {
  margin-top: 15px;
}

.form-dl dd textarea {
  height: 140px;
  resize: none;
}

.attend {
  margin-top: 40px;
  border: 1px solid #C3C3C3;
  border-radius: 6px;
  padding: 40px;
  background-color: #fff;
}

.attend>div {
  overflow: hidden;
}

.attend-box {
  height: 220px;
  overflow-y: scroll;
  margin-right: -18px;
}

.attend h3 {
  border-bottom: 1px solid #C3C3C3;
  padding-bottom: 20px;
  margin-bottom: 20px;
  font-size: 27px;
  line-height: 37px;
}

.attend p {
  font-size: 16px;
  line-height: 36px;
}

.attend-item {
  border-top: 1px solid #C3C3C3;
  padding-top: 20px;
  margin-top: 20px;
}

.attend .attend-title01 {
  margin: 30px 0 0;
  border: none;
}

.form-agree {
  margin-top: 40px;
  text-align: center;
}

.form-agree label {
  display: flex;
  align-items: center;
  justify-content: center;
}

.form-agree input {
  width: 22px;
  height: 22px;
  margin-right: 10px;
}

.form-agree span {
  line-height: 22px;
}

.grecaptcha-badge {
  margin-bottom: 85px;
}

/***********opening-schedule***************/
.title6 {
  margin-bottom: 30px;
  padding-bottom: 25px;
  border-bottom: 1px solid #C3C3C3;
}

.title6 h4 {
  font-size: 24px;
  line-height: 32px;
  margin-bottom: 6px;
  position: relative;
  color: #CD0004;
}

.title6 h3 {
  font-size: 28px;
  line-height: 38px;
}

.title6_1 {
  padding-left: 15px;
}

.title6_1 h4::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 5px;
  background-color: #CD0004;
  position: absolute;
  left: -15px;
  top: 13.5px;
}

.opening-schedule-box {
  display: flex;
}

.opening-schedule-text {
  flex: 1;
  order: 0;
}

.opening-schedule-text p {
  font-size: 16px;
  line-height: 32px;
}

.tips {
  position: relative;
  padding-left: 1.2em;
}

.tips-span {
  position: absolute;
  left: 0;
  top: 0;
}

.opening-schedule-img {
  width: 280px;
  margin-left: 40px;
}

.opening-schedule-img img {
  width: 100%;
}

/***********kameiten***************/
.kameiten-mvwrap {
  overflow: hidden;
  background-color: #CD0004;
  padding: 55px 0 75px;
}

.kameiten-mvbox {
  width: 1078px;
  margin: 0 auto;
  position: relative;
  min-height: 410px;
}

.kameiten-mvbox img {
  object-fit: cover;
  height: 410px;
}

.kameiten-item {
  border-radius: 20px;
  overflow: hidden;
}

.kameiten-prev,
.kameiten-next {
  background-color: #fff;
  border-color: #fff;
  top: calc(50% - 26px);
}

.kameiten-prev {
  right: auto;
  left: -92px;
}

.kameiten-next {
  right: -92px;
}

.kameiten-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal .kameiten-pagination {
  bottom: -43px;
}

.kameiten-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
  display: block;
  margin: 0 10px;
}

.kameiten-pagination .swiper-pagination-bullet {
  width: 13px;
  height: 13px;
  background-color: transparent;
  opacity: 1;
  position: relative;
}

.kameiten-pagination .swiper-pagination-bullet::before {
  content: '';
  width: 5px;
  height: 5px;
  position: absolute;
  left: calc(50% - 2.5px);
  top: calc(50% - 2.5px);
  border-radius: 50%;
  background-color: #fff;
}

.kameiten-pagination .swiper-pagination-bullet-active {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/icon_pagination_w.png) no-repeat center;
  background-size: 100%;
}

.kameiten-pagination .swiper-pagination-bullet-active::before {
  background-color: #fff;
}

.kameiten-feature {
  padding: 120px 0;
  background-color: #fff;
}

.title4_1 h3,
.title4_1 h5 {
  color: inherit;
}

.kameiten-feature-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 45px;
  justify-items: center;
  align-items: center;
}

.kameiten-feature-item {
  border: 1px solid #CD0004;
  padding: 20px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  height: 320px;
}

.kameiten-feature .home-more {
  margin-top: 60px;
}

.kameiten-category {
  background-color: #CD0004;
  padding: 120px 0;
}

.kameiten-category-list {
  margin-top: 45px;
}

.kameiten-category-img {
  height: 200px;
}

.kameiten-category-text {
  background-color: #fff;
  border: 1px solid #fff;
}

.kameiten-category-item:hover .kameiten-category-text::before {
  background-color: #CD0004;
}

.kameiten-category-text p {
  color: #CD0004;
}

.kameiten-category-text::after {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/arrow.svg) no-repeat center;
}

.kameiten-category-item:hover .kameiten-category-text::before {
  background-color: #CD0004;
}

.kameiten-category-item:hover .kameiten-category-text p {
  color: #fff;
}

.kameiten-category-item:hover .kameiten-category-text::after {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/arrow_w.svg) no-repeat center;
}

/***************campaign***************/
.campaign-mv img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.bg-720000 {
  background-color: #720000;
}

.campaign-section {
  padding: 120px 0;
}

.campaign-desc {
  text-align: center;
}

.campaign-desc h2,
.campaign-desc p {
  color: #fff;
}

.campaign-title {
  font-size: 36px;
  line-height: 46px;
  margin-bottom: 35px;
}

.campaign-desc p {
  font-size: 16px;
  line-height: 32px;
}

.campaign-item {
  display: flex;
  margin: 0 -40px;
  position: relative;
}

.campaign-item+.campaign-item {
  margin-top: 60px;
}

.campaign-img {
  width: 580px;
  height: 580px;
  border-radius: 20px;
  overflow: hidden;
}

.campaign-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.campaign-text {
  width: 540px;
  padding: 40px;
  border-radius: 20px;
  overflow: hidden;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}

.campaign-text::before {
  content: '';
  background-color: rgba(0, 0, 0, .2);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.campaign-text h3,
.campaign-text p {
  color: #fff;
}

.campaign-text-title {
  font-size: 28px;
  line-height: 38px;
  margin-bottom: 30px;
}

.campaign-text p {
  font-size: 16px;
  line-height: 32px;
}

.campaign-item02 .campaign-img {
  margin-left: auto;
}

.campaign-item02 .campaign-text {
  left: 0;
  right: auto;
}

.campaign-mt {
  margin-top: 80px;
}

.campaign-title02 {
  text-align: center;
  color: #fff;
}

.campaign-feature-item {
  background-color: #fff;
  display: flex;
  align-items: center;
  padding: 20px;
  border-radius: 20px;
  overflow: hidden;
}

.campaign-feature-item+.campaign-feature-item {
  margin-top: 20px;
}

.campaign-feature-img {
  width: 300px;
}

.campaign-feature-img img {
  width: 100%;
}

.campaign-feature-text {
  flex: 1;
  order: 0;
  margin-left: 45px;
}

.campaign-feature-text h3 {
  color: #720000;
  margin-bottom: 15px;
}

.campaign-feature-text p {
  font-size: 16px;
  line-height: 32px;
}

.campaign-linkbox {
  padding: 80px 0;
  background: transparent;
}

.campaign-linkbox .home-more a {
  border-color: #720000;
}

.campaign-linkbox .home-more span {
  color: #720000;
}

.campaign-linkbox .home-more a span::before {
  background-color: #720000;
}

.campaign-linkbox .home-more a::before {
  background-color: #720000;
}

/* 241031 追記 */
.campaign-btn__wrap {
  margin-top: 4em;
}

.campaign-btn__wrap .campaign-btn a {
  display: inline-block;
  border: 1px solid #9D0000;
  border-radius: 40px;
  background: #fff;
  position: relative;
  color: #9D0000;
  padding: 20px 45px 20px 60px;
}

.campaign-btn__wrap .campaign-btn a img {
  margin-top: 8px;
  margin-left: 20px;
  width: 7px;
  height: auto;
  -webkit-transition: 0.2s ease;
  transition: 0.4s ease;
  color: #9D0000;
}

.campaign-btn__wrap .campaign-btn a:hover {
  border: 1px solid #fff;
  background: #9D0000;
  color: #fff;
  padding: 20px 45px 20px 60px;
}

.campaign-btn__wrap .campaign-btn a:hover img {
  color: #fff;
}

.campaign-btn__wrap .campaign-btn a .on {
  display: none;
}

.campaign-btn__wrap .campaign-btn a:hover .off {
  display: none;
}

.campaign-btn__wrap .campaign-btn a:hover .on {
  margin-left: 20px;
  display: inline-block;
}

.campaign-btn__wrap .campaign-btn a img.on {
  margin-left: 0;
}

.campaign-btn {
  text-align: center;
}

@media only screen and (max-width: 768px) {
  .campaign-btn__wrap .campaign-btn a {
    width: 100%;
    position: relative;
    padding: 15px 20px;
  }

  .campaign-btn__wrap .campaign-btn a:hover {
    padding: 15px 20px;
  }

  .campaign-btn__wrap .campaign-btn a img {
    position: absolute;
    top: 28%;
    right: 30px;
  }
}

.linkbox02 .home-more a {
  width: 400px;
  padding: 11px 20px;
}

.linkbox02 .home-more span {
  justify-content: center;
  padding-left: 0;
}

.linkbox02 .home-more span img {
  position: absolute;
  right: 0;
}

.linkbox02 .home-more a span::before {
  position: relative;
  top: 0;
  left: -10px;
}

.bg-412909 {
  background-color: #412909;
}

.campaign-prod-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 30px 20px;
}

.campaign-prod-item a {
  display: block;
}

.campaign-prod-img {
  height: 320px;
  border-radius: 20px;
  overflow: hidden;
}

.campaign-prod-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.campaign-prod-text {
  margin-top: 20px;
}

.campaign-prod-text p {
  text-align: center;
  color: #fff;
  font-size: 18px;
  line-height: 26px;
}

.campaign-detail .bg-w-boxshow {
  padding: 40px;
}

.campaign-detail-item+.campaign-detail-item {
  margin-top: 50px;
}

.campaign-detail-item h3 {
  color: #412908;
  font-size: 28px;
  line-height: 38px;
  margin-bottom: 20px;
}

.campaign-detail-text p {
  font-size: 16px;
  line-height: 32px;
}

.bg-9D0000 {
  background-color: #9D0000;
}

.campaign-detail02 .campaign-detail-item h3 {
  color: #9D0000;
}

.campaign-terms-item {
  background-color: rgba(0, 0, 0, .2);
  border-radius: 20px;
  padding: 35px 40px 45px;
}

.campaign-terms-item+.campaign-terms-item {
  margin-top: 20px;
}

.campaign-terms-item h3 {
  text-align: center;
  color: #fff;
  font-size: 28px;
  line-height: 38px;
  padding-bottom: 25px;
  margin-bottom: 35px;
  border-bottom: 1px solid rgba(255, 255, 255, .5);
}

.campaign-terms-item p {
  color: #fff;
  font-size: 16px;
  line-height: 32px;
}

.properties-text p {
  font-size: 16px;
  line-height: 32px;
}

.properties-tips {
  margin-top: 25px;
}

.properties-tips p {
  font-size: 14px;
  line-height: 28px;
}

.properties-linkbox {
  margin-top: 55px;
}

.properties-linkbox .home-more {
  margin-top: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.properties-linkbox .home-more a {
  width: 100%;
}

.color_patern_01 {
  background-color: #E2D4C0;
}

.color_patern_02 {
  background-color: #121845;
}

.color_patern_03 {
  background-color: #0D6B9D;
}

.color_patern_04 {
  background-color: #EDBB12;
}

.color_patern_05 {
  background-color: #1A8123;
}

.color_patern_06 {
  background-color: #720000;
}

.color_patern_07 {
  background-color: #9D0000;
}

.color_patern_08 {
  background-color: #412909;
}

.color_patern_09 {
  background-color: #FDFBF7;
}

.color_patern_column {
  background-color: #fff;
}

.bg-white {
  background-color: #fff;
}

/* 250523 追記 コラム用テンプレート */
.campaign-section .container .br-sp {
  display: none;
}

.color_patern_column.campaign-section .container .campaign-desc h2 {
  color: #333;
}

.column-tag-wrap {
  display: flex;
  gap: 8px;
  text-align: center;
  justify-content: flex-end;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.column-tag-wrap li {
  border: 2px solid #cd0004;
  display: inline-block;
  padding: 4px 14px;
  border-radius: 100px;
  color: #cd0004;
}

.color_patern_column.campaign-section .container .campaign-desc .campaign-title {
  display: inline;
  background: linear-gradient(transparent 60%, #f9dede 60%);
  line-height: 1.5;
  font-weight: bold;
  font-size: 36px;
  margin-bottom: 35px;
}

.column-toc-item {
  background-color: #f9dede;
  box-shadow: rgba(0, 0, 0, 0.08) 0px 0px 20px;
  border-radius: 20px;
  padding: 35px 40px 45px;
}

.column-toc-item .toc li a {
  text-decoration: underline;
}

.column-toc-item+.column-toc-item {
  margin-top: 20px;
}

.column-toc-item .toc>li>ul {
  margin-left: 1.25em;
}

.campaign-column-item+.campaign-column-item {
  margin-top: 80px;
}

.campaign-column-item .campaign-terms-image {
  margin: 40px 0;
}

.column-toc-item h3 {
  text-align: center;
  color: #333;
  font-size: 28px;
  line-height: 38px;
  padding-bottom: 25px;
  margin-bottom: 35px;
  border-bottom: 1px solid #cd0004;
}

.campaign-column-item h3 {
  padding: 0.5em;
  color: #333;
  background: #f9dede;
  border-left: solid 5px #CD0004;
  font-weight: bold;
  font-size: 28px;
  margin-bottom: 35px;
  text-align: center;
}

.campaign-column-item h4 {
  padding: 0 0.5em;
  color: #333;
  border-left: solid 5px #CD0004;
  font-weight: bold;
  font-size: 20px;
  margin: 20px 0;
}

.campaign-column-item h5 {
  color: #CD0004;
  margin: 20px 0;
  font-size: 18px;
  font-weight: bold;
}

.column-marker {
  display: inline-block;
  background: linear-gradient(transparent 60%, #f9dede 60%);
}

.button-column a {
  font-size: 18px;
  background: #ff4e03;
  border-radius: 3px;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 600px;
  padding: 10px 25px;
  color: #fff;
  transition: 0.3s ease-in-out;
  font-weight: 500;
  text-align: center;
}

.button-column a::after {
  content: '';
  width: 5px;
  height: 5px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 20px;
  border-radius: 1px;
}

.button-column a:hover {
  background: #313131;
}

@media screen and (max-width: 1080px) {
  .campaign-section .container .br-pc {
    display: none;
  }

  .campaign-section .container .br-sp {
    display: inline-block;
  }

  .color_patern_column.campaign-section .container .campaign-desc .campaign-title {
    font-size: 28px;
  }
}

@media screen and (max-width: 768px) {
  .color_patern_column.campaign-section .container .campaign-desc .campaign-title {
    font-size: 24px;
  }

  .column-toc-item h3 {
    font-size: 20px;
    padding-bottom: 18px;
  }

  .campaign-column-item h3 {
    font-size: 22px;
  }
}

/************policy*******************/
.policy-text p {
  margin-top: 8px;
}

.br-line {
  height: 20px;
  margin: 0;
}

.policy-text .ttl {
  font-size: 1.2em;
  line-height: 1.6;
  margin-bottom: 15px;
  font-weight: 600;
}

.policy-text .txt {
  color: #cd0004;
}

.policy-text .tips-span img {
  position: relative;
  top: 9px;
  display: block;
}

.policy-text a {
  text-decoration: underline;
}

.radiobox.d-flex .radioitem+.radioitem {
  margin-top: 0;
  margin-left: 20px;
}

/*************message*****************/
.mt60 {
  margin-top: 60px;
}

.mt30 {
  margin-top: 30px;
}

.message-desc {
  text-align: center;
}

.message-desc h2 {
  margin-bottom: 50px;
  padding: 16px;
  box-shadow: 10px 10px 0 #cd0004;
  border: 2px solid #cd0004;
  color: #353535;
  font-weight: bold;
  font-size: 26px;
  line-height: 46px;
  text-align: center;
}

.message-desc p {
  font-size: 16px;
  line-height: 30px;
}

.bg-cd0000 {
  background-color: #cd0000;
}

.color-cd0000 {
  color: #cd0000;
}

.fw-b {
  font-weight: 600;
}

.tx-c {
  text-align: center;
}

.chimney_recruit-box,
.chimney_recruit-box>a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.chimney_recruit-img {
  margin-bottom: 30px;
  width: 45%;
  margin-right: 5%;
}

.chimney_recruit-text {
  flex: 1;
  order: 0;
}

.chimney_recruit-box03 .chimney_recruit-img {
  width: 40%;
}

.chimney_recruit-box04 .chimney_recruit-img {
  width: 230px;
}

.chimney_recruit-box04 .chimney_recruit-img img {
  width: 100%;
  border-radius: 200px;
  overflow: hidden;
}

.chimney_recruit-box04 .chimney_recruit-img h4 {
  text-align: center;
  margin-top: 10px;
}

.chimney_recruit-box04 .chimney_recruit-img01 img {
  width: 130px;
  border-radius: 0;
}

.chimney_recruit-text h3 {
  font-size: 26px;
  line-height: 38px;
  text-align: center;
  margin-bottom: 20px;
}

.chimney_recruit-text h4 {
  font-size: 22px;
  line-height: 32px;
  text-align: center;
  margin-bottom: 10px;
}

.chimney_recruit-text p {
  font-size: 16px;
  line-height: 30px;
}

.message-text02 h2 {
  font-size: 28px;
  line-height: 42px;
  text-align: center;
  margin-bottom: 20px;
}

.message-text02 h3 {
  font-size: 20px;
  line-height: 32px;
  text-align: center;
  margin-bottom: 20px;
}

.message-text02 h4 {
  font-size: 18px;
  line-height: 32px;
  text-align: center;
}

.message-text02 p {
  font-size: 16px;
  line-height: 30px;
}

.fw-b {
  font-weight: 600;
}

.color-cd0000 {
  color: #cd0000;
}

.chimney_recruit-qattl h2 {
  font-size: 36px;
  line-height: 50px;
  text-align: center;
  margin-bottom: 20px;
}

.recruit-qa-box {
  background-color: rgb(248, 249, 250);
  padding: 0 15px;
}

.recruit-qa-box02 {
  background-color: transparent;
  padding: 0;
}

.recruit-qa-item {
  padding: 20px 0;
  position: relative;
}

.recruit-qa-item+.recruit-qa-item {
  border-top: 1px solid #ccc;
}

.recruit-qa-item input[type=checkbox] {
  display: none;
}

.cp_plus {
  font-size: 38px;
  line-height: 100%;
  position: absolute;
  z-index: 5;
  margin: 5px 0 0 10px;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}

.recruit-qa-item h3 {
  margin-bottom: 10px;
}

.recruit-qa-item h3 label {
  font-size: 20px;
  line-height: 30px;
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 10px 10px 0 48px;
  cursor: pointer;
}

.recruit-qa-content {
  position: relative;
  overflow: hidden;
  height: 0;
  margin: 0 40px;
  padding: 0 14px;
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
  opacity: 0;
}

.recruit-qa-content p {
  font-size: 14px;
  line-height: 26px;
}

.recruit-qa-item input[type=checkbox]:checked~.recruit-qa-content {
  height: auto;
  padding: 14px;
  opacity: 1;
}

.recruit-qa-item input[type=checkbox]:checked~.cp_plus {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/***********work***************/
.chimney_work_list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  grid-template-rows: auto;
}

.chimney_work_item {
  border: 1px solid rgba(0, 0, 0, .125);
}

.chimney_work_item1 {
  grid-row: 1;
  grid-column: 1/3;
}

.chimney_work_item2 {
  grid-row: 2;
  grid-column: 1;
}

.chimney_work_item3 {
  grid-row: 2;
  grid-column: 2;
}

.chimney_work_item4 {
  grid-row: 3;
  grid-column: 1;
}

.chimney_work_item5 {
  grid-row: 3;
  grid-column: 2;
}

.chimney_work_item6 {
  grid-row: 4;
  grid-column: 1/3;
}

.chimney_work_title {
  background-color: #CD0000;
}

.chimney_work_title h3 {
  color: #fff;
  text-align: center;
  font-size: 20px;
  line-height: 30px;
  padding: 10px;
}

.chimney_work_box {
  padding: 20px;
  display: flex;
  flex-wrap: wrap;
}

.chimney_work_text {
  flex: 1;
  order: 0;
}

.chimney_work_text p {
  font-size: 16px;
  line-height: 30px;
}

.chimney_work_img {
  width: calc(100%/3);
  margin-left: 15px;
}

.chimney_recruit-box+.chimney_recruit-box {
  margin-top: 60px;
}

.chimney_human-list .chimney_recruit-text h3 {
  text-align: left;
}

.chimney_recruit-img02 {
  margin-right: 0;
  margin-left: 5%;
}

.chimney_work_list2 {
  grid-template-columns: 1fr 1fr 1fr;
}

.chimney_work_item2_1 {
  grid-row: 1;
  grid-column: 1;
}

.chimney_work_item2_2 {
  grid-row: 1;
  grid-column: 2;
}

.chimney_work_item2_3 {
  grid-row: 1;
  grid-column: 3;
}

.chimney_work_item2_4 {
  grid-row: 2;
  grid-column: 1;
}

.chimney_work_item2_5 {
  grid-row: 2;
  grid-column: 2;
}

.chimney_work_item2_6 {
  grid-row: 2;
  grid-column: 3;
}

.chimney_work_ul {
  margin-top: 20px;
  background-color: rgb(248, 249, 250);
  padding: 15px;
}

.chimney_work_ul li {
  font-weight: 600;
  font-size: 16px;
  line-height: 30px;
}

.chimney_work_ul li+li {
  margin-top: 8px;
}

.table {
  text-align: center;
}

.table td {
  padding: 20px;
  border: 1px solid rgb(222, 226, 230);
  line-height: 30px;
}

.table td:first-child {
  font-size: 18px;
}

.bg-danger {
  background-color: #CD0000;
  color: #fff;
}

.bg-light {
  background-color: rgba(222, 226, 230, .2);
}

.table-tips {
  margin-top: 15px;
}

.human_imgbg {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/03_mv) no-repeat;
  background-size: cover;
  background-attachment: fixed;
  width: 100%;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  z-index: -1;
}

.human_imgbg~.sub-main {
  background-color: #FDFBF7;
}

.human_mv {
  width: 100%;
  height: 100vh;
  position: relative;
}

.human_mv::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .2);
  left: 0;
  top: 0;
}

.human_mv_text {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.human_mv_text h1 {
  color: #fff;
  font-size: 32px;
  line-height: 46px;
  text-align: center;
}

.svg-icon {
  display: inline-block;
  fill: currentColor;
  width: 1em;
  height: 3px;
  vertical-align: -0.15em;
  overflow: hidden;
  box-shadow: 0 0 8px #000;
  vertical-align: top;
  background: #fff;
}

.human_mv_text h1 .border {
  margin-top: 30px;
  font-size: 45px;
  height: 30px;
}

.human_mv_text h1 .company {
  font-size: 22px;
  font-weight: bold;
}

.tx-l {
  text-align: left !important;
}

.ai-t {
  align-items: flex-start !important;
}

.title3_3 {
  text-align: center;
}

.title3_3 h4::before {
  display: none;
}

.recruit_message_sec01 {
  background-color: #000;
  padding: 120px 0;
}

.recruit_message_sec01box {
  background-color: #fff;
  height: 500px;
  border-radius: 20px;
}

.recruit_message {
  padding: 120px 0 0;
}

.title3_3.title3_3_w h4,
.title3_3.title3_3_w h3,
.message-text02.message-text02_w h4 {
  color: #fff;
}

.recruit_menu {
  margin-top: 120px;
}

.recruit_menu_list01 {
  margin: 0 -1px;
}

.recruit_menu_list01 .scene-item {
  margin: 0 1px;
  width: calc(100%/3 - 2px);
}

.recruit_menu_list01 .scene-item:nth-child(2) {
  margin-top: 50px;
}

.recruit_menu_list01 .scene-item:nth-child(3) {
  margin-top: 100px;
}

.recruit_menu_list02 {
  margin-top: 50px;
}

.recruit_menu_list02 .sustainability-item {
  background-color: #cd0000;
}

.recruit_menu_list02 h4 {
  color: #fff;
}

.recruit_menu_list02 h4::before {
  background-color: #fff;
}

.recruit_menu_list02 .sustainability-item::before {
  background-color: #fff;
}

@media only screen and (min-width: 1111px) {
  .recruit_menu_list02 .sustainability-item:hover h4 {
    color: #cd0000
  }

  .recruit_menu_list02 .sustainability-item:hover h4::before {
    background-color: #cd0000
  }
}

.chimney_recruit-box {
  position: relative;
}

.recruit_message-img {
  width: 55%;
  top: 0;
  left: 0;
  position: absolute;
  border-radius: 20px;
  overflow: hidden;
}

.recruit_message-text {
  background-color: #fff;
  padding: 40px;
  border-radius: 20px 20px 0 0;
  width: calc(44% + 130px);
  position: relative;
  margin-top: 100px;
  margin-left: auto;
}

.human_mv-more {
  margin-top: 0;
}

.pt60 {
  padding-top: 60px;
}

.sub_recruit.sub-main {
  background: rgba(225, 17, 17, 0.7);
  padding: 100px 0;
}

.title3_2_2 h3,
.title3_2_2 h4 {
  color: #fff;
  text-align: center;
}

.chimney_recruit-text_w p {
  color: #fff;
}

.recruit-box-listbox {
  padding-top: 40px;
  margin-top: 20px;
  border-top: solid 1px #fff;
}

.recruit-box-list {
  background-color: #fff;
  padding: 20px 30px;
  display: flex;
}

.recruit-box-ttl,
.recruit-box-msg {
  width: 50%;
}

.recruit-box-ttl h3 {
  font-size: 20px;
  line-height: 30px;
}

.recruit-box-ttl a {
  text-decoration: underline;
}

.recruit-box-msg dl {
  display: flex;
}

.recruit-box-msg dt {
  display: flex;
  align-items: center;
  margin-right: 10px;
}

.recruit-box-msg dt img {
  width: 20px;
  height: 20px;
  display: block;
}

.recruit-box-msg dd {
  font-size: 16px;
  line-height: 30px;
}

.recruit-box-msg dl+dl {
  border-top: solid 1px #777;
  padding-top: 10px;
  margin-top: 10px;
}

.sub-company {
  padding: 100px 0;
}

.recruit-box-list2 {
  align-items: center;
  background-color: transparent;
  padding: 0;
}

.recruit-box-list2 .recruit-box-ttl {
  width: 300px;
}

.recruit-box-list2 .recruit-box-msg {
  width: calc(100% - 300px);
}

.recruit-box-list2 .recruit-box-msg dl+dl {
  border-top: none;
  margin-top: 0;
}

.recruit-box-list2 .recruit-box-msg dt {
  width: 120px;
  font-weight: 600;
}

#access_map {
  width: 100%;
  height: 420px;
}

.radiobox02 .radioitem+.radioitem {
  margin-top: 10px;
}

.qrform .form-dl {
  align-items: center;
}

.qrform dt {
  margin-top: 0;
  width: 440px;
  padding-right: 40px;
}

.qrform dd {
  width: calc(100% - 440px);
}

.checkitem label {
  display: flex;
  align-items: center;
  font-size: 16px;
  line-height: 22px;
}

.checkitem input {
  width: 22px;
  height: 22px;
  margin-right: 10px;
}

.checkitem+.checkitem {
  margin-top: 10px;
}

.m20 {
  margin: 20px 0;
}

/**********human 03**************/
.brand_search_list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px 90px;
}

.brand_search_img {
  text-align: center;
}

.brand_search_text {
  margin-top: 10px;
}

.brand_search_text h4 {
  text-align: center;
  font-weight: 600;
}

#TopFreeWord {
  margin: 0 auto;
  width: 60%;
}

.freeWordObj {
  background-color: #eee;
  border: 1px solid #ccc;
  box-sizing: border-box;
  padding: 10px;
  position: relative;
  width: 100%;
}

.freeWordObj form {
  display: flex;
  align-items: center;
}

.freeWordInput {
  flex: 1;
  order: 0;
}

.freeWordButton {
  width: 90px;
  margin-left: 10px;
  display: flex;
  align-items: center;
}

/******* map *******/
#mapObj div.area {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/map.gif) no-repeat left top;
}

/* 北海道・東北 */
#mapObj div.area ul li.a1 {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_tohoku_line.gif) no-repeat left top;
}

#mapObj div.area ul li.a1-dead {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/map_tohoku_dead.gif) no-repeat left top;
}

#mapObj div.area ul li.a1 p a,
#mapObj div.area ul li.a1-dead p,
#mapObj div.area ul li.a1 ul li,
#mapObj div.area ul li.a1 ul li a {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_tohoku.gif) no-repeat;
}

/* 関東 */
#mapObj div.area ul li.a2 {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_kanto_line.gif) no-repeat left top;
}

#mapObj div.area ul li.a2-dead {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/map_kanto_dead.gif) no-repeat left top;
}

#mapObj div.area ul li.a2 p a,
#mapObj div.area ul li.a2-dead p,
#mapObj div.area ul li.a2 ul li,
#mapObj div.area ul li.a2 ul li a {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_kanto.gif) no-repeat;
}

/* 北信越・北陸 */
#mapObj div.area ul li.a3 {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_hokushinetsu_line.gif) no-repeat left top;
}

#mapObj div.area ul li.a3-dead {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/map_hokushinetsu_dead.gif) no-repeat left top;
}

#mapObj div.area ul li.a3 p a,
#mapObj div.area ul li.a3-dead p,
#mapObj div.area ul li.a3 ul li,
#mapObj div.area ul li.a3 ul li a {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_hokushinetsu.gif) no-repeat;
}

/* 東海 */
#mapObj div.area ul li.a4 {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_tokai_line.gif) no-repeat left top;
}

#mapObj div.area ul li.a4-dead {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/map_tokai_dead.gif) no-repeat left top;
}

#mapObj div.area ul li.a4 p a,
#mapObj div.area ul li.a4-dead p,
#mapObj div.area ul li.a4 ul li,
#mapObj div.area ul li.a4 ul li a {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_tokai.gif) no-repeat;
}

/* 関西 */
#mapObj div.area ul li.a5 {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_kansai_line.gif) no-repeat left top;
}

#mapObj div.area ul li.a5-dead {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/map_kansai_dead.gif) no-repeat left top;
}

#mapObj div.area ul li.a5 p a,
#mapObj div.area ul li.a5-dead p,
#mapObj div.area ul li.a5 ul li,
#mapObj div.area ul li.a5 ul li a {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_kansai.gif) no-repeat;
}

/* 中国・四国 */
#mapObj div.area ul li.a6 {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_chugoku_line.gif) no-repeat left top;
}

#mapObj div.area ul li.a6-dead {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/map_chugoku_dead.gif) no-repeat left top;
}

#mapObj div.area ul li.a6 p a,
#mapObj div.area ul li.a6-dead p,
#mapObj div.area ul li.a6 ul li,
#mapObj div.area ul li.a6 ul li a {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_chugoku.gif) no-repeat;
}

/* 九州・沖縄 */
#mapObj div.area ul li.a7 {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_kyushu_line.gif) no-repeat left top;
}

#mapObj div.area ul li.a7-dead {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/map_kyushu_dead.gif) no-repeat left top;
}

#mapObj div.area ul li.a7 p a,
#mapObj div.area ul li.a7-dead p,
#mapObj div.area ul li.a7 ul li,
#mapObj div.area ul li.a7 ul li a {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_kyushu.gif) no-repeat;
}

#mapObj div.area {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/map.gif) no-repeat left top;
}

/* kCEk */
#mapObj div.area ul li.a1 {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_tohoku_line.gif) no-repeat left top;
}

#mapObj div.area ul li.a1-dead {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/map_tohoku_dead.gif) no-repeat left top;
}

#mapObj div.area ul li.a1 p a,
#mapObj div.area ul li.a1-dead p,
#mapObj div.area ul li.a1 ul li,
#mapObj div.area ul li.a1 ul li a {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_tohoku.gif) no-repeat;
}

/* ・ */
#mapObj div.area ul li.a2 {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_kanto_line.gif) no-repeat left top;
}

#mapObj div.area ul li.a2-dead {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/map_kanto_dead.gif) no-repeat left top;
}

#mapObj div.area ul li.a2 p a,
#mapObj div.area ul li.a2-dead p,
#mapObj div.area ul li.a2 ul li,
#mapObj div.area ul li.a2 ul li a {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_kanto.gif) no-repeat;
}

/* kMzEk */
#mapObj div.area ul li.a3 {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_hokushinetsu_line.gif) no-repeat left top;
}

#mapObj div.area ul li.a3-dead {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/map_hokushinetsu_dead.gif) no-repeat left top;
}

#mapObj div.area ul li.a3 p a,
#mapObj div.area ul li.a3-dead p,
#mapObj div.area ul li.a3 ul li,
#mapObj div.area ul li.a3 ul li a {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_hokushinetsu.gif) no-repeat;
}

/* C */
#mapObj div.area ul li.a4 {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_tokai_line.gif) no-repeat left top;
}

#mapObj div.area ul li.a4-dead {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/map_tokai_dead.gif) no-repeat left top;
}

#mapObj div.area ul li.a4 p a,
#mapObj div.area ul li.a4-dead p,
#mapObj div.area ul li.a4 ul li,
#mapObj div.area ul li.a4 ul li a {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_tokai.gif) no-repeat;
}

/* ・ */
#mapObj div.area ul li.a5 {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_kansai_line.gif) no-repeat left top;
}

#mapObj div.area ul li.a5-dead {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/map_kansai_dead.gif) no-repeat left top;
}

#mapObj div.area ul li.a5 p a,
#mapObj div.area ul li.a5-dead p,
#mapObj div.area ul li.a5 ul li,
#mapObj div.area ul li.a5 ul li a {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_kansai.gif) no-repeat;
}

/* El */
#mapObj div.area ul li.a6 {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_chugoku_line.gif) no-repeat left top;
}

#mapObj div.area ul li.a6-dead {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/map_chugoku_dead.gif) no-repeat left top;
}

#mapObj div.area ul li.a6 p a,
#mapObj div.area ul li.a6-dead p,
#mapObj div.area ul li.a6 ul li,
#mapObj div.area ul li.a6 ul li a {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_chugoku.gif) no-repeat;
}

/* BE */
#mapObj div.area ul li.a7 {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_kyushu_line.gif) no-repeat left top;
}

#mapObj div.area ul li.a7-dead {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/map_kyushu_dead.gif) no-repeat left top;
}

#mapObj div.area ul li.a7 p a,
#mapObj div.area ul li.a7-dead p,
#mapObj div.area ul li.a7 ul li,
#mapObj div.area ul li.a7 ul li a {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/area/nav_kyushu.gif) no-repeat;
}

#mapObj {
  position: relative;
  height: 556px;
  margin-bottom: 34px;
}

#mapObj .area_h3 {
  left: 130px;
  position: absolute;
  top: 28px;
  z-index: 10;
  color: #cd0000;
  font-size: 20px;
  line-height: 30px;
  font-weight: 600;
}

#mapObj p.catch {
  position: absolute;
  left: 130px;
  top: 61px;
  z-index: 10;
}

#mapObj div.area {
  position: absolute;
  left: 0;
  top: 12px;
  width: 524px;
  height: 544px;
  overflow: hidden;
  z-index: 9;
  right: 0;
  margin: auto;
}

#mapObj p.map {
  position: relative;
  z-index: 2;
}

#mapObj div.area ul {
  /*
position: relative;width: 524px;height: 544px;overflow: hidden;*/
}

#mapObj div.area ul li {
  position: absolute;
  z-index: 99;
}

#mapObj div.area ul li p.head {
  position: absolute;
  z-index: 99;
}

#mapObj div.area ul li p.head a {
  height: 15px;
  /*\*/
  /*/
padding-bottom: 15px;/**/
  text-indent: -9999px;
  overflow: hidden;
  display: block;
}

#mapObj div.area ul li.a1-dead,
#mapObj div.area ul li.a2-dead,
#mapObj div.area ul li.a3-dead,
#mapObj div.area ul li.a4-dead,
#mapObj div.area ul li.a5-dead,
#mapObj div.area ul li.a6-dead,
#mapObj div.area ul li.a7-dead {
  z-index: 1;
  left: 0;
  top: 0;
  width: 524px;
  height: 544px;
}

#mapObj div.area ul li.a1-dead *,
#mapObj div.area ul li.a2-dead *,
#mapObj div.area ul li.a3-dead *,
#mapObj div.area ul li.a4-dead *,
#mapObj div.area ul li.a5-dead *,
#mapObj div.area ul li.a6-dead *,
#mapObj div.area ul li.a7-dead *,
#mapObj div.area ul li.a1-dead p.head a,
#mapObj div.area ul li.a2-dead p.head a,
#mapObj div.area ul li.a3-dead p.head a,
#mapObj div.area ul li.a4-dead p.head a,
#mapObj div.area ul li.a5-dead p.head a,
#mapObj div.area ul li.a6-dead p.head a,
#mapObj div.area ul li.a7-dead p.head a {
  display: none;
}

#mapObj div.area ul li ul li {}

#mapObj div.area ul li ul li.k1-dead,
#mapObj div.area ul li ul li.k2-dead,
#mapObj div.area ul li ul li.k3-dead,
#mapObj div.area ul li ul li.k4-dead,
#mapObj div.area ul li ul li.k5-dead,
#mapObj div.area ul li ul li.k6-dead,
#mapObj div.area ul li ul li.k7-dead,
#mapObj div.area ul li ul li.k8-dead,
#mapObj div.area ul li ul li.k9-dead,
#mapObj div.area ul li ul li.k1 a,
#mapObj div.area ul li ul li.k2 a,
#mapObj div.area ul li ul li.k3 a,
#mapObj div.area ul li ul li.k4 a,
#mapObj div.area ul li ul li.k5 a,
#mapObj div.area ul li ul li.k6 a,
#mapObj div.area ul li ul li.k7 a,
#mapObj div.area ul li ul li.k8 a,
#mapObj div.area ul li ul li.k9 a {
  height: 10px;
  /*\*/
  /*/
padding-bottom: 10px;/**/
  text-indent: -9999px;
  overflow: hidden;
  display: block;
}


/* kCEk */
#mapObj div.area ul li.a1 {
  left: 388px;
  top: 95px;
  width: 136px;
  height: 139px;
}

/* o */
#mapObj div.area ul li.a1 p.head {
  left: 44px;
  top: 63px;
  width: 87px;
}

#mapObj div.area ul li.a1-dead p.head {
  left: 388px;
  top: 95px;
  background-position: left -278px;
  width: 136px;
  height: 139px;
  display: block;
}

#mapObj div.area ul li.a1 p.head a {
  background-position: -44px -63px;
}

#mapObj div.area ul li.a1 p.head a:hover {
  background-position: -44px -202px;
}

/* GA1 */
#mapObj div.area ul li.a1 ul li.k1,
#mapObj div.area ul li.a1 ul li.k1-dead {
  left: 44px;
  top: 94px;
  width: 32px;
  background-position: -44px -94px;
}

#mapObj div.area ul li.a1 ul li.k1-dead {
  background-position: -44px -372px;
}

#mapObj div.area ul li.a1 ul li.k1 a {
  background-position: -44px -94px;
}

#mapObj div.area ul li.a1 ul li.k1 a:hover {
  background-position: -44px -233px;
}

/* GA2 */
#mapObj div.area ul li.a1 ul li.k2,
#mapObj div.area ul li.a1 ul li.k2-dead {
  left: 44px;
  top: 111px;
  width: 22px;
  background-position: -44px -111px;
}

#mapObj div.area ul li.a1 ul li.k2-dead {
  background-position: -44px -389px;
}

#mapObj div.area ul li.a1 ul li.k2 a {
  background-position: -44px -111px;
}

#mapObj div.area ul li.a1 ul li.k2 a:hover {
  background-position: -44px -250px;
}

/* GA3 */
#mapObj div.area ul li.a1 ul li.k3,
#mapObj div.area ul li.a1 ul li.k3-dead {
  left: 76px;
  top: 111px;
  width: 22px;
  background-position: -76px -111px;
}

#mapObj div.area ul li.a1 ul li.k3-dead {
  background-position: -76px -389px;
}

#mapObj div.area ul li.a1 ul li.k3 a {
  background-position: -76px -111px;
}

#mapObj div.area ul li.a1 ul li.k3 a:hover {
  background-position: -76px -250px;
}

/* GA4 */
#mapObj div.area ul li.a1 ul li.k4,
#mapObj div.area ul li.a1 ul li.k4-dead {
  left: 108px;
  top: 111px;
  width: 22px;
  background-position: -108px -111px;
}

#mapObj div.area ul li.a1 ul li.k4-dead {
  background-position: -108px -389px;
}

#mapObj div.area ul li.a1 ul li.k4 a {
  background-position: -108px -111px;
}

#mapObj div.area ul li.a1 ul li.k4 a:hover {
  background-position: -108px -250px;
}

/* GA5 */
#mapObj div.area ul li.a1 ul li.k5,
#mapObj div.area ul li.a1 ul li.k5-dead {
  left: 44px;
  top: 128px;
  width: 22px;
  background-position: -44px -128px;
}

#mapObj div.area ul li.a1 ul li.k5-dead {
  background-position: -44px -406px;
}

#mapObj div.area ul li.a1 ul li.k5 a {
  background-position: -44px -128px;
}

#mapObj div.area ul li.a1 ul li.k5 a:hover {
  background-position: -44px -267px;
}

/* GA6 */
#mapObj div.area ul li.a1 ul li.k6,
#mapObj div.area ul li.a1 ul li.k6-dead {
  left: 76px;
  top: 128px;
  width: 22px;
  background-position: -76px -128px;
}

#mapObj div.area ul li.a1 ul li.k6-dead {
  background-position: -76px -406px;
}

#mapObj div.area ul li.a1 ul li.k6 a {
  background-position: -76px -128px;
}

#mapObj div.area ul li.a1 ul li.k6 a:hover {
  background-position: -76px -267px;
}

/* GA7 */
#mapObj div.area ul li.a1 ul li.k7,
#mapObj div.area ul li.a1 ul li.k7-dead {
  left: 108px;
  top: 128px;
  width: 22px;
  background-position: -108px -128px;
}

#mapObj div.area ul li.a1 ul li.k7-dead {
  background-position: -108px -406px;
}

#mapObj div.area ul li.a1 ul li.k7 a {
  background-position: -108px -128px;
}

#mapObj div.area ul li.a1 ul li.k7 a:hover {
  background-position: -108px -267px;
}

/* ・ */
#mapObj div.area ul li.a2 {
  left: 348px;
  top: 321px;
  width: 176px;
  height: 60px;
  z-index: 100;
}

#mapObj div.area ul li.a2-dead {}

#mapObj div.area ul li.a2 p a,
#mapObj div.area ul li.a2-dead p,
#mapObj div.area ul li.a2 ul li,
#mapObj div.area ul li.a2 ul li a {}

/* o */
#mapObj div.area ul li.a2 p.head {
  left: 52px;
  top: 0px;
  width: 34px;
}

#mapObj div.area ul li.a2-dead p.head {
  left: 348px;
  top: 321px;
  background-position: left -120px;
  width: 176px;
  height: 60px;
  display: block;
}

#mapObj div.area ul li.a2 p.head a {
  background-position: -52px 0;
}

#mapObj div.area ul li.a2 p.head a:hover {
  background-position: -52px -60px;
}

/* GA1 */
#mapObj div.area ul li.a2 ul li.k1,
#mapObj div.area ul li.a2 ul li.k1-dead {
  left: 52px;
  top: 32px;
  width: 22px;
  background-position: -52px -32px;
}

#mapObj div.area ul li.a2 ul li.k1-dead {
  background-position: -52px -152px;
}

#mapObj div.area ul li.a2 ul li.k1 a {
  background-position: -52px -32px;
}

#mapObj div.area ul li.a2 ul li.k1 a:hover {
  background-position: -52px -92px;
}

/* GA2 */
#mapObj div.area ul li.a2 ul li.k2,
#mapObj div.area ul li.a2 ul li.k2-dead {
  left: 84px;
  top: 32px;
  width: 32px;
  background-position: -84px -32px;
}

#mapObj div.area ul li.a2 ul li.k2-dead {
  background-position: -84px -152px;
}

#mapObj div.area ul li.a2 ul li.k2 a {
  background-position: -84px -32px;
}

#mapObj div.area ul li.a2 ul li.k2 a:hover {
  background-position: -84px -92px;
}

/* GA3 */
#mapObj div.area ul li.a2 ul li.k3,
#mapObj div.area ul li.a2 ul li.k3-dead {
  left: 127px;
  top: 32px;
  width: 22px;
  background-position: -127px -32px;
}

#mapObj div.area ul li.a2 ul li.k3-dead {
  background-position: -127px -152px;
}

#mapObj div.area ul li.a2 ul li.k3 a {
  background-position: -127px -32px;
}

#mapObj div.area ul li.a2 ul li.k3 a:hover {
  background-position: -127px -92px;
}

/* GA4 */
#mapObj div.area ul li.a2 ul li.k4,
#mapObj div.area ul li.a2 ul li.k4-dead {
  left: 52px;
  top: 49px;
  width: 22px;
  background-position: -52px -49px;
}

#mapObj div.area ul li.a2 ul li.k4-dead {
  background-position: -52px -169px;
}

#mapObj div.area ul li.a2 ul li.k4 a {
  background-position: -52px -49px;
}

#mapObj div.area ul li.a2 ul li.k4 a:hover {
  background-position: -52px -109px;
}

/* GA5 */
#mapObj div.area ul li.a2 ul li.k5,
#mapObj div.area ul li.a2 ul li.k5-dead {
  left: 84px;
  top: 49px;
  width: 22px;
  background-position: -84px -49px;
}

#mapObj div.area ul li.a2 ul li.k5-dead {
  background-position: -84px -169px;
}

#mapObj div.area ul li.a2 ul li.k5 a {
  background-position: -84px -49px;
}

#mapObj div.area ul li.a2 ul li.k5 a:hover {
  background-position: -84px -109px;
}

/* GA6 */
#mapObj div.area ul li.a2 ul li.k6,
#mapObj div.area ul li.a2 ul li.k6-dead {
  left: 117px;
  top: 49px;
  width: 22px;
  background-position: -117px -49px;
}

#mapObj div.area ul li.a2 ul li.k6-dead {
  background-position: -117px -169px;
}

#mapObj div.area ul li.a2 ul li.k6 a {
  background-position: -117px -49px;
}

#mapObj div.area ul li.a2 ul li.k6 a:hover {
  background-position: -117px -109px;
}

/* GA7 */
#mapObj div.area ul li.a2 ul li.k7,
#mapObj div.area ul li.a2 ul li.k7-dead {
  left: 149px;
  top: 49px;
  width: 22px;
  background-position: -149px -49px;
}

#mapObj div.area ul li.a2 ul li.k7-dead {
  background-position: -149px -169px;
}

#mapObj div.area ul li.a2 ul li.k7 a {
  background-position: -149px -49px;
}

#mapObj div.area ul li.a2 ul li.k7 a:hover {
  background-position: -149px -109px;
}

/* kMzEk */
#mapObj div.area ul li.a3 {
  left: 230px;
  top: 182px;
  width: 102px;
  height: 117px;
}

#mapObj div.area ul li.a3-dead {}

#mapObj div.area ul li.a3 p a,
#mapObj div.area ul li.a3-dead p,
#mapObj div.area ul li.a3 ul li,
#mapObj div.area ul li.a3 ul li a {}

/* o */
#mapObj div.area ul li.a3 p.head {
  left: 6px;
  top: 0px;
  width: 84px;
}

#mapObj div.area ul li.a3-dead p.head {
  left: 230px;
  top: 182px;
  background-position: left -234px;
  width: 102px;
  height: 117px;
  display: block;
}

#mapObj div.area ul li.a3 p.head a {
  background-position: -6px 0;
}

#mapObj div.area ul li.a3 p.head a:hover {
  background-position: -6px -117px;
}

/* GA1 */
#mapObj div.area ul li.a3 ul li.k1,
#mapObj div.area ul li.a3 ul li.k1-dead {
  left: 6px;
  top: 32px;
  width: 22px;
  background-position: -6px -32px;
}

#mapObj div.area ul li.a3 ul li.k1-dead {
  background-position: -6px -266px;
}

#mapObj div.area ul li.a3 ul li.k1 a {
  background-position: -6px -32px;
}

#mapObj div.area ul li.a3 ul li.k1 a:hover {
  background-position: -6px -149px;
}

/* GA2 */
#mapObj div.area ul li.a3 ul li.k2,
#mapObj div.area ul li.a3 ul li.k2-dead {
  left: 38px;
  top: 32px;
  width: 22px;
  background-position: -38px -32px;
}

#mapObj div.area ul li.a3 ul li.k2-dead {
  background-position: -38px -266px;
}

#mapObj div.area ul li.a3 ul li.k2 a {
  background-position: -38px -32px;
}

#mapObj div.area ul li.a3 ul li.k2 a:hover {
  background-position: -38px -149px;
}

/* GA3 */
#mapObj div.area ul li.a3 ul li.k3,
#mapObj div.area ul li.a3 ul li.k3-dead {
  left: 70px;
  top: 32px;
  width: 22px;
  background-position: -70px -32px;
}

#mapObj div.area ul li.a3 ul li.k3-dead {
  background-position: -70px -266px;
}

#mapObj div.area ul li.a3 ul li.k3 a {
  background-position: -70px -32px;
}

#mapObj div.area ul li.a3 ul li.k3 a:hover {
  background-position: -70px -149px;
}

/* GA4 */
#mapObj div.area ul li.a3 ul li.k4,
#mapObj div.area ul li.a3 ul li.k4-dead {
  left: 6px;
  top: 49px;
  width: 22px;
  background-position: -6px -49px;
}

#mapObj div.area ul li.a3 ul li.k4-dead {
  background-position: -6px -283px;
}

#mapObj div.area ul li.a3 ul li.k4 a {
  background-position: -6px -49px;
}

#mapObj div.area ul li.a3 ul li.k4 a:hover {
  background-position: -6px -166px;
}

/* GA5 */
#mapObj div.area ul li.a3 ul li.k5,
#mapObj div.area ul li.a3 ul li.k5-dead {
  left: 38px;
  top: 49px;
  width: 22px;
  background-position: -38px -49px;
}

#mapObj div.area ul li.a3 ul li.k5-dead {
  background-position: -38px -283px;
}

#mapObj div.area ul li.a3 ul li.k5 a {
  background-position: -38px -49px;
}

#mapObj div.area ul li.a3 ul li.k5 a:hover {
  background-position: -38px -166px;
}

/* GA6 */
#mapObj div.area ul li.a3 ul li.k6,
#mapObj div.area ul li.a3 ul li.k6-dead {
  left: 70px;
  top: 49px;
  width: 22px;
  background-position: -70px -49px;
}

#mapObj div.area ul li.a3 ul li.k6-dead {
  background-position: -70px -283px;
}

#mapObj div.area ul li.a3 ul li.k6 a {
  background-position: -70px -49px;
}

#mapObj div.area ul li.a3 ul li.k6 a:hover {
  background-position: -70px -166px;
}

/* C */
#mapObj div.area ul li.a4 {
  left: 283px;
  top: 366px;
  width: 133px;
  height: 95px;
}

#mapObj div.area ul li.a4-dead {}

#mapObj div.area ul li.a4 p a,
#mapObj div.area ul li.a4-dead p,
#mapObj div.area ul li.a4 ul li,
#mapObj div.area ul li.a4 ul li a {}

/* o */
#mapObj div.area ul li.a4 p.head {
  left: 9px;
  top: 53px;
  width: 31px;
}

#mapObj div.area ul li.a4-dead p.head {
  left: 283px;
  top: 366px;
  background-position: left -190px;
  width: 133px;
  height: 95px;
  display: block;
}

#mapObj div.area ul li.a4 p.head a {
  background-position: -9px -53px;
}

#mapObj div.area ul li.a4 p.head a:hover {
  background-position: -9px -148px;
}

/* GA1 */
#mapObj div.area ul li.a4 ul li.k1,
#mapObj div.area ul li.a4 ul li.k1-dead {
  left: 9px;
  top: 84px;
  width: 22px;
  background-position: -9px -84px;
}

#mapObj div.area ul li.a4 ul li.k1-dead {
  background-position: -9px -274px;
}

#mapObj div.area ul li.a4 ul li.k1 a {
  background-position: -9px -84px;
}

#mapObj div.area ul li.a4 ul li.k1 a:hover {
  background-position: -9px -179px;
}

/* GA2 */
#mapObj div.area ul li.a4 ul li.k2,
#mapObj div.area ul li.a4 ul li.k2-dead {
  left: 41px;
  top: 84px;
  width: 22px;
  background-position: -41px -84px;
}

#mapObj div.area ul li.a4 ul li.k2-dead {
  background-position: -41px -274px;
}

#mapObj div.area ul li.a4 ul li.k2 a {
  background-position: -41px -84px;
}

#mapObj div.area ul li.a4 ul li.k2 a:hover {
  background-position: -41px -179px;
}

/* GA3 */
#mapObj div.area ul li.a4 ul li.k3,
#mapObj div.area ul li.a4 ul li.k3-dead {
  left: 74px;
  top: 84px;
  width: 22px;
  background-position: -74px -84px;
}

#mapObj div.area ul li.a4 ul li.k3-dead {
  background-position: -74px -274px;
}

#mapObj div.area ul li.a4 ul li.k3 a {
  background-position: -74px -84px;
}

#mapObj div.area ul li.a4 ul li.k3 a:hover {
  background-position: -74px -179px;
}

/* GA4 */
#mapObj div.area ul li.a4 ul li.k4,
#mapObj div.area ul li.a4 ul li.k4-dead {
  left: 106px;
  top: 84px;
  width: 22px;
  background-position: -106px -84px;
}

#mapObj div.area ul li.a4 ul li.k4-dead {
  background-position: -106px -274px;
}

#mapObj div.area ul li.a4 ul li.k4 a {
  background-position: -106px -84px;
}

#mapObj div.area ul li.a4 ul li.k4 a:hover {
  background-position: -106px -179px;
}

/* ・ */
#mapObj div.area ul li.a5 {
  left: 153px;
  top: 256px;
  width: 80px;
  height: 126px;
}

#mapObj div.area ul li.a5-dead {}

#mapObj div.area ul li.a5 p a,
#mapObj div.area ul li.a5-dead p,
#mapObj div.area ul li.a5 ul li,
#mapObj div.area ul li.a5 ul li a {}

/* o */
#mapObj div.area ul li.a5 p.head {
  left: 6px;
  top: 0;
  width: 31px;
}

#mapObj div.area ul li.a5-dead p.head {
  left: 153px;
  top: 256px;
  background-position: left -252px;
  width: 80px;
  height: 126px;
  display: block;
}

#mapObj div.area ul li.a5 p.head a {
  background-position: -6px 0;
}

#mapObj div.area ul li.a5 p.head a:hover {
  background-position: -6px -126px;
}

/* GA1 */
#mapObj div.area ul li.a5 ul li.k1,
#mapObj div.area ul li.a5 ul li.k1-dead {
  left: 6px;
  top: 31px;
  width: 22px;
  background-position: -6px -31px;
}

#mapObj div.area ul li.a5 ul li.k1-dead {
  background-position: -6px -283px;
}

#mapObj div.area ul li.a5 ul li.k1 a {
  background-position: -6px -31px;
}

#mapObj div.area ul li.a5 ul li.k1 a:hover {
  background-position: -6px -157px;
}

/* GA2 */
#mapObj div.area ul li.a5 ul li.k2,
#mapObj div.area ul li.a5 ul li.k2-dead {
  left: 38px;
  top: 31px;
  width: 22px;
  background-position: -38px -31px;
}

#mapObj div.area ul li.a5 ul li.k2-dead {
  background-position: -38px -283px;
}

#mapObj div.area ul li.a5 ul li.k2 a {
  background-position: -38px -31px;
}

#mapObj div.area ul li.a5 ul li.k2 a:hover {
  background-position: -38px -157px;
}

/* GA3 */
#mapObj div.area ul li.a5 ul li.k3,
#mapObj div.area ul li.a5 ul li.k3-dead {
  left: 6px;
  top: 48px;
  width: 22px;
  background-position: -6px -48px;
}

#mapObj div.area ul li.a5 ul li.k3-dead {
  background-position: -6px -300px;
}

#mapObj div.area ul li.a5 ul li.k3 a {
  background-position: -6px -48px;
}

#mapObj div.area ul li.a5 ul li.k3 a:hover {
  background-position: -6px -174px;
}

/* GA4 */
#mapObj div.area ul li.a5 ul li.k4,
#mapObj div.area ul li.a5 ul li.k4-dead {
  left: 38px;
  top: 48px;
  width: 22px;
  background-position: -38px -48px;
}

#mapObj div.area ul li.a5 ul li.k4-dead {
  background-position: -38px -300px;
}

#mapObj div.area ul li.a5 ul li.k4 a {
  background-position: -38px -48px;
}

#mapObj div.area ul li.a5 ul li.k4 a:hover {
  background-position: -38px -174px;
}

/* GA5 */
#mapObj div.area ul li.a5 ul li.k5,
#mapObj div.area ul li.a5 ul li.k5-dead {
  left: 6px;
  top: 65px;
  width: 22px;
  background-position: -6px -65px;
}

#mapObj div.area ul li.a5 ul li.k5-dead {
  background-position: -6px -317px;
}

#mapObj div.area ul li.a5 ul li.k5 a {
  background-position: -6px -65px;
}

#mapObj div.area ul li.a5 ul li.k5 a:hover {
  background-position: -6px -191px;
}

/* GA6 */
#mapObj div.area ul li.a5 ul li.k6,
#mapObj div.area ul li.a5 ul li.k6-dead {
  left: 38px;
  top: 65px;
  width: 32px;
  background-position: -38px -65px;
}

#mapObj div.area ul li.a5 ul li.k6-dead {
  background-position: -38px -317px;
}

#mapObj div.area ul li.a5 ul li.k6 a {
  background-position: -38px -65px;
}

#mapObj div.area ul li.a5 ul li.k6 a:hover {
  background-position: -38px -191px;
}

/* El */
#mapObj div.area ul li.a6 {
  left: 159px;
  top: 386px;
  width: 101px;
  height: 137px;
}

#mapObj div.area ul li.a6-dead {}

#mapObj div.area ul li.a6 p a,
#mapObj div.area ul li.a6-dead p,
#mapObj div.area ul li.a6 ul li,
#mapObj div.area ul li.a6 ul li a {}

/* o */
#mapObj div.area ul li.a6 p.head {
  left: 9px;
  top: 61px;
  width: 70px;
}

#mapObj div.area ul li.a6-dead p.head {
  left: 159px;
  top: 386px;
  background-position: left -274px;
  width: 101px;
  height: 137px;
  display: block;
}

#mapObj div.area ul li.a6 p.head a {
  background-position: -9px -61px;
}

#mapObj div.area ul li.a6 p.head a:hover {
  background-position: -9px -198px;
}

/* GA1 */
#mapObj div.area ul li.a6 ul li.k1,
#mapObj div.area ul li.a6 ul li.k1-dead {
  left: 9px;
  top: 92px;
  width: 22px;
  background-position: -9px -92px;
}

#mapObj div.area ul li.a6 ul li.k1-dead {
  background-position: -9px -366px;
}

#mapObj div.area ul li.a6 ul li.k1 a {
  background-position: -9px -92px;
}

#mapObj div.area ul li.a6 ul li.k1 a:hover {
  background-position: -9px -229px;
}

/* GA2 */
#mapObj div.area ul li.a6 ul li.k2,
#mapObj div.area ul li.a6 ul li.k2-dead {
  left: 41px;
  top: 92px;
  width: 22px;
  background-position: -41px -92px;
}

#mapObj div.area ul li.a6 ul li.k2-dead {
  background-position: -41px -366px;
}

#mapObj div.area ul li.a6 ul li.k2 a {
  background-position: -41px -92px;
}

#mapObj div.area ul li.a6 ul li.k2 a:hover {
  background-position: -41px -229px;
}

/* GA3 */
#mapObj div.area ul li.a6 ul li.k3,
#mapObj div.area ul li.a6 ul li.k3-dead {
  left: 74px;
  top: 92px;
  width: 22px;
  background-position: -74px -92px;
}

#mapObj div.area ul li.a6 ul li.k3-dead {
  background-position: -74px -366px;
}

#mapObj div.area ul li.a6 ul li.k3 a {
  background-position: -74px -92px;
}

#mapObj div.area ul li.a6 ul li.k3 a:hover {
  background-position: -74px -229px;
}

/* GA4 */
#mapObj div.area ul li.a6 ul li.k4,
#mapObj div.area ul li.a6 ul li.k4-dead {
  left: 9px;
  top: 109px;
  width: 22px;
  background-position: -9px -109px;
}

#mapObj div.area ul li.a6 ul li.k4-dead {
  background-position: -9px -383px;
}

#mapObj div.area ul li.a6 ul li.k4 a {
  background-position: -9px -109px;
}

#mapObj div.area ul li.a6 ul li.k4 a:hover {
  background-position: -9px -246px;
}

/* GA5 */
#mapObj div.area ul li.a6 ul li.k5,
#mapObj div.area ul li.a6 ul li.k5-dead {
  left: 41px;
  top: 109px;
  width: 22px;
  background-position: -41px -109px;
}

#mapObj div.area ul li.a6 ul li.k5-dead {
  background-position: -41px -383px;
}

#mapObj div.area ul li.a6 ul li.k5 a {
  background-position: -41px -109px;
}

#mapObj div.area ul li.a6 ul li.k5 a:hover {
  background-position: -41px -246px;
}

/* GA6 */
#mapObj div.area ul li.a6 ul li.k6,
#mapObj div.area ul li.a6 ul li.k6-dead {
  left: 74px;
  top: 109px;
  width: 22px;
  background-position: -74px -109px;
}

#mapObj div.area ul li.a6 ul li.k6-dead {
  background-position: -74px -383px;
}

#mapObj div.area ul li.a6 ul li.k6 a {
  background-position: -74px -109px;
}

#mapObj div.area ul li.a6 ul li.k6 a:hover {
  background-position: -74px -246px;
}

/* GA7 */
#mapObj div.area ul li.a6 ul li.k7,
#mapObj div.area ul li.a6 ul li.k7-dead {
  left: 9px;
  top: 126px;
  width: 22px;
  background-position: -9px -126px;
}

#mapObj div.area ul li.a6 ul li.k7-dead {
  background-position: -9px -400px;
}

#mapObj div.area ul li.a6 ul li.k7 a {
  background-position: -9px -126px;
}

#mapObj div.area ul li.a6 ul li.k7 a:hover {
  background-position: -9px -263px;
}

/* GA8 */
#mapObj div.area ul li.a6 ul li.k8,
#mapObj div.area ul li.a6 ul li.k8-dead {
  left: 41px;
  top: 126px;
  width: 22px;
  background-position: -41px -126px;
}

#mapObj div.area ul li.a6 ul li.k8-dead {
  background-position: -41px -400px;
}

#mapObj div.area ul li.a6 ul li.k8 a {
  background-position: -41px -126px;
}

#mapObj div.area ul li.a6 ul li.k8 a:hover {
  background-position: -41px -263px;
}

/* GA9 */
#mapObj div.area ul li.a6 ul li.k9,
#mapObj div.area ul li.a6 ul li.k9-dead {
  left: 74px;
  top: 126px;
  width: 22px;
  background-position: -74px -126px;
}

#mapObj div.area ul li.a6 ul li.k9-dead {
  background-position: -74px -400px;
}

#mapObj div.area ul li.a6 ul li.k9 a {
  background-position: -74px -126px;
}

#mapObj div.area ul li.a6 ul li.k9 a:hover {
  background-position: -74px -263px;
}

/* BE */
#mapObj div.area ul li.a7 {
  left: 19px;
  top: 306px;
  width: 102px;
  height: 217px;
}

#mapObj div.area ul li.a7-dead {}

#mapObj div.area ul li.a7 p a,
#mapObj div.area ul li.a7-dead p,
#mapObj div.area ul li.a7 ul li,
#mapObj div.area ul li.a7 ul li a {}

/* o */
#mapObj div.area ul li.a7 p.head {
  left: 11px;
  top: 0;
  width: 72px;
}

#mapObj div.area ul li.a7-dead p.head {
  left: 19px;
  top: 306px;
  background-position: left -434px;
  width: 102px;
  height: 217px;
  display: block;
}

#mapObj div.area ul li.a7 p.head a {
  background-position: -11px 0;
}

#mapObj div.area ul li.a7 p.head a:hover {
  background-position: -11px -217px;
}

/* GA1 */
#mapObj div.area ul li.a7 ul li.k1,
#mapObj div.area ul li.a7 ul li.k1-dead {
  left: 10px;
  top: 32px;
  width: 22px;
  background-position: -10px -32px;
}

#mapObj div.area ul li.a7 ul li.k1-dead {
  background-position: -10px -466px;
}

#mapObj div.area ul li.a7 ul li.k1 a {
  background-position: -10px -32px;
}

#mapObj div.area ul li.a7 ul li.k1 a:hover {
  background-position: -10px -249px;
}

/* GA2 */
#mapObj div.area ul li.a7 ul li.k2,
#mapObj div.area ul li.a7 ul li.k2-dead {
  left: 42px;
  top: 32px;
  width: 22px;
  background-position: -42px -32px;
}

#mapObj div.area ul li.a7 ul li.k2-dead {
  background-position: -42px -466px;
}

#mapObj div.area ul li.a7 ul li.k2 a {
  background-position: -42px -32px;
}

#mapObj div.area ul li.a7 ul li.k2 a:hover {
  background-position: -42px -249px;
}

/* GA3 */
#mapObj div.area ul li.a7 ul li.k3,
#mapObj div.area ul li.a7 ul li.k3-dead {
  left: 75px;
  top: 32px;
  width: 22px;
  background-position: -75px -32px;
}

#mapObj div.area ul li.a7 ul li.k3-dead {
  background-position: -75px -466px;
}

#mapObj div.area ul li.a7 ul li.k3 a {
  background-position: -75px -32px;
}

#mapObj div.area ul li.a7 ul li.k3 a:hover {
  background-position: -75px -249px;
}

/* GA4 */
#mapObj div.area ul li.a7 ul li.k4,
#mapObj div.area ul li.a7 ul li.k4-dead {
  left: 10px;
  top: 49px;
  width: 22px;
  background-position: -10px -49px;
}

#mapObj div.area ul li.a7 ul li.k4-dead {
  background-position: -10px -483px;
}

#mapObj div.area ul li.a7 ul li.k4 a {
  background-position: -10px -49px;
}

#mapObj div.area ul li.a7 ul li.k4 a:hover {
  background-position: -10px -266px;
}

/* GA5 */
#mapObj div.area ul li.a7 ul li.k5,
#mapObj div.area ul li.a7 ul li.k5-dead {
  left: 42px;
  top: 49px;
  width: 22px;
  background-position: -42px -49px;
}

#mapObj div.area ul li.a7 ul li.k5-dead {
  background-position: -42px -483px;
}

#mapObj div.area ul li.a7 ul li.k5 a {
  background-position: -42px -49px;
}

#mapObj div.area ul li.a7 ul li.k5 a:hover {
  background-position: -42px -266px;
}

/* GA6 */
#mapObj div.area ul li.a7 ul li.k6,
#mapObj div.area ul li.a7 ul li.k6-dead {
  left: 75px;
  top: 49px;
  width: 22px;
  background-position: -75px -49px;
}

#mapObj div.area ul li.a7 ul li.k6-dead {
  background-position: -75px -483px;
}

#mapObj div.area ul li.a7 ul li.k6 a {
  background-position: -75px -49px;
}

#mapObj div.area ul li.a7 ul li.k6 a:hover {
  background-position: -75px -266px;
}

/* GA7 */
#mapObj div.area ul li.a7 ul li.k7,
#mapObj div.area ul li.a7 ul li.k7-dead {
  left: 10px;
  top: 66px;
  width: 32px;
  background-position: -10px -66px;
}

#mapObj div.area ul li.a7 ul li.k7-dead {
  background-position: -10px -500px;
}

#mapObj div.area ul li.a7 ul li.k7 a {
  background-position: -10px -66px;
}

#mapObj div.area ul li.a7 ul li.k7 a:hover {
  background-position: -10px -283px;
}

/* GA8 */
#mapObj div.area ul li.a7 ul li.k8,
#mapObj div.area ul li.a7 ul li.k8-dead {
  left: 53px;
  top: 66px;
  width: 22px;
  background-position: -53px -66px;
}

#mapObj div.area ul li.a7 ul li.k8-dead {
  background-position: -53px -500px;
}

#mapObj div.area ul li.a7 ul li.k8 a {
  background-position: -53px -66px;
}

#mapObj div.area ul li.a7 ul li.k8 a:hover {
  background-position: -53px -283px;
}

#mapObj div.area ul li .btn_acmap {
  display: none;
}

.sub_linkbox02 {
  width: 620px;
  margin: 55px auto 0;
}

.sub_linkbox02 .home-more a {
  max-width: 300px;
}

.border-box {
  border: 4px solid #cd0000;
  padding: 22px;
}

@media only screen and (min-width: 801px) {
  .campaign-linkbox .home-more a:hover {
    color: #fff;
    border-color: #fff
  }

  .campaign-linkbox .home-more a:hover span {
    color: #fff
  }

  .campaign-linkbox .home-more a:hover span::before {
    background-color: #fff
  }
}

@media only screen and (max-width: 1560px) {
  .gHeader__inner {
    gap: 0 14px
  }

  .gHeader__logo {
    width: 117px
  }

  .gHeader__list01-link {
    padding: 0 10px;
    font-size: 12px
  }

  .gHeader__list02-link {
    min-width: 120px;
    width: auto;
    font-size: 12px
  }
}

@media only screen and (max-width: 1401px) {
  body {
    font-size: 0.875rem
  }

  .message-box {
    padding-bottom: 65px
  }

  .container.-big {
    max-width: 1064px
  }

  .swiper-button-next,
  .swiper-rtl .swiper-button-prev {
    right: 55px
  }

  .swiper-button-prev,
  .swiper-rtl .swiper-button-next {
    right: 128px
  }

  .swiper-button-prev,
  .swiper-rtl .swiper-button-next {
    right: 188px;
  }

  .gFooter-r {
    max-width: 585px;
  }
}

@media only screen and (max-width: 1250px) {

  /**header**/
  .gHeader__logo {
    width: 183px;
  }

  .gHeader__logo a {
    display: block;
    width: inherit;
  }

  .gNav__toggle .gNav__toggle-bar {
    background-color: #CD0004;
  }

  .gNav__toggle .gNav__toggle-label {
    color: #CD0004;
  }

  .gHeader__list01,
  .gHeader__list02,
  .gHeader__language {
    display: none;
  }

  .gNav__toggle {
    display: flex;
  }

  .gHeader__container {
    padding-left: 30px;
    padding-right: 30px;
  }

  .sp-bg-circle {
    width: 167vw;
    height: 167vw;
    position: absolute;
    left: 0;
    top: 0;
    transform: translate(30vw, -145vw);
    border-radius: 50%;
    background: #CD0004;
    opacity: 0;
    visibility: hidden;
    z-index: 3;
  }

  .sp-bg-circle.slideCircle {
    visibility: visible;
    animation: slideCircle 1s ease-in-out;
    animation-fill-mode: forwards;
  }

  .gHeader__inner.-active {
    display: block;
    width: 100%;
    background: #CD0004;
    position: fixed;
    top: 0;
    left: 0;
    height: 78px;
    padding: 78px 30px 0;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    z-index: 5;
    animation: gHeaderH .3s .3s linear;
    animation-fill-mode: forwards;
  }

  @keyframes gHeaderH {
    0% {
      height: 78px;
      padding-bottom: 0;
    }

    100% {
      height: 100vh;
      padding-bottom: 78px;
    }
  }

  .gHeader__inner.-active .gHeader__logo img {
    -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1)
  }

  .gHeader__inner.-active .gHeader__logo {
    position: absolute;
    left: 28px;
    top: 14px;
  }

  .gHeader__inner.-active .gNav__toggle {
    position: absolute;
    right: 30px;
    top: 4px;
  }

  .gHeader__inner.-active .gNav__toggle .gNav__toggle-label {
    color: #fff;
  }

  .gHeader__inner.-active .gNav__toggle .gNav__toggle-bar {
    background-color: #fff;
  }

  .gHeader__inner.-active .gNav__toggle[aria-expanded=false] .gNav__toggle-label.-open {
    display: none;
  }

  .gHeader__inner.-active .gNav__toggle[aria-expanded=false] .gNav__toggle-label.-close {
    display: block;
  }

  .gHeader__inner.-active .gHeader__list01,
  .gHeader__inner.-active .gHeader__list02,
  .gHeader__inner.-active .gHeader__language.sp {
    display: block;
    height: auto;
  }

  .gHeader__inner .gHeader__language:after {
    content: '';
    border-top: 6px solid #333;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 8px;
  }

  .gHeader__list01-link {
    padding: 0 0 0 28px;
    color: #fff;
    font-size: 20px;
    line-height: 28px;
    width: 100%;
    position: relative;
  }

  .gHeader__list01-link:hover {
    color: #fff !important;
  }

  .gHeader__list01-link::before {
    left: 10px;
    top: calc(50% - 2.5px);
    background-color: #fff;
    opacity: 1;
  }

  .gHeader__list01-item.-small {
    display: block;
  }

  .gHeader__list01-item+.gHeader__list01-item {
    margin-top: 23px;
  }

  .gHeader__list02 {
    margin: 45px -20px 40px;
    padding: 0 30px 40px;
    border-bottom: 1px solid #fff;
  }

  .gHeader__list02-item {
    position: relative;
  }

  .gHeader__list02-item::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: #CD0004;
    position: absolute;
    top: calc(50% - 2.5px);
    left: 30px;
    z-index: 1;
  }

  .gHeader__list02-item::after {
    content: "";
    width: 5px;
    height: 10px;
    border-radius: 50%;
    background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/arrow.svg) no-repeat right center;
    background-size: 100%;
    position: absolute;
    top: calc(50% - 5px);
    right: 30px;
    z-index: 1;
  }

  .gHeader__list02-link {
    font-size: 16px;
    line-height: 22px;
    padding: 15px 30px 15px 65px;
    background: #fff;
    color: #cd0004;
  }

  .gHeader__list02-item+.gHeader__list02-item {
    margin-top: 20px;
  }

  .gHeader__listSP {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-transition: opacity .5s, visibility .5s;
    transition: opacity .5s, visibility .5s;
    font-size: 14px;
    margin-right: 10px;
    margin-top: -10px;
  }

  .gHeader__inner.-active .gHeader__listSP {
    display: none;
  }

  .gHeader__listSP-item {
    color: #CD0004;
  }

  .gHeader__listSP-link {
    border: 2px solid #CD0004;
    border-radius: 30px;
    padding: 4px 5px 6px;
    width: 150px;
    justify-content: center;
  }

  .gHeader__listSP-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    color: inherit;
  }

  .gHeader__listSP-link::before {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
    top: -2px;
    right: -2px;
    bottom: -2px;
    left: -2px;
    margin: auto;
    border-radius: 999999px;
    opacity: 0;
    -webkit-transition: opacity .35s cubic-bezier(.23, 1, .58, 1), -webkit-transform .5s cubic-bezier(.23, 1, .58, 1);
    transition: opacity .35s cubic-bezier(.23, 1, .58, 1), -webkit-transform .5s cubic-bezier(.23, 1, .58, 1);
    transition: opacity .35s cubic-bezier(.23, 1, .58, 1), transform .5s cubic-bezier(.23, 1, .58, 1);
    transition: opacity .35s cubic-bezier(.23, 1, .58, 1), transform .5s cubic-bezier(.23, 1, .58, 1), -webkit-transform .5s cubic-bezier(.23, 1, .58, 1);
    -webkit-transform: scale(0);
    transform: scale(0);
    background-color: #CD0004;
    will-change: transform;
  }

  .gHeader__listSP-link::after {
    content: "";
    display: block;
    position: absolute;
    z-index: -2;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    border-radius: 999999px;
    background-color: #fff;
  }

  .gHeader__listSP-link:hover {
    -webkit-transition: background-color .1s .15s cubic-bezier(.23, 1, .58, 1);
    transition: background-color .1s .15s cubic-bezier(.23, 1, .58, 1);
    opacity: 1;
    color: #fff;
  }

  .gHeader__listSP-link:hover::before {
    opacity: 1;
    -webkit-transition: all .3s cubic-bezier(.23, 1, .58, 1);
    transition: all .3s cubic-bezier(.23, 1, .58, 1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  .gHeader__listSP-link:hover::after {
    opacity: 0;
  }

  .gHeader__language {
    width: 160px
  }

  .gHeader__language select {
    height: 40px;
    background-color: #CD0004;
    border-color: #fff;
    text-align: center;
    color: #fff;
    font-size: 14px
  }

  .gHeader__language:after {
    border-top-color: #fff;
  }

  .gHeader__language.sp:after {
    display: none;
  }

  .gHeader__list01,
  .gHeader__list02,
  .gHeader__language.sp {
    opacity: 0;
    visibility: hidden;
  }

  .gHeader__list01.fadeIn,
  .gHeader__list02.fadeIn,
  .gHeader__language.sp.fadeIn {
    visibility: visible;
    animation: fadeIn .5s .4s ease-in-out;
    animation-fill-mode: forwards;
  }

  .gHeaderNav .gHeader__list01-link i {
    width: 28px;
    height: 28px;
    position: absolute;
    right: -6px;
    top: 0;
  }

  .gHeaderNav .gHeader__list01-link i::before,
  .gHeaderNav .gHeader__list01-link i::after {
    content: '';
    width: 15px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  .gHeaderNav .gHeader__list01-link i::after {
    width: 1px;
    height: 15px;
    opacity: 1;
  }

  .gHeaderNav.-active .gHeader__list01-link i::after {
    opacity: 0;
  }

  /* .gHeaderNav.-active .container {
    padding-left: 30px;
    padding-right: 30px;
  } */

  .gHeaderNav.-active .gHeaderNav__outer {
    opacity: 1;
    background: #fff;
    pointer-events: auto;
    visibility: visible;
    position: relative;
    top: 0;
    margin: 20px -30px 0;
    padding: 0;
  }

  .gHeaderNav.-active .gNavBlock__body,
  .gHeaderNav.-active .gNavBlock__title {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  .gHeaderNav.-active .gNavBlock__body {
    display: block;
  }

  .gHeaderNav.-active .gNavBlock__title {
    display: none;
  }

  .gHeaderNav .gNavBlock__group:only-child .gNavBlock__list {
    display: block;
    padding-bottom: 20px;
  }

  .gHeaderNav .gNavBlock__group:only-child .gNavBlock__item {
    width: 100%;
  }

  .gHeaderNav .gNavBlock__group .gNavBlock__link {
    font-size: 16px;
    line-height: 21px;
    padding: 17px 0;
  }

  .gHeaderNav .gNavBlock__group .gNavBlock__icon {
    right: 0;
  }
}

@media only screen and (max-width: 1110px) {

  /**kv**/
  .gm-loading__wave,
  .kv-wave {
    background-size: 150%;
  }

  .kv-text {
    right: auto;
    left: min(7.8vw, 60px);
    top: auto;
    transform: translateY(0);
    bottom: 18vw
  }

  .kv-wave-line img {
    width: 150vw;
    max-width: initial
  }

  .kv-wave-line img:first-child {
    left: -149vw
  }

  .kv-wave-line img:last-child {
    left: 149vw
  }

  /**message-banner**/
  .message-flex {
    flex-wrap: wrap
  }

  .message-title,
  .message-text {
    width: 100%
  }

  .message-text {
    margin-top: 25px
  }

  .message-box .home-more {
    text-align: center
  }

  .message-box {
    padding-bottom: 120px
  }

  .message-banner img {
    height: 57vw;
    object-fit: cover;
    object-position: 60%
  }

  /**menu-banner**/
  .menu-banner {
    flex-wrap: wrap
  }

  .menu-item {
    width: 100%
  }

  .menu-item>a>img {
    width: 100%;
    height: 54vw;
    object-fit: cover;
    object-position: center 7%
  }

  /**menu**/
  .menu-box {
    display: flex;
    align-items: center
  }

  .menu-box h3 {
    font-size: 24px;
    line-height: 32px
  }

  .menu-item-icon {
    width: 40px;
    margin: 0 0 0 40px
  }

  /**information-ir**/
  .information-ir-flex {
    flex-wrap: wrap;
    margin: 0
  }

  .information-box,
  .ir-box {
    width: 100%;
    margin: 0
  }

  .ir-box {
    margin-top: 96px
  }

  /**brand**/
  .brand {
    padding-left: 30px
  }

  /**footer**/
  .gFooter {
    padding: 60px 0 35px
  }

  .gFooter-flex {
    flex-wrap: wrap
  }

  .gFooter-r {
    max-width: none;
  }

  .gFooter-menu {
    margin-top: 35px
  }

  .page-top {
    position: relative;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    display: block;
    margin: 0 auto 50px
  }

  .page-scroll {
    right: 12px
  }

  .page-scroll span {
    color: #CD0004
  }

  .page-scroll i {
    height: 42px
  }

  .company-tabbox {
    width: calc(100% + 60px);
    display: block
  }

  .company-tab {
    width: calc(100% - 60px);
    margin-right: 0
  }

  .company-tab-content {
    width: 100%;
    margin-top: 30px
  }

  .sustainability-item {
    width: calc(100%/1 - 20px)
  }

  .corona-infection-flex {
    display: block
  }

  .corona-infection-flex .home-more {
    margin-top: 30px
  }

  .sub-footer-menu ul {
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-top: -30px
  }

  .sub-footer-menu li {
    min-width: 200px;
    margin-top: 30px
  }

  .search-item .d-flex01 {
    display: block;
    margin: 0
  }

  .w-50 {
    width: 100%;
    margin: 0
  }

  .address-search-link a {
    height: 46px
  }

  .w-50+.w-50 {
    margin-top: 20px
  }

  .search-item .d-flex02 {
    flex-wrap: wrap;
    margin: -10px -5px 0
  }

  .w-25 {
    width: calc(50% - 10px);
    margin: 10px 5px 0
  }

  .search-item+.search-item {
    margin-top: 35px
  }

  .sub-title-bg {
    padding-left: min(7.8vw, 60px);
    padding-right: min(7.8vw, 60px)
  }

  .scene2 {
    display: block
  }

  .scene2 .title3 {
    width: 100%
  }

  .scene2 .bg-w-boxshow {
    width: 100%;
    padding: 60px
  }

  .specs-list {
    padding: 0 60px 0 40px
  }

  .shopDetail_logo {
    left: 30px;
    top: 14px;
    padding: 0;
    margin-right: 0;
    z-index: 10
  }

  .shopDetail_logo img {
    width: auto;
    height: 50px
  }

  .shopDetail_menu li a {
    font-size: 16px
  }

  .pick-up {
    margin-top: 40px
  }

  .pickUp-container {
    margin: 0 max(calc(50% - 500px), 60px)
  }

  .pick-up .swiper-slide img {
    height: calc((100vw - 120px)/1030*392)
  }

  .linkbox .home-more {
    margin: 0 -20px
  }

  .linkbox .home-more a {
    margin: 0 20px;
    max-width: calc(50% - 42px)
  }

  .staff-topmenu {
    padding-bottom: 0
  }

  .staff-l {
    display: none
  }

  .gHeader__inner.-active .gHeader__logo img {
    -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1)
  }

  .sub-title-bg3 {
    margin-top: 0
  }


  .form-dl dt,
  .form-dl dd {
    width: 100%
  }

  .form-dl dt {
    margin-bottom: 10px
  }

  .form-dl dt .form-en {
    width: auto;
    margin-left: 1em;
  }

  .kameiten-mvbox {
    width: calc(100vw - 60px);
    min-height: auto;
  }

  .kameiten-mvbox img {
    min-height: 300px;
    width: 100%
  }

  .kameiten-prev {
    left: -32px
  }

  .kameiten-next {
    right: -32px
  }

  .campaign-prod-list {
    grid-template-columns: 1fr 1fr
  }

  .properties-linkbox .home-more {
    grid-template-columns: 1fr
  }
}

@media only screen and (max-width: 768px) {
  .container {
    padding-left: 30px;
    padding-right: 30px
  }

  .sub-main .container,
  .breadcrumbs .container {
    padding-left: 20px;
    padding-right: 20px
  }

  .gHeader__inner {
    height: 73px;
    gap: 0
  }

  .gWrapper {
    padding-top: 73px
  }

  .gHeader__logo {
    width: 117px
  }

  .gHeader__container {
    padding-left: 20px;
    padding-right: 20px
  }

  /**kv**/
  .kv-text {
    left: 30px
  }

  .kv-text h2 {
    font-size: 30px;
    line-height: 58px;
    margin-bottom: 10px
  }

  .kv-text p {
    font-size: 16px
  }

  .gm-loading__wave,
  .kv-wave {
    background-size: 204%;
    background-position: left top
  }

  .kv-wave-line img {
    width: 204vw;
  }

  .kv-wave-line img:first-child {
    left: -203vw
  }

  .kv-wave-line img:last-child {
    left: 203vw
  }

  /***message***/
  .message {
    padding: 40px 0 0
  }

  .title h3 {
    font-size: 20px;
    line-height: 27px
  }

  .message-title h2 {
    font-size: 28px;
    line-height: 56px
  }

  .message-box {
    padding-bottom: 60px
  }

  .message-banner img {
    height: 106vw;
    max-height: 400px
  }

  /***menu-banner***/
  .menu-banner {
    margin-top: 50px
  }

  .menu-item>a>img {
    height: 49vw;
    object-position: center 10%
  }

  /****information-ir***/
  .information-ir {
    padding: 70px 0
  }

  .title2 h2 {
    font-size: 40px;
    line-height: 54px
  }

  /**brand**/
  .brand-wrap {
    padding: 45px 30px 50px
  }

  .brand-list {
    padding-bottom: 62px
  }

  .brand-item {
    width: 135px
  }

  .swiper-button-prev,
  .swiper-button-next {
    top: auto;
    bottom: 50px
  }

  .swiper-button-prev,
  .swiper-rtl .swiper-button-next {
    left: calc(50% - 62px);
    right: auto
  }

  .swiper-button-next,
  .swiper-rtl .swiper-button-prev {
    right: calc(50% - 62px)
  }

  /**footer**/
  .gFooter {
    padding: 40px 0 20px
  }

  .gFooter-menu {
    flex-wrap: wrap;
    margin: 5px 0 0;
    gap: 0;
  }

  .gFooter-menu a {
    width: 50%;
    margin: 25px 0 0
  }

  .gFooter-menu a+a {
    margin-left: 0
  }

  .gHeader__inner.-active {
    height: 73px;
    padding: 73px 20px 0
  }

  @keyframes gHeaderH {
    0% {
      height: 73px;
      padding-bottom: 0;
    }

    100% {
      height: 100vh;
      padding-bottom: 73px;
    }
  }

  .gHeader__inner.-active .gHeader__logo {
    left: 20px;
    top: 20px
  }

  .gHeader__inner.-active .gNav__toggle {
    right: 20px;
    top: 10px
  }

  .sub-main {
    padding-bottom: 60px
  }

  .sub-title-bg {
    margin: 50px 20px 50px 0;
    padding: 45px 40px
  }

  .sub-title-bg2 {
    padding: 25px 30px 25px 20px
  }

  .sub-slide {
    display: none
  }

  .sub-content {
    padding-left: 0
  }

  .title3 {
    margin-bottom: 30px
  }

  .title3 h4 {
    font-size: 20px;
    line-height: 28px
  }

  .title3 h3 {
    font-size: 28px;
    line-height: 38px
  }

  .company-message-img {
    height: 103vw;
    border-radius: 20px;
    overflow: hidden
  }

  .company-message-img img {
    height: 100%;
    object-fit: cover
  }

  .company-message-text {
    width: 100%;
    margin-right: -20px
  }

  .sub-item+.sub-item {
    margin-top: 60px
  }

  #subAbout {
    margin-top: 30px
  }

  .company-tabbox {
    width: calc(100% + 20px)
  }

  .company-tab {
    width: calc(100% - 20px)
  }

  .company-sustainability {
    margin: -20px 0 0
  }

  .sustainability-item {
    width: 100%;
    margin: 20px 0 0
  }

  .corona-infection {
    padding: 35px 30px
  }

  .bg-w-boxshow {
    padding: 40px 20px
  }

  .search-result {
    padding: 35px 0;
  }

  .search-result-title h3 {
    font-size: 28px;
    line-height: 38px
  }

  .search-result-item {
    width: calc(100% - 20px);
    margin: 20px 10px 0;
    border: 1px solid #C3C3C3;
    padding: 20px;
    border-radius: 20px
  }

  .pagenav li.pagenav-btn a {
    width: 40px;
    height: 40px
  }

  .pagenav li {
    width: 40px
  }

  .sub-search-box {
    margin-bottom: 60px
  }

  .sub-search-box .bg-w-boxshow {
    margin-bottom: 60px
  }

  .store-list {
    margin: -10px -5px 0;
    height: 360px;
    overflow-y: hidden
  }

  .store-item {
    width: calc(50% - 10px);
    height: 110px;
    margin: 10px 5px 0;
    padding: 15px
  }

  .store-more-btn {
    text-align: center;
    margin-top: 20px
  }

  .store-more-btn span {
    display: inline-block;
    width: 42px;
    height: 42px;
    background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/accordion_r.svg) no-repeat;
    background-size: cover
  }

  .store-box.active .store-list {
    height: auto
  }

  .store-box.active .store-more-btn span {
    background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/accordion_r2.svg) no-repeat;
    background-size: cover
  }

  .store-more-btn-restaurant {
    text-align: center;
    margin-top: 20px
  }

  .store-more-btn-restaurant span {
    display: inline-block;
    width: 209px;
    height: 48px;
    background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/open.png) no-repeat;
    background-size: cover
  }

  .store-box.active .store-more-btn-restaurant span {
    background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/chimney_recruit/clause.png) no-repeat;
    background-size: cover
  }

  .scene-item {
    width: calc(100% - 20px)
  }

  .sence-img {
    height: 150px
  }

  .sence-img img {
    object-position: center top
  }

  .obsession-box .sence-img {
    height: 335px
  }

  .sub-footer-menu {
    overflow: hidden
  }

  .sub-footer-menu li {
    width: 100%;
    margin-top: 0
  }

  .sub-footer-menu ul dl {
    height: 60px;
    overflow: hidden;
    -webkit-transition: all .3s cubic-bezier(.23, 1, .58, 1);
    transition: all .3s cubic-bezier(.23, 1, .58, 1);
    width: 100vw;
    margin-left: -30px;
    padding-left: 0;
    background-color: #fff;
    padding-bottom: 20px
  }

  .sub-footer-menu ul dl a {
    display: block
  }

  .sub-footer-menu ul dl.active {
    height: auto
  }

  .sub-footer-menu ul dt {
    background: #151515 url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/accordion.svg) no-repeat calc(100% - 30px) center;
    background-size: 15px;
    -webkit-transition: all .3s cubic-bezier(.23, 1, .58, 1);
    transition: all .3s cubic-bezier(.23, 1, .58, 1);
    padding: 0 30px 0 40px;
    margin-bottom: 0
  }

  .sub-footer-menu ul dt a {
    font-size: 20px;
    line-height: 30px;
    padding: 15px 0
  }

  .sub-footer-menu ul dt::before {
    left: 30px
  }

  .sub-footer-menu dl.active dt {
    background-image: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/accordion2.svg)
  }

  .sub-footer-menu ul dd {
    background-color: #fff;
    padding: 0 30px 0 40px
  }

  .sub-footer-menu ul dd a {
    color: #333333;
    border-bottom: 1px solid #C3C3C3;
    padding: 15px 0;
    font-size: 16px;
    line-height: 26px;
    background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/arrow.svg) no-repeat right center;
    background-size: 5px
  }

  .info-select {
    margin: 0 auto 20px;
    max-width: 295px
  }


  /**********brand*************/
  .brand-mvwrap .page-scroll span {
    color: #CD0004
  }

  .brand-mvbox {
    margin-right: 0
  }

  .swiper-pagination.brandMv-swiper-pagination {
    bottom: 20px;
    top: auto;
    right: auto;
    left: 0;
    width: 100%;
    height: 20px;
    display: flex;
    justify-content: center
  }

  .brandMv-swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
    display: block;
    margin: 0 10px
  }

  .sub-bg::before {
    height: calc(50% + 50px);
    top: -50px
  }

  .brandinfo-list {
    grid-template-columns: 1fr;
    gap: 0
  }

  .brandinfo-item+.brandinfo-item {
    margin-top: 35px
  }

  .brandinfo-img img {
    width: 100%
  }

  .brand-information,
  .brand-menu,
  .newOpen-renewal {
    margin-top: 80px
  }

  .brand-concept-item {
    display: block;
    gap: 20px;
    align-items: center;
    margin-bottom: 20px;
  }

  .brand-concept-text {
    margin-top: 20px;
  }

  .brand-menu-title h3 {
    font-weight: 500;
  }

  .store-search {
    margin-top: 80px;
    padding: 40px 0
  }

  .sub-main {
    overflow: hidden
  }

  .store-brand {
    margin-top: 0;
    padding-top: 40px;
    padding-bottom: 20px
  }

  .shopDetail_logo {
    left: 20px;
    top: 60px;
  }

  .shopDetail__container {
    padding-left: 20px;
    padding-right: 20px
  }

  .pick-up {
    padding-bottom: 112px
  }

  .pickUp-container {
    margin: 0 20px
  }

  .pick-up .swiper-slide img {
    height: calc((100vw - 40px))
  }

  .pick-up .shopDetail-prev,
  .pick-up .shopDetail-next {
    top: auto;
    bottom: 30px;
    z-index: 4
  }

  .shopDetail-pagination {
    top: auto;
    bottom: 40px;
    left: 50%;
    margin-left: -26px;
    z-index: 4
  }

  .pick-up .shopDetail-prev {
    left: calc(50% - 99px);
    right: auto
  }

  .pick-up .shopDetail-next {
    right: calc(50% - 99px)
  }

  .pick-up::before {
    width: calc(100% - 10px);
    height: calc(100% - 175px);
    top: 175px;
    left: 10px
  }

  .shopDetail-r .gHeader__list02 {
    opacity: 1;
    visibility: visible;
    display: flex;
    justify-content: space-between;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 5;
    background: #fff;
    width: 100%;
    padding: 15px 20px;
    margin: 0;
  }

  .shopDetail-r .gHeader__list02-item {
    width: calc(50% - 10px)
  }

  .shopDetail-r .gHeader__list02-item+.gHeader__list02-item {
    margin-top: 0
  }

  .shopDetail-r .gHeader__list02-link {
    font-size: 14px;
    line-height: 22px;
    padding: 10px;
    justify-content: center;
    color: #fff
  }

  .shopDetail-r .gHeader__list02_2-link {
    background-color: #CD0004
  }

  .shopDetail-r .gHeader__list02_2-link_2 {
    background-color: #06C755
  }

  .shopDetail-r .gHeader__list02-item::before,
  .shopDetail-r .gHeader__list02-item::after {
    display: none
  }

  .linkbox {
    padding: 30px 0
  }

  .linkbox .home-more {
    margin: 0
  }

  .linkbox .home-more a {
    width: 100%;
    max-width: inherit;
    padding: 15px 20px;
    margin: 0
  }

  .linkbox .home-more a+a {
    margin-top: 20px
  }

  .linkbox .home-more a span {
    justify-content: center;
    padding-left: 0
  }

  .linkbox .home-more a span::before {
    position: relative;
    top: 0;
    margin-right: 15px
  }

  .linkbox .home-more a img {
    position: absolute;
    right: 0
  }

  .feature-list {
    flex-wrap: wrap;
    margin: -18px -18px 0;
    justify-content: flex-start
  }

  .shopDetail-feature .bg-w-boxshow {
    padding: 25px 18px
  }

  .shopDetail-feature {
    margin-top: 60px
  }

  .feature-item {
    width: 120px;
    margin: 18px 18px 0
  }

  .feature-img {
    width: 90px
  }

  .feature-text p {
    font-size: 10px;
    line-height: 15px
  }

  .shopDetail-table {
    margin-top: 10px
  }

  .shopDetail-table table,
  .shopDetail-table tbody,
  .shopDetail-table tr,
  .shopDetail-table th,
  .shopDetail-table td {
    display: block;
    width: 100%
  }

  .shopDetail-table th,
  .shopDetail-table td {
    font-size: 16px;
    line-height: 32px
  }

  .shopDetail-table th {
    padding: 20px 0 5px
  }

  .shopDetail-table td {
    padding: 0 0 20px
  }

  .shopDetail-map {
    margin-top: 25px
  }

  .shopDetail-map iframe {
    width: 100vw;
    margin-left: -20px;
    height: 320px
  }

  .shopDetail-scenelist {
    margin: 0;
    flex-wrap: wrap
  }

  .shopDetail-sceneitem {
    width: 100%;
    margin: 0;
    height: calc((100vw - 40px)/335*220)
  }

  .shopDetail-sceneitem+.shopDetail-sceneitem {
    margin-top: 20px
  }

  .scene2 {
    margin-left: 20px
  }

  .scene2 .bg-w-boxshow {
    padding: 30px 0 30px 10px
  }

  .specs-list {
    padding: 0 20px 0 30px
  }

  .specs-item::before {
    left: -24.5px
  }

  .specs-item::after {
    left: -20px
  }

  .ins-list {
    grid-template-columns: 1fr 1fr;
    gap: 10px
  }

  .share-item+.share-item {
    margin-top: 50px
  }

  .share-title {
    margin-bottom: 20px
  }

  .share-title img {
    height: 30px
  }

  .shopDetail-share {
    margin-bottom: 60px
  }

  .breadcrumbs ul li:not(:first-child) {
    padding-left: 19px
  }

  .breadcrumbs ul li:not(:first-child)::before {
    left: 7px
  }

  .breadcrumbs ul {
    flex-wrap: wrap
  }

  .sub-main2 {
    padding-bottom: 0
  }

  .sub-title-bg3 {
    padding: 30px
  }

  .sub-desc p {
    line-height: 30px
  }

  .staff-topmenu .shopDetail-r .gHeader__list02 {
    display: none
  }

  .staff-list {
    margin-top: 60px
  }

  .staff-item {
    flex-wrap: wrap
  }

  .staff-img {
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px
  }

  .staff-content {
    width: 100%
  }

  .title3_1 {
    margin-bottom: 15px
  }

  .title3_1 h4 {
    font-size: 14px;
    margin-bottom: 0
  }

  .title3_1 h3 {
    font-size: 22px;
    line-height: 32px
  }

  .staff-item+.staff-item {
    margin-top: 50px
  }

  .staff-motto {
    font-size: 22px;
    line-height: 32px
  }

  .staff-link .home-more {
    grid-template-columns: 1fr
  }

  .staff-link .home-more a {
    width: 210px;
    margin: 0 auto
  }

  .title4 h3 {
    font-size: 28px;
    line-height: 38px
  }

  .title4 h5 {
    font-size: 16px;
    margin-top: 10px
  }

  .staff-banner-link {
    margin-top: 40px
  }

  .staff-banner-link .home-more {
    grid-template-columns: 1fr
  }

  .staff-banner-link .home-more a span {
    font-size: 16px;
    line-height: 20px
  }

  .staff-banner-link .home-more a {
    padding: 16px
  }

  .staff_top_content {
    margin-top: 60px
  }

  .staff_top_text h3 {
    font-size: 28px;
    line-height: 36px
  }

  .staff_top_movie {
    margin-top: 40px
  }

  .other-people {
    padding: 60px 0;
    margin-top: 60px
  }

  .staff_detail_list .staff-img {
    margin-bottom: 0
  }

  .staff_detail_list .staff-item>*:first-child {
    margin-right: 0;
    margin-bottom: 20px
  }

  .staff_detail_list .staff-item+.staff-item {
    padding-top: 50px
  }

  .title5 h3 {
    font-size: 28px;
    line-height: 36px
  }

  .other-people-list {
    grid-template-columns: 1fr;
    gap: 30px
  }

  .other-people-text {
    margin: 15px 0 10px
  }

  .other-people-text p {
    font-size: 16px
  }

  .title3_2 {
    margin-bottom: 25px
  }

  .title3_2 h3 {
    font-size: 22px;
    line-height: 36px
  }

  .contact-form {
    margin-top: 45px
  }

  .attend {
    padding: 20px
  }

  .attend-box {
    margin-right: -10px;
    padding-right: 10px
  }

  .attend h3 {
    padding-bottom: 15px;
    margin-bottom: 15px;
    font-size: 18px;
    line-height: 30px
  }

  .attend p {
    font-size: 14px;
    line-height: 28px
  }

  .form-dl+.form-dl {
    margin-top: 20px
  }

  .form-dl dd .ipt-ttl {
    font-size: 14px;
    line-height: 24px
  }

  /***********opening-schedule***************/
  .title6 {
    margin-bottom: 20px;
    padding-bottom: 15px
  }

  .title6 h3 {
    font-size: 18px;
    line-height: 30px
  }

  .opening-schedule-text p {
    font-size: 14px;
    line-height: 26px
  }

  .opening-schedule-box {
    flex-wrap: wrap
  }

  .opening-schedule-img {
    width: 100%;
    margin-left: 0;
    margin-top: 20px
  }

  .kameiten-prev,
  .kameiten-next {
    top: calc(50% - 26px);
    bottom: auto
  }

  .kameiten-prev {
    left: -22px
  }

  .kameiten-next {
    right: -22px
  }

  .kameiten-feature {
    padding: 60px 0
  }

  .kameiten-feature-list {
    grid-template-columns: 1fr;
    margin-top: 25px
  }

  .kameiten-category {
    padding: 60px 0
  }

  .kameiten-category-list {
    margin-top: 25px
  }

  /******************campaign******************/
  .campaign-section {
    padding: 60px 0
  }

  .campaign-title {
    font-size: 24px;
    line-height: 34px;
    margin-bottom: 20px
  }

  .campaign-mt {
    margin-top: 60px
  }

  .campaign-item {
    margin: 0;
    display: block
  }

  .campaign-img {
    width: 100%;
    height: calc(100vw - 40px)
  }

  .campaign-text {
    width: 100%;
    padding: 20px;
    position: relative;
    top: 0;
    transform: translateY(0);
    right: 0;
    margin-top: 20px
  }

  .campaign-text-title {
    font-size: 18px;
    line-height: 30px;
    margin-bottom: 20px
  }

  .campaign-desc p,
  .campaign-text p,
  .campaign-feature-text p,
  .campaign-detail-text p,
  .campaign-terms-item p,
  .message-text02 p,
  .chimney_recruit-text p,
  .recruit-box-msg dd {
    font-size: 14px;
    line-height: 26px;
    text-align: left;
  }

  .campaign-detail-text p {
    color: #333;
  }

  .campaign-item+.campaign-item {
    margin-top: 40px
  }

  .campaign-feature-item {
    flex-wrap: wrap
  }

  .campaign-feature-img {
    width: 100%;
    margin-bottom: 20px
  }

  .campaign-feature-text {
    margin-left: 0
  }

  .campaign-feature-text h3 {
    margin-bottom: 8px
  }

  .campaign-prod-list {
    grid-template-columns: 1fr;
    gap: 20px
  }

  .campaign-prod-img {
    height: calc(100vw - 40px)
  }

  .campaign-prod-text {
    margin-top: 10px
  }

  .campaign-detail .bg-w-boxshow {
    padding: 20px
  }

  .campaign-detail-item h3 {
    font-size: 20px;
    line-height: 30px;
    margin-bottom: 10px
  }

  .campaign-detail-item+.campaign-detail-item {
    margin-top: 30px
  }

  .campaign-terms-item {
    padding: 20px
  }

  .campaign-terms-item h3 {
    font-size: 20px;
    line-height: 30px;
    margin-bottom: 20px;
    padding-bottom: 10px
  }

  /********human_02********/
  .mt60 {
    margin-top: 40px;
  }

  .human_mv_text {
    width: 80%;
  }

  .linkbox02 .home-more a {
    width: 100%;
  }

  .message-text02 h3,
  .chimney_recruit-text h3 {
    font-size: 18px;
    line-height: 30px;
  }

  .chimney_recruit-box {
    flex-wrap: wrap;
  }

  .chimney_recruit-box03 .chimney_recruit-img,
  .chimney_recruit-box04 .chimney_recruit-img,
  .chimney_recruit-box05 .chimney_recruit-img {
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
  }

  .chimney_recruit-text h3 {
    margin-bottom: 10px;
  }

  .sub_recruit.sub-main {
    padding: 60px 0;
  }

  .recruit-box-list {
    flex-wrap: wrap;
  }

  .recruit-box-ttl,
  .recruit-box-msg,
  .recruit-box-list2 .recruit-box-msg {
    width: 100%;
  }

  .recruit-box-ttl {
    margin-bottom: 10px;
  }

  .recruit-box-list2 .recruit-box-msg dt {
    width: 90px;
  }

  .recruit-box-list2 .recruit-box-msg dd {
    width: calc(100% - 90px);
  }

  #access_map {
    height: 65vw;
  }

  /********human_03********/
  .brand_search_list {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  #mapObj {
    overflow-x: auto;
  }

  #TopFreeWord {
    width: 100%;
  }

  .freeWordObj form {
    flex-wrap: wrap;
  }

  .freeWordButton {
    width: 100%;
    margin: 10px 0 0;
    justify-content: center;
  }

  .freeWordButton input {
    width: 65px;
  }

  #mapObj .area_h3,
  #mapObj p.catch {
    left: 0;
  }
}


/*　240903 追加*/

img.alignright {
  display: block;
  margin: 0 0 0 auto;
}

img.alignleft {
  display: block;
  margin: 0 auto 0 0;
}

img.aligncenter {
  display: block;
  margin: 0 auto;
}

/*　240920 追加*/
.campaign-prod.campaign-mt,
.campaign-detail-item {
  display: block !important;
}

.campaign-prod.campaign-mt,
.campaign-detail-item h3 {
  display: none;
}

/*　240927 追加*/
/* @media only screen and (max-width: 1110px) {
  .gHeader__inner.-active {
    overflow: scroll;
  }
} */

.sub-item-column {
  margin-top: 120px;
}

.pagination-kodawari {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  margin-top: 40px;
}

.pagination-kodawari span.current {
  font-size: 24px;
  color: #CD0004;
}

.pagination-kodawari a {
  font-size: 24px;
  color: #C3C3C3;
}

.pagination-kodawari li.pagination-kodawari-prev a,
li.pagination-kodawari-next a {
  width: 52px;
  height: 52px;
  display: block;
  text-align: center;
  padding-bottom: 0;
  background: #fff;
  border-radius: 50%;
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/arrow_en_r.svg) no-repeat center;
  background-size: 100%;
  -webkit-transition: all .3s cubic-bezier(.23, 1, .58, 1);
  transition: all .3s cubic-bezier(.23, 1, .58, 1);
}

.pagination-kodawari li.pagination-kodawari-prev a {
  transform: scaleX(-1);
}

.pagination-kodawari li.pagination-kodawari-prev a:hover,
li.pagination-kodawari-next a:hover {
  background: url(/prd/wordpress/wp-content/themes/chimney/assets/img/common/arrow_en_r2.svg) no-repeat center;
  background-size: 100%;
}

@media only screen and (max-width: 768px) {
  .scene-item-column {
    width: calc(100%/2 - 20px);
  }
}

/* インバウンドLP */

#inbound {
  overflow: hidden;
}

.relative {
  position: relative;
}

.lp-mv-bg {
  background-color: #fff;
  position: relative;
}

.inbound-swiper {
  background: #000;
  width: 100%;
  height: 500px;
  overflow: hidden;
}

.inbound-swiper .swiper-wrapper {
  width: 100%;
  height: 100%;
}

.inbound-swiper .swiper-slide {
  width: 100%;
  height: 100%;
  position: relative;
}

.inbound-swiper .swiper-slide picture {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.2);
  transition: transform 15s ease;
}

.inbound-swiper .swiper-slide-active picture {
  transform: scale(1);
}

/*
	MV動画
	=======================================================================
*/
.mv-movie {
  position: relative;
  height: 92vh;
  overflow: hidden;
  text-align: center;
  color: #fff;
}

.mv-movie #youtubeMV {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 168vh;
  height: 75vw;
  min-height: 100%;
  min-width: 100%;
  z-index: 1;
}

.mv-movie #youtube-mask {
  position: absolute;
  z-index: 2;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
}

.mv-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1064px;
  max-width: 100%;
  padding-left: 32px;
  padding-right: 32px;
  z-index: 10;
  text-align: left;
  pointer-events: none;
}

.mv-item {
  color: #fff;
}

.mv-item h2 {
  font-size: 40px;
  font-weight: bold;
  text-shadow: 0 0 15px #666;
}

.mv-item p {
  font-size: 16px;
  line-height: 2;
  margin-top: 60px;
  font-weight: bold;
  text-shadow: 0 0 15px #666;
}

.sub-slide-box .mv-container .mv-item p {
  margin-top: 20px;
}

.sub-cv-box {
  background-color: #fff;
  padding: 58px 0;
}

.cv-box-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}

.cv-box-container a:hover {
  color: #fff;
}

.cv-item {
  display: block;
  background-color: #BE000E;
  color: #fff;
  border-radius: 5px;
  padding: 20px 22px;
  width: 390px;
  max-width: 100%;
  text-align: center;
}

.cv-item>span {
  display: inline-block;
  margin-top: 20px;
  text-align: center;
  font-weight: bold;
}

.cv-item-inner {
  padding-bottom: 20px;
  border-bottom: 1px solid #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.cv-item-inner>span {
  font-size: 24px;
  font-weight: bold;
}

.cv-item-inner>img {
  width: 28px;
  height: auto;
}

.cv-box-container>a:nth-child(2)>.cv-item-inner>img {
  width: 20px;
}

.sub-bg-red {
  background-color: #D70000;
  padding: 58px 0;
}

.sub-point-box {
  color: #fff;
}

.point-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.point-title>h3 {
  font-size: 30px;
  font-weight: bold;
  text-align: center;
}

.point-list {
  display: flex;
  gap: 3%;
  margin: 90px 0 58px;
}

.point-item {
  text-align: center;
}

.point-item-title {
  position: relative;
}

.point-item-title>img {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}

.point-item-title>h4 {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #BE000E;
  font-size: 30px;
  font-weight: bold;
  width: 100%;
}

.point-item>h5 {
  font-size: 22px;
  font-weight: bold;
  line-height: 1.5;
  padding: 24px 30px;
}

.bg-curve-top {
  position: relative;
  top: 80px;
  left: 0;
  width: 100%;
  height: 323px;
  margin-top: -200px;
}

.bg-curve-top img {
  width: 100%;
  height: 100%;
  position: absolute;
}

.bk-pattern-asanoha {
  position: absolute;
  top: -157%;
  right: 0;
  width: 664px !important;
  height: auto !important;
  transform: translateX(50%);
}

.bg-curve-top .container {
  position: absolute;
  top: 60%;
  left: 50%;
  width: 100%;
  height: auto;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.icon-left {
  position: absolute;
  content: "";
  top: -14%;
  left: 6%;
  transform: translate(0, -50%);
  width: 160px;
}

.icon-left img {
  width: 100%;
  height: auto;
  aspect-ratio: 200 / 213;
}

.icon-right {
  position: absolute;
  content: "";
  top: -45%;
  right: 6%;
  transform: translate(0, -50%);
  width: 160px;
  height: auto;
}

.icon-right img {
  width: 100%;
  height: auto;
  aspect-ratio: 220 / 217;
}

.concept-inner {
  max-width: 470px;
  width: 100%;
  margin: 0 auto 24px;
  color: #fff;
  text-align: center;
}

.concept-title {
  text-align: center;
  margin-top: -40px;
  padding-bottom: 24px;
  border-bottom: 1px solid #fff;
}

.concept-title h3 {
  font-size: 30px;
  font-weight: bold;
}

.concept-inner p {
  padding-top: 24px;
  font-weight: bold;
}

.bg-check-purple {
  position: relative;
  content: "";
  background: url(../img/inbound/bg-check-purple.svg) center center repeat;
}

.bg-check-blue {
  position: relative;
  content: "";
  background: url(../img/inbound/bg-check-blue.svg) center center repeat;
}

.bg-img-inner {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  overflow: hidden;
}

.bg-img-shop {
  width: 100%;
  height: 740px;
  object-fit: cover;
  overflow: hidden;
}

.line-check {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}

.head-bk {
  position: absolute;
  background: url(../img/inbound/frame-black.svg) center/contain no-repeat;
  color: #fff;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 600px;
  height: auto;
  aspect-ratio: 600 / 75;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
}

.head-bk h3 {
  margin-top: -3px;
  font-weight: bold;
  font-size: 30px;
}

.shop-experience-conteiner {
  position: absolute;
  top: 80px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}

.shop-experience-list {
  display: flex;
  justify-content: space-between;
  color: #fff;
}

.shop-experience-list .shop-name {
  position: relative;
  font-size: 30px;
  font-weight: bold;
  width: 50%;
  text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.4);
}

.shop-experience-list .shop-name::before {
  position: absolute;
  content: "";
  background-image: url(../img/inbound/line-headding-purple.svg);
  top: -8px;
  left: -72px;
  width: 170px;
  height: 27px;
  transform: rotate(90deg);
  z-index: -1;
}

.shop-experience-list .shop-inner {
  width: 42%;
  min-width: 450px;
}

.shop-experience-list .shop-inner .spot-item-btn {
  padding: 0 !important;
}

.shop-experience-list .shop-inner .spot-item-btn a {
  margin: 0 !important;
}

.shop-experience-list .shop-inner .spot-item-btn a:nth-child(1) {
  background-color: #f57516 !important;
}

.shop-experience-list .shop-inner .spot-item-btn a:nth-child(2) {
  background-color: #1C8438 !important;
  margin-top: 12px !important;
}

.shop-place {
  display: inline-block;
  background-color: #000;
  padding: 8px 12px;
  font-size: 20px;
  font-weight: bold;
}

.shop-sub-title {
  display: inline-block;
  width: 100%;
  font-size: 20px;
  font-weight: bold;
  margin-top: 14px;
  text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.4);
}

.shop-inner h4 {
  font-size: 34px;
  font-weight: bold;
  line-height: 1.5;
  margin-top: 8px;
  text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.4);
}

.shop-inner p {
  font-size: 14px;
  font-weight: bold;
  line-height: 2;
  margin-top: 14px;
  text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.4);
}

.spot-item-btn a {
  transition: all 0.3s ease;
  cursor: pointer;
}

.spot-item-btn a:hover {
  transform: translateY(-8px);
}

.shop-menu-container {
  padding-bottom: 90px;
  margin-top: -40px;
}

.shop-menu-list {
  display: flex;
  justify-content: space-around;
  gap: 4%;
  position: relative;
  z-index: 2;
  margin: 0 60px;
}

.shop-menu-item {
  position: relative;
}

.menu-tag {
  position: absolute;
  top: 0;
  left: 50%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
}

.menu-img {
  border-top: 2px solid #E50012;
  border-right: 2px solid #E50012;
  border-left: 2px solid #E50012;
  overflow: hidden;
}

.menu-img img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.menu-explain {
  background-color: #fff;
  border-bottom: 2px solid #E50012;
  border-right: 2px solid #E50012;
  border-left: 2px solid #E50012;
  padding: 14px 20px;
}

.menu-explain h5 {
  font-size: 22px;
  font-weight: bold;
  padding-bottom: 4px;
  border-bottom: 2px solid #E50012;
}

.menu-explain p {
  font-size: 14px;
  font-weight: bold;
  margin-top: 8px;
}

.menu-explain-list {
  margin-top: 4px;
  display: flex;
  justify-content: space-between;
}

.menu-explain-list ul {
  width: 48%;
}

.menu-explain-list ul li {
  font-size: 14px;
  font-weight: bold;
}

.sub-experience-box {
  position: relative;
  height: 550px;
}

.sub-experience-box>.container {
  position: relative;
}

.experience-list {
  display: flex;
  gap: 3%;
  position: relative;
  top: -40px;
  left: 0;
  z-index: 10;
}

.experience-item {
  position: relative;
}

.experience-item h4 {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100%;
  height: auto;
  transform: translate(-50%, 50%);
  z-index: 1;
  padding: 20px;
  text-align: center;
  background-color: #E50012;
  color: #fff;
  font-size: 28px;
  font-weight: bold;
}

.experience-item h4 span {
  display: block;
  font-size: 14px;
}

.sub-bg-darkred {
  background-color: #BD000E;
  position: relative;
}

.sub-bg-darkred .bg-w-boxshow.relative {
  position: relative;
  z-index: 2;
}

.pt-120 {
  padding-top: 120px;
}

.pb-120 {
  padding-bottom: 120px;
}

.bg-icon-bangasa-half {
  position: absolute;
  bottom: 0;
  left: 0;
  width: auto;
  height: auto;
  transform: translate(-50%, 50%);
}

.bg-icon-bangasa-full {
  position: absolute;
  bottom: 28%;
  right: 0;
  width: auto;
  height: auto;
  transform: translate(50%, 50%);
  z-index: 1;
}

/* エリア別店舗紹介 */

.culture-title {
  text-align: center;
  margin-top: 100px;
  position: relative;
}

.culture-title::before,
.culture-title::after {
  position: absolute;
  content: "";
  background: url(../img/inbound/icon-shidare-left.svg) center / contain no-repeat;
  top: -10%;
  width: 200px;
  height: auto;
  aspect-ratio: 246/244;
}

.culture-title::before {
  left: 0;
}

.culture-title::after {
  right: 0;
  transform: scaleX(-1);
}

.culture-title>h3 {
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 40px;
  color: #fff;
  position: relative;
  display: inline-block;
  padding-bottom: 20px;
  border-bottom: 1px solid #fff;
}

.culture-title p {
  color: #fff;
  font-weight: bold;
}

.icon-shidare-left {
  position: absolute;
}

.icon-shidare-right {}

.area-section {
  padding: 100px 0 10px 0;
  position: relative;
  z-index: 2;
}

.area-item {
  margin-bottom: 80px;
}

.area-title {
  text-align: center;
}

.area-title h4 {
  color: #fff;
  padding: 10px 0;
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  margin: 0 auto;
  position: relative;
}

.area-title h4::after {
  position: absolute;
  content: "";
  background-color: #fff;
  width: 64px;
  height: 1px;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}

.area-shops {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 28px;
  position: relative;
  z-index: 2;
}

.shop-card {
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
  cursor: pointer;
  display: block;
}

.shop-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.shop-card img {
  width: 100%;
  height: 250px;
  object-fit: cover;
}

.shop-prefecture {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #E50012;
  color: #fff;
  padding: 6px 22px;
  font-size: 14px;
  font-weight: bold;
}

.shop-info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.6);
  color: #fff;
  padding: 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-align: center;
}

.shop-info h4 {
  font-size: 14px;
  font-weight: bold;
  margin: 0;
}

.shop-link-text {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: bold;
}

.shop-arrow {
  width: 0;
  height: 0;
  border-left: 8px solid #fff;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  transition: all 0.3s ease;
  margin-top: 2px;
}

.shop-card:hover .shop-arrow {
  transform: translateX(4px);
}

.inbound-form-link {
  text-align: center;
  margin: 40px 0;
}

.form-link-button {
  display: inline-block;
  width: 500px;
  max-width: 100%;
  padding: 15px 20px;
  background-color: transparent;
  border: 2px solid #fff;
  border-radius: 50px;
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  transition: all 0.3s ease;
  box-sizing: border-box;
}

.form-link-button.color-red {
  border: 2px solid #E50012;
  background-color: #E50012;
  margin-bottom: 40px;
}

.form-link-button:hover {
  transform: translateY(-10px);
  color: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.icon-mt-fuji {
  position: absolute;
  bottom: 20px;
  left: 0;
  width: 100%;
  z-index: -1;
}

/* メニューエリア - 新デザイン */
.bg-mustard {
  background-color: #E5B465;
}

.menu-section {
  padding: 160px 0 100px 0;
  position: relative;
}

.menu-header {
  position: absolute;
  top: -54px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: auto;
  text-align: center;
}

.menu-header h3 {
  font-size: 96px;
  color: #BD000E;
  font-weight: bold;
}

.icon-tsuru-left {
  position: absolute;
  top: 40%;
  left: 0;
  z-index: -1;
}

.icon-tsuru-right {
  position: absolute;
  top: 40%;
  right: 0;
  z-index: -1;
}

/* メニューカテゴリー（2カラム） - エリアカードと同じスタイル */
.menu-categories {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  margin-bottom: 80px;
  position: relative;
  z-index: 2;
}

.menu-category {
  position: relative;
  height: 400px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  cursor: pointer;
  display: block;
  text-decoration: none;
}

.menu-category:hover {
  transform: translateY(-8px);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.15);
}

.menu-category img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.category-name {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  background-color: #E50012;
  padding: 6px 22px;
  z-index: 2;
}

.category-footer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.6);
  color: #fff;
  padding: 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-align: center;
}

.category-info p {
  color: #fff;
  font-size: 18px;
  margin: 0;
  font-weight: bold;
}

.category-link-text {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
}

.triangle-arrow {
  width: 0;
  height: 0;
  border-left: 10px solid white;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  transition: transform 0.3s ease;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
  margin-top: 2px;
}

.menu-category:hover .triangle-arrow {
  transform: translateX(4px);
}

/* メニュー例セクション */
.menu-examples {
  margin-top: 80px;
}

.menu-examples-header {
  margin-top: 40px;
  position: relative;
  z-index: 2;
}

.menu-examples-header::before {
  position: absolute;
  content: "";
  background: url(../img/inbound/frame-tie.svg) center / contain no-repeat;
  display: block;
  width: 416px;
  height: auto;
  aspect-ratio: 416 / 134;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.menu-examples-header h4 {
  font-size: 34px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  position: relative;
}

.bk-pattern-kamon {
  position: absolute;
  top: 34%;
  left: 0;
  width: 655px;
  height: auto;
  transform: translateX(-50%);
}

.menu-examples-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  position: relative;
  z-index: 2;
  margin-top: 54px;
}

.menu-example {
  background: #fff;
  border: 2px solid #E50012;
  overflow: hidden;
}

.example-image {
  width: 100%;
  height: 270px;
  overflow: hidden;
}

.example-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.menu-example-info {
  padding: 20px;
  position: relative;
  border-top: 2px solid #E50012;
}

.menu-area {
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  background: #E50012;
  padding: 4px 18px;
  border-radius: 4px;
  display: inline-block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}

.menu-example-info h5 {
  font-size: 1.4rem;
  margin-bottom: 20px;
  font-weight: bold;
}

.menu-example-info ul {
  list-style: none;
  padding: 0;
  margin-top: 20px;
}

.menu-example-info li {
  padding: 4px 0;
}

.menu-example-info li:last-child {
  border-bottom: none;
}

/* 店舗検索セクション */

.search-title>h3 {
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  margin-top: -40px;
  margin-bottom: 40px;
  color: #fff;
}

/* spotセクション */

.sub-spot-box.sp {
  display: none;
}

.sub-spot-box {
  position: relative;
}

.sub-spot-box>.contaier {
  position: relative;
}

.spot-img {
  position: absolute;
  top: 28px;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}

.spot-title {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 100px;
  position: relative;
}

.spot-title h3 {
  color: #BE000E;
  font-size: 30px;
  font-weight: bold;
}

.spot-list {
  margin: 68px auto 80px;
  position: relative;
}

.spot-list::before {
  position: absolute;
  content: "";
  background: url(../img/inbound/line-column-red.svg) center / contain no-repeat;
  top: -28px;
  left: calc(111px);
  width: 8px;
  height: calc(100% + 50px);
}

.spot-list-inner {
  display: flex;
  align-items: stretch;
  gap: 20px;
}

.spot-list-inner:nth-child(n+2) {
  margin-top: 34px;
}

.spot-item:nth-child(1) {
  flex: 0 0 5%;
}

.spot-item:nth-child(2) {
  flex: 0 0 3%;
}

.spot-item:nth-child(3) {
  flex: 1;
}

.spot-item>span {
  font-size: 30px;
  font-weight: bold;
  display: inline-block;
  margin-top: -14px;
}

.spot-item>h4 {
  display: inline-block;
  font-size: 28px;
  font-weight: bold;
  margin-top: -10px;
}

.spot-item-icon {
  display: inline-block;
  margin: -22px 10px 0;
}

.spot-item-inner {
  display: flex;
  align-items: center;
  gap: 2%;
  background-color: #fff;
  border: 1px solid #EBE1CC;
  border-radius: 20px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  overflow: hidden;
}

.spot-item-text {
  flex: 1;
  padding: 20px;
}

.spot-item-text>h4 {
  font-size: 28px;
  font-weight: bold;
}

.spot-item-text>span {
  display: inline-block;
  font-size: 24px;
  font-weight: bold;
  margin-top: 20px;
}

.spot-item-img {
  width: 100%;
  height: 100%;
  flex: 0 0 30%;
}

.spot-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.spot-item-btn {
  margin-top: 32px;
}

.spot-item-btn a {
  background-color: #E50012;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 28px;
  border-radius: 5px;
  width: 422px;
  max-width: 100%;
  margin: 0 0 0 auto;
  font-size: 16px;
  font-weight: bold;
}

.spot-item-visited {
  display: flex;
  align-items: center;
  gap: 4%;
  margin-top: 48px;
}

.spot-item-visited h5 {
  width: 200px;
  padding-bottom: 10px;
  border-bottom: 1px solid #242424;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}

.visited-item-inner {
  position: relative;
}

.visited-item-img {
  display: flex;
  gap: 4%;
}

.visited-item-frame {}

.visited-item-frame img {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
}

.visited-item-frame span {
  position: absolute;
  top: -8px;
  left: 50.5%;
  transform: translate(-50%, -50%);
  font-size: 14px;
  color: #fff;
  font-weight: bold;
}

.visited-item-text {}


.bg-img-gray {
  position: relative;
  overflow: hidden;
  background: url(../img/inbound/bg-gray.svg) center / cover no-repeat;
}

.img-gray {}

.img-gray img {
  position: absolute;
  display: block;
  width: 100%;
  height: auto;
  z-index: -1;
}

.sub-reason-box {
  padding-top: 100px;
}

.reason-wrapper,
.comment-wrapper {
  max-width: 860px;
}

.reason-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

.reason-title>h3 {
  font-size: 30px;
  font-weight: bold;
  text-align: center;
}

.reason-list {
  display: flex;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
  margin-top: 100px;
}

.reason-item {
  flex: 45%;
  background-color: #fff;
  padding: 42px 34px;
  text-align: center;
  border: 1px solid #E50012;
  border-radius: 20px;
  width: 100%;
  min-height: 400px;
}

.reason-item>h4 {
  font-size: 25px;
  font-weight: bold;
}

.reason-item>h5 {
  margin-top: 30px;
  font-size: 22px;
  font-weight: bold;
}

.reason-item>img {
  margin-top: 30px;
  max-width: 220px;
  max-height: 180px;
}

.sub-comment-box {
  padding-bottom: 100px;
  margin-top: 100px;
}

.comment-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.comment-title>h3 {
  font-size: 30px;
  font-weight: bold;
  text-align: center;
}

.comment-list {
  margin-top: 72px;
}

.comment-item {
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0px 3px 6px -2px #cccccc;
  border-radius: 5px;
  padding: 5% 7%;
  position: relative;
}

.comment-item:nth-child(n+2) {
  margin-top: 86px;
}

.comment-item>img {
  position: absolute;
  top: 20px;
  left: 26px;
  transform: translate(-50%, -50%);
}

.comment-item>p {
  margin-left: 58px;
}

.comment-item>p>span {
  font-weight: bold;
}

.sub-flow-box {
  padding: 90px 0 70px;
}

.flow-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
}

.flow-title>h3 {
  font-size: 30px;
  font-weight: bold;
  text-align: center;
}

.flow-sub-title {
  margin-top: 30px;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}

.flow-cv-btn,
.flow-sub-box {
  text-align: center;
  margin-top: 64px;
}

.flow-cv-btn a {
  position: relative;
  background-color: #242424;
  padding: 34px 34px 34px 80px;
  border-radius: 20px;
  color: #fff;
  font-size: 36px;
  font-weight: bold;
  display: flex;
  width: 680px;
  max-width: 100%;
  text-align: center;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

.flow-cv-btn>a>img {
  margin-left: 40px;
  width: 34px;
  height: auto;
}

.flow-cv-deco {
  position: absolute;
  top: 0;
  left: -12%;
  transform: translateY(-50%);
}

.flow-cv-deco span {
  position: absolute;
  top: -4px;
  left: 0;
  color: #242424;
  font-size: 34px;
  width: 100%;
}

.flow-list {
  display: flex;
  justify-content: center;
  gap: 2%;
  max-width: 860px;
  margin: 46px auto 0;
}

.flow-item {
  background: #fff;
  border: 1px solid #EBE1CC;
  border-radius: 20px;
  text-align: center;
  padding: 30px 10px;
  flex: 1;
  min-height: 300px;
}

.flow-item img {
  width: 122px;
  height: auto;
}

.flow-item h5 {
  margin-top: 30px;
  font-size: 24px;
  font-weight: bold;
}

.flow-item span {
  display: inline-block;
  margin-top: 10px;
  font-size: 18px;
  font-weight: bold;
}

.sns-box {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  padding: 72px 0;
}

.sns-box li a {
  display: block;
  width: 100%;
  height: auto;
  transition: all 0.3s ease;
  cursor: pointer;
}

.sns-box li a:hover {
  transform: translateY(-8px);
}

@media only screen and (min-width: 1440px) {

  .icon-tsuru-left {
    left: calc(50% - 720px);
  }

  .icon-tsuru-right {
    right: calc(50% - 720px);
  }
}

@media only screen and (max-width: 1024px) {

  .sub-cv-box {
    padding: 20px 0;
  }

  .cv-box-container {
    flex-direction: column;
  }

  .cv-item {
    padding: 20px 22px;
    width: 390px;
    max-width: 100%;
  }

  .cv-item-inner>span {
    font-size: 18px;
  }

  .cv-box-container>a:nth-child(1)>.cv-item-inner>img {
    width: 28px;
  }

  .point-item>h5 {
    font-size: 20px;
  }

  .concept-title h3 {
    font-size: 26px;
  }

  .icon-left img,
  .icon-right img {
    width: 140px;
  }

  .head-bk {
    width: 440px;
  }

  .head-bk h3 {
    font-size: 24px;
  }

  .menu-explain-list {
    flex-direction: column;
  }

  .menu-explain-list ul {
    width: 100%;
  }

  .shop-experience-list .shop-name {
    font-size: 26px;
  }

  .shop-experience-list .shop-inner {
    min-width: 400px;
  }

  .shop-place {
    font-size: 16px;
  }

  .shop-sub-title {
    font-size: 18px;
  }

  .shop-inner h4 {
    font-size: 26px;
  }

  .culture-title::before,
  .culture-title::after {
    width: 20%;
    top: -6%;
  }

  .culture-title::before {
    left: -7%;
  }

  .culture-title::after {
    right: -7%;
  }

  .menu-examples-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .menu-header {
    top: -40px;
  }

  .menu-header h3 {
    font-size: 8vw;
  }

  .menu-examples-header h4 {
    font-size: 28px;
  }

  .area-shops {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .experience-item h4 {
    font-size: 22px;
  }

  .bk-pattern-kamon {
    width: 40% !important;
  }

  .bk-pattern-asanoha {
    top: -100%;
    right: 3%;
    width: 40% !important;
  }

  .sub-spot-box.pc {
    display: none;
  }

  .sub-spot-box.sp {
    display: block;
  }

  .spot-list::before {
    display: none;
  }

  .spot-list-inner {
    flex-direction: column;
    align-items: center;
  }

  .spot-item {
    flex: 1;
    text-align: center;
  }

  .spot-item>span {
    font-size: 26px;
  }

  .spot-item>h4 {
    display: block;
  }

  .spot-item-icon {
    margin: 20px auto;
  }

  .spot-item-inner {
    border-radius: 20px;
  }

  .spot-item-text {
    padding: 0;
  }

  .spot-item-text>span {
    padding: 0 1em;
    text-align: left;
    font-size: 20px;
  }

  .spot-item-visited {
    gap: 18px;
    margin-top: 28px;
    flex-direction: column;
  }

  .spot-item-visited h5 {
    width: auto;
  }

  .visited-item-img {
    gap: 0;
  }

  .visited-item-frame img {
    top: 100%;
  }

  .visited-item-frame span {
    top: 102%;
    width: 100%;
  }

  .spot-item-btn {
    margin-top: 20px;
    padding: 0 1em 1em;
  }

  .spot-item-btn.mt-40 {
    margin-top: 40px;
  }

  .spot-item-btn a {
    margin: 0 auto;
  }
}

@media only screen and (max-width: 768px) {

  #inbound .mv-container,
  #inbound .container {
    padding-left: 18px;
    padding-right: 18px;
  }

  .mv-item {
    position: absolute;
    bottom: -12rem;
    left: 18px;
  }

  .sub-slide-box .mv-container .mv-item {
    bottom: -9rem;
  }

  .mv-item h2 {
    font-size: 24px;
    line-height: 1.5;
  }

  .mv-item p {
    margin-top: 24px;
    padding-right: 32px;
    line-height: 1.5;
  }

  .sub-bg-red {
    padding: 40px 0 20px;
  }

  .sub-bg-red>.sub-search-box {
    margin-bottom: 0;
    padding-bottom: 60px;
  }

  .sub-point-box>.container {
    padding: 0;
  }

  .point-list {
    gap: 4rem;
    flex-direction: column;
    margin: 90px 0 34px;
  }

  .point-item-title>img {
    width: 50%;
    max-width: 220px;
  }

  .point-title>h3 {
    font-size: 26px;
  }

  .point-item-title>h4 {
    top: -9px;
    font-size: 24px;
  }

  .inbound-swiper {
    height: 430px;
  }

  .bg-curve-top.bg-check-blue {
    top: 120px;
  }

  .culture-title>h3 {
    font-size: 20px;
  }

  /* 日本体験セクション */

  .area-section {
    margin-top: 100px;
  }

  .concept-inner p {
    padding-top: 0;
    padding-bottom: 40px;
  }

  .icon-left {
    left: 0;
  }

  .icon-right {
    right: 0;
  }

  .icon-left img,
  .icon-right img {
    width: 120px;
  }

  .shop-sub-title {
    font-size: 16px;
  }

  .shop-place {
    font-size: 14px;
  }

  .shop-inner p {
    margin-top: 14px;
  }

  .shop-menu-list {
    margin: 0 20px;
    flex-direction: column;
    row-gap: 60px;
  }

  .menu-explain h5 {
    font-size: 18px;
  }

  .shop-experience-list {
    flex-direction: column;
  }

  .shop-experience-list .shop-name {
    width: 100%;
    min-width: 100%;
  }

  .shop-experience-list .shop-inner {
    width: 100%;
    min-width: 100%;
    margin-top: 12px;
  }

  .menu-section {
    padding-top: 80px;
  }

  .menu-categories {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .menu-examples-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .menu-category {
    height: 250px;
  }

  .menu-header {
    top: 0;
  }

  .menu-examples-header h4 {
    font-size: 22px;
  }

  .icon-tsuru-right,
  .icon-tsuru-left {
    width: 30%;
  }

  .area-title h4 {
    font-size: 18px;
  }

  .culture-title p {
    text-align: left;
  }

  .sub-experience-box {
    height: auto;
  }

  .experience-list {
    flex-direction: column;
    position: sticky;
    padding: 40px 0 240px;
    gap: 84px;
  }

  .area-shops {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .icon-mt-fuji {
    bottom: 14px;
  }

  .menu-examples-header::before {
    width: 260px;
  }

  .bk-pattern-kamon,
  .bk-pattern-asanoha {
    display: none;
  }

  .search-title>h3 {
    font-size: 22px;
  }

  /* 旅程セクション */

  .spot-list {
    margin: 40px auto 80px;
  }

  .spot-img {
    width: 65%;
  }

  .spot-title {
    align-items: flex-start;
    gap: 4px;
    padding-top: 90px;
  }

  .spot-title img {
    width: 28px;
    height: auto;
    margin-top: 12px;
  }

  .spot-title h3 {
    font-size: 22px;
    text-align: center;
  }

  .spot-item>h4 {
    font-size: 24px;
  }

  .spot-item-btn a {
    margin: 0 auto;
    width: 100%;
    padding: 16px 12px;
  }

  .sub-reason-box {
    padding-top: 60px;
  }

  .reason-title {
    flex-direction: column;
  }

  .reason-title>h3 {
    font-size: 26px;
  }

  .reason-item>h4 {
    font-size: 22px;
  }

  .reason-item>h5 {
    font-size: 18px;
  }

  .reason-list {
    flex-direction: column;
    padding: 0;
    margin-top: 24px;
    gap: 24px;
  }

  .reason-item {
    min-height: auto;
  }

  .reason-item:nth-child(1)>img {
    width: 34%;
    min-width: 120px;
  }

  .reason-item:nth-child(2)>img {
    width: 64%;
    min-width: 180px;
  }

  .reason-item:nth-child(4)>img {
    width: 58%;
    min-width: 200px;
  }

  .inbound-swiper .swiper-slide picture {
    transform: scale(1.5);
  }

  .inbound-swiper .swiper-slide-active picture {
    transform: scale(1.3);
  }

  .sub-comment-box {
    padding-bottom: 60px;
    margin-top: 60px;
  }

  .comment-title {
    flex-direction: column;
  }

  .comment-title>h3 {
    font-size: 24px;
  }

  .comment-list {
    margin-top: 60px;
  }

  .comment-item:nth-child(n+2) {
    margin-top: 60px;
  }

  .comment-item>img {
    left: 50%;
    max-width: 144px;
    width: 25%;
    min-width: 80px;
  }

  .comment-item>p {
    margin-left: 0;
    margin-top: 72px;
  }

  .sub-flow-box {
    padding: 70px 0 30px;
  }

  .flow-title {
    flex-direction: column;
    gap: 32px;
  }

  .flow-title>h3 {
    font-size: 22px;
  }

  .flow-title img {
    width: 54px;
    height: auto;
  }

  .flow-sub-title {
    font-size: 20px;
  }

  .flow-cv-btn a {
    padding: 40px 20px 30px 20px;
    font-size: 28px;
    width: 100%;
    max-width: 100%;
  }

  .flow-cv-btn>a>img {
    margin-left: 12px;
    width: 28px;
  }

  .flow-cv-deco {
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
  }

  .flow-cv-deco span {
    font-size: 28px;
    top: 1px;
  }

  .flow-cv-deco img {
    width: 270px;
  }

  .flow-item img {
    width: 48px;
    height: auto;
  }

  .flow-item:nth-child(1) img {
    width: 40px;
  }

  .flow-list {
    max-width: 100%;
    margin: 18px auto 0;
  }

  .flow-item {
    padding: 10px;
    min-height: auto;
  }

  .flow-item h5 {
    margin-top: 10px;
    font-size: 12px;
  }

  .flow-item span {
    margin-top: 4px;
    font-size: 10px;
  }

  .sns-box {
    gap: 20px;
    padding: 40px 0;
  }
}

@media only screen and (max-width: 500px) {

  .menu-header {
    top: -0.5%;
  }

  .head-bk {
    width: 360px;
  }

  .head-bk h3 {
    font-size: 20px;
  }

  .icon-left {
    left: -4%;
  }

  .icon-right {
    top: 13%;
    right: -4%;
  }

  .icon-left,
  .icon-right {
    display: none;
  }

  .icon-left img,
  .icon-right img {
    width: 100px;
  }

  .shop-menu-list {
    margin: 0;
    margin-top: 120px;
  }

  .spot-title img {
    width: 28px;
    height: auto;
    margin-top: 12px;
  }

  .spot-title h3 {
    font-size: 22px;
    text-align: center;
  }
}

@media only screen and (max-width: 370px) {

  .mv-item {
    bottom: -10rem;
  }

  .sub-slide-box .mv-container .mv-item {
    bottom: -9rem;
  }

  .mv-item p {
    font-size: 14px;
    margin-top: 20px;
  }

  .head-bk {
    width: 300px;
  }

  .head-bk h3 {
    font-size: 18px;
  }

  .experience-list {
    padding: 40px 0 200px;
  }

  .reason-item {
    min-height: 440px;
  }

  .flow-cv-btn a {
    border-radius: 10px;
    font-size: 22px;
  }

  .flow-cv-deco span {
    font-size: 22px;
  }

  .flow-cv-deco img {
    width: 220px;
  }
}