/*! ec-cube.net用css */ *, ::after, ::before {
  box-sizing: border-box
}
html {
  font-size: 10px;
  line-height: 1.5
}
body {
  font-feature-settings: "palt";
  color: #282828;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
	    font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  letter-spacing: .15em;
  line-height: 1.5;
  margin: 0;
  min-width: 320px;
  word-break: break-all
}
a {
  background-color: rgba(0, 0, 0, 0);
  color: inherit;
  text-decoration: none;
  transition: all .2s
}
a:hover {
  text-decoration: none
}
a:focus {
  text-decoration: none
}
ol, ul {
  margin: 0;
  padding: 0
}
li {
  list-style-type: none
}
blockquote, dl, h1, h2, h3, h4, h5, h6, hr, p, pre {
  line-height: 1.5;
  margin: 0
}
b, strong, h2, h3 {
  font-weight: bolder
}
dd {
  margin: 0
}
img, svg {
  height: auto;
  vertical-align: bottom;
  width: 100%
}
svg {
  overflow: visible
}
figure {
  margin: 0
}
table {
  border-collapse: collapse
}
/*input {
  -webkit-appearance: none;
  appearance: none;
  background: none;
  border: none;
  border-radius: 0;
  font-family: inherit;
  margin: 0;
  padding: 0
}*/
input[type=text], input[type=tel], input[type=email] {
  outline: none
}
input[type=radio], input[type=checkbox] {
  cursor: pointer
}
select {
  appearance: none;
  border: none;
  border-radius: 0;
  cursor: pointer;
  font-family: inherit;
  outline: none
}
textarea {
  appearance: none;
  background: rgba(0, 0, 0, 0);
  border: 0;
  font-family: inherit;
  outline: none;
  padding: 0;
  resize: vertical
}
button, input[type=submit] {
  appearance: none;
  background: rgba(0, 0, 0, 0);
  border: none;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  padding: 0;
  transition: all .2s
}
label {
  cursor: pointer
}
fieldset {
  border: none;
  margin: 0;
  padding: 0
}
::placeholder {
  color: #c8c8c8
}
::selection {
  background: #d0ab00;
  color: #fff
}
::-moz-selection {
  background: #d0ab00;
  color: #fff
}
.p-firstview{
	/*max-width:1240px;*/
	margin: auto;
}
.eccube-list-card{
	margin-bottom:60px;
}
.eccube-sw-align-center {
  text-align: center !important
}
.eccube-sw-align-right {
  text-align: right !important
}

    .p-index_department__info {
        padding: calc(1.63265vw + 13.87755px) calc(2.44898vw + 10.81633px)
    }

    .p-index_department__info__item {
        margin-bottom: calc(1.63265vw + 13.87755px)
    }

    .p-index_department__info__item dt {
        font-size: calc(.16327vw + 15.38776px)
    }



.eccube-sw-anchor span, .eccube-sw-contents a span {
  background-image: linear-gradient(90deg, #575564, #575564);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  transition: background-size .8s;
  word-break: break-all
}
.is-gray-dark .eccube-sw-anchor span, .is-bg-gray-dark .eccube-sw-anchor span {
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.33), rgba(255, 255, 255, 0.33))
}
.eccube-sw-anchor-block {
  display: block
}
a[target=_blank].eccube-sw-anchor:after, .eccube-sw-contents a[target=_blank]:after, .eccube-footer a[target=_blank]:after {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%208%208%22%3E%3Cpath%20fill%3D%22%23575564%22%20d%3D%22M7.385%208H0V.615h3.078v.616H.615v6.154H6.77V4.923h.615ZM2.461%204.968%205.1%202.328%204.086%201.306%208%200%206.7%203.92%205.539%202.76%202.9%205.4Z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  content: "";
  display: inline-block;
  height: 2.1333vw;
  margin: 0 1.0667vw;
  position: relative;
  top: -0.8vw;
  width: 2.1333vw
}
.eccube-sw-anchor-div {
  margin-top: -17.0667vw;
  padding-top: 17.0667vw
}
.eccube-sw-author {
  border: 1px solid #e1e1e1;
  margin-top: 12vw;
  padding: 0
}
.eccube-sw-author > p:first-child {
  background: #e1e1e1;
  font-size: 3.2vw;
  font-weight: 800;
  margin: 0;
  padding-bottom: .5333vw;
  text-align: center
}
.eccube-sw-author-inner {
  padding: 4vw
}
.eccube-sw-author-inner figure {
  margin: 0 0 4vw !important
}
.eccube-sw-author-inner figure img {
  width: 26.6667vw !important
}
.eccube-sw-author-text p {
  line-height: 1.5 !important;
  margin-bottom: 2.6667vw !important
}
.eccube-sw-author-text > *:last-child {
  margin-bottom: 0 !important
}
.eccube-sw-author-link a span {
  background-image: linear-gradient(90deg, #afafaf, #afafaf);
  color: #afafaf;
  font-size: 3.2vw
}
.is-white {
  background: #fff
}
.is-gray {
  background: #efefef
}
.is-gray-dark {
  background: #575564
}
.is-bg-yellow {
  background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201920%20300%22%3E%3Cpath%20fill%3D%22%23fccf00%22%20d%3D%22M1605.313%20291.418c-128.445-34.414-206.586-162.85-180.205-291.416h489.832a248.854%20248.854%200%200%201-3.52%20114.682c-29.924%20111.664-130.918%20185.3-241.27%20185.316a250.171%20250.171%200%200%201-64.837-8.582Z%22%2F%3E%3Cpath%20fill%3D%22%23d0ab00%22%20d%3D%22M1605.23%20291.422%201683.337%200h231.6a248.837%20248.837%200%200%201-3.525%20114.689c-29.924%20111.662-130.945%20185.3-241.326%20185.311a250.007%20250.007%200%200%201-64.856-8.578Z%22%2F%3E%3C%2Fsvg%3E") no-repeat top right -33.3333vw;
  background-size: 256vw auto
}
.is-bg-gray-dark {
  background: #575564 url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201920.002%201220.002%22%3E%3Cpath%20fill%3D%22%23444350%22%20d%3D%22m1166.475%20614.982%2082.824-309.092C1286.447%20167.244%201380.653%2059.12%201499.873.001h328.316l-322.3%201202.861c-256.063-68.61-408.026-331.813-339.414-587.88Z%22%2F%3E%3Cpath%20fill%3D%22%2331303c%22%20d%3D%22M1505.889%201202.862%201828.189.001H1920v1121.818a478.709%20478.709%200%200%201-414.113%2081.043Z%22%2F%3E%3C%2Fsvg%3E") no-repeat top right -40vw;
  background-size: 256vw auto
}
.eccube-sw-button-primary {
  align-items: center;
  background: #fccf00;
  border-radius: 999px;
  box-shadow: 0 .8vw 1.3333vw rgba(0, 0, 0, .33);
  color: #282828 !important;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  min-height: 16vw;
  position: relative
}
.eccube-sw-button-primary span {
  background: none !important;
  font-size: 4.2667vw;
  font-weight: 800;
  position: relative;
  top: -0.2667vw
}
.eccube-sw-button-primary svg {
  fill: #282828;
  position: absolute;
  right: 4vw;
  width: 4.5333vw
}
.eccube-sw-button-secondary {
  align-items: center;
  border: 1px solid #d7d7d7;
  border-radius: 999px;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  min-height: 16vw;
  padding: 0 8.5333vw;
  position: relative;
  text-align: center
}
.eccube-sw-button-secondary span {
  background: none !important;
  font-size: 4.2667vw;
  font-weight: 800;
  position: relative;
  top: -0.2667vw
}
.eccube-sw-button-secondary svg {
  fill: #575564;
  position: absolute;
  right: 4vw;
  width: 4.5333vw
}
.is-gray-dark .eccube-sw-button-secondary, .is-bg-gray-dark .eccube-sw-button-secondary {
  color: #fff
}
.is-gray-dark .eccube-sw-button-secondary svg, .is-bg-gray-dark .eccube-sw-button-secondary svg {
  fill: #fff
}
.eccube-sw-button-tertiary span {
  background-image: linear-gradient(90deg, #575564, #575564);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  font-size: 3.7333vw;
  position: relative;
  top: -0.2667vw;
  transition: background-size .8s;
  word-break: break-all
}
.eccube-sw-button-tertiary svg {
  fill: #575564;
  position: relative;
  top: -1.6vw;
  width: 4.5333vw
}
.eccube-sw-button-tertiary.is-line-white span {
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.33), rgba(255, 255, 255, 0.33));
  color: #fff
}
.eccube-sw-button-tertiary.is-line-white svg {
  fill: #fff
}
.eccube-sw-button-cta {
  align-items: center;
  background: #fff;
  border-radius: 999px;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  max-width: 73.3333vw;
  min-height: 11.7333vw;
  position: relative
}
.eccube-sw-button-cta span {
  font-size: 4vw;
  font-weight: 800;
  position: relative;
  top: -0.2667vw
}
.eccube-sw-button-cta svg {
  fill: #575564;
  position: absolute;
  right: 4vw;
  width: 4.5333vw
}
.eccube-sw-grid {
  display: grid;
  gap: 6.6667vw;
  margin: 8vw 0 12vw
}
.eccube-sw-grid.column-4, .eccube-sw-grid.column-5 {
  gap: 4vw;
  grid-template-columns: 1fr 1fr
}
.eccube-sw-grid.is-valign {
  align-items: center
}
.eccube-sw-grid-item > *:first-child {
  margin-top: 0 !important
}
.eccube-sw-grid-item > *:last-child {
  margin-bottom: 0 !important
}
.eccube-sw-grid-item .eccube-sw-box {
  height: 100%
}
.eccube-sw-main {
  background: #efefef url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201920%201100%22%3E%3Cpath%20fill%3D%22%23d2d2d2%22%20d%3D%22M1455.956%201075.667c-172.2-39.756-279.571-211.58-239.815-383.78l71.984-311.8c39.755-172.2%20211.581-279.572%20383.783-239.815s279.57%20211.581%20239.814%20383.783l-71.985%20311.8c-34.163%20147.975-165.871%20248.076-311.515%20248.086a320.788%20320.788%200%200%201-72.266-8.274Z%22%2F%3E%3Cpath%20fill%3D%22%23e0e0e0%22%20d%3D%22m1216.141%20691.887%2071.984-311.8c39.755-172.2%20211.581-279.571%20383.783-239.815l-215.952%20935.395c-172.2-39.756-279.571-211.58-239.815-383.78Z%22%2F%3E%3C%2Fsvg%3E") no-repeat top right -53.3333vw;
  background-size: 256vw auto;
  padding: 17.0667vw 0 0
}
.eccube-sw-main.is-contents {
  padding-bottom: 16vw
}
.eccube-sw-container {
  padding: 12vw 6.6667vw 0vw
}
.eccube-sw-container-inner > *:first-child {
  margin-top: 0
}
.eccube-sw-container-inner > *:last-child {
  margin-bottom: 0
}
.eccube-sw-container-contents-inner {
  background: #fff;
  padding: 12vw 6.6667vw 16vw
}
.eccube-sw-display-pc {
  display: none
}
.eccube-sw-box {
  display: block;
  margin-bottom: 12vw;
  padding: 5.3333vw 4vw 5.8667vw
}
.eccube-sw-box > *:first-child {
  margin-top: 0 !important
}
.eccube-sw-box > *:last-child {
  margin-bottom: 0 !important
}
.eccube-sw-box.is-border {
  box-shadow: 0 0 0 1px #e1e1e1 inset
}
.is-gray-dark .eccube-sw-box.is-border, .is-bg-gray-dark .eccube-sw-box.is-border {
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .33) inset
}
.eccube-sw-contents .eccube-sw-box {
  margin: 12vw 0
}
.eccube-sw-contents .eccube-sw-box p {
  line-height: 1.7
}
.eccube-sw-contents pre {
  font-family: inherit;
  font-size: 3.2vw;
  overflow-x: auto
}
.eccube-sw-iframe {
  aspect-ratio: 16/9;
  margin: 12vw 0;
  width: 100%
}
.eccube-sw-iframe iframe {
  height: 100%;
  width: 100%
}
.eccube-sw-figure {
  margin: 8vw 0
}
.eccube-sw-figure img {
  max-width: 100%;
  width: auto
}
.eccube-sw-contents figure {
  margin: 12vw 0
}
.eccube-sw-figure, .eccube-sw-contents figure {
  text-align: center
}
.eccube-sw-figure figcaption, .eccube-sw-contents figure figcaption {
  font-size: 3.2vw;
  font-weight: 800;
  line-height: 1.7;
  margin-top: 2.6667vw;
  text-align: center
}
.eccube-sw-contents h2 {
  font-size: 5.8667vw;
  font-weight: 800;
  margin: 20vw 0 8vw
}
.eccube-sw-heading-level-2 {
  font-size: 6.6667vw;
  font-weight: 800;
  margin-bottom: 5.3333vw
}
.is-gray-dark .eccube-sw-heading-level-2, .is-bg-gray-dark .eccube-sw-heading-level-2 {
  color: #fff
}
.eccube-sw-heading-level-3, .eccube-sw-contents h3 {
  color: #d0ab00;
  font-weight: 800
}
.eccube-sw-heading-level-3 {
  font-size: 4.8vw;
  margin-bottom: 4vw
}
.eccube-sw-contents h3 {
  font-size: 4.8vw;
  margin: 12vw 0 6.6667vw
}
.eccube-sw-heading-level-4, .eccube-sw-contents h4 {
  border-left: .8vw solid #d0ab00;
  font-weight: 800;
  padding-left: 1.3333vw
}
.eccube-sw-heading-level-4 {
  font-size: 4.2667vw;
  margin-bottom: 2.6667vw
}
.eccube-sw-contents h4 {
  font-size: 3.7333vw;
  margin: 9.3333vw 0 5.3333vw
}
.eccube-sw-hr, .eccube-sw-contents hr {
  border: none;
  border-top: 1px solid #e1e1e1;
  margin: 12vw 0
}
.eccube-sw-hr-space {
  border: none;
  margin: 8vw 0
}
.eccube-sw-index {
  border: 1px solid #e1e1e1;
  padding: 4vw
}
.eccube-sw-index p {
  font-size: 3.7333vw;
  margin-bottom: 2.6667vw !important
}
.eccube-sw-index ul {
  margin: 0 !important;
  padding-left: .8vw
}
.eccube-sw-index ul li:before {
  margin-right: 1.8667vw
}
.eccube-sw-index ul ul {
  margin-top: 1.3333vw !important
}
.eccube-sw-index ul ul li:before {
  height: 1.0667vw;
  top: -0.8vw;
  width: 1.0667vw
}
.eccube-sw-index li {
  margin-bottom: 1.3333vw !important
}
.eccube-sw-interviewer, .eccube-sw-interviewee {
  margin: 8vw 0
}
.eccube-sw-interviewer p, .eccube-sw-interviewee p {
  font-size: 3.7333vw;
  line-height: 2
}
.eccube-sw-interviewer dd {
  font-weight: 800
}
.eccube-sw-interviewee dt {
  font-size: 3.7333vw;
  margin-bottom: 2.6667vw
}
.eccube-sw-ul li, .eccube-sw-ol li, .eccube-sw-contents ul li, .eccube-sw-contents ol li {
  font-size: 3.7333vw;
  margin-bottom: 1.8667vw
}
.eccube-sw-ul li b, .eccube-sw-ol li b, .eccube-sw-contents ul li b, .eccube-sw-contents ol li b {
  font-weight: 800
}
.eccube-sw-ul li small, .eccube-sw-ol li small, .eccube-sw-contents ul li small, .eccube-sw-contents ol li small {
  font-size: 2.6667vw
}
.eccube-sw-ul li:last-child, .eccube-sw-ol li:last-child, .eccube-sw-contents ul li:last-child, .eccube-sw-contents ol li:last-child {
  margin: 0
}
.eccube-sw-contents ul, .eccube-sw-contents ol {
  padding-left: 4vw
}
table .eccube-sw-ul, table .eccube-sw-ol, table .eccube-sw-contents ul, table .eccube-sw-contents ol {
  padding-left: 0
}
table .eccube-sw-ul li, table .eccube-sw-ol li, table .eccube-sw-contents ul li, table .eccube-sw-contents ol li {
  margin-bottom: 1.3333vw
}
.is-gray-dark .eccube-sw-ul li, .is-gray-dark .eccube-sw-ol li, .is-gray-dark .eccube-sw-contents ul li, .is-gray-dark .eccube-sw-contents ol li, .is-bg-gray-dark .eccube-sw-ul li, .is-bg-gray-dark .eccube-sw-ol li, .is-bg-gray-dark .eccube-sw-contents ul li, .is-bg-gray-dark .eccube-sw-contents ol li {
  color: #fff
}
.eccube-sw-ul, .eccube-sw-ol {
  margin-bottom: 8vw
}
.eccube-sw-ul li, .eccube-sw-ol li {
  margin-bottom: 2.6667vw
}
.eccube-sw-contents ul, .eccube-sw-contents ol {
  line-height: 1.7;
  margin: 8vw 0
}
.eccube-sw-ul li, .eccube-sw-contents ul li {
  padding-left: 4.2667vw;
  text-indent: -4.2667vw
}
.eccube-sw-ul li:before, .eccube-sw-contents ul li:before {
  background: #d0ab00;
  border-radius: 99px;
  content: "";
  display: inline-block;
  height: 1.6vw;
  margin-right: 2.6667vw;
  position: relative;
  top: -0.5333vw;
  width: 1.6vw
}
.eccube-sw-ol, .eccube-sw-contents ol {
  counter-reset: item
}
.eccube-sw-ol li, .eccube-sw-contents ol li {
  padding-left: 6.9333vw;
  text-indent: -6.9333vw
}
.eccube-sw-ol li:before, .eccube-sw-contents ol li:before {
  align-items: center;
  background: #d0ab00;
  border-radius: 999px;
  color: #fff;
  content: counter(item);
  counter-increment: item;
  display: inline-flex;
  font-size: 2.6667vw;
  height: 4.2667vw;
  justify-content: center;
  letter-spacing: 0;
  margin-right: 2.6667vw;
  padding-bottom: .2667vw;
  position: relative;
  text-indent: 0;
  top: -0.2667vw;
  width: 4.2667vw
}
.eccube-sw-sticky {
  display: flex;
  margin: 12vw 0
}
.eccube-sw-sticky-inner {
  background: #f4f4f4;
  border: 1px solid #e1e1e1;
  padding: 5.3333vw
}
.eccube-sw-sticky-inner p {
  color: #575564;
  font-size: 3.7333vw !important;
  margin-bottom: 2.6667vw !important
}
.eccube-sw-sticky-inner ul {
  display: grid;
  grid-template-columns: 1fr;
  margin: 0;
  padding: 0
}
.eccube-sw-sticky-inner li {
  margin: 0 !important;
  padding: 0 !important;
  text-indent: 0 !important
}
.eccube-sw-sticky-inner li:before {
  content: none !important
}
.eccube-sw-sticky-inner a {
  align-items: center;
  color: #575564;
  display: flex;
  font-size: 3.7333vw;
  min-height: 11.7333vw
}
.eccube-sw-sticky-inner a:before {
  background: #575564;
  border-radius: 99px;
  content: "";
  display: block;
  height: 1.3333vw;
  margin-right: 1.8667vw;
  width: 1.3333vw
}
.eccube-sw-sticky-column > *:first-child {
  margin-top: 0
}
.eccube-sw-sticky-column > *:last-child {
  margin-bottom: 0
}
.eccube-sw-table-vertical, .eccube-sw-table-horizontal {
  margin-bottom: 12vw
}
.eccube-sw-table-vertical th, .eccube-sw-table-vertical td, .eccube-sw-table-horizontal th, .eccube-sw-table-horizontal td {
  -webkit-text-size-adjust: 100%;
  font-size: 3.7333vw;
  line-height: 1.7
}
.eccube-sw-table-vertical th, .eccube-sw-table-horizontal th {
  font-weight: 800
}
.eccube-sw-table-vertical td p, .eccube-sw-table-horizontal td p {
  line-height: 1.7
}
.eccube-sw-table-vertical td b, .eccube-sw-table-horizontal td b {
  font-weight: 800
}
.eccube-sw-table-vertical td small, .eccube-sw-table-horizontal td small {
  font-size: 2.6667vw
}
.eccube-sw-table-vertical td > *:last-child, .eccube-sw-table-horizontal td > *:last-child {
  margin-bottom: 0
}
.eccube-sw-contents .eccube-sw-table-vertical {
  margin: 12vw 0
}
.eccube-sw-contents .eccube-sw-table-horizontal {
  margin: 12vw -6.6667vw
}
.eccube-sw-table-vertical {
  border-top: 1px solid #282828;
  width: 100%
}
.eccube-sw-table-vertical th, .eccube-sw-table-vertical td {
  display: block;
  padding: 2.6667vw;
  text-align: left
}
.eccube-sw-table-vertical th {
  padding-bottom: 0
}
.eccube-sw-table-vertical td {
  border-bottom: 1px solid #282828;
  padding-top: 1.3333vw
}
.eccube-sw-table-horizontal {
  display: flex;
  margin-left: -6.6667vw;
  margin-right: -6.6667vw;
  overflow-x: auto;
  padding: 0 6.6667vw
}
.eccube-sw-table-horizontal table {
  min-width: 860px;
  width: 100%
}
.eccube-sw-table-horizontal th {
  background: #575564;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  color: #fff;
  padding: 2.1333vw .5em
}
.eccube-sw-table-horizontal th small {
  font-size: 2.6667vw
}
.eccube-sw-table-horizontal td {
  background: #fff;
  border: 1px solid #e1e1e1;
  padding: 2.1333vw 2.6667vw
}
.eccube-sw-text, .eccube-sw-contents p {
  font-size: 3.7333vw;
  line-height: 2;
  margin-bottom: 8vw
}
.eccube-sw-text b, .eccube-sw-text strong, .eccube-sw-contents p b, .eccube-sw-contents p strong {
  font-weight: 800
}
.eccube-sw-text small, .eccube-sw-contents p small {
  font-size: 2.6667vw
}

.eccube-sw-img {
  width: 100%;           /* 容器宽度占满 */
  height: 230px;         /* 固定高度 */
  overflow: hidden;      /* 超出部分隐藏 */
  display: flex;         /* 使用 flex 居中 */
  justify-content: center;
  align-items: center;
  margin-bottom: 15px;
}

.eccube-sw-img img {
  height: 100%;          /* 高度占满容器 */

  object-fit: cover;     /* 防止变形，超出部分裁切 */
}


.eccube-sw-text {
  line-height: 1.7
}
.is-gray-dark .eccube-sw-text, .is-bg-gray-dark .eccube-sw-text {
  color: #fff
}
.eccube-sw-nowrap {
  white-space: nowrap
}
.eccube-sw-letter-spacing {
  letter-spacing: 0
}
.eccube-sw-marker {
  background: linear-gradient(transparent 60%, #fccf00 60%)
}
html.is-open, body.is-open {
  position: fixed;
  width: 100%
}
.eccube-header {
  background: #efefef;
  height: auto !important;
  min-height: auto !important;
  padding: 2.6667vw 4vw;
  position: fixed;
  top: 0;
  transition: all .3s;
  width: 100%;
  z-index: 11 !important
}
.eccube-header button {
  height: 11.7333vw;
  margin-left: auto;
  padding: 2.4vw 0;
  width: 11.7333vw;
  z-index: 11
}
.eccube-header button span {
  align-items: center;
  background: #fff;
  display: flex;
  height: 100%;
  justify-content: center;
  position: relative;
  transition: all .3s
}
.eccube-header button span:before, .eccube-header button span:after {
  background: #575564;
  content: "";
  height: .2667vw;
  position: absolute;
  transition: all .3s;
  width: 5.3333vw
}
.eccube-header button span:before {
  top: 2.6667vw
}
.eccube-header button span:after {
  bottom: 2.6667vw
}
.eccube-header nav {
  display: flex;
  flex-direction: column;
  height: 100vh;
  left: 0;
  opacity: 0;
  overflow-y: scroll;
  position: fixed;
  top: 0;
  transition: opacity .3s;
  visibility: hidden;
  width: 100%;
  z-index: -1
}
.eccube-header.is-fixed {
  background: rgba(255, 255, 255, .97)
}
.eccube-header.is-fixed button span {
  background: #efefef
}
.eccube-header.is-open button span {
  background: #575564
}
.eccube-header.is-open button span:before, .eccube-header.is-open button span:after {
  background: #fff
}
.eccube-header.is-open button span:before {
  top: initial;
  transform: rotate(20deg)
}
.eccube-header.is-open button span:after {
  bottom: initial;
  transform: rotate(-20deg)
}
.eccube-header.is-open nav {
  opacity: 1;
  visibility: visible;
  z-index: 10
}
.eccube-header-inner {
  align-items: center;
  display: flex
}
.eccube-header-logo {
  z-index: 11;
	Max-width:50%
}
.eccube-header-logo a {
  display: flex
}
.eccube-header-logo svg {
  height: 6.9333vw;
  width: auto
}
.eccube-header-nav {
  background: rgba(239, 239, 239, .97);
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 33.0667vw 6.6667vw 16vw;
  row-gap: 8vw
}
.eccube-header-nav a {
  align-items: center;
  display: flex;
  font-size: 4.2667vw;
  font-weight: 800;
  height: 11.7333vw
}
.eccube-header-nav a:after {
  content: none !important
}
.eccube-header-cta {
  background: rgba(87, 85, 100, .97);
  height: 100%;
  padding: 12vw 6.6667vw 40vw
}
.eccube-header-cta ul {
  display: flex;
  justify-content: center
}
.eccube-header-cta li a {
  align-items: center;
  display: flex
}
.eccube-header-cta li a:after {
  content: none !important
}
.eccube-header-cta li svg {
  margin-right: 2.6667vw;
  width: 8vw
}
.eccube-header-cta li svg path:first-child {
  fill: #fff
}
.eccube-header-cta li span {
  color: #fff;
  font-size: 4.2667vw;
  position: relative;
  top: -0.2667vw
}
.eccube-header-cta li:last-child {
  margin-left: 12vw
}
.eccube-header-cta-inner {
  margin-bottom: 8vw
}
.eccube-header-cta-inner p:first-child a span {
  font-size: 5.3333vw
}
.eccube-header-cta-inner p:first-child a svg {
  right: 5.3333vw;
  width: 5.3333vw
}
.eccube-header-cta-inner p:last-child {
  margin-top: 2.6667vw;
  text-align: center
}
.eccube-header-cta-inner p:last-child a {
  color: #fff !important;
  font-size: 3.7333vw;
  position: relative
}
.eccube-header-cta-inner p:last-child a:before {
  background: rgba(255, 255, 255, .33);
  bottom: -0.2667vw;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%
}
.eccube-footer-inner {
  background: #efefef;
  padding: 0 6.6667vw
}
.eccube-footer-upper-inner {
  border-bottom: 1px solid #e1e1e1;
  padding: 1.3333vw 0
}
.eccube-footer-upper-inner button {
  align-items: center;
  display: flex;
  font-size: 3.7333vw;
  font-weight: 800;
  justify-content: space-between;
  min-height: 11.7333vw;
  width: 100%
}
.eccube-footer-upper-inner button span {
  align-items: center;
  background: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 999px;
  display: flex;
  height: 6.4vw;
  justify-content: center;
  position: relative;
  width: 6.4vw
}
.eccube-footer-upper-inner button span:before, .eccube-footer-upper-inner button span:after {
  background: #575564;
  content: "";
  display: block;
  height: .2667vw;
  position: absolute;
  transition: all .2s;
  width: 2.6667vw
}
.eccube-footer-upper-inner button span:after {
  transform: rotate(90deg)
}
.eccube-footer-upper-inner ul {
  display: grid;
  grid-template-columns: 1fr 1fr
}
.eccube-footer-upper-inner ul.is-flex {
  display: flex;
  flex-wrap: wrap
}
.eccube-footer-upper-inner ul.is-flex li {
  width: 50%
}
.eccube-footer-upper-inner ul.is-flex li.is-flex-inner {
  width: 100%
}
.eccube-footer-upper-inner a {
  align-items: center;
  display: flex;
  font-size: 3.7333vw
}
.eccube-footer-lower {
  padding: 16vw 0
}
.eccube-footer-logo {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 16vw
}
.eccube-footer-logo h2 {
  font-size: 0
}
.eccube-footer-logo h2 svg {
  width: 46.9333vw
}
.eccube-footer-logo ul {
  column-gap: 2.6667vw;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr
}
.eccube-footer-logo li a {
  background: #fff;
  border-radius: 999px;
  display: block
}
.eccube-footer-logo li a:after {
  content: none !important
}
.eccube-footer-logo li svg {
  width: 8vw
}
.eccube-footer-policy {
  margin: -2.6667vw 0 0 -5.3333vw
}
.eccube-footer-policy li {
  display: inline-block;
  font-size: 2.6667vw;
  margin: 2.6667vw 0 0 5.3333vw
}
.eccube-footer-copyright {
  align-items: center;
  background: #fff;
  display: flex;
  justify-content: center;
  padding: 5.3333vw 6.6667vw
}
.eccube-footer-copyright ul {
  border-right: 1px solid #e1e1e1;
  display: flex;
  margin-right: 4vw
}
.eccube-footer-copyright li {
  margin-right: 4vw;
  padding: 1.3333vw 0
}
.eccube-footer-copyright a, .eccube-footer-copyright small {
  font-size: 2.6667vw
}
.eccube-footer-copyright a[target=_blank]:after {
  top: -0.2667vw
}
.eccube-cta {
  background: #efefef;
  padding: 4vw 0 16vw
}
.eccube-cta-upper {
  background: #fccf00 url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201600%20400.002%22%3E%3Cpath%20fill%3D%22%23d0ab00%22%20d%3D%22m906.928%20400.002%2021.8-94.428C960.64%20167.347%201052.398%2058.474%201170.285%200h404.3q12.97%206.416%2025.412%2013.6v386.406Z%22%2F%3E%3C%2Fsvg%3E") no-repeat top right -133.3333vw;
  background-size: 426.6667vw auto;
  border-radius: 30px 30px 0 0;
  margin-bottom: -5.3333vw;
  padding: 8.2667vw 6.6667vw 0
}
.eccube-cta-upper h2 {
  font-size: 6.6667vw;
  font-weight: 800;
  margin-bottom: 8vw;
  text-align: center
}
.eccube-cta-upper h2 span {
  background: #575564;
  border-radius: 999px;
  color: #fff;
  display: inline-block;
  font-size: 3.2vw;
  font-weight: 500;
  min-width: 51.7333vw;
  padding: .2667vw 0 .8vw
}
.eccube-cta-upper li {
  background: #fff;
  border-radius: 15px 15px 0 15px;
  display: inline-block;
  font-size: 3.7333vw;
  font-weight: 800;
  letter-spacing: .05em;
  margin-bottom: 1.3333vw;
  padding: 2.4vw 2.6667vw 2.6667vw
}
.eccube-cta-upper li:last-child {
  margin-bottom: 0
}
.eccube-cta-lower {
  /*background: #575564;*/
  border-radius: 0 0 30px 30px;
  padding: 9.3333vw 6.6667vw 12vw
}
.eccube-cta-lower p {
  color: #fff;
  font-size: 3.7333vw;
  line-height: 1.7;
  margin-bottom: 8vw
}
.eccube-cta-lower li {
  margin-bottom: 4vw
}
.eccube-cta-lower li:last-child {
  margin-bottom: 0
}
.eccube-breadcrumb {
  padding: 2.6667vw 4vw
}
.eccube-breadcrumb ol {
  display: flex
}
.eccube-breadcrumb li {
  align-items: center;
  color: #575564;
  display: flex;
  font-size: 3.2vw
}
.eccube-breadcrumb li:after {
  background: #d0ab00;
  border-radius: 99px;
  content: "";
  display: block;
  height: 1.3333vw;
  margin: 0 2.6667vw;
  width: 1.3333vw
}
.eccube-breadcrumb li:last-child {
  color: #282828;
  flex: 1;
  font-weight: 800;
  min-width: 1em
}
.eccube-breadcrumb li:last-child:after {
  content: none
}
.eccube-breadcrumb li:last-child span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}
.eccube-title {
  padding: 12vw 6.6667vw
}
.eccube-title h1 {
  font-size: 6.6667vw;
  font-weight: 800;
  margin-bottom: 8vw
}
.eccube-title p {
  font-size: 3.2vw;
  line-height: 1.7;
  margin-bottom: 4vw
}
.eccube-title ul {
  display: flex;
  justify-content: space-between
}
.eccube-title li {
  width: calc((100% - 1.3333vw)/2)
}
.eccube-title-general {
  align-items: center;
  display: flex;
  min-height: 48vw;
  padding: 5.3333vw 6.6667vw 10.6667vw
}
.eccube-title-general h1 {
  font-size: 5.3333vw;
  font-weight: 800
}
.eccube-list-card ul {
  display: grid;

	gap: 3.6667vw 3.6667vw;
	grid-template-columns: 1fr 1fr
}
.eccube-list-card a {
  background: #f4f4f4;
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative
}
.eccube-list-card figure + figure {
  margin: -11.4667vw 0;
  position: relative;
  text-align: right
}
.eccube-list-card figure + figure img {
  height: 22.9333vw;
  width: auto
}
.eccube-list-card h3 {
  font-size: 3.7333vw;
  font-weight: 800;
  line-height: 1.7;
  margin-bottom: 4vw;
        border-bottom: 1px #ccc solid;
}
.eccube-list-card.is-card-white .eccube-list-card-inner {
  background: #fff
}
.eccube-list-card-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  /*padding: 0vw 6.6667vw 2vw*/
}
.eccube-list-company {
  font-size: 3.2vw;
  margin: 1vw 0 2.6667vw
}
.eccube-list-tag {
  background: #575564;
  border-radius: 999px;
  color: #fff;
  display: inline-block;
  font-size: 3.2vw;
  padding: .2667vw 3.4667vw .8vw 3.7333vw
}
.eccube-list-arrrow {
  align-items: center;
  background: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 999px;
  bottom: 4vw;
  display: flex;
  height: 10.6667vw;
  justify-content: center;
  position: absolute;
  right: 4vw;
  width: 10.6667vw
}
.eccube-list-arrrow svg {
  fill: #575564;
  width: 4.5333vw
}
.eccube-list-text {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  font-size: 3.2vw;
  line-height: 1.7;
  overflow: hidden;
  padding-right: 13.3333vw
}
.eccube-list-time {
  align-items: center;
  display: flex;
  margin-top: 1.3333vw
}
.eccube-list-time p {
  background: #575564;
  border-radius: 999px;
  color: #fff;
  font-size: 3.2vw;
  padding: .2667vw 3.4667vw .8vw 3.7333vw
}
.eccube-list-time time {
  font-size: 3.2vw;
  font-weight: 800;
  margin-left: 2.6667vw
}
.eccube-list-info .js-modal-button {
  margin-bottom: 12vw
}
.eccube-list-info-aside h2 {
  font-size: 3.7333vw;
  font-weight: 800;
  margin-bottom: 4vw
}
.eccube-list-info-aside h3 {
  color: #575564;
  font-size: 3.7333vw;
  font-weight: 500;
  margin-bottom: 2.6667vw
}
.eccube-list-info-aside-contents {
  background: #f4f4f4;
  border: 1px solid #e1e1e1;
  padding: 5.3333vw
}
.eccube-list-info-aside-news {
  display: grid;
  grid-template-columns: 1fr 1fr
}
.eccube-list-info-aside-news a {
  align-items: center;
  color: #575564;
  display: flex;
  font-size: 3.7333vw;
  padding: 2.6667vw 0
}
.eccube-list-info-aside-news a:before {
  background: #575564;
  border-radius: 99px;
  content: "";
  display: block;
  height: 1.3333vw;
  margin-right: 1.8667vw;
  width: 1.3333vw
}
.eccube-list-info-aside-weakness-01, .eccube-list-info-aside-weakness-02 {
  display: flex;
  margin-bottom: 5.3333vw
}
.eccube-list-info-aside-weakness-01 a, .eccube-list-info-aside-weakness-02 a {
  align-items: center;
  background: #fff;
  border: 1px solid #e1e1e1;
  color: #575564;
  display: flex;
  font-size: 3.7333vw;
  font-weight: 800;
  height: 9.8667vw;
  justify-content: center;
  letter-spacing: 0;
  margin-right: 2.6667vw
}
.eccube-list-info-aside-weakness-01 a {
  border-radius: 999px;
  width: 9.8667vw
}
.eccube-list-info-aside-weakness-02 a {
  padding: 0 2.6667vw
}
.eccube-list-info-aside-weakness-03 input[type=text] {
  background: #fff;
  border: 1px solid #e1e1e1;
  font-size: 16px;
  height: 46px;
  margin-bottom: 2.6667vw;
  padding: 0 10px;
  width: 100%
}
.eccube-list-info-aside-weakness-03 input[type=submit], .eccube-list-info-aside-weakness-03 button {
  background: #575564;
  border-radius: 999px;
  color: #fff;
  display: block;
  font-size: 3.7333vw;
  font-weight: 500;
  margin: 0 auto;
  padding: .2667vw 0 .8vw;
  width: 24vw
}
.eccube-list-info-contents ul {
  border-top: 1px solid #e1e1e1
}
.eccube-list-info-contents a {
  border-bottom: 1px solid #e1e1e1;
  display: block;
  padding: 8vw 0
}
.eccube-list-info-contents h3 {
  font-size: 3.7333vw;
  line-height: 1.7
}
.eccube-list-info-contents-inner {
  align-items: center;
  display: flex;
  margin-bottom: 4vw
}
.eccube-list-info-contents-inner time {
  font-size: 3.7333vw;
  font-weight: 800
}
.eccube-list-info-tag {
  background: #f4f4f4;
  border: 1px solid #efefef;
  border-radius: 999px;
  font-size: 3.2vw;
  font-weight: 800;
  margin-left: 4vw;
  padding: 0 4vw .2667vw 4.2667vw
}
.eccube-list-info-tag.is-release {
  color: #d0ab00
}
.eccube-list-info-tag.is-news {
  color: #1313d0
}
.eccube-list-info-title-news {
  font-weight: 500
}
.eccube-list-info-title-weakness {
  font-weight: 800
}
.eccube-list-info-contents-weakness {
  margin-top: 2.6667vw
}
.eccube-list-info-contents-weakness th, .eccube-list-info-contents-weakness td {
  border: 1px solid #e1e1e1;
  font-size: 3.2vw;
  padding: 1.8667vw 4vw 2.4vw
}
.eccube-list-info-contents-weakness th {
  background: #efefef;
  font-weight: 500
}
.eccube-list-info-contents-weakness td {
  font-weight: 800
}
.eccube-list-info-contents-weakness dl {
  align-items: center;
  display: flex;
  margin-top: 2.6667vw
}
.eccube-list-info-contents-weakness dt {
  font-size: 3.2vw
}
.eccube-list-info-contents-weakness dd {
  align-items: center;
  border-radius: 999px;
  display: flex;
  font-size: 3.2vw;
  font-weight: 800;
  height: 8.5333vw;
  justify-content: center;
  letter-spacing: 0;
  margin-left: 2.6667vw;
  width: 8.5333vw
}
.eccube-list-info-contents-weakness dd.is-row {
  background: #efefef
}
.eccube-list-info-contents-weakness dd.is-middle {
  background: #1313d0;
  color: #fff
}
.eccube-list-info-contents-weakness dd.is-high {
  background: red;
  color: #fff
}
.eccube-list-info-contents-weakness dd span {
  position: relative;
  top: -0.2667vw
}
html.is-display, body.is-display {
  position: fixed;
  width: 100%
}
.js-modal.is-display .js-modal-bg {
  opacity: 1;
  transition: opacity .3s;
  visibility: visible
}
.js-modal.is-display .js-modal-inner {
  opacity: 1;
  transform: translateY(-50%);
  transition: opacity .3s .3s, transform .3s .3s;
  visibility: visible
}
.js-modal-bg {
  background: rgba(0, 0, 0, .75);
  cursor: pointer;
  height: 100vh;
  left: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  transition: opacity .3s, visibility 0s .3s;
  visibility: hidden;
  width: 100%;
  z-index: 100
}
.js-modal-inner {
  left: 6.6667vw;
  max-width: calc(100% - 13.3333vw);
  opacity: 0;
  position: fixed;
  top: 50%;
  transform: translateY(-49%);
  transition: opacity .3s, transform .3s, visibility 0s .3s;
  visibility: hidden;
  width: 100%;
  z-index: 101
}
.js-modal-close {
  align-items: center;
  background: #575564;
  border-radius: 999px;
  display: flex;
  height: 10.6667vw;
  justify-content: center;
  position: absolute;
  right: -2.6667vw;
  top: -2.6667vw;
  width: 10.6667vw
}
.js-modal-close:before, .js-modal-close:after {
  background: #fff;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  width: 4vw
}
.js-modal-close:before {
  transform: rotate(45deg)
}
.js-modal-close:after {
  transform: rotate(-45deg)
}
.js-modal-contents {
  background: #fff;
  border-radius: 10px;
  max-height: 70vh;
  overflow-y: auto
}
.js-modal-contents-inner {
  padding: 6.6667vw
}
.js-modal-contents-inner > *:first-child {
  margin-top: 0 !important
}
.js-modal-contents-inner > *:last-child {
  margin-bottom: 0 !important
}
.pagination {
  padding-top: 8vw
}
.page-numbers {
  display: flex;
  justify-content: center
}
.page-numbers a, .page-numbers span {
  align-items: center;
  background: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 999px;
  display: flex;
  font-size: 4.2667vw;
  font-weight: 800;
  height: 10.6667vw;
  justify-content: center;
  letter-spacing: 0;
  margin: 0 2.6667vw;
  width: 10.6667vw
}
.page-numbers .current, .page-numbers .dots {
  background: none;
  border: none
}
.eccube-cases-eyecatch-wrap, .eccube-blog-eyecatch {
  margin: -12vw -6.6667vw 12vw
}
.eccube-cases-eyecatch-inner {
  padding: 4vw 6.6667vw 8vw
}
.eccube-cases-eyecatch-inner figure {
  margin: 0 auto 4vw;
  width: 37.3333vw
}
.eccube-cases-eyecatch-text {
  margin: 0 auto;
  min-width: 73.3333vw;
  width: fit-content
}
.eccube-cases-eyecatch-text p {
  font-size: 3.2vw
}
.eccube-cases-eyecatch-text small {
  font-size: 2.6667vw
}
.eccube-cases-eyecatch-text .eccube-list-tag {
  margin-top: 4vw
}
.eccube-cases-eyecatch-company, .eccube-cases-eyecatch-name {
  margin-bottom: 2.6667vw
}
p.eccube-cases-eyecatch-link {
  color: #afafaf;
  font-size: 2.6667vw
}
.eccube-eyecatch-cta {
  background: #f4f4f4;
  padding: 6.6667vw 0
}
.eccube-eyecatch-cta p:first-child {
  display: table;
  font-size: 3.7333vw;
  font-weight: 800;
  line-height: 1.1;
  margin: 0 auto 4vw
}
.eccube-eyecatch-cta p:first-child b {
  color: #d0ab00;
  font-size: 5.3333vw
}
.eccube-eyecatch-cta p:first-child span {
  font-size: 6.6667vw;
  position: relative;
  top: .2667vw
}
.eccube-eyecatch-cta p a {
  max-width: 73.3333vw;
  min-height: 11.7333vw
}
.eccube-eyecatch-cta p a span {
  font-size: 4vw
}
.eccube-eyecatch-cta p a svg {
  width: 4.5333vw
}
.eccube-contents-cta {
  margin: 12vw -6.6667vw -16vw;
  padding: 12vw 6.6667vw 16vw
}
.eccube-contents-cta p {
  color: #fff;
  font-size: 3.7333vw;
  line-height: 1.7;
  margin-bottom: 4vw
}
.eccube-contents-cta li:first-child {
  margin-bottom: 4vw
}
.eccube-flow {
  padding: 16vw 6.6667vw 0
}
.eccube-flow h2 {
  font-size: 6.6667vw;
  font-weight: 800;
  margin-bottom: 12vw;
  text-align: center
}
.eccube-flow .eccube-list-card {
  margin-bottom: 12vw
}
.eccube-blog-info {
  margin: 12vw 0 -12vw;
  padding-bottom: 6.6667vw
}
.eccube-blog-eyecatch .eccube-blog-info {
  margin: 0;
  padding: 6.6667vw
}
.eccube-time {
  align-items: center;
  display: flex;
  margin-bottom: 4vw
}
.eccube-time time {
  align-items: center;
  color: #575564;
  display: flex;
  font-size: 3.2vw
}
.eccube-time time:before {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20fill%3D%22%23575564%22%20d%3D%22M8%200a8%208%200%201%201-8%208%208%208%200%200%201%208-8Z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M3.2%208a4.8%204.8%200%200%201%204.346-4.78v1.208a3.6%203.6%200%201%200%203.589%201.8L9.863%207.5%209.3%203.538l3.959.565L12%205.354A4.8%204.8%200%201%201%203.2%208Z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  content: "";
  display: block;
  height: 4.2667vw;
  margin-right: 1.3333vw;
  width: 4.2667vw
}
.eccube-hashtag {
  background: #f4f4f4;
  border: 1px solid #efefef;
  border-radius: 999px;
  color: #575564;
  font-size: 3.2vw;
  margin-left: 4vw;
  padding: 0 2.6667vw .2667vw 2.9333vw
}
.eccube-share {
  align-items: center;
  display: flex
}
.eccube-share textarea {
  bottom: -100%;
  opacity: 0;
  position: fixed
}
.eccube-share-x, .eccube-share-fb {
  border-radius: 999px;
  display: block;
  height: 8vw;
  margin-right: 4vw;
  width: 8vw
}
.eccube-share-x {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2030%2030%22%3E%3Cpath%20fill%3D%22%23282828%22%20d%3D%22M15%200A15%2015%200%201%201%200%2015%2015%2015%200%200%201%2015%200Z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M16.318%2013.775%2022.145%207h-1.38L15.7%2012.882%2011.662%207H7l6.112%208.9L7%2023h1.382l5.344-6.213L17.994%2023h4.663l-6.341-9.225Zm-1.889%202.2-.619-.886L8.879%208.04H11l3.977%205.688.619.886%205.169%207.394h-2.122l-4.215-6.034Z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center
}
.eccube-share-fb {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2030.187%2030.001%22%3E%3Cpath%20fill%3D%22%231877f2%22%20d%3D%22M30.187%2015.091a15.093%2015.093%200%201%200-17.451%2014.908V19.451H8.901v-4.36h3.832v-3.326a5.326%205.326%200%200%201%205.7-5.869%2023.209%2023.209%200%200%201%203.379.3v3.703h-1.9a2.18%202.18%200%200%200-2.46%202.348v2.841h4.192l-.671%204.36h-3.521v10.551a15.093%2015.093%200%200%200%2012.735-14.908Z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center
}
.eccube-share-copy {
  background: #f4f4f4;
  border: 1px solid #efefef;
  color: #575564;
  display: flex;
  font-size: 3.2vw;
  font-weight: 500;
  justify-content: center;
  min-width: 48vw;
  padding: 0 2.6667vw .5333vw
}
.eccube-share-copy:after {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%208.001%208.001%22%3E%3Cpath%20fill%3D%22%23575564%22%20d%3D%22M0%207.999v-6h2v-2h6v6H6v2Zm1-1h4v-4H1Zm6-2v-4H3v1h3v3Z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  content: "";
  display: block;
  height: 2.1333vw;
  margin-left: .5333vw;
  position: relative;
  top: .8vw;
  width: 2.1333vw
}
.eccube-share-copy.is-copied {
  background: none
}
.eccube-fixed-cta {
  background: #575564;
  bottom: 0;
  left: 0;
  opacity: 0;
  padding: 2.6667vw 6.6667vw;
  position: fixed;
  transform: translateY(101%);
  transition: all .3s;
  width: 100%;
  z-index: 10
}
.eccube-fixed-cta.is-fixed {
  box-shadow: 0 -0.8vw 1.3333vw rgba(0, 0, 0, .05);
  opacity: 1;
  top: initial;
  transform: translateY(0)
}
.eccube-fixed-cta-button {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}
.eccube-fixed-cta-button li {
  width: calc((100% - 1.3333vw)/2)
}
.eccube-fixed-cta-button a {
  box-shadow: none
}
.eccube-useful-card ul {
  display: grid;
  row-gap: 6.6667vw
}
.eccube-useful-card li {
  height: initial
}
.eccube-useful-card a {
  background: #fff;
  display: flex;
  flex-direction: column;
  height: 100%
}
.eccube-useful-card h3 {
  font-size: 3.7333vw;
  font-weight: 800;
  padding: 0 4vw 4vw
}
.eccube-useful-card h3 + p {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  margin: auto 0 5.3333vw;
  overflow: hidden;
  padding: 0 4vw
}
.eccube-useful-card p {
  display: flex;
  font-size: 3.2vw;
  justify-content: center;
  padding-bottom: 5.3333vw
}
.eccube-useful-card p span {
  background: #fccf00;
  border-radius: 999px;
  display: block;
  font-weight: 800;
  padding: .8vw 3.4667vw 1.3333vw
}
.eccube-top-hero {
  background: linear-gradient(0deg, #575564 0%, #575564 50%, #efefef 50%, #efefef 100%);
  overflow: hidden
}
.eccube-top-hero-inner {
  padding: 29.0667vw 6.6667vw 25.3333vw;
  position: relative
}
.eccube-top-hero-inner > svg {
  left: -6.6667vw;
  position: absolute;
  top: 49.3333vw;
  width: 113.3333vw
}
.eccube-top-hero-inner h2 {
  letter-spacing: .1em;
  margin-bottom: 4vw;
  position: relative
}
.eccube-top-hero-inner > p {
  font-size: 3.2vw;
  letter-spacing: .1em;
  line-height: 1.7;
  margin-bottom: 8vw;
  position: relative
}
.eccube-top-hero-inner ul {
  position: relative
}
.eccube-top-hero-inner li:first-child p:first-child {
  color: #fff;
  font-size: 3.2vw;
  font-weight: 800;
  margin-bottom: 1.3333vw;
  text-align: center
}
.eccube-top-hero-inner li:first-child p:last-child {
  margin-top: 1.3333vw;
  text-align: center
}
.eccube-top-hero-inner li:first-child p:last-child a {
  color: #fff;
  font-size: 3.2vw;
  position: relative
}
.eccube-top-hero-inner li:first-child p:last-child a:before {
  background: rgba(255, 255, 255, .33);
  bottom: -0.2667vw;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%
}
.eccube-top-hero-inner li:last-child {
  margin-top: 5.3333vw
}
.eccube-top-hero-inner .eccube-sw-button-primary span {
  font-size: 5.3333vw
}
.eccube-top-hero-inner .eccube-sw-button-primary svg {
  width: 5.3333vw
}
.eccube-top-hero-figure {
  margin-bottom: 16vw;
  position: relative
}
.eccube-top-hero-figure-ui {
  left: -2.6667vw;
  position: relative;
  width: 80.8vw
}
.eccube-top-hero-figure-ui svg {
  position: relative;
  z-index: 1
}
.eccube-top-hero-figure-ui:after {
  box-shadow: 0 4vw 8vw rgba(0, 0, 0, .15);
  content: "";
  display: block;
  height: 49.3333vw;
  left: 4vw;
  position: absolute;
  top: 0;
  width: 72.8vw
}
.eccube-top-hero-figure-mobile {
  left: 58.6667vw;
  position: absolute;
  top: 2.6667vw;
  width: 53.3333vw;
  z-index: 2
}
.eccube-top-logo {
  margin-top: -9.3333vw;
  overflow: hidden;
  padding-bottom: 12vw;
  position: relative
}
.eccube-top-logo > svg {
  left: 50%;
  position: relative;
  transform: translateX(-50%);
  width: 256vw
}
.eccube-top-logo h2 {
  margin-top: -5.3333vw;
  position: relative;
  text-align: center
}
.eccube-top-logo h2 svg {
  width: 86.6667vw
}
.eccube-top-logo-slider-wrap {
  padding: 8vw 0
}
.eccube-top-logo-slider {
  display: flex
}
.eccube-top-logo-slider ul {
  animation: slide-l 30s linear infinite;
  display: flex
}
.eccube-top-logo-slider.is-right {
  justify-content: flex-end
}
.eccube-top-logo-slider.is-right ul {
  animation: slide-r 30s linear infinite
}
.eccube-top-logo-slider li {
  width: 40vw
}
.eccube-top-logo-text {
  padding: 0 6.6667vw
}
.eccube-top-logo-text-inner {
  font-size: 4.2667vw;
  font-weight: 800;
  line-height: 1.7;
  margin-bottom: 2.6667vw;
  text-align: center
}
.eccube-top-logo-text-inner small {
  font-size: 3.2vw
}
.eccube-top-logo-annotation {
  color: #afafaf;
  font-size: 2.6667vw;
  padding-left: 1.4em;
  text-indent: -1.4em
}
@keyframes slide-l {
  0% {
    transform: translateX(0)
  }
  100% {
    transform: translateX(-100%)
  }
}
@keyframes slide-r {
  0% {
    transform: translateX(0)
  }
  100% {
    transform: translateX(100%)
  }
}
.eccube-top-campaign {
  background: #f4f4f4;
  border-bottom: 1px solid #e1e1e1;
  border-top: 1px solid #e1e1e1;
  padding: 2.6667vw 6.6667vw 4vw
}
.eccube-top-campaign dl {
  margin-bottom: 4vw
}
.eccube-top-campaign dl:last-child {
  margin-bottom: 0
}
.eccube-top-campaign dt {
  margin-bottom: 1.3333vw
}
.eccube-top-campaign dt p {
  background: #d0ab00;
  border-radius: 999px;
  color: #fff;
  display: inline-block;
  font-size: 3.2vw;
  padding: .2667vw 4.8vw .8vw 5.0667vw;
  white-space: nowrap
}
.eccube-top-campaign dd span {
  background-image: linear-gradient(90deg, #575564, #575564);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  font-size: 3.7333vw;
  line-height: 1.7;
  transition: background-size .8s
}
.eccube-top-campaign.is-bnr {
  padding: 6.6667vw
}
.eccube-top-trouble {
  background: #efefef;
  padding: 16vw 6.6667vw 10vw
}
.eccube-top-trouble h2 {
  font-size: 5.8667vw;
  font-weight: 800;
  margin-bottom: 8vw;
  text-align: center
}
.eccube-top-trouble h2 span {
  display: block;
  font-size: 4.2667vw
}
.eccube-top-trouble ul {
  display: grid;
  row-gap: 4vw;
	margin-bottom: 50px;
}
.eccube-top-trouble li {
  background: #fff;
  border-radius: 6.6667vw 6.6667vw 0 6.6667vw;
  font-size: 3.7333vw;
  font-weight: 800;
  line-height: 1.7;
  padding: 5.3333vw 6.6667vw
}
.eccube-top-trouble li:last-child {
  letter-spacing: .08em
}
.eccube-top-reason {
  background: #efefef;
  overflow: hidden;
  padding: 20vw 6.6667vw 16vw;
  position: relative
}
.eccube-top-reason > svg {
  height: 162.1333vw;
  position: absolute;
  right: -89.3333vw;
  top: 187.7333vw;
  width: auto
}
.eccube-top-reason h2 {
  font-size: 6.6667vw;
  margin-bottom: 8vw;
  text-align: center
}
.eccube-top-reason h2 svg {
  margin-right: .8vw;
  position: relative;
  top: .2667vw;
  width: 26.6667vw
}
.eccube-top-reason h2 span {
  align-items: center;
  background: #575564;
  border-radius: 999px;
  color: #fff;
  display: flex;
  font-size: 3.7333vw;
  justify-content: center;
  margin: 0 auto .8vw;
  padding: 1.6vw 0 1.8667vw;
  width: 69.3333vw
}
.eccube-top-reason h3 {
  display: inline-block;
  line-height: 1.3;
  margin-bottom: 5.3333vw;
  position: relative
}
.eccube-top-reason h3 span {
  background: #282828;
  box-shadow: 1.3333vw 1.3333vw 0px 0 #fccf00;
  color: #fff;
  display: inline-block;
  font-size: 6.6667vw;
  padding: 1.0667vw 2.6667vw 1.8667vw;
  position: relative
}
.eccube-top-reason h3 span:last-of-type {
  padding-top: 0
}
.eccube-top-reason h3 svg {
  height: 18.6667vw;
  position: absolute;
  width: auto
}
.eccube-top-reason h4 {
  font-size: 4.8vw;
  font-weight: 800;
  margin-bottom: 4vw
}
.eccube-top-reason p {
  font-size: 3.7333vw;
  line-height: 1.7
}
.eccube-top-reason p small {
  font-size: 2.6667vw
}
.eccube-top-reason-01 {
  position: relative;
	margin-bottom: 110px;
}
.eccube-top-reason-01 figure {
  /*left: -15.2vw;*/
  margin-bottom: -4vw;
  position: relative;
  width: 73.3333vw;
  width: 100%;
}
.eccube-top-reason-01 h3 svg {
  right: -8vw;
  top: -16vw
}
.eccube-top-reason-01-01, .eccube-top-reason-01-02 {
  margin-top: 12vw;
  position: relative
}
.eccube-top-reason-01-01 ul {
  font-size: 0;
  letter-spacing: 0;
  margin: -1.8667vw 0 0 -1.3333vw
}
.eccube-top-reason-01-01 li {
  background: #575564;
  border-radius: 999px;
  color: #fff;
  display: inline-block;
  font-size: 3.2vw;
  letter-spacing: .15em;
  margin: 1.8667vw 0 0 1.3333vw;
  padding: .2667vw 3.2vw .8vw 3.4667vw
}
.eccube-top-reason-01-02 {
  margin-bottom: 16vw
}
.eccube-top-reason-02 {
  position: relative;
  z-index: 1
}
.eccube-top-reason-02 h3 svg {
  left: -8vw;
  top: -16vw
}
.eccube-top-reason-02-figure {
  background: #575564;
  margin: 8vw -6.6667vw
}
.eccube-top-reason-02-figure-inner {
  display: flex
}
.eccube-top-reason-02-figure-inner figure {
  animation: slide-l 90s linear infinite
}
.eccube-top-reason-02-figure-inner img {
  width: 270.6667vw
}
.eccube-top-reason-02-column {
  margin-bottom: 18.6667vw
}
.eccube-top-reason-02-column-inner p {
  margin-bottom: 4vw
}
.eccube-top-reason-02-column-inner h5 {
  font-size: 3.7333vw;
  font-weight: 800;
  margin-bottom: 4vw
}
.eccube-top-reason-02-column-inner h5 strong {
  color: #d0ab00
}
.eccube-top-reason-02-column-inner .eccube-sw-box {
  padding: 4vw 5.3333vw 5.3333vw
}
.eccube-top-reason-02-column-inner li {
  margin-bottom: 1.3333vw
}
.eccube-top-reason-03 {
  margin-bottom: 12vw;
  position: relative
}
.eccube-top-reason-03 > svg {
  height: 52vw;
  left: -20vw;
  position: absolute;
  top: -26.6667vw;
  width: auto
}
.eccube-top-reason-03 h3 {
  padding-left: 16vw
}
.eccube-top-reason-03 h3 span {
  padding-bottom: 0
}
.eccube-top-reason-03 h3 span:last-of-type {
  padding: 1.0667vw 2.6667vw 1.8667vw
}
.eccube-top-reason-03 h3 svg {
  left: 13.3333vw;
  top: -16vw
}
.eccube-top-reason-03 h4 {
  margin-top: 12vw
}
.eccube-top-enterprise {
  background: linear-gradient(90deg, #00a1e8 0%, #1313d0 50%, #1313d0 100%);
  overflow: hidden;
  position: relative
}
.eccube-top-enterprise:before {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201920.001%20345.656%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22enterprise_line%22%20x1%3D%22.443%22%20x2%3D%22.809%22%20y1%3D%22.55%22%20y2%3D%22.191%22%20gradientUnits%3D%22objectBoundingBox%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23fccf00%22%20stop-opacity%3D%220%22%2F%3E%3Cstop%20offset%3D%22.316%22%20stop-color%3D%22%23fccf00%22%2F%3E%3Cstop%20offset%3D%22.667%22%20stop-color%3D%22%23d0ab00%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23d0ab00%22%20stop-opacity%3D%220%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20fill%3D%22url(%23enterprise_line)%22%20d%3D%22M75%20665.438%201995%20326.89V334L75%20672.546Z%22%20transform%3D%22translate(-75%20-326.89)%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  content: "";
  display: block;
  height: 92.2667vw;
  left: 50%;
  position: absolute;
  top: 18.6667vw;
  transform: translateX(-50%);
  width: 512vw
}
.eccube-top-enterprise .eccube-sw-button-secondary {
  border-color: rgba(255, 255, 255, .66)
}
.eccube-top-enterprise .eccube-sw-button-secondary span {
  color: #fff;
  font-weight: 500
}
.eccube-top-enterprise .eccube-sw-button-secondary svg {
  fill: #fff
}
.eccube-top-enterprise h3 {
  align-items: center;
  display: flex;
  margin: 12vw 0 6.6667vw
}
.eccube-top-enterprise h3:after {
  background: rgba(255, 255, 255, .33);
  content: "";
  flex: 1;
  height: 1px;
  margin-left: 2.6667vw
}
.eccube-top-enterprise h3 svg {
  width: 18.4vw
}
.eccube-top-enterprise ul {
  display: grid;
  gap: 12vw
}
.eccube-top-enterprise li h4 {
  color: #fff;
  font-size: 3.7333vw;
  font-weight: 500;
  margin-bottom: 2.6667vw
}
.eccube-top-enterprise li h4:before {
  background: #fff;
  border-radius: 999px;
  content: "";
  display: inline-block;
  height: 3.2vw;
  margin-right: 1.8667vw;
  position: relative;
  top: .1em;
  width: 3.2vw
}
.eccube-top-enterprise li figure {
  margin-bottom: 2.6667vw
}
.eccube-top-enterprise-inner {
  padding: 16vw 6.6667vw;
  position: relative
}
.eccube-top-enterprise-title {
  margin-bottom: 8vw
}
.eccube-top-enterprise-title h2 {
  margin-bottom: 8vw
}
.eccube-top-enterprise-title h2 svg {
  width: 73.3333vw
}
.eccube-top-enterprise-title p {
  color: #fff;
  font-size: 3.7333vw;
  font-weight: 400;
  line-height: 1.7
}
.eccube-top-enterprise-title p span {
  background: #fccf00;
  color: #282828;
  font-weight: 800;
  margin: 0 .1em;
  padding: 0 .1em .1em
}
.eccube-top-enterprise-logo {
  align-items: center;
  display: flex;
  justify-content: space-between
}
.eccube-top-enterprise-logo h5 svg {
  width: 69.3333vw
}
.eccube-top-enterprise-logo span {
  align-items: center;
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 999px;
  display: flex;
  height: 5.3333vw;
  justify-content: center;
  width: 10.6667vw
}
.eccube-top-enterprise-logo span svg {
  fill: #fff;
  width: 4.5333vw
}
.eccube-top-security {
  background: #575564;
  padding: 16vw 6.6667vw
}
.eccube-top-security h2 {
  color: #fff;
  font-size: 6.6667vw;
  font-weight: 800;
  margin-bottom: 4vw
}
.eccube-top-security > p {
  color: #fff
}
.eccube-top-security > p a {
  border-color: rgba(255, 255, 255, .33)
}
.eccube-top-security > p a span {
  font-weight: 500
}
.eccube-top-security > p a svg {
  fill: #fff
}
.eccube-top-security p {
  font-size: 3.7333vw;
  line-height: 1.7
}
.eccube-top-security > p:first-of-type {
  margin-bottom: 8vw
}
.eccube-top-security ul {
  display: grid;
  margin-bottom: 12vw;
  row-gap: 4vw
}
.eccube-top-security li {
  background: #fff;
  border-radius: 10px;
  padding: 5.3333vw 5.3333vw 6.6667vw
}
.eccube-top-security figure {
  margin-top: 4vw
}
.eccube-top-security figcaption {
  font-size: 2.6667vw;
  font-weight: 800;
  margin-top: .8vw;
  text-align: center
}
.eccube-top-security-inner {
  align-items: center;
  display: flex;
  margin-bottom: 4vw
}
.eccube-top-security-icon {
  align-items: center;
  border-radius: 999px;
  display: flex;
  height: 13.3333vw;
  justify-content: center;
  margin-right: 2.6667vw;
  width: 13.3333vw
}
.eccube-top-security-icon svg {
  width: 5.3333vw
}
.eccube-top-security-icon.is-app {
  background: #25609e
}
.eccube-top-security-icon.is-env {
  background: #079484
}
.eccube-top-security-icon.is-people {
  background: #50b0c3
}
.eccube-top-security-title {
  flex: 1
}
.eccube-top-security-title h3 {
  font-size: 4.2667vw;
  font-weight: 800
}
.is-app + .eccube-top-security-title h3 {
  color: #25609e
}
.is-env + .eccube-top-security-title h3 {
  color: #079484
}
.is-people + .eccube-top-security-title h3 {
  color: #50b0c3
}
.eccube-top-cases {
  background: #fff;
  padding: 16vw 6.6667vw
}
.eccube-top-cases h2 {
  font-size: 6.6667vw;
  font-weight: 800;
  margin-bottom: 8vw;
  text-align: center
}
.eccube-top-cases .eccube-list-card {
  margin-bottom: 12vw
}
.eccube-top-cases > p:last-of-type {
  color: #afafaf;
  font-size: 2.6667vw;
  margin-top: 2.6667vw
}
.eccube-top-cases-title p {
  font-size: 4.2667vw;
  font-weight: 800;
  line-height: 1.7;
  margin: 4vw 0 12vw;
  text-align: center
}
.eccube-top-cases-title p small {
  font-size: 3.2vw
}
.eccube-top-faq {
  background: #efefef;
  padding: 16vw 6.6667vw
}
.eccube-top-faq h2 {
  font-size: 6.6667vw;
  font-weight: 800;
  margin-bottom: 8vw;
  text-align: center
}
.eccube-top-faq dl {
  background: #fff;
  margin-bottom: 2.6667vw;
  padding: 5.3333vw 4vw
}
.eccube-top-faq dl:last-child {
  margin-bottom: 0
}
.eccube-top-faq dl:not(.is-open) .eccube-sw-button-primary {
  margin-top: 0;
  min-height: 0;
  transition: transform .2s, background .2s, box-shadow .2s, margin-top .3s .3s, min-height .3s .3s
}
.eccube-top-faq dl .eccube-sw-button-primary {
  margin-top: 4vw;
  transition: transform .2s, background .2s, box-shadow .2s, margin-top .3s, min-height .3s
}
.eccube-top-faq dt, .eccube-top-faq dd {
  display: flex;
  padding-left: 9.3333vw;
  position: relative
}
.eccube-top-faq dt:before, .eccube-top-faq dd:before {
  content: "";
  display: block;
  height: 8vw;
  left: 0;
  position: absolute;
  top: -0.8vw;
  width: 8vw
}
.eccube-top-faq dt p, .eccube-top-faq dd p {
  flex: 1;
  font-size: 3.7333vw
}
.eccube-top-faq dt:before {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2050%2050%22%3E%3Cpath%20fill%3D%22%23fccf00%22%20d%3D%22M25%200A25%2025%200%201%201%200%2025%2025%2025%200%200%201%2025%200Z%22%2F%3E%3Cpath%20fill%3D%22%23282828%22%20d%3D%22M24.666%2030.982a4.865%204.865%200%200%200%201.255-.16%206.247%206.247%200%200%200%20.845-.308l-1.835-1.747%201.947-2.032%201.843%201.736a8.557%208.557%200%200%200%20.6-1.55%208.923%208.923%200%200%200%20.27-2.325%207.743%207.743%200%200%200-1.249-4.717%204.275%204.275%200%200%200-3.648-1.667%204.449%204.449%200%200%200-3.592%201.6%207.3%207.3%200%200%200-1.336%204.785q0%203.728%201.92%205.339a4.475%204.475%200%200%200%202.98%201.046Zm8.721-6.656a12.064%2012.064%200%200%201-.591%204.06%206.755%206.755%200%200%201-1.41%202.591l2.08%201.966L31.488%2035l-2.178-2.067a9.138%209.138%200%200%201-1.724.853%209.25%209.25%200%200%201-2.92.407%208.354%208.354%200%200%201-5.86-2.116q-2.807-2.547-2.807-7.48%200-4.97%202.879-7.517a8.5%208.5%200%200%201%205.844-2.079%208.381%208.381%200%200%201%205.905%202.2%209.217%209.217%200%200%201%202.756%207.125Z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center
}
.eccube-top-faq dt p {
  font-weight: 800;
  line-height: 1.7
}
.eccube-top-faq dt span {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  width: 6.6667vw
}
.eccube-top-faq dt span:after {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2021.213%2012.73%22%3E%3Cpath%20fill%3D%22%23d0ab00%22%20d%3D%22M10.604%208.484%202.12.005.001%202.124%2010.61%2012.729l2.119-2.121%208.484-8.484-2.125-2.125Z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  content: "";
  display: block;
  height: 2.4vw;
  transition: all .3s;
  width: 4vw
}
.eccube-top-faq dd {
  opacity: 0;
  transition: margin-top .3s .3s, opacity .3s;
  visibility: hidden
}
.eccube-top-faq dd:before {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2030%2030%22%3E%3Cpath%20fill%3D%22%23575564%22%20d%3D%22M15%200A15%2015%200%201%201%200%2015%2015%2015%200%200%201%2015%200Z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M13.349%2015.88h3.244l-1.6-4.985Zm.174-7.882h3L21%2020.667h-2.871l-.836-2.6h-4.665l-.859%202.6H9Z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: 5.3333vw auto
}
.eccube-top-faq dd p {
  line-height: 0;
  transition: all .3s .3s
}
.eccube-top-faq dd p a[target=_blank]:after {
  content: none
}
.js-faq.is-open dt span:after {
  transform: rotate(180deg)
}
.js-faq.is-open dd {
  margin-top: 4vw;
  opacity: 1;
  transition: margin-top .3s, opacity .3s .3s;
  visibility: visible
}
.js-faq.is-open dd p {
  line-height: 1.7;
  transition: all .3s
}
.eccube-top-useful {
  background: #efefef;
  padding: 8vw 0 16vw
}
.eccube-top-useful h2 {
  font-size: 6.6667vw;
  font-weight: 800;
  margin-bottom: 8vw;
  text-align: center
}
.eccube-top-useful ul {
  display: flex
}
.eccube-top-useful li {
  max-width: 76vw;
  padding: 0 4vw
}
.eccube-top-useful button {
  background: #575564;
  border-radius: 999px;
  height: 10.6667vw;
  width: 10.6667vw
}
.eccube-top-useful button:after {
  border-top: .56vw solid #fff;
  content: "";
  height: 2.6667vw;
  width: 2.6667vw
}
.eccube-top-useful button.swiper-button-prev {
  left: 2.6667vw
}
.eccube-top-useful button.swiper-button-prev:after {
  border-left: .56vw solid #fff;
  left: .5333vw;
  position: relative;
  transform: rotate(-45deg)
}
.eccube-top-useful button.swiper-button-next {
  right: 2.6667vw
}
.eccube-top-useful button.swiper-button-next:after {
  border-right: .56vw solid #fff;
  position: relative;
  right: .5333vw;
  transform: rotate(45deg)
}
.eccube-top-useful .eccube-useful-card + p {
  padding: 12vw 6.6667vw 0
}
.eccube-top-event {
  background: #efefef;
  padding: 8vw 6.6667vw 16vw
}
.eccube-top-event h2 {
  font-size: 6.6667vw;
  font-weight: 800;
  margin-bottom: 8vw;
  text-align: center
}
.eccube-top-event .eccube-list-info-event {
  padding: 4vw 4vw 0
}
.eccube-top-event .eccube-list-info-event .eccube-list-info-contents-inner {
  margin-bottom: 2.6667vw
}
.eccube-top-event .eccube-list-info-event h3 {
  font-weight: 500
}
.eccube-top-event .eccube-list-info-tag.is-event {
  background: #575564;
  border: none;
  color: #fff;
  font-weight: 500;
  margin: 0 2.6667vw 0 0;
  padding: .2667vw 2.4vw .8vw 2.6667vw
}
.eccube-top-event .eccube-list-info-contents + p {
  margin-top: 12vw;
  text-align: center
}
.eccube-top-event .eccube-list-info-contents figure {
  aspect-ratio: 120/63;
  display: flex;
  overflow: hidden
}
.eccube-top-event .eccube-list-info-contents img {
  object-fit: cover;
  transition: all .2s
}
.eccube-top-news {
  background: #efefef;
  padding: 8vw 6.6667vw 16vw
}
.eccube-top-news h2 {
  font-size: 6.6667vw;
  font-weight: 800;
  margin-bottom: 8vw;
  text-align: center
}
.eccube-top-news .eccube-list-info-tag {
  background: #fff;
  border: none
}
.eccube-top-news .eccube-list-info-contents + p {
  display: flex;
  justify-content: space-around;
  margin-top: 12vw
}
.eccube-top-blog {
  background: #efefef;
  padding: 8vw 6.6667vw 16vw
}
.eccube-top-blog-title {
  margin-bottom: 8vw
}
.eccube-top-blog-title h2 {
  font-size: 6.6667vw;
  font-weight: 800;
  margin-bottom: 4vw;
  text-align: center
}
.eccube-top-blog-title p {
  font-size: 3.2vw;
  line-height: 1.7
}
.eccube-top-blog-list ul {
  display: grid;
  row-gap: 4vw
}
.eccube-top-blog-list a {
  align-items: center;
  display: flex
}
.eccube-top-blog-list figure {
  aspect-ratio: 1/1;
  display: flex;
  flex-basis: 16vw;
  overflow: hidden
}
.eccube-top-blog-list img {
  object-fit: cover;
  transition: all .2s
}
.eccube-top-blog-list h3 {
  flex: 1;
  line-height: 1.7;
  margin-left: 2.6667vw;
  position: relative
}
.eccube-top-blog-list h3 span {
  background: #fff;
  font-size: 3.7333vw;
  font-weight: 800;
  padding: .2667vw 0 .8vw
}
.eccube-top-blog-list + p {
  margin-top: 12vw
}
.is-page-reason {
  overflow: hidden
}
.eccube-page-reason-01-inner h2 {
  margin-bottom: 2.6667vw
}
.eccube-page-reason-01-inner h2 sup {
  font-size: 2.6667vw;
  font-weight: 500;
  margin: 0 .2667vw;
  position: relative;
  top: -0.8vw
}
.eccube-page-reason-annotation {
  color: #afafaf;
  font-size: 2.6667vw;
  margin-bottom: 8vw
}
.eccube-page-reason-01 svg, .eccube-page-reason-02 svg {
  filter: drop-shadow(0 0.5333vw 0.8vw rgba(0, 0, 0, 0.05))
}
.eccube-page-reason-03 h2 {
  margin-bottom: 5.3333vw
}
.eccube-page-reason-03 .eccube-sw-grid {
  gap: 4vw;
  margin: 0
}
.eccube-page-reason-04 {
  /*margin-bottom: -33.3333vw;*/
  padding-bottom: 10vw;
}
.eccube-page-reason-04 .eccube-sw-container-inner {
  position: relative
}
.eccube-page-reason-04 .eccube-sw-container-inner > figure {
  left: 50.1333vw;
  position: absolute;
  top: -20vw;
  width: 73.3333vw
}
.eccube-page-reason-04 .eccube-sw-container-inner > h3 {
  font-size: 4.8vw;
  font-weight: 800;
  margin: 16vw 0 5.3333vw
}
.eccube-page-reason-04 .is-width-1240 svg {
  height: 9.3333vw;
  position: absolute;
  right: -1.3333vw;
  top: -1.3333vw;
  width: auto
}
.eccube-page-reason-04 h2 {
  margin-bottom: 16vw
}
.eccube-page-reason-04 li {
  margin: 4vw 0;
  position: relative
}
.eccube-page-reason-05 {
  padding-top: 41.3333vw
}
.eccube-page-reason-05 p {
  margin-bottom: 5.3333vw
}
.eccube-page-reason-05 .eccube-sw-box {
  margin: 8vw 0
}
.eccube-page-reason-05 li {
  line-height: 1.7
}
.eccube-page-reason-05 li strong {
  color: #fff;
  font-size: 3.7333vw;
  font-weight: 500;
  letter-spacing: .04em;
  white-space: nowrap
}
.is-page-functions .eccube-list-card-inner {
  padding: 5.3333vw 4vw 14.6667vw
}
.is-page-functions .eccube-list-text {
  -webkit-line-clamp: initial;
  padding: 0
}
.eccube-page-card-security-card {
  display: block
}
.eccube-page-card-security-info {
  align-items: center;
  display: flex;
  margin-bottom: 2.6667vw
}
.eccube-page-card-security-info figure {
  margin-right: 2.6667vw;
  width: 20vw
}
.eccube-page-card-security-info-inner {
  flex: 1
}
.eccube-page-card-security-company {
  font-size: 3.7333vw;
  font-weight: 800
}
.eccube-page-card-security-address {
  color: #575564;
  font-size: 2.6667vw
}
.eccube-page-card-security-logo {
  align-items: center;
  aspect-ratio: 16/9;
  display: flex;
  justify-content: center;
  margin-bottom: 2.6667vw
}
.eccube-page-card-security-logo img {
  max-width: 100%;
  transition: all .3s;
  width: auto
}
.eccube-page-card-security-text {
  font-size: 3.2vw;
  line-height: 1.7
}
.eccube-page-alliance-list a {
  display: flex;
  flex-direction: column;
  padding: 4vw 4vw 12vw;
  position: relative
}
.eccube-page-alliance-list a .eccube-sw-box {
  margin: 0;
  padding: 4vw
}
.eccube-page-alliance-list a li {
  font-size: 3.2vw
}
.eccube-page-alliance-list a li small {
  font-size: 2.6667vw
}
.eccube-page-alliance-list figure {
  margin-bottom: 5.3333vw
}
.eccube-page-alliance-list h3 {
  font-size: 4.2667vw;
  font-weight: 800;
  margin-bottom: 2.6667vw
}
.eccube-page-alliance-list p {
  font-size: 3.2vw;
  line-height: 1.7;
  margin-bottom: 4vw
}
.eccube-page-alliance-list.column-2 h3 {
  font-size: 5.3333vw
}
.is-page-useful.eccube-sw-container {
  padding: 5.3333vw 4vw
}
.is-page-useful ul {
  display: flex;
  gap: 8vw;
  justify-content: center
}
.is-page-useful li a {
  align-items: center;
  display: flex
}
.is-page-useful li a span {
  color: #fff;
  font-size: 3.7333vw;
  position: relative;
  top: -0.2667vw
}
.is-page-useful li a svg:first-of-type {
  margin-right: 1.8667vw;
  width: 8vw
}
.is-page-useful li a svg:first-of-type circle {
  fill: rgba(0, 0, 0, 0)
}
.is-page-useful li a svg:first-of-type circle + circle {
  stroke: rgba(255, 255, 255, .33);
  stroke-width: 1px
}
.is-page-useful li a svg:last-of-type {
  margin-left: 1.3333vw;
  width: 2.6667vw
}
.is-page-useful + .eccube-sw-container {
  padding-bottom: 0
}
.is-page-useful + .eccube-sw-container .eccube-sw-heading-level-4 {
  margin-bottom: 8vw
}
.is-page-useful + .eccube-sw-container .eccube-useful-card {
  padding-bottom: 16vw
}
.is-form.eccube-header {
  padding: 4.5333vw 4vw;
  position: absolute
}
.is-form.eccube-header .eccube-sw-display-sp {
  margin-left: auto
}
.is-form.eccube-header .eccube-sw-display-sp a {
  align-items: center;
  background: #fccf00;
  border-radius: 999px;
  display: flex;
  height: 8vw;
  justify-content: center;
  width: 36.8vw
}
.is-form.eccube-header .eccube-sw-display-sp a span {
  font-size: 3.4667vw;
  font-weight: 800;
  position: relative;
  top: -0.2667vw
}
.is-form.eccube-sw-main {
  padding-top: 33.0667vw
}
.is-form h1 {
  display: flex;
  font-size: 6.6667vw;
  font-weight: 800;
  justify-content: center;
  margin-bottom: 8vw;
  padding: 0 6.6667vw;
  position: relative
}
.is-form h1 b {
  background: #575564;
  border-radius: 999px;
  color: #fff;
  font-size: 3.2vw;
  font-weight: 500;
  padding: .2667vw 2.6667vw .8vw 2.9333vw;
  position: absolute;
  top: -6.6667vw
}
.eccube-form fieldset {
  margin-bottom: 9.3333vw;
  position: relative
}
.eccube-form fieldset.is-consent {
  margin-bottom: 12vw
}
.eccube-form fieldset.is-consent label {
  margin-bottom: 4vw
}
.eccube-form fieldset.is-consent label.is-privacy {
  align-items: center;
  display: inline-flex;
  font-size: 4.2667vw;
  margin-bottom: 0
}
.eccube-form fieldset.is-consent p {
  color: #fff;
  font-size: 3.2vw;
  line-height: 1.7;
  margin-bottom: 5.3333vw
}
.eccube-form fieldset.is-consent p span {
  background-image: linear-gradient(90deg, #fff, #fff);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  transition: background-size .8s;
  word-break: break-all
}
.eccube-form label {
  color: #fff;
  display: block;
  font-size: 3.7333vw;
  margin-bottom: 2.6667vw
}
.eccube-form label span {
  display: block;
  font-size: 2.6667vw;
  margin-top: .8vw
}
.eccube-form label.is-checkbox {
  margin-bottom: 5.3333vw
}
.eccube-form input, .eccube-form textarea, .eccube-form select {
  background: #fff;
  border-radius: 5px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
  padding: 12px 10px 15px;
  width: 100%
}
.eccube-form input[type=checkbox], .eccube-form input[type=radio] {
  height: 8vw;
  margin-right: 2.6667vw;
  position: relative;
  top: .2667vw;
  width: 8vw
}
.eccube-form input[type=checkbox]:checked, .eccube-form input[type=radio]:checked {
  background: #d0ab00
}
.eccube-form input[type=checkbox]:checked:before, .eccube-form input[type=radio]:checked:before {
  border-bottom: .5333vw solid #fff;
  border-left: .5333vw solid #fff;
  content: "";
  display: block;
  height: 2.4vw;
  left: 2.1333vw;
  position: absolute;
  top: 2.1333vw;
  transform: rotate(-45deg);
  width: 3.4667vw
}
.eccube-form li {
  align-items: center;
  display: flex;
  margin-top: 4vw
}
.eccube-form li:first-child {
  margin: 0
}
.eccube-form li.is-other {
  margin-top: 2.6667vw
}
.eccube-form li label {
  font-size: 4.2667vw;
  margin: 0
}
.eccube-form li input[type=text] {
  flex: 1;
  margin-left: 4vw;
  opacity: .33;
  pointer-events: none
}
.eccube-form li input[type=checkbox]:checked ~ input[type=text], .eccube-form li input[type=radio]:checked ~ input[type=text] {
  opacity: 1;
  pointer-events: initial
}
.eccube-form input[type=radio] {
  border-radius: 999px
}
.eccube-form select {
  color: #282828
}
.eccube-form select:invalid {
  color: #c8c8c8
}
.eccube-form select:focus {
  color: #282828
}
.eccube-form select option {
  font-weight: 500
}
.eccube-form button {
  width: 100%
}
.eccube-form button span {
  font-size: 5.3333vw
}
.eccube-form button svg {
  width: 5.3333vw
}
.eccube-form .eccube-sw-button-primary {
  background: #e1e1e1 !important;
  box-shadow: none !important
}
.eccube-form .eccube-sw-button-primary svg {
  opacity: 0
}
.eccube-form .eccube-sw-button-primary.is-submit {
  background: #fccf00 !important;
  box-shadow: 0 .8vw 1.3333vw rgba(0, 0, 0, .33) !important
}
.eccube-form .eccube-sw-button-primary.is-submit svg {
  opacity: 1
}
.eccube-form .eccube-sw-button-primary.is-submitted {
  background: #e1e1e1 !important;
  box-shadow: none !important;
  pointer-events: none
}
.eccube-form .eccube-sw-button-primary.is-submitted svg {
  opacity: 0
}
.eccube-form-alert {
  background: red;
  border-radius: 999px;
  bottom: -6.6667vw;
  color: #fff;
  display: none;
  font-size: 2.6667vw;
  padding: .5333vw 1.8667vw .8vw;
  position: absolute;
  right: 0
}
.eccube-form-alert.is-alert {
  display: block
}
#f-consultation {
  height: 300px
}
.eccube-form-select {
  position: relative
}
.eccube-form-select select ~ span {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014.145%208.482%22%3E%3Cpath%20fill%3D%22%23d0ab00%22%20d%3D%22M5.656%207.066%200%201.41%201.41%200l5.656%205.652L12.728%200l1.416%201.416-7.072%207.066Z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  height: 10px;
  position: absolute;
  right: 15px;
  top: calc(50% - 5px);
  transition: all .3s;
  width: 14px
}
.eccube-form-select select:focus ~ span {
  transform: rotate(-180deg)
}
.eccube-form-footer {
  background: #fff;
  padding: 6.4vw 6.6667vw 6.9333vw
}
.eccube-form-footer p {
  text-align: center
}
.eccube-form-footer p small {
  font-size: 2.6667vw
}
.eccube-form-advisor {
  padding: 0 6.6667vw
}
.eccube-form-advisor-illust {
  display: flex;
  flex-direction: column;
  margin-bottom: -4.5333vw
}
.eccube-form-advisor-illust p {
  margin-bottom: 4vw
}
.eccube-form-advisor-illust svg {
  margin-left: auto;
  margin-right: 2.6667vw;
  width: 42.6667vw
}
.eccube-form-advisor-balloon {
  background: #fff;
  border-radius: 2.6667vw;
  margin-bottom: 8vw;
  padding: 4vw 4vw 0
}
.eccube-form-advisor-balloon h2 {
  font-size: 3.7333vw;
  font-weight: 800;
  margin-bottom: 2.6667vw
}
.eccube-form-advisor-balloon ul {
  margin-bottom: 4vw;
  padding-left: 4vw
}
.eccube-form-advisor-balloon li:before {
  background: #575564
}
.eccube-form-advisor-balloon-svg {
  text-align: center
}
.eccube-form-advisor-balloon-svg svg {
  margin-bottom: -0.5333vw;
  width: 40vw
}
.eccube-form-advisor-caution {
  background: #f4f4f4;
  border: 1px solid #e1e1e1;
  margin-bottom: 8vw;
  padding: 4vw
}
.eccube-form-advisor-caution p {
  font-size: 3.7333vw;
  font-weight: 800;
  line-height: 1.7
}
.eccube-form-advisor-caution p span {
  background-image: linear-gradient(90deg, #575564, #575564);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  transition: background-size .8s;
  word-break: break-all
}
.eccube-form-advisor-inputarea {
  background: #575564;
  border-radius: 10px;
  margin-bottom: 40vw;
  padding: 16vw 6.6667vw
}
.eccube-form-advisor-inputarea-title {
  margin-bottom: 8vw
}
.eccube-form-advisor-inputarea-title h2 {
  color: #fff;
  font-size: 3.7333vw;
  font-weight: 500;
  margin-bottom: 1.3333vw
}
.eccube-form-advisor-inputarea-title h2:before {
  background: #fccf00;
  border-radius: 999px;
  content: "";
  display: inline-block;
  height: 4.2667vw;
  margin-right: 1.8667vw;
  position: relative;
  top: .8vw;
  width: 4.2667vw
}
.eccube-form-advisor-inputarea-title p {
  color: #fff;
  font-size: 2.6667vw;
  text-align: right
}
.eccube-form-advisor-integrate {
  padding: 0 6.6667vw 16vw
}
.eccube-form-advisor-integrate .eccube-sw-anchor {
  font-size: 3.2vw
}
.eccube-form-advisor-integrate *:last-child {
  margin-bottom: 0
}
.eccube-form-advisor-integrate-flow {
  margin: 12vw 0
}
.eccube-form-advisor-integrate-flow dl {
  padding-bottom: 8vw;
  position: relative
}
.eccube-form-advisor-integrate-flow dl:last-child {
  padding-bottom: 0
}
.eccube-form-advisor-integrate-flow dl:last-child:after {
  content: none
}
.eccube-form-advisor-integrate-flow dt {
  color: #fff;
  font-size: 3.7333vw;
  padding: 1.0667vw 1em 1.3333vw;
  text-align: center
}
.eccube-form-advisor-integrate-flow dt.is-business {
  background: #0095a2
}
.eccube-form-advisor-integrate-flow dt.is-eccube {
  background: #d0ab00
}
.eccube-form-advisor-integrate-flow dt.is-integrate {
  background: #fff;
  color: #282828
}
.eccube-form-advisor-integrate-flow dd {
  background: #f4f4f4;
  border: 1px solid #e1e1e1;
  padding: 2.6667vw 2.6667vw 4vw
}
.eccube-form-advisor-integrate-flow dd p:last-child {
  padding-bottom: 0
}
.eccube-form-advisor-integrate-flow dd p:last-child:after {
  content: none
}
.eccube-form-advisor-integrate-flow p {
  font-size: 3.2vw;
  line-height: 1.7;
  padding-bottom: 8vw;
  position: relative
}
.eccube-form-advisor-integrate-flow p b {
  font-size: 3.7333vw;
  font-weight: 800
}
.eccube-form-advisor-integrate-flow > p {
  padding-bottom: 2.6667vw
}
.eccube-form-advisor-integrate-flow > p small {
  font-size: 3.2vw
}
.eccube-form-advisor-integrate-flow dl:after, .eccube-form-advisor-integrate-flow dd p:after {
  border-left: 2.6667vw solid rgba(0, 0, 0, 0);
  border-right: 2.6667vw solid rgba(0, 0, 0, 0);
  border-top: 2.6667vw solid #575564;
  bottom: 2.6667vw;
  content: "";
  left: calc(50% - 2.6667vw);
  position: absolute
}
.eccube-form-advisor-inputarea-iframe {
  margin-bottom: 32vw
}
.eccube-form-advisor-inputarea-iframe iframe {
  background: #fff;
  height: 4000px;
  width: 100%
}
.eccube-form-document {
  padding: 0 6.6667vw
}
.eccube-form-document .eccube-sw-box {
  border-radius: 10px;
  margin-bottom: 8vw !important
}
.eccube-form-document-slider {
  padding-bottom: 12vw
}
.eccube-form-document-slider h2 {
  padding: 0 6.6667vw
}
.eccube-form-document-slider li {
  padding: 4vw;
  width: 75.2vw
}
.eccube-form-document-slider img {
  box-shadow: 0 .5333vw .8vw rgba(0, 0, 0, .05)
}
.eccube-form-document-slider button {
  background: #575564;
  border-radius: 999px;
  height: 10.6667vw;
  width: 10.6667vw
}
.eccube-form-document-slider button:after {
  border-top: .5333vw solid #fff;
  content: "";
  height: 2.6667vw;
  width: 2.6667vw
}
.eccube-form-document-slider button.swiper-button-prev {
  left: 2.6667vw
}
.eccube-form-document-slider button.swiper-button-prev:after {
  border-left: .5333vw solid #fff;
  left: .5333vw;
  position: relative;
  transform: rotate(-45deg)
}
.eccube-form-document-slider button.swiper-button-next {
  right: 2.6667vw
}
.eccube-form-document-slider button.swiper-button-next:after {
  border-right: .5333vw solid #fff;
  position: relative;
  right: .5333vw;
  transform: rotate(45deg)
}
.eccube-sw-box.is-page-advisor-finish {
  margin-bottom: 0;
  padding-bottom: 12vw
}
.eccube-sw-box.is-page-advisor-finish p {
  margin-bottom: 4vw
}
.eccube-sw-box.is-page-advisor-finish ul {
  padding-left: 4vw
}
.eccube-sw-box.is-page-advisor-finish li:before {
  background: #575564
}
.eccube-sw-box.is-page-advisor-finish-form button {
  margin-bottom: 4vw
}
.eccube-sw-box.is-page-advisor-finish-form p {
  margin-bottom: 0
}
.is-page-document-finish .eccube-form-advisor-balloon {
  background: #f4f4f4
}
.is-formrun {
  background-image: none;
  padding-bottom: 1px !important
}
.is-formrun .eccube-sw-container {
  padding-top: 0
}
.eccube-enterprise-hero {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 512vw auto;
  margin-bottom: -10px;
  overflow: hidden
}
.eccube-enterprise-hero-white {
  background: url("/wp-content/themes/eccube/img/form/h1rwclso35skw9tyktuzjg4e/enterprise_hero_white_sp.png") no-repeat top -32vw left -45.3333vw;
  background-size: 190.6667vw auto
}
.eccube-enterprise-hero-slash {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201920.004%201080.002%22%3E%3Cpath%20fill%3D%22%231313d0%22%20d%3D%22m986.537%201080.005%20667.059-1080H1920v1080Z%22%2F%3E%3C%2Fsvg%3E");
  background-position: top -26.6667vw right -105.3333vw;
  background-repeat: no-repeat;
  background-size: 512vw auto
}
.is-enterprise .eccube-header.is-form {
  background: #fff;
  padding: 2.6667vw 4vw
}
.is-enterprise .eccube-header-logo svg {
  height: 4.2667vw
}
.is-enterprise .eccube-sw-main.is-formrun {
  background: none;
  padding-top: 0
}
.is-enterprise .eccube-sw-container {
  padding-bottom: calc(8vw + 10px);
  padding-top: 27.2vw
}
.is-enterprise .eccube-sw-container h1 {
  font-size: 6.6667vw;
  font-weight: 800;
  margin-bottom: 8vw
}
.is-enterprise .eccube-sw-container h1 svg {
  display: block;
  margin-bottom: 1.8667vw;
  width: 44vw
}
.is-enterprise .eccube-sw-container p {
  background: #fff;
  font-size: 3.7333vw;
  line-height: 1.7;
  padding: 1.3333vw 1.3333vw 1.3333vw 0
}
.is-enterprise .eccube-sw-container .eccube-sw-box {
  border-radius: 10px;
  margin-top: 8vw
}
.is-enterprise .eccube-sw-container .eccube-sw-box p {
  background: none
}
.formrun label span {
  background: #fff;
  border-radius: 5px;
  color: red;
  display: inline-block;
  font-size: 2.6667vw;
  line-height: 1;
  margin-left: .5em;
  padding: .5333vw 1.3333vw .8vw;
  position: relative;
  top: -0.1em
}
.formrun .eccube-sw-grid {
  margin: 0
}
.formrun .eccube-sw-grid.column-2 {
  gap: 4vw;
  grid-template-columns: 1fr 1fr
}
.formrun .eccube-form-alert {
  display: initial
}
.formrun .eccube-sw-button-primary {
  font-size: 4.2667vw;
  font-weight: 800;
  padding-bottom: 1.0667vw
}
.eccube-form-scroll {
  border-radius: 5px;
  height: 66.6667vw;
  margin-bottom: 5.3333vw;
  overflow-y: scroll
}
.eccube-form-scroll p {
  color: #282828 !important
}
.eccube-form-scroll p span {
  background-image: linear-gradient(90deg, #282828, #282828) !important
}
@media screen and (min-width: 769px) {
  a[href^=tel] {
    pointer-events: none
  }
  .eccube-sw-anchor:hover span, .eccube-sw-contents a:hover span {
    background-position: right bottom;
    background-size: 0 1px
  }
  a[target=_blank].eccube-sw-anchor:after, .eccube-sw-contents a[target=_blank]:after, .eccube-footer a[target=_blank]:after {
    height: 10px;
    margin: 0 4px;
    top: -2px;
    width: 10px
  }
  .eccube-sw-anchor-img img {
    transition: .2s all
  }
  .eccube-sw-anchor-img:hover img {
    opacity: .7
  }
  .eccube-sw-anchor-div {
    margin-top: -70px;
    padding-top: 70px
  }
  .eccube-sw-author {
    margin-top: 45px
  }
  .eccube-sw-author > p:first-child {
    font-size: 1.2rem;
    padding-bottom: 2px
  }
  .eccube-sw-author-inner {
    align-items: center;
    display: flex;
    padding: 20px 30px
  }
  .eccube-sw-author-inner figure {
    margin: 0 30px 0 0 !important
  }
  .eccube-sw-author-inner figure img {
    width: 100px !important
  }
  .eccube-sw-author-text p {
    font-size: 1.4rem !important;
    margin-bottom: 7px !important
  }
  .eccube-sw-author-link a span {
    font-size: 1.2rem
  }
  .is-bg-yellow {
    background-position-x: center;
    background-size: 1920px auto
  }
  .is-bg-gray-dark {
    background-position-x: center;
    background-size: 1920px auto
  }
  .eccube-sw-button-primary {
    box-shadow: 0 3px 5px rgba(0, 0, 0, .33);
    margin: 0 auto;
    max-width: 400px;
    min-height: 60px;
    transition: all .2s
  }
  .eccube-sw-button-primary span {
    font-size: 2rem;
    top: -1px
  }
  .eccube-sw-button-primary svg {
    right: 20px;
    transition: all .2s;
    width: 20px
  }
  .eccube-sw-button-primary:hover {
    background: #fddc00;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .33);
    transform: translateY(2px)
  }
  .eccube-sw-button-primary:hover svg {
    right: 17px
  }
  .eccube-sw-button-secondary {
    max-width: 400px;
    min-height: 60px;
    padding: 0 37px
  }
  .eccube-sw-button-secondary span {
    font-size: 1.8rem;
    top: -1px
  }
  .eccube-sw-button-secondary svg {
    right: 20px;
    transition: all .2s;
    width: 17px
  }
  .eccube-sw-button-secondary:hover {
    opacity: .7
  }
  .eccube-sw-button-secondary:hover svg {
    right: 17px
  }
  .eccube-sw-button-tertiary span {
    font-size: 1.6rem;
    top: -1px
  }
  .eccube-sw-button-tertiary span:before {
    bottom: -3px
  }
  .eccube-sw-button-tertiary svg {
    top: -7px;
    transition: all .2s;
    width: 17px
  }
  .eccube-sw-button-tertiary:hover span {
    background-position: right bottom;
    background-size: 0 1px
  }
  .eccube-sw-button-tertiary:hover svg {
    transform: translateX(3px)
  }
  .eccube-sw-button-cta {
    max-width: 240px;
    min-height: 60px;
    transition: all .2s
  }
  .eccube-sw-button-cta span {
    font-size: 1.8rem;
    top: -1px
  }
  .eccube-sw-button-cta svg {
    right: 15px;
    transition: all .2s;
    width: 17px
  }
  .eccube-sw-button-cta:hover {
    background: rgba(255, 255, 255, .7)
  }
  .eccube-sw-button-cta:hover svg {
    right: 12px
  }
  .eccube-sw-grid {
    gap: 30px !important;
    margin: 30px 0 45px
  }
  .eccube-sw-grid.column-2 {
    grid-template-columns: 1fr 1fr
  }
  .eccube-sw-grid.column-1-2 {
    grid-template-columns: calc((100% - 30px)*.33) calc((100% - 30px)*.67)
  }
  .eccube-sw-grid.column-2-1 {
    grid-template-columns: calc((100% - 30px)*.67) calc((100% - 30px)*.33)
  }
  .eccube-sw-grid.column-3 {
    grid-template-columns: 1fr 1fr 1fr
  }
  .eccube-sw-grid.column-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr
  }
  .eccube-sw-grid.column-5 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr
  }
  .eccube-sw-main {
    background-position: top center;
    background-size: 1920px auto;
    padding: 70px 0 0
  }
  .eccube-sw-main.is-contents {
    padding-bottom: 90px
  }
  .eccube-sw-container {
    padding: 60px 30px 30px 30px
  }
	
	
	.eccube-sw-container h2 {
		font-size: 3.5rem;
    margin-top: 60px;
    margin-bottom: 60px;
    text-align: center;
}
	
	    .eccube-sw-container>h3 {
        font-size: 2rem;
        margin: 45px 0 30px;
    }
	
  .eccube-sw-container-inner {
    margin: 0 auto
  }
  .eccube-sw-container-inner.is-width-1240 {
    max-width: 1240px
  }
  .eccube-sw-container-inner.is-width-1040 {
    max-width: 1040px
  }
  .eccube-sw-container-inner.is-width-960 {
    max-width: 960px
  }
  .eccube-sw-container-inner.is-width-860 {
    max-width: 860px
  }
  .eccube-sw-container-contents {
    padding: 0 30px
  }
  .eccube-sw-container-contents-inner {
    margin: 0 auto;
    max-width: 1240px;
    padding: 60px 30px
  }
  .eccube-sw-display-sp {
    display: none
  }
  .eccube-sw-display-pc {
    display: block
  }
  .eccube-sw-box {
    margin-bottom: 45px;
    padding: 25px 30px 27px
  }
  .eccube-sw-contents .eccube-sw-box {
    margin: 45px 0
  }
  .eccube-sw-contents pre {
    font-size: 1.6rem
  }
  .eccube-sw-iframe {
    margin: 45px auto;
    max-width: 660px
  }
  .eccube-sw-figure {
    margin: 30px 0 45px
  }
  .eccube-sw-contents figure {
    margin: 45px 0 60px
  }
  .eccube-sw-contents figure img {
    max-width: 660px;
    width: auto
  }
  .eccube-sw-figure figcaption, .eccube-sw-contents figure figcaption {
    font-size: 1.2rem;
    margin-top: 15px
  }
  .eccube-sw-figure.width-full img, .eccube-sw-contents figure.width-full img {
    max-width: initial;
    width: 100%
  }
  .eccube-sw-contents h2 {
    font-size: 3rem;
    margin: 90px 0 45px
  }
  .eccube-sw-heading-level-2 {
    font-size: 3rem;
    margin-bottom: 30px
  }
  .eccube-sw-heading-level-3 {
    font-size: 2.5rem;
    margin-bottom: 20px
  }
  .eccube-sw-contents h3 {
    font-size: 2.2rem;
    margin: 60px 0 30px
  }
  .eccube-sw-heading-level-4, .eccube-sw-contents h4 {
    border-width: 3px;
    padding-left: 10px
  }
  .eccube-sw-heading-level-4 {
    font-size: 2rem;
    margin-bottom: 15px
  }
  .eccube-sw-contents h4 {
    font-size: 1.8rem;
    margin: 45px 0 30px
  }
  .eccube-sw-hr, .eccube-sw-contents hr {
    margin: 60px 0
  }
  .eccube-sw-hr-space {
    margin: 30px 0
  }
  .eccube-sw-index {
    padding: 25px 30px 30px
  }
  .eccube-sw-index p {
    font-size: 1.6rem;
    margin-bottom: 10px !important
  }
  .eccube-sw-index ul {
    padding-left: 30px
  }
  .eccube-sw-index ul li:before {
    margin-right: 7px
  }
  .eccube-sw-index ul ul {
    margin-top: 5px !important
  }
  .eccube-sw-index ul ul li:before {
    height: 4px;
    top: -3px;
    width: 4px
  }
  .eccube-sw-index li {
    font-size: 1.4rem !important;
    margin-bottom: 5px !important
  }
  .eccube-sw-index a:hover {
    opacity: .7
  }
  .eccube-sw-interviewer, .eccube-sw-interviewee {
    display: flex;
    margin: 45px 0
  }
  .eccube-sw-interviewer p, .eccube-sw-interviewee p {
    font-size: 1.6rem
  }
  .eccube-sw-interviewer dt, .eccube-sw-interviewee dt {
    width: 115px
  }
  .eccube-sw-interviewer dd, .eccube-sw-interviewee dd {
    flex: 1
  }
  .eccube-sw-interviewer dd *:last-child, .eccube-sw-interviewee dd *:last-child {
    margin-bottom: 0
  }
  .eccube-sw-interviewer dt:before {
    background: #282828;
    content: "";
    display: block;
    height: 1px;
    margin-top: 16px;
    width: 100px
  }
  .eccube-sw-interviewee dt {
    font-size: 1.6rem;
    line-height: 2;
    margin: 0
  }
  .eccube-sw-ul li, .eccube-sw-ol li, .eccube-sw-contents ul li, .eccube-sw-contents ol li {
    font-size: 1.6rem;
    margin-bottom: 10px
  }
  .eccube-sw-ul li small, .eccube-sw-ol li small, .eccube-sw-contents ul li small, .eccube-sw-contents ol li small {
    font-size: 1.2rem
  }
  .eccube-sw-contents ul, .eccube-sw-contents ol {
    padding-left: 30px
  }
  table .eccube-sw-ul, table .eccube-sw-ol, table .eccube-sw-contents ul, table .eccube-sw-contents ol {
    padding-left: 0
  }
  table .eccube-sw-ul li, table .eccube-sw-ol li, table .eccube-sw-contents ul li, table .eccube-sw-contents ol li {
    font-size: 1.4rem;
    margin-bottom: 5px
  }
  .eccube-sw-ul, .eccube-sw-ol {
    margin-bottom: 45px
  }
  .eccube-sw-ul li, .eccube-sw-ol li {
    margin-bottom: 15px
  }
  .eccube-sw-contents ul, .eccube-sw-contents ol {
    margin: 45px 0
  }
  .eccube-sw-ul li, .eccube-sw-contents ul li {
    padding-left: 16px;
    text-indent: -16px
  }
  .eccube-sw-ul li:before, .eccube-sw-contents ul li:before {
    height: 6px;
    margin-right: 10px;
    top: -3px;
    width: 6px
  }
  .eccube-sw-ol, .eccube-sw-contents ol {
    margin: 45px 0
  }
  .eccube-sw-ol li, .eccube-sw-contents ol li {
    padding-left: 26px;
    text-indent: -26px
  }
  .eccube-sw-ol li:before, .eccube-sw-contents ol li:before {
    font-size: 1rem;
    height: 16px;
    margin-right: 10px;
    padding-bottom: 1px;
    top: -2px;
    width: 16px
  }
  .eccube-sw-sticky {
    justify-content: space-between;
    margin: 45px 0
  }
  .eccube-sw-sticky-inner {
    max-height: calc(100vh - 160px);
    overflow-y: auto;
    padding: 20px;
    position: sticky;
    top: 70px
  }
  .eccube-sw-sticky-inner p {
    font-size: 1.4rem !important;
    margin-bottom: 10px !important
  }
  .eccube-sw-sticky-inner a {
    font-size: 1.4rem;
    min-height: initial;
    padding: 10px 0
  }
  .eccube-sw-sticky-inner a:before {
    height: 5px;
    margin-right: 7px;
    width: 5px
  }
  .eccube-sw-sticky-inner a:hover {
    opacity: .7
  }
  .eccube-sw-sticky-column {
    width: calc((100% - 30px)*.75)
  }
  .eccube-sw-sticky-column.is-sticky {
    width: calc((100% - 30px)*.25)
  }
  .eccube-sw-sticky-column:first-child {
    margin: 0
  }
  .eccube-sw-table-vertical, .eccube-sw-table-horizontal {
    margin-bottom: 45px
  }
  .eccube-sw-table-vertical th, .eccube-sw-table-vertical td, .eccube-sw-table-vertical td p, .eccube-sw-table-horizontal th, .eccube-sw-table-horizontal td, .eccube-sw-table-horizontal td p {
    font-size: 1.4rem
  }
  .eccube-sw-table-vertical td small, .eccube-sw-table-horizontal td small {
    font-size: 1.2rem
  }
  .eccube-sw-contents .eccube-sw-table-vertical, .eccube-sw-contents .eccube-sw-table-horizontal {
    margin: 45px 0
  }
  .eccube-sw-table-vertical th, .eccube-sw-table-vertical td {
    display: table-cell;
    padding: 10px
  }
  .eccube-sw-table-vertical th {
    border-bottom: 1px solid #282828;
    border-top: 1px solid #282828;
    width: 33%
  }
  .eccube-sw-table-vertical td {
    border-bottom: 1px solid #e1e1e1;
    border-top: 1px solid #e1e1e1
  }
  .eccube-sw-table-horizontal {
    margin-left: 0;
    margin-right: 0;
    overflow-x: hidden;
    padding: 0
  }
  .eccube-sw-table-horizontal table {
    min-width: auto
  }
  .eccube-sw-table-horizontal th {
    padding: 8px .5em
  }
  .eccube-sw-table-horizontal th small {
    font-size: 1rem
  }
  .eccube-sw-table-horizontal td {
    padding: 8px 10px
  }
  .eccube-sw-text, .eccube-sw-contents p {
    font-size: 1.6rem;
    margin-bottom: 130px
  }
  .eccube-sw-text small, .eccube-sw-contents p small {
    font-size: 1.2rem
  }
  .eccube-header {
    padding: 20px 30px
  }
  .eccube-header button {
    display: none
  }
  .eccube-header nav {
    align-items: center;
    flex-direction: row;
    height: auto;
    opacity: 1;
    overflow-y: initial;
    position: static;
    visibility: visible;
    z-index: initial
  }
  .eccube-header.is-fixed {
    padding: 10px 30px
  }
  .eccube-header.is-fixed .eccube-header-cta ul {
    border-color: #efefef
  }
  .eccube-header.is-fixed .eccube-header-cta li svg path:first-child {
    fill: #efefef
  }
  .eccube-header-inner {
    margin: 0 auto;
    max-width: 1600px
  }
  .eccube-header-logo svg {
    height: 40px
  }
  .eccube-header-nav {
    background: none;
    display: flex;
    margin: 0 auto;
    padding: 0
  }
  .eccube-header-nav li {
    margin-left: 55px
  }
  .eccube-header-nav li:first-child {
    margin: 0
  }
  .eccube-header-nav a {
    align-items: center;
    display: flex;
    font-size: 1.6rem;
    height: 44px;
    position: relative
  }
  .eccube-header-nav a:before {
    background: #575564;
    bottom: 5px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    width: 100%
  }
  .eccube-header-nav a:hover:before {
    transform: scale(1, 1);
    transform-origin: left top
  }
  .eccube-header-cta {
    align-items: center;
    background: none;
    display: flex;
    flex-direction: row-reverse;
    padding: 0
  }
  .eccube-header-cta ul {
    border-left: 1px solid #e1e1e1;
    border-right: 1px solid #e1e1e1;
    flex-direction: row-reverse;
    margin-right: 20px;
    padding: 0 20px;
    transition: all .2s
  }
  .eccube-header-cta li a:hover svg {
    transform: scale(1.3)
  }
  .eccube-header-cta li a:hover span:after {
    transform: scale(1, 1);
    transform-origin: left top
  }
  .eccube-header-cta li svg {
    margin-right: 10px;
    transition: all .3s;
    width: 20px
  }
  .eccube-header-cta li svg path {
    transition: all .3s
  }
  .eccube-header-cta li span {
    color: inherit;
    font-size: 1.4rem;
    font-weight: 800;
    top: 0
  }
  .eccube-header-cta li span:after {
    background: #575564;
    bottom: -2px;
    content: "";
    height: 1px;
    left: 0;
    margin: 0;
    position: absolute;
    top: initial;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    width: 100%
  }
  .eccube-header-cta li:last-child {
    margin: 0 20px 0 0
  }
  .eccube-header-cta-inner {
    margin: 0
  }
  .eccube-header-cta-inner p:first-child a {
    box-shadow: none;
    min-height: 30px;
    width: 200px
  }
  .eccube-header-cta-inner p:first-child a span {
    font-size: 1.6rem
  }
  .eccube-header-cta-inner p:first-child a svg {
    right: 15px;
    width: 13px
  }
  .eccube-header-cta-inner p:first-child a:hover {
    box-shadow: none;
    transform: none
  }
  .eccube-header-cta-inner p:first-child a:hover svg {
    right: 12px
  }
  .eccube-header-cta-inner p:last-child {
    font-size: 1.1rem;
    margin-top: 3px
  }
  .eccube-header-cta-inner p:last-child a {
    color: inherit !important;
    font-size: 1.1rem
  }
  .eccube-header-cta-inner p:last-child a:before {
    background: #282828;
    bottom: -1px;
    opacity: .5;
    transform-origin: left top;
    transition: transform .6s
  }
  .eccube-header-cta-inner p:last-child a:hover:before {
    transform: scale(0, 1);
    transform-origin: right top
  }
  .eccube-footer-inner {
    padding: 0 30px
  }
  .eccube-footer-upper {
    display: grid;
    gap: 60px 30px;
    grid-template-columns: 1fr 1fr;
    margin: 0 auto;
    max-width: 1240px
  }
  .eccube-footer-upper-inner {
    border-bottom: none;
    padding: 0
  }
  .eccube-footer-upper-inner h2 {
    margin-bottom: 15px
  }
  .eccube-footer-upper-inner button {
    cursor: initial;
    font-size: 1.6rem;
    min-height: auto
  }
  .eccube-footer-upper-inner button:after {
    background: #e1e1e1;
    content: "";
    display: block;
    flex: 1;
    height: 1px;
    margin-left: 15px;
    width: 100%
  }
  .eccube-footer-upper-inner button span {
    display: none
  }
  .eccube-footer-upper-inner ul {
    gap: 10px;
    grid-template-columns: 1fr 1fr 1fr
  }
  .eccube-footer-upper-inner ul.is-flex li {
    width: calc((100% - 20px)/3)
  }
  .eccube-footer-upper-inner ul.is-flex li.is-flex-inner {
    width: calc((100% - 10px)/2)
  }
  .eccube-footer-upper-inner a {
    display: inline;
    font-size: 1.4rem
  }
  .eccube-footer-upper-inner a span {
    position: relative
  }
  .eccube-footer-upper-inner a span:before {
    background: #575564;
    bottom: -2px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    width: 100%
  }
  .eccube-footer-upper-inner a:hover span:before {
    transform: scale(1, 1);
    transform-origin: left top
  }
  .eccube-footer-lower {
    align-items: center;
    display: flex;
    margin: 0 auto;
    max-width: 1240px;
    padding: 120px 0 60px
  }
  .eccube-footer-logo {
    justify-content: initial;
    margin: 0
  }
  .eccube-footer-logo h2 svg {
    width: 176px
  }
  .eccube-footer-logo ul {
    column-gap: 15px;
    margin-left: 45px
  }
  .eccube-footer-logo li svg {
    width: 30px
  }
  .eccube-footer-logo li a:hover {
    opacity: .7
  }
  .eccube-footer-policy {
    margin: 0 0 0 auto
  }
  .eccube-footer-policy li {
    font-size: 1rem;
    margin: 0 0 0 30px
  }
  .eccube-footer-policy a:hover {
    opacity: .7
  }
  .eccube-footer-copyright {
    padding: 20px 30px
  }
  .eccube-footer-copyright ul {
    margin-right: 15px
  }
  .eccube-footer-copyright li {
    margin-right: 15px;
    padding: 5px 0
  }
  .eccube-footer-copyright a, .eccube-footer-copyright small {
    font-size: 1rem
  }
  .eccube-footer-copyright a[target=_blank]:after {
    height: 8px;
    margin-left: 2px;
    top: -1px;
    width: 8px
  }
  .eccube-footer-copyright a:hover {
    opacity: .7
  }
  .eccube-cta {
    padding: 30px 30px 90px
  }
  .eccube-cta-upper {
    background-position: top center;
    background-size: 1600px auto;
    margin: 0 auto -22px;
    max-width: 1600px;
    padding: 43px 30px 0
  }
  .eccube-cta-upper h2 {
    font-size: 3rem;
    margin-bottom: 45px
  }
  .eccube-cta-upper h2 span {
    font-size: 1.4rem;
    min-width: 222px;
    padding: 2px 0 3px
  }
  .eccube-cta-upper ul {
    margin: -15px auto 0;
    max-width: 1200px;
    padding-right: 15px;
    text-align: center
  }
  .eccube-cta-upper li {
    font-size: 1.6rem;
    letter-spacing: inherit;
    margin: 15px 0 0 15px;
    padding: 9px 10px 11px
  }
  .eccube-cta-lower {
    margin: 0 auto;
    max-width: 1600px;
    padding: 52px 30px 60px
  }
  .eccube-cta-lower p {
    font-size: 1.6rem;
    margin-bottom: 30px;
    text-align: center
  }
  .eccube-cta-lower ul {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center
  }
  .eccube-cta-lower li {
    margin-bottom: 30px
  }
  .eccube-cta-lower li:first-child {
    flex-basis: 400px
  }
  .eccube-cta-lower li:nth-child(2) {
    flex-basis: 240px;
    margin-left: 15px
  }
  .eccube-cta-lower li:last-child {
    width: 100%
  }
  .eccube-cta-lower .eccube-sw-button-primary {
    min-height: 75px
  }
  .eccube-cta-lower .eccube-sw-button-primary span {
    font-size: 2.3rem
  }
  .eccube-breadcrumb {
    margin: 0 auto;
    max-width: 1660px;
    padding: 10px 30px
  }
  .eccube-breadcrumb ol {
    width: 33%
  }
  .eccube-breadcrumb li {
    font-size: 1.2rem
  }
  .eccube-breadcrumb li:after {
    height: 5px;
    margin: 0 10px;
    width: 5px
  }
  .eccube-breadcrumb li a:hover {
    opacity: .7
  }
  .eccube-title {
    padding: 30px 30px 90px
  }
  .eccube-title h1 {
    font-size: 3rem;
    margin-bottom: 45px
  }
  .eccube-title p {
    flex: 1;
    font-size: 1.6rem;
    margin: 0
  }
  .eccube-title ul {
    align-items: center;
    border-left: 1px solid #e1e1e1;
    justify-content: center;
    margin-left: 30px;
    padding-left: 30px
  }
  .eccube-title li {
    width: auto
  }
  .eccube-title li:last-child {
    margin-left: 15px
  }
  .eccube-title .eccube-sw-button-primary {
    width: 280px
  }
  .eccube-title .eccube-sw-button-primary b {
    font-size: 1.6rem;
    padding: 4px 4px 6px 5px
  }
  .eccube-title .eccube-sw-button-cta {
    min-height: 50px;
    width: 200px
  }
  .eccube-title-inner {
    margin: 0 auto;
    max-width: 960px
  }
  .eccube-title-general {
    min-height: 270px;
    padding: 15px 30px 30px
  }
  .eccube-title-general h1 {
    font-size: 3.5rem;
    letter-spacing: .125em
  }
  .eccube-title-cta {
    align-items: center;
    display: flex
  }
  .eccube-list-card {
    margin: 0 auto 50px;
    max-width: 1240px;
    max-width: 1040px;
  }
  .eccube-list-card ul {
    gap: 5px 30px;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr
  }
  .eccube-list-card figure:first-child picture {
    display: block;
    overflow: hidden
  }
  .eccube-list-card figure:first-child img {
    transition: all .2s
  }
  .eccube-list-card figure + figure {
    margin: -45px 0
  }
  .eccube-list-card figure + figure img {
    height: 90px
  }
  .eccube-list-card h3 {
    font-size: 1.6rem;
    margin-bottom: 25px;
	
        border-bottom: 1px #ccc solid;
  }
  .eccube-list-card h3 + p {
    margin-top: auto
  }
  .eccube-list-card a:hover figure:first-child img {
    transform: scale(1.05)
  }
  .eccube-list-card-inner {
    padding: 0px 0px 15px
  }
  .eccube-list-company {
    font-size: 1.2rem;
    margin: 5px 0 10px
  }
  .eccube-list-tag {
    font-size: 1.2rem;
    padding: 1px 13px 3px 14px
  }
  .eccube-list-arrrow {
    bottom: 15px;
    height: 40px;
    right: 15px;
    width: 40px
  }
  .eccube-list-arrrow svg {
    width: 17px
  }
  .eccube-list-text {
    font-size: 1.2rem;
    margin-top: 15px;
    padding-right: 55px
  }
  .eccube-list-time {
    margin-top: auto
  }
  .eccube-list-time p {
    font-size: 1.2rem;
    padding: 1px 13px 3px 14px
  }
  .eccube-list-time time {
    font-size: 1.2rem;
    margin-left: 10px
  }
  .eccube-list-info {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1040px
  }
  .eccube-list-info-aside {
    width: calc((100% - 60px)*.25)
  }
  .eccube-list-info-aside .js-modal-inner {
    left: 0;
    max-width: initial;
    opacity: 1;
    position: sticky;
    top: 70px;
    transform: none;
    visibility: visible;
    width: 100%;
    z-index: 1
  }
  .eccube-list-info-aside .js-modal-close {
    display: none
  }
  .eccube-list-info-aside .js-modal-contents {
    max-height: initial;
    overflow-y: initial
  }
  .eccube-list-info-aside .js-modal-contents-inner {
    padding: 0
  }
  .eccube-list-info-aside h2 {
    font-size: 1.4rem;
    margin-bottom: 15px
  }
  .eccube-list-info-aside h3 {
    font-size: 1.4rem;
    margin-bottom: 10px
  }
  .eccube-list-info-aside-contents {
    padding: 20px
  }
  .eccube-list-info-aside-news a {
    font-size: 1.4rem;
    padding: 10px 0
  }
  .eccube-list-info-aside-news a:before {
    height: 5px;
    margin-right: 7px;
    width: 5px
  }
  .eccube-list-info-aside-news a:hover {
    opacity: .7
  }
  .eccube-list-info-aside-weakness-01, .eccube-list-info-aside-weakness-02 {
    margin-bottom: 20px
  }
  .eccube-list-info-aside-weakness-01 a, .eccube-list-info-aside-weakness-02 a {
    font-size: 1.4rem;
    height: 37px;
    margin-right: 10px
  }
  .eccube-list-info-aside-weakness-01 a:hover, .eccube-list-info-aside-weakness-02 a:hover {
    opacity: .7
  }
  .eccube-list-info-aside-weakness-01 a {
    width: 37px
  }
  .eccube-list-info-aside-weakness-02 a {
    padding: 0 10px
  }
  .eccube-list-info-aside-weakness-03 input[type=text] {
    margin-bottom: 10px
  }
  .eccube-list-info-aside-weakness-03 input[type=submit], .eccube-list-info-aside-weakness-03 button {
    font-size: 1.4rem;
    padding: 1px 0 3px;
    width: 90px
  }
  .eccube-list-info-aside-weakness-03 input[type=submit]:hover, .eccube-list-info-aside-weakness-03 button:hover {
    opacity: .7
  }
  .eccube-list-info-contents {
    width: calc((100% - 60px)*.75)
  }
  .eccube-list-info-contents a {
    padding: 30px 0
  }
  .eccube-list-info-contents a:hover h3 span {
    background-position: left bottom;
    background-size: 100% 1px
  }
  .eccube-list-info-contents h3 {
    font-size: 1.6rem
  }
  .eccube-list-info-contents h3 span {
    background-image: linear-gradient(90deg, #575564, #575564);
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: 0 1px;
    transition: background-size .8s;
    word-break: break-all
  }
  .eccube-list-info-contents-inner {
    margin-bottom: 15px
  }
  .eccube-list-info-contents-inner time {
    font-size: 1.4rem
  }
  .eccube-list-info-tag {
    font-size: 1.2rem;
    margin-left: 15px;
    padding: 0 15px 1px 16px
  }
  .eccube-list-info-contents-weakness {
    align-items: center;
    display: flex;
    margin-top: 15px
  }
  .eccube-list-info-contents-weakness th, .eccube-list-info-contents-weakness td {
    font-size: 1.4rem;
    padding: 7px 15px 10px
  }
  .eccube-list-info-contents-weakness dl {
    margin: 0 0 0 30px
  }
  .eccube-list-info-contents-weakness dt {
    font-size: 1.4rem
  }
  .eccube-list-info-contents-weakness dd {
    font-size: 1.4rem;
    height: 37px;
    margin-left: 10px;
    width: 37px
  }
  .eccube-list-info-contents-weakness dd span {
    top: -1px
  }
	
	
.p-index_department__info {
    /*border: 1px solid;*/
    padding: 50px
}

.p-index_department__info__item {
    margin-bottom: 40px
}

.p-index_department__info__item:last-child {
    margin-bottom: 0
}

.p-index_department__info__item dt {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.8rem
}

.p-index_department__info__item dt:before {
    background-color: #c91e24;
    border-radius: 9999px;
    content: "";
    display: block;
    height: .4em;
    margin-right: .4em;
    width: .4em
}

.p-index_department__info__item dd {
    font-size: 1.4rem;
    line-height: 2.1;
    margin-top: .5em
}


	
  .js-modal-close {
    height: 40px;
    right: -10px;
    top: -10px;
    width: 40px
  }
  .js-modal-close:before, .js-modal-close:after {
    width: 15px
  }
  .js-modal-close:hover {
    background: #282828
  }
  .js-modal-inner {
    left: 50%;
    max-width: 960px;
    transform: translate(-50%, -47.5%);
    width: calc(100% - 60px)
  }
  .js-modal-contents-inner {
    padding: 30px
  }
  .js-modal.is-display .js-modal-inner {
    transform: translate(-50%, -50%)
  }
  .pagination {
    padding-top: 30px
  }
  .page-numbers a, .page-numbers span {
    font-size: 1.6rem;
    height: 40px;
    margin: 0 10px;
    width: 40px
  }
  .page-numbers a:hover {
    opacity: .7
  }
  .eccube-cases-eyecatch-wrap {
    margin: 0 auto 45px;
    max-width: 1040px
  }
  .eccube-cases-eyecatch {
    display: flex
  }
  .eccube-cases-eyecatch > figure {
    margin-right: -60px;
    max-width: 790px
  }
  .eccube-cases-eyecatch-inner {
    background: #fff;
    height: fit-content;
    margin: auto auto 0;
    padding: 30px 30px 15px
  }
  .eccube-cases-eyecatch-inner figure {
    margin: 0 auto 30px;
    width: 210px
  }
  .eccube-cases-eyecatch-text {
    min-width: 220px
  }
  .eccube-cases-eyecatch-text p {
    font-size: 1.4rem
  }
  .eccube-cases-eyecatch-text small {
    font-size: 1rem
  }
  .eccube-cases-eyecatch-text .eccube-list-tag {
    margin-top: 30px
  }
  .eccube-cases-eyecatch-company, .eccube-cases-eyecatch-name {
    margin-bottom: 15px
  }
  .eccube-cases-eyecatch-post {
    margin-bottom: 5px
  }
  p.eccube-cases-eyecatch-link {
    font-size: 1.2rem
  }
  p.eccube-cases-eyecatch-link a:hover {
    opacity: .7
  }
  .eccube-blog-eyecatch {
    margin: -60px auto 45px;
    max-width: 860px
  }
  .eccube-eyecatch-cta {
    align-items: center;
    display: flex;
    justify-content: center;
    margin: 0 auto;
    max-width: 1040px;
    padding: 20px 30px;
    position: relative
  }
  .eccube-eyecatch-cta p:first-child {
    border-right: 1px solid #e1e1e1;
    font-size: 1.6rem;
    margin: 0 30px 0 0;
    padding-right: 30px
  }
  .eccube-eyecatch-cta p:first-child b {
    font-size: 2.5rem
  }
  .eccube-eyecatch-cta p:first-child span {
    font-size: 3rem;
    top: 1px
  }
  .eccube-eyecatch-cta p a {
    min-height: 46px;
    width: 200px
  }
  .eccube-eyecatch-cta p a span {
    font-size: 1.6rem
  }
  .eccube-eyecatch-cta p a svg {
    width: 17px
  }
  .eccube-contents-cta {
    align-items: center;
    display: flex;
    justify-content: center;
    margin: 60px auto 0;
    max-width: 1040px;
    padding: 30px
  }
  .eccube-contents-cta p {
    font-size: 1.6rem;
    margin: 0 30px 0 0
  }
  .eccube-contents-cta ul {
    align-items: center;
    display: flex;
    justify-content: center
  }
  .eccube-contents-cta li:first-child {
    margin: 0 15px 0 0
  }
  .eccube-contents-cta .eccube-sw-button-primary {
    width: 280px
  }
  .eccube-contents-cta .eccube-sw-button-primary svg {
    right: 15px
  }
  .eccube-contents-cta .eccube-sw-button-primary:hover svg {
    right: 12px
  }
  .eccube-contents-cta .eccube-sw-button-cta {
    min-height: 46px;
    width: 200px
  }
  .eccube-flow {
    padding: 90px 30px 0
  }
  .eccube-flow h2 {
    font-size: 3rem;
    margin-bottom: 45px
  }
  .eccube-flow .eccube-list-card {
    margin-bottom: 60px
  }
  .eccube-blog-info {
    display: flex;
    justify-content: space-between;
    margin: 45px auto -30px;
    max-width: 860px;
    padding: 0
  }
  .eccube-blog-eyecatch .eccube-blog-info {
    margin: 30px auto 15px;
    padding: 0
  }
  .eccube-time {
    margin: 0
  }
  .eccube-time time {
    font-size: 1.4rem
  }
  .eccube-time time:before {
    height: 24px;
    margin-right: 7px;
    width: 24px
  }
  .eccube-hashtag {
    font-size: 1.2rem;
    margin-left: 15px;
    padding: 0 10px 1px 11px
  }
  .eccube-share {
    margin-left: auto
  }
  .eccube-share button:hover {
    opacity: .7
  }
  .eccube-share-x, .eccube-share-fb {
    height: 30px;
    margin: 0 0 0 15px;
    width: 30px
  }
  .eccube-share-x {
    order: 2
  }
  .eccube-share-fb {
    order: 3
  }
  .eccube-share-copy {
    font-size: 1.2rem;
    min-width: 180px;
    order: 1;
    padding: 0 10px 2px
  }
  .eccube-share-copy:after {
    height: 8px;
    margin-left: 2px;
    top: 3px;
    width: 8px
  }
  .eccube-share-copy.is-copied {
    cursor: initial
  }
  .eccube-share-copy.is-copied:hover {
    opacity: 1
  }
  .eccube-fixed-cta {
    display: flex;
    justify-content: center;
    padding: 10px
  }
  .eccube-fixed-cta.is-fixed {
    box-shadow: 0 -3px 5px rgba(0, 0, 0, .05)
  }
  .eccube-fixed-cta-button li:first-child {
    width: 330px
  }
  .eccube-fixed-cta-button li:first-child a:hover {
    box-shadow: none;
    transform: translateY(0)
  }
  .eccube-fixed-cta-button li:last-child {
    margin-left: 15px;
    padding: 5px 0;
    width: 240px
  }
  .eccube-fixed-cta-button li:last-child a {
    min-height: 50px
  }
  .eccube-fixed-cta-button li:last-child a span {
    font-size: 1.6rem;
    top: -2px
  }
  .eccube-fixed-cta-link {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-left: 30px
  }
  .eccube-fixed-cta-link li:last-child {
    margin: 5px 0 1px
  }
  .eccube-fixed-cta-link a {
    color: #fff !important;
    font-size: 1.2rem;
    position: relative
  }
  .eccube-fixed-cta-link a:before {
    background: rgba(255, 255, 255, .33);
    bottom: -1px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transform-origin: left top;
    transition: transform .6s;
    width: 100%
  }
  .eccube-fixed-cta-link a:hover:before {
    transform: scale(0, 1);
    transform-origin: right top
  }
  .eccube-useful-card {
    margin: 0 auto;
    max-width: 1240px
  }
  .eccube-useful-card ul {
    gap: 45px 30px;
    grid-template-columns: 1fr 1fr 1fr
  }
  .eccube-useful-card picture {
    display: block;
    overflow: hidden
  }
  .eccube-useful-card img {
    transition: .2s
  }
  .eccube-useful-card h3 {
    font-size: 1.8rem;
    padding: 0 20px 15px
  }
  .eccube-useful-card h3 + p {
    margin: auto 0 20px;
    padding: 0 20px
  }
  .eccube-useful-card p {
    font-size: 1.2rem;
    padding-bottom: 20px
  }
  .eccube-useful-card p span {
    padding: 3px 13px 5px;
    transition: .2s
  }
  .eccube-useful-card a:hover img {
    transform: scale(1.05)
  }
  .eccube-useful-card a:hover p span {
    background: #fddc00
  }
  .eccube-top-hero {
    background: #efefef;
    padding: 160px 30px 129px
  }
  .eccube-top-hero-inner {
    margin: 0 auto;
    max-width: 1230px;
    padding: 0
  }
  .eccube-top-hero-inner > svg {
    left: 635px;
    top: -15px;
    width: 780px
  }
  .eccube-top-hero-inner h2 {
    font-size: 5rem;
    margin-bottom: 35px
  }
  .eccube-top-hero-inner > p {
    font-size: 1.6rem;
    letter-spacing: inherit;
    margin-bottom: 45px
  }
  .eccube-top-hero-inner ul {
    display: flex
  }
  .eccube-top-hero-inner li:first-child {
    flex-basis: 330px
  }
  .eccube-top-hero-inner li:first-child p:first-child {
    color: inherit;
    font-size: 1.2rem;
    margin-bottom: 5px
  }
  .eccube-top-hero-inner li:first-child p:last-child {
    margin-top: 10px
  }
  .eccube-top-hero-inner li:first-child p:last-child a {
    color: inherit;
    font-size: 1.4rem;
    z-index: 2
  }
  .eccube-top-hero-inner li:first-child p:last-child a:before {
    background: #282828;
    bottom: -1px;
    opacity: .5;
    transform-origin: left top;
    transition: transform .6s
  }
  .eccube-top-hero-inner li:first-child p:last-child a:hover:before {
    transform: scale(0, 1);
    transform-origin: right top
  }
  .eccube-top-hero-inner li:last-child {
    flex-basis: 240px;
    margin: 0 0 0 15px;
    padding-top: 30px
  }
  .eccube-top-hero-inner .eccube-sw-button-primary {
    min-height: 75px
  }
  .eccube-top-hero-inner .eccube-sw-button-primary span {
    font-size: 2.3rem
  }
  .eccube-top-hero-inner .eccube-sw-button-primary svg {
    width: 20px
  }
  .eccube-top-hero-figure {
    margin: 0;
    position: absolute;
    top: 0
  }
  .eccube-top-hero-figure-ui {
    left: 682px;
    position: absolute;
    top: 45px;
    width: 520px
  }
  .eccube-top-hero-figure-ui:after {
    box-shadow: 0 30px 30px rgba(0, 0, 0, .15);
    height: 315px;
    left: 25px;
    width: 470px
  }
  .eccube-top-hero-figure-mobile {
    left: 975px;
    position: absolute;
    top: 146px;
    width: 381px
  }
  .eccube-top-logo {
    margin-top: -135px;
    padding-bottom: 80px
  }
  .eccube-top-logo > svg {
    margin-bottom: -1px;
    width: 1440px
  }
  .eccube-top-logo h2 {
    margin: -40px 0
  }
  .eccube-top-logo h2 svg {
    height: 80px;
    width: auto
  }
  .eccube-top-logo-slider-wrap {
    background: #fff;
    padding: 55px 0 45px
  }
  .eccube-top-logo-slider li {
    width: 200px
  }
  .eccube-top-logo-text {
    padding: 0 30px
  }
  .eccube-top-logo-text-inner {
    font-size: 1.6rem;
    margin-bottom: 5px
  }
  .eccube-top-logo-text-inner small {
    font-size: 1.2rem
  }
  .eccube-top-logo-annotation {
    font-size: 1rem;
    padding-left: 0;
    text-align: center;
    text-indent: 0
  }
  .eccube-top-campaign {
    padding: 10px 30px
  }
  .eccube-top-campaign dl {
    display: flex;
    justify-content: center;
    margin-bottom: 15px
  }
  .eccube-top-campaign dt {
    margin: 0 15px 0 0
  }
  .eccube-top-campaign dt p {
    font-size: 1.2rem;
    padding: 1px 18px 3px 19px;
    position: relative;
    top: .3em
  }
  .eccube-top-campaign dd span {
    font-size: 1.6rem
  }
  .eccube-top-campaign dd a:hover span {
    background-position: right bottom;
    background-size: 0 1px
  }
  .eccube-top-campaign.is-bnr {
    padding: 30px;
    text-align: center
  }
  .eccube-top-campaign.is-bnr figure {
    display: inline-block
  }
  .eccube-top-trouble {
    padding: 90px 30px 0
  }
  .eccube-top-trouble h2 {
    font-size: 3rem;
    margin-bottom: 30px
  }
  .eccube-top-trouble h2 span {
    font-size: 2rem
  }
  .eccube-top-trouble ul {
    gap: 20px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    margin: 0 auto;
    max-width: 1380px;
	margin-bottom: 50px;
  }
  .eccube-top-trouble li {
    align-items: center;
    border-radius: 25px 25px 0 25px;
    display: flex;
    font-size: 1.8rem;
    padding: 25px 30px
  }
  .eccube-top-reason {
    padding: 90px 30px
  }
  .eccube-top-reason > svg {
    height: auto;
    left: 50%;
    right: initial;
    top: 460px;
    transform: translateX(-50%);
    width: 2500px
  }
  .eccube-top-reason h2 {
    font-size: 3rem;
    margin-bottom: 95px
  }
  .eccube-top-reason h2 svg {
    margin-right: 3px;
    top: 1px;
    width: 115px
  }
  .eccube-top-reason h2 span {
    font-size: 1.6rem;
    margin-bottom: 3px;
    padding: 5px 0 7px;
    width: 338px
  }
  .eccube-top-reason h3 {
    line-height: 1.2;
    white-space: nowrap
  }
  .eccube-top-reason h3 span {
    box-shadow: 10px 10px 0px 0 #fccf00;
    font-size: 3.5rem;
    padding: 12px 20px 15px
  }
  .eccube-top-reason h3 svg {
    height: 140px
  }
  .eccube-top-reason h4 {
    font-size: 2.5rem;
    margin-bottom: 15px
  }
  .eccube-top-reason p {
    font-size: 1.6rem
  }
  .eccube-top-reason p small {
    font-size: 1.2rem
  }
  .eccube-top-reason-01 {
    margin: 0 auto 180px auto;
    max-width: 1240px;
    /*min-height: 461px*/
  }
  .eccube-top-reason-01 figure {
    left: initial;
    margin: 0 0px 0px 0;
    position: absolute;
    right: 65%;
    width: 520px
  }
  .eccube-top-reason-01 h3 {
    left: -120px;
    margin-bottom: 60px;
    position: relative
  }
  .eccube-top-reason-01 h3 svg {
    right: -130px;
    top: -120px
  }
  .eccube-top-reason-01-inner {
    margin-left: auto;
    padding-top: 40px;
    width: 50%
  }
  .eccube-top-reason-01-01, .eccube-top-reason-01-02 {
    margin: 60px auto 75px;
    max-width: 960px
  }
  .eccube-top-reason-01-01 ul {
    margin: -7px 0 0 -5px
  }
  .eccube-top-reason-01-01 li {
    font-size: 1.6rem;
    margin: 7px 0 0 5px;
    padding: 3px 16px 7px 17px
  }
  .eccube-top-reason-01-02 {
    margin-bottom: 120px
  }
  .eccube-top-reason-02 h3 {
    margin-bottom: 0
  }
  .eccube-top-reason-02 h3 svg {
    left: -120px;
    top: -120px
  }
  .eccube-top-reason-02-inner {
    align-items: center;
    display: flex;
    margin: 0 auto;
    max-width: 1240px
  }
  .eccube-top-reason-02-inner p {
    flex: 1;
    margin-left: 60px
  }
  .eccube-top-reason-02-figure {
    margin: 50px -30px -60px
  }
  .eccube-top-reason-02-figure-inner figure {
    animation-duration: 150s
  }
  .eccube-top-reason-02-figure-inner img {
    width: 2027px
  }
  .eccube-top-reason-02-column {
    column-gap: 60px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 0 auto 120px;
    max-width: 1240px;
    position: relative
  }
  .eccube-top-reason-02-column-inner {
    background: #efefef;
    display: flex;
    flex-direction: column;
    padding: 30px 30px 35px
  }
  .eccube-top-reason-02-column-inner p {
    margin-bottom: 30px
  }
  .eccube-top-reason-02-column-inner h5 {
    font-size: 1.6rem;
    margin-bottom: 10px
  }
  .eccube-top-reason-02-column-inner h5 strong {
    font-size: 1.8rem
  }
  .eccube-top-reason-02-column-inner .eccube-sw-box {
    margin: auto 0 0;
    padding: 20px 30px 25px
  }
  .eccube-top-reason-02-column-inner li {
    margin-bottom: 5px
  }
  .eccube-top-reason-03 {
    margin-bottom: 60px
  }
  .eccube-top-reason-03 > svg {
    height: auto;
    left: 50%;
    top: -75px;
    transform: translateX(-50%);
    width: 1600px
  }
  .eccube-top-reason-03 h3 {
    margin: 0;
    padding-left: 195px
  }
  .eccube-top-reason-03 h3 span {
    padding-bottom: 0
  }
  .eccube-top-reason-03 h3 span:last-of-type {
    padding: 12px 20px 15px
  }
  .eccube-top-reason-03 h3 svg {
    left: 75px;
    top: -120px
  }
  .eccube-top-reason-03 h4 {
    margin-top: 0
  }
  .eccube-top-reason-03-inner {
    align-items: center;
    display: flex;
    margin: 0 auto 60px;
    max-width: 1240px;
    position: relative
  }
  .eccube-top-reason-03-inner p {
    flex: 1;
    margin-left: 60px
  }
  .eccube-top-reason-03-column {
    column-gap: 60px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 0 auto;
    max-width: 1240px;
    position: relative
  }
  .eccube-top-reason-03-column-inner {
    background: #efefef;
    padding: 30px 30px 35px
  }
  .eccube-top-enterprise:before {
    height: 346px;
    top: 15px;
    width: 1920px
  }
  .eccube-top-enterprise h3 {
    margin: 60px auto 45px;
    max-width: 1240px
  }
  .eccube-top-enterprise h3:after {
    margin-left: 10px
  }
  .eccube-top-enterprise h3 svg {
    width: 69px
  }
  .eccube-top-enterprise ul {
    display: flex;
    flex-wrap: wrap;
    gap: 45px 30px;
    justify-content: center;
    margin: 0 auto;
    max-width: 1240px
  }
  .eccube-top-enterprise li {
    width: calc((100% - 60px)/3)
  }
  .eccube-top-enterprise li h4 {
    font-size: 1.8rem;
    margin-bottom: 10px
  }
  .eccube-top-enterprise li h4:before {
    height: 12px;
    margin-right: 7px;
    top: 0;
    width: 12px
  }
  .eccube-top-enterprise li figure {
    margin-bottom: 10px;
    overflow: hidden
  }
  .eccube-top-enterprise li figure img {
    transition: .2s
  }
  .eccube-top-enterprise li a:hover img {
    transform: scale(1.05)
  }
  .eccube-top-enterprise-inner {
    padding: 90px 30px
  }
  .eccube-top-enterprise-title {
    align-items: flex-end;
    display: flex;
    gap: 45px;
    margin: 0 auto 45px;
    max-width: 1050px
  }
  .eccube-top-enterprise-title h2 {
    margin-bottom: 0
  }
  .eccube-top-enterprise-title h2 svg {
    width: 475px
  }
  .eccube-top-enterprise-title p {
    flex: 1;
    font-size: 2rem;
    position: relative;
    top: .4em
  }
  .eccube-top-enterprise-logo {
    gap: 10px;
    margin: 0 auto;
    max-width: 383px
  }
  .eccube-top-enterprise-logo h5 {
    flex: 1
  }
  .eccube-top-enterprise-logo h5 svg {
    max-width: 321px;
    width: 100%
  }
  .eccube-top-enterprise-logo span {
    height: 20px;
    width: 50px
  }
  .eccube-top-enterprise-logo span svg {
    width: 17px
  }
  .eccube-top-security {
    padding: 90px 30px
  }
  .eccube-top-security h2 {
    font-size: 3rem;
    margin-bottom: 15px;
    text-align: center
  }
  .eccube-top-security p {
    font-size: 1.4rem
  }
  .eccube-top-security > p:first-of-type {
    margin-bottom: 45px;
    text-align: center
  }
  .eccube-top-security ul {
    gap: 30px;
    grid-template-columns: 1fr 1fr;
    margin: 0 auto 45px;
    max-width: 1240px
  }
  .eccube-top-security li {
    padding: 20px 30px 30px
  }
  .eccube-top-security li:last-child {
    grid-column: 1/3
  }
  .eccube-top-security figure {
    flex-basis: 330px;
    margin: 0 0 0 30px
  }
  .eccube-top-security figcaption {
    font-size: 1rem;
    margin-top: 3px
  }
  .eccube-top-security-inner {
    margin-bottom: 15px
  }
  .eccube-top-security-icon {
    height: 60px;
    margin-right: 10px;
    width: 60px
  }
  .eccube-top-security-icon svg {
    width: 24px
  }
  .eccube-top-security-title svg {
    height: 15px;
    width: auto
  }
  .eccube-top-security-title h3 {
    font-size: 2rem
  }
  .eccube-top-security-column {
    align-items: flex-end;
    display: flex
  }
  .eccube-top-security-column-item {
    flex: 1
  }
  .eccube-top-cases {
    padding: 90px 30px
  }
  .eccube-top-cases h2 {
    font-size: 3rem;
    margin-bottom: 30px
  }
  .eccube-top-cases .eccube-list-card {
    margin-bottom: 60px
  }
  .eccube-top-cases > p:last-of-type {
    font-size: 1rem;
    margin-top: 15px;
    text-align: center
  }
  .eccube-top-cases-title {
    align-items: center;
    display: flex;
    justify-content: center;
    margin-bottom: 60px
  }
  .eccube-top-cases-title svg {
    width: 360px
  }
  .eccube-top-cases-title p {
    font-size: 1.6rem;
    margin: 0 0 0 30px;
    text-align: left
  }
  .eccube-top-cases-title p small {
    font-size: 1.2rem
  }
  .eccube-top-faq {
    padding: 90px 30px
  }
  .eccube-top-faq h2 {
    font-size: 3rem;
    margin-bottom: 60px
  }
  .eccube-top-faq dl {
    margin: 0 auto 10px;
    max-width: 1040px;
    padding: 40px 30px;
    transition: all .2s
  }
  .eccube-top-faq dl:hover {
    background: #f9f9f9;
    cursor: pointer
  }
  .eccube-top-faq dl .eccube-sw-button-primary {
    margin-top: 30px
  }
  .eccube-top-faq dt, .eccube-top-faq dd {
    padding-left: 60px
  }
  .eccube-top-faq dt:before, .eccube-top-faq dd:before {
    height: 50px;
    top: -8px;
    width: 50px
  }
  .eccube-top-faq dt p {
    font-size: 2rem
  }
  .eccube-top-faq dt span {
    width: 31px
  }
  .eccube-top-faq dt span:after {
    height: 13px;
    width: 21px
  }
  .eccube-top-faq dd:before {
    top: -12px
  }
  .eccube-top-faq dd p {
    font-size: 1.6rem
  }
  .eccube-top-faq dd:before {
    background-size: 30px auto
  }
  .js-faq.is-open dd {
    margin-top: 30px
  }
  .eccube-top-useful {
    padding: 30px 0 90px
  }
  .eccube-top-useful h2 {
    font-size: 3rem;
    margin-bottom: 45px
  }
  .eccube-top-useful ul {
    gap: 0
  }
  .eccube-top-useful li {
    max-width: 352px;
    padding: 0 15px
  }
  .eccube-top-useful button {
    height: 40px;
    width: 40px
  }
  .eccube-top-useful button:after {
    border-top: 2px solid #fff;
    height: 10px;
    width: 10px
  }
  .eccube-top-useful button:hover {
    opacity: .7
  }
  .eccube-top-useful button.swiper-button-prev {
    left: 10px
  }
  .eccube-top-useful button.swiper-button-prev:after {
    border-left: 2px solid #fff;
    left: 2px
  }
  .eccube-top-useful button.swiper-button-next {
    right: 10px
  }
  .eccube-top-useful button.swiper-button-next:after {
    border-right: 2px solid #fff;
    right: 2px
  }
  .eccube-top-useful .eccube-useful-card {
    max-width: initial
  }
  .eccube-top-useful .eccube-useful-card + p {
    padding: 45px 30px 0
  }
  .eccube-top-event {
    padding: 30px 30px 90px
  }
  .eccube-top-event h2 {
    float: left;
    font-size: 3rem;
    margin-bottom: 45px;
    text-align: left;
    width: calc((100% - 60px)*.25)
  }
  .eccube-top-event .eccube-list-info-event {
    flex: 1;
    padding: 0 0 0 30px
  }
  .eccube-top-event .eccube-list-info-event .eccube-list-info-contents-inner {
    margin-bottom: 10px
  }
  .eccube-top-event .eccube-list-info-tag.is-event {
    margin: 0 10px 0 0;
    padding: 1px 9px 3px 10px
  }
  .eccube-top-event .eccube-list-info-contents {
    float: right
  }
  .eccube-top-event .eccube-list-info-contents + p {
    float: left;
    margin: 0
  }
  .eccube-top-event .eccube-list-info-contents a {
    align-items: center;
    display: flex
  }
  .eccube-top-event .eccube-list-info-contents a:hover img {
    transform: scale(1.05)
  }
  .eccube-top-event .eccube-list-info-contents figure {
    flex-basis: 240px
  }
  .eccube-top-event-inner {
    margin: 0 auto;
    max-width: 960px
  }
  .eccube-top-event-inner:after {
    clear: both;
    content: "";
    display: block
  }
  .eccube-top-news {
    padding: 30px 30px 90px
  }
  .eccube-top-news h2 {
    float: left;
    font-size: 3rem;
    margin-bottom: 45px;
    text-align: left;
    width: calc((100% - 60px)*.25)
  }
  .eccube-top-news .eccube-list-info-contents {
    float: right
  }
  .eccube-top-news .eccube-list-info-contents + p {
    flex-direction: column;
    float: left;
    gap: 15px;
    margin: 0
  }
  .eccube-top-news-inner {
    margin: 0 auto;
    max-width: 960px
  }
  .eccube-top-news-inner:after {
    clear: both;
    content: "";
    display: block
  }
  .eccube-top-blog {
    padding: 30px 30px 120px
  }
  .eccube-top-blog-title {
    align-items: center;
    display: flex;
    justify-content: center;
    margin-bottom: 60px
  }
  .eccube-top-blog-title h2 {
    font-size: 3rem;
    margin: 0 30px 0 0;
    position: relative;
    top: -0.1em
  }
  .eccube-top-blog-title p {
    font-size: 1.4rem
  }
  .eccube-top-blog-list ul {
    gap: 30px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    margin: 0 auto;
    max-width: 1240px
  }
  .eccube-top-blog-list figure {
    flex-basis: 100px
  }
  .eccube-top-blog-list h3 {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    border-left: 5px solid #fff;
    display: -webkit-box;
    margin-left: -15px;
    overflow: hidden;
    text-overflow: ellipsis
  }
  .eccube-top-blog-list h3 span {
    font-size: 1.6rem;
    padding: 1px 5px 3px 0
  }
  .eccube-top-blog-list + p {
    margin-top: 60px
  }
  .eccube-top-blog-list a:hover img {
    transform: scale(1.1)
  }
  .eccube-top-slidein {
    bottom: 30px;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.1));
    opacity: 0;
    position: fixed;
    right: 30px;
    transform: translateX(calc(100% + 30px));
    transition: .4s;
    z-index: 100
  }
  .eccube-top-slidein.is-fixed {
    opacity: 1;
    transform: translateX(0)
  }
  .eccube-top-slidein.is-display {
    opacity: 0;
    transform: translateX(15px);
    transition: .2s;
    visibility: hidden
  }
  .eccube-top-slidein img {
    transition: .2s
  }
  .eccube-top-slidein a:hover img {
    opacity: .9
  }
  .eccube-top-slidein button {
    align-items: center;
    background: #fff;
    border: none;
    border-radius: 999px;
    display: flex;
    height: 30px;
    justify-content: center;
    position: absolute;
    right: -10px;
    top: -10px;
    transform: rotate(45deg);
    width: 30px;
    z-index: 101
  }
  .eccube-top-slidein button:before, .eccube-top-slidein button:after {
    background: #282828;
    content: "";
    display: block;
    position: absolute
  }
  .eccube-top-slidein button:before {
    height: 1px;
    width: 13px
  }
  .eccube-top-slidein button:after {
    height: 13px;
    width: 1px
  }
  .eccube-top-slidein button:hover {
    opacity: .7
  }
  .eccube-top-slidein-inner {
    background: #fff;
    border-radius: 10px;
    overflow: hidden
  }
  .is-page-reason .eccube-sw-grid {
    margin: 0 0 15px
  }
  .is-page-reason h2 {
    font-size: 3.5rem
  }
  .is-page-reason h3 {
    font-size: 2rem
  }
  .eccube-page-reason-01-inner {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 75px;
    position: relative
  }
  .eccube-page-reason-01-inner h2 {
    margin: 0
  }
  .eccube-page-reason-01-inner h2 sup {
    font-size: 1rem;
    margin: 0 1px;
    top: -10px
  }
  .eccube-page-reason-01-inner .eccube-sw-text {
    flex: 1;
    margin: 0 0 0 30px;
    max-width: 690px
  }
  .eccube-page-reason-01-inner .eccube-page-reason-annotation {
    bottom: -25px;
    position: absolute
  }
  .eccube-page-reason-annotation {
    font-size: 1rem;
    margin: 0;
    text-align: right
  }
  .eccube-page-reason-01 svg, .eccube-page-reason-02 svg {
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.05))
  }
  .eccube-page-reason-02 .eccube-sw-text {
    text-align: center
  }
  .eccube-page-reason-03 {
    padding: 90px 30px
  }
  .eccube-page-reason-03 h2 {
    margin-bottom: 10px
  }
  .eccube-page-reason-03 .eccube-sw-grid {
    gap: 30px
  }
  .eccube-page-reason-04 {
    margin-bottom: -250px;
    padding-top: 90px
  }
  .eccube-page-reason-04 .eccube-sw-container-inner > figure {
    left: -175px;
    top: -120px;
    width: 620px
  }
  .eccube-page-reason-04 .eccube-sw-container-inner > h3 {
    font-size: 2rem;
    margin: 45px 0 30px
  }
  .eccube-page-reason-04 .is-width-1240 svg {
    height: 40px;
    right: 35px;
    top: -15px
  }
  .eccube-page-reason-04 h2 {
    margin-bottom: 60px;
    text-align: center
  }
  .eccube-page-reason-04 ul:after {
    clear: both;
    content: "";
    display: block
  }
  .eccube-page-reason-04 li {
    margin: 15px 0;
    width: calc((100% - 60px)/3);
	  margin-right: 20px;
	  float: left;
  }
  
  .eccube-page-reason-04-inner .eccube-sw-box {
    margin: 0;
    padding: 30px !important;
    width: 100%
  }
  .eccube-page-reason-05 {
    padding: 280px 30px 90px
  }
  .eccube-page-reason-05 p {
    margin-bottom: 30px
  }
  .eccube-page-reason-05 .eccube-sw-box {
    margin: 30px 0;
    text-align: center
  }
  .eccube-page-reason-05 ul {
    display: inline-block;
    text-align: left
  }
  .eccube-page-reason-05 li strong {
    font-size: 2.5rem;
    letter-spacing: inherit
  }
  .is-page-functions .eccube-list-card-inner {
    padding: 20px 15px 55px
  }
  .eccube-page-card-security-info {
    margin-bottom: 15px
  }
  .eccube-page-card-security-info figure {
    margin-right: 10px;
    width: 75px
  }
  .eccube-page-card-security-company {
    font-size: 1.6rem
  }
  .eccube-page-card-security-address {
    font-size: 1.2rem
  }
  .eccube-page-card-security-logo {
    margin-bottom: 15px;
    overflow: hidden
  }
  .eccube-page-card-security-text {
    font-size: 1.2rem
  }
  .eccube-page-card-security-card:hover .eccube-page-card-security-logo img {
    transform: scale(1.1, 1.1)
  }
  .eccube-page-alliance-list a {
    padding: 25px 25px 30px
  }
  .eccube-page-alliance-list a .eccube-sw-box {
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 15px
  }
  .eccube-page-alliance-list a li {
    font-size: 1.2rem;
    margin-bottom: 7px
  }
  .eccube-page-alliance-list a li small {
    font-size: 1rem
  }
  .eccube-page-alliance-list a:hover img {
    transform: scale(1.05)
  }
  .eccube-page-alliance-list img {
    transition: all .3s
  }
  .eccube-page-alliance-list picture {
    display: block;
    overflow: hidden
  }
  .eccube-page-alliance-list figure {
    margin-bottom: 20px
  }
  .eccube-page-alliance-list h3 {
    font-size: 1.6rem;
    margin-bottom: 20px
  }
  .eccube-page-alliance-list p {
    font-size: 1.2rem;
    margin-bottom: 20px
  }
  .eccube-page-alliance-list.column-2 a .eccube-sw-box {
    padding: 25px 25px 30px
  }
  .eccube-page-alliance-list.column-2 h3 {
    font-size: 2rem
  }
  .eccube-page-alliance-list.column-2 li {
    font-size: 1.4rem
  }
  .eccube-page-alliance-list.column-2 li b {
    font-size: 1.6rem
  }
  .is-page-useful.eccube-sw-container {
    padding: 30px
  }
  .is-page-useful ul {
    gap: 90px
  }
  .is-page-useful li a span {
    font-size: 1.8rem;
    top: -1px;
    transition: .2s
  }
  .is-page-useful li a svg:first-of-type {
    margin-right: 10px;
    width: 36px
  }
  .is-page-useful li a svg:first-of-type circle:first-of-type {
    stroke: #fff;
    stroke-dasharray: 114px;
    stroke-dashoffset: 114px;
    transform: rotate(-90deg);
    transform-origin: center;
    transition: .6s
  }
  .is-page-useful li a svg:last-of-type {
    margin-left: 7px;
    transition: .2s;
    width: 10px
  }
  .is-page-useful li a:hover span {
    opacity: .7
  }
  .is-page-useful li a:hover svg:first-of-type circle:first-of-type {
    stroke-dashoffset: 0
  }
  .is-page-useful li a:hover svg:last-of-type {
    opacity: .7
  }
  .is-page-useful + .eccube-sw-container {
    padding-bottom: 0
  }
  .is-page-useful + .eccube-sw-container .eccube-sw-heading-level-4 {
    margin: 0 auto 30px;
    max-width: 1240px
  }
  .is-page-useful + .eccube-sw-container .eccube-useful-card {
    padding-bottom: 90px
  }
  .is-form.eccube-header {
    padding: 25px 30px
  }
  .is-form.eccube-sw-main {
    padding-top: 135px
  }
  .is-form h1 {
    align-items: center;
    display: flex;
    font-size: 3rem;
    justify-content: flex-start;
    margin: 0 auto 45px;
    max-width: 1020px;
    padding: 0 30px
  }
  .is-form h1 b {
    font-size: 1.4rem;
    margin-right: 15px;
    padding: 3px 15px 4px 16px;
    position: relative;
    top: 1px
  }
  .eccube-form {
    margin: 0 auto;
    max-width: 708px
  }
  .eccube-form fieldset {
    margin-bottom: 45px
  }
  .eccube-form fieldset.is-consent {
    margin-bottom: 45px
  }
  .eccube-form fieldset.is-consent label {
    margin-bottom: 15px
  }
  .eccube-form fieldset.is-consent label.is-privacy {
    font-size: 1.6rem
  }
  .eccube-form fieldset.is-consent p {
    font-size: 1.2rem;
    margin-bottom: 20px
  }
  .eccube-form fieldset.is-consent p a:hover span {
    background-position: right bottom;
    background-size: 0 1px
  }
  .eccube-form label {
    font-size: 1.6rem;
    margin-bottom: 10px
  }
  .eccube-form label span {
    font-size: 1.2rem;
    margin-top: 0
  }
  .eccube-form label.is-checkbox {
    margin-bottom: 20px
  }
  .eccube-form textarea, .eccube-form input[type=text], .eccube-form input[type=email], .eccube-form input[type=tel] {
    transition: all .3s
  }
  .eccube-form textarea:focus, .eccube-form input[type=text]:focus, .eccube-form input[type=email]:focus, .eccube-form input[type=tel]:focus {
    box-shadow: 0 3px 5px 0 rgba(0, 0, 0, .33), 0 0 0 2px #d0ab00 inset;
    transform: scale(1.02, 1.02)
  }
  .eccube-form select {
    transition: all .3s
  }
  .eccube-form select:focus {
    box-shadow: 0 3px 5px 0 rgba(0, 0, 0, .33), 0 0 0 2px #d0ab00 inset
  }
  .eccube-form input[type=checkbox], .eccube-form input[type=radio] {
    height: 30px;
    margin-right: 10px;
    top: 1px;
    width: 30px
  }
  .eccube-form input[type=checkbox]:checked:before, .eccube-form input[type=radio]:checked:before {
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    height: 9px;
    left: 8px;
    top: 8px;
    width: 13px
  }
  .eccube-form li {
    margin-top: 15px
  }
  .eccube-form li.is-other {
    margin-top: 10px
  }
  .eccube-form li label {
    font-size: 1.6rem
  }
  .eccube-form li input[type=text] {
    margin-left: 15px;
    max-width: 360px
  }
  .eccube-form .eccube-sw-button-primary:hover {
    transform: none
  }
  .eccube-form .eccube-sw-button-primary.is-submit {
    box-shadow: 0 3px 5px rgba(0, 0, 0, .33) !important
  }
  .eccube-form .eccube-sw-button-primary.is-submit:hover {
    background: #fddc00 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .33) !important;
    transform: translateY(2px)
  }
  .eccube-form .eccube-sw-button-primary.is-submitted {
    box-shadow: none !important
  }
  .eccube-form button span {
    font-size: 2rem
  }
  .eccube-form button svg {
    width: 20px
  }
  .eccube-form-alert {
    bottom: -25px;
    font-size: 1rem;
    left: 0;
    padding: 2px 7px 3px;
    right: initial
  }
  #f-consultation {
    height: 150px
  }
  .is-cursor {
    cursor: initial
  }
  .eccube-form-footer {
    padding: 24px 30px 26px
  }
  .eccube-form-footer p small {
    font-size: 1rem
  }
  .eccube-form-easy fieldset {
    align-items: center;
    display: flex;
    margin-bottom: 15px
  }
  .eccube-form-easy label {
    font-size: 1.6rem;
    margin: 0 20px 0 0
  }
  .eccube-form-easy input {
    flex: 1;
    margin: 0;
    transition: all .3s
  }
  .eccube-form-easy input:focus {
    box-shadow: 0 3px 5px 0 rgba(0, 0, 0, .33), 0 0 0 2px #d0ab00 inset;
    transform: scale(1.02, 1.02)
  }
  .eccube-form-easy button {
    width: 280px
  }
  .eccube-form-easy button span {
    font-size: 20px
  }
  .eccube-form-easy button svg {
    width: 20px
  }
  .eccube-form-easy p {
    font-size: 1.2rem;
    margin-bottom: 30px
  }
  .eccube-form-easy p a:hover span {
    background-position: right bottom;
    background-size: 0 1px
  }
  .eccube-form-advisor {
    margin: 0 auto;
    max-width: 1020px;
    padding: 0 30px
  }
  .eccube-form-advisor-illust {
    display: flex;
    flex-direction: row;
    margin-bottom: 30px
  }
  .eccube-form-advisor-illust p {
    margin: 0;
    max-width: 623px
  }
  .eccube-form-advisor-illust svg {
    margin-left: 30px;
    margin-right: auto;
    margin-top: 17px;
    width: 240px
  }
  .eccube-form-advisor-balloon {
    border-radius: 30px 30px 30px 0;
    display: flex;
    flex-direction: row-reverse;
    margin-bottom: 45px;
    padding: 25px 25px 30px
  }
  .eccube-form-advisor-balloon h2 {
    font-size: 1.6rem;
    margin-bottom: 15px
  }
  .eccube-form-advisor-balloon ul {
    margin: 0;
    padding-left: 15px
  }
  .eccube-form-advisor-balloon li {
    margin-bottom: 5px
  }
  .eccube-form-advisor-balloon-inner {
    margin-right: auto
  }
  .eccube-form-advisor-balloon-svg {
    align-items: flex-end;
    display: flex;
    flex-basis: 330px;
    justify-content: center
  }
  .eccube-form-advisor-balloon-svg svg {
    width: 190px
  }
  .eccube-form-advisor-caution {
    margin: 0 auto 45px;
    padding: 15px
  }
  .eccube-form-advisor-caution p {
    font-size: 1.6rem
  }
  .eccube-form-advisor-caution p a:hover span {
    background-position: right bottom;
    background-size: 0 1px
  }
  .eccube-form-advisor-inputarea {
    border-radius: 30px;
    margin-bottom: 120px;
    padding: 90px 30px
  }
  .eccube-form-advisor-inputarea-title {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: 0 auto 60px;
    max-width: 708px
  }
  .eccube-form-advisor-inputarea-title h2 {
    font-size: 1.8rem;
    margin: 0
  }
  .eccube-form-advisor-inputarea-title h2:before {
    height: 22px;
    margin-right: 10px;
    top: 5px;
    width: 22px
  }
  .eccube-form-advisor-inputarea-title p {
    font-size: 1.2rem;
    position: relative;
    top: 3px
  }
  .eccube-form-advisor-integrate {
    padding: 0 30px 90px
  }
  .eccube-form-advisor-integrate .eccube-sw-anchor {
    font-size: 1.6rem
  }
  .eccube-form-advisor-integrate-inner {
    margin: 0 auto;
    max-width: 960px
  }
  .eccube-form-advisor-integrate-flow {
    margin: 45px 0 90px;
    padding: 0 30px
  }
  .eccube-form-advisor-integrate-flow dl {
    display: flex;
    padding-bottom: 30px
  }
  .eccube-form-advisor-integrate-flow dt {
    align-items: center;
    display: flex;
    font-size: 1.6rem;
    justify-content: center;
    padding: 0 0 1px;
    width: 152px
  }
  .eccube-form-advisor-integrate-flow dd {
    border-left: none;
    flex: 1;
    padding: 10px 15px;
    width: 100%
  }
  .eccube-form-advisor-integrate-flow p {
    font-size: 1.4rem;
    padding-bottom: 30px
  }
  .eccube-form-advisor-integrate-flow p b {
    font-size: 1.6rem
  }
  .eccube-form-advisor-integrate-flow > p {
    padding-bottom: 10px
  }
  .eccube-form-advisor-integrate-flow > p small {
    font-size: 1.2rem
  }
  .eccube-form-advisor-integrate-flow dl:after, .eccube-form-advisor-integrate-flow dd p:after {
    border-left: 10px solid rgba(0, 0, 0, 0);
    border-right: 10px solid rgba(0, 0, 0, 0);
    border-top: 10px solid #575564;
    bottom: 10px;
    left: 66px
  }
  .eccube-form-advisor-inputarea-iframe {
    margin: 0 auto 120px;
    max-width: 700px
  }
  .eccube-form-advisor-inputarea-iframe iframe {
    background: #fff;
    height: 3350px
  }
  .eccube-form-advisor-inputarea-iframe.is-document iframe {
    height: 3200px
  }
  .eccube-form-document {
    margin-bottom: 90px;
    padding: 0 30px
  }
  .eccube-form-document > p {
    margin: 0 auto 30px;
    max-width: 960px
  }
  .eccube-form-document .eccube-sw-box {
    margin: 0 auto !important;
    max-width: 960px
  }
  .eccube-form-document-slider {
    padding-bottom: 75px
  }
  .eccube-form-document-slider h2 {
    margin: 0 auto 15px;
    max-width: 1020px;
    padding: 0 30px
  }
  .eccube-form-document-slider li {
    padding: 15px;
    width: 670px
  }
  .eccube-form-document-slider img {
    box-shadow: 0 2px 3px rgba(0, 0, 0, .05)
  }
  .eccube-form-document-slider button {
    height: 40px;
    width: 40px
  }
  .eccube-form-document-slider button:after {
    border-top: 2px solid #fff;
    height: 10px;
    width: 10px
  }
  .eccube-form-document-slider button:hover {
    opacity: .7
  }
  .eccube-form-document-slider button.swiper-button-prev {
    left: calc(50% - 370px)
  }
  .eccube-form-document-slider button.swiper-button-prev:after {
    border-left: 2px solid #fff;
    left: 2px
  }
  .eccube-form-document-slider button.swiper-button-next {
    right: calc(50% - 370px)
  }
  .eccube-form-document-slider button.swiper-button-next:after {
    border-right: 2px solid #fff;
    right: 2px
  }
  .eccube-sw-box.is-page-advisor-finish {
    padding-bottom: 30px
  }
  .eccube-sw-box.is-page-advisor-finish p {
    margin-bottom: 15px
  }
  .eccube-sw-box.is-page-advisor-finish ul {
    padding-left: 15px
  }
  .eccube-sw-box.is-page-advisor-finish li {
    margin-bottom: 5px
  }
  .eccube-sw-box.is-page-advisor-finish-form {
    margin-bottom: 60px
  }
  .eccube-sw-box.is-page-advisor-finish-form form {
    display: flex;
    flex-wrap: wrap
  }
  .eccube-sw-box.is-page-advisor-finish-form fieldset {
    flex: 1;
    margin-bottom: 0
  }
  .eccube-sw-box.is-page-advisor-finish-form label {
    margin: 0 10px 0 0
  }
  .eccube-sw-box.is-page-advisor-finish-form input {
    flex: 1
  }
  .eccube-sw-box.is-page-advisor-finish-form button {
    margin: 0 0 0 30px;
    min-height: 54px;
    width: 287px
  }
  .eccube-sw-box.is-page-advisor-finish-form p {
    margin-top: 15px;
    text-align: center;
    width: 100%
  }
  .eccube-enterprise-hero {
    background-size: 1920px auto;
    margin-bottom: -30px
  }
  .eccube-enterprise-hero-white {
    background: url("/wp-content/themes/eccube/img/form/h1rwclso35skw9tyktuzjg4e/enterprise_hero_white_pc.png") no-repeat top -100px left 10.4166vw;
    background-size: 1165px auto
  }
  .eccube-enterprise-hero-slash {
    background-position: top center;
    background-size: 1920px auto
  }
  .is-enterprise .eccube-header.is-form {
    background: none;
    padding: 32px 30px
  }
  .is-enterprise .eccube-header-logo svg {
    height: 26px
  }
  .is-enterprise .eccube-sw-container {
    padding-bottom: 120px;
    padding-top: 165px
  }
  .is-enterprise .eccube-sw-container h1 {
    font-size: 3rem;
    margin-bottom: 45px
  }
  .is-enterprise .eccube-sw-container h1 svg {
    margin-bottom: 15px;
    width: 220px
  }
  .is-enterprise .eccube-sw-container h1 br {
    display: none
  }
  .is-enterprise .eccube-sw-container p {
    font-size: 1.6rem;
    padding: 0
  }
  .is-enterprise .eccube-sw-container .eccube-sw-box {
    margin-top: 30px
  }
  .formrun label span {
    font-size: 1.1rem;
    padding: 2px 5px 3px;
    top: -0.2em
  }
  .formrun .eccube-sw-display-pc {
    display: inline
  }
  .formrun .eccube-sw-button-primary {
    font-size: 2rem;
    padding-bottom: 4px
  }
  .eccube-form-scroll {
    height: 200px;
    margin-bottom: 20px
  }
}
@media screen and (max-width: 768px) {
  .eccube-sw-grid-item.is-order-2 {
    order: 2
  }
  .eccube-sw-grid-item.is-order-3 {
    order: 3
  }
  .eccube-sw-grid-item.is-order-4 {
    order: 4
  }
  .eccube-sw-grid-item.is-order-5 {
    order: 5
  }
  .eccube-sw-interviewer dt {
    display: none
  }
  .eccube-sw-sticky {
    flex-direction: column
  }
  .eccube-sw-sticky-column {
    margin-bottom: 12vw;
    order: 2
  }
  .eccube-sw-sticky-column.is-sticky {
    order: 1
  }
  .eccube-sw-box .eccube-sw-table-horizontal {
    margin-left: -4vw;
    margin-right: -4vw;
    padding: 0 4vw
  }
  .js-footer-nav ul {
    opacity: 0;
    transition: margin-bottom .3s .2s, opacity .2s;
    visibility: hidden
  }
  .js-footer-nav a {
    line-height: 0;
    min-height: 0;
    transition: all .3s .2s
  }
  .js-footer-nav a[target=_blank]:after {
    content: none
  }
  .js-footer-nav.is-open ul {
    margin-bottom: 2.6667vw;
    opacity: 1;
    transition: margin-bottom .3s, opacity .2s .3s;
    visibility: visible
  }
  .js-footer-nav.is-open a {
    line-height: inherit;
    min-height: 11.7333vw;
    transition: all .3s
  }
  .js-footer-nav.is-open a[target=_blank]:after {
    content: ""
  }
  .js-footer-nav.is-open button span:after {
    transform: rotate(0)
  }
  .eccube-cta-lower li:first-child a span {
    font-size: 5.3333vw
  }
  .eccube-cta-lower li:first-child a svg {
    right: 5.3333vw;
    width: 5.3333vw
  }
  .eccube-title .eccube-sw-button-primary {
    min-height: 11.7333vw
  }
  .eccube-title .eccube-sw-button-primary b {
    font-size: 3.2vw;
    margin-right: .8vw;
    padding: .8vw .5333vw 1.3333vw 1.0667vw
  }
  .eccube-title .eccube-sw-button-primary span {
    font-size: 4vw;
    top: -0.2667vw
  }
  .eccube-title .eccube-sw-button-primary svg {
    right: 2.6667vw;
    width: 4.2667vw
  }
  .eccube-title .eccube-sw-button-cta svg {
    right: 2.6667vw;
    width: 4.2667vw
  }
  .page-numbers li :not(.prev):not(.next):not(.current) {
    display: none
  }
  .eccube-contents-cta li:first-child a span {
    font-size: 5.3333vw
  }
  .eccube-contents-cta li:first-child a svg {
    right: 5.3333vw;
    width: 5.3333vw
  }
  .eccube-fixed-cta a {
    min-height: 11.7333vw
  }
  .eccube-fixed-cta span {
    font-size: 4vw !important;
    top: -0.2667vw !important
  }
  .eccube-fixed-cta b {
    font-size: 3.2vw !important;
    margin-right: .8vw !important;
    padding: .8vw .8vw 1.3333vw 1.0667vw !important
  }
  .eccube-fixed-cta svg {
    right: 2.6667vw !important
  }
  ul.eccube-fixed-cta-link {
    display: none
  }
  .eccube-top-hero-inner > p {
    letter-spacing: .03em
  }
  .eccube-top-hero-inner > p br {
    display: none
  }
  .eccube-top-cases > p:last-of-type {
    padding-left: 1.4em;
    text-indent: -1.4em
  }
  .is-page-reason .eccube-page-reason-01 {
    padding-bottom: 12vw
  }
  .is-page-reason .eccube-sw-grid {
    margin: 0 0 2.6667vw
  }
  .eccube-page-reason-04-inner {
    margin: 0 -6.6667vw;
    overflow-x: scroll;
    padding: 0 6.6667vw
  }
  .eccube-page-reason-04-inner .eccube-sw-box {
    margin: 0;
    padding: 4vw !important;
    width: 168vw
  }
  .eccube-form-advisor-integrate-flow dd {
    border-top: none
  }
  .eccube-sw-box.is-page-advisor-finish-form {
    padding: 8vw 4vw
  }
  .eccube-sw-box.is-page-advisor-finish-form p {
    padding-left: 1.4em;
    text-indent: -1.4em
  }
  .is-formrun .eccube-sw-figure {
    margin: 0 -6.6667vw 8vw
  }
  .formrun .is-address {
    grid-template-columns: 1fr 1.5fr !important
  }
}
@media screen and (min-width: 769px)and (max-width: 899px) {
  .eccube-sw-grid.column-4 {
    grid-template-columns: 1fr 1fr
  }
  .eccube-sw-grid.column-5 {
    grid-template-columns: 1fr 1fr 1fr
  }
  ul.eccube-fixed-cta-link {
    display: none
  }
}
@media screen and (min-width: 1600px) {
  .eccube-header-cta ul {
    align-items: center;
    height: 50px
  }
  .eccube-header-cta li a {
    font-size: 1.6rem
  }
  .eccube-header-cta li a span {
    top: -1px
  }
  .eccube-top-hero-inner {
    max-width: 1430px
  }
  .eccube-top-hero-inner > svg {
    left: 735px;
    width: 880px
  }
  .eccube-top-hero-figure-mobile {
    left: 1100px
  }
}
@media screen and (min-width: 769px)and (max-width: 1599px) {
  .eccube-header-cta ul {
    flex-direction: column
  }
  .eccube-header-cta li:last-child {
    margin: 8px 0 0 0
  }
  .eccube-header-nav li {
    margin-left: 45px
  }
}
@media screen and (min-width: 769px)and (max-width: 1349px) {
  .eccube-header-nav li {
    margin-left: 25px
  }
}
@media screen and (min-width: 769px)and (max-width: 1249px) {
  .eccube-header {
    padding: 10px 15px
  }
  .eccube-header.is-fixed {
    padding: 10px 15px
  }
  .eccube-header-logo svg {
    height: 30px
  }
  .eccube-header-nav li {
    margin-left: 15px
  }
  .eccube-header-nav a {
    font-size: 1.4rem
  }
  .eccube-header-cta ul {
    border: none;
    padding: 0
  }
  .eccube-header-cta li a {
    font-size: 1.2rem
  }
  .eccube-header-cta li svg {
    display: none
  }
  .eccube-header-cta-inner p:first-child a {
    width: 160px
  }
  .eccube-header-cta-inner p:first-child a span {
    font-size: 1.4rem
  }
  .eccube-header-cta-inner p:first-child a svg {
    display: none
  }
  .eccube-header-cta-inner p:last-child a {
    font-size: 1rem;
    letter-spacing: 0
  }
  .eccube-breadcrumb ol {
    width: 50%
  }
}
@media screen and (min-width: 769px)and (max-width: 1049px) {
  .eccube-header-cta ul {
    display: none
  }
  .eccube-footer-upper-inner ul {
    grid-template-columns: 1fr 1fr
  }
  .eccube-footer-upper-inner ul.is-flex li {
    width: calc((100% - 10px)/2)
  }
  .eccube-page-reason-04 .is-width-1240 svg {
    height: 35px
  }
}
@media screen and (min-width: 769px)and (max-width: 849px) {
  .eccube-header-cta {
    display: none
  }
}
@media screen and (min-width: 769px)and (max-width: 1199px) {
  .eccube-footer-lower {
    display: block
  }
  .eccube-footer-logo {
    margin-bottom: 30px
  }
  .eccube-footer-policy li {
    margin-left: 20px
  }
  .eccube-footer-policy li:first-child {
    margin: 0
  }
  .eccube-top-reason-03 > svg {
    left: -150px;
    transform: none
  }
  .eccube-top-reason-03 h3 {
    padding: 0
  }
  .eccube-top-reason-03 h3 svg {
    left: -50px
  }
  .eccube-top-blog-list ul {
    grid-template-columns: 1fr 1fr 1fr
  }
}
@media screen and (min-width: 769px)and (max-width: 999px) {
  .eccube-cta-upper ul {
    margin-top: -5px;
    padding-right: 5px
  }
  .eccube-cta-upper li {
    font-size: 1.4rem;
    letter-spacing: 0;
    margin: 5px 0 0 5px
  }
  .eccube-cta-lower li:first-child {
    flex-basis: 350px
  }
  .eccube-cta-lower p br {
    display: none
  }
  .eccube-title p {
    margin-bottom: 15px
  }
  .eccube-title p br {
    display: none
  }
  .eccube-title ul {
    border-left: none;
    margin-left: 0;
    padding-left: 0
  }
  .eccube-title .eccube-title-inner {
    max-width: 500px
  }
  .eccube-title-cta {
    display: block
  }
  .eccube-list-card ul {
    grid-template-columns: 1fr 1fr
  }
  .eccube-cases-eyecatch > figure {
    margin-right: 0
  }
  .eccube-cases-eyecatch-inner {
    padding-top: 0
  }
  .eccube-cases-eyecatch-inner figure {
    margin-bottom: 15px
  }
  .eccube-cases-eyecatch-text p {
    font-size: 1.2rem
  }
  .eccube-cases-eyecatch-text .eccube-list-tag {
    margin-top: 15px
  }
  .eccube-cases-eyecatch-company, .eccube-cases-eyecatch-name {
    margin-bottom: 10px
  }
  .eccube-cases-eyecatch-post {
    margin: 0
  }
  .eccube-top-trouble ul {
    grid-template-columns: 1fr 1fr
  }
  .eccube-top-reason-01 h3 {
    margin-bottom: 30px
  }
  .eccube-top-reason-01 h3 svg {
    right: -50px
  }
  .eccube-top-reason-01-inner {
    padding-top: 60px
  }
  .eccube-top-reason-02 h3 svg {
    left: -50px
  }
  .eccube-top-reason-02-inner {
    display: block
  }
  .eccube-top-reason-02-inner p {
    margin: 30px 0 0
  }
  .eccube-top-reason-02-column {
    column-gap: 15px
  }
  .eccube-top-reason-02-column-inner h4 br {
    display: none
  }
  .eccube-top-reason-03-column {
    column-gap: 15px
  }
  .is-page-useful + .eccube-sw-container .eccube-useful-card ul {
    grid-template-columns: 1fr 1fr
  }
  .eccube-form-advisor-balloon-svg {
    flex-basis: 240px
  }
  .eccube-sw-box.is-page-advisor-finish li {
    letter-spacing: 0
  }
  .eccube-sw-box.is-page-advisor-finish-form button {
    width: 200px
  }
}
@media screen and (min-width: 769px)and (max-width: 1099px) {
  .eccube-contents-cta p br {
    display: none
  }
  .eccube-contents-cta {
    display: block
  }
  .eccube-contents-cta p {
    margin-bottom: 30px;
    text-align: center
  }
  .eccube-top-slidein {
    display: none
  }
}
@media screen and (min-width: 769px)and (max-width: 1149px) {
  .eccube-top-enterprise li {
    width: calc((100% - 30px)/2)
  }
  .eccube-top-enterprise-logo {
    max-width: 100%;
    padding: 0 10px
  }
  .eccube-page-reason-04 h2 {
    text-align: right
  }
}
@media screen and (min-width: 769px)and (max-width: 1499px) {
  .eccube-fixed-cta-link {
    display: none
  }
}



/*STORY歴史*/

.btob-hero-inner {
  padding: 26.6667vw 6.6667vw;
  position: relative;
}
.btob-hero-inner .is-main {
  position: absolute;
  top: 67.2vw;
  right: -6.1333vw;
  width: 35.7333vw;
}
.btob-hero-inner .is-big {
  position: absolute;
  bottom: -1.3333vw;
  left: -1.3333vw;
  width: 18.6667vw;
  transform: rotate(-30deg);
}
.btob-hero-inner .is-small {
  position: absolute;
  bottom: 10.6667vw;
  left: 22.6667vw;
  width: 10.6667vw;
  transform: rotate(15deg);
}
.btob-hero-inner h1 {
  margin-bottom: 8vw;
}
.btob-hero-inner h1 svg {
  width: 73.3333vw;
}
.btob-hero-inner h2 {
  font-size: 4vw;
  font-weight: 800;
  margin-bottom: 2.6667vw;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.btob-hero-inner h2 span {
  font-size: 4.8vw;
  font-weight: 500;
  color: #fff;
  background: #1313d0;
  padding: 0 1.3333vw 1.3333vw;
  margin: 0 0.8vw;
}
.btob-hero-inner p {
  font-size: 3.7333vw;
  line-height: 1.7;
  padding-top: 2.6667vw;
  border-top: 1px solid #575564;
  margin-bottom: 8vw;
}
.btob-hero-inner ul {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4vw;
}

@media screen and (min-width: 769px) {
  .btob-hero-inner {
    padding: 165px 30px 150px;
    max-width: 760px;
    margin: 0 auto;
  }
  .btob-hero-inner .is-main {
    top: 275px;
    right: -150px;
    width: 275px;
  }
  .btob-hero-inner .is-big {
    bottom: 160px;
    left: -235px;
    width: 165px;
  }
  .btob-hero-inner .is-small {
    bottom: 35px;
    left: -140px;
    width: 75px;
  }
  .btob-hero-inner h1 {
    margin-bottom: 45px;
  }
  .btob-hero-inner h1 svg {
    width: 600px;
  }
  .btob-hero-inner h2 {
    font-size: 2.3rem;
    margin-bottom: 20px;
  }
  .btob-hero-inner h2 span {
    font-size: 2.8rem;
    padding: 0 5px 5px;
    margin: 0 3px;
  }
  .btob-hero-inner p {
    font-size: 1.6rem;
    padding-top: 20px;
    margin-bottom: 35px;
  }
  .btob-hero-inner ul {
    flex-direction: row;
    gap: 15px;
  }
  .btob-hero-inner .enterprise-button-secondary {
    width: 200px;
    background: #fff;
    border-color: #d7d7d7;
  }
  .btob-hero-inner .enterprise-button-secondary span {
    color: #282828;
    font-weight: 800;
    translate: all 0.2s;
  }
  .btob-hero-inner .enterprise-button-secondary svg {
    fill: #282828;
  }
  .btob-hero-inner .enterprise-button-secondary:hover span {
    opacity: 0.7;
  }
}
@media screen and (min-width: 769px) {
  section.eccube-btob-hero-btn {
    max-width: 820px;
    margin: -9rem auto 0;
  }
}
@media screen and (min-width: 769px) and (max-width: 1049px) {
  section.eccube-btob-hero-btn {
    padding: 0 20px;
  }
}
.btob-reason {
  background: linear-gradient(180deg, #1313d0, #0A0A5A);
  margin-top: -21.3333vw;
  padding-top: 26.6667vw;
}
.btob-reason h2 {
  font-size: 5.3333vw;
  font-weight: 500;
  color: #fff;
  text-align: center;
  margin-bottom: 4vw;
  position: relative;
}
.btob-reason h2 span {
  font-size: 6.6667vw;
}

.btob-reason-wrap {
  padding: 0 6.6667vw;
}

.btob-reason-inner {
  border-radius: 10px;
  padding: 5.3333vw 0vw 8vw;
}
.btob-reason-inner ul {
  display: grid;
  gap: 10.6667vw;
}
.btob-reason-inner p {
  font-size: 3.7333vw;
  font-weight: 400;
  line-height: 1.7;
  color: #fff;
}

.btob-reason-heading {
  display: flex;
  align-items: center;
  gap: 4vw;
  margin-bottom: 2.6667vw;
}
.btob-reason-heading svg {
  width: 20vw;
}
.btob-reason-heading h3 {
  font-size: 4.8vw;
  font-weight: 600;
  color: #fff;
}

figure.btob-reason-img {
  margin: auto;
  width: 150px;
}

@media screen and (min-width: 769px) {
  .btob-reason {
    margin-top: -290px;
    padding-top: 290px;
  }
  .btob-reason h2 {
    font-size: 2.5rem;
    margin-bottom: 10px;
  }
  .btob-reason h2 span {
    font-size: 3rem;
  }
  .btob-reason-wrap {
    padding: 0 30px;
  }
  .btob-reason-inner {
    padding: 45px 30px 100px;
    max-width: 1240px;
    margin: 0 auto;
  }
  .btob-reason-inner ul {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 45px;
    max-width: 980px;
    margin: 0 auto;
  }
  .btob-reason-inner p {
    font-size: 1.6rem;
  }
  .btob-reason-heading {
    display: grid;
    gap: 15px;
    margin-bottom: 15px;
  }
  .btob-reason-heading svg {
    width: 150px;
    margin: 0 auto;
  }
  .btob-reason-heading h3 {
    font-size: 2rem;
    text-align: center;
  }
}
@media screen and (min-width: 769px) and (max-width: 1049px) {
  .btob-reason-inner ul {
    gap: 30px;
  }
}
.btob-service {
  background: #EFEFEF;
  padding: 0 6.6667vw;
}
.btob-service h2 {
  font-size: 5.6vw;
  font-weight: 800;
  color: #282828;
  text-align: center;
  padding: 11vw 0vw 6vw;
  position: relative;
}
.btob-service h2 span {
  font-size: 6.2vw;
}
.btob-service p {
  text-align: left;
  font-size: 3.7333vw;
  font-weight: 400;
  line-height: 1.7;
}
.btob-service span {
  font-size: 6vw;
  font-weight: 500;
  color: #fff;
  background: #1313d0;
  white-space: nowrap;
  padding: 0 0.5vw 1vw 0.5vw;
  line-height: 4rem;
  letter-spacing: 0.05em;
}

.btob-service-wrap {
  padding: 0 6.6667vw;
}

.btob-service-inner {
  border-radius: 10px;
  padding: 8vw 4vw 0vw;
}
.btob-service-inner ul {
  display: grid;
  gap: 10.6667vw;
}
.btob-service-inner p {
  font-size: 3.7333vw;
  font-weight: 400;
  line-height: 1.7;
  color: #fff;
}
.btob-service-inner svg {
  overflow: hidden;
}

.btob-service-heading {
  display: flex;
  align-items: center;
  gap: 4vw;
  margin-bottom: 2.6667vw;
}
.btob-service-heading svg {
  width: 20vw;
}
.btob-service-heading h3 {
  font-size: 4.8vw;
  font-weight: 600;
  color: #fff;
}

@media screen and (min-width: 769px) {
  .btob-service {
    margin: 0;
    padding: 60px 20px 0;
  }
  .btob-service h2 {
    font-size: 2.5rem;
    padding: 1vw 0vw 1vw;
    text-align: left;
  }
  .btob-service h2 span {
    font-size: 3rem;
  }
  .btob-service-wrap {
    padding: 0 30px;
  }
  .btob-service-inner {
    padding: 0 30px 0 0;
    max-width: 1240px;
    margin-top: auto;
  }
  .btob-service-inner ul {
    grid-template-columns: 1fr 1fr;
    gap: 45px;
    max-width: 980px;
    margin: 0 auto;
  }
  .btob-service-inner p {
    font-size: 1.6rem;
  }
  .btob-service-heading {
    display: grid;
    gap: 15px;
    margin-bottom: 15px;
  }
  .btob-service-heading svg {
    width: 100px;
    margin: 0 auto;
  }
  .btob-service-heading h3 {
    font-size: 2rem;
    text-align: center;
  }
}
@media screen and (min-width: 769px) and (max-width: 1049px) {
  .btob-service-inner ul {
    gap: 30px;
  }
  .btob-service p {
    margin-bottom: 5vw;
  }
}

small.notes-down {
  font-size: 2.6667vw;
  position: relative;
}
small.notes {
  font-size: 2.6667vw;
  top: -0.5em;
}

@media screen and (min-width: 769px) {
  .btob-service-wrapper {
    max-width: 1240px;
    margin: auto;
    display: flex;
    flex-direction: row-reverse;
  }
  /* small {
    font-size: 1rem;
    top: -6px;
  } */
  .btob-service-column {
    flex-basis: 45%;
  }
  .btob-service p {
    font-size: 1.6rem;
  }
  .btob-service span {
    font-size: 6vw;
    font-weight: 500;
    color: #fff;
    background: #1313d0;
    white-space: nowrap;
    padding: 0 0.5vw 0.2vw;
    margin: 0 0.3vw;
    line-height: 5rem;
  }
}
h2.btob-reason-title {
  border-bottom: solid 1px #fff;
  width: fit-content;
  margin: auto;
}

.btob-functions {
  background: #575564;
  padding: 12.3333vw 6.6667vw 16vw;
}
.btob-functions h2 {
  font-size: 8vw;
  font-weight: 500;
  color: #fff;
  display: flex;
  gap: 1.3333vw;
  margin: -6.1333vw 0 12vw;
  position: relative;
}
.btob-functions h2 svg {
  width: 5.6vw;
}
.btob-functions ul {
  display: grid;
  gap: 12vw;
}
.btob-functions li > svg {
  width: auto;
  height: 3.7333vw;
  margin-bottom: 1.3333vw;
}
.btob-functions li h3 {
  font-size: 6.6667vw;
  font-weight: 500;
  color: #fff;
  margin-bottom: 2.6667vw;
}
.btob-functions li p {
  font-size: 3.7333vw;
  font-weight: 400;
  color: #fff;
  line-height: 1.7;
  margin-bottom: 8vw;
}
.btob-functions li p small {
  font-size: 2.6667vw;
  position: relative;
  top: -0.4em;
}
.btob-functions li p span {
  font-size: 2.6667vw;
}
.btob-functions li figure {
  border-radius: 2.6667vw;
  background: #686674;
  margin: 0 -6.6667vw;
  text-align: center;
}
.btob-functions li figure svg {
  width: 77.8667vw;
}

.btob-functions-svg {
  margin-left: -8vw;
}
.btob-functions-svg svg {
  width: 48.3333vw;
  fill: #fff;
  opacity: 0.5;
}

.btob-functions-annotation {
  font-size: 2.6667vw !important;
  line-height: 1.5 !important;
  opacity: 0.666666;
  margin: 2.6667vw 0 0 !important;
  text-indent: -1.5em;
  padding-left: 1.5em;
}

.btob-anchor {
  text-align: center;
  margin: 4vw 0 0 !important;
  line-height: 1.5 !important;
}
.btob-anchor .enterprise-anchor span {
  font-size: 3.7333vw;
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5));
}

@media screen and (min-width: 769px) {
  .btob-functions {
    padding: 130px 30px 130px;
  }
  .btob-functions h2 {
    font-size: 4rem;
    gap: 5px;
    margin: -53px 0 60px;
  }
  .btob-functions h2 svg {
    width: 31px;
  }
  .btob-functions ul {
    display: flex;
    flex-wrap: wrap;
    gap: 77px 60px;
  }
  .btob-functions li {
    width: calc((100% - 180px) / 4);
    display: flex;
    flex-direction: column;
    position: relative;
  }
 /* .btob-functions li:nth-last-child(2), .btob-functions li:last-child {
    width: calc((100% - 60px) / 2);
  }*/
  .btob-functions li > svg {
    width: fit-content;
    height: 14px;
    margin-bottom: 5px;
  }
  .btob-functions li h3 {
    font-size: 2.5rem;
    margin-bottom: 25px;
  }
  .btob-functions li p {
    font-size: 1.6rem;
    margin-bottom: 20px;
  }
  .btob-functions li p small {
    font-size: 1rem;
  }
  .btob-functions li p span {
    font-size: 1rem;
  }
  .btob-functions li figure {
    border-radius: 10px;
    margin: auto 0 0;
  }
  .btob-functions li figure svg {
    width: auto;
    max-width: 326px;
  }
  .btob-functions-svg {
    max-width: 1380px;
    margin: auto;
  }
  .btob-functions-svg svg {
    width: 300px;
  }
  .btob-functions-inner {
    max-width: 1240px;
    margin: 0 auto;
  }
  .btob-functions-annotation {
    font-size: 1.2rem !important;
    margin: 0 !important;
    position: absolute;
    bottom: -33px;
    right: 0;
    white-space: nowrap;
  }
  .btob-anchor {
    margin: 0 !important;
    position: absolute;
    bottom: -39px;
    right: 0;
  }
  .btob-anchor .enterprise-anchor span {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1299px) {
  .btob-functions-svg {
    margin-left: -35px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1049px) {
  .btob-functions ul {
    gap: 77px 30px;
  }
  .btob-functions li {
    width: calc((100% - 60px) / 3);
  }
  .btob-functions li:nth-last-child(2), .btob-functions li:last-child {
    width: calc((100% - 30px) / 2);
  }
}
.btob-solution {
  background: #efefef;
  padding: 16vw 6.6667vw;
}

.btob-solution-inner h2 {
  font-size: 4.2667vw;
  font-weight: 800;
  margin-bottom: 5.3333vw;
  display: flex;
  align-items: center;
  gap: 2.6667vw;
}
.btob-solution-inner h2:before {
  content: "";
  display: block;
  width: 2.9333vw;
  height: 2.9333vw;
  border-radius: 999px;
  background: #fccf00;
  position: relative;
  top: 0.1em;
}
.btob-solution-inner figure {
  margin: 0 -6.6667vw;
  overflow-x: scroll;
  padding: 0 6.6667vw;
}
.btob-solution-inner figure svg {
  width: 224vw;
}
.btob-solution-inner figure + p {
  font-size: 3.2vw;
  margin-top: 4vw;
}

@media screen and (min-width: 769px) {
  .btob-solution {
    padding: 90px 30px;
  }
  .btob-solution-inner {
    max-width: 1040px;
    margin: 0 auto;
  }
  .btob-solution-inner h2 {
    font-size: 2.5rem;
    margin-bottom: 45px;
    gap: 10px;
  }
  .btob-solution-inner h2:before {
    width: 18px;
    height: 18px;
  }
  .btob-solution-inner figure {
    margin: 0;
    overflow-x: initial;
    padding: 0;
  }
  .btob-solution-inner figure svg {
    width: 100%;
  }
  .btob-solution-inner figure + p {
    font-size: 1.2rem;
    margin-top: 15px;
  }
}
/* セクション：case事例 */
.btob-case ol, .btob-case ul {
  margin: 0 20px;
  padding: 0;
}

.btob-case {
  background: #ffffff;
}

.btob-case h2 {
  font-size: 6.6666666667vw;
  font-weight: 0;
  color: #282828;
  text-align: center;
  margin-bottom: 5.3333333333vw;
  padding: 80px 0 20px;
}

.btob-case ul {
  display: block;
  justify-content: center;
  align-items: center;
  gap: 30px;
}

.btob-case li {
  padding: 20px 10px 20px 10px;
  flex-basis: 440px;
  border: 1px solid #D7D7D7;
  margin-bottom: 20px;
}

.btob-case p {
  text-align: center;
  font-size: 3.7333vw;
  padding-top: 20px;
}

/*　画面サイズが769pxからはここを読み込む　*/
@media screen and (min-width: 769px) {
  .btob-case-inner {
    max-width: 1240px;
    margin: 0 auto;
  }
  .btob-case h2 {
    margin: 0;
    line-height: 1.5;
  }
  .btob-case {
    background-position-x: center;
    background-size: 1920px auto;
  }
  .btob-case h2 {
    font-size: 3rem;
    margin-bottom: 10px;
  }
  .btob-case p {
    text-align: center;
    font-size: 1.6rem;
  }
  .btob-case ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    align-items: stretch;
  }
  .btob-case li {
    padding: 15px 15px 20px;
    flex-basis: 440px;
    border: 1px solid #D7D7D7;
  }
  figure.btob-pickup-img {
    margin: 0px;
    width: 30%;
    height: 7vw;
    display: flex;
    align-items: center;
  }
  ul.btob-pickup {
    gap: 60px;
    display: flex;
    align-items: start;
  }
  small.notes-down {
    font-size: 1.2rem;
  }
  small.notes {
    font-size: 1.2rem;
    /* top: -0.5em; */
  }
  small.tiny {
    font-size: 1.2rem;
    position: relative;
  }
  small.tiny-down {
    font-size: 1rem;
  }
}
.btob-pickup ul {
  display: block;
  justify-content: center;
  align-items: center;
  gap: 30px;
}

.btob-pickup li {
  padding: 0px 0px 0px 0px;
  flex-basis: 674px;
  border: 0px solid #D7D7D7;
  margin-bottom: 50px;
}

.btob-pickup h3 {
  font-size: 5.3333vw;
  font-weight: 800;
  line-height: 1.7;
  margin-bottom: 4vw;
  text-align: left;
}

.btob-pickup p {
  font-size: 3.7333vw;
  padding-top: 20px;
  line-height: 1.7;
  text-align: left;
}

.btob-pickup-img {
  width: 35%;
  margin: 40px 0px;
}

li.btob-case-navigation {
  border: 0px solid #D7D7D7;
  margin: 0px auto 50px;
}

ul.btob-pickup {
  margin-bottom: 50px;
}

/*　画面サイズが769pxからはここを読み込む　*/
@media screen and (min-width: 769px) {
  .btob-pickup h3 {
    font-size: 2.3rem;
    font-weight: 500;
    margin-bottom: 0vw;
  }
  .btob-pickup p {
    font-size: 1.6rem;
  }
  p.eccube-sw-button-tertiary {
    height: 1vw;
  }
}

ul.eccube-btob-hero-btn-side {
  display: flex;
}
.eccube-btob-button-secondary {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 999px;
  width: 74.6667vw;
  min-height: 11.7333vw;
  border: 1px solid rgba(0, 0, 0, 0.229);
  position: relative;
  margin: 2rem auto;
  span {
    font-size: 4vw;
    font-weight: 800;
    color: #282828;
    position: relative;
    top: -.1em;
  }
  svg {
    width: 4.5333vw;
    position: absolute;
    right: 5.0667vw;
    /* fill: rgba(23, 23, 23, 0.25); */
  }
}

/* 画面サイズが769pxからはここを読み込む */
@media screen and (min-width: 769px) {
  .eccube-btob-button-secondary {
    width: 200px;
    min-height: 50px;
    margin: 0.5rem 0 0 2rem;
    background-color: #ffffff8a;
    span {
      font-size: 1.6rem;
      transition: all .2s;
    }
    svg {
      width: 17px;
      right: 19px;
      transition: all .2s;
    }
    &:hover {
      span {
        color: rgba(73, 73, 73, 0.7);
      }
      svg {
        transform: translateX(2px);
      }
    }
  }
}

/*# sourceMappingURL=enter*/










